diff --git a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml index 6a654402ac4f..0a3eff0e43d2 100644 --- a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml +++ b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml @@ -23,21 +23,15 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.9.4 (Latest release) + - 1.10.0 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.9.4 - 1.9.3 - 1.9.2 - 1.9.1 - 1.9.0 - - 1.8.6 - - 1.8.5 - - 1.8.4 - - 1.8.3 - - 1.8.2 - - 1.8.1 - - 1.8.0 - - pre-1.8.0 + - pre-1.9.0 validations: required: true - type: input diff --git a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml index ff9823aa01f9..4b8eec3a437f 100644 --- a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml +++ b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml @@ -23,21 +23,15 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.9.4 (Latest release) + - 1.10.0 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.9.4 - 1.9.3 - 1.9.2 - 1.9.1 - 1.9.0 - - 1.8.6 - - 1.8.5 - - 1.8.4 - - 1.8.3 - - 1.8.2 - - 1.8.1 - - 1.8.0 - - pre-1.8.0 + - pre-1.9.0 validations: required: true - type: input diff --git a/.github/ISSUE_TEMPLATE/04_other_errors.yaml b/.github/ISSUE_TEMPLATE/04_other_errors.yaml index ab400f7b9d4e..54335ca5e40a 100644 --- a/.github/ISSUE_TEMPLATE/04_other_errors.yaml +++ b/.github/ISSUE_TEMPLATE/04_other_errors.yaml @@ -23,21 +23,15 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.9.4 (Latest release) + - 1.10.0 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.9.4 - 1.9.3 - 1.9.2 - 1.9.1 - 1.9.0 - - 1.8.6 - - 1.8.5 - - 1.8.4 - - 1.8.3 - - 1.8.2 - - 1.8.1 - - 1.8.0 - - pre-1.8.0 + - pre-1.9.0 validations: required: true - type: input diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b9f68e51da4c..449eaa8c38c2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,19 +15,12 @@ jobs: GAME_VERSION: EMERALD GAME_REVISION: 0 GAME_LANGUAGE: ENGLISH - MODERN: 0 COMPARE: 0 UNUSED_ERROR: 1 steps: - name: Checkout uses: actions/checkout@v2 - - name: Checkout agbcc - uses: actions/checkout@v2 - with: - path: agbcc - repository: pret/agbcc - - name: Install binutils run: | sudo apt update @@ -36,27 +29,13 @@ jobs: # gcc-arm-none-eabi is only needed for the modern build # as an alternative to dkP - - name: Install agbcc - run: | - ./build.sh - ./install.sh ../ - working-directory: agbcc - - - name: Agbcc - env: - MODERN: 0 - COMPARE: 0 - run: make -j${nproc} -O all - - - name: Modern + - name: ROM env: - MODERN: 1 COMPARE: 0 run: make -j${nproc} -O all - name: Test env: - MODERN: 1 TEST: 1 run: | make -j${nproc} check diff --git a/.gitignore b/.gitignore index abad67b044aa..5f9172181dc8 100644 --- a/.gitignore +++ b/.gitignore @@ -39,6 +39,5 @@ prefabs.json *.sym *.js /pokeemerald-*.png -/pokeemerald_agbcc-*.png src/data/map_group_count.h tools/trainerproc/trainerproc diff --git a/CHANGELOG.md b/CHANGELOG.md index 70abeffd3e94..13d6e4f4ebd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Pokeemerald-Expansion Changelogs +## 1.10.x +- **[Version 1.10.0](docs/changelogs/1.10.x/1.10.0.md) - ✨ Feature Release** + ## 1.9.x - **[Version 1.9.4](docs/changelogs/1.9.x/1.9.4.md) - 🧹 Bugfix Release** - **[Version 1.9.3](docs/changelogs/1.9.x/1.9.3.md) - 🧹 Bugfix Release** diff --git a/INSTALL.md b/INSTALL.md index 51eea4f19327..fc1aeb5ba8be 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -596,58 +596,6 @@ To build **pokeemerald.elf** with debug symbols under a modern toolchain: ```bash make DINFO=1 ``` -Note that this is not necessary for a non-modern (agbcc) build since those are built with debug symbols by default. - -### agbcc - -
- Deprecated; installing agbcc is optional since 1.7.0. - -1. Install agbcc into pokeemerald-expansion. The commands to run depend on certain conditions. **You should only follow one of the listed instructions**: -- If agbcc has **not been built before** in the folder where you chose to store pokeemerald Expansion, run the following commands to build and install it into pokeemerald-expansion: - - ```bash - git clone https://github.com/pret/agbcc - cd agbcc - ./build.sh - ./install.sh ../pokeemerald-expansion - ``` - -- **Otherwise**, if agbcc has been built before (e.g. if the git clone above fails), but was **last built on a different terminal** than the one currently used (only relevant to Windows, e.g. switching from msys2 to WSL1), then run the following commands to build and install it into pokeemerald-expansion: - - ```bash - cd agbcc - git clean -fX - ./build.sh - ./install.sh ../pokeemerald-expansion - ``` - -- **Otherwise**, if agbcc has been built before on the same terminal, run the following commands to install agbcc into pokeemerald-expansion: - - ```bash - cd agbcc - ./install.sh ../pokeemerald-expansion - ``` - -
- Note... - - > If building agbcc or pokeemerald results in an error, try deleting the agbcc folder and re-installing agbcc as if it has not been built before. -
- -2. Once agbcc is installed, change directory back to the base directory where pokeemerald-expansion and agbcc are stored: - - ```bash - cd .. - ``` - -3. To compile with agbcc: - - ```bash - make agbcc - ``` - -
# Useful additional tools diff --git a/Makefile b/Makefile index 9244609049a6..71d2a48af9a3 100644 --- a/Makefile +++ b/Makefile @@ -5,12 +5,10 @@ MAKER_CODE := 01 REVISION := 0 KEEP_TEMPS ?= 0 -# `File name`.gba ('_agbcc' will be appended to the non-modern builds) +# `File name`.gba FILE_NAME := pokeemerald BUILD_DIR := build -# Builds the ROM using a modern compiler -MODERN ?= 1 # Compares the ROM to a checksum of the original - only makes sense using when non-modern COMPARE ?= 0 # Executes the Test Runner System that checks that all mechanics work as expected @@ -19,16 +17,18 @@ TEST ?= 0 ANALYZE ?= 0 # Count unused warnings as errors. Used by RH-Hideout's repo UNUSED_ERROR ?= 0 +# Adds -Og and -g flags, which optimize the build for debugging and include debug info respectively +DEBUG ?= 0 -ifeq (agbcc,$(MAKECMDGOALS)) - MODERN := 0 -endif ifeq (compare,$(MAKECMDGOALS)) COMPARE := 1 endif ifeq (check,$(MAKECMDGOALS)) TEST := 1 endif +ifeq (debug,$(MAKECMDGOALS)) + DEBUG := 1 +endif # Default make rule all: rom @@ -58,52 +58,27 @@ ifeq ($(OS),Windows_NT) EXE := .exe endif -# use arm-none-eabi-cpp for macOS -# as macOS's default compiler is clang -# and clang's preprocessor will warn on \u -# when preprocessing asm files, expecting a unicode literal -# we can't unconditionally use arm-none-eabi-cpp -# as installations which install binutils-arm-none-eabi -# don't come with it -ifneq ($(MODERN),1) - ifeq ($(shell uname -s),Darwin) - CPP := $(PREFIX)cpp - else - CPP := $(CC) -E - endif -else - CPP := $(PREFIX)cpp -endif +CPP := $(PREFIX)cpp -ROM_NAME := $(FILE_NAME)_agbcc.gba -OBJ_DIR_NAME := $(BUILD_DIR)/emerald -OBJ_DIR_NAME_TEST := $(BUILD_DIR)/test -MODERN_ROM_NAME := $(FILE_NAME).gba -MODERN_OBJ_DIR_NAME := $(BUILD_DIR)/modern -MODERN_OBJ_DIR_NAME_TEST := $(BUILD_DIR)/modern-test +ROM_NAME := $(FILE_NAME).gba +OBJ_DIR_NAME := $(BUILD_DIR)/modern +OBJ_DIR_NAME_TEST := $(BUILD_DIR)/modern-test +OBJ_DIR_NAME_DEBUG := $(BUILD_DIR)/modern-debug ELF_NAME := $(ROM_NAME:.gba=.elf) MAP_NAME := $(ROM_NAME:.gba=.map) -MODERN_ELF_NAME := $(MODERN_ROM_NAME:.gba=.elf) -MODERN_MAP_NAME := $(MODERN_ROM_NAME:.gba=.map) -TESTELF = $(MODERN_ROM_NAME:.gba=-test.elf) -HEADLESSELF = $(MODERN_ROM_NAME:.gba=-test-headless.elf) +TESTELF = $(ROM_NAME:.gba=-test.elf) +HEADLESSELF = $(ROM_NAME:.gba=-test-headless.elf) # Pick our active variables -ifeq ($(MODERN),0) - ROM := $(ROM_NAME) - ifeq ($(TEST), 0) - OBJ_DIR := $(OBJ_DIR_NAME) - else - OBJ_DIR := $(OBJ_DIR_NAME_TEST) - endif +ROM := $(ROM_NAME) +ifeq ($(TEST), 0) + OBJ_DIR := $(OBJ_DIR_NAME) else - ROM := $(MODERN_ROM_NAME) - ifeq ($(TEST), 0) - OBJ_DIR := $(MODERN_OBJ_DIR_NAME) - else - OBJ_DIR := $(MODERN_OBJ_DIR_NAME_TEST) - endif + OBJ_DIR := $(OBJ_DIR_NAME_TEST) +endif +ifeq ($(DEBUG),1) + OBJ_DIR := $(OBJ_DIR_NAME_DEBUG) endif ifeq ($(TESTELF),$(MAKECMDGOALS)) TEST := 1 @@ -131,41 +106,45 @@ TEST_BUILDDIR = $(OBJ_DIR)/$(TEST_SUBDIR) SHELL := bash -o pipefail # Set flags for tools -ASFLAGS := -mcpu=arm7tdmi --defsym MODERN=$(MODERN) +ASFLAGS := -mcpu=arm7tdmi --defsym MODERN=1 INCLUDE_DIRS := include INCLUDE_CPP_ARGS := $(INCLUDE_DIRS:%=-iquote %) INCLUDE_SCANINC_ARGS := $(INCLUDE_DIRS:%=-I %) -O_LEVEL ?= 2 -CPPFLAGS := $(INCLUDE_CPP_ARGS) -Wno-trigraphs -DMODERN=$(MODERN) -DTESTING=$(TEST) -ifeq ($(MODERN),0) - CPPFLAGS += -I tools/agbcc/include -I tools/agbcc -nostdinc -undef - CC1 := tools/agbcc/bin/agbcc$(EXE) - override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O$(O_LEVEL) -fhex-asm -g - LIBPATH := -L ../../tools/agbcc/lib - LIB := $(LIBPATH) -lgcc -lc -L../../libagbsyscall -lagbsyscall +ifeq ($(DEBUG),1) +O_LEVEL ?= g else - # Note: The makefile must be set up to not call these if modern == 0 - MODERNCC := $(PREFIX)gcc - PATH_MODERNCC := PATH="$(PATH)" $(MODERNCC) - CC1 := $(shell $(PATH_MODERNCC) --print-prog-name=cc1) -quiet - override CFLAGS += -mthumb -mthumb-interwork -O$(O_LEVEL) -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast -std=gnu17 -Werror -Wall -Wno-strict-aliasing -Wno-attribute-alias -Woverride-init - ifeq ($(ANALYZE),1) - override CFLAGS += -fanalyzer - endif - # Only throw an error for unused elements if its RH-Hideout's repo - ifeq ($(UNUSED_ERROR),0) - ifneq ($(GITHUB_REPOSITORY_OWNER),rh-hideout) - override CFLAGS += -Wno-error=unused-variable -Wno-error=unused-const-variable -Wno-error=unused-parameter -Wno-error=unused-function -Wno-error=unused-but-set-parameter -Wno-error=unused-but-set-variable -Wno-error=unused-value -Wno-error=unused-local-typedefs - endif +O_LEVEL ?= 2 +endif +CPPFLAGS := $(INCLUDE_CPP_ARGS) -Wno-trigraphs -DMODERN=1 -DTESTING=$(TEST) +ARMCC := $(PREFIX)gcc +PATH_ARMCC := PATH="$(PATH)" $(ARMCC) +CC1 := $(shell $(PATH_ARMCC) --print-prog-name=cc1) -quiet +override CFLAGS += -mthumb -mthumb-interwork -O$(O_LEVEL) -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast -std=gnu17 -Werror -Wall -Wno-strict-aliasing -Wno-attribute-alias -Woverride-init +ifeq ($(ANALYZE),1) + override CFLAGS += -fanalyzer +endif +# Only throw an error for unused elements if its RH-Hideout's repo +ifeq ($(UNUSED_ERROR),0) + ifneq ($(GITHUB_REPOSITORY_OWNER),rh-hideout) + override CFLAGS += -Wno-error=unused-variable -Wno-error=unused-const-variable -Wno-error=unused-parameter -Wno-error=unused-function -Wno-error=unused-but-set-parameter -Wno-error=unused-but-set-variable -Wno-error=unused-value -Wno-error=unused-local-typedefs endif - LIBPATH := -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libgcc.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libnosys.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libc.a))" - LIB := $(LIBPATH) -lc -lnosys -lgcc -L../../libagbsyscall -lagbsyscall endif +LIBPATH := -L "$(dir $(shell $(PATH_ARMCC) -mthumb -print-file-name=libgcc.a))" -L "$(dir $(shell $(PATH_ARMCC) -mthumb -print-file-name=libnosys.a))" -L "$(dir $(shell $(PATH_ARMCC) -mthumb -print-file-name=libc.a))" +LIB := $(LIBPATH) -lc -lnosys -lgcc -L../../libagbsyscall -lagbsyscall # Enable debug info if set ifeq ($(DINFO),1) override CFLAGS += -g +else + ifeq ($(DEBUG),1) + override CFLAGS += -g + endif +endif + +ifeq ($(NOOPT),1) +override CFLAGS := $(filter-out -O1 -Og -O2,$(CFLAGS)) +override CFLAGS += -O0 endif # Variable filled out in other make files @@ -198,8 +177,8 @@ MAKEFLAGS += --no-print-directory # Delete files that weren't built properly .DELETE_ON_ERROR: -RULES_NO_SCAN += libagbsyscall clean clean-assets tidy tidymodern tidynonmodern tidycheck generated clean-generated $(TESTELF) -.PHONY: all rom agbcc modern compare check +RULES_NO_SCAN += libagbsyscall clean clean-assets tidy tidymodern tidycheck generated clean-generated $(TESTELF) +.PHONY: all rom agbcc modern compare check debug .PHONY: $(RULES_NO_SCAN) infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line)))) @@ -269,6 +248,7 @@ $(shell mkdir -p $(SUBDIRS)) # Pretend rules that are actually flags defer to `make all` modern: all compare: all +debug: all # Uncomment the next line, and then comment the 4 lines after it to reenable agbcc. #agbcc: all agbcc: @@ -317,21 +297,19 @@ clean-assets: 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 {} + find $(DATA_ASM_SUBDIR)/maps \( -iname 'connections.inc' -o -iname 'events.inc' -o -iname 'header.inc' \) -exec rm {} + -tidy: tidynonmodern tidymodern tidycheck +tidy: tidymodern tidycheck tidydebug -tidynonmodern: +tidymodern: rm -f $(ROM_NAME) $(ELF_NAME) $(MAP_NAME) rm -rf $(OBJ_DIR_NAME) -tidymodern: - rm -f $(MODERN_ROM_NAME) $(MODERN_ELF_NAME) $(MODERN_MAP_NAME) - rm -rf $(MODERN_OBJ_DIR_NAME) - tidycheck: rm -f $(TESTELF) $(HEADLESSELF) - rm -rf $(MODERN_OBJ_DIR_NAME_TEST) rm -rf $(OBJ_DIR_NAME_TEST) +tidydebug: + rm -rf $(DEBUG_OBJ_DIR_NAME) + # Other rules include graphics_file_rules.mk include map_data_rules.mk @@ -366,24 +344,11 @@ ifeq ($(COMPETITIVE_PARTY_SYNTAX),1) %.h: %.party ; $(CPP) $(CPPFLAGS) -traditional-cpp - < $< | $(TRAINERPROC) -o $@ -i $< - endif -ifeq ($(MODERN),0) -$(C_BUILDDIR)/libc.o: CC1 := $(TOOLS_DIR)/agbcc/bin/old_agbcc$(EXE) -$(C_BUILDDIR)/libc.o: CFLAGS := -O2 -$(C_BUILDDIR)/siirtc.o: CFLAGS := -mthumb-interwork -$(C_BUILDDIR)/agb_flash.o: CFLAGS := -O -mthumb-interwork -$(C_BUILDDIR)/agb_flash_1m.o: CFLAGS := -O -mthumb-interwork -$(C_BUILDDIR)/agb_flash_mx.o: CFLAGS := -O -mthumb-interwork -$(C_BUILDDIR)/m4a.o: CC1 := tools/agbcc/bin/old_agbcc$(EXE) -$(C_BUILDDIR)/record_mixing.o: CFLAGS += -ffreestanding -$(C_BUILDDIR)/librfu_intr.o: CC1 := $(TOOLS_DIR)/agbcc/bin/agbcc_arm$(EXE) -$(C_BUILDDIR)/librfu_intr.o: CFLAGS := -O2 -mthumb-interwork -quiet -else $(C_BUILDDIR)/librfu_intr.o: CFLAGS := -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast $(C_BUILDDIR)/berry_crush.o: override CFLAGS += -Wno-address-of-packed-member $(C_BUILDDIR)/pokedex_plus_hgss.o: CFLAGS := -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -Wno-pointer-to-int-cast -std=gnu17 -Werror -Wall -Wno-strict-aliasing -Wno-attribute-alias -Woverride-init # Annoyingly we can't turn this on just for src/data/trainers.h $(C_BUILDDIR)/data.o: CFLAGS += -fno-show-column -fno-diagnostics-show-caret -endif # Dependency rules (for the *.c & *.s sources to .o files) # Have to be explicit or else missing files won't be reported. @@ -464,18 +429,13 @@ $(DATA_SRC_SUBDIR)/pokemon/teachable_learnsets.h: $(DATA_ASM_BUILDDIR)/event_scr python3 $(TOOLS_DIR)/learnset_helpers/teachable.py # Linker script -ifeq ($(MODERN),0) -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.ld LD_SCRIPT_DEPS := -endif # Final rules libagbsyscall: - @$(MAKE) -C libagbsyscall TOOLCHAIN=$(TOOLCHAIN) MODERN=$(MODERN) + @$(MAKE) -C libagbsyscall TOOLCHAIN=$(TOOLCHAIN) MODERN=1 # Elf from object files LDFLAGS = -Map ../../$(MAP) diff --git a/README.md b/README.md index 823a02479c40..277dae2be785 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,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 1.9.4 https://github.com/rh-hideout/pokeemerald-expansion/ +Based off RHH's pokeemerald-expansion 1.10.0 https://github.com/rh-hideout/pokeemerald-expansion/ ``` Please follow the instructions in `INSTALL.md` to get pokeemerald-expansion set up on your machine. @@ -177,7 +177,7 @@ With this, you'll get the latest version of pokeemerald-expansion, plus a couple - Check your current version. - You can check in the debug menu's `Utilities -> Expansion Version` option. - If the option is not available, you possibly have version 1.6.2 or older. In that case, please check the [changelogs](CHANGELOG.md) to determine your version based on the features available on your repository. -- Once you have your remote set up, run the command `git pull RHH expansion/X.Y.Z`, replacing X, Y and Z with the digits of the respective version you want to update to (eg, to update to 1.9.4, use `git pull RHH expansion/1.9.4`). +- Once you have your remote set up, run the command `git pull RHH expansion/X.Y.Z`, replacing X, Y and Z with the digits of the respective version you want to update to (eg, to update to 1.10.0, use `git pull RHH expansion/1.10.0`). - ***Important:*** If you are several versions behind, we recommend updating one minor version at a time, skipping directly to the latest patch version (eg, 1.5.3 -> 1.6.2 -> 1.7.4 and so on) - Alternatively, you can update to unreleased versions of the expansion. - ***master (stable):*** It contains unreleased **bugfixes** that will come in the next patch version. To merge, use `git pull RHH master`. diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 27488c25d8a0..7ae4403ff922 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1349,7 +1349,6 @@ .4byte \func .endm -@ callnative macros .macro savetarget callnative BS_SaveTarget .endm @@ -1677,6 +1676,48 @@ .4byte \failInstr .endm + .macro jumpifteainvulnerable battler:req, jumpInstr:req + callnative BS_TeatimeInvul + .byte \battler + .4byte \jumpInstr + .endm + + .macro jumpifteanoberry failInstr:req + callnative BS_TeatimeTargets + .4byte \failInstr + .endm + + .macro trywindriderpower battler:req, failInstr:req + callnative BS_TryWindRiderPower + .byte \battler + .4byte \failInstr + .endm + + .macro activateweatherchangeabilities battler:req + callnative BS_ActivateWeatherChangeAbilities + .byte \battler + .endm + + .macro activateterrainchangeabilities battler:req + callnative BS_ActivateTerrainChangeAbilities + .byte \battler + .endm + + @ Stores Healing Wish effect. + .macro storehealingwish battler:req + callnative BS_StoreHealingWish + .byte \battler + .endm + + .macro hitswitchtargetfailed + callnative BS_HitSwitchTargetFailed + .endm + + .macro tryrevivalblessing, failInstr:req + callnative BS_TryRevivalBlessing + .4byte \failInstr + .endm + .macro jumpifblockedbysoundproof battler:req, failInstr:req callnative BS_JumpIfBlockedBySoundproof .byte \battler @@ -1692,16 +1733,37 @@ callnative BS_SetMagicCoatTarget .endm + .macro jumpifcommanderactive jumpInstr:req + callnative BS_JumpIfCommanderActive + .4byte \jumpInstr + .endm + + .macro checkpokeflute + callnative BS_CheckPokeFlute + .endm + + .macro waitfanfare + callnative BS_WaitFanfare + .endm + + .macro setbeakblast + callnative BS_SetBeakBlast + .endm + + .macro cantarshotwork failInstr:req + callnative BS_CanTarShotWork + .4byte \failInstr + .endm + + .macro removeterrain + callnative BS_RemoveTerrain + .endm + @ various command changed to more readable macros .macro cancelmultiturnmoves battler:req various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES .endm - @ Stores Healing Wish effect. - .macro storehealingwish battler:req - various \battler, VARIOUS_STORE_HEALING_WISH - .endm - .macro getifcantrunfrombattle battler:req various \battler, VARIOUS_IS_RUNNING_IMPOSSIBLE .endm @@ -2167,10 +2229,6 @@ .4byte \failInstr .endm - .macro removeterrain - various BS_ATTACKER, VARIOUS_REMOVE_TERRAIN - .endm - .macro trytoclearprimalweather various BS_ATTACKER, VARIOUS_TRY_TO_CLEAR_PRIMAL_WEATHER .endm @@ -2219,11 +2277,6 @@ .4byte \failInstr .endm - .macro cantarshotwork battler:req, failInstr:req - various \battler, VARIOUS_CAN_TAR_SHOT_WORK - .4byte \failInstr - .endm - .macro checkpoltergeist battler:req, failInstr:req various \battler, VARIOUS_CHECK_POLTERGEIST .4byte \failInstr @@ -2234,16 +2287,6 @@ .4byte \failInstr .endm - .macro jumpifteanoberry jumpInstr:req - various BS_ATTACKER, VARIOUS_TEATIME_TARGETS - .4byte \jumpInstr - .endm - - .macro jumpifteainvulnerable battler:req, jumpInstr:req - various \battler, VARIOUS_TEATIME_INVUL - .4byte \jumpInstr - .endm - .macro curecertainstatuses battler:req various \battler, VARIOUS_CURE_CERTAIN_STATUSES .endm @@ -2275,10 +2318,6 @@ various \battler, VARIOUS_BATTLER_ITEM_TO_LAST_USED_ITEM .endm - .macro setbeakblast battler:req - various \battler, VARIOUS_SET_BEAK_BLAST - .endm - .macro swapsidestatuses various BS_ATTACKER, VARIOUS_SWAP_SIDE_STATUSES .endm @@ -2288,19 +2327,6 @@ .byte \stat .endm - .macro trywindriderpower battler:req, failInstr:req - various \battler, VARIOUS_TRY_WIND_RIDER_POWER - .4byte \failInstr - .endm - - .macro activateweatherchangeabilities battler:req - various \battler, VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES - .endm - - .macro activateterrainchangeabilities battler:req - various \battler, VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES - .endm - @ helpful macros .macro setstatchanger stat:req, stages:req, down:req setbyte sSTATCHANGER, \stat | \stages << 3 | \down << 7 @@ -2495,15 +2521,6 @@ waitmessage B_WAIT_TIME_LONG .endm - .macro hitswitchtargetfailed - various 0, VARIOUS_HIT_SWITCH_TARGET_FAILED - .endm - - .macro tryrevivalblessing, jumpInstr:req - various 0, VARIOUS_TRY_REVIVAL_BLESSING - .4byte \jumpInstr - .endm - @ Will jump to script pointer if the specified battler has or has not fainted. .macro jumpiffainted battler:req, value:req, ptr:req getbattlerfainted \battler diff --git a/asm/macros/event.inc b/asm/macros/event.inc index c5a83a28f739..ede71eb19b6d 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -1798,7 +1798,7 @@ .4byte \text .endm - @ Equivalent to fadescreen but copies gPlttBufferUnfaded to gPaletteDecompressionBuffer on the fade out + @ Equivalent to fadescreen but copies gPlttBufferUnfaded to gDecompressionBuffer on the fade out @ and the reverse on the fade in, in effect saving gPlttBufferUnfaded to restore it. .macro fadescreenswapbuffers mode:req .byte 0xdc @@ -2321,3 +2321,112 @@ .macro togglefakertc callnative Script_ToggleFakeRtc .endm + + @ ============================ @ + @ ITEM DESCRIPTION HEADER MACROS + @ Used with OW_SHOW_ITEM_DESCRIPTIONS config + .macro showitemdescription + callnative ScriptShowItemDescription + .byte 0 + .endm + + .macro showberrydescription + callnative ScriptShowItemDescription + .byte 1 + .endm + + .macro hideitemdescription + callnative ScriptHideItemDescription + .endm + + @ Remove all of specified item from the player's bag and return the number of removed items to VAR_RESULT + .macro removeallitem itemId:req + callnative ScrCmd_removeallitem + .2byte \itemId + .endm + + @ Stores the position of the given object in destX and destY. Mode CURRENT_POSITION will take the object's current position. Mode TEMPLATE_POSITION will take the object's template position. + .macro getobjectxy localId:req, posType:req, destX:req, destY:req + callnative ScrCmd_getobjectxy + .2byte \localId + .2byte \posType + .2byte \destX + .2byte \destY + .endm + + .macro getobjecttemplatexy localId:req, posType = TEMPLATE_POSITION, destX:req, destY:req + callnative ScrCmd_getobjectxy + .2byte \localId + .2byte \posType + .2byte \destX + .2byte \destY + .endm + + .macro getobjectcurrentxy localId:req, posType = CURRENT_POSITION, destX:req, destY:req + callnative ScrCmd_getobjectxy + .2byte \localId + .2byte \posType + .2byte \destX + .2byte \destY + .endm + + @ Return TRUE to dest if there is an object at the position x and y. + .macro checkobjectat x:req, y:req, dest = VAR_RESULT + callnative ScrCmd_checkobjectat + .2byte \x + .2byte \y + .2byte \dest + .endm + + @ Returns the state of the Pokedex Seen Flag to VAR_RESULT for the Pokemon with speciesId + .macro getseenmon species:req + callnative Scrcmd_getsetpokedexflag + .2byte \species + .2byte FLAG_GET_SEEN + .endm + + @ Returns the state of the Pokedex Caught Flag to VAR_RESULT for the Pokemon with speciesId + .macro getcaughtmon species:req + callnative Scrcmd_getsetpokedexflag + .2byte \species + .2byte FLAG_GET_CAUGHT + .endm + + @ Sets the Pokedex Seen Flag for the Pokemon with speciesId + .macro setseenmon species:req + callnative Scrcmd_getsetpokedexflag + .2byte \species + .2byte FLAG_SET_SEEN + .endm + + @ Sets the Pokedex Caught Flag for the Pokemon with speciesId + .macro setcaughtmon species:req + callnative Scrcmd_getsetpokedexflag + .2byte \species + .2byte FLAG_SET_CAUGHT + .endm + + @ Check if the Player has speciesId in their party. OPEN_PARTY_SCREEN will have the player select a mon from their party. NO_PARTY_SCREEN will automatically check every mon in the player's party. + .macro checkspecies speciesId:req, mode=NO_PARTY_SCREEN + .if \mode == OPEN_PARTY_SCREEN + special ChoosePartyMon + waitstate + callnative Scrcmd_checkspecies_choose + .2byte \speciesId + .else + callnative Scrcmd_checkspecies + .2byte \speciesId + .endif + .endm + + .macro checkspecies_choose speciesId:req + checkspecies \speciesId, OPEN_PARTY_SCREEN + .endm + + @ Gets the facing direction of a given event object and stores it in the variable dest. + .macro getobjectfacingdirection localId:req, dest:req + callnative Scrcmd_getobjectfacingdirection + .2byte \localId + .2byte \dest + .endm + diff --git a/charmap.txt b/charmap.txt index 4c9f2e0497fa..63c2f6ebe10c 100644 --- a/charmap.txt +++ b/charmap.txt @@ -45,6 +45,7 @@ SUPER_ER = 2C LV = 34 '=' = 35 ';' = 36 +V_D_ARROW = 38 '¿' = 51 '¡' = 52 PK = 53 @@ -369,7 +370,7 @@ B_ATK_NAME_WITH_PREFIX = FD 0F B_DEF_NAME_WITH_PREFIX = FD 10 B_EFF_NAME_WITH_PREFIX = FD 11 @ EFF = short for gEffectBattler @ FD 12 - preiously gActiveBattler with prefix -B_SCR_ACTIVE_NAME_WITH_PREFIX = FD 13 +B_SCR_NAME_WITH_PREFIX = FD 13 B_CURRENT_MOVE = FD 14 B_LAST_MOVE = FD 15 B_LAST_ITEM = FD 16 @@ -412,6 +413,14 @@ B_DEF_TEAM1 = FD 3A B_DEF_TEAM2 = FD 3B @ FD 3C - preiously gActiveBattler @ FD 3D - preiously gActiveBattler without Illusion Check +B_ATK_NAME_WITH_PREFIX2 = FD 3E +B_DEF_NAME_WITH_PREFIX2 = FD 3F +B_EFF_NAME_WITH_PREFIX2 = FD 40 +B_SCR_NAME_WITH_PREFIX2 = FD 41 +B_TRAINER1_NAME_WITH_CLASS = FD 42 +B_TRAINER2_NAME_WITH_CLASS = FD 43 +B_PARTNER_NAME_WITH_CLASS = FD 44 +B_ATK_TRAINER_NAME_WITH_CLASS = FD 45 @ indicates the end of a town/city name (before " TOWN" or " CITY") NAME_END = FC 00 diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 48ccc089dc54..80d50710baa7 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -14,92 +14,8 @@ .section script_data, "aw", %progbits - .align 2 -gMovesWithQuietBGM:: - .2byte MOVE_SING, MOVE_PERISH_SONG, MOVE_GRASS_WHISTLE, 0xFFFF - - .align 2 -gBattleAnims_StatusConditions:: - .4byte Status_Poison @ B_ANIM_STATUS_PSN - .4byte Status_Confusion @ B_ANIM_STATUS_CONFUSION - .4byte Status_Burn @ B_ANIM_STATUS_BRN - .4byte Status_Infatuation @ B_ANIM_STATUS_INFATUATION - .4byte Status_Sleep @ B_ANIM_STATUS_SLP - .4byte Status_Paralysis @ B_ANIM_STATUS_PRZ - .4byte Status_Freeze @ B_ANIM_STATUS_FRZ - .4byte Status_Curse @ B_ANIM_STATUS_CURSED - .4byte Status_Nightmare @ B_ANIM_STATUS_NIGHTMARE - .4byte Status_Powder - - .align 2 -gBattleAnims_General:: - .4byte General_StatsChange @ B_ANIM_STATS_CHANGE - .4byte General_SubstituteFade @ B_ANIM_SUBSTITUTE_FADE - .4byte General_SubstituteAppear @ B_ANIM_SUBSTITUTE_APPEAR - .4byte General_PokeblockThrow @ B_ANIM_POKEBLOCK_THROW - .4byte General_ItemKnockoff @ B_ANIM_ITEM_KNOCKOFF - .4byte General_TurnTrap @ B_ANIM_TURN_TRAP - .4byte General_HeldItemEffect @ B_ANIM_HELD_ITEM_EFFECT - .4byte General_SmokeballEscape @ B_ANIM_SMOKEBALL_ESCAPE - .4byte General_HangedOn @ B_ANIM_HANGED_ON - .4byte General_Rain @ B_ANIM_RAIN_CONTINUES - .4byte General_Sun @ B_ANIM_SUN_CONTINUES - .4byte General_Sandstorm @ B_ANIM_SANDSTORM_CONTINUES - .4byte General_Hail @ B_ANIM_HAIL_CONTINUES - .4byte General_LeechSeedDrain @ B_ANIM_LEECH_SEED_DRAIN - .4byte General_MonHit @ B_ANIM_MON_HIT - .4byte General_ItemSteal @ B_ANIM_ITEM_STEAL - .4byte General_SnatchMove @ B_ANIM_SNATCH_MOVE - .4byte General_FutureSightHit @ B_ANIM_FUTURE_SIGHT_HIT - .4byte General_DoomDesireHit @ B_ANIM_DOOM_DESIRE_HIT - .4byte General_FocusPunchSetUp @ B_ANIM_FOCUS_PUNCH_SETUP - .4byte General_IngrainHeal @ B_ANIM_INGRAIN_HEAL - .4byte General_WishHeal @ B_ANIM_WISH_HEAL - .4byte General_MegaEvolution @ B_ANIM_MEGA_EVOLUTION - .4byte General_IllusionOff @ B_ANIM_ILLUSION_OFF - .4byte General_FormChange @ B_ANIM_FORM_CHANGE - .4byte General_SlideOffScreen @ B_ANIM_SLIDE_OFFSCREEN - .4byte General_RestoreBg @ B_ANIM_RESTORE_BG - .4byte General_TotemFlare @ B_ANIM_TOTEM_FLARE - .4byte General_GulpMissile @ B_ANIM_GULP_MISSILE - .4byte General_StrongWinds @ B_ANIM_STRONG_WINDS - .4byte General_PrimalReversion @ B_ANIM_PRIMAL_REVERSION - .4byte General_AquaRingHeal @ B_ANIM_AQUA_RING_HEAL - .4byte General_BeakBlastSetUp @ B_ANIM_BEAK_BLAST_SETUP - .4byte General_ShellTrapSetUp @ B_ANIM_SHELL_TRAP_SETUP - .4byte General_ZMoveActivate @ B_ANIM_ZMOVE_ACTIVATE - .4byte General_AffectionHangedOn @ B_ANIM_AFFECTION_HANGED_ON - .4byte General_Snow @ B_ANIM_SNOW_CONTINUES - .4byte General_UltraBurst @ B_ANIM_ULTRA_BURST - .4byte General_SaltCureDamage @ B_ANIM_SALT_CURE_DAMAGE - .4byte General_DynamaxGrowth @ B_ANIM_DYNAMAX_GROWTH - .4byte General_SetWeather @ B_ANIM_MAX_SET_WEATHER - .4byte General_SyrupBombSpeedDrop @ B_ANIM_SYRUP_BOMB_SPEED_DROP - .4byte General_Rainbow @ B_ANIM_RAINBOW - .4byte General_SeaOfFire @ B_ANIM_SEA_OF_FIRE - .4byte General_Swamp @ B_ANIM_SWAMP - .4byte General_TrickRoom @ B_ANIM_TRICK_ROOM - .4byte General_WonderRoom @ B_ANIM_WONDER_ROOM - .4byte General_MagicRoom @ B_ANIM_MAGIC_ROOM - .4byte General_Tailwind @ B_ANIM_TAILLWIND - .4byte General_Fog @ B_ANIM_FOG_CONTINUES - .4byte General_TeraCharge @ B_ANIM_TERA_CHARGE - .4byte General_TeraActivate @ B_ANIM_TERA_ACTIVATE - .4byte General_SimpleHeal @ B_ANIM_SIMPLE_HEAL - - .align 2 -gBattleAnims_Special:: - .4byte Special_LevelUp @ B_ANIM_LVL_UP - .4byte Special_SwitchOutPlayerMon @ B_ANIM_SWITCH_OUT_PLAYER_MON - .4byte Special_SwitchOutOpponentMon @ B_ANIM_SWITCH_OUT_OPPONENT_MON - .4byte Special_BallThrow @ B_ANIM_BALL_THROW - .4byte Special_BallThrowWithTrainer @ B_ANIM_BALL_THROW_WITH_TRAINER - .4byte Special_SubstituteToMon @ B_ANIM_SUBSTITUTE_TO_MON - .4byte Special_MonToSubstitute @ B_ANIM_MON_TO_SUBSTITUTE - .4byte Special_CriticalCaptureBallThrow @ B_ANIM_CRITICAL_CAPTURE_THROW - @@@@@@@@@@@@@@@@@@@@@@@ GEN 4 @@@@@@@@@@@@@@@@@@@@@@@ -Move_ROOST:: +gBattleAnimMove_Roost:: loadspritegfx ANIM_TAG_WHITE_FEATHER loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_ATTACKER @@ -124,7 +40,7 @@ Move_ROOST:: waitforvisualfinish end -Move_GRAVITY:: +gBattleAnimMove_Gravity:: fadetobg BG_COSMIC waitbgfadein createvisualtask AnimTask_SetAnimTargetToAttackerOpposite, 1 @@ -145,7 +61,7 @@ Move_GRAVITY:: waitforvisualfinish end -Move_MIRACLE_EYE:: +gBattleAnimMove_MiracleEye:: loadspritegfx ANIM_TAG_TEAL_ALERT loadspritegfx ANIM_TAG_OPENING_EYE loadspritegfx ANIM_TAG_ROUND_WHITE_HALO @@ -163,7 +79,7 @@ Move_MIRACLE_EYE:: clearmonbg ANIM_DEF_PARTNER end -Move_WAKE_UP_SLAP:: +gBattleAnimMove_WakeUpSlap:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SMELLINGSALT_EFFECT @@ -183,7 +99,7 @@ Move_WAKE_UP_SLAP:: blendoff end -Move_HAMMER_ARM:: +gBattleAnimMove_HammerArm:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_SLAM_HIT @@ -207,7 +123,7 @@ Move_HAMMER_ARM:: blendoff end -Move_GYRO_BALL:: +gBattleAnimMove_GyroBall:: loadspritegfx ANIM_TAG_IMPACT loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 createvisualtask AnimTask_MetallicShine, 5, 0, 0, RGB_BLACK @@ -237,7 +153,7 @@ Move_GYRO_BALL:: waitforvisualfinish end -Move_HEALING_WISH:: +gBattleAnimMove_HealingWish:: loadspritegfx ANIM_TAG_GREEN_SPARKLE setalpha 0, 16 createvisualtask AnimTask_AlphaFadeIn, 3, 0, 16, 16, 0, 1 @@ -257,7 +173,7 @@ Move_HEALING_WISH:: waitforvisualfinish end -Move_BRINE:: +gBattleAnimMove_Brine:: loadspritegfx ANIM_TAG_GLOWY_BLUE_ORB loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER @@ -271,7 +187,7 @@ Move_BRINE:: blendoff end -Move_NATURAL_GIFT:: +gBattleAnimMove_NaturalGift:: loadspritegfx ANIM_TAG_SPARKLE_2 loadspritegfx ANIM_TAG_HOLLOW_ORB monbg ANIM_ATTACKER @@ -300,7 +216,7 @@ Move_NATURAL_GIFT:: delay 1 end -Move_FEINT:: +gBattleAnimMove_Feint:: loadspritegfx ANIM_TAG_FEINT createsprite gFeintSwipeSpriteTemplate, ANIM_ATTACKER, 10, -32, 0, 15 playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER @@ -314,7 +230,7 @@ Move_FEINT:: waitforvisualfinish end -Move_PLUCK:: +gBattleAnimMove_Pluck:: loadspritegfx ANIM_TAG_SEED_BROWN loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_M_POISON_POWDER, SOUND_PAN_ATTACKER @@ -340,7 +256,7 @@ Move_PLUCK:: waitforvisualfinish end -Move_TAILWIND:: +gBattleAnimMove_Tailwind:: loadspritegfx ANIM_TAG_FLYING_DIRT playsewithpan SE_M_GUST, SOUND_PAN_ATTACKER call SetHighSpeedBg @@ -374,7 +290,7 @@ Move_TAILWIND:: delay 1 end -General_Tailwind: +gBattleAnimGeneral_Tailwind:: loadspritegfx ANIM_TAG_FLYING_DIRT playsewithpan SE_M_GUST, SOUND_PAN_ATTACKER call SetHighSpeedBg @@ -403,7 +319,7 @@ General_Tailwind: delay 1 end -Move_ACUPRESSURE:: +gBattleAnimMove_Acupressure:: loadspritegfx ANIM_TAG_ACUPRESSURE loadspritegfx ANIM_TAG_SPARK_2 createsprite gAcupressureSpriteTemplate, ANIM_ATTACKER, 40, 0, -40, 40 @@ -411,7 +327,7 @@ Move_ACUPRESSURE:: call ElectricityEffect end -Move_METAL_BURST:: +gBattleAnimMove_MetalBurst:: loadspritegfx ANIM_TAG_ECLIPSING_ORB loadspritegfx ANIM_TAG_RED_ORB loopsewithpan SE_M_TRI_ATTACK, -64, 18, 3 @@ -434,7 +350,7 @@ Move_METAL_BURST:: waitforvisualfinish end -Move_U_TURN:: +gBattleAnimMove_UTurn:: loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -463,7 +379,7 @@ UTurnVisible: createsprite gFlyBallAttackSpriteTemplate, ANIM_ATTACKER, 2, 20, FALSE goto UTurnContinue -Move_CLOSE_COMBAT:: +gBattleAnimMove_CloseCombat:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET call SetHighSpeedBg @@ -499,7 +415,7 @@ Move_CLOSE_COMBAT:: delay 1 end -Move_PAYBACK:: +gBattleAnimMove_Payback:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET fadetobg BG_DARK @@ -531,7 +447,7 @@ Move_PAYBACK:: waitbgfadein end -Move_ASSURANCE:: +gBattleAnimMove_Assurance:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE monbg ANIM_TARGET @@ -550,7 +466,7 @@ Move_ASSURANCE:: waitbgfadein end -Move_EMBARGO:: +gBattleAnimMove_Embargo:: loadspritegfx ANIM_TAG_RED_ORB monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -572,7 +488,7 @@ EmbargoOrbs1: delay 12 return -Move_FLING:: +gBattleAnimMove_Fling:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_BLACK_BALL monbg ANIM_DEF_PARTNER @@ -588,7 +504,7 @@ Move_FLING:: blendoff end -Move_PSYCHO_SHIFT:: +gBattleAnimMove_PsychoShift:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_HOLLOW_ORB loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @@ -614,7 +530,7 @@ Move_PSYCHO_SHIFT:: blendoff end -Move_TRUMP_CARD:: +gBattleAnimMove_TrumpCard:: loadspritegfx ANIM_TAG_TRUMP_CARD loadspritegfx ANIM_TAG_CUT loadspritegfx ANIM_TAG_TRUMP_CARD_PARTICLES @@ -658,7 +574,7 @@ Move_TRUMP_CARD:: waitforvisualfinish end -Move_HEAL_BLOCK:: +gBattleAnimMove_HealBlock:: loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_TARGET createsoundtask SoundTask_PlaySeChangingVolume, SE_M_ABSORB_2, SOUND_PAN_TARGET, 256, -16, 0, 2 @@ -682,7 +598,7 @@ Move_HEAL_BLOCK:: clearmonbg ANIM_TARGET end -Move_WRING_OUT:: +gBattleAnimMove_WringOut:: loadspritegfx ANIM_TAG_WRING_OUT monbg ANIM_TARGET setalpha 12, 8 @@ -703,7 +619,7 @@ Move_WRING_OUT:: waitforvisualfinish end -Move_POWER_TRICK:: +gBattleAnimMove_PowerTrick:: loadspritegfx ANIM_TAG_POWER_TRICK loopsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET 0xa 0x3 createvisualtask AnimTask_UproarDistortion 0x2, 0x0 @@ -715,7 +631,7 @@ Move_POWER_TRICK:: waitforvisualfinish end -Move_GASTRO_ACID:: +gBattleAnimMove_GastroAcid:: loadspritegfx ANIM_TAG_GREEN_POISON_BUBBLE monbg ANIM_DEF_PARTNER createsprite gGreenPoisonBubble, ANIM_TARGET, 2, 20, 0, 40, 1, 0, 0, FALSE @@ -747,7 +663,7 @@ Move_GASTRO_ACID:: clearmonbg ANIM_DEF_PARTNER end -Move_LUCKY_CHANT:: +gBattleAnimMove_LuckyChant:: loadspritegfx ANIM_TAG_GOLD_STARS monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -774,10 +690,36 @@ Move_LUCKY_CHANT:: unloadspritegfx ANIM_TAG_GOLD_STARS end -Move_ME_FIRST:: +gBattleAnimMove_MeFirst:: + loadspritegfx ANIM_TAG_ORBS + loadspritegfx ANIM_TAG_FINGER + loadspritegfx ANIM_TAG_THOUGHT_BUBBLE + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_ORBS, 0, 12, 12, 0x7FAF + setalpha 11, 5 + monbg_static ANIM_DEF_PARTNER + splitbgprio_all + createsprite gThoughtBubbleSpriteTemplate, ANIM_ATTACKER, 11, 0, 100 + playsewithpan SE_M_METRONOME, SOUND_PAN_ATTACKER + delay 6 + createsprite gMetronomeFingerSpriteTemplate, ANIM_ATTACKER, 12, 0 + delay 24 + loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 22, 3 + waitforvisualfinish + panse SE_M_MINIMIZE, SOUND_PAN_TARGET, SOUND_PAN_ATTACKER, -3, 0 + createvisualtask AnimTask_ShrinkTargetCopy, 5, 128, 24 + delay 15 + createsprite gMimicOrbSpriteTemplate, ANIM_TARGET, 2, -12, 24 + delay 10 + setarg 7, 0xFFFF + waitforvisualfinish + playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 2, 0, 11, RGB_WHITE + waitforvisualfinish + clearmonbg_static ANIM_DEF_PARTNER + blendoff end -Move_COPYCAT:: +gBattleAnimMove_Copycat:: loadspritegfx ANIM_TAG_GRAY_ORB loadspritegfx ANIM_TAG_THIN_RING playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER @@ -799,7 +741,7 @@ Move_COPYCAT:: waitforvisualfinish end -Move_POWER_SWAP:: +gBattleAnimMove_PowerSwap:: loadspritegfx ANIM_TAG_COLORED_ORBS playsewithpan SE_M_DOUBLE_TEAM, 0 createsprite gPowerSwapGuardSwapSpriteTemplate, ANIM_TARGET, 3, 0, 0, 0, 0, 42, -32 @@ -841,7 +783,7 @@ Move_POWER_SWAP:: waitforvisualfinish end -Move_GUARD_SWAP:: +gBattleAnimMove_GuardSwap:: loadspritegfx ANIM_TAG_COLORED_ORBS playsewithpan SE_M_DOUBLE_TEAM, 0 createsprite gPowerSwapGuardSwapSpriteTemplate, ANIM_TARGET, 3, 0, 0, 2, 0, 42, -32 @@ -883,7 +825,7 @@ Move_GUARD_SWAP:: waitforvisualfinish end -Move_PUNISHMENT:: +gBattleAnimMove_Punishment:: loadspritegfx ANIM_TAG_SCRATCH loadspritegfx ANIM_TAG_POISON_BUBBLE monbg ANIM_TARGET @@ -906,7 +848,7 @@ Move_PUNISHMENT:: blendoff end -Move_LAST_RESORT:: +gBattleAnimMove_LastResort:: fadetobg BG_COSMIC waitbgfadeout createvisualtask AnimTask_StartSlidingBg, 2, 4, 0, 128, 0, -1 @@ -944,7 +886,7 @@ Move_LAST_RESORT:: call UnsetHighSpeedBg end -Move_WORRY_SEED:: +gBattleAnimMove_WorrySeed:: loadspritegfx ANIM_TAG_WORRY_SEED loadspritegfx ANIM_TAG_SMALL_CLOUD playsewithpan SE_M_POISON_POWDER, SOUND_PAN_ATTACKER @@ -958,7 +900,7 @@ Move_WORRY_SEED:: waitforvisualfinish end -Move_SUCKER_PUNCH:: +gBattleAnimMove_SuckerPunch:: loadspritegfx ANIM_TAG_POISON_JAB loadspritegfx ANIM_TAG_IMPACT createsprite gSlideMonToOffsetSpriteTemplate, 2, 5, 0, 20, 0, 0, 4 @@ -971,7 +913,7 @@ Move_SUCKER_PUNCH:: createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 3, 0, 1, 4 end -Move_TOXIC_SPIKES:: +gBattleAnimMove_ToxicSpikes:: loadspritegfx ANIM_TAG_TOXIC_SPIKES loadspritegfx ANIM_TAG_POISON_BUBBLE monbg ANIM_DEF_PARTNER @@ -991,11 +933,49 @@ Move_TOXIC_SPIKES:: clearmonbg ANIM_DEF_PARTNER end -Move_HEART_SWAP:: +gBattleAnimMove_HeartSwap:: + loadspritegfx ANIM_TAG_RED_HEART + loadspritegfx ANIM_TAG_PINKVIO_ORB + loadspritegfx ANIM_TAG_SPARKLE_2 + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 3, 0, 8, RGB(31, 24, 26) + createvisualtask AnimTask_HeartSwap, 3, ANIM_TARGET + createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_TARGET, RGB_WHITE, 12, 3, 1 + loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 10, 8 + delay 16 + createvisualtask AnimTask_HeartSwap, 3, ANIM_ATTACKER + createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB_WHITE, 12, 3, 1 + waitforvisualfinish + createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, -15, 0, 0, 0, 32, 60 + createsprite gGrantingStarsSpriteTemplate, ANIM_TARGET, 2, -15, 0, 0, 0, 32, 60 + delay 8 + createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60 + createsprite gGrantingStarsSpriteTemplate, ANIM_TARGET, 2, 12, -5, 0, 0, 32, 60 + delay 4 + playsewithpan SE_SHINY, SOUND_PAN_ATTACKER + createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(31, 25, 27), 12, 3, 1 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -3, -3, 16, ANIM_ATTACKER, 0 + createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_TARGET, RGB(31, 25, 27), 12, 3, 1 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -3, -3, 16, ANIM_TARGET, 0 + createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 160, -32 + createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -256, -40 + createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 128, -16 + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 3, 8, 0, RGB(31, 24, 26) + createsprite gRedHeartCharmSpriteTemplate, ANIM_ATTACKER, 3, 0, 20 + playsewithpan SE_M_MORNING_SUN, SOUND_PAN_ATTACKER + delay 15 + createsprite gRedHeartCharmSpriteTemplate, ANIM_ATTACKER, 3, -20, 20 + playsewithpan SE_M_CHARM, SOUND_PAN_ATTACKER + delay 15 + createsprite gRedHeartCharmSpriteTemplate, ANIM_ATTACKER, 3, 20, 20 + playsewithpan SE_M_CHARM, SOUND_PAN_ATTACKER + waitforvisualfinish + clearmonbg ANIM_ATTACKER + clearmonbg ANIM_TARGET + blendoff end -Move_AQUA_RING:: -General_AquaRingHeal: +gBattleAnimMove_AquaRing:: +gBattleAnimGeneral_AquaRingHeal:: loadspritegfx ANIM_TAG_BLUE_STAR loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -1043,7 +1023,7 @@ General_AquaRingHeal: blendoff end -Move_MAGNET_RISE:: +gBattleAnimMove_MagnetRise:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SPARK_2 delay 0 @@ -1080,7 +1060,7 @@ Move_MAGNET_RISE:: waitforvisualfinish end -Move_FLARE_BLITZ:: +gBattleAnimMove_FlareBlitz:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_SMALL_EMBER @@ -1157,7 +1137,7 @@ Move_FLARE_BLITZ:: waitbgfadein end -Move_FORCE_PALM:: +gBattleAnimMove_ForcePalm:: loadspritegfx ANIM_TAG_SHADOW_BALL loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT @@ -1175,9 +1155,9 @@ Move_FORCE_PALM:: blendoff end -Move_AURA_SPHERE:: - loadspritegfx ANIM_TAG_METEOR - loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT +gBattleAnimMove_AuraSphere:: + loadspritegfx ANIM_TAG_IMPACT_2 + loadspritegfx ANIM_TAG_LEER monbg ANIM_ATK_PARTNER splitbgprio ANIM_ATTACKER setalpha 12, 8 @@ -1200,7 +1180,7 @@ SetAuraSphereBG: fadetobg BG_AURA_SPHERE goto SetHighSpeedBgFade -Move_ROCK_POLISH:: +gBattleAnimMove_RockPolish:: loadspritegfx ANIM_TAG_WHITE_STREAK loadspritegfx ANIM_TAG_SPARKLE_3 setalpha 12, 8 @@ -1267,7 +1247,7 @@ Move_ROCK_POLISH:: blendoff end -Move_POISON_JAB:: +gBattleAnimMove_PoisonJab:: loadspritegfx ANIM_TAG_PURPLE_JAB loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_POISON_BUBBLE @@ -1321,7 +1301,7 @@ Move_POISON_JAB:: blendoff end -Move_DARK_PULSE:: +gBattleAnimMove_DarkPulse:: loadspritegfx ANIM_TAG_THIN_RING monbg ANIM_TARGET fadetobg BG_DARK @@ -1349,7 +1329,7 @@ Move_DARK_PULSE:: waitbgfadein end -Move_NIGHT_SLASH:: +gBattleAnimMove_NightSlash:: loadspritegfx ANIM_TAG_SLASH createvisualtask AnimTask_BlendNightSlash, 2, ANIM_TARGET, 2, 0, 8, 1 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 3, 0, 12, RGB_BLACK @@ -1369,7 +1349,7 @@ Move_NIGHT_SLASH:: waitforvisualfinish end -Move_AQUA_TAIL:: +gBattleAnimMove_AquaTail:: loadspritegfx ANIM_TAG_WATER_IMPACT loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -1423,7 +1403,7 @@ Move_AQUA_TAIL:: blendoff end -Move_SEED_BOMB:: +gBattleAnimMove_SeedBomb:: loadspritegfx ANIM_TAG_SEED loadspritegfx ANIM_TAG_EXPLOSION createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0 @@ -1472,7 +1452,7 @@ Move_SEED_BOMB:: waitforvisualfinish end -Move_AIR_SLASH:: +gBattleAnimMove_AirSlash:: loadspritegfx ANIM_TAG_SLASH call SetSkyBg createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, 1, -8, 0 @@ -1485,7 +1465,7 @@ Move_AIR_SLASH:: call UnsetSkyBg end -Move_X_SCISSOR:: +gBattleAnimMove_XScissor:: loadspritegfx ANIM_TAG_CUT monbg ANIM_TARGET setalpha 12, 8 @@ -1503,7 +1483,7 @@ Move_X_SCISSOR:: blendoff end -Move_BUG_BUZZ:: +gBattleAnimMove_BugBuzz:: loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE loadspritegfx ANIM_TAG_THIN_RING monbg ANIM_DEF_PARTNER @@ -1530,7 +1510,7 @@ Move_BUG_BUZZ:: call UnsetBugBg end -Move_DRAGON_PULSE:: +gBattleAnimMove_DragonPulse:: loadspritegfx ANIM_TAG_DRAGON_PULSE monbg ANIM_TARGET setalpha 12, 8 @@ -1563,7 +1543,7 @@ DragonPulseParticle: delay 4 return -Move_DRAGON_RUSH:: +gBattleAnimMove_DragonRush:: loadspritegfx ANIM_TAG_SLAM_HIT_2 loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS @@ -1592,7 +1572,7 @@ Move_DRAGON_RUSH:: blendoff end -Move_POWER_GEM:: @ Copy of Hidden Power with background blackened +gBattleAnimMove_PowerGem:: @ Copy of Hidden Power with background blackened loadspritegfx ANIM_TAG_POWER_GEM createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 5, 1, 1, 0, 7, RGB_BLACK waitforvisualfinish @@ -1626,7 +1606,7 @@ Move_POWER_GEM:: @ Copy of Hidden Power with background blackened waitforvisualfinish end -Move_DRAIN_PUNCH:: +gBattleAnimMove_DrainPunch:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_BLUE_STAR @@ -1647,7 +1627,7 @@ Move_DRAIN_PUNCH:: blendoff end -Move_VACUUM_WAVE:: +gBattleAnimMove_VacuumWave:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_THIN_RING @@ -1663,7 +1643,7 @@ Move_VACUUM_WAVE:: blendoff end -Move_FOCUS_BLAST:: +gBattleAnimMove_FocusBlast:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_METEOR loadspritegfx ANIM_TAG_FLAT_ROCK @@ -1687,7 +1667,7 @@ SetFocusBlastBG: fadetobg BG_FOCUS_BLAST goto SetHighSpeedBgFade -Move_ENERGY_BALL:: +gBattleAnimMove_EnergyBall:: loadspritegfx ANIM_TAG_ENERGY_BALL monbg ANIM_TARGET setalpha 12, 8 @@ -1705,7 +1685,7 @@ Move_ENERGY_BALL:: blendoff end -Move_BRAVE_BIRD:: +gBattleAnimMove_BraveBird:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_BIRD call SetSkyBg @@ -1728,7 +1708,7 @@ Move_BRAVE_BIRD:: call UnsetSkyBg end -Move_EARTH_POWER:: +gBattleAnimMove_EarthPower:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_FIRE_PLUME createvisualtask AnimTask_HorizontalShake, 3, ANIM_DEF_PARTNER, 10, 50 @@ -1757,7 +1737,7 @@ Move_EARTH_POWER:: waitforvisualfinish end -Move_SWITCHEROO:: +gBattleAnimMove_Switcheroo:: fadetobg BG_DARK waitbgfadein loadspritegfx ANIM_TAG_ITEM_BAG @@ -1789,7 +1769,7 @@ Move_SWITCHEROO:: waitbgfadein end -Move_GIGA_IMPACT:: +gBattleAnimMove_GigaImpact:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -1833,7 +1813,7 @@ GigaImpactContinuity: waitforvisualfinish end -Move_NASTY_PLOT:: +gBattleAnimMove_NastyPlot:: loadspritegfx ANIM_TAG_AMNESIA fadetobg BG_DARK waitbgfadeout @@ -1848,7 +1828,7 @@ Move_NASTY_PLOT:: call UnsetPsychicBg end -Move_BULLET_PUNCH:: +gBattleAnimMove_BulletPunch:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET monbg ANIM_TARGET @@ -1902,7 +1882,7 @@ Move_BULLET_PUNCH:: blendoff end -Move_AVALANCHE:: +gBattleAnimMove_Avalanche:: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_ICE_CHUNK monbg ANIM_DEF_PARTNER @@ -1953,7 +1933,7 @@ SnowSlide1: delay 2 return -Move_ICE_SHARD:: +gBattleAnimMove_IceShard:: monbg ANIM_TARGET splitbgprio ANIM_TARGET setalpha 12, 8 @@ -1989,7 +1969,7 @@ Move_ICE_SHARD:: blendoff end -Move_SHADOW_CLAW:: +gBattleAnimMove_ShadowClaw:: loadspritegfx ANIM_TAG_BLUE_LIGHT_WALL loadspritegfx ANIM_TAG_CLAW_SLASH loadspritegfx ANIM_TAG_TORN_METAL @@ -2015,7 +1995,7 @@ Move_SHADOW_CLAW:: clearmonbg ANIM_TARGET end -Move_THUNDER_FANG:: +gBattleAnimMove_ThunderFang:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_LIGHTNING loadspritegfx ANIM_TAG_SHARP_TEETH @@ -2049,7 +2029,7 @@ Move_THUNDER_FANG:: delay 1 end -Move_ICE_FANG:: +gBattleAnimMove_IceFang:: monbg ANIM_TARGET setalpha 12, 8 loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -2086,7 +2066,7 @@ Move_ICE_FANG:: delay 1 end -Move_FIRE_FANG:: +gBattleAnimMove_FireFang:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_SHARP_TEETH loadspritegfx ANIM_TAG_IMPACT @@ -2115,7 +2095,7 @@ Move_FIRE_FANG:: delay 1 end -Move_SHADOW_SNEAK:: +gBattleAnimMove_ShadowSneak:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_WHITE_SHADOW @Destiny Bond loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @Black Colour @@ -2153,7 +2133,7 @@ ShadowSneakMovement: delay 0x4 return -Move_MUD_BOMB:: +gBattleAnimMove_MudBomb:: loadspritegfx ANIM_TAG_MUD_SAND playsewithpan SE_M_BUBBLE3, SOUND_PAN_ATTACKER createsprite gMudBombToss, ANIM_TARGET, 2, 20, 0, 0, 0, 35, -25 @@ -2204,7 +2184,7 @@ Move_MUD_BOMB:: waitforvisualfinish end -Move_PSYCHO_CUT:: +gBattleAnimMove_PsychoCut:: loadspritegfx ANIM_TAG_SPIRAL loadspritegfx ANIM_TAG_PSYCHO_CUT loadspritegfx ANIM_TAG_CROSS_IMPACT @@ -2232,7 +2212,7 @@ Move_PSYCHO_CUT:: waitforvisualfinish end -Move_ZEN_HEADBUTT:: +gBattleAnimMove_ZenHeadbutt:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_ATTACKER @@ -2264,7 +2244,7 @@ Move_ZEN_HEADBUTT:: delay 1 end -Move_MIRROR_SHOT:: +gBattleAnimMove_MirrorShot:: loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 createvisualtask AnimTask_MetallicShine, 5, 1, 0, RGB_BLACK waitforvisualfinish @@ -2298,7 +2278,7 @@ Move_MIRROR_SHOT:: blendoff end -Move_FLASH_CANNON:: +gBattleAnimMove_FlashCannon:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_ELECTRIC_ORBS @@ -2335,7 +2315,7 @@ Move_FLASH_CANNON:: clearmonbg ANIM_TARGET end -Move_ROCK_CLIMB:: +gBattleAnimMove_RockClimb:: delay 8 loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 38, 3 waitforvisualfinish @@ -2370,7 +2350,7 @@ Move_ROCK_CLIMB:: blendoff end -Move_DEFOG:: +gBattleAnimMove_Defog:: loadspritegfx ANIM_TAG_WHITE_CIRCLE_OF_LIGHT monbg ANIM_ATTACKER setalpha 12, 8 @@ -2388,9 +2368,9 @@ Move_DEFOG:: blendoff end -Move_TRICK_ROOM:: +gBattleAnimMove_TrickRoom:: call InitRoomAnimation -General_TrickRoom: +gBattleAnimGeneral_TrickRoom:: playsewithpan SE_M_SUPERSONIC, SOUND_PAN_TARGET fadetobg BG_TRICK_ROOM waitbgfadein @@ -2405,7 +2385,7 @@ InitRoomAnimation: return @ Credits to Skeli -Move_DRACO_METEOR:: +gBattleAnimMove_DracoMeteor:: loadspritegfx ANIM_TAG_ROCKS @Rocks loadspritegfx ANIM_TAG_FAIRY_LOCK_CHAINS @Gray Colour loadspritegfx ANIM_TAG_WATER_GUN @Sparkles Trail @@ -2490,7 +2470,7 @@ DracoMeteor4: createsprite gDracoMeteorTailSpriteTemplate 0x83, 5, 0xffb0, 0xffc0, 0xFFF8, 0x20, 0x19 return -Move_DISCHARGE:: +gBattleAnimMove_Discharge:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SPARK_2 delay 0 @@ -2595,7 +2575,7 @@ DischargeElectrify: createsprite gElectricitySpriteTemplate, ANIM_TARGET, 2, -20, 15, 5, 1, ANIM_ATK_PARTNER return -Move_LAVA_PLUME:: +gBattleAnimMove_LavaPlume:: loadspritegfx ANIM_TAG_FIRE_PLUME loopsewithpan 152, SOUND_PAN_ATTACKER, 9, 2 createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB_RED @@ -2615,7 +2595,7 @@ Move_LAVA_PLUME:: waitforvisualfinish end -Move_LEAF_STORM:: +gBattleAnimMove_LeafStorm:: loadspritegfx ANIM_TAG_RAZOR_LEAF loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_LEAF @@ -2727,7 +2707,7 @@ Move_LEAF_STORM:: clearmonbg ANIM_DEF_PARTNER end -Move_POWER_WHIP:: +gBattleAnimMove_PowerWhip:: loadspritegfx ANIM_TAG_WHIP_HIT playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 10 @@ -2741,7 +2721,7 @@ Move_POWER_WHIP:: waitbgfadein end -Move_ROCK_WRECKER:: +gBattleAnimMove_RockWrecker:: jumpargeq 7, 1, RockWrecker_1 fadetobg BG_ROCK_WRECKER waitbgfadeout @@ -2787,7 +2767,7 @@ RockWrecker_2: call UnsetPsychicBg end -Move_CROSS_POISON:: +gBattleAnimMove_CrossPoison:: loadspritegfx ANIM_TAG_POISON_BUBBLE loadspritegfx ANIM_TAG_CROSS_IMPACT monbg ANIM_TARGET @@ -2803,7 +2783,7 @@ Move_CROSS_POISON:: blendoff end -Move_GUNK_SHOT:: +gBattleAnimMove_GunkShot:: loadspritegfx ANIM_TAG_WATER_ORB loadspritegfx ANIM_TAG_POISON_BUBBLE loadspritegfx ANIM_TAG_WATER_IMPACT @@ -2860,7 +2840,7 @@ SetGunkShotBG: goto SetHighSpeedBgFade -Move_IRON_HEAD:: +gBattleAnimMove_IronHead:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_IMPACT loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 @@ -2882,7 +2862,7 @@ Move_IRON_HEAD:: waitforvisualfinish end -Move_MAGNET_BOMB:: +gBattleAnimMove_MagnetBomb:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SPARK_2 delay 0 @@ -2947,7 +2927,7 @@ Move_MAGNET_BOMB:: waitforvisualfinish end -Move_STONE_EDGE:: +gBattleAnimMove_StoneEdge:: loadspritegfx ANIM_TAG_STONE_EDGE loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_M_ROCK_THROW SOUND_PAN_TARGET @@ -3006,7 +2986,7 @@ Move_STONE_EDGE:: blendoff end -Move_CAPTIVATE:: +gBattleAnimMove_Captivate:: loadspritegfx ANIM_TAG_MAGENTA_HEART loadspritegfx ANIM_TAG_SPARKLE_2 createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_DEF_PARTNER, 0, 2, 0 @@ -3022,7 +3002,7 @@ Move_CAPTIVATE:: waitforvisualfinish end -Move_STEALTH_ROCK:: +gBattleAnimMove_StealthRock:: loadspritegfx ANIM_TAG_STEALTH_ROCK monbg ANIM_DEF_PARTNER playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER @@ -3039,7 +3019,7 @@ Move_STEALTH_ROCK:: clearmonbg ANIM_DEF_PARTNER end -Move_GRASS_KNOT:: +gBattleAnimMove_GrassKnot:: loadspritegfx ANIM_TAG_RAZOR_LEAF loadspritegfx ANIM_TAG_IMPACT createsprite gSlideMonToOffsetSpriteTemplate, 2, 5, 0, 20, 0, 0, 4 @@ -3052,7 +3032,7 @@ Move_GRASS_KNOT:: createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 3, 0, 1, 4 end -Move_CHATTER:: +gBattleAnimMove_Chatter:: loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_MUSIC_NOTES @@ -3092,7 +3072,7 @@ Move_CHATTER:: clearmonbg ANIM_DEF_PARTNER end -Move_JUDGMENT:: +gBattleAnimMove_Judgment:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_GREEN_SPIKE @@ -3188,7 +3168,7 @@ JudgmentInwardSpikes2: createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0xFFDA, 0xFF94, 16 @between up and upper left return -Move_BUG_BITE:: +gBattleAnimMove_BugBite:: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET @@ -3229,7 +3209,7 @@ Move_BUG_BITE:: blendoff end -Move_CHARGE_BEAM:: +gBattleAnimMove_ChargeBeam:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_ELECTRICITY @@ -3281,7 +3261,7 @@ SparkBeam: delay 1 return -Move_WOOD_HAMMER:: +gBattleAnimMove_WoodHammer:: loadspritegfx ANIM_TAG_WOOD_HAMMER loadspritegfx ANIM_TAG_WOOD_HAMMER_HAMMER loadspritegfx ANIM_TAG_IMPACT @@ -3310,7 +3290,7 @@ WoodHammerImpact: createsprite gWoodHammerSmallSpriteTemplate, ANIM_TARGET, 2, -5, 0, -20, -24, 20, 2 return -Move_AQUA_JET:: +gBattleAnimMove_AquaJet:: loadspritegfx ANIM_TAG_SPARKLE_6 loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_SPLASH @@ -3343,7 +3323,7 @@ Move_AQUA_JET:: blendoff end -Move_ATTACK_ORDER:: +gBattleAnimMove_AttackOrder:: loadspritegfx ANIM_TAG_ATTACK_ORDER loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS @@ -3389,7 +3369,7 @@ Move_ATTACK_ORDER:: blendoff end -Move_DEFEND_ORDER:: +gBattleAnimMove_DefendOrder:: loadspritegfx ANIM_TAG_ATTACK_ORDER loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS @@ -3426,7 +3406,7 @@ Move_DEFEND_ORDER:: waitforvisualfinish end -Move_HEAL_ORDER:: +gBattleAnimMove_HealOrder:: loadspritegfx ANIM_TAG_ATTACK_ORDER loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS @@ -3463,7 +3443,7 @@ Move_HEAL_ORDER:: waitforvisualfinish end -Move_HEAD_SMASH:: +gBattleAnimMove_HeadSmash:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS createvisualtask AnimTask_SkullBashPosition, 2, 0 @@ -3485,7 +3465,7 @@ Move_HEAD_SMASH:: waitbgfadein end -Move_DOUBLE_HIT:: +gBattleAnimMove_DoubleHit:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -3507,7 +3487,7 @@ Move_DOUBLE_HIT:: blendoff end -Move_ROAR_OF_TIME:: +gBattleAnimMove_RoarOfTime:: loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_EXPLOSION loadspritegfx ANIM_TAG_WATER_GUN @@ -3548,7 +3528,7 @@ Move_ROAR_OF_TIME:: waitforvisualfinish end -Move_SPACIAL_REND:: +gBattleAnimMove_SpacialRend:: loadspritegfx ANIM_TAG_PUNISHMENT_BLADES loadspritegfx ANIM_TAG_PINK_HEART_2 @ANIM_TAG_BERRY_EATEN monbg ANIM_ATK_PARTNER @@ -3582,7 +3562,7 @@ Move_SPACIAL_REND:: blendoff end -Move_LUNAR_DANCE:: +gBattleAnimMove_LunarDance:: loadspritegfx ANIM_TAG_MOON loadspritegfx ANIM_TAG_GREEN_SPARKLE loadspritegfx ANIM_TAG_HOLLOW_ORB @@ -3623,7 +3603,7 @@ Move_LUNAR_DANCE:: delay 1 end -Move_CRUSH_GRIP:: +gBattleAnimMove_CrushGrip:: loadspritegfx ANIM_TAG_EXPLOSION loadspritegfx ANIM_TAG_ACUPRESSURE loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE @@ -3648,7 +3628,7 @@ Move_CRUSH_GRIP:: blendoff end -Move_MAGMA_STORM:: +gBattleAnimMove_MagmaStorm:: loadspritegfx ANIM_TAG_SMALL_EMBER fadetobg BG_MAGMA_STORM @Add new bg waitbgfadeout @@ -3673,7 +3653,7 @@ Move_MAGMA_STORM:: blendoff end -Move_DARK_VOID:: +gBattleAnimMove_DarkVoid:: loadspritegfx ANIM_TAG_WHITE_SHADOW @Destiny Bond loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @Black Colour loadspritegfx ANIM_TAG_SPARKLE_2 @Healing Stars @@ -3684,23 +3664,24 @@ Move_DARK_VOID:: waitbgfadein createvisualtask AnimTask_DestinyBondWhiteShadow, 5, 0, 0x30 loopsewithpan SE_M_CONFUSE_RAY, SOUND_PAN_ATTACKER, 5, 2 - delay 0x30 - createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0xfd00, 0x15, 0, 0x70 @Last is speed - createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_DEF_PARTNER, 0xfd00, 0x15, 0, 0x70 @Last is speed - delay 0x40 + delay 48 + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, -768, 21, 0, 112 @Last is duration + createsprite gSlideMonToOffsetPartnerSpriteTemplate, ANIM_ATTACKER, 2, ANIM_DEF_PARTNER, -768, 21, 0, 112 @Last is duration + delay 64 invisible ANIM_TARGET invisible ANIM_DEF_PARTNER - createsprite gDarkVoidPurpleStarsTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0, 0x20, 0x3c + createsprite gDarkVoidPurpleStarsTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 0, 32, 60 + createsprite gDarkVoidPurpleStarsTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_DEF_PARTNER, 0, 32, 60 waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0, 16 - createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_DEF_PARTNER, 0, 16 - delay 0x20 + createsprite gSlideMonToOriginalPosPartnerSpriteTemplate, ANIM_ATTACKER, 2, ANIM_DEF_PARTNER, 0, 16 + delay 32 call UnsetPsychicBg visible ANIM_TARGET visible ANIM_DEF_PARTNER end -Move_SEED_FLARE:: +gBattleAnimMove_SeedFlare:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge animation loadspritegfx ANIM_TAG_LEAF @green color loadspritegfx ANIM_TAG_RAZOR_LEAF @green color 2 @@ -3785,7 +3766,7 @@ Move_SEED_FLARE:: blendoff end -Move_OMINOUS_WIND:: +gBattleAnimMove_OminousWind:: loadspritegfx ANIM_TAG_SPARKLE_6 panse SE_M_GUST, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET 2, 0 playsewithpan 228, 0 @@ -3844,7 +3825,7 @@ OminousWindHit: waitbgfadein end -Move_SHADOW_FORCE:: +gBattleAnimMove_ShadowForce:: loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_IMPACT choosetwoturnanim ShadowForcePrep ShadowForceAttack @@ -3898,7 +3879,7 @@ ShadowForceBg: return @@@@@@@@@@@@@@@@@@@@@@@ GEN 5 @@@@@@@@@@@@@@@@@@@@@@@ -Move_HONE_CLAWS:: +gBattleAnimMove_HoneClaws:: loadspritegfx ANIM_TAG_SWIPE call HoneClawsAnim createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SWIPE, 0, 6, 6, RGB_BLACK @@ -3919,7 +3900,7 @@ HoneClawsAnim: delay 10 return -Move_WIDE_GUARD:: +gBattleAnimMove_WideGuard:: loadspritegfx ANIM_TAG_ICE_SPIKES @motion from icy wind loadspritegfx ANIM_TAG_PINK_PETAL @pink color loadspritegfx ANIM_TAG_SMALL_EMBER @yellow color @@ -3969,7 +3950,7 @@ Move_WIDE_GUARD:: blendoff end -Move_GUARD_SPLIT:: +gBattleAnimMove_GuardSplit:: loadspritegfx ANIM_TAG_BLUEGREEN_ORB createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 0x1, 0x0, 0xC, 0x0 loopsewithpan SE_M_LOCK_ON, SOUND_PAN_ATTACKER, 0x18, 0x3 @@ -3993,7 +3974,7 @@ GuardSplitLaunch: delay 0x5 return -Move_POWER_SPLIT:: +gBattleAnimMove_PowerSplit:: loadspritegfx ANIM_TAG_RED_HEART loadspritegfx ANIM_TAG_BLUEGREEN_ORB createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 0x1, 0x0, 0xC, 0x0 @@ -4018,9 +3999,9 @@ PowerSplitLaunch: delay 5 return -Move_WONDER_ROOM:: +gBattleAnimMove_WonderRoom:: call InitRoomAnimation -General_WonderRoom: +gBattleAnimGeneral_WonderRoom:: playsewithpan SE_M_SUPERSONIC, SOUND_PAN_TARGET fadetobg BG_WONDER_ROOM waitbgfadein @@ -4030,7 +4011,7 @@ General_WonderRoom: blendoff end -Move_PSYSHOCK:: +gBattleAnimMove_Psyshock:: loadspritegfx ANIM_TAG_RED_ORB_2 loadspritegfx ANIM_TAG_POISON_JAB loadspritegfx ANIM_TAG_GRAY_SMOKE @@ -4107,7 +4088,7 @@ PsyshockConverge: delay 2 return -Move_VENOSHOCK:: +gBattleAnimMove_Venoshock:: loadspritegfx ANIM_TAG_POISON_BUBBLE loadspritegfx ANIM_TAG_TOXIC_BUBBLE createsprite gToxicBubbleSpriteTemplate, ANIM_TARGET, 2, -24, 16, 1, 1 @@ -4135,7 +4116,7 @@ Move_VENOSHOCK:: delay 15 end -Move_AUTOTOMIZE:: +gBattleAnimMove_Autotomize:: loadspritegfx ANIM_TAG_METAL_BITS @Metal Bits setalpha 12, 8 monbg ANIM_ATK_PARTNER @@ -4160,7 +4141,7 @@ Move_AUTOTOMIZE:: blendoff end -Move_RAGE_POWDER:: +gBattleAnimMove_RagePowder:: loadspritegfx ANIM_TAG_SPORE @Powder loadspritegfx ANIM_TAG_HEART_STAMP @Red Colour monbg ANIM_DEF_PARTNER @@ -4182,7 +4163,7 @@ RagePowderSprinkle: delay 0xc return -Move_TELEKINESIS:: +gBattleAnimMove_Telekinesis:: loadspritegfx ANIM_TAG_SPARKLE_4 @detect createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 0x1, 0x0, 0x9, 0x0 waitforvisualfinish @@ -4200,9 +4181,9 @@ Move_TELEKINESIS:: waitforvisualfinish end -Move_MAGIC_ROOM:: +gBattleAnimMove_MagicRoom:: call InitRoomAnimation -General_MagicRoom: +gBattleAnimGeneral_MagicRoom:: playsewithpan SE_M_SUPERSONIC, SOUND_PAN_TARGET fadetobg BG_MAGIC_ROOM waitbgfadein @@ -4212,7 +4193,7 @@ General_MagicRoom: blendoff end -Move_SMACK_DOWN:: +gBattleAnimMove_SmackDown:: loadspritegfx ANIM_TAG_BLACK_BALL loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS @@ -4225,7 +4206,7 @@ Move_SMACK_DOWN:: createvisualtask AnimTask_SeismicTossBgAccelerateDownAtEnd, 3 goto SeismicTossWeak -Move_STORM_THROW:: +gBattleAnimMove_StormThrow:: call StormThorwAnim call StormThorwAnim call StormThorwAnim @@ -4248,7 +4229,7 @@ StormThorwAnim: delay 8 return -Move_FLAME_BURST:: +gBattleAnimMove_FlameBurst:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_EXPLOSION playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER @@ -4281,13 +4262,13 @@ FlameBurstSpread: return -Move_SLUDGE_WAVE:: +gBattleAnimMove_SludgeWave:: panse SE_M_WHIRLPOOL, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x2, 0x0 createvisualtask AnimTask_CreateSurfWave, 2, ANIM_SURF_PAL_SLUDGE_WAVE waitforvisualfinish end -Move_QUIVER_DANCE:: +gBattleAnimMove_QuiverDance:: loadspritegfx ANIM_TAG_HOLLOW_ORB monbg ANIM_ATTACKER call SetBugBg @@ -4310,7 +4291,7 @@ Move_QUIVER_DANCE:: call UnsetBugBg end -Move_HEAVY_SLAM:: +gBattleAnimMove_HeavySlam:: loadspritegfx ANIM_TAG_CLAW_SLASH loadspritegfx ANIM_TAG_IMPACT loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 @@ -4340,7 +4321,7 @@ Move_HEAVY_SLAM:: blendoff end -Move_SYNCHRONOISE:: +gBattleAnimMove_Synchronoise:: loadspritegfx ANIM_TAG_THIN_RING @hypervoice ring loadspritegfx ANIM_TAG_SPARK_2 @yellow color loadspritegfx ANIM_TAG_WATER_ORB @blue color @@ -4379,7 +4360,7 @@ Move_SYNCHRONOISE:: clearmonbg ANIM_DEF_PARTNER end -Move_ELECTRO_BALL:: +gBattleAnimMove_ElectroBall:: loadspritegfx ANIM_TAG_SPARK_2 @yelow loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_FLASH_CANNON_BALL @ball @@ -4406,7 +4387,7 @@ Move_ELECTRO_BALL:: blendoff end -Move_SOAK:: +gBattleAnimMove_Soak:: loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_TARGET @@ -4441,7 +4422,7 @@ Move_SOAK:: blendoff end -Move_FLAME_CHARGE:: +gBattleAnimMove_FlameCharge:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -4474,7 +4455,7 @@ FlameChargeSwirl: createsprite gFlameChargeEmberTemplate, ANIM_ATTACKER, 2, 0x0, 0xffe8, 0x8, 0x8c return -Move_COIL:: +gBattleAnimMove_Coil:: loadspritegfx ANIM_TAG_TENDRILS loopsewithpan SE_M_SCRATCH, SOUND_PAN_TARGET, 0x6, 0x4 createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x10, 0x0, 0x2 @@ -4493,7 +4474,7 @@ Move_COIL:: waitforvisualfinish end -Move_LOW_SWEEP:: +gBattleAnimMove_LowSweep:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4 @@ -4505,7 +4486,7 @@ Move_LOW_SWEEP:: createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 4 end -Move_ACID_SPRAY:: +gBattleAnimMove_AcidSpray:: loadspritegfx ANIM_TAG_POISON_BUBBLE monbg ANIM_TARGET createsprite gAcidPoisonBubbleSpriteTemplate, ANIM_TARGET, 2, 20, 0, 40, 1, 0, -20, FALSE @@ -4531,7 +4512,7 @@ Move_ACID_SPRAY:: clearmonbg ANIM_TARGET end -Move_FOUL_PLAY:: +gBattleAnimMove_FoulPlay:: loadspritegfx ANIM_TAG_POISON_BUBBLE loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_IMPACT @@ -4554,7 +4535,7 @@ Move_FOUL_PLAY:: blendoff end -Move_SIMPLE_BEAM:: +gBattleAnimMove_SimpleBeam:: loadspritegfx ANIM_TAG_GOLD_RING @psybeam loadspritegfx ANIM_TAG_ROCKS @brown color loadspritegfx ANIM_TAG_PINK_PETAL @pink color @@ -4600,7 +4581,7 @@ SimpleBeamWithRings: delay 0x2 return -Move_ENTRAINMENT:: +gBattleAnimMove_Entrainment:: createvisualtask AnimTask_TeeterDanceMovement, 5 playsewithpan SE_M_TEETER_DANCE, SOUND_PAN_ATTACKER delay 0x18 @@ -4615,7 +4596,7 @@ Move_ENTRAINMENT:: waitforvisualfinish end -Move_AFTER_YOU:: +gBattleAnimMove_AfterYou:: loadspritegfx ANIM_TAG_ANGER @rage loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @green color createvisualtask AnimTask_SwayMon, 5, 1, 15, 1536, 2, ANIM_ATTACKER @@ -4630,7 +4611,7 @@ Move_AFTER_YOU:: waitforvisualfinish end -Move_ROUND:: +gBattleAnimMove_Round:: loadspritegfx ANIM_TAG_MUSIC_NOTES createvisualtask AnimTask_MusicNotesRainbowBlend, 2 waitforvisualfinish @@ -4652,7 +4633,7 @@ Move_ROUND:: waitforvisualfinish end -Move_ECHOED_VOICE:: +gBattleAnimMove_EchoedVoice:: loadspritegfx ANIM_TAG_METAL_SOUND_WAVES monbg ANIM_DEF_PARTNER splitbgprio_foes ANIM_TARGET @@ -4672,7 +4653,7 @@ MetalSoundPlayNote: delay 0x2 return -Move_CHIP_AWAY:: +gBattleAnimMove_ChipAway:: loadspritegfx ANIM_TAG_IMPACT createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0x9, 0x7FFF waitforvisualfinish @@ -4690,7 +4671,7 @@ Move_CHIP_AWAY:: blendoff end -Move_CLEAR_SMOG:: +gBattleAnimMove_ClearSmog:: loadspritegfx ANIM_TAG_MIST_CLOUD monbg ANIM_TARGET splitbgprio_all @@ -4718,7 +4699,7 @@ ClearSmogCloud: delay 7 return -Move_STORED_POWER:: +gBattleAnimMove_StoredPower:: loadspritegfx ANIM_TAG_RED_ORB_2 loadspritegfx ANIM_TAG_IMPACT call SetPsychicBackground @@ -4748,7 +4729,7 @@ Move_STORED_POWER:: waitforvisualfinish end -Move_QUICK_GUARD:: +gBattleAnimMove_QuickGuard:: loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @hand loadspritegfx ANIM_TAG_SPARKLE_4 @sparkles setalpha 12, 8 @@ -4778,7 +4759,7 @@ Move_QUICK_GUARD:: clearmonbg ANIM_ATTACKER end -Move_ALLY_SWITCH:: +gBattleAnimMove_AllySwitch:: call SetPsychicBackground createvisualtask AnimTask_AllySwitchAttacker, 2 createvisualtask AnimTask_AllySwitchPartner, 2 @@ -4786,7 +4767,7 @@ Move_ALLY_SWITCH:: call UnsetPsychicBg end -Move_SCALD:: +gBattleAnimMove_Scald:: loadspritegfx ANIM_TAG_WATER_ORB loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER @@ -4832,7 +4813,7 @@ ScaldHitSplats: createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, ANIM_TARGET, 1 return -Move_SHELL_SMASH:: +gBattleAnimMove_ShellSmash:: loadspritegfx ANIM_TAG_SHELL_RIGHT loadspritegfx ANIM_TAG_SHELL_LEFT loadspritegfx ANIM_TAG_IMPACT @@ -4860,7 +4841,7 @@ Move_SHELL_SMASH:: waitforvisualfinish end -Move_HEAL_PULSE:: +gBattleAnimMove_HealPulse:: loadspritegfx ANIM_TAG_GREEN_SPARKLE loadspritegfx ANIM_TAG_BLUE_STAR loadspritegfx ANIM_TAG_THIN_RING @@ -4891,7 +4872,7 @@ Move_HEAL_PULSE:: call HealingEffect2 end -Move_HEX:: +gBattleAnimMove_Hex:: loadspritegfx ANIM_TAG_PURPLE_FLAME loadspritegfx ANIM_TAG_GHOSTLY_SPIRIT createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0x0, 0x10, 0x4C4A @;Deep purple @@ -4912,7 +4893,7 @@ Move_HEX:: waitforvisualfinish end -Move_SKY_DROP:: +gBattleAnimMove_SkyDrop:: loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_IMPACT choosetwoturnanim SkyDropSetup SkyDropUnleash @@ -4945,7 +4926,7 @@ SkyDropUnleash: blendoff end -Move_SHIFT_GEAR:: +gBattleAnimMove_ShiftGear:: loadspritegfx ANIM_TAG_GEAR @Gear monbg ANIM_ATTACKER playsewithpan SE_ESCALATOR, SOUND_PAN_ATTACKER @@ -4955,7 +4936,7 @@ Move_SHIFT_GEAR:: clearmonbg ANIM_ATTACKER end -Move_CIRCLE_THROW:: +gBattleAnimMove_CircleThrow:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_ICE_CHUNK @@ -4982,7 +4963,7 @@ Move_CIRCLE_THROW:: blendoff end -Move_INCINERATE:: +gBattleAnimMove_Incinerate:: loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_TARGET splitbgprio ANIM_TARGET @@ -5022,7 +5003,7 @@ Move_INCINERATE:: blendoff end -Move_QUASH:: +gBattleAnimMove_Quash:: loadspritegfx ANIM_TAG_ASSURANCE_HAND @hand fadetobg BG_DARK waitbgfadein @@ -5039,7 +5020,7 @@ Move_QUASH:: waitbgfadein end -Move_ACROBATICS:: +gBattleAnimMove_Acrobatics:: loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_WHITE_STREAK loadspritegfx ANIM_TAG_IMPACT @@ -5114,7 +5095,7 @@ AcrobaticsSlashes: delay 2 return -Move_REFLECT_TYPE:: +gBattleAnimMove_ReflectType:: loadspritegfx ANIM_TAG_GUARD_RING @ring around user loadspritegfx ANIM_TAG_ICE_CHUNK @blue green color loadspritegfx ANIM_TAG_PURPLE_FLAME @violet color @@ -5152,7 +5133,7 @@ Move_REFLECT_TYPE:: blendoff end -Move_RETALIATE:: +gBattleAnimMove_Retaliate:: loadspritegfx ANIM_TAG_CUT @Cut monbg ANIM_DEF_PARTNER setalpha 9, 8 @@ -5173,7 +5154,7 @@ Move_RETALIATE:: blendoff end -Move_FINAL_GAMBIT:: +gBattleAnimMove_FinalGambit:: loadspritegfx ANIM_TAG_PINK_CLOUD @yawn animation loadspritegfx ANIM_TAG_WATER_IMPACT @blue colour loadspritegfx ANIM_TAG_EXPLOSION @explosion animation @@ -5200,7 +5181,7 @@ Move_FINAL_GAMBIT:: waitforvisualfinish end -Move_BESTOW:: +gBattleAnimMove_Bestow:: monbg ANIM_TARGET splitbgprio ANIM_TARGET panse SE_M_METRONOME, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x2, 0x0 @@ -5210,7 +5191,7 @@ Move_BESTOW:: clearmonbg ANIM_TARGET end -Move_INFERNO:: +gBattleAnimMove_Inferno:: loadspritegfx ANIM_TAG_SMALL_EMBER call SetImpactBackground loopsewithpan SE_M_SACRED_FIRE2, SOUND_PAN_TARGET, 40, 4 @@ -5254,7 +5235,7 @@ InfernoAnim: delay 1 return -Move_WATER_PLEDGE:: +gBattleAnimMove_WaterPledge:: loadspritegfx ANIM_TAG_WATER_ORB loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER @@ -5374,7 +5355,7 @@ Move_WATER_PLEDGE:: blendoff end -Move_FIRE_PLEDGE:: +gBattleAnimMove_FirePledge:: loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -5473,7 +5454,7 @@ Move_FIRE_PLEDGE:: blendoff end -Move_GRASS_PLEDGE:: +gBattleAnimMove_GrassPledge:: loadspritegfx ANIM_TAG_LEAF loadspritegfx ANIM_TAG_WHIP_HIT monbg ANIM_DEF_PARTNER @@ -5580,7 +5561,7 @@ GrassPledgeMiddleFountain: delay 4 return -Move_VOLT_SWITCH:: +gBattleAnimMove_VoltSwitch:: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_SPARK_2 loadspritegfx ANIM_TAG_THIN_RING @@ -5619,7 +5600,7 @@ VoltSwitchAgainstPartner: createvisualtask AnimTask_SlideOffScreen, 5, ANIM_ATTACKER, 2 goto VoltSwitchContinue -Move_STRUGGLE_BUG:: +gBattleAnimMove_StruggleBug:: loadspritegfx ANIM_TAG_MOVEMENT_WAVES loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -5645,12 +5626,12 @@ Move_STRUGGLE_BUG:: blendoff end -Move_BULLDOZE:: +gBattleAnimMove_Bulldoze:: createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 3 delay 0x8 - goto Move_EARTHQUAKE + goto gBattleAnimMove_Earthquake -Move_FROST_BREATH:: +gBattleAnimMove_FrostBreath:: loadspritegfx ANIM_TAG_ICE_CHUNK loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_FIRE_PLUME @@ -5688,7 +5669,7 @@ Move_FROST_BREATH:: call UnsetPsychicBg end -Move_DRAGON_TAIL:: +gBattleAnimMove_DragonTail:: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_SLAM_HIT loadspritegfx ANIM_TAG_IMPACT @@ -5724,7 +5705,7 @@ TailWhackDown: createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 12, 25, 4, 4 return -Move_WORK_UP:: +gBattleAnimMove_WorkUp:: loadspritegfx ANIM_TAG_FOCUS_ENERGY playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -28, 26, 2 @@ -5758,7 +5739,7 @@ Move_WORK_UP:: waitforvisualfinish end -Move_ELECTROWEB:: +gBattleAnimMove_Electroweb:: loadspritegfx ANIM_TAG_SPIDER_WEB loadspritegfx ANIM_TAG_WEB_THREAD loadspritegfx ANIM_TAG_SPARK_2 @@ -5776,11 +5757,11 @@ Move_ELECTROWEB:: delay 1 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 5, 1, 2, 9, 0, RGB_BLACK call ElectricityEffect_OnTargets -Move_ELECTROWEB_Wait:: +gBattleAnimMove_ElectrowebWait:: waitforvisualfinish end -Move_WILD_CHARGE:: +gBattleAnimMove_WildCharge:: loadspritegfx ANIM_TAG_SPARK_2 loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_IMPACT @@ -5815,7 +5796,7 @@ ScreenFlash: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0xC, 0x0, 0x07FE return -Move_DRILL_RUN:: +gBattleAnimMove_DrillRun:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HORN_HIT setalpha 12, 8 @@ -5870,7 +5851,7 @@ Move_DRILL_RUN:: call UnsetPsychicBg end -Move_DUAL_CHOP:: +gBattleAnimMove_DualChop:: loadspritegfx ANIM_TAG_HANDS_AND_FEET @hand loadspritegfx ANIM_TAG_IMPACT @hit loadspritegfx ANIM_TAG_POISON_BUBBLE @purple @@ -5892,7 +5873,7 @@ Move_DUAL_CHOP:: blendoff end -Move_HEART_STAMP:: +gBattleAnimMove_HeartStamp:: loadspritegfx ANIM_TAG_HEART_STAMP monbg ANIM_TARGET loopsewithpan SE_M_CHARM, SOUND_PAN_ATTACKER, 0xc, 0x3 @@ -5905,7 +5886,7 @@ Move_HEART_STAMP:: waitforvisualfinish end -Move_HORN_LEECH:: +gBattleAnimMove_HornLeech:: loadspritegfx ANIM_TAG_HORN_LEECH @Horn loadspritegfx ANIM_TAG_IMPACT @hit loadspritegfx ANIM_TAG_ORBS @@ -5922,7 +5903,7 @@ Move_HORN_LEECH:: waitforvisualfinish end -Move_SACRED_SWORD:: +gBattleAnimMove_SacredSword:: loadspritegfx ANIM_TAG_CUT @Cut loadspritegfx ANIM_TAG_SWORD @Sword loadspritegfx ANIM_TAG_HYDRO_PUMP @Blue Colour @@ -5948,7 +5929,7 @@ Move_SACRED_SWORD:: waitforvisualfinish end -Move_RAZOR_SHELL:: +gBattleAnimMove_RazorShell:: loadspritegfx ANIM_TAG_RAZOR_SHELL loadspritegfx ANIM_TAG_CUT monbg ANIM_TARGET @@ -5962,7 +5943,7 @@ Move_RAZOR_SHELL:: waitforvisualfinish end -Move_HEAT_CRASH:: +gBattleAnimMove_HeatCrash:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_WARM_ROCK loadspritegfx ANIM_TAG_ROCKS @@ -5986,7 +5967,7 @@ Move_HEAT_CRASH:: blendoff end -Move_LEAF_TORNADO:: +gBattleAnimMove_LeafTornado:: loadspritegfx ANIM_TAG_GUST @Gust loadspritegfx ANIM_TAG_LEAF @Leaves monbg ANIM_DEF_PARTNER @@ -6017,7 +5998,7 @@ LeafTornadoVortex: delay 0x2 return -Move_STEAMROLLER:: +gBattleAnimMove_Steamroller:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -6043,7 +6024,7 @@ Move_STEAMROLLER:: blendoff end -Move_COTTON_GUARD:: +gBattleAnimMove_CottonGuard:: loadspritegfx ANIM_TAG_SPORE monbg ANIM_ATK_PARTNER setalpha 12, 8 @@ -6073,7 +6054,7 @@ CottonSporesSpiralInward: delay 0x3 return -Move_NIGHT_DAZE:: +gBattleAnimMove_NightDaze:: loadspritegfx ANIM_TAG_THIN_RING @uproar loadspritegfx ANIM_TAG_PURPLE_FLAME @dark violet color loadspritegfx ANIM_TAG_RED_ORB @circles @@ -6111,7 +6092,7 @@ Move_NIGHT_DAZE:: waitforvisualfinish end -Move_PSYSTRIKE:: +gBattleAnimMove_Psystrike:: monbg ANIM_TARGET setalpha 8, 8 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 @@ -6128,7 +6109,7 @@ Move_PSYSTRIKE:: blendoff end -Move_TAIL_SLAP:: +gBattleAnimMove_TailSlap:: loadspritegfx ANIM_TAG_IMPACT @Hit loadspritegfx ANIM_TAG_AIR_WAVE_2 @Aeroblast loadspritegfx ANIM_TAG_PUNISHMENT_BLADES @Punishment Blades @@ -6149,7 +6130,7 @@ TailSlapLeft: createsprite gTailSlapTemplate, ANIM_ATTACKER, 2, 0x8, 0x0, 0x1, 0x0 goto TailSlapContinue -Move_HURRICANE:: +gBattleAnimMove_Hurricane:: loadspritegfx ANIM_TAG_GUST monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -6186,7 +6167,7 @@ HurricaneGustCentered: createvisualtask AnimTask_AnimateGustTornadoPalette, 5, 1, 70 return -Move_HEAD_CHARGE:: +gBattleAnimMove_HeadCharge:: loadspritegfx ANIM_TAG_IMPACT fadetobgfromset BG_GIGA_IMPACT_OPPONENT, BG_GIGA_IMPACT_PLAYER, BG_GIGA_IMPACT_OPPONENT waitbgfadein @@ -6206,7 +6187,7 @@ Move_HEAD_CHARGE:: waitbgfadeout end -Move_GEAR_GRIND:: +gBattleAnimMove_GearGrind:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_GEAR @Gear monbg ANIM_TARGET @@ -6229,7 +6210,7 @@ Move_GEAR_GRIND:: blendoff end -Move_SEARING_SHOT:: +gBattleAnimMove_SearingShot:: loadspritegfx ANIM_TAG_SPARK_2 @yellow color loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE @red color loadspritegfx ANIM_TAG_ELECTRIC_ORBS @charge @@ -6315,7 +6296,7 @@ Move_SEARING_SHOT:: blendoff end -Move_TECHNO_BLAST:: +gBattleAnimMove_TechnoBlast:: createvisualtask AnimTask_TechnoBlast, 0x5 jumpargeq 0x0, TYPE_FIRE, TechnoBlastFire jumpargeq 0x0, TYPE_WATER, TechnoBlastWater @@ -6778,7 +6759,7 @@ TechnoBlastIceChargeParticles: delay 0x4 return -Move_RELIC_SONG:: +gBattleAnimMove_RelicSong:: loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_MUSIC_NOTES @@ -6859,7 +6840,7 @@ Move_RELIC_SONG:: waitforvisualfinish end -Move_SECRET_SWORD:: +gBattleAnimMove_SecretSword:: loadspritegfx ANIM_TAG_CUT @Cut loadspritegfx ANIM_TAG_SWORD @Sword loadspritegfx ANIM_TAG_HYDRO_PUMP @Blue Colour @@ -6888,7 +6869,7 @@ Move_SECRET_SWORD:: waitforvisualfinish end -Move_GLACIATE:: +gBattleAnimMove_Glaciate:: loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice loadspritegfx ANIM_TAG_BLACK_SMOKE @smoke loadspritegfx ANIM_TAG_ICE_CHUNK @White Colour @@ -6919,7 +6900,7 @@ Move_GLACIATE:: call UnsetPsychicBg end -Move_BOLT_STRIKE:: +gBattleAnimMove_BoltStrike:: loadspritegfx ANIM_TAG_SPARK_2 @Electricity loadspritegfx ANIM_TAG_IMPACT @Hit loadspritegfx ANIM_TAG_ELECTRIC_ORBS @Electric Balls @@ -6962,7 +6943,7 @@ Move_BOLT_STRIKE:: waitforvisualfinish end -Move_BLUE_FLARE:: +gBattleAnimMove_BlueFlare:: loadspritegfx ANIM_TAG_SMALL_EMBER @Fire loadspritegfx ANIM_TAG_METAL_BITS @Blue Flare Colour createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0x0, 0x10, 0x0 @@ -7032,7 +7013,7 @@ BlueFlareFlameSpreadEffect: createsprite gBlueFlareBurnTemplate, ANIM_TARGET, 1, 0x0, 0xa, 0x70, 0xff80, 0x28 return -Move_FIERY_DANCE:: +gBattleAnimMove_FieryDance:: loadspritegfx ANIM_TAG_SMALL_EMBER createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0xc, 0x14be waitforvisualfinish @@ -7052,7 +7033,7 @@ Move_FIERY_DANCE:: waitforvisualfinish end -Move_FREEZE_SHOCK:: +gBattleAnimMove_FreezeShock:: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_SPARK_2 loadspritegfx ANIM_TAG_ICE_CHUNK @Ice Ball @@ -7093,7 +7074,7 @@ FreezeShockAttack: waitforvisualfinish end -Move_ICE_BURN:: +gBattleAnimMove_IceBurn:: loadspritegfx ANIM_TAG_BLACK_SMOKE @smoke loadspritegfx ANIM_TAG_ICE_CHUNK @white color loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice @@ -7159,7 +7140,7 @@ IceBurnUnleash: clearmonbg ANIM_TARGET end -Move_SNARL:: +gBattleAnimMove_Snarl:: loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_IMPACT @@ -7203,7 +7184,7 @@ Move_SNARL:: blendoff end -Move_ICICLE_CRASH:: +gBattleAnimMove_IcicleCrash:: loadspritegfx ANIM_TAG_ICICLE_SPEAR @Icicle fadetobg BG_ICE waitbgfadein @@ -7255,7 +7236,7 @@ LaunchIcicleCrashSpear: delay 0x2 return -Move_V_CREATE:: +gBattleAnimMove_VCreate:: loadspritegfx ANIM_TAG_SMALL_EMBER @fire blast flame loadspritegfx ANIM_TAG_THIN_RING @calm mind animation loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE @red color @@ -7333,7 +7314,7 @@ VCreateFlames: delay 0x3 return -Move_FUSION_FLARE:: +gBattleAnimMove_FusionFlare:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @ball loadspritegfx ANIM_TAG_VERTICAL_HEX @ball palette @@ -7391,7 +7372,7 @@ FusionFlareBuff: createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff4, 0x0, 0x1 return -Move_FUSION_BOLT:: +gBattleAnimMove_FusionBolt:: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_ELECTRICITY @@ -7438,7 +7419,7 @@ Move_FUSION_BOLT:: end @@@@@@@@@@@@@@@@@@@@@@@ GEN 6 @@@@@@@@@@@@@@@@@@@@@@@ -Move_FLYING_PRESS:: +gBattleAnimMove_FlyingPress:: loadspritegfx ANIM_TAG_ROUND_SHADOW @fly/bounce loadspritegfx ANIM_TAG_GRAY_SMOKE @smoke setalpha 15, 0 @@ -7471,7 +7452,7 @@ Move_FLYING_PRESS:: blendoff end -Move_MAT_BLOCK:: +gBattleAnimMove_MatBlock:: loadspritegfx ANIM_TAG_CONVERSION loadspritegfx ANIM_TAG_GREEN_LIGHT_WALL @green color monbg ANIM_ATK_PARTNER @@ -7501,7 +7482,7 @@ Move_MAT_BLOCK:: blendoff end -Move_BELCH:: +gBattleAnimMove_Belch:: loadspritegfx ANIM_TAG_BERRY_NORMAL loadspritegfx ANIM_TAG_EXPLOSION @Explosion monbg ANIM_TARGET @@ -7533,7 +7514,7 @@ Move_BELCH:: blendoff end -Move_ROTOTILLER:: +gBattleAnimMove_Rototiller:: loadspritegfx ANIM_TAG_MUD_SAND loadspritegfx ANIM_TAG_DIRT_MOUND loadspritegfx ANIM_TAG_GREEN_SPARKLE @@ -7552,7 +7533,7 @@ Move_ROTOTILLER:: waitforvisualfinish end -Move_STICKY_WEB:: +gBattleAnimMove_StickyWeb:: loadspritegfx ANIM_TAG_SPIDER_WEB loadspritegfx ANIM_TAG_WEB_THREAD monbg ANIM_DEF_PARTNER @@ -7590,7 +7571,7 @@ Move_STICKY_WEB:: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 5, 1, 2, 9, 0, RGB_BLACK end -Move_FELL_STINGER:: +gBattleAnimMove_FellStinger:: loadspritegfx ANIM_TAG_NEEDLE loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -7611,7 +7592,7 @@ Move_FELL_STINGER:: clearmonbg ANIM_TARGET end -Move_PHANTOM_FORCE:: +gBattleAnimMove_PhantomForce:: loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_IMPACT choosetwoturnanim PhantomForcePrep PhantomForceAttack @@ -7683,7 +7664,7 @@ PhantomForceBg: waitbgfadein return -Move_TRICK_OR_TREAT:: +gBattleAnimMove_TrickOrTreat:: loadspritegfx ANIM_TAG_EYE_SPARKLE loadspritegfx ANIM_TAG_GHOSTLY_SPIRIT fadetobg BG_NIGHTMARE @@ -7707,7 +7688,7 @@ Move_TRICK_OR_TREAT:: waitbgfadein end -Move_NOBLE_ROAR:: +gBattleAnimMove_NobleRoar:: loadspritegfx ANIM_TAG_NOISE_LINE monbg ANIM_ATTACKER splitbgprio ANIM_ATTACKER @@ -7728,10 +7709,21 @@ Move_NOBLE_ROAR:: delay 20 end -Move_ION_DELUGE:: +gBattleAnimMove_IonDeluge:: + loadspritegfx ANIM_TAG_IONS + loopsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER, 10, 12 + createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_BG | F_PAL_BATTLERS_2), 2, 0, 4, RGB_YELLOW + waitforvisualfinish + createvisualtask AnimTask_CreateIons, 2, 0, 3, 120 + createvisualtask AnimTask_CreateIons, 2, 0, 3, 120 + delay 120 + delay 30 + waitforvisualfinish + createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_BG | F_PAL_BATTLERS_2), 2, 4, 0, RGB_YELLOW + waitforvisualfinish end -Move_PARABOLIC_CHARGE:: +gBattleAnimMove_ParabolicCharge:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_SPARK @@ -7786,7 +7778,7 @@ ParabolicChargeDouble: createvisualtask AnimTask_BlendBattleAnimPal, 5, 4 | 8 | 0x10, 0, 0, 0, RGB_BLACK goto ParabolicChargeHeal; -Move_FORESTS_CURSE:: +gBattleAnimMove_ForestsCurse:: loadspritegfx ANIM_TAG_ROOTS @frenzy plant loadspritegfx ANIM_TAG_GHOSTLY_SPIRIT @curse monbg ANIM_ATTACKER @@ -7824,7 +7816,7 @@ Move_FORESTS_CURSE:: clearmonbg ANIM_ATTACKER end -Move_PETAL_BLIZZARD:: +gBattleAnimMove_PetalBlizzard:: loadspritegfx ANIM_TAG_LEAF loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_FLOWER @@ -7871,7 +7863,7 @@ Move_PETAL_BLIZZARD:: blendoff end -Move_FREEZE_DRY:: +gBattleAnimMove_FreezeDry:: monbg ANIM_DEF_PARTNER setalpha 12, 8 loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -7907,7 +7899,7 @@ Move_FREEZE_DRY:: blendoff end -Move_DISARMING_VOICE:: +gBattleAnimMove_DisarmingVoice:: loadspritegfx ANIM_TAG_NOISE_LINE createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x8, 0x6e7d waitforvisualfinish @@ -7923,7 +7915,7 @@ Move_DISARMING_VOICE:: waitforvisualfinish end -Move_PARTING_SHOT:: +gBattleAnimMove_PartingShot:: loadspritegfx ANIM_TAG_NOISE_LINE fadetobg BG_DARK waitbgfadein @@ -7941,7 +7933,7 @@ Move_PARTING_SHOT:: waitbgfadein end -Move_TOPSY_TURVY:: +gBattleAnimMove_TopsyTurvy:: loadspritegfx ANIM_TAG_SWEAT_DROP setalpha 12, 8 createsprite gSimplePaletteBlendSpriteTemplate ANIM_TARGET, 2, 1, 2, 0, 4, RGB_BLACK @@ -7958,7 +7950,7 @@ Move_TOPSY_TURVY:: blendoff end -Move_DRAINING_KISS:: +gBattleAnimMove_DrainingKiss:: loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_BLUE_STAR loadspritegfx ANIM_TAG_IMPACT @@ -7988,7 +7980,7 @@ Move_DRAINING_KISS:: waitforvisualfinish end -Move_CRAFTY_SHIELD:: +gBattleAnimMove_CraftyShield:: loadspritegfx ANIM_TAG_CRAFTY_SHIELD monbg ANIM_ATK_PARTNER splitbgprio ANIM_ATTACKER @@ -8043,7 +8035,7 @@ Move_CRAFTY_SHIELD:: blendoff end -Move_FLOWER_SHIELD:: +gBattleAnimMove_FlowerShield:: loadspritegfx ANIM_TAG_FLOWER loadspritegfx ANIM_TAG_IMPACT setalpha 12, 8 @@ -8073,7 +8065,7 @@ Move_FLOWER_SHIELD:: blendoff end -Move_GRASSY_TERRAIN:: +gBattleAnimMove_GrassyTerrain:: loadspritegfx ANIM_TAG_ORBS @Recover Ball loadspritegfx ANIM_TAG_GREEN_SPARKLE @Green Star playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER @@ -8110,7 +8102,7 @@ Move_GRASSY_TERRAIN:: waitforvisualfinish end -Move_MISTY_TERRAIN:: +gBattleAnimMove_MistyTerrain:: loadspritegfx ANIM_TAG_ORBS @Recover Ball loadspritegfx ANIM_TAG_WATER_GUN @Light Blue Colour loadspritegfx ANIM_TAG_GREEN_SPARKLE @@ -8148,7 +8140,7 @@ Move_MISTY_TERRAIN:: waitforvisualfinish end -Move_ELECTRIFY:: +gBattleAnimMove_Electrify:: loadspritegfx ANIM_TAG_GUARD_RING @ring around user loadspritegfx ANIM_TAG_SPARK_2 @yellow color loadspritegfx ANIM_TAG_SMALL_EMBER @yellow color @@ -8211,7 +8203,7 @@ Move_ELECTRIFY:: clearmonbg ANIM_DEF_PARTNER end -Move_PLAY_ROUGH:: +gBattleAnimMove_PlayRough:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_PINK_HEART loadspritegfx ANIM_TAG_DUCK @@ -8267,7 +8259,7 @@ Move_PLAY_ROUGH:: waitforvisualfinish end -Move_FAIRY_WIND:: +gBattleAnimMove_FairyWind:: loadspritegfx ANIM_TAG_PINK_CLOUD monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -8294,7 +8286,7 @@ Move_FAIRY_WIND:: blendoff end -Move_MOONBLAST:: +gBattleAnimMove_Moonblast:: loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_MOON loadspritegfx ANIM_TAG_GREEN_SPARKLE @@ -8317,7 +8309,7 @@ Move_MOONBLAST:: blendoff end -Move_BOOMBURST:: +gBattleAnimMove_Boomburst:: loadspritegfx ANIM_TAG_EXPLOSION loadspritegfx ANIM_TAG_THIN_RING createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x4 | 0x8 | 0x10 @@ -8368,7 +8360,7 @@ Boomburst_Doubles: createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 16, 16, 1, 1 goto Boomburst_Last -Move_FAIRY_LOCK:: +gBattleAnimMove_FairyLock:: loadspritegfx ANIM_TAG_FAIRY_LOCK_CHAINS setalpha 8, 8 monbg ANIM_ATK_PARTNER @@ -8389,12 +8381,12 @@ Move_FAIRY_LOCK:: blendoff end -Move_KINGS_SHIELD:: +gBattleAnimMove_KingsShield:: loadspritegfx ANIM_TAG_PROTECT @protect createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_PROTECT, 0x0, 0xC, 0xC, 0x318C @Gray - goto Move_PROTECT + goto gBattleAnimMove_Protect -Move_PLAY_NICE:: +gBattleAnimMove_PlayNice:: loadspritegfx ANIM_TAG_RED_HEART loopsewithpan SE_M_SANDSTORM, SOUND_PAN_ATTACKER, 0xc, 0x3 createvisualtask AnimTask_SwayMon, 5, 0, 12, 4096, 4, ANIM_ATTACKER @@ -8402,7 +8394,7 @@ Move_PLAY_NICE:: createsprite gRedHeartProjectileSpriteTemplate, ANIM_TARGET, 3, 0x14, 0xfff8 end -Move_CONFIDE:: +gBattleAnimMove_Confide:: loadspritegfx ANIM_TAG_CONFIDE @Confide Bubble createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 3 createsprite gConfideBubbleTemplate, ANIM_ATTACKER, 11, 0x0, 0x64 @@ -8410,7 +8402,7 @@ Move_CONFIDE:: waitforvisualfinish end -Move_DIAMOND_STORM:: +gBattleAnimMove_DiamondStorm:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ICE_CRYSTALS monbg ANIM_DEF_PARTNER @@ -8483,7 +8475,7 @@ Move_DIAMOND_STORM:: blendoff end -Move_STEAM_ERUPTION:: +gBattleAnimMove_SteamEruption:: loadspritegfx ANIM_TAG_STEAM_ERUPTION @Steam Eruption Particle createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x7, 0x043D delay 0x20 @@ -8523,7 +8515,7 @@ SteamEruptionBreath: delay 0x1 return -Move_HYPERSPACE_HOLE:: +gBattleAnimMove_HyperspaceHole:: loadspritegfx ANIM_TAG_IMPACT @Hits loadspritegfx ANIM_TAG_WHITE_SHADOW @Destiny Bond loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @Black Colour @@ -8576,7 +8568,7 @@ HyperspaceHoleMovement: delay 0x4 return -Move_WATER_SHURIKEN:: +gBattleAnimMove_WaterShuriken:: loadspritegfx ANIM_TAG_WATER_ORB @blue color loadspritegfx ANIM_TAG_YELLOW_STAR @swift loadspritegfx ANIM_TAG_BLUE_RING_2 @rings @@ -8599,7 +8591,7 @@ Move_WATER_SHURIKEN:: clearmonbg ANIM_DEF_PARTNER end -Move_MYSTICAL_FIRE:: +gBattleAnimMove_MysticalFire:: call SetPsychicBackground loadspritegfx ANIM_TAG_FIRE setalpha 8, 8 @@ -8629,7 +8621,7 @@ Move_MYSTICAL_FIRE:: call UnsetPsychicBg end -Move_SPIKY_SHIELD:: +gBattleAnimMove_SpikyShield:: loadspritegfx ANIM_TAG_PROTECT loadspritegfx ANIM_TAG_GREEN_SPIKE monbg ANIM_ATK_PARTNER @@ -8664,7 +8656,7 @@ Move_SPIKY_SHIELD:: clearmonbg ANIM_ATK_PARTNER end -Move_AROMATIC_MIST:: +gBattleAnimMove_AromaticMist:: loadspritegfx ANIM_TAG_PINK_PETAL playsewithpan SE_M_SWEET_SCENT, SOUND_PAN_ATTACKER createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x8, 0x6E7D @@ -8681,7 +8673,7 @@ Move_AROMATIC_MIST:: waitforvisualfinish end -Move_EERIE_IMPULSE:: +gBattleAnimMove_EerieImpulse:: loadspritegfx ANIM_TAG_THIN_RING @hypervoice circle loadspritegfx ANIM_TAG_SPARK @electric particles loadspritegfx ANIM_TAG_SPARK_2 @electric particles @@ -8726,7 +8718,7 @@ Move_EERIE_IMPULSE:: clearmonbg ANIM_DEF_PARTNER end -Move_VENOM_DRENCH:: +gBattleAnimMove_VenomDrench:: loadspritegfx ANIM_TAG_POISON_BUBBLE monbg ANIM_DEF_PARTNER createsprite gVenomDrenchAcidTemplate, ANIM_TARGET, 2, 0xfffb, 0x1, 0xfffb, 1 @@ -8773,7 +8765,7 @@ AcidDrench: delay 0x2 return -Move_POWDER:: +gBattleAnimMove_Powder:: loadspritegfx ANIM_TAG_HANDS_AND_FEET @black color loadspritegfx ANIM_TAG_SPORE @powder monbg ANIM_DEF_PARTNER @@ -8794,7 +8786,7 @@ POWDER_SPORE: delay 0xc return -Move_GEOMANCY:: +gBattleAnimMove_Geomancy:: loadspritegfx ANIM_TAG_ZYGARDE_HEXES @Hex loadspritegfx ANIM_TAG_GUARD_RING @safeguard loadspritegfx ANIM_TAG_PAW_PRINT @yellow color @@ -8924,7 +8916,7 @@ GeomancyRageBuff: delay 0x1 return -Move_MAGNETIC_FLUX:: +gBattleAnimMove_MagneticFlux:: loadspritegfx ANIM_TAG_THIN_RING @uproar loadspritegfx ANIM_TAG_SPARK_2 @ElectricityEffect loadspritegfx ANIM_TAG_SMALL_EMBER @yellow color @@ -8956,7 +8948,7 @@ MagneticFluxSparks2: createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 0xee, 0x18, 0xa5, 0xa, 0x0, 0x1, 0x1 return -Move_HAPPY_HOUR:: +gBattleAnimMove_HappyHour:: loadspritegfx ANIM_TAG_COIN monbg ANIM_ATTACKER loopsewithpan SE_M_PAY_DAY, SOUND_PAN_TARGET, 0x8, 10 @@ -8992,7 +8984,7 @@ CoinShower: delay 0x2 return -Move_ELECTRIC_TERRAIN:: +gBattleAnimMove_ElectricTerrain:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER createvisualtask AnimTask_ScaleMonAndRestore, 5, -7, -7, 11, ANIM_ATTACKER, 0 @@ -9028,7 +9020,7 @@ Move_ELECTRIC_TERRAIN:: waitforvisualfinish end -Move_DAZZLING_GLEAM:: +gBattleAnimMove_DazzlingGleam:: loadspritegfx ANIM_TAG_SPARKLE_2 loadspritegfx ANIM_TAG_BLUE_STAR createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1, 0x2, 0x0, 0xd, 0x7fff @@ -9047,7 +9039,7 @@ Move_DAZZLING_GLEAM:: blendoff end -Move_CELEBRATE:: +gBattleAnimMove_Celebrate:: loadspritegfx ANIM_TAG_ITEM_BAG createsprite gCelebrateBagTemplate, ANIM_ATTACKER, 2, 0x0 playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER @@ -9057,7 +9049,7 @@ Move_CELEBRATE:: loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER 0x16 0x3 end -Move_HOLD_HANDS:: +gBattleAnimMove_HoldHands:: loadspritegfx ANIM_TAG_TAG_HAND @hand loadspritegfx ANIM_TAG_MAGENTA_HEART @charm loadspritegfx ANIM_TAG_VERTICAL_HEX @red @@ -9098,7 +9090,7 @@ Move_HOLD_HANDS:: createvisualtask AnimTask_BlendMonInAndOut, 2, ANIM_ATK_PARTNER, RGB_YELLOW, 12, 1, 1 end -Move_BABY_DOLL_EYES:: +gBattleAnimMove_BabyDollEyes:: loadspritegfx ANIM_TAG_LEER loadspritegfx ANIM_TAG_PINK_CLOUD loadspritegfx ANIM_TAG_OPENING_EYE @eye @@ -9120,7 +9112,7 @@ Move_BABY_DOLL_EYES:: blendoff end -Move_NUZZLE:: +gBattleAnimMove_Nuzzle:: loadspritegfx ANIM_TAG_MAGENTA_HEART loadspritegfx ANIM_TAG_ITEM_BAG loadspritegfx ANIM_TAG_SPARK_2 @@ -9141,7 +9133,7 @@ Move_NUZZLE:: waitforvisualfinish end -Move_HOLD_BACK:: +gBattleAnimMove_HoldBack:: loadspritegfx ANIM_TAG_PAW_PRINT @ yellow/brown loadspritegfx ANIM_TAG_IMPACT @ hit loadspritegfx ANIM_TAG_PURPLE_SWIPE @ swipe @@ -9168,7 +9160,7 @@ Move_HOLD_BACK:: blendoff end -Move_INFESTATION:: +gBattleAnimMove_Infestation:: loadspritegfx ANIM_TAG_HANDS_AND_FEET @black color loadspritegfx ANIM_TAG_SMALL_BUBBLES @circle particles monbg ANIM_DEF_PARTNER @@ -9201,7 +9193,7 @@ InfestationVortex: delay 0x1 return -Move_POWER_UP_PUNCH:: +gBattleAnimMove_PowerUpPunch:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_BREATH @@ -9218,7 +9210,7 @@ Move_POWER_UP_PUNCH:: blendoff end -Move_OBLIVION_WING:: +gBattleAnimMove_OblivionWing:: loadspritegfx ANIM_TAG_HYDRO_PUMP loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_BLUE_STAR @@ -9258,7 +9250,7 @@ OblivionWingBeam: delay 0x2 return -Move_THOUSAND_ARROWS:: +gBattleAnimMove_ThousandArrows:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge animation loadspritegfx ANIM_TAG_ELECTRICITY @charge animation loadspritegfx ANIM_TAG_LEAF @green color @@ -9346,7 +9338,7 @@ ThousandArrowsDown: playsewithpan SE_M_DIG, SOUND_PAN_ATTACKER return -Move_THOUSAND_WAVES:: +gBattleAnimMove_ThousandWaves:: loadspritegfx ANIM_TAG_ZYGARDE_HEXES @Hex loadspritegfx ANIM_TAG_FLYING_DIRT @heat wave animation loadspritegfx ANIM_TAG_LEAF @green color @@ -9475,7 +9467,7 @@ ThousandWavesRotatingImpact: createsprite gThousandWavesPoundImpactTemplate, ANIM_TARGET, 2, 0x1, 0xfffa, 0x0, 0x3 return -Move_LANDS_WRATH:: +gBattleAnimMove_LandsWrath:: loadspritegfx ANIM_TAG_WATER_ORB @whirl motion loadspritegfx ANIM_TAG_SPARK_2 @yellow color monbg ANIM_ATTACKER @@ -9514,7 +9506,7 @@ LandsWrathVortex: delay 0x2 return -Move_LIGHT_OF_RUIN:: +gBattleAnimMove_LightOfRuin:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_ELECTRIC_ORBS @createvisualtask particles loadspritegfx ANIM_TAG_ORBS @beam particles @@ -9575,7 +9567,7 @@ LightOfRuinBeam: delay 0x1 return -Move_ORIGIN_PULSE:: +gBattleAnimMove_OriginPulse:: loadspritegfx ANIM_TAG_THIN_RING @uproar loadspritegfx ANIM_TAG_WATER_ORB @blue color loadspritegfx ANIM_TAG_ORBS @circles @@ -9647,7 +9639,7 @@ Move_ORIGIN_PULSE:: blendoff end -Move_PRECIPICE_BLADES:: +gBattleAnimMove_PrecipiceBlades:: loadspritegfx ANIM_TAG_LARGE_SPIKE loadspritegfx ANIM_TAG_FIRE_PLUME createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_LARGE_SPIKE, 0, 10, 10, 0x159F @Blood orange @@ -9703,7 +9695,7 @@ PrecipiceBladesOpponent: createsprite gPrecipiceBladesSpikeTemplate, ANIM_ATTACKER, 69, ANIM_ATTACKER, 0, -17, 120, 0x0 goto PrecipiceBladesContinue -Move_DRAGON_ASCENT:: +gBattleAnimMove_DragonAscent:: loadspritegfx ANIM_TAG_DRAGON_ASCENT loadspritegfx ANIM_TAG_IMPACT createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_IMPACT, 0, 11, 11, RGB(16, 31, 16) @@ -9743,7 +9735,7 @@ Move_DRAGON_ASCENT:: call UnsetPsychicBg end -Move_HYPERSPACE_FURY:: +gBattleAnimMove_HyperspaceFury:: loadspritegfx ANIM_TAG_HOOPA_HAND @Hoopa Hand loadspritegfx ANIM_TAG_HOOPA_RING @Hoopa Ring loadspritegfx ANIM_TAG_IMPACT @@ -9830,7 +9822,7 @@ HyperspaceFuryRandomImpact: return @@@@@@@@@@@@@@@@@@@@@@@ GEN 7 @@@@@@@@@@@@@@@@@@@@@@@ -Move_SHORE_UP:: +gBattleAnimMove_ShoreUp:: loadspritegfx ANIM_TAG_FLYING_DIRT @sandstorm loadspritegfx ANIM_TAG_BLUE_STAR @heal2 playsewithpan SE_M_SANDSTORM, 0x0 @@ -9853,7 +9845,7 @@ Move_SHORE_UP:: waitforvisualfinish end -Move_FIRST_IMPRESSION:: +gBattleAnimMove_FirstImpression:: loadspritegfx ANIM_TAG_SWEAT_BEAD @astonish loadspritegfx ANIM_TAG_IMPACT @pound hit loadspritegfx ANIM_TAG_RAZOR_LEAF @green @@ -9883,7 +9875,7 @@ Move_FIRST_IMPRESSION:: clearmonbg ANIM_TARGET end -Move_BANEFUL_BUNKER:: +gBattleAnimMove_BanefulBunker:: loadspritegfx ANIM_TAG_PROTECT @protect loadspritegfx ANIM_TAG_POISON_BUBBLE @poison monbg ANIM_ATK_PARTNER @@ -9909,33 +9901,31 @@ Move_BANEFUL_BUNKER:: clearmonbg ANIM_ATK_PARTNER end -Move_SPIRIT_SHACKLE:: +gBattleAnimMove_SpiritShackle:: loadspritegfx ANIM_TAG_SPIRIT_ARROW @Arrow - loadspritegfx ANIM_TAG_CHAIN_LINK @Chain - monbg ANIM_DEF_PARTNER - splitbgprio ANIM_TARGET - setalpha 12, 8 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x10, 0x0 - waitforvisualfinish + loadspritegfx ANIM_TAG_PURPLE_CHAIN + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_PURPLE_CHAIN, 0, 9, 9, RGB_BLACK + monbg ANIM_TARGET playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER - createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, 0x10, 0x0, 0x0, 0x0, 0xf - delay 0x8 + createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, 16, 0, 0, 0, 15 + delay 8 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 10, 1 waitforvisualfinish - loopsewithpan SE_SHINY, SOUND_PAN_ATTACKER, 0x1c, 0x2 - createsprite gSpiritShackleChainTemplate, ANIM_TARGET, 2, 0xfff0, 0xfff0 - delay 0x4 - createsprite gSpiritShackleChainTemplate, ANIM_TARGET, 2, 0xfff0, 0x0 - delay 0x4 - createsprite gSpiritShackleChainTemplate, ANIM_TARGET, 2, 0xfff0, 0x10 - waitforvisualfinish - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x10, 0x0, 0x0 + loopsewithpan SE_M_SCRATCH, SOUND_PAN_TARGET, 6, 2 + createsprite gChainBindingSpriteTemplate, ANIM_TARGET, 4, 0, 16, 0, 1 + delay 7 + createsprite gChainBindingSpriteTemplate, ANIM_TARGET, 2, 0, 8, 1, 1 + delay 3 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 + delay 20 + setarg 7, 0xFFFF + playsewithpan SE_M_BIND, SOUND_PAN_TARGET waitforvisualfinish - clearmonbg ANIM_DEF_PARTNER + clearmonbg ANIM_TARGET blendoff end -Move_DARKEST_LARIAT:: +gBattleAnimMove_DarkestLariat:: fadetobg BG_DARK waitbgfadeout createvisualtask AnimTask_StartSlidingBg, 0x5, 0x0, 0x0, 0x0, 0xffff @@ -9973,7 +9963,7 @@ DarkestLariatImpact: delay 0x8 return -Move_SPARKLING_ARIA:: +gBattleAnimMove_SparklingAria:: loadspritegfx ANIM_TAG_WATER_ORB @blue color loadspritegfx ANIM_TAG_BUBBLE @circles loadspritegfx ANIM_TAG_HYDRO_PUMP @hydro pump @@ -10065,7 +10055,7 @@ SparklingAriaCharge: delay 0x4 return -Move_ICE_HAMMER:: +gBattleAnimMove_IceHammer:: loadspritegfx ANIM_TAG_HORSESHOE_SIDE_FIST @punch loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice loadspritegfx ANIM_TAG_ECLIPSING_ORB @gray color @@ -10096,7 +10086,7 @@ Move_ICE_HAMMER:: blendoff end -Move_FLORAL_HEALING:: +gBattleAnimMove_FloralHealing:: loadspritegfx ANIM_TAG_SPARKLE_2 @heal loadspritegfx ANIM_TAG_FLOWER @flowers loadspritegfx ANIM_TAG_LEAF @leaves @@ -10201,7 +10191,7 @@ CIRCLES_LEAVES: delay 0x2 return -Move_HIGH_HORSEPOWER:: +gBattleAnimMove_HighHorsepower:: loadspritegfx ANIM_TAG_IMPACT @hit loadspritegfx ANIM_TAG_HORSESHOE_SIDE_FIST @horseshoe monbg ANIM_TARGET @@ -10226,7 +10216,7 @@ Move_HIGH_HORSEPOWER:: waitbgfadein end -Move_STRENGTH_SAP:: +gBattleAnimMove_StrengthSap:: loadspritegfx ANIM_TAG_GRAY_SMOKE @smoke loadspritegfx ANIM_TAG_TEAL_ALERT @inward loadspritegfx ANIM_TAG_RED_HEART @heart color @@ -10294,7 +10284,7 @@ Move_STRENGTH_SAP:: clearmonbg ANIM_DEF_PARTNER end -Move_SOLAR_BLADE:: +gBattleAnimMove_SolarBlade:: loadspritegfx ANIM_TAG_ORBS choosetwoturnanim SolarBeamSetUp SolarBladeUnleash SolarBladeUnleash: @@ -10332,7 +10322,7 @@ SolarBladeSunRays: delay 0x6 return -Move_LEAFAGE:: +gBattleAnimMove_Leafage:: loadspritegfx ANIM_TAG_RAZOR_LEAF @leaf loadspritegfx ANIM_TAG_IMPACT @hit monbg ANIM_DEF_PARTNER @@ -10347,7 +10337,7 @@ Move_LEAFAGE:: clearmonbg ANIM_DEF_PARTNER end -Move_SPOTLIGHT:: +gBattleAnimMove_Spotlight:: loadspritegfx ANIM_TAG_SPOTLIGHT loadspritegfx ANIM_TAG_TAG_HAND createvisualtask AnimTask_CreateSpotlight, 0x2 @@ -10361,7 +10351,7 @@ Move_SPOTLIGHT:: createvisualtask AnimTask_RemoveSpotlight, 0x2 end -Move_TOXIC_THREAD:: +gBattleAnimMove_ToxicThread:: loadspritegfx ANIM_TAG_STRING loadspritegfx ANIM_TAG_WEB_THREAD createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_STRING, 0, 0xA, 0xA, 0x6038 @Purple @@ -10403,7 +10393,7 @@ Move_TOXIC_THREAD:: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x9, 0x0, 0x0 end -Move_LASER_FOCUS:: +gBattleAnimMove_LaserFocus:: loadspritegfx ANIM_TAG_EYE_SPARKLE @red loadspritegfx ANIM_TAG_OPENING_EYE @eyes loadspritegfx ANIM_TAG_LEER @leer @@ -10420,7 +10410,7 @@ Move_LASER_FOCUS:: clearmonbg ANIM_ATTACKER end -Move_GEAR_UP:: +gBattleAnimMove_GearUp:: loadspritegfx ANIM_TAG_GEAR loadspritegfx ANIM_TAG_SPARK_2 @sparks createvisualtask AnimTask_BlendBattleAnimPal, 0xA, F_PAL_ATTACKER, 0x2, 0x0, 0x9, 0x039B @@ -10473,7 +10463,7 @@ GearUpSparks: delay 0xF return -Move_THROAT_CHOP:: +gBattleAnimMove_ThroatChop:: loadspritegfx ANIM_TAG_HANDS_AND_FEET @karate chop loadspritegfx ANIM_TAG_IMPACT @hit loadspritegfx ANIM_TAG_SMALL_RED_EYE @red color @@ -10508,7 +10498,7 @@ Move_THROAT_CHOP:: blendoff end -Move_POLLEN_PUFF:: +gBattleAnimMove_PollenPuff:: createvisualtask AnimTask_IsTargetSameSide, 0x5 jumpargeq 0x0, 0x1, PollenPuffAlly PollenPuffOpponent: @@ -10624,7 +10614,7 @@ PollenPuffAlly: blendoff end -Move_ANCHOR_SHOT:: +gBattleAnimMove_AnchorShot:: loadspritegfx ANIM_TAG_CHAIN_LINK loadspritegfx ANIM_TAG_ANCHOR playsewithpan SE_FALL SOUND_PAN_TARGET @@ -10646,7 +10636,7 @@ Move_ANCHOR_SHOT:: clearmonbg ANIM_TARGET end -Move_PSYCHIC_TERRAIN:: +gBattleAnimMove_PsychicTerrain:: loadspritegfx ANIM_TAG_ORBS @Recover Ball loadspritegfx ANIM_TAG_GREEN_SPARKLE @Green Star loadspritegfx ANIM_TAG_POISON_BUBBLE @Purple Colour @@ -10684,7 +10674,7 @@ Move_PSYCHIC_TERRAIN:: waitforvisualfinish end -Move_LUNGE:: +gBattleAnimMove_Lunge:: loadspritegfx ANIM_TAG_IMPACT @hit loadspritegfx ANIM_TAG_TEAL_ALERT @hit particles loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @psycho boost charge @@ -10736,7 +10726,7 @@ Move_LUNGE:: clearmonbg ANIM_DEF_PARTNER end -Move_FIRE_LASH:: +gBattleAnimMove_FireLash:: loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_DEF_PARTNER splitbgprio_foes ANIM_TARGET @@ -10779,7 +10769,7 @@ Move_FIRE_LASH:: clearmonbg ANIM_DEF_PARTNER end -Move_POWER_TRIP:: +gBattleAnimMove_PowerTrip:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_HANDS_AND_FEET @black color loadspritegfx ANIM_TAG_PURPLE_FLAME @dark violet color @@ -10820,7 +10810,7 @@ PowerTripBuffUp: createsprite gPowerTripFocusEnergyTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff4, 0x0, 0x1 return -Move_BURN_UP:: +gBattleAnimMove_BurnUp:: loadspritegfx ANIM_TAG_THIN_RING @ring loadspritegfx ANIM_TAG_SMALL_RED_EYE @red color loadspritegfx ANIM_TAG_PINK_CLOUD @yawn @@ -10880,7 +10870,7 @@ Move_BURN_UP:: blendoff end -Move_SPEED_SWAP:: +gBattleAnimMove_SpeedSwap:: loadspritegfx ANIM_TAG_THIN_RING @ring loadspritegfx ANIM_TAG_ICE_CHUNK @blue green loadspritegfx ANIM_TAG_ORBS @circle @@ -10914,7 +10904,7 @@ Move_SPEED_SWAP:: clearmonbg ANIM_TARGET end -Move_SMART_STRIKE:: +gBattleAnimMove_SmartStrike:: loadspritegfx ANIM_TAG_POWER_GEM @gem loadspritegfx ANIM_TAG_AIR_WAVE @sonicboom loadspritegfx ANIM_TAG_IMPACT @hit @@ -10953,7 +10943,7 @@ Move_SMART_STRIKE:: waitforvisualfinish end -Move_PURIFY:: +gBattleAnimMove_Purify:: loadspritegfx ANIM_TAG_FLASH_CANNON_BALL @Ball loadspritegfx ANIM_TAG_BLACK_SMOKE @smoke loadspritegfx ANIM_TAG_ICE_CHUNK @White Colour @@ -10981,7 +10971,7 @@ Move_PURIFY:: blendoff end -Move_REVELATION_DANCE:: +gBattleAnimMove_RevelationDance:: loadspritegfx ANIM_TAG_ORBS @circles loadspritegfx ANIM_TAG_FLOWER @particles loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE @another yellow @@ -11036,7 +11026,7 @@ Move_REVELATION_DANCE:: clearmonbg ANIM_TARGET end -Move_CORE_ENFORCER:: +gBattleAnimMove_CoreEnforcer:: loadspritegfx ANIM_TAG_SPARK_2 @yellow color loadspritegfx ANIM_TAG_LEAF @green color loadspritegfx ANIM_TAG_RAZOR_LEAF @another green color @@ -11254,7 +11244,7 @@ Move_CORE_ENFORCER:: blendoff end -Move_TROP_KICK:: +gBattleAnimMove_TropKick:: loadspritegfx ANIM_TAG_HANDS_AND_FEET @kick loadspritegfx ANIM_TAG_LEAF @leaves loadspritegfx ANIM_TAG_FLOWER @flowers @@ -11275,7 +11265,7 @@ Move_TROP_KICK:: clearmonbg ANIM_DEF_PARTNER end -Move_INSTRUCT:: +gBattleAnimMove_Instruct:: loadspritegfx ANIM_TAG_FINGER @finger loadspritegfx ANIM_TAG_SPOTLIGHT @spotlight setalpha 12, 8 @@ -11305,7 +11295,7 @@ Move_INSTRUCT:: blendoff end -General_BeakBlastSetUp: +gBattleAnimGeneral_BeakBlastSetUp:: loadspritegfx ANIM_TAG_SMALL_EMBER @Fire playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER delay 0x3 @@ -11313,7 +11303,7 @@ General_BeakBlastSetUp: createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x38, 0x0 waitforvisualfinish end -Move_BEAK_BLAST:: +gBattleAnimMove_BeakBlast:: loadspritegfx ANIM_TAG_IMPACT createvisualtask AnimTask_BlendBattleAnimPal, 0xA, F_PAL_ATTACKER, 0x2, 0x0, 0x9, 0x1F waitforvisualfinish @@ -11335,7 +11325,7 @@ Move_BEAK_BLAST:: waitforvisualfinish end -Move_CLANGING_SCALES:: +gBattleAnimMove_ClangingScales:: loadspritegfx ANIM_TAG_METAL_SOUND_WAVES @metal sound loadspritegfx ANIM_TAG_POISON_BUBBLE @purple color monbg ANIM_DEF_PARTNER @@ -11364,7 +11354,7 @@ ClangingScalesMetalSound: delay 0x2 return -Move_DRAGON_HAMMER:: +gBattleAnimMove_DragonHammer:: loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_GRAY_SMOKE createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_ROUND_SHADOW, 0, 12, 12, 0x7D7F @Pinkish purple @@ -11403,7 +11393,7 @@ Move_DRAGON_HAMMER:: blendoff end -Move_BRUTAL_SWING:: +gBattleAnimMove_BrutalSwing:: loadspritegfx ANIM_TAG_IMPACT @hits loadspritegfx ANIM_TAG_HANDS_AND_FEET @black color monbg ANIM_TARGET @@ -11438,7 +11428,7 @@ Move_BRUTAL_SWING:: clearmonbg ANIM_TARGET end -Move_AURORA_VEIL:: +gBattleAnimMove_AuroraVeil:: loadspritegfx ANIM_TAG_GUARD_RING fadetobg BG_AURORA waitbgfadeout @@ -11462,7 +11452,7 @@ Move_AURORA_VEIL:: blendoff end -General_ShellTrapSetUp: +gBattleAnimGeneral_ShellTrapSetUp:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -11479,7 +11469,7 @@ General_ShellTrapSetUp: clearmonbg ANIM_TARGET blendoff end -Move_SHELL_TRAP:: +gBattleAnimMove_ShellTrap:: ShellTrapUnleash: loadspritegfx ANIM_TAG_IMPACT @pound loadspritegfx ANIM_TAG_SMALL_RED_EYE @red @@ -11655,7 +11645,7 @@ ShellTrapFireLaunch2: delay 0x3 return -Move_FLEUR_CANNON:: +gBattleAnimMove_FleurCannon:: loadspritegfx ANIM_TAG_ORBS @beam particles loadspritegfx ANIM_TAG_ELECTRICITY @discharge loadspritegfx ANIM_TAG_PINK_PETAL @pink color @@ -11710,7 +11700,7 @@ FleurCannonBeam: delay 0x1 return -Move_PSYCHIC_FANGS:: +gBattleAnimMove_PsychicFangs:: loadspritegfx ANIM_TAG_SHARP_TEETH @Teeth loadspritegfx ANIM_TAG_IMPACT @Hit loadspritegfx ANIM_TAG_BLUE_LIGHT_WALL @Screen @@ -11763,7 +11753,7 @@ PsychicFangsDestroyWall: delay 0x10 goto PsychicFangsEnd -Move_STOMPING_TANTRUM:: +gBattleAnimMove_StompingTantrum:: loadspritegfx ANIM_TAG_ROCKS @rock colour loadspritegfx ANIM_TAG_SMALL_ROCK @small rock loadspritegfx ANIM_TAG_IMPACT @pound hit @@ -11800,7 +11790,7 @@ StompingTantrumImpact: createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x1, 0x1 return -Move_SHADOW_BONE:: +gBattleAnimMove_ShadowBone:: loadspritegfx ANIM_TAG_BONE loadspritegfx ANIM_TAG_IMPACT fadetobg BG_NIGHTMARE @@ -11826,7 +11816,7 @@ Move_SHADOW_BONE:: blendoff end -Move_ACCELEROCK:: +gBattleAnimMove_Accelerock:: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_IMPACT monbg ANIM_ATK_PARTNER @@ -11849,7 +11839,7 @@ Move_ACCELEROCK:: waitforvisualfinish end -Move_LIQUIDATION:: +gBattleAnimMove_Liquidation:: loadspritegfx ANIM_TAG_WATER_IMPACT loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -11868,7 +11858,7 @@ Move_LIQUIDATION:: blendoff end -Move_PRISMATIC_LASER:: +gBattleAnimMove_PrismaticLaser:: loadspritegfx ANIM_TAG_ICE_CHUNK @blue green color loadspritegfx ANIM_TAG_SPARK_H @yellow color loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE @red color @@ -11990,7 +11980,7 @@ PrismaticLaserRain: createsprite gPrismaticLaserGreenRainTemplate, ANIM_TARGET, 2, -23, 0x28, 4, ANIM_TARGET return -Move_SPECTRAL_THIEF:: +gBattleAnimMove_SpectralThief:: choosetwoturnanim SpectralThiefSteal SpectralThiefUnleash SpectralThiefUnleash: loadspritegfx ANIM_TAG_HANDS_AND_FEET @Black Colour @@ -12111,7 +12101,7 @@ SpectralThiefBuffUp: createsprite gSpectralThiefBlackBuffTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff4, 0x0, 0x1 return -Move_SUNSTEEL_STRIKE:: +gBattleAnimMove_SunsteelStrike:: loadspritegfx ANIM_TAG_ROUND_SHADOW @fly loadspritegfx ANIM_TAG_AIR_WAVE_2 @black color loadspritegfx ANIM_TAG_ROCKS @rock colour @@ -12175,7 +12165,7 @@ SunsteelStrikeBeam: delay 0x1 return -Move_MOONGEIST_BEAM:: +gBattleAnimMove_MoongeistBeam:: loadspritegfx ANIM_TAG_MOON loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @@ -12256,7 +12246,7 @@ MoongeistBeamOrbs: delay 0x1 return -Move_TEARFUL_LOOK:: +gBattleAnimMove_TearfulLook:: loadspritegfx ANIM_TAG_SMALL_BUBBLES @tears loadspritegfx ANIM_TAG_OPENING_EYE @eye monbg ANIM_DEF_PARTNER @@ -12282,7 +12272,7 @@ Move_TEARFUL_LOOK:: clearmonbg ANIM_DEF_PARTNER end -Move_ZING_ZAP:: +gBattleAnimMove_ZingZap:: loadspritegfx ANIM_TAG_SPARK_2 @sparks loadspritegfx ANIM_TAG_YELLOW_BALL @ball loadspritegfx ANIM_TAG_THIN_RING @ring @@ -12334,7 +12324,7 @@ ZingZapSparks2: createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 0xee, 0x18, 0xa5, 0xa, 0x0, 0x1, 0x1 return -Move_NATURES_MADNESS:: +gBattleAnimMove_NaturesMadness:: loadspritegfx ANIM_TAG_ICE_CRYSTALS @small circles loadspritegfx ANIM_TAG_THIN_RING @ring loadspritegfx ANIM_TAG_SPARKLE_2 @stars @@ -12415,7 +12405,7 @@ Move_NATURES_MADNESS:: blendoff end -Move_MULTI_ATTACK:: +gBattleAnimMove_MultiAttack:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_CUT @cut monbg ANIM_TARGET @@ -12452,7 +12442,7 @@ MultiAttackBuff: createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff4, 0x0, 0x1 return -Move_MIND_BLOWN:: +gBattleAnimMove_MindBlown:: loadspritegfx ANIM_TAG_PINK_HEART @pink color loadspritegfx ANIM_TAG_SMALL_BUBBLES @blue color loadspritegfx ANIM_TAG_BLACEPHALON_HEAD @head @@ -12509,7 +12499,7 @@ MindBlownPinkOrbs: createsprite gMindBlownPinkOrbsTemplate, ANIM_TARGET, 2, 0x1, 0x1, 0xFFDA, 0xFF94, 0x8 @between up and upper left return -Move_PLASMA_FISTS:: +gBattleAnimMove_PlasmaFists:: loadspritegfx ANIM_TAG_SHOCK_3 @charge loadspritegfx ANIM_TAG_SPARK_2 @ElectricityEffect loadspritegfx ANIM_TAG_SPARK @shock wave @@ -12594,7 +12584,7 @@ PlasmaFistsImpact: createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x2 return -Move_PHOTON_GEYSER:: +gBattleAnimMove_PhotonGeyser:: loadspritegfx ANIM_TAG_SHOCK_3 @charge loadspritegfx ANIM_TAG_SPARK_2 @ElectricityEffect loadspritegfx ANIM_TAG_SMALL_RED_EYE @red color @@ -12704,46 +12694,388 @@ PhotonGeyserBeam: createsprite gPhotonGeyserBeam, ANIM_TARGET, 3, 0, -77, ANIM_TARGET, 180, 2, 0 return -Move_ZIPPY_ZAP:: - end @to do: - -Move_SPLISHY_SPLASH:: - end @to do: +gBattleAnimMove_ZippyZap:: + loadspritegfx ANIM_TAG_IMPACT + loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT + loadspritegfx ANIM_TAG_SPARK_2 + monbg ANIM_ATK_PARTNER + setalpha 12, 8 + playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER + createsprite gGrowingShockWaveOrbSpriteTemplate, ANIM_ATTACKER, 2 @electric circle + waitforvisualfinish + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 1, 5 + createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 7, 3 + playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER + delay 4 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 0, 0, ANIM_TARGET, 1 + call ElectricityEffect + playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + waitforvisualfinish + end -Move_FLOATY_FALL:: - end @to do: +gBattleAnimMove_SplishySplash:: + loadspritegfx ANIM_TAG_SPARK_2 + createvisualtask AnimTask_CreateSurfWave, 2, ANIM_SURF_PAL_SURF + delay 24 + panse SE_M_SURF, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 10, 1 + call ElectricityEffect + end -Move_PIKA_PAPOW:: - end @to do: +gBattleAnimMove_FloatyFall:: + loadspritegfx ANIM_TAG_ROUND_SHADOW + loadspritegfx ANIM_TAG_IMPACT + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_ROUND_SHADOW, 0, 12, 12, RGB_YELLOW + monbg ANIM_DEF_PARTNER + setalpha 12, 8 + playsewithpan SE_M_FLY, SOUND_PAN_ATTACKER + createsprite gFlyBallUpSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 13, 336 + waitforvisualfinish + playsewithpan SE_M_DOUBLE_TEAM, SOUND_PAN_ATTACKER + createsprite gFlyBallAttackSpriteTemplate, ANIM_ATTACKER, 2, 20, FALSE + delay 20 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 0 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 + playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + waitforvisualfinish + end -Move_BOUNCY_BUBBLE:: - end @to do: +gBattleAnimMove_PikaPapow:: + createvisualtask AnimTask_GetReturnPowerLevel, 2 + delay 2 + jumpreteq 0, gBattleAnimMove_ThunderShock + jumpreteq 1, gBattleAnimMove_ShockWave + jumpreteq 2, gBattleAnimMove_Thunderbolt + jumpreteq 3, gBattleAnimMove_Thunder -Move_BUZZY_BUZZ:: - end @to do: +gBattleAnimMove_BouncyBubble:: + loadspritegfx ANIM_TAG_BUBBLE + loadspritegfx ANIM_TAG_SMALL_BUBBLES + loadspritegfx ANIM_TAG_ORBS + loadspritegfx ANIM_TAG_BLUE_STAR + loadspritegfx ANIM_TAG_IMPACT + monbg ANIM_TARGET + splitbgprio ANIM_TARGET + setalpha 12, 8 + delay 1 + createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 1, 0, 12, RGB(13, 12, 31) + waitforvisualfinish + playsewithpan SE_M_ABSORB, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 0 + delay 2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1 + waitforvisualfinish + call WaterBubblesEffectLong + call GigaDrainAbsorbEffect + waitforvisualfinish + delay 15 + call HealingEffect + waitforvisualfinish + createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 1, 12, 0, RGB(13, 12, 31) + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end -Move_SIZZLY_SLIDE:: - end @to do: +gBattleAnimMove_BuzzyBuzz:: + loadspritegfx ANIM_TAG_ELECTRIC_ORBS + loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT + loadspritegfx ANIM_TAG_SPARK + loadspritegfx ANIM_TAG_LIGHTNING + loadspritegfx ANIM_TAG_SHOCK_3 + loadspritegfx ANIM_TAG_SPARK_2 + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 0, 0, 6, RGB_BLACK + waitforvisualfinish + createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_TARGET + delay 10 + createvisualtask AnimTask_ElectricBolt, 5, 24, -52, 0 + playsewithpan SE_M_THUNDERBOLT, SOUND_PAN_TARGET + delay 7 + createvisualtask AnimTask_ElectricBolt, 5, -24, -52, 0 + playsewithpan SE_M_THUNDERBOLT, SOUND_PAN_TARGET + delay 7 + createvisualtask AnimTask_ElectricBolt, 5, 0, -60, 1 + playsewithpan SE_M_THUNDERBOLT, SOUND_PAN_TARGET + delay 9 + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 0, 0, 13, RGB_BLACK + waitforvisualfinish + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 0, 13, 0, RGB_BLACK + waitforvisualfinish + delay 20 + waitplaysewithpan SE_M_THUNDERBOLT2, SOUND_PAN_TARGET, 19 + call ElectricityEffect + waitforvisualfinish + delay 20 + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 0, 6, 0, RGB_BLACK + waitforvisualfinish + end -Move_GLITZY_GLOW:: - end @to do: +gBattleAnimMove_SizzlySlide:: + loadspritegfx ANIM_TAG_SMALL_EMBER + loadspritegfx ANIM_TAG_IMPACT + monbg ANIM_ATK_PARTNER + setalpha 12, 8 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 0 + playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER + delay 2 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 4 + playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER + delay 2 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 8 + playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER + delay 2 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 12 + playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER + delay 2 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 16 + playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER + delay 2 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 20 + playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER + delay 2 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 24 + playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER + waitforvisualfinish + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 1, 5 + createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 7, 3 + playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER + delay 4 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 0, 0, ANIM_TARGET, 1 + createvisualtask AnimTask_BlendMonInAndOut, 3, ANIM_TARGET, RGB_RED, 12, 1, 1 + playsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_TARGET + call FireSpreadEffect + delay 7 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 9 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + end -Move_BADDY_BAD:: - end @to do: +gBattleAnimMove_GlitzyGlow:: + loadspritegfx ANIM_TAG_THIN_RING @hypervoice ring + loadspritegfx ANIM_TAG_SPARK_2 @yellow color + loadspritegfx ANIM_TAG_WATER_ORB @blue color + loadspritegfx ANIM_TAG_POISON_BUBBLE @violet color + loadspritegfx ANIM_TAG_SMALL_EMBER @flame wheel particle + loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_CIRCLE_OF_LIGHT, 0, 12, 12, 0x289F + monbg ANIM_DEF_PARTNER + splitbgprio_foes ANIM_TARGET + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 1, 0, 12, 0 @Darken + playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER + createsprite gGrowingShockWaveOrbSpriteTemplate, ANIM_ATTACKER, 0, 0 + delay 18 + panse SE_M_SCREECH, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 0 + createsprite gSynchronoiseVioletRingTemplate, ANIM_ATTACKER, 0, 25, 0, 0, 0, 0, 0, 1 + delay 1 + createsprite gSynchronoiseBlueRingTemplate, ANIM_ATTACKER, 0, 25, 0, 0, 0, 0, 0, 1 + delay 1 + createsprite gSynchronoiseYellowRingTemplate, ANIM_ATTACKER, 0, 25, 0, 0, 0, 0, 0, 1 + delay 36 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 + createvisualtask AnimTask_ShakeBattleTerrain, 2, 1, 0, 6, 1 + waitforvisualfinish + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 1, 12, 0, 0 @Darken + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + delay 1 + unloadspritegfx ANIM_TAG_THIN_RING @hypervoice ring + unloadspritegfx ANIM_TAG_SPARK_2 @yellow color + unloadspritegfx ANIM_TAG_WATER_ORB @blue color + unloadspritegfx ANIM_TAG_POISON_BUBBLE @violet color + unloadspritegfx ANIM_TAG_SMALL_EMBER @flame wheel particle + unloadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT + waitforvisualfinish + goto gBattleAnimMove_LightScreen -Move_SAPPY_SEED:: - end @to do: +gBattleAnimMove_BaddyBad:: + loadspritegfx ANIM_TAG_STRAIGHT_BEAM + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_STRAIGHT_BEAM, 0, 14, 14, RGB_BLACK + monbg ANIM_ATTACKER + splitbgprio ANIM_ATTACKER + playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER + fadetobg BG_DARK + waitbgfadein + delay 10 + playsewithpan SE_M_LEER, SOUND_PAN_ATTACKER + createvisualtask AnimTask_NightShadeClone, 5, 133 + delay 10 + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 6, 0, 16, RGB_BLACK + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 4, 0, 96, 1 + panse SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 0 + call PhotonGeyserBeam + waitforvisualfinish + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 1, 16, 0, RGB_BLACK + waitforvisualfinish + delay 1 + restorebg + waitbgfadein + waitforvisualfinish + clearmonbg ANIM_ATTACKER + unloadspritegfx ANIM_TAG_STRAIGHT_BEAM + waitforvisualfinish + goto gBattleAnimMove_Reflect -Move_FREEZY_FROST:: - end @to do: +gBattleAnimMove_SappySeed:: + loadspritegfx ANIM_TAG_SPROUT + loadspritegfx ANIM_TAG_SEED + playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_TARGET + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 40, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 20, ANIM_TARGET, 1 + delay 2 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 20, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 10, ANIM_TARGET, 1 + delay 2 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 20, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 10, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1 + delay 2 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 20, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 10, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -10, ANIM_TARGET, 1 + delay 2 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 20, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 10, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -10, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -20, ANIM_TARGET, 1 + delay 2 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 20, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 10, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -10, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -20, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -30, ANIM_TARGET, 1 + delay 2 + call FullBeanstalk + call FallingSeeds + call FullBeanstalk + call FullBeanstalk + call FullBeanstalk + call FullBeanstalk + call FullBeanstalk + call FullBeanstalk + call FullBeanstalk + call FullBeanstalk + call FullBeanstalk + call FullBeanstalk + call FullBeanstalk + call FullBeanstalk + call FullBeanstalk + call FullBeanstalk + waitforvisualfinish + end +FullBeanstalk: + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 20, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 10, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -10, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -20, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -30, ANIM_TARGET, 1 + createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -40, ANIM_TARGET, 1 + delay 2 + return +FallingSeeds: + createsprite gFallingSeedSpriteTemplate, ANIM_TARGET, 2, -20, 0, -10, 0 + playsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET + createsprite gFallingSeedSpriteTemplate, ANIM_TARGET, 2, 28, 0, 10, 0 + playsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET + createsprite gFallingSeedSpriteTemplate, ANIM_TARGET, 2, -10, 0, -5, 0 + playsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET + createsprite gFallingSeedSpriteTemplate, ANIM_TARGET, 2, 10, 0, 6, 0 + playsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET + createsprite gFallingSeedSpriteTemplate, ANIM_TARGET, 2, 24, 0, 10, 0 + playsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET + createsprite gFallingSeedSpriteTemplate, ANIM_TARGET, 2, -32, 0, -10, 0 + playsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET + createsprite gFallingSeedSpriteTemplate, ANIM_TARGET, 2, -20, 0, -10, 0 + playsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET + createsprite gFallingSeedSpriteTemplate, ANIM_TARGET, 2, 30, 0, 10, 0 + playsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET + return + +gBattleAnimMove_FreezyFrost:: + loadspritegfx ANIM_TAG_ICICLE_SPEAR + loadspritegfx ANIM_TAG_ICE_SPIKES + loadspritegfx ANIM_TAG_IMPACT + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_ICICLE_SPEAR, 0, 0, 12, RGB_BLACK + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_ICE_SPIKES, 0, 0, 12, RGB_BLACK + waitforvisualfinish + call FreezyFrostHitEffect + call FreezyFrostHitEffect + call FreezyFrostHitEffect + call FreezyFrostHitEffect + waitforvisualfinish + call IceSpikesEffectLong + waitforvisualfinish + end +FreezyFrostHitEffect: + createsprite gFreezyFrostRisingSpearSpriteTemplate ANIM_TARGET, 2, ANIM_TARGET, -4, 16 + playsewithpan SE_M_ROCK_THROW SOUND_PAN_TARGET + delay 1 + createsprite gFreezyFrostRisingSpearSpriteTemplate ANIM_TARGET, 2, ANIM_TARGET, 4109, 16 + playsewithpan SE_M_ROCK_THROW SOUND_PAN_TARGET + delay 1 + createsprite gFreezyFrostRisingSpearSpriteTemplate ANIM_TARGET, 2, ANIM_TARGET, 4, 16 + playsewithpan SE_M_ROCK_THROW SOUND_PAN_TARGET + delay 1 + createsprite gFreezyFrostRisingSpearSpriteTemplate ANIM_TARGET, 2, ANIM_TARGET, -16, 16 + playsewithpan SE_M_ROCK_THROW SOUND_PAN_TARGET + delay 1 + return -Move_SPARKLY_SWIRL:: - end @to do: +gBattleAnimMove_SparklySwirl:: + loadspritegfx ANIM_TAG_GUST + loadspritegfx ANIM_TAG_PINK_PETAL + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_GUST, 0, 15, 15, RGB(31, 21, 21) + monbg ANIM_DEF_PARTNER + splitbgprio ANIM_TARGET + playsewithpan SE_M_GUST, SOUND_PAN_TARGET + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 47, 1 + call HurricaneGust + call PinkPetalVortex + call HurricaneGust + call PinkPetalVortex + call HurricaneGust + call PinkPetalVortex + waitforvisualfinish + stopsound + clearmonbg ANIM_TARGET + end +PinkPetalVortex: + createsprite gPinkPetalVortexTemplate, ANIM_TARGET, 2, 0, 28, 528, 30, 13, 50, 1 + delay 2 + createsprite gPinkPetalVortexTemplate, ANIM_TARGET, 2, 0, 32, 480, 20, 16, -46, 1 + delay 2 + createsprite gPinkPetalVortexTemplate, ANIM_TARGET, 2, 0, 33, 576, 20, 8, 42, 1 + delay 2 + createsprite gPinkPetalVortexTemplate, ANIM_TARGET, 2, 0, 31, 400, 25, 11, -42, 1 + delay 2 + createsprite gPinkPetalVortexTemplate, ANIM_TARGET, 2, 0, 28, 512, 25, 16, 46, 1 + delay 2 + createsprite gPinkPetalVortexTemplate, ANIM_TARGET, 2, 0, 33, 464, 30, 15, -50, 1 + delay 2 + return -Move_VEEVEE_VOLLEY:: - end @to do: +gBattleAnimMove_VeeveeVolley:: + createvisualtask AnimTask_GetReturnPowerLevel, 2 + delay 2 + jumpreteq 0, gBattleAnimMove_Tackle + jumpreteq 1, gBattleAnimMove_Headbutt + jumpreteq 2, gBattleAnimMove_TakeDown + jumpreteq 3, gBattleAnimMove_DoubleEdge -Move_DOUBLE_IRON_BASH:: +gBattleAnimMove_DoubleIronBash:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_IMPACT loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 0x1c, 0x2 @@ -12774,10 +13106,10 @@ Move_DOUBLE_IRON_BASH:: end @@@@@@@@@@@@@@@@@@@@@@@ GEN 8 @@@@@@@@@@@@@@@@@@@@@@@ -Move_DYNAMAX_CANNON:: - goto Move_HYPER_BEAM +gBattleAnimMove_DynamaxCannon:: + goto gBattleAnimMove_HyperBeam -Move_SNIPE_SHOT:: +gBattleAnimMove_SnipeShot:: loadspritegfx ANIM_TAG_IMPACT_2 loadspritegfx ANIM_TAG_LEER createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 0, 0, 16, 0 @;Black @@ -12795,7 +13127,7 @@ Move_SNIPE_SHOT:: waitforvisualfinish end -Move_JAW_LOCK:: +gBattleAnimMove_JawLock:: loadspritegfx ANIM_TAG_SHARP_TEETH loadspritegfx ANIM_TAG_IMPACT createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SHARP_TEETH, 0, 10, 10, 0x0B1D @Light orange @@ -12815,7 +13147,7 @@ Move_JAW_LOCK:: delay 0x1 end -Move_STUFF_CHEEKS:: +gBattleAnimMove_StuffCheeks:: loadspritegfx ANIM_TAG_BERRY_NORMAL loadspritegfx ANIM_TAG_SHARP_TEETH loadspritegfx ANIM_TAG_THIN_RING @@ -12853,7 +13185,7 @@ BiteOpponent: createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, 0xffDF, 0x10, 0x4, 0x0, 0xfccd, 0xa return -Move_NO_RETREAT:: +gBattleAnimMove_NoRetreat:: loadspritegfx ANIM_TAG_SMALL_EMBER loopsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER 0x7 0x12 createsprite gNoRetreatFlameTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 20, 10, 0xA0, 0 @@ -12862,7 +13194,7 @@ Move_NO_RETREAT:: waitforvisualfinish end -Move_TAR_SHOT:: +gBattleAnimMove_TarShot:: loadspritegfx ANIM_TAG_POISON_BUBBLE createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_POISON_BUBBLE, 0, 15, 15, 0 @Black monbg ANIM_TARGET @@ -12886,7 +13218,7 @@ Move_TAR_SHOT:: clearmonbg ANIM_TARGET end -Move_MAGIC_POWDER:: +gBattleAnimMove_MagicPowder:: loadspritegfx ANIM_TAG_POISON_POWDER loadspritegfx ANIM_TAG_WATER_GUN loopsewithpan SE_M_MORNING_SUN, SOUND_PAN_ATTACKER 0xE 0x8 @@ -12914,7 +13246,7 @@ Move_MAGIC_POWDER:: waitforvisualfinish end -Move_DRAGON_DARTS:: +gBattleAnimMove_DragonDarts:: loadspritegfx ANIM_TAG_DREEPY_SHINY loadspritegfx ANIM_TAG_DREEPY loadspritegfx ANIM_TAG_AIR_WAVE @@ -12928,7 +13260,7 @@ Move_DRAGON_DARTS:: waitforvisualfinish end -Move_TEATIME:: +gBattleAnimMove_Teatime:: loadspritegfx ANIM_TAG_TEAPOT loadspritegfx ANIM_TAG_THOUGHT_BUBBLE createsprite gThoughtBubbleSpriteTemplate, ANIM_ATTACKER, 11, 0, 100 @@ -12942,7 +13274,7 @@ Move_TEATIME:: waitforvisualfinish end -Move_OCTOLOCK:: +gBattleAnimMove_Octolock:: loadspritegfx ANIM_TAG_TENDRILS createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_TENDRILS, 0, 12, 12, 0x3D98 @Pinkish Red loopsewithpan SE_M_SCRATCH, SOUND_PAN_TARGET 0x6 0x4 @@ -12961,7 +13293,7 @@ Move_OCTOLOCK:: waitforvisualfinish end -Move_BOLT_BEAK:: +gBattleAnimMove_BoltBeak:: loadspritegfx ANIM_TAG_HORN_HIT loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SPARK_2 @@ -13014,7 +13346,7 @@ BoltBeakSparks: delay 0x4 return -Move_FISHIOUS_REND:: +gBattleAnimMove_FishiousRend:: loadspritegfx ANIM_TAG_SHARP_TEETH @Teeth loadspritegfx ANIM_TAG_SMALL_BUBBLES createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SHARP_TEETH, 0, 10, 10, 0x726A @Blue Teeth @@ -13068,10 +13400,10 @@ FishousRendBubbles: createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0xA, 0x0 return -Move_COURT_CHANGE:: - goto Move_TRICK_ROOM +gBattleAnimMove_CourtChange:: + goto gBattleAnimMove_TrickRoom -Move_CLANGOROUS_SOUL:: +gBattleAnimMove_ClangorousSoul:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_WATER_ORB @blue loadspritegfx ANIM_TAG_POISON_BUBBLE @purple @@ -13088,6 +13420,9 @@ Move_CLANGOROUS_SOUL:: createsprite gClangorousSoulRedFistTemplate, ANIM_ATTACKER, 2, 0x10, 0, 0, 0, 10, ANIM_ATTACKER, ANIM_LEFT_FIST, 1 playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET waitforvisualfinish + unloadspritegfx ANIM_TAG_HORSESHOE_SIDE_FIST + unloadspritegfx ANIM_TAG_SPARKLE_2 @stars + waitforvisualfinish loadspritegfx ANIM_TAG_THIN_RING @ring playsewithpan SE_SHINY, SOUND_PAN_ATTACKER createsprite gClangorousSoulRedRingTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x0, 0x0 @@ -13107,7 +13442,7 @@ ClangorousSoulStarBuffEffect: createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, 0xc, 0xfffb, 0x0, 0x0, 0x20, 0x3c return -Move_BODY_PRESS:: +gBattleAnimMove_BodyPress:: loadspritegfx ANIM_TAG_ROUND_SHADOW @fly and bounce animation loadspritegfx ANIM_TAG_GRAY_SMOKE @smoke createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_ROUND_SHADOW, 0, 0xD, 0xD, 0x1E5D @Orange @@ -13124,10 +13459,10 @@ Move_BODY_PRESS:: waitforvisualfinish end -Move_DECORATE:: - goto Move_FLOWER_SHIELD +gBattleAnimMove_Decorate:: + goto gBattleAnimMove_FlowerShield -Move_DRUM_BEATING:: +gBattleAnimMove_DrumBeating:: loadspritegfx ANIM_TAG_MUSIC_NOTES loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE loadspritegfx ANIM_TAG_ROOTS @@ -13188,10 +13523,33 @@ Move_DRUM_BEATING:: blendoff end -Move_SNAP_TRAP:: @ placeholder - goto Move_BITE +gBattleAnimMove_SnapTrap:: + loadspritegfx ANIM_TAG_LEAF @leaves + loadspritegfx ANIM_TAG_FLOWER @flowers + loadspritegfx ANIM_TAG_SHARP_TEETH + loadspritegfx ANIM_TAG_IMPACT + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SHARP_TEETH, 0, 10, 10, 0x0688 + monbg ANIM_TARGET + setalpha 12, 8 + playsewithpan SE_M_BITE, SOUND_PAN_TARGET + createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, 0, -32, 0, 0, 819, 10 + createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, 0, 32, 4, 0, -819, 10 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1 + playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET + delay 10 + playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER + createsprite gTropKickLeavesTemplate, ANIM_TARGET, 1, 0, 10, 192, 176, 40 + createsprite gTropKickLeavesTemplate, ANIM_TARGET, 1, 0, 10, -192, 240, 40 + createsprite gTropKickLeavesTemplate, ANIM_TARGET, 1, 0, 10, 192, -160, 40 + createsprite gTropKickLeavesTemplate, ANIM_TARGET, 1, 0, 10, -192, -112, 40 + createsprite gTropKickLeavesTemplate, ANIM_TARGET, 1, 0, 10, 160, 48, 40 + createsprite gTropKickLeavesTemplate, ANIM_TARGET, 1, 0, 10, -224, -32, 40 + createsprite gTropKickLeavesTemplate, ANIM_TARGET, 1, 0, 10, 112, -128, 40 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end -Move_PYRO_BALL:: +gBattleAnimMove_PyroBall:: loadspritegfx ANIM_TAG_FLAT_ROCK loadspritegfx ANIM_TAG_SMALL_EMBER playsewithpan SE_LEDGE, SOUND_PAN_ATTACKER @;Hop @@ -13219,13 +13577,13 @@ Move_PYRO_BALL:: waitforvisualfinish end -Move_BEHEMOTH_BLADE:: - goto Move_SACRED_SWORD +gBattleAnimMove_BehemothBlade:: + goto gBattleAnimMove_SacredSword -Move_BEHEMOTH_BASH:: - goto Move_SUNSTEEL_STRIKE +gBattleAnimMove_BehemothBash:: + goto gBattleAnimMove_SunsteelStrike -Move_AURA_WHEEL:: +gBattleAnimMove_AuraWheel:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_SPARK_2 @@ -13273,7 +13631,7 @@ Move_AURA_WHEEL:: blendoff end -Move_BREAKING_SWIPE:: +gBattleAnimMove_BreakingSwipe:: loadspritegfx ANIM_TAG_IMPACT @hits loadspritegfx ANIM_TAG_SPARK_2 createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_IMPACT, 0, 12, 12, 0x001F @Red @@ -13303,7 +13661,7 @@ Move_BREAKING_SWIPE:: clearmonbg ANIM_TARGET end -Move_BRANCH_POKE:: +gBattleAnimMove_BranchPoke:: loadspritegfx ANIM_TAG_BRANCH loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER @@ -13315,7 +13673,7 @@ Move_BRANCH_POKE:: waitforvisualfinish end -Move_OVERDRIVE:: +gBattleAnimMove_Overdrive:: loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_SPARK_2 loadspritegfx ANIM_TAG_ELECTRICITY @@ -13341,7 +13699,7 @@ OverdriveRings: createvisualtask SoundTask_WaitForCry, 0x5 return -Move_APPLE_ACID:: +gBattleAnimMove_AppleAcid:: loadspritegfx ANIM_TAG_APPLE loadspritegfx ANIM_TAG_POISON_BUBBLE createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_POISON_BUBBLE, 0, 12, 12, 0x061D @Orange @@ -13377,7 +13735,7 @@ Move_APPLE_ACID:: clearmonbg ANIM_TARGET end -Move_GRAV_APPLE:: +gBattleAnimMove_GravApple:: loadspritegfx ANIM_TAG_APPLE fadetobg BG_IN_AIR waitbgfadeout @@ -13428,7 +13786,7 @@ SmallAppleShower: return @ credits to Skeli -Move_SPIRIT_BREAK:: +gBattleAnimMove_SpiritBreak:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_TEAL_ALERT loadspritegfx ANIM_TAG_EXPLOSION_2 @@ -13454,7 +13812,7 @@ Move_SPIRIT_BREAK:: waitforvisualfinish end -Move_STRANGE_STEAM:: +gBattleAnimMove_StrangeSteam:: loadspritegfx ANIM_TAG_PINK_CLOUD loadspritegfx ANIM_TAG_FINGER loadspritegfx ANIM_TAG_WATER_GUN @blue colour @@ -13487,7 +13845,7 @@ StrangeSteamCloud: delay 0x2 return -Move_LIFE_DEW:: +gBattleAnimMove_LifeDew:: loadspritegfx ANIM_TAG_WATER_DROPLET loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_ATK_PARTNER @@ -13513,7 +13871,7 @@ Move_LIFE_DEW:: clearmonbg ANIM_ATK_PARTNER end -Move_OBSTRUCT:: +gBattleAnimMove_Obstruct:: loadspritegfx ANIM_TAG_NOISE_LINE @growl loadspritegfx ANIM_TAG_PROTECT loadspritegfx ANIM_TAG_OBSTRUCT_CROSS @@ -13535,7 +13893,7 @@ Move_OBSTRUCT:: end @Credits to Skeli -Move_FALSE_SURRENDER:: +gBattleAnimMove_FalseSurrender:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_CROSS_IMPACT monbg ANIM_ATTACKER @@ -13573,7 +13931,7 @@ Move_FALSE_SURRENDER:: waitbgfadein end -Move_METEOR_ASSAULT:: +gBattleAnimMove_MeteorAssault:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_METEOR loadspritegfx ANIM_TAG_EXPLOSION @@ -13612,10 +13970,10 @@ BasicExplosion: createsprite gExplosionSpriteTemplate, ANIM_TARGET, 3, 0x10, 0x10, 0x1, 0x1 return -Move_ETERNABEAM:: - goto Move_HYPER_BEAM +gBattleAnimMove_Eternabeam:: + goto gBattleAnimMove_HyperBeam -Move_STEEL_BEAM:: +gBattleAnimMove_SteelBeam:: loadspritegfx ANIM_TAG_CLAW_SLASH loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 createvisualtask AnimTask_MetallicShine, 5, 0, 0, RGB_BLACK @@ -13676,7 +14034,7 @@ SetSteelBeamBgPlayer: fadetobg BG_STEEL_BEAM_PLAYER @Credits to Skeli -Move_EXPANDING_FORCE:: +gBattleAnimMove_ExpandingForce:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_EXPLOSION_2 createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_CIRCLE_OF_LIGHT, 0x0, 0xA, 0xA, 0x7DDE @@ -13787,7 +14145,7 @@ MaxKnuckleExplosionGeyser: @Credits to Skeli -Move_STEEL_ROLLER:: +gBattleAnimMove_SteelRoller:: loadspritegfx ANIM_TAG_STEAMROLLER loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS @@ -13810,7 +14168,7 @@ SteelRollerRocks: return @Credits to Skeli -Move_SCALE_SHOT:: +gBattleAnimMove_ScaleShot:: loadspritegfx ANIM_TAG_SHELL_RIGHT loadspritegfx ANIM_TAG_IMPACT createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 0x4, 0x6 @@ -13827,7 +14185,7 @@ Move_SCALE_SHOT:: end @Credits to Skeli -Move_METEOR_BEAM:: +gBattleAnimMove_MeteorBeam:: loadspritegfx ANIM_TAG_ROCKS fadetobg BG_COSMIC waitbgfadeout @@ -13886,11 +14244,11 @@ MeteorBeamRockLaunch: delay 0x2 return -Move_SHELL_SIDE_ARM:: +gBattleAnimMove_ShellSideArm:: createvisualtask AnimTask_ShellSideArm, 0x5 - jumpargeq 0x0, TRUE, Move_SHELL_SIDE_ARM_PHYSICAL - jumpargeq 0x0, FALSE, Move_SHELL_SIDE_ARM_SPECIAL -Move_SHELL_SIDE_ARM_PHYSICAL:: @ Modified Body Slam, placeholder + jumpargeq 0x0, TRUE, gBattleAnimMove_ShellSideArmPhysical + jumpargeq 0x0, FALSE, gBattleAnimMove_ShellSideArmSpecial +gBattleAnimMove_ShellSideArmPhysical:: @ Modified Body Slam, placeholder loadspritegfx ANIM_TAG_IMPACT createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_IMPACT, 0, 6, 6, RGB_MAGENTA monbg ANIM_DEF_PARTNER @@ -13916,7 +14274,7 @@ Move_SHELL_SIDE_ARM_PHYSICAL:: @ Modified Body Slam, placeholder clearmonbg ANIM_DEF_PARTNER blendoff end -Move_SHELL_SIDE_ARM_SPECIAL:: @ Modified Snipe Shot, placeholder +gBattleAnimMove_ShellSideArmSpecial:: @ Modified Snipe Shot, placeholder loadspritegfx ANIM_TAG_IMPACT_2 loadspritegfx ANIM_TAG_LEER createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_IMPACT_2, 0, 6, 6, RGB_MAGENTA @@ -13933,7 +14291,7 @@ Move_SHELL_SIDE_ARM_SPECIAL:: @ Modified Snipe Shot, placeholder end @Credits to Skeli -Move_MISTY_EXPLOSION:: +gBattleAnimMove_MistyExplosion:: loadspritegfx ANIM_TAG_EXPLOSION createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1, 0x8, 0x9, 0x7A5B, 0x8, 0x0, 0x8 createvisualtask AnimTask_ShakeMon2, 5, ANIM_PLAYER_LEFT, 8, 0, 40, 1 @@ -13950,7 +14308,7 @@ Move_MISTY_EXPLOSION:: end @Credits to Skeli -Move_GRASSY_GLIDE:: +gBattleAnimMove_GrassyGlide:: loadspritegfx ANIM_TAG_LEAF @leaves loadspritegfx ANIM_TAG_IMPACT @hits loadspritegfx ANIM_TAG_WHIP_HIT @@ -13966,7 +14324,7 @@ Move_GRASSY_GLIDE:: end @Credits to Skeli -Move_RISING_VOLTAGE:: +gBattleAnimMove_RisingVoltage:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_SPARK_2 @@ -14038,7 +14396,7 @@ ANIM_RISING_VOLTAGE_STRONGER: end -Move_TERRAIN_PULSE:: +gBattleAnimMove_TerrainPulse:: loadspritegfx ANIM_TAG_DRAGON_PULSE monbg ANIM_TARGET setalpha 12, 8 @@ -14121,7 +14479,7 @@ TerrainPulseEnd: clearmonbg ANIM_TARGET end -Move_SKITTER_SMACK:: +gBattleAnimMove_SkitterSmack:: loadspritegfx ANIM_TAG_IMPACT @Hits loadspritegfx ANIM_TAG_WHITE_SHADOW @Destiny Bond loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @Black Colour @@ -14170,7 +14528,7 @@ Move_SKITTER_SMACK:: end @Credits to Skeli -Move_BURNING_JEALOUSY:: +gBattleAnimMove_BurningJealousy:: loadspritegfx ANIM_TAG_SMALL_EMBER playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 42, 1 @@ -14223,7 +14581,7 @@ BurningJealousyFlames: @Credits to Skeli -Move_LASH_OUT:: +gBattleAnimMove_LashOut:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_HANDS_AND_FEET @black color loadspritegfx ANIM_TAG_SLAM_HIT_2 @@ -14264,7 +14622,7 @@ Move_LASH_OUT:: end -Move_POLTERGEIST:: +gBattleAnimMove_Poltergeist:: loadspritegfx ANIM_TAG_EYE_SPARKLE loadspritegfx ANIM_TAG_WHITE_SHADOW @Destiny Bond loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @Black Colour @@ -14303,7 +14661,7 @@ Move_POLTERGEIST:: end @Credits to Skeli -Move_CORROSIVE_GAS:: +gBattleAnimMove_CorrosiveGas:: loadspritegfx ANIM_TAG_PINK_CLOUD @Fumes createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_PINK_CLOUD, 0x0, 0xE, 0xE, 0x19EF @;Garbage green monbg ANIM_ATTACKER @@ -14329,7 +14687,7 @@ Move_CORROSIVE_GAS:: end @Credits to Skeli -Move_COACHING:: +gBattleAnimMove_Coaching:: playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 1 waitforvisualfinish @@ -14340,7 +14698,7 @@ Move_COACHING:: end @Credits to Skeli -Move_FLIP_TURN:: +gBattleAnimMove_FlipTurn:: loadspritegfx ANIM_TAG_ICE_CRYSTALS @;Bubbles loadspritegfx ANIM_TAG_HYDRO_PUMP loadspritegfx ANIM_TAG_WATER_IMPACT @@ -14364,7 +14722,7 @@ Move_FLIP_TURN:: @Credits to Skeli -Move_TRIPLE_AXEL:: +gBattleAnimMove_TripleAxel:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -14409,7 +14767,7 @@ TripleAxelEnd: end @Credits to Skeli -Move_DUAL_WINGBEAT:: +gBattleAnimMove_DualWingbeat:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_WHITE_FEATHER setalpha 12, 8 @@ -14466,7 +14824,7 @@ DualWingbeatFeatherScatterRight: return @ credits to Skeli -Move_SCORCHING_SANDS:: +gBattleAnimMove_ScorchingSands:: loadspritegfx ANIM_TAG_MUD_SAND loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_ATK_PARTNER @@ -14491,7 +14849,7 @@ Move_SCORCHING_SANDS:: end @ credits to skeli -Move_JUNGLE_HEALING:: +gBattleAnimMove_JungleHealing:: loadspritegfx ANIM_TAG_ROOTS loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_SPARKLE_2 @@ -14529,7 +14887,7 @@ Move_JUNGLE_HEALING:: end @ credits to ghoulslash -Move_SILK_TRAP:: +gBattleAnimMove_SilkTrap:: loadspritegfx ANIM_TAG_PROTECT loadspritegfx ANIM_TAG_SPIDER_WEB splitbgprio ANIM_ATTACKER @@ -14545,7 +14903,7 @@ Move_SILK_TRAP:: end @ Also used by Snow weather. Credits to Dat.H A -Move_SNOWSCAPE:: +gBattleAnimMove_Snowscape:: loadspritegfx ANIM_TAG_SNOWFLAKES playsewithpan SE_M_GUST, SOUND_PAN_ATTACKER createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_BG | F_PAL_BATTLERS_2), 2, 0, 4, RGB(11, 18, 22) @@ -14562,7 +14920,7 @@ Move_SNOWSCAPE:: end @Credits to Skeli -Move_WICKED_BLOW:: +gBattleAnimMove_WickedBlow:: loadspritegfx ANIM_TAG_FOCUS_ENERGY loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT @@ -14625,7 +14983,7 @@ WickedBlowBuffEffect: @Credits to Skeli -Move_SURGING_STRIKES:: +gBattleAnimMove_SurgingStrikes:: loadspritegfx ANIM_TAG_IMPACT_2 loadspritegfx ANIM_TAG_WATER_IMPACT jumpifmoveturn 1 SURGING_STRIKES_1 @@ -14672,7 +15030,7 @@ SURGING_STRIKES_2: @Credits to Skeli -Move_THUNDER_CAGE:: +gBattleAnimMove_ThunderCage:: loadspritegfx ANIM_TAG_SHOCK_3 @Thunderbolt Ball loadspritegfx ANIM_TAG_SPARK @Electric lines loadspritegfx ANIM_TAG_SPARK_H @Thunder Wave @@ -14711,7 +15069,7 @@ ThunderCageBolts: @Credits to Skeli -Move_DRAGON_ENERGY:: +gBattleAnimMove_DragonEnergy:: loadspritegfx ANIM_TAG_HYDRO_PUMP createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_HYDRO_PUMP, 0x0, 0xC, 0xC, 0x2C5E @;Regidrago Reddish Reddish, Purple monbg ANIM_TARGET @@ -14770,7 +15128,7 @@ DragonEnergyShot: @Credits to Skeli -Move_FREEZING_GLARE:: +gBattleAnimMove_FreezingGlare:: loadspritegfx ANIM_TAG_SMALL_RED_EYE loadspritegfx ANIM_TAG_EYE_SPARKLE loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice @@ -14789,7 +15147,7 @@ Move_FREEZING_GLARE:: @Credits to Skeli -Move_FIERY_WRATH:: +gBattleAnimMove_FieryWrath:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_PURPLE_RING monbg ANIM_DEF_PARTNER @@ -14869,7 +15227,7 @@ FieryWrathGeyser: @Credits to Skeli -Move_THUNDEROUS_KICK:: +gBattleAnimMove_ThunderousKick:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_SPARK_2 @@ -14906,7 +15264,7 @@ Move_THUNDEROUS_KICK:: @Credits to Skeli -Move_GLACIAL_LANCE:: +gBattleAnimMove_GlacialLance:: loadspritegfx ANIM_TAG_ICICLE_SPEAR loadspritegfx ANIM_TAG_ICE_CUBE loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice @@ -14931,12 +15289,49 @@ Move_GLACIAL_LANCE:: end -Move_ASTRAL_BARRAGE:: - goto Move_SHADOW_BALL +gBattleAnimMove_AstralBarrage:: + loadspritegfx ANIM_TAG_FLAT_ROCK + loadspritegfx ANIM_TAG_ICE_CRYSTALS + loadspritegfx ANIM_TAG_GHOSTLY_SPIRIT + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_FLAT_ROCK, 0x0, 0xA, 0xA, RGB(2, 1, 4) + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_ICE_CRYSTALS, 0x0, 0xA, 0xA, RGB(2, 1, 4) + monbg ANIM_ATK_PARTNER + splitbgprio ANIM_ATTACKER + setalpha 12, 8 + fadetobg BG_GHOST + waitbgfadein + createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_ATTACKER, 2, 4, 1, 180, 1 + createsoundtask SoundTask_LoopSEAdjustPanning, SE_M_FAINT_ATTACK, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 5, 20, 0, 5 + createsprite gSuperpowerRockSpriteTemplate, ANIM_ATTACKER, 41, 200, 96, 1, 120 + delay 8 + createsprite gSuperpowerRockSpriteTemplate, ANIM_ATTACKER, 41, 20, 248, 4, 112 + delay 8 + createsprite gSuperpowerRockSpriteTemplate, ANIM_ATTACKER, 41, 130, 160, 2, 104 + delay 8 + createsprite gSuperpowerRockSpriteTemplate, ANIM_ATTACKER, 41, 160, 192, 0, 96 + delay 8 + createsprite gSuperpowerRockSpriteTemplate, ANIM_ATTACKER, 41, 60, 288, 3, 88 + delay 74 + panse SE_M_BLIZZARD, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 + call BlizzardIceCrystals + call BlizzardIceCrystals + playsewithpan SE_M_BLIZZARD2, SOUND_PAN_TARGET + waitforvisualfinish + playsewithpan SE_M_NIGHTMARE, SOUND_PAN_TARGET + createspriteontargets gCurseGhostSpriteTemplate, ANIM_TARGET, 3, 2, 8, -5, ANIM_TARGET, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 8, 0, 16, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 8, 0, 16, 1 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + restorebg + waitbgfadein + blendoff + delay 1 + end @Credits to Skeli -Move_EERIE_SPELL:: +gBattleAnimMove_EerieSpell:: loadspritegfx ANIM_TAG_PURPLE_FLAME call SetPsychicBackground waitforvisualfinish @@ -14979,7 +15374,7 @@ EerieSpellConvergingFlames: @@@@@@@@@@@@@@@@@@@@@@@ GEN 9 @@@@@@@@@@@@@@@@@@@@@@@ @ credits to Skeli -Move_DIRE_CLAW:: +gBattleAnimMove_DireClaw:: loadspritegfx ANIM_TAG_SLASH loadspritegfx ANIM_TAG_POISON_BUBBLE createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SLASH, 0x0, 0xC, 0xC, 0x6038 @;Purple @@ -15000,7 +15395,7 @@ Move_DIRE_CLAW:: @ credits to Skeli -Move_PSYSHIELD_BASH:: +gBattleAnimMove_PsyshieldBash:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_WATER_GUN @Blue colour call SetPsychicBackground @@ -15029,7 +15424,7 @@ Move_PSYSHIELD_BASH:: end @ credits to skeli -Move_POWER_SHIFT:: +gBattleAnimMove_PowerShift:: loadspritegfx ANIM_TAG_BLUEGREEN_ORB loadspritegfx ANIM_TAG_RED_HEART @Red colour for orb monbg ANIM_ATK_PARTNER @@ -15045,7 +15440,7 @@ Move_POWER_SHIFT:: @ credits to skeli -Move_STONE_AXE:: +gBattleAnimMove_StoneAxe:: loadspritegfx ANIM_TAG_SLAM_HIT_2 @Cut loadspritegfx ANIM_TAG_ROCKS monbg ANIM_TARGET @@ -15075,12 +15470,13 @@ StoneAxeRockFragments: @Credits to Skeli -Move_SPRINGTIDE_STORM:: +gBattleAnimMove_SpringtideStorm:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_RED_HEART playsewithpan SE_M_GUST, SOUND_PAN_TARGET - createvisualtaskontargets AnimTask_ShakeMon2, 2, 0, ANIM_TARGET, 0, 4, 0x58, 1 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x6, 0x0, 0xB, 0x7ADF + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 88, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 88, 1 + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_TARGET | F_PAL_DEF_PARTNER), 2, 6, 0, 11, 0x7ADF call HurricaneGustCentered call SpringtideStormHeartSwirl call HurricaneGustCentered @@ -15113,7 +15509,7 @@ SpringtideStormHeartSwirl: @Credits to Skeli -Move_MYSTICAL_POWER:: +gBattleAnimMove_MysticalPower:: loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_POISON_BUBBLE @Purple Colour loadspritegfx ANIM_TAG_HYDRO_PUMP @Blue colour @@ -15168,7 +15564,7 @@ MysticalPowerFoeTwoRingsOnly: @Credits to Skeli -Move_RAGING_FURY:: +gBattleAnimMove_RagingFury:: loadspritegfx ANIM_TAG_SMALL_EMBER loopsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER, 0x8, 0x3 createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER | F_PAL_TARGET), 2, 5, 3, 8, RGB_RED @@ -15185,7 +15581,7 @@ Move_RAGING_FURY:: end @Credits to Skeli -Move_WAVE_CRASH:: +gBattleAnimMove_WaveCrash:: loadspritegfx ANIM_TAG_WATER_IMPACT loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_ICE_CRYSTALS @Bubbles on attacker @@ -15206,7 +15602,7 @@ Move_WAVE_CRASH:: @Credits to Skeli -Move_CHLOROBLAST:: +gBattleAnimMove_Chloroblast:: loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_HYDRO_PUMP createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_THIN_RING, 0x0, 0xA, 0xA, 0x03AC @@ -15267,7 +15663,7 @@ ChloroblastShot: return @Credits to Skeli -Move_MOUNTAIN_GALE:: +gBattleAnimMove_MountainGale:: loadspritegfx ANIM_TAG_ROCKS @Rocks loadspritegfx ANIM_TAG_DRAGON_ASCENT_FOE @White Rock Colour monbg ANIM_TARGET @@ -15300,7 +15696,7 @@ MountainGaleIceRock: @Credits to Skeli -Move_VICTORY_DANCE:: +gBattleAnimMove_VictoryDance:: loadspritegfx ANIM_TAG_HOLLOW_ORB createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 40, 6, 3, 3 playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER @@ -15320,7 +15716,7 @@ Move_VICTORY_DANCE:: end @Credits to Skeli -Move_HEADLONG_RUSH:: +gBattleAnimMove_HeadlongRush:: loadspritegfx ANIM_TAG_MUD_SAND @Dig loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_EXPLOSION_2 @@ -15407,7 +15803,7 @@ MaxQuake_DirtGeyser: @Credits to Skeli -Move_BARB_BARRAGE:: +gBattleAnimMove_BarbBarrage:: loadspritegfx ANIM_TAG_SPIKES loadspritegfx ANIM_TAG_SHADOW_BALL @Spikes colour loadspritegfx ANIM_TAG_POISON_BUBBLE @@ -15440,7 +15836,7 @@ BarbBarrageSpikeShoot: @Credits to Skeli -Move_ESPER_WING:: +gBattleAnimMove_EsperWing:: loadspritegfx ANIM_TAG_PUNISHMENT_BLADES @Punishment Blade loadspritegfx ANIM_TAG_WHITE_FEATHER createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_WHITE_FEATHER, 0x0, 0xA, 0xA, 0x7DDE @@ -15477,7 +15873,7 @@ WingAttackFeatherScatter: @Credits to Skeli -Move_BITTER_MALICE:: +gBattleAnimMove_BitterMalice:: loadspritegfx ANIM_TAG_PURPLE_RING loadspritegfx ANIM_TAG_EYE_SPARKLE loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -15511,7 +15907,7 @@ BitterMaliceSwirl: return @ credits to Skeli -Move_SHELTER:: +gBattleAnimMove_Shelter:: loadspritegfx ANIM_TAG_SHELL_LEFT loadspritegfx ANIM_TAG_SHELL_RIGHT playsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER @@ -15527,7 +15923,7 @@ Move_SHELTER:: @Credits to Skeli -Move_TRIPLE_ARROWS:: +gBattleAnimMove_TripleArrows:: loadspritegfx ANIM_TAG_SPIRIT_ARROW @Arrow loadspritegfx ANIM_TAG_HANDS_AND_FEET monbg ANIM_DEF_PARTNER @@ -15561,7 +15957,7 @@ TripleArrowsOnOpponent: @Credits to Skeli -Move_INFERNAL_PARADE:: +gBattleAnimMove_InfernalParade:: loadspritegfx ANIM_TAG_PURPLE_FLAME loadspritegfx ANIM_TAG_WISP_FIRE monbg ANIM_TARGET @@ -15607,7 +16003,7 @@ InfernalFlames: @Credits to Skeli -Move_CEASELESS_EDGE:: +gBattleAnimMove_CeaselessEdge:: loadspritegfx ANIM_TAG_SLASH playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x2C, 0x0, 0x0, 0x5 @@ -15645,12 +16041,13 @@ CeaselessEdgeSlashes: @Credits to Skeli -Move_BLEAKWIND_STORM:: +gBattleAnimMove_BleakwindStorm:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_ICE_CRYSTALS playsewithpan SE_M_GUST, SOUND_PAN_TARGET - createvisualtaskontargets AnimTask_ShakeMon2, 2, 0, ANIM_TARGET, 0, 4, 0x58, 1 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x7FFF + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 88, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 88, 1 + createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_TARGET | F_PAL_DEF_PARTNER), 4, 0, 11, 0x7FFF call HurricaneGustCentered call BleakwindStormIceSwirl call HurricaneGustCentered @@ -15665,7 +16062,7 @@ Move_BLEAKWIND_STORM:: call BleakwindStormIceSwirl waitforvisualfinish stopsound - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x7FFF + createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_TARGET | F_PAL_DEF_PARTNER), 1, 11, 0, 0x7FFF waitforvisualfinish end BleakwindStormIceSwirl: @@ -15684,16 +16081,17 @@ BleakwindStormIceSwirl: @Credits to Skeli -Move_WILDBOLT_STORM:: +gBattleAnimMove_WildboltStorm:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_SPARK_2 fadetobg BG_MAX_LIGHTNING waitbgfadeout - createvisualtask AnimTask_StartSlidingBg, 0x5, 0xff00, 0x0, 0x1, 0xffff + createvisualtask AnimTask_StartSlidingBg, 5, -256, 0, 1, 0xffff waitbgfadein playsewithpan SE_M_GUST, SOUND_PAN_TARGET - createvisualtaskontargets AnimTask_ShakeMon2, 2, 0, ANIM_TARGET, 0, 4, 0x58, 1 - createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x07FE + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 88, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 88, 1 + createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_TARGET | F_PAL_DEF_PARTNER), 4, 0, 11, 0x07FE call HurricaneGustCentered call WildboltStormSparkSwirl call HurricaneGustCentered @@ -15708,7 +16106,7 @@ Move_WILDBOLT_STORM:: call WildboltStormSparkSwirl waitforvisualfinish stopsound - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x07FE + createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_TARGET | F_PAL_DEF_PARTNER), 1, 11, 0, 0x07FE call UnsetPsychicBg waitforvisualfinish end @@ -15729,13 +16127,14 @@ WildboltStormSparkSwirl: @Credits to Skeli -Move_SANDSEAR_STORM:: +gBattleAnimMove_SandsearStorm:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_SMALL_EMBER createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_GUST, 0x0, 0xA, 0xA, 0x190B playsewithpan SE_M_GUST, SOUND_PAN_TARGET - createvisualtaskontargets AnimTask_ShakeMon2, 2, 0, ANIM_TARGET, 0, 4, 0x58, 1 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x1F + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 88, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 88, 1 + createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_TARGET | F_PAL_DEF_PARTNER), 4, 0, 11, 0x1F call HurricaneGustCentered call SandsearStormFireSpin call HurricaneGustCentered @@ -15750,7 +16149,7 @@ Move_SANDSEAR_STORM:: call SandsearStormFireSpin waitforvisualfinish stopsound - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x1F + createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_TARGET | F_PAL_DEF_PARTNER), 1, 11, 0, 0x1F waitforvisualfinish end @@ -15770,7 +16169,7 @@ SandsearStormFireSpin: @Credits to Skeli -Move_LUNAR_BLESSING:: +gBattleAnimMove_LunarBlessing:: loadspritegfx ANIM_TAG_BLUE_STAR loadspritegfx ANIM_TAG_MOON loadspritegfx ANIM_TAG_SPARKLE_2 @@ -15805,7 +16204,7 @@ Move_LUNAR_BLESSING:: @Credits to Skeli -Move_TAKE_HEART:: +gBattleAnimMove_TakeHeart:: loadspritegfx ANIM_TAG_RED_HEART loadspritegfx ANIM_TAG_SPARKLE_2 loadspritegfx ANIM_TAG_GUARD_RING @@ -15834,7 +16233,7 @@ TakeHeartRings: delay 0x4 return -Move_BITTER_BLADE:: +gBattleAnimMove_BitterBlade:: loadspritegfx ANIM_TAG_FOCUS_ENERGY loadspritegfx ANIM_TAG_CLAW_SLASH loadspritegfx ANIM_TAG_POISON_BUBBLE @@ -15870,7 +16269,7 @@ Move_BITTER_BLADE:: blendoff end -Move_DOUBLE_SHOCK:: +gBattleAnimMove_DoubleShock:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_LIGHTNING @@ -15902,13 +16301,13 @@ Move_DOUBLE_SHOCK:: waitforvisualfinish end -Move_SYRUP_BOMB:: +gBattleAnimMove_SyrupBomb:: createvisualtask AnimTask_SyrupBomb, 0x5 - jumpargeq 0x0, FALSE, Move_SYRUP_BOMB_RED - jumpargeq 0x0, TRUE, Move_SYRUP_BOMB_YELLOW + jumpargeq 0x0, FALSE, gBattleAnimMove_SyrupBombRed + jumpargeq 0x0, TRUE, gBattleAnimMove_SyrupBombYellow @ Credits to Dat.H A -Move_SYRUP_BOMB_RED:: +gBattleAnimMove_SyrupBombRed:: loadspritegfx ANIM_TAG_SYRUP_BLOB_RED loadspritegfx ANIM_TAG_SYRUP_SPLAT_RED loadspritegfx ANIM_TAG_SYRUP_SHELL_RED @@ -15946,7 +16345,7 @@ SyrupBombProjectileRed: delay 3 return -Move_SYRUP_BOMB_YELLOW:: +gBattleAnimMove_SyrupBombYellow:: loadspritegfx ANIM_TAG_SYRUP_BLOB_YELLOW loadspritegfx ANIM_TAG_SYRUP_SPLAT_YELLOW loadspritegfx ANIM_TAG_SYRUP_SHELL_YELLOW @@ -15984,7 +16383,7 @@ SyrupBombProjectileYellow: delay 3 return -General_SyrupBombSpeedDrop:: +gBattleAnimGeneral_SyrupBombSpeedDrop:: createvisualtask AnimTask_StickySyrup, 0x5 jumpargeq 0x0, FALSE, SyrupBombSpeedDropRed jumpargeq 0x0, TRUE, SyrupBombSpeedDropYellow @@ -16009,7 +16408,7 @@ SyrupBombSpeedDropYellow: waitforvisualfinish end -Move_CHILLY_RECEPTION:: +gBattleAnimMove_ChillyReception:: loadspritegfx ANIM_TAG_CONFETTI loadspritegfx ANIM_TAG_PINK_CLOUD loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -16080,10 +16479,33 @@ ChillyReceptionSnowballs: delay 3 return -Move_BURNING_BULWARK:: - goto Move_PROTECT +gBattleAnimMove_BurningBulwark:: + loadspritegfx ANIM_TAG_PROTECT @protect + loadspritegfx ANIM_TAG_SMALL_EMBER @fire + monbg ANIM_ATK_PARTNER + splitbgprio ANIM_ATTACKER + waitplaysewithpan SE_M_REFLECT, SOUND_PAN_ATTACKER 16 + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_PROTECT, 0, 13, 13, 0x015B + createsprite gProtectSpriteTemplate, ANIM_ATTACKER, 2, 24, 0, 90 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 0 + delay 2 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 4 + delay 2 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 8 + delay 2 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 12 + delay 2 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 16 + delay 2 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 20 + delay 2 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 24 + createvisualtask AnimTask_BlendMonInAndOut, 3, ANIM_ATTACKER, RGB_RED, 10, 0, 2 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + end -Move_ALLURING_VOICE:: +gBattleAnimMove_AlluringVoice:: loadspritegfx ANIM_TAG_THIN_RING createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x8, 0x6e7d waitforvisualfinish @@ -16104,7 +16526,7 @@ Move_ALLURING_VOICE:: end @ Credits to Z-nogyroP -Move_AQUA_CUTTER:: +gBattleAnimMove_AquaCutter:: loadspritegfx ANIM_TAG_SLASH_2 loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -16143,7 +16565,7 @@ Move_AQUA_CUTTER:: end @ Credits to Z-nogyroP -Move_GIGATON_HAMMER:: +gBattleAnimMove_GigatonHammer:: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_WOOD_HAMMER_HAMMER loadspritegfx ANIM_TAG_CLAW_SLASH @@ -16172,7 +16594,7 @@ GigatonHammerImpact: return @ Credits to Z-nogyroP -Move_ICE_SPINNER:: +gBattleAnimMove_IceSpinner:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_RAPID_SPIN monbg ANIM_ATTACKER @@ -16215,7 +16637,7 @@ IceCrystalSpinEffect: return @ Credits to Z-nogyroP -Move_RAGING_BULL:: +gBattleAnimMove_RagingBull:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ANGER loadspritegfx ANIM_TAG_BREATH @@ -16302,7 +16724,7 @@ RagingBullShatteredWall: end @ Credits to Z-nogyroP. Simple anim that combines Force Palm + Fake Out -Move_UPPER_HAND:: +gBattleAnimMove_UpperHand:: loadspritegfx ANIM_TAG_SHADOW_BALL loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT @@ -16328,7 +16750,7 @@ Move_UPPER_HAND:: blendoff end -Move_JET_PUNCH:: +gBattleAnimMove_JetPunch:: loadspritegfx ANIM_TAG_ICE_CRYSTALS loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT @@ -16370,7 +16792,7 @@ Move_JET_PUNCH:: blendoff end -Move_PSYCHIC_NOISE:: +gBattleAnimMove_PsychicNoise:: loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE loadspritegfx ANIM_TAG_THIN_RING monbg ANIM_DEF_PARTNER @@ -16400,7 +16822,7 @@ Move_PSYCHIC_NOISE:: call UnsetPsychicBg end -Move_TEMPER_FLARE:: +gBattleAnimMove_TemperFlare:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ANGER @@ -16437,7 +16859,7 @@ Move_TEMPER_FLARE:: waitforvisualfinish end -Move_TRAILBLAZE:: +gBattleAnimMove_Trailblaze:: loadspritegfx ANIM_TAG_LEAF loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_FLOWER @@ -16483,7 +16905,7 @@ TrailblazeVortex: delay 0x2 return -Move_LAST_RESPECTS:: +gBattleAnimMove_LastRespects:: loadspritegfx ANIM_TAG_FOCUS_ENERGY loadspritegfx ANIM_TAG_SWEAT_BEAD @blue color loadspritegfx ANIM_TAG_GHOSTLY_SPIRIT @@ -16529,7 +16951,7 @@ Move_LAST_RESPECTS:: waitbgfadein end -Move_TIDY_UP:: +gBattleAnimMove_TidyUp:: loadspritegfx ANIM_TAG_PINK_CLOUD monbg ANIM_ATTACKER setalpha 12, 4 @@ -16550,7 +16972,7 @@ Move_TIDY_UP:: blendoff end -Move_KOWTOW_CLEAVE:: +gBattleAnimMove_KowtowCleave:: loadspritegfx ANIM_TAG_SLASH loadspritegfx ANIM_TAG_CROSS_IMPACT loadspritegfx ANIM_TAG_LEER @@ -16581,7 +17003,7 @@ Move_KOWTOW_CLEAVE:: waitbgfadein end -Move_LUMINA_CRASH:: +gBattleAnimMove_LuminaCrash:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_IMPACT @@ -16645,7 +17067,7 @@ Move_LUMINA_CRASH:: blendoff end -Move_TORCH_SONG:: +gBattleAnimMove_TorchSong:: loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_IMPACT @@ -16704,7 +17126,7 @@ TorchSongEffect: createvisualtask SoundTask_WaitForCry, 5 return -Move_AQUA_STEP:: +gBattleAnimMove_AquaStep:: loadspritegfx ANIM_TAG_GLOWY_BLUE_ORB loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_RAPID_SPIN @@ -16743,7 +17165,7 @@ Move_AQUA_STEP:: clearmonbg ANIM_ATTACKER end -Move_RAGE_FIST:: +gBattleAnimMove_RageFist:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_ANGER @@ -16781,7 +17203,7 @@ Move_RAGE_FIST:: waitbgfadein end -Move_CHILLING_WATER:: +gBattleAnimMove_ChillingWater:: loadspritegfx ANIM_TAG_ICE_CRYSTALS loadspritegfx ANIM_TAG_POISON_BUBBLE monbg ANIM_TARGET @@ -16810,7 +17232,7 @@ Move_CHILLING_WATER:: clearmonbg ANIM_TARGET end -Move_HYDRO_STEAM:: +gBattleAnimMove_HydroSteam:: loadspritegfx ANIM_TAG_WATER_ORB loadspritegfx ANIM_TAG_WATER_IMPACT createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 40, 1 @@ -16844,7 +17266,7 @@ Move_HYDRO_STEAM:: waitforvisualfinish end -Move_POUNCE:: +gBattleAnimMove_Pounce:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -16861,7 +17283,7 @@ Move_POUNCE:: blendoff end -Move_ELECTRO_SHOT:: +gBattleAnimMove_ElectroShot:: choosetwoturnanim ElectroShotSetUp, ElectroShotUnleash ElectroShotEnd: waitforvisualfinish @@ -16949,7 +17371,7 @@ ElectroShotUnleash: blendoff end -Move_IVY_CUDGEL:: +gBattleAnimMove_IvyCudgel:: loadspritegfx ANIM_TAG_IVY_CUDGEL_GRASS loadspritegfx ANIM_TAG_WOOD_HAMMER loadspritegfx ANIM_TAG_WOOD_HAMMER_HAMMER @@ -17002,7 +17424,7 @@ IvyCudgelWater: waitforvisualfinish end -Move_SPICY_EXTRACT:: +gBattleAnimMove_SpicyExtract:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_POISON_BUBBLE loadspritegfx ANIM_TAG_SMALL_BUBBLES @@ -17047,7 +17469,7 @@ Move_SPICY_EXTRACT:: waitforvisualfinish end -Move_AXE_KICK:: +gBattleAnimMove_AxeKick:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER @@ -17062,7 +17484,7 @@ Move_AXE_KICK:: createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 4 end -Move_SPIN_OUT:: +gBattleAnimMove_SpinOut:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_RAPID_SPIN loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 @@ -17088,7 +17510,7 @@ Move_SPIN_OUT:: clearmonbg ANIM_ATTACKER end -Move_MORTAL_SPIN:: +gBattleAnimMove_MortalSpin:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_RAPID_SPIN loadspritegfx ANIM_TAG_POISON_BUBBLE @@ -17113,7 +17535,7 @@ Move_MORTAL_SPIN:: blendoff end -Move_FILLET_AWAY:: +gBattleAnimMove_FilletAway:: loadspritegfx ANIM_TAG_CUT createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 0 playsewithpan SE_M_CUT, SOUND_PAN_ATTACKER @@ -17133,7 +17555,7 @@ Move_FILLET_AWAY:: blendoff end -Move_FLOWER_TRICK:: +gBattleAnimMove_FlowerTrick:: loadspritegfx ANIM_TAG_SPOTLIGHT loadspritegfx ANIM_TAG_LEAF @leaves loadspritegfx ANIM_TAG_FLOWER @flowers @@ -17162,7 +17584,7 @@ Move_FLOWER_TRICK:: createvisualtask AnimTask_RemoveSpotlight, 2 end -Move_MAKE_IT_RAIN:: +gBattleAnimMove_MakeItRain:: loadspritegfx ANIM_TAG_COIN loadspritegfx ANIM_TAG_IMPACT monbg ANIM_ATTACKER @@ -17226,7 +17648,7 @@ MakingItRain: delay 2 return -Move_SHED_TAIL:: +gBattleAnimMove_ShedTail:: loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 24, 3 createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 4, 2, 3 waitforvisualfinish @@ -17234,7 +17656,7 @@ Move_SHED_TAIL:: createvisualtask AnimTask_MonToSubstitute, 2 end -Move_HYPER_DRILL:: +gBattleAnimMove_HyperDrill:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HORN_HIT fadetobgfromset BG_GUILLOTINE_OPPONENT, BG_GUILLOTINE_PLAYER, BG_GUILLOTINE_CONTESTS @@ -17292,7 +17714,7 @@ Move_HYPER_DRILL:: blendoff end -Move_TWIN_BEAM:: +gBattleAnimMove_TwinBeam:: loadspritegfx ANIM_TAG_BLUE_RING loadspritegfx ANIM_TAG_GOLD_RING playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER @@ -17317,7 +17739,7 @@ Move_TWIN_BEAM:: call UnsetPsychicBg end -Move_COMEUPPANCE:: +gBattleAnimMove_Comeuppance:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET fadetobg BG_DARK @@ -17359,7 +17781,7 @@ Move_COMEUPPANCE:: clearmonbg ANIM_DEF_PARTNER end -Move_BLOOD_MOON:: +gBattleAnimMove_BloodMoon:: loadspritegfx ANIM_TAG_BLOOD_MOON loadspritegfx ANIM_TAG_BEAM loadspritegfx ANIM_TAG_RED_EXPLOSION @@ -17448,7 +17870,7 @@ BloodMoonOnslaughtPlayer: delay 0 return -Move_FICKLE_BEAM:: +gBattleAnimMove_FickleBeam:: createvisualtask AnimTask_IsPowerOver99, 2 waitforvisualfinish jumpreteq FALSE, FickleBeamRegular @@ -17516,7 +17938,7 @@ FickleBeamIntense: waitbgfadein end -Move_THUNDERCLAP:: +gBattleAnimMove_Thunderclap:: loadspritegfx ANIM_TAG_LIGHTNING monbg ANIM_ATK_PARTNER setalpha 12, 8 @@ -17547,7 +17969,7 @@ Move_THUNDERCLAP:: waitforvisualfinish end -Move_HARD_PRESS:: +gBattleAnimMove_HardPress:: loadspritegfx ANIM_TAG_EXPLOSION loadspritegfx ANIM_TAG_ACUPRESSURE loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE @@ -17572,7 +17994,7 @@ Move_HARD_PRESS:: call UnsetHighSpeedBg end -Move_DRAGON_CHEER:: +gBattleAnimMove_DragonCheer:: loadspritegfx ANIM_TAG_NOISE_LINE loadspritegfx ANIM_TAG_CONFETTI loadspritegfx ANIM_TAG_PINK_CLOUD @@ -17613,7 +18035,7 @@ Move_DRAGON_CHEER:: delay 10 end -Move_MALIGNANT_CHAIN:: +gBattleAnimMove_MalignantChain:: loadspritegfx ANIM_TAG_PURPLE_CHAIN loadspritegfx ANIM_TAG_POISON_BUBBLE loopsewithpan SE_M_SCRATCH, SOUND_PAN_TARGET, 6, 2 @@ -17630,37 +18052,58 @@ Move_MALIGNANT_CHAIN:: waitforvisualfinish end -Move_REVIVAL_BLESSING:: - goto Move_LUNAR_BLESSING - -Move_TERA_BLAST:: -Move_ORDER_UP:: -Move_POPULATION_BOMB:: -Move_GLAIVE_RUSH:: -Move_SALT_CURE:: -Move_TRIPLE_DIVE:: -Move_DOODLE:: -Move_RUINATION:: -Move_COLLISION_COURSE:: -Move_ELECTRO_DRIFT:: -Move_ARMOR_CANNON:: -Move_BLAZING_TORQUE:: -Move_WICKED_TORQUE:: -Move_NOXIOUS_TORQUE:: -Move_COMBAT_TORQUE:: -Move_MAGICAL_TORQUE:: -Move_PSYBLADE:: -Move_MATCHA_GOTCHA:: -Move_TERA_STARSTORM:: -Move_MIGHTY_CLEAVE:: -Move_TACHYON_CUTTER:: -Move_SUPERCELL_SLAM:: +gBattleAnimMove_PopulationBomb:: + loadspritegfx ANIM_TAG_CUT + monbg ANIM_TARGET + setalpha 12, 8 + playsewithpan SE_M_CUT, SOUND_PAN_TARGET + createvisualtask AnimTask_RandomBool, 2 + jumpretfalse PopulationBombSliceRight + jumprettrue PopulationBombSliceLeft +PopulationBombSliceRight: + createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 0 + goto PopulationBombContinue +PopulationBombSliceLeft: + createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 1 +PopulationBombContinue: + delay 5 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 10, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + waitforvisualfinish + end + +gBattleAnimMove_RevivalBlessing:: + goto gBattleAnimMove_LunarBlessing + +gBattleAnimMove_TeraBlast:: +gBattleAnimMove_OrderUp:: +gBattleAnimMove_GlaiveRush:: +gBattleAnimMove_SaltCure:: +gBattleAnimMove_TripleDive:: +gBattleAnimMove_Doodle:: +gBattleAnimMove_Ruination:: +gBattleAnimMove_CollisionCourse:: +gBattleAnimMove_ElectroDrift:: +gBattleAnimMove_ArmorCannon:: +gBattleAnimMove_BlazingTorque:: +gBattleAnimMove_WickedTorque:: +gBattleAnimMove_NoxiousTorque:: +gBattleAnimMove_CombatTorque:: +gBattleAnimMove_MagicalTorque:: +gBattleAnimMove_Psyblade:: +gBattleAnimMove_MatchaGotcha:: +gBattleAnimMove_TeraStarstorm:: +gBattleAnimMove_MightyCleave:: +gBattleAnimMove_TachyonCutter:: +gBattleAnimMove_SupercellSlam:: end @to do @@@@@@@@@@@@@@@@@@@@@@@ GEN 1-3 @@@@@@@@@@@@@@@@@@@@@@@ -Move_NONE:: -Move_MIRROR_MOVE:: -Move_POUND:: +gBattleAnimMove_None:: +gBattleAnimMove_MirrorMove:: +gBattleAnimMove_Pound:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -17672,7 +18115,7 @@ Move_POUND:: blendoff end -Move_DOUBLE_SLAP:: +gBattleAnimMove_DoubleSlap:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -17691,7 +18134,7 @@ DoubleSlapRight: createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 8, 0, ANIM_TARGET, 2 goto DoubleSlapContinue -Move_POISON_POWDER:: +gBattleAnimMove_PoisonPowder:: loadspritegfx ANIM_TAG_POISON_POWDER loadspritegfx ANIM_TAG_POISON_BUBBLE loopsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET, 10, 6 @@ -17716,7 +18159,7 @@ Move_POISON_POWDER:: waitforvisualfinish end -Move_STUN_SPORE:: +gBattleAnimMove_StunSpore:: loadspritegfx ANIM_TAG_STUN_SPORE loopsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET, 10, 6 createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, -30, -22, 117, 80, 5, 1 @@ -17740,7 +18183,7 @@ Move_STUN_SPORE:: waitforvisualfinish end -Move_SLEEP_POWDER:: +gBattleAnimMove_SleepPowder:: loadspritegfx ANIM_TAG_SLEEP_POWDER loopsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET, 10, 6 createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, -30, -22, 117, 80, 5, 1 @@ -17764,7 +18207,7 @@ Move_SLEEP_POWDER:: waitforvisualfinish end -Move_SWIFT:: +gBattleAnimMove_Swift:: loadspritegfx ANIM_TAG_YELLOW_STAR loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -17791,7 +18234,7 @@ Move_SWIFT:: blendoff end -Move_STRENGTH:: +gBattleAnimMove_Strength:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -17817,7 +18260,7 @@ Move_STRENGTH:: blendoff end -Move_TACKLE:: +gBattleAnimMove_Tackle:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -17831,7 +18274,7 @@ Move_TACKLE:: blendoff end -Move_BODY_SLAM:: +gBattleAnimMove_BodySlam:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -17857,7 +18300,7 @@ Move_BODY_SLAM:: blendoff end -Move_SUPERSONIC:: +gBattleAnimMove_Supersonic:: loadspritegfx ANIM_TAG_GOLD_RING monbg ANIM_ATK_PARTNER splitbgprio_foes ANIM_ATTACKER @@ -17879,7 +18322,7 @@ SupersonicRing: delay 2 return -Move_SCREECH:: +gBattleAnimMove_Screech:: loadspritegfx ANIM_TAG_PURPLE_RING createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 3, 0, 2, 1 call ScreechRing @@ -17894,7 +18337,7 @@ ScreechRing: delay 2 return -Move_FLAME_WHEEL:: +gBattleAnimMove_FlameWheel:: loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_DEF_PARTNER splitbgprio_foes ANIM_TARGET @@ -17936,7 +18379,7 @@ FlameWheel1: @ Unused delay 4 return -Move_PIN_MISSILE:: +gBattleAnimMove_PinMissile:: loadspritegfx ANIM_TAG_NEEDLE loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -17965,7 +18408,7 @@ Move_PIN_MISSILE:: blendoff end -Move_ICICLE_SPEAR:: +gBattleAnimMove_IcicleSpear:: loadspritegfx ANIM_TAG_ICICLE_SPEAR loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -17994,7 +18437,7 @@ Move_ICICLE_SPEAR:: blendoff end -Move_TAKE_DOWN:: +gBattleAnimMove_TakeDown:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -18017,7 +18460,7 @@ Move_TAKE_DOWN:: blendoff end -Move_DOUBLE_EDGE:: +gBattleAnimMove_DoubleEdge:: loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_M_SWIFT, SOUND_PAN_ATTACKER createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_ATTACKER, 4, 2, RGB_WHITE, 10, RGB_BLACK, 0 @@ -18050,7 +18493,7 @@ Move_DOUBLE_EDGE:: waitforvisualfinish end -Move_POISON_STING:: +gBattleAnimMove_PoisonSting:: loadspritegfx ANIM_TAG_NEEDLE loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_POISON_BUBBLE @@ -18070,7 +18513,7 @@ Move_POISON_STING:: blendoff end -Move_TWINEEDLE:: +gBattleAnimMove_Twineedle:: loadspritegfx ANIM_TAG_NEEDLE loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -18090,7 +18533,7 @@ Move_TWINEEDLE:: blendoff end -Move_FIRE_BLAST:: +gBattleAnimMove_FireBlast:: loadspritegfx ANIM_TAG_SMALL_EMBER createsoundtask SoundTask_FireBlast, SE_M_FLAME_WHEEL, SE_M_FLAME_WHEEL2 call FireBlastRing @@ -18138,7 +18581,7 @@ FireBlastCross: createsprite gFireBlastCrossSpriteTemplate, ANIM_TARGET, 2, 0, 0, 15, 2, 2 return -Move_LEECH_SEED:: +gBattleAnimMove_LeechSeed:: loadspritegfx ANIM_TAG_SEED playsewithpan SE_M_POISON_POWDER, SOUND_PAN_ATTACKER createsprite gLeechSeedSpriteTemplate, ANIM_TARGET, 2, 15, 0, 0, 24, 35, -32 @@ -18153,7 +18596,7 @@ Move_LEECH_SEED:: waitforvisualfinish end -Move_EMBER:: +gBattleAnimMove_Ember:: loadspritegfx ANIM_TAG_SMALL_EMBER loopsewithpan SE_M_EMBER, SOUND_PAN_ATTACKER, 5, 2 createsprite gEmberSpriteTemplate, ANIM_TARGET, 2, 20, 0, -16, 24, 20, 1 @@ -18192,7 +18635,7 @@ SetImpactContestsBG: changebg BG_IMPACT_CONTESTS goto SetImpactBackgroundRet -Move_MEGA_PUNCH:: +gBattleAnimMove_MegaPunch:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET monbg ANIM_TARGET @@ -18217,7 +18660,7 @@ Move_MEGA_PUNCH:: waitbgfadein end -Move_MEGA_KICK:: +gBattleAnimMove_MegaKick:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET monbg ANIM_TARGET @@ -18242,7 +18685,7 @@ Move_MEGA_KICK:: waitbgfadein end -Move_COMET_PUNCH:: +gBattleAnimMove_CometPunch:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET monbg ANIM_TARGET @@ -18264,7 +18707,7 @@ CometPunchRight: createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 3, 8, 0, 8, 1, 0 goto CometPunchContinue -Move_SONIC_BOOM:: +gBattleAnimMove_SonicBoom:: loadspritegfx ANIM_TAG_AIR_WAVE loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -18289,7 +18732,7 @@ SonicBoomHit: delay 4 return -Move_THUNDER_SHOCK:: +gBattleAnimMove_ThunderShock:: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_SPARK_2 createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 0, 0, 6, RGB_BLACK @@ -18310,7 +18753,7 @@ Move_THUNDER_SHOCK:: waitforvisualfinish end -Move_THUNDERBOLT:: +gBattleAnimMove_Thunderbolt:: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_SHOCK_3 loadspritegfx ANIM_TAG_SPARK_2 @@ -18359,7 +18802,7 @@ Move_THUNDERBOLT:: waitforvisualfinish end -Move_THUNDER_WAVE:: +gBattleAnimMove_ThunderWave:: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_SPARK_2 loadspritegfx ANIM_TAG_SPARK_H @@ -18380,7 +18823,7 @@ Move_THUNDER_WAVE:: waitforvisualfinish end -Move_BEAT_UP:: +gBattleAnimMove_BeatUp:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET monbg ANIM_TARGET @@ -18414,7 +18857,7 @@ BeatUpRight: playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET goto BeatUpContinue -Move_STOMP:: +gBattleAnimMove_Stomp:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -18430,13 +18873,13 @@ Move_STOMP:: blendoff end -Move_TAIL_WHIP:: +gBattleAnimMove_TailWhip:: loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 24, 3 createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 4, 2, 3 waitforvisualfinish end -Move_CUT:: +gBattleAnimMove_Cut:: loadspritegfx ANIM_TAG_CUT monbg ANIM_TARGET setalpha 12, 8 @@ -18450,7 +18893,7 @@ Move_CUT:: waitforvisualfinish end -Move_HIDDEN_POWER:: +gBattleAnimMove_HiddenPower:: loadspritegfx ANIM_TAG_RED_ORB playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER createvisualtask AnimTask_ScaleMonAndRestore, 5, -7, -7, 11, ANIM_ATTACKER, 0 @@ -18480,7 +18923,7 @@ Move_HIDDEN_POWER:: createsprite gHiddenPowerOrbScatterSpriteTemplate, ANIM_TARGET, 2, 224 end -Move_REVERSAL:: +gBattleAnimMove_Reversal:: loadspritegfx ANIM_TAG_BLUE_ORB loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT @@ -18508,7 +18951,7 @@ Move_REVERSAL:: createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 5, FALSE, 1, 8, 1, 0 end -Move_PURSUIT:: +gBattleAnimMove_Pursuit:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET fadetobg BG_DARK @@ -18535,7 +18978,7 @@ PursuitOnSwitchout: createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 5, FALSE, 1, 6, 1, 0 goto PursuitContinue -Move_SPIKE_CANNON:: +gBattleAnimMove_SpikeCannon:: loadspritegfx ANIM_TAG_NEEDLE loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -18559,7 +19002,7 @@ Move_SPIKE_CANNON:: blendoff end -Move_SWORDS_DANCE:: +gBattleAnimMove_SwordsDance:: loadspritegfx ANIM_TAG_SWORD monbg ANIM_ATTACKER setalpha 12, 8 @@ -18574,7 +19017,7 @@ Move_SWORDS_DANCE:: delay 1 end -Move_PSYCH_UP:: +gBattleAnimMove_PsychUp:: loadspritegfx ANIM_TAG_SPIRAL monbg ANIM_ATK_PARTNER createvisualtask AnimTask_BlendColorCycleExclude, 2, 1, 2, 6, 1, 11, RGB_BLACK @@ -18593,7 +19036,7 @@ Move_PSYCH_UP:: waitforvisualfinish end -Move_DIZZY_PUNCH:: +gBattleAnimMove_DizzyPunch:: loadspritegfx ANIM_TAG_DUCK loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT @@ -18630,7 +19073,7 @@ DizzyPunchLunge: createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 7, 1 return -Move_FIRE_SPIN:: +gBattleAnimMove_FireSpin:: loadspritegfx ANIM_TAG_SMALL_EMBER playsewithpan SE_M_SACRED_FIRE2, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 47, 1 @@ -18655,7 +19098,7 @@ FireSpinEffect: delay 2 return -Move_FURY_CUTTER:: +gBattleAnimMove_FuryCutter:: loadspritegfx ANIM_TAG_CUT monbg ANIM_TARGET setalpha 12, 8 @@ -18693,7 +19136,7 @@ FuryCutterStrongest: createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG | F_PAL_BATTLERS, 3, 3, RGB(9, 8, 10), 4, RGB_BLACK, 0 goto FuryCutterContinue2 -Move_SELF_DESTRUCT:: +gBattleAnimMove_SelfDestruct:: loadspritegfx ANIM_TAG_EXPLOSION createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_ATTACKER, 1, 0, 9, RGB_RED createvisualtask AnimTask_ShakeMon2, 5, ANIM_PLAYER_LEFT, 6, 0, 38, 1 @@ -18724,7 +19167,7 @@ SelfDestructExplode: delay 6 return -Move_SLAM:: +gBattleAnimMove_Slam:: loadspritegfx ANIM_TAG_SLAM_HIT loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -18748,7 +19191,7 @@ Move_SLAM:: blendoff end -Move_VINE_WHIP:: +gBattleAnimMove_VineWhip:: loadspritegfx ANIM_TAG_WHIP_HIT playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6 @@ -18759,7 +19202,7 @@ Move_VINE_WHIP:: createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 6, 1 end -Move_DRILL_PECK:: +gBattleAnimMove_DrillPeck:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_WHIRLWIND_LINES createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0 @@ -18778,7 +19221,7 @@ Move_DRILL_PECK:: waitforvisualfinish end -Move_WATERFALL:: +gBattleAnimMove_Waterfall:: loadspritegfx ANIM_TAG_WATER_IMPACT loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -18863,7 +19306,7 @@ RisingWaterHitEffect: createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, -20 return -Move_EXPLOSION:: +gBattleAnimMove_Explosion:: loadspritegfx ANIM_TAG_EXPLOSION createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 8, 9, RGB(26, 8, 8), 8, RGB_BLACK, 8 createvisualtask AnimTask_ShakeMon2, 5, ANIM_PLAYER_LEFT, 8, 0, 40, 1 @@ -18896,7 +19339,7 @@ Explosion1: delay 6 return -Move_DEFENSE_CURL:: +gBattleAnimMove_DefenseCurl:: loadspritegfx ANIM_TAG_ECLIPSING_ORB loopsewithpan SE_M_TRI_ATTACK, SOUND_PAN_ATTACKER, 18, 3 createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_ATTACKER, FALSE @@ -18908,7 +19351,7 @@ Move_DEFENSE_CURL:: waitforvisualfinish end -Move_PROTECT:: +gBattleAnimMove_Protect:: loadspritegfx ANIM_TAG_PROTECT monbg ANIM_ATK_PARTNER splitbgprio ANIM_ATTACKER @@ -18918,7 +19361,7 @@ Move_PROTECT:: clearmonbg ANIM_ATK_PARTNER end -Move_DETECT:: +gBattleAnimMove_Detect:: loadspritegfx ANIM_TAG_SPARKLE_4 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 2, 0, 9, RGB_BLACK waitforvisualfinish @@ -18933,7 +19376,7 @@ Move_DETECT:: waitforvisualfinish end -Move_FRUSTRATION:: +gBattleAnimMove_Frustration:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ANGER monbg ANIM_DEF_PARTNER @@ -19038,7 +19481,7 @@ Frustration_Weak: createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 goto Frustration_Continue -Move_SAFEGUARD:: +gBattleAnimMove_Safeguard:: loadspritegfx ANIM_TAG_GUARD_RING monbg ANIM_ATK_PARTNER setalpha 8, 8 @@ -19056,7 +19499,7 @@ Move_SAFEGUARD:: blendoff end -Move_PAIN_SPLIT:: +gBattleAnimMove_PainSplit:: loadspritegfx ANIM_TAG_PAIN_SPLIT createsprite gPainSplitProjectileSpriteTemplate, ANIM_ATTACKER, 2, -8, -42, ANIM_ATTACKER createsprite gPainSplitProjectileSpriteTemplate, ANIM_TARGET, 2, -8, -42, ANIM_TARGET @@ -19080,7 +19523,7 @@ Move_PAIN_SPLIT:: createvisualtask AnimTask_PainSplitMovement, 2, ANIM_TARGET, 2 end -Move_VISE_GRIP:: +gBattleAnimMove_ViseGrip:: loadspritegfx ANIM_TAG_CUT loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -19096,7 +19539,7 @@ Move_VISE_GRIP:: blendoff end -Move_GUILLOTINE:: +gBattleAnimMove_Guillotine:: loadspritegfx ANIM_TAG_CUT loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -19121,7 +19564,7 @@ Move_GUILLOTINE:: waitbgfadein end -Move_PAY_DAY:: +gBattleAnimMove_PayDay:: loadspritegfx ANIM_TAG_COIN loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -19139,7 +19582,7 @@ Move_PAY_DAY:: blendoff end -Move_OUTRAGE:: +gBattleAnimMove_Outrage:: loadspritegfx ANIM_TAG_SMALL_EMBER loopsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER, 8, 3 createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER | F_PAL_TARGET), 2, 5, 3, 8, RGB(14, 13, 0) @@ -19184,7 +19627,7 @@ OutrageFlames: createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, -1280, -768, 3 return -Move_SPARK:: +gBattleAnimMove_Spark:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SPARK_2 delay 0 @@ -19230,7 +19673,7 @@ Move_SPARK:: waitforvisualfinish end -Move_ATTRACT:: +gBattleAnimMove_Attract:: loadspritegfx ANIM_TAG_RED_HEART loopsewithpan SE_M_CHARM, SOUND_PAN_ATTACKER, 12, 3 createvisualtask AnimTask_SwayMon, 5, 0, 12, 4096, 4, ANIM_ATTACKER @@ -19259,7 +19702,7 @@ Move_ATTRACT:: createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 4, 4, 0, 10, RGB(31, 25, 27) end -Move_GROWTH:: +gBattleAnimMove_Growth:: call GrowthEffect waitforvisualfinish call GrowthEffect @@ -19271,7 +19714,7 @@ GrowthEffect: createvisualtask AnimTask_ScaleMonAndRestore, 5, -3, -3, 16, ANIM_ATTACKER, 0 return -Move_WHIRLWIND:: +gBattleAnimMove_Whirlwind:: loadspritegfx ANIM_TAG_WHIRLWIND_LINES createsprite gWhirlwindLineSpriteTemplate, ANIM_ATTACKER, 2, 0, -8, ANIM_TARGET, 60, 0 createsprite gWhirlwindLineSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 60, 1 @@ -19290,7 +19733,7 @@ Move_WHIRLWIND:: waitforvisualfinish end -Move_CONFUSE_RAY:: +gBattleAnimMove_ConfuseRay:: loadspritegfx ANIM_TAG_YELLOW_BALL monbg ANIM_DEF_PARTNER fadetobg BG_GHOST @@ -19310,7 +19753,7 @@ Move_CONFUSE_RAY:: waitbgfadein end -Move_LOCK_ON:: +gBattleAnimMove_LockOn:: loadspritegfx ANIM_TAG_LOCK_ON createsprite gLockOnTargetSpriteTemplate, ANIM_ATTACKER, 40 createsprite gLockOnMoveTargetSpriteTemplate, ANIM_ATTACKER, 40, 1 @@ -19322,7 +19765,7 @@ Move_LOCK_ON:: waitforvisualfinish end -Move_MEAN_LOOK:: +gBattleAnimMove_MeanLook:: loadspritegfx ANIM_TAG_EYE monbg ANIM_DEF_PARTNER playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER @@ -19337,7 +19780,7 @@ Move_MEAN_LOOK:: waitforvisualfinish end -Move_ROCK_THROW:: +gBattleAnimMove_RockThrow:: loadspritegfx ANIM_TAG_ROCKS createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_TARGET, 2, 6, 1, 15, 1 createsprite gFallingRockSpriteTemplate, ANIM_TARGET, 2, 0, 1, 0, 0 @@ -19358,7 +19801,7 @@ Move_ROCK_THROW:: waitforvisualfinish end -Move_ROCK_SLIDE:: +gBattleAnimMove_RockSlide:: loadspritegfx ANIM_TAG_ROCKS monbg ANIM_DEF_PARTNER createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_ATTACKER, 2, 7, 1, 11, 1 @@ -19409,7 +19852,7 @@ RockSlideRocks: delay 2 return -Move_THIEF:: +gBattleAnimMove_Thief:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET delay 1 @@ -19429,7 +19872,7 @@ Move_THIEF:: waitbgfadein end -Move_BUBBLE_BEAM:: +gBattleAnimMove_BubbleBeam:: loadspritegfx ANIM_TAG_BUBBLE loadspritegfx ANIM_TAG_SMALL_BUBBLES monbg ANIM_TARGET @@ -19467,7 +19910,7 @@ BulbblebeamCreateBubbles: delay 3 return -Move_ICY_WIND:: +gBattleAnimMove_IcyWind:: loadspritegfx ANIM_TAG_ICE_CRYSTALS loadspritegfx ANIM_TAG_ICE_SPIKES monbg ANIM_DEF_PARTNER @@ -19503,7 +19946,7 @@ IcyWindSwirlingSnowballs: createsprite gSwirlingSnowballSpriteTemplate, ANIM_TARGET, 40, 0, -5, 0, -5, 72, 1 return -Move_SMOKESCREEN:: +gBattleAnimMove_Smokescreen:: loadspritegfx ANIM_TAG_BLACK_SMOKE loadspritegfx ANIM_TAG_BLACK_BALL playsewithpan SE_M_DOUBLE_TEAM, SOUND_PAN_ATTACKER @@ -19527,7 +19970,7 @@ Move_SMOKESCREEN:: waitforvisualfinish end -Move_CONVERSION:: +gBattleAnimMove_Conversion:: loadspritegfx ANIM_TAG_CONVERSION monbg ANIM_ATK_PARTNER splitbgprio ANIM_ATTACKER @@ -19579,7 +20022,7 @@ Move_CONVERSION:: blendoff end -Move_CONVERSION_2:: +gBattleAnimMove_Conversion2:: loadspritegfx ANIM_TAG_CONVERSION monbg ANIM_DEF_PARTNER splitbgprio_foes ANIM_TARGET @@ -19624,7 +20067,7 @@ Move_CONVERSION_2:: blendoff end -Move_ROLLING_KICK:: +gBattleAnimMove_RollingKick:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -19646,7 +20089,7 @@ Move_ROLLING_KICK:: blendoff end -Move_HEADBUTT:: +gBattleAnimMove_Headbutt:: loadspritegfx ANIM_TAG_IMPACT createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0 playsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER @@ -19662,7 +20105,7 @@ Move_HEADBUTT:: waitforvisualfinish end -Move_HORN_ATTACK:: +gBattleAnimMove_HornAttack:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HORN_HIT createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0 @@ -19680,7 +20123,7 @@ Move_HORN_ATTACK:: waitforvisualfinish end -Move_FURY_ATTACK:: +gBattleAnimMove_FuryAttack:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HORN_HIT createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 256, ANIM_ATTACKER, 2 @@ -19704,7 +20147,7 @@ FuryAttackLeft: playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET goto FuryAttackContinue -Move_HORN_DRILL:: +gBattleAnimMove_HornDrill:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HORN_HIT jumpifcontest HornDrillInContest @@ -19771,7 +20214,7 @@ HornDrillInContest: createvisualtask AnimTask_StartSlidingBg, 5, 2304, 768, 0, -1 goto HornDrillContinue -Move_THRASH:: +gBattleAnimMove_Thrash:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET createvisualtask AnimTask_ThrashMoveMonHorizontal, 2 @@ -19789,7 +20232,7 @@ Move_THRASH:: playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET end -Move_SING:: +gBattleAnimMove_Sing:: loadspritegfx ANIM_TAG_MUSIC_NOTES monbg ANIM_DEF_PARTNER createvisualtask AnimTask_MusicNotesRainbowBlend, 2 @@ -19825,7 +20268,7 @@ Move_SING:: waitforvisualfinish end -Move_LOW_KICK:: +gBattleAnimMove_LowKick:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4 @@ -19838,7 +20281,7 @@ Move_LOW_KICK:: createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 4 end -Move_EARTHQUAKE:: +gBattleAnimMove_Earthquake:: createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 10, 50 createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 10, 50 playsewithpan SE_M_EARTHQUAKE, 0 @@ -19848,7 +20291,7 @@ Move_EARTHQUAKE:: createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14 end -Move_FISSURE:: +gBattleAnimMove_Fissure:: loadspritegfx ANIM_TAG_MUD_SAND createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 10, 50 createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 10, 50 @@ -19891,7 +20334,7 @@ FissureDirtPlumeClose: playsewithpan SE_M_DIG, SOUND_PAN_TARGET return -Move_DIG:: +gBattleAnimMove_Dig:: choosetwoturnanim DigSetUp, DigUnleash DigEnd: end @@ -19939,7 +20382,7 @@ DigThrowDirt: delay 32 return -Move_MEDITATE:: +gBattleAnimMove_Meditate:: call SetPsychicBackground createvisualtask AnimTask_MeditateStretchAttacker, 2 playsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER @@ -19949,7 +20392,7 @@ Move_MEDITATE:: call UnsetPsychicBg end -Move_AGILITY:: +gBattleAnimMove_Agility:: monbg ANIM_ATK_PARTNER setalpha 12, 8 createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 4, 4 @@ -19970,7 +20413,7 @@ Move_AGILITY:: delay 1 end -Move_QUICK_ATTACK:: +gBattleAnimMove_QuickAttack:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_ATK_PARTNER setalpha 12, 8 @@ -19987,7 +20430,7 @@ Move_QUICK_ATTACK:: waitforvisualfinish end -Move_RAGE:: +gBattleAnimMove_Rage:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ANGER monbg ANIM_TARGET @@ -20008,7 +20451,7 @@ Move_RAGE:: clearmonbg ANIM_TARGET end -Move_TELEPORT:: +gBattleAnimMove_Teleport:: call SetPsychicBackground createvisualtask AnimTask_Teleport, 2 playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER @@ -20043,12 +20486,12 @@ DoubleTeamAnimRet: delay 1 return -Move_DOUBLE_TEAM:: +gBattleAnimMove_DoubleTeam:: createvisualtask AnimTask_DoubleTeam, 2 call DoubleTeamAnimRet end -Move_MINIMIZE:: +gBattleAnimMove_Minimize:: setalpha 10, 8 createvisualtask AnimTask_Minimize, 2 loopsewithpan SE_M_MINIMIZE, SOUND_PAN_ATTACKER, 34, 3 @@ -20056,7 +20499,7 @@ Move_MINIMIZE:: blendoff end -Move_METRONOME:: +gBattleAnimMove_Metronome:: loadspritegfx ANIM_TAG_FINGER loadspritegfx ANIM_TAG_THOUGHT_BUBBLE createsprite gThoughtBubbleSpriteTemplate, ANIM_ATTACKER, 11, 0, 100 @@ -20068,7 +20511,7 @@ Move_METRONOME:: waitforvisualfinish end -Move_SKULL_BASH:: +gBattleAnimMove_SkullBash:: choosetwoturnanim SkullBashSetUp, SkullBashAttack SkullBashEnd: end @@ -20101,7 +20544,7 @@ SkullBashAttack: createvisualtask AnimTask_SkullBashPosition, 2, 1 goto SkullBashEnd -Move_AMNESIA:: +gBattleAnimMove_Amnesia:: loadspritegfx ANIM_TAG_AMNESIA call SetPsychicBackground delay 8 @@ -20113,7 +20556,7 @@ Move_AMNESIA:: call UnsetPsychicBg end -Move_KINESIS:: +gBattleAnimMove_Kinesis:: loadspritegfx ANIM_TAG_ALERT loadspritegfx ANIM_TAG_BENT_SPOON playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER @@ -20132,7 +20575,7 @@ Move_KINESIS:: call UnsetPsychicBg end -Move_GLARE:: +gBattleAnimMove_Glare:: loadspritegfx ANIM_TAG_SMALL_RED_EYE loadspritegfx ANIM_TAG_EYE_SPARKLE createvisualtask AnimTask_GlareEyeDots, 5, 0 @@ -20150,7 +20593,7 @@ Move_GLARE:: createvisualtask AnimTask_BlendBattleAnimPal, 5, F_PAL_BG, 0, 16, 0, RGB_BLACK end -Move_BARRAGE:: +gBattleAnimMove_Barrage:: loadspritegfx ANIM_TAG_RED_BALL createvisualtask AnimTask_BarrageBall, 3 playsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER @@ -20161,7 +20604,7 @@ Move_BARRAGE:: loopsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET, 8, 2 end -Move_SKY_ATTACK:: +gBattleAnimMove_SkyAttack:: choosetwoturnanim SkyAttackSetUp, SkyAttackUnleash SkyAttackEnd: end @@ -20227,20 +20670,20 @@ SkyAttackUnleash: call UnsetSkyBg goto SkyAttackEnd -Move_FLASH:: +gBattleAnimMove_Flash:: playsewithpan SE_M_LEER, SOUND_PAN_ATTACKER createvisualtask AnimTask_Flash, 2 waitforvisualfinish end -Move_SPLASH:: +gBattleAnimMove_Splash:: createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 3 delay 8 loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 38, 3 waitforvisualfinish end -Move_ACID_ARMOR:: +gBattleAnimMove_AcidArmor:: monbg ANIM_ATTACKER setalpha 15, 0 createvisualtask AnimTask_AcidArmor, 2, ANIM_ATTACKER @@ -20251,13 +20694,13 @@ Move_ACID_ARMOR:: delay 1 end -Move_SHARPEN:: +gBattleAnimMove_Sharpen:: loadspritegfx ANIM_TAG_SPHERE_TO_CUBE createsprite gSharpenSphereSpriteTemplate, ANIM_ATTACKER, 2 waitforvisualfinish end -Move_SUPER_FANG:: +gBattleAnimMove_SuperFang:: loadspritegfx ANIM_TAG_FANG_ATTACK createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 1, 0, 20, 1 playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER @@ -20277,7 +20720,7 @@ Move_SUPER_FANG:: blendoff end -Move_SLASH:: +gBattleAnimMove_Slash:: loadspritegfx ANIM_TAG_SLASH createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, 1, -8, 0 playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET @@ -20288,7 +20731,7 @@ Move_SLASH:: waitforvisualfinish end -Move_STRUGGLE:: +gBattleAnimMove_Struggle:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_MOVEMENT_WAVES monbg ANIM_TARGET @@ -20306,7 +20749,7 @@ Move_STRUGGLE:: blendoff end -Move_SKETCH:: +gBattleAnimMove_Sketch:: loadspritegfx ANIM_TAG_PENCIL monbg ANIM_TARGET createvisualtask AnimTask_SketchDrawMon, 2 @@ -20317,7 +20760,7 @@ Move_SKETCH:: loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 38, 2 end -Move_NIGHTMARE:: +gBattleAnimMove_Nightmare:: fadetobg BG_GHOST waitbgfadein jumpifcontest NightmareInContest @@ -20339,7 +20782,7 @@ NightmareInContest: waitbgfadein end -Move_FLAIL:: +gBattleAnimMove_Flail:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -20354,7 +20797,7 @@ Move_FLAIL:: blendoff end -Move_SPITE:: +gBattleAnimMove_Spite:: fadetobg BG_GHOST playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER waitbgfadein @@ -20388,7 +20831,7 @@ UnsetHighSpeedBg: waitbgfadein return -Move_MACH_PUNCH:: +gBattleAnimMove_MachPunch:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET monbg ANIM_ATK_PARTNER @@ -20408,7 +20851,7 @@ Move_MACH_PUNCH:: call UnsetHighSpeedBg end -Move_FORESIGHT:: +gBattleAnimMove_Foresight:: loadspritegfx ANIM_TAG_MAGNIFYING_GLASS monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -20427,7 +20870,7 @@ Move_FORESIGHT:: clearmonbg ANIM_DEF_PARTNER end -Move_DESTINY_BOND:: +gBattleAnimMove_DestinyBond:: loadspritegfx ANIM_TAG_WHITE_SHADOW fadetobg BG_GHOST playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER @@ -20447,7 +20890,7 @@ Move_DESTINY_BOND:: clearmonbg 5 end -Move_ENDURE:: +gBattleAnimMove_Endure:: loadspritegfx ANIM_TAG_FOCUS_ENERGY playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call EndureEffect @@ -20472,7 +20915,7 @@ EndureEffect: createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -12, 0, 1 return -Move_CHARM:: +gBattleAnimMove_Charm:: loadspritegfx ANIM_TAG_MAGENTA_HEART createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0, 20 @@ -20486,7 +20929,7 @@ Move_CHARM:: waitforvisualfinish end -Move_ROLLOUT:: +gBattleAnimMove_Rollout:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_MUD_SAND loadspritegfx ANIM_TAG_ROCKS @@ -20503,7 +20946,7 @@ Move_ROLLOUT:: blendoff end -Move_FALSE_SWIPE:: +gBattleAnimMove_FalseSwipe:: loadspritegfx ANIM_TAG_SLASH_2 loadspritegfx ANIM_TAG_IMPACT createsprite gFalseSwipeSliceSpriteTemplate, ANIM_TARGET, 2 @@ -20530,7 +20973,7 @@ Move_FALSE_SWIPE:: playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET end -Move_SWAGGER:: +gBattleAnimMove_Swagger:: loadspritegfx ANIM_TAG_BREATH loadspritegfx ANIM_TAG_ANGER createvisualtask AnimTask_GrowAndShrink, 2 @@ -20548,7 +20991,7 @@ Move_SWAGGER:: waitforvisualfinish end -Move_MILK_DRINK:: +gBattleAnimMove_MilkDrink:: loadspritegfx ANIM_TAG_MILK_BOTTLE loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_BLUE_STAR @@ -20569,7 +21012,7 @@ Move_MILK_DRINK:: waitforvisualfinish end -Move_MAGNITUDE:: +gBattleAnimMove_Magnitude:: createvisualtask AnimTask_IsPowerOver99, 2 waitforvisualfinish jumpreteq FALSE, MagnitudeRegular @@ -20591,7 +21034,7 @@ MagnitudeIntense: createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14 goto MagnitudeEnd -Move_RAPID_SPIN:: +gBattleAnimMove_RapidSpin:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_RAPID_SPIN monbg ANIM_ATTACKER @@ -20610,7 +21053,7 @@ Move_RAPID_SPIN:: clearmonbg ANIM_ATTACKER end -Move_MOONLIGHT:: +gBattleAnimMove_Moonlight:: loadspritegfx ANIM_TAG_MOON loadspritegfx ANIM_TAG_GREEN_SPARKLE loadspritegfx ANIM_TAG_BLUE_STAR @@ -20637,7 +21080,7 @@ Move_MOONLIGHT:: waitforvisualfinish end -Move_EXTREME_SPEED:: +gBattleAnimMove_ExtremeSpeed:: loadspritegfx ANIM_TAG_SPEED_DUST loadspritegfx ANIM_TAG_IMPACT call SetHighSpeedBg @@ -20673,7 +21116,7 @@ Move_EXTREME_SPEED:: delay 1 end -Move_UPROAR:: +gBattleAnimMove_Uproar:: loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE loadspritegfx ANIM_TAG_THIN_RING monbg ANIM_DEF_PARTNER @@ -20698,7 +21141,7 @@ Move_UPROAR:: clearmonbg ANIM_DEF_PARTNER end -Move_HEAT_WAVE:: +gBattleAnimMove_HeatWave:: loadspritegfx ANIM_TAG_FLYING_DIRT createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_FLYING_DIRT, 0, 6, 6, RGB_RED createvisualtask AnimTask_LoadSandstormBackground, 5, TRUE @@ -20723,7 +21166,7 @@ Move_HEAT_WAVE:: end @ Also used by Hail weather -Move_HAIL:: +gBattleAnimMove_Hail:: loadspritegfx ANIM_TAG_HAIL loadspritegfx ANIM_TAG_ICE_CRYSTALS createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 3, 0, 6, RGB_BLACK @@ -20734,7 +21177,7 @@ Move_HAIL:: createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 3, 6, 0, RGB_BLACK end -Move_TORMENT:: +gBattleAnimMove_Torment:: loadspritegfx ANIM_TAG_ANGER loadspritegfx ANIM_TAG_THOUGHT_BUBBLE createvisualtask AnimTask_TormentAttacker, 2 @@ -20747,7 +21190,7 @@ Move_TORMENT:: playsewithpan SE_M_SWAGGER2, SOUND_PAN_TARGET end -Move_MEMENTO:: +gBattleAnimMove_Memento:: setalpha 0, 16 delay 1 createvisualtask AnimTask_InitMementoShadow, 2 @@ -20771,14 +21214,14 @@ Move_MEMENTO:: delay 1 end -Move_FACADE:: +gBattleAnimMove_Facade:: loadspritegfx ANIM_TAG_SWEAT_DROP createvisualtask AnimTask_SquishAndSweatDroplets, 2, ANIM_ATTACKER, 3 createvisualtask AnimTask_FacadeColorBlend, 2, ANIM_ATTACKER, 72 loopsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER, 24, 3 end -Move_SMELLING_SALTS:: +gBattleAnimMove_SmellingSalts:: loadspritegfx ANIM_TAG_TAG_HAND loadspritegfx ANIM_TAG_SMELLINGSALT_EFFECT createsprite gSmellingSaltsHandSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET, 0, 2 @@ -20793,7 +21236,7 @@ Move_SMELLING_SALTS:: loopsewithpan SE_M_SWAGGER2, SOUND_PAN_TARGET, 16, 3 end -Move_FOLLOW_ME:: +gBattleAnimMove_FollowMe:: loadspritegfx ANIM_TAG_FINGER createsprite gFollowMeFingerSpriteTemplate, ANIM_ATTACKER, 2, 0 playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER @@ -20803,7 +21246,7 @@ Move_FOLLOW_ME:: loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 22, 3 end -Move_CHARGE:: +gBattleAnimMove_Charge:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_ELECTRICITY @@ -20838,7 +21281,7 @@ Move_CHARGE:: blendoff end -Move_TAUNT:: +gBattleAnimMove_Taunt:: loadspritegfx ANIM_TAG_FINGER_2 loadspritegfx ANIM_TAG_THOUGHT_BUBBLE loadspritegfx ANIM_TAG_ANGER @@ -20858,7 +21301,7 @@ Move_TAUNT:: playsewithpan SE_M_SWAGGER2, SOUND_PAN_TARGET end -Move_HELPING_HAND:: +gBattleAnimMove_HelpingHand:: loadspritegfx ANIM_TAG_TAG_HAND createvisualtask AnimTask_HelpingHandAttackerMovement, 5 createsprite gHelpingHandClapSpriteTemplate, ANIM_ATTACKER, 40, 0 @@ -20875,7 +21318,7 @@ Move_HELPING_HAND:: createvisualtask AnimTask_BlendMonInAndOut, 2, ANIM_ATK_PARTNER, RGB_YELLOW, 12, 1, 1 end -Move_ASSIST:: +gBattleAnimMove_Assist:: loadspritegfx ANIM_TAG_PAW_PRINT createsprite gAssistPawprintSpriteTemplate, ANIM_ATTACKER, 50, 112, -16, 140, 128, 36 delay 2 @@ -20892,7 +21335,7 @@ Move_ASSIST:: playsewithpan SE_M_SCRATCH, 0 end -Move_SUPERPOWER:: +gBattleAnimMove_Superpower:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_METEOR loadspritegfx ANIM_TAG_FLAT_ROCK @@ -20926,7 +21369,7 @@ Move_SUPERPOWER:: delay 1 end -Move_RECYCLE:: +gBattleAnimMove_Recycle:: loadspritegfx ANIM_TAG_RECYCLE monbg ANIM_ATTACKER setalpha 0, 16 @@ -20942,7 +21385,7 @@ Move_RECYCLE:: delay 1 end -Move_BRICK_BREAK:: +gBattleAnimMove_BrickBreak:: loadspritegfx ANIM_TAG_BLUE_LIGHT_WALL loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET @@ -21006,7 +21449,7 @@ BrickBreakShatteredWall: clearmonbg ANIM_TARGET end -Move_YAWN:: +gBattleAnimMove_Yawn:: loadspritegfx ANIM_TAG_PINK_CLOUD createvisualtask AnimTask_DeepInhale, 2, ANIM_ATTACKER playsewithpan SE_M_YAWN, SOUND_PAN_ATTACKER @@ -21022,7 +21465,7 @@ Move_YAWN:: playsewithpan SE_M_YAWN, SOUND_PAN_TARGET end -Move_ENDEAVOR:: +gBattleAnimMove_Endeavor:: loadspritegfx ANIM_TAG_SWEAT_DROP loadspritegfx ANIM_TAG_IMPACT createvisualtask AnimTask_SquishAndSweatDroplets, 2, ANIM_ATTACKER, 2 @@ -21038,7 +21481,7 @@ Move_ENDEAVOR:: playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET end -Move_ERUPTION:: +gBattleAnimMove_Eruption:: loadspritegfx ANIM_TAG_WARM_ROCK createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG | F_PAL_BATTLERS, 2, 0, 4, RGB_RED waitforvisualfinish @@ -21063,7 +21506,7 @@ Move_ERUPTION:: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 40, F_PAL_BG | F_PAL_BATTLERS, 4, 4, 0, RGB_RED end -Move_SKILL_SWAP:: +gBattleAnimMove_SkillSwap:: loadspritegfx ANIM_TAG_BLUEGREEN_ORB call SetPsychicBackground createvisualtask AnimTask_SkillSwap, 3, ANIM_TARGET @@ -21076,7 +21519,7 @@ Move_SKILL_SWAP:: call UnsetPsychicBg end -Move_IMPRISON:: +gBattleAnimMove_Imprison:: loadspritegfx ANIM_TAG_HOLLOW_ORB loadspritegfx ANIM_TAG_X_SIGN call SetPsychicBackground @@ -21093,7 +21536,7 @@ Move_IMPRISON:: call UnsetPsychicBg end -Move_GRUDGE:: +gBattleAnimMove_Grudge:: loadspritegfx ANIM_TAG_PURPLE_FLAME monbg ANIM_ATTACKER splitbgprio_all @@ -21111,7 +21554,7 @@ Move_GRUDGE:: clearmonbg ANIM_ATTACKER end -Move_CAMOUFLAGE:: +gBattleAnimMove_Camouflage:: monbg ANIM_ATK_PARTNER splitbgprio ANIM_ATTACKER setalpha 16, 0 @@ -21129,7 +21572,7 @@ Move_CAMOUFLAGE:: clearmonbg ANIM_ATK_PARTNER end -Move_TAIL_GLOW:: +gBattleAnimMove_TailGlow:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT monbg ANIM_ATTACKER setalpha 12, 8 @@ -21145,7 +21588,7 @@ Move_TAIL_GLOW:: delay 1 end -Move_LUSTER_PURGE:: +gBattleAnimMove_LusterPurge:: loadspritegfx ANIM_TAG_WHITE_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_IMPACT fadetobg BG_PSYCHIC @@ -21188,7 +21631,7 @@ Move_LUSTER_PURGE:: call UnsetPsychicBg end -Move_MIST_BALL:: +gBattleAnimMove_MistBall:: loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_WHITE_FEATHER delay 0 @@ -21208,7 +21651,7 @@ Move_MIST_BALL:: createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 2, 16, 0, RGB_WHITE end -Move_FEATHER_DANCE:: +gBattleAnimMove_FeatherDance:: loadspritegfx ANIM_TAG_WHITE_FEATHER monbg ANIM_DEF_PARTNER splitbgprio_all @@ -21230,7 +21673,7 @@ Move_FEATHER_DANCE:: clearmonbg ANIM_DEF_PARTNER end -Move_TEETER_DANCE:: +gBattleAnimMove_TeeterDance:: loadspritegfx ANIM_TAG_MUSIC_NOTES loadspritegfx ANIM_TAG_DUCK createvisualtask AnimTask_TeeterDanceMovement, 5 @@ -21250,7 +21693,7 @@ Move_TEETER_DANCE:: playsewithpan SE_M_TEETER_DANCE, SOUND_PAN_ATTACKER end -Move_MUD_SPORT:: +gBattleAnimMove_MudSport:: loadspritegfx ANIM_TAG_MUD_SAND createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 6 delay 24 @@ -21297,7 +21740,7 @@ Move_MUD_SPORT:: waitplaysewithpan SE_M_BUBBLE2, 0, 10 end -Move_NEEDLE_ARM:: +gBattleAnimMove_NeedleArm:: loadspritegfx ANIM_TAG_GREEN_SPIKE loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET @@ -21340,7 +21783,7 @@ Move_NEEDLE_ARM:: createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, -17, -17, 10 end -Move_SLACK_OFF:: +gBattleAnimMove_SlackOff:: loadspritegfx ANIM_TAG_BLUE_STAR createvisualtask AnimTask_SlackOffSquish, 2, ANIM_ATTACKER playsewithpan SE_M_YAWN, SOUND_PAN_ATTACKER @@ -21349,7 +21792,7 @@ Move_SLACK_OFF:: waitforvisualfinish end -Move_CRUSH_CLAW:: +gBattleAnimMove_CrushClaw:: loadspritegfx ANIM_TAG_BLUE_LIGHT_WALL loadspritegfx ANIM_TAG_CLAW_SLASH loadspritegfx ANIM_TAG_TORN_METAL @@ -21370,7 +21813,7 @@ Move_CRUSH_CLAW:: clearmonbg ANIM_TARGET end -Move_AROMATHERAPY:: +gBattleAnimMove_Aromatherapy:: playsewithpan SE_M_PETAL_DANCE, 0 loadspritegfx ANIM_TAG_FLOWER loadspritegfx ANIM_TAG_THIN_RING @@ -21409,7 +21852,7 @@ Move_AROMATHERAPY:: waitforvisualfinish end -Move_FAKE_TEARS:: +gBattleAnimMove_FakeTears:: loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_THOUGHT_BUBBLE loadspritegfx ANIM_TAG_MUSIC_NOTES @@ -21432,7 +21875,7 @@ Move_FAKE_TEARS:: waitforvisualfinish end -Move_AIR_CUTTER:: +gBattleAnimMove_AirCutter:: loadspritegfx ANIM_TAG_AIR_WAVE loadspritegfx ANIM_TAG_CUT loadspritegfx ANIM_TAG_IMPACT @@ -21453,7 +21896,7 @@ Move_AIR_CUTTER:: delay 0 end -Move_ODOR_SLEUTH:: +gBattleAnimMove_OdorSleuth:: monbg ANIM_TARGET createvisualtask AnimTask_OdorSleuthMovement, 5 delay 24 @@ -21469,7 +21912,7 @@ Move_ODOR_SLEUTH:: playsewithpan SE_M_LEER, SOUND_PAN_ATTACKER end -Move_GRASS_WHISTLE:: +gBattleAnimMove_GrassWhistle:: loadspritegfx ANIM_TAG_MUSIC_NOTES createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 2, 0, 4, RGB(18, 31, 12) waitforvisualfinish @@ -21506,7 +21949,7 @@ Move_GRASS_WHISTLE:: waitforvisualfinish end -Move_TICKLE:: +gBattleAnimMove_Tickle:: loadspritegfx ANIM_TAG_EYE_SPARKLE createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_ATTACKER, 0, 0, 16, RGB_BLACK waitforvisualfinish @@ -21524,7 +21967,7 @@ Move_TICKLE:: waitforvisualfinish end -Move_WATER_SPOUT:: +gBattleAnimMove_WaterSpout:: loadspritegfx ANIM_TAG_GLOWY_BLUE_ORB loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER @@ -21541,7 +21984,7 @@ Move_WATER_SPOUT:: blendoff end -Move_SHADOW_PUNCH:: +gBattleAnimMove_ShadowPunch:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET fadetobg BG_GHOST @@ -21562,7 +22005,7 @@ Move_SHADOW_PUNCH:: waitbgfadein end -Move_EXTRASENSORY:: +gBattleAnimMove_Extrasensory:: call SetPsychicBackground monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -21583,7 +22026,7 @@ Move_EXTRASENSORY:: call UnsetPsychicBg end -Move_AERIAL_ACE:: +gBattleAnimMove_AerialAce:: loadspritegfx ANIM_TAG_CUT monbg ANIM_TARGET setalpha 12, 8 @@ -21600,20 +22043,20 @@ Move_AERIAL_ACE:: blendoff end -Move_IRON_DEFENSE:: +gBattleAnimMove_IronDefense:: loopsewithpan SE_SHINY, SOUND_PAN_ATTACKER, 28, 2 createvisualtask AnimTask_MetallicShine, 5, 0, 0, RGB_BLACK createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 8, 2, RGB_WHITEALPHA, 14, RGB_WHITEALPHA, 0 waitforvisualfinish end -Move_BLOCK:: +gBattleAnimMove_Block:: loadspritegfx ANIM_TAG_X_SIGN createsprite gBlockXSpriteTemplate, ANIM_TARGET, 66 playsewithpan SE_M_SWAGGER, SOUND_PAN_TARGET end -Move_HOWL:: +gBattleAnimMove_Howl:: loadspritegfx ANIM_TAG_NOISE_LINE createvisualtask AnimTask_DeepInhale, 2, ANIM_ATTACKER delay 12 @@ -21623,7 +22066,7 @@ Move_HOWL:: delay 30 end -Move_BULK_UP:: +gBattleAnimMove_BulkUp:: loadspritegfx ANIM_TAG_BREATH createvisualtask AnimTask_GrowAndShrink, 2 playsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER @@ -21633,7 +22076,7 @@ Move_BULK_UP:: waitforvisualfinish end -Move_COVET:: +gBattleAnimMove_Covet:: loadspritegfx ANIM_TAG_MAGENTA_HEART loadspritegfx ANIM_TAG_ITEM_BAG createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 @@ -21650,7 +22093,7 @@ Move_COVET:: loopsewithpan SE_M_DIZZY_PUNCH, SOUND_PAN_TARGET, 4, 3 end -Move_VOLT_TACKLE:: +gBattleAnimMove_VoltTackle:: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_ELECTRICITY @@ -21697,7 +22140,7 @@ Move_VOLT_TACKLE:: waitforvisualfinish end -Move_WATER_SPORT:: +gBattleAnimMove_WaterSport:: loadspritegfx ANIM_TAG_GLOWY_BLUE_ORB createvisualtask AnimTask_WaterSport, 5 delay 8 @@ -21710,7 +22153,7 @@ Move_WATER_SPORT:: panse SE_M_SURF, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 end -Move_CALM_MIND:: +gBattleAnimMove_CalmMind:: loadspritegfx ANIM_TAG_THIN_RING monbg ANIM_ATK_PARTNER createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, ANIM_ATTACKER, 0, 0, 16, RGB_BLACK @@ -21733,7 +22176,7 @@ Move_CALM_MIND:: clearmonbg ANIM_ATK_PARTNER end -Move_LEAF_BLADE:: +gBattleAnimMove_LeafBlade:: loadspritegfx ANIM_TAG_LEAF loadspritegfx ANIM_TAG_CROSS_IMPACT createvisualtask AnimTask_LeafBlade, 5 @@ -21758,7 +22201,7 @@ Move_LEAF_BLADE:: blendoff end -Move_DRAGON_DANCE:: +gBattleAnimMove_DragonDance:: loadspritegfx ANIM_TAG_HOLLOW_ORB monbg ANIM_ATTACKER splitbgprio ANIM_ATTACKER @@ -21782,7 +22225,7 @@ Move_DRAGON_DANCE:: delay 1 end -Move_SHOCK_WAVE:: +gBattleAnimMove_ShockWave:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_SPARK @@ -21812,13 +22255,13 @@ Move_SHOCK_WAVE:: blendoff end -Move_HARDEN:: +gBattleAnimMove_Harden:: loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 createvisualtask AnimTask_MetallicShine, 5, 0, 0, RGB_BLACK waitforvisualfinish end -Move_BELLY_DRUM:: +gBattleAnimMove_BellyDrum:: loadspritegfx ANIM_TAG_MUSIC_NOTES loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE createvisualtask AnimTask_MusicNotesRainbowBlend, 2 @@ -21861,7 +22304,7 @@ BellyDrumRight: createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 8, 2, 1 return -Move_MIND_READER:: +gBattleAnimMove_MindReader:: loadspritegfx ANIM_TAG_TEAL_ALERT loadspritegfx ANIM_TAG_OPENING_EYE loadspritegfx ANIM_TAG_ROUND_WHITE_HALO @@ -21901,7 +22344,7 @@ MindReaderEyeSpikeEffect: delay 2 return -Move_ICE_PUNCH:: +gBattleAnimMove_IcePunch:: monbg ANIM_DEF_PARTNER setalpha 12, 8 loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -21938,7 +22381,7 @@ Move_ICE_PUNCH:: blendoff end -Move_REST:: +gBattleAnimMove_Rest:: playsewithpan SE_M_SNORE, SOUND_PAN_ATTACKER loadspritegfx ANIM_TAG_LETTER_Z createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 @@ -21949,7 +22392,7 @@ Move_REST:: waitforvisualfinish end -Move_CONFUSION:: +gBattleAnimMove_Confusion:: monbg ANIM_DEF_PARTNER call SetPsychicBackground setalpha 8, 8 @@ -21966,7 +22409,7 @@ Move_CONFUSION:: call UnsetPsychicBg end -Move_PSYCHIC:: +gBattleAnimMove_Psychic:: monbg ANIM_DEF_PARTNER call SetPsychicBackground setalpha 8, 8 @@ -21983,7 +22426,7 @@ Move_PSYCHIC:: call UnsetPsychicBg end -Move_FUTURE_SIGHT:: +gBattleAnimMove_FutureSight:: goto FutureSight FutureSightContinue: waitforvisualfinish @@ -22003,7 +22446,7 @@ FutureSight: blendoff goto FutureSightContinue -Move_THUNDER:: +gBattleAnimMove_Thunder:: loadspritegfx ANIM_TAG_LIGHTNING fadetobg BG_THUNDER waitbgfadeout @@ -22061,7 +22504,7 @@ Move_THUNDER:: waitbgfadein end -Move_THUNDER_PUNCH:: +gBattleAnimMove_ThunderPunch:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_LIGHTNING @@ -22094,7 +22537,7 @@ Move_THUNDER_PUNCH:: blendoff end -Move_SACRED_FIRE:: +gBattleAnimMove_SacredFire:: loadspritegfx ANIM_TAG_FIRE loadspritegfx ANIM_TAG_FIRE_PLUME loopsewithpan SE_M_SACRED_FIRE, SOUND_PAN_ATTACKER, 7, 5 @@ -22151,7 +22594,7 @@ Move_SACRED_FIRE:: waitforvisualfinish end -Move_SCRATCH:: +gBattleAnimMove_Scratch:: loadspritegfx ANIM_TAG_SCRATCH monbg ANIM_TARGET setalpha 12, 8 @@ -22164,7 +22607,7 @@ Move_SCRATCH:: waitforvisualfinish end -Move_DRAGON_BREATH:: +gBattleAnimMove_DragonBreath:: loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -22198,7 +22641,7 @@ Move_DRAGON_BREATH:: clearmonbg ANIM_DEF_PARTNER end -Move_ROAR:: +gBattleAnimMove_Roar:: loadspritegfx ANIM_TAG_NOISE_LINE monbg ANIM_ATTACKER splitbgprio ANIM_ATTACKER @@ -22226,7 +22669,7 @@ RoarEffect: createsprite gRoarNoiseLineSpriteTemplate, ANIM_ATTACKER, 2, 24, 8, 1 return -Move_GROWL:: +gBattleAnimMove_Growl:: loadspritegfx ANIM_TAG_NOISE_LINE createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, DOUBLE_CRY_GROWL call RoarEffect @@ -22238,7 +22681,7 @@ Move_GROWL:: waitforvisualfinish end -Move_SNORE:: +gBattleAnimMove_Snore:: loadspritegfx ANIM_TAG_SNORE_Z monbg ANIM_ATK_PARTNER setalpha 8, 8 @@ -22259,7 +22702,7 @@ SnoreEffect: createsprite gSnoreZSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 42, -38, 24, 0, 0 return -Move_LIGHT_SCREEN:: +gBattleAnimMove_LightScreen:: loadspritegfx ANIM_TAG_SPARKLE_3 loadspritegfx ANIM_TAG_GREEN_LIGHT_WALL setalpha 0, 16 @@ -22286,7 +22729,7 @@ SpecialScreenSparkle: createsprite gSpecialScreenSparkleSpriteTemplate, ANIM_ATTACKER, 2, 10, 18, ANIM_ATTACKER, TRUE return -Move_MIRROR_COAT:: +gBattleAnimMove_MirrorCoat:: loadspritegfx ANIM_TAG_SPARKLE_3 loadspritegfx ANIM_TAG_RED_LIGHT_WALL setalpha 0, 16 @@ -22299,7 +22742,7 @@ Move_MIRROR_COAT:: blendoff end -Move_REFLECT:: +gBattleAnimMove_Reflect:: loadspritegfx ANIM_TAG_SPARKLE_4 loadspritegfx ANIM_TAG_BLUE_LIGHT_WALL setalpha 0, 16 @@ -22316,7 +22759,7 @@ Move_REFLECT:: blendoff end -Move_BARRIER:: +gBattleAnimMove_Barrier:: loadspritegfx ANIM_TAG_GRAY_LIGHT_WALL setalpha 0, 16 waitplaysewithpan SE_M_BARRIER, SOUND_PAN_ATTACKER, 15 @@ -22326,7 +22769,7 @@ Move_BARRIER:: blendoff end -Move_BUBBLE:: +gBattleAnimMove_Bubble:: loadspritegfx ANIM_TAG_BUBBLE loadspritegfx ANIM_TAG_SMALL_BUBBLES monbg ANIM_TARGET @@ -22362,7 +22805,7 @@ Move_BUBBLE:: blendoff end -Move_SMOG:: +gBattleAnimMove_Smog:: loadspritegfx ANIM_TAG_PURPLE_GAS_CLOUD monbg ANIM_DEF_PARTNER splitbgprio_all @@ -22389,7 +22832,7 @@ SmogCloud: delay 7 return -Move_FEINT_ATTACK:: +gBattleAnimMove_FeintAttack:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_ATTACKER fadetobg BG_DARK @@ -22425,7 +22868,7 @@ Move_FEINT_ATTACK:: waitbgfadein end -Move_SAND_ATTACK:: +gBattleAnimMove_SandAttack:: loadspritegfx ANIM_TAG_MUD_SAND monbg ANIM_ATK_PARTNER splitbgprio ANIM_ATTACKER @@ -22453,7 +22896,7 @@ SandAttackDirt: delay 2 return -Move_MUD_SLAP:: +gBattleAnimMove_MudSlap:: loadspritegfx ANIM_TAG_MUD_SAND playsewithpan SE_M_SAND_ATTACK, SOUND_PAN_ATTACKER createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, -10, 0, 0, 3 @@ -22476,7 +22919,7 @@ MudSlapMud: delay 2 return -Move_DRAGON_RAGE:: +gBattleAnimMove_DragonRage:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_FIRE_PLUME playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER @@ -22508,7 +22951,7 @@ Move_DRAGON_RAGE:: waitforvisualfinish end -Move_RAIN_DANCE:: +gBattleAnimMove_RainDance:: loadspritegfx ANIM_TAG_RAIN_DROPS playsewithpan SE_M_RAIN_DANCE, SOUND_PAN_ATTACKER createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_BG | F_PAL_BATTLERS_2), 2, 0, 4, RGB_BLACK @@ -22522,7 +22965,7 @@ Move_RAIN_DANCE:: waitforvisualfinish end -Move_BITE:: +gBattleAnimMove_Bite:: loadspritegfx ANIM_TAG_SHARP_TEETH loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -22539,7 +22982,7 @@ Move_BITE:: delay 1 end -Move_CRUNCH:: +gBattleAnimMove_Crunch:: loadspritegfx ANIM_TAG_SHARP_TEETH loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -22567,7 +23010,7 @@ Move_CRUNCH:: waitbgfadein end -Move_CLAMP:: +gBattleAnimMove_Clamp:: loadspritegfx ANIM_TAG_CLAMP loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -22584,7 +23027,7 @@ Move_CLAMP:: waitforvisualfinish end -Move_ICE_BEAM:: +gBattleAnimMove_IceBeam:: monbg ANIM_TARGET splitbgprio ANIM_TARGET setalpha 12, 8 @@ -22628,13 +23071,13 @@ IceBeamCreateCrystals: delay 1 return -Move_WITHDRAW:: +gBattleAnimMove_Withdraw:: playsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER createvisualtask AnimTask_Withdraw, 5 waitforvisualfinish end -Move_AURORA_BEAM:: +gBattleAnimMove_AuroraBeam:: loadspritegfx ANIM_TAG_RAINBOW_RINGS fadetobg BG_AURORA waitbgfadein @@ -22670,7 +23113,7 @@ AuroraBeamCreateRings: delay 1 return -Move_SOLAR_BEAM:: +gBattleAnimMove_SolarBeam:: loadspritegfx ANIM_TAG_ORBS choosetwoturnanim SolarBeamSetUp, SolarBeamUnleash SolarBeamEnd: @@ -22759,7 +23202,7 @@ SolarBeamUnleash1: delay 4 return -Move_BLIZZARD:: +gBattleAnimMove_Blizzard:: loadspritegfx ANIM_TAG_ICE_CRYSTALS monbg ANIM_DEF_PARTNER call SetHighSpeedBg @@ -22799,7 +23242,7 @@ BlizzardIceCrystals: delay 3 return -Move_POWDER_SNOW:: +gBattleAnimMove_PowderSnow:: loadspritegfx ANIM_TAG_ICE_CRYSTALS monbg ANIM_DEF_PARTNER createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG | F_PAL_BATTLERS, 1, 0, 3, RGB_BLACK @@ -22833,7 +23276,7 @@ PowderSnowSnowballs: delay 3 return -Move_HYDRO_PUMP:: +gBattleAnimMove_HydroPump:: loadspritegfx ANIM_TAG_WATER_ORB loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER @@ -22880,7 +23323,7 @@ HydroPumpHitSplats: createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, -15, ANIM_TARGET, 1 return -Move_SIGNAL_BEAM:: +gBattleAnimMove_SignalBeam:: loadspritegfx ANIM_TAG_GLOWY_RED_ORB loadspritegfx ANIM_TAG_GLOWY_GREEN_ORB loadspritegfx ANIM_TAG_DUCK @@ -22921,7 +23364,7 @@ SignalBeamOrbs: delay 1 return -Move_ABSORB:: +gBattleAnimMove_Absorb:: loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_BLUE_STAR loadspritegfx ANIM_TAG_IMPACT @@ -22974,7 +23417,7 @@ AbsorbEffect: delay 4 return -Move_MEGA_DRAIN:: +gBattleAnimMove_MegaDrain:: loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_BLUE_STAR loadspritegfx ANIM_TAG_IMPACT @@ -23035,7 +23478,7 @@ MegaDrainAbsorbEffect: delay 4 return -Move_GIGA_DRAIN:: +gBattleAnimMove_GigaDrain:: loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_BLUE_STAR loadspritegfx ANIM_TAG_IMPACT @@ -23104,7 +23547,7 @@ GigaDrainAbsorbEffect: delay 4 return -Move_LEECH_LIFE:: +gBattleAnimMove_LeechLife:: loadspritegfx ANIM_TAG_NEEDLE loadspritegfx ANIM_TAG_ORBS delay 1 @@ -23134,7 +23577,7 @@ Move_LEECH_LIFE:: blendoff end -Move_SYNTHESIS:: +gBattleAnimMove_Synthesis:: loadspritegfx ANIM_TAG_SPARKLE_2 createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 16, RGB(27, 31, 18) playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER @@ -23147,7 +23590,7 @@ Move_SYNTHESIS:: waitforvisualfinish end -Move_TOXIC:: +gBattleAnimMove_Toxic:: loadspritegfx ANIM_TAG_TOXIC_BUBBLE loadspritegfx ANIM_TAG_POISON_BUBBLE call ToxicBubbles @@ -23172,7 +23615,7 @@ ToxicBubbles: delay 15 return -Move_SLUDGE:: +gBattleAnimMove_Sludge:: loadspritegfx ANIM_TAG_POISON_BUBBLE playsewithpan SE_M_BUBBLE3, SOUND_PAN_ATTACKER createsprite gSludgeProjectileSpriteTemplate, ANIM_TARGET, 2, 20, 0, 40, 0 @@ -23183,7 +23626,7 @@ Move_SLUDGE:: waitforvisualfinish end -Move_SLUDGE_BOMB:: +gBattleAnimMove_SludgeBomb:: loadspritegfx ANIM_TAG_POISON_BUBBLE call SludgeBombProjectile call SludgeBombProjectile @@ -23226,7 +23669,7 @@ SludgeBombProjectile: delay 3 return -Move_ACID:: +gBattleAnimMove_Acid:: loadspritegfx ANIM_TAG_POISON_BUBBLE monbg ANIM_DEF_PARTNER createsprite gAcidPoisonBubbleSpriteTemplate, ANIM_TARGET, 2, 20, 0, 40, 1, 0, 0, TRUE @@ -23259,7 +23702,7 @@ Move_ACID:: clearmonbg ANIM_DEF_PARTNER end -Move_BONEMERANG:: +gBattleAnimMove_Bonemerang:: loadspritegfx ANIM_TAG_BONE loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23279,7 +23722,7 @@ Move_BONEMERANG:: blendoff end -Move_BONE_CLUB:: +gBattleAnimMove_BoneClub:: loadspritegfx ANIM_TAG_BONE loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23297,7 +23740,7 @@ Move_BONE_CLUB:: blendoff end -Move_BONE_RUSH:: +gBattleAnimMove_BoneRush:: loadspritegfx ANIM_TAG_BONE loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23313,7 +23756,7 @@ Move_BONE_RUSH:: blendoff end -Move_SPIKES:: +gBattleAnimMove_Spikes:: loadspritegfx ANIM_TAG_SPIKES monbg ANIM_DEF_PARTNER playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER @@ -23330,7 +23773,7 @@ Move_SPIKES:: clearmonbg ANIM_DEF_PARTNER end -Move_MEGAHORN:: +gBattleAnimMove_Megahorn:: loadspritegfx ANIM_TAG_HORN_HIT_2 loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23373,7 +23816,7 @@ MegahornInContest: createvisualtask AnimTask_StartSlidingBg, 5, 2304, 768, 0, -1 goto MegahornContinue -Move_GUST:: +gBattleAnimMove_Gust:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23391,7 +23834,7 @@ Move_GUST:: blendoff end -Move_WING_ATTACK:: +gBattleAnimMove_WingAttack:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23415,7 +23858,7 @@ Move_WING_ATTACK:: blendoff end -Move_PECK:: +gBattleAnimMove_Peck:: loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET createvisualtask AnimTask_RotateMonToSideAndRestore, 2, 3, -768, ANIM_TARGET, 2 @@ -23423,7 +23866,7 @@ Move_PECK:: waitforvisualfinish end -Move_AEROBLAST:: +gBattleAnimMove_Aeroblast:: loadspritegfx ANIM_TAG_AIR_WAVE_2 loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23464,7 +23907,7 @@ AeroblastBeam: delay 3 return -Move_WATER_GUN:: +gBattleAnimMove_WaterGun:: loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER @@ -23488,7 +23931,7 @@ Move_WATER_GUN:: blendoff end -Move_CRABHAMMER:: +gBattleAnimMove_Crabhammer:: loadspritegfx ANIM_TAG_ICE_CRYSTALS loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER @@ -23525,14 +23968,14 @@ Move_CRABHAMMER:: blendoff end -Move_SURF:: +gBattleAnimMove_Surf:: createvisualtask AnimTask_CreateSurfWave, 2, ANIM_SURF_PAL_SURF delay 24 panse SE_M_SURF, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 waitforvisualfinish end -Move_FLAMETHROWER:: +gBattleAnimMove_Flamethrower:: loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -23566,7 +24009,7 @@ FlamethrowerCreateFlames: return @ Also used by Sandstorm weather -Move_SANDSTORM:: +gBattleAnimMove_Sandstorm:: loadspritegfx ANIM_TAG_FLYING_DIRT playsewithpan SE_M_SANDSTORM, 0 createvisualtask AnimTask_LoadSandstormBackground, 5, FALSE @@ -23586,7 +24029,7 @@ Move_SANDSTORM:: createsprite gFlyingSandCrescentSpriteTemplate, ANIM_ATTACKER, 40, 60, 2560, 96, 0 end -Move_WHIRLPOOL:: +gBattleAnimMove_Whirlpool:: loadspritegfx ANIM_TAG_WATER_ORB monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -23619,7 +24062,7 @@ WhirlpoolEffect: delay 2 return -Move_FLY:: +gBattleAnimMove_Fly:: loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_IMPACT choosetwoturnanim FlySetUp, FlyUnleash @@ -23646,7 +24089,7 @@ FlyUnleash: blendoff goto FlyEnd -Move_BOUNCE:: +gBattleAnimMove_Bounce:: loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_IMPACT choosetwoturnanim BounceSetUp, BounceUnleash @@ -23672,7 +24115,7 @@ BounceUnleash: blendoff goto BounceEnd -Move_KARATE_CHOP:: +gBattleAnimMove_KarateChop:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23689,7 +24132,7 @@ Move_KARATE_CHOP:: blendoff end -Move_CROSS_CHOP:: +gBattleAnimMove_CrossChop:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_CROSS_IMPACT monbg ANIM_DEF_PARTNER @@ -23707,7 +24150,7 @@ Move_CROSS_CHOP:: blendoff end -Move_JUMP_KICK:: +gBattleAnimMove_JumpKick:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23725,7 +24168,7 @@ Move_JUMP_KICK:: blendoff end -Move_HIGH_JUMP_KICK:: +gBattleAnimMove_HighJumpKick:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23751,7 +24194,7 @@ Move_HIGH_JUMP_KICK:: blendoff end -Move_DOUBLE_KICK:: +gBattleAnimMove_DoubleKick:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23764,7 +24207,7 @@ Move_DOUBLE_KICK:: blendoff end -Move_TRIPLE_KICK:: +gBattleAnimMove_TripleKick:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23797,7 +24240,7 @@ TripleKickCenter: createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 goto TripleKickContinue -Move_DYNAMIC_PUNCH:: +gBattleAnimMove_DynamicPunch:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_EXPLOSION @@ -23831,7 +24274,7 @@ Move_DYNAMIC_PUNCH:: blendoff end -Move_COUNTER:: +gBattleAnimMove_Counter:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET monbg ANIM_DEF_PARTNER @@ -23863,7 +24306,7 @@ Move_COUNTER:: blendoff end -Move_VITAL_THROW:: +gBattleAnimMove_VitalThrow:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -23886,7 +24329,7 @@ Move_VITAL_THROW:: blendoff end -Move_ROCK_SMASH:: +gBattleAnimMove_RockSmash:: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET @@ -23913,7 +24356,7 @@ Move_ROCK_SMASH:: blendoff end -Move_SUBMISSION:: +gBattleAnimMove_Submission:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -23947,7 +24390,7 @@ SubmissionHit: return @ Also used by Sunny weather -Move_SUNNY_DAY:: +gBattleAnimMove_SunnyDay:: loadspritegfx ANIM_TAG_SUNLIGHT monbg ANIM_ATK_PARTNER setalpha 13, 3 @@ -23970,7 +24413,7 @@ SunnyDayLightRay: delay 6 return -Move_COTTON_SPORE:: +gBattleAnimMove_CottonSpore:: loadspritegfx ANIM_TAG_SPORE monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -23991,7 +24434,7 @@ CreateCottonSpores: delay 12 return -Move_SPORE:: +gBattleAnimMove_Spore:: loadspritegfx ANIM_TAG_SPORE monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -24015,7 +24458,7 @@ CreateSpore: delay 12 return -Move_PETAL_DANCE:: +gBattleAnimMove_PetalDance:: loadspritegfx ANIM_TAG_FLOWER loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -24053,7 +24496,7 @@ Move_PETAL_DANCE:: blendoff end -Move_RAZOR_LEAF:: +gBattleAnimMove_RazorLeaf:: loadspritegfx ANIM_TAG_LEAF loadspritegfx ANIM_TAG_RAZOR_LEAF loadspritegfx ANIM_TAG_IMPACT @@ -24093,10 +24536,10 @@ Move_RAZOR_LEAF:: blendoff end -Move_NATURE_POWER:: +gBattleAnimMove_NaturePower:: @ No actual animation, uses the animation of a move from sNaturePowerMoves instead -Move_ANCIENT_POWER:: +gBattleAnimMove_AncientPower:: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -24129,7 +24572,7 @@ Move_ANCIENT_POWER:: blendoff end -Move_OCTAZOOKA:: +gBattleAnimMove_Octazooka:: loadspritegfx ANIM_TAG_GRAY_SMOKE loadspritegfx ANIM_TAG_BLACK_BALL playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_ATTACKER @@ -24146,7 +24589,7 @@ Move_OCTAZOOKA:: waitforvisualfinish end -Move_MIST:: +gBattleAnimMove_Mist:: loadspritegfx ANIM_TAG_MIST_CLOUD monbg ANIM_ATK_PARTNER setalpha 12, 8 @@ -24170,7 +24613,7 @@ MistCloud: delay 7 return -Move_HAZE:: +gBattleAnimMove_Haze:: waitforvisualfinish playsewithpan SE_M_HAZE, 0 createvisualtask AnimTask_HazeScrollingFog, 5 @@ -24180,7 +24623,7 @@ Move_HAZE:: createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BATTLERS_2, 1, 16, 0, RGB_BLACK end -Move_FIRE_PUNCH:: +gBattleAnimMove_FirePunch:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_IMPACT @@ -24216,7 +24659,7 @@ FireSpreadEffect: createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 10, 112, -128, 40 return -Move_LEER:: +gBattleAnimMove_Leer:: loadspritegfx ANIM_TAG_LEER monbg ANIM_ATTACKER splitbgprio ANIM_ATTACKER @@ -24235,7 +24678,7 @@ Move_LEER:: waitforvisualfinish end -Move_DREAM_EATER:: +gBattleAnimMove_DreamEater:: loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_DEF_PARTNER @@ -24302,7 +24745,7 @@ DreamEaterAbsorb: delay 4 return -Move_POISON_GAS:: +gBattleAnimMove_PoisonGas:: loadspritegfx ANIM_TAG_PURPLE_GAS_CLOUD loadspritegfx ANIM_TAG_POISON_BUBBLE delay 0 @@ -24340,7 +24783,7 @@ Move_POISON_GAS:: delay 0 end -Move_BIND:: +gBattleAnimMove_Bind:: createvisualtask AnimTask_SwayMon, 5, 0, 6, 3328, 4, ANIM_ATTACKER goto BindWrap @@ -24355,11 +24798,11 @@ BindWrapSqueezeTarget: delay 16 return -Move_WRAP:: +gBattleAnimMove_Wrap:: createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 6, 4, 2, 4 goto BindWrap -Move_PSYBEAM:: +gBattleAnimMove_Psybeam:: loadspritegfx ANIM_TAG_GOLD_RING playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER call SetPsychicBackground @@ -24386,7 +24829,7 @@ PsybeamRings: delay 4 return -Move_HYPNOSIS:: +gBattleAnimMove_Hypnosis:: loadspritegfx ANIM_TAG_GOLD_RING call SetPsychicBackground call HypnosisRings @@ -24404,7 +24847,7 @@ HypnosisRings: delay 6 return -Move_PSYWAVE:: +gBattleAnimMove_Psywave:: loadspritegfx ANIM_TAG_BLUE_RING playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER call SetPsychicBackground @@ -24428,7 +24871,7 @@ PsywaveRings: delay 4 return -Move_ZAP_CANNON:: +gBattleAnimMove_ZapCannon:: loadspritegfx ANIM_TAG_BLACK_BALL_2 loadspritegfx ANIM_TAG_SPARK_2 playsewithpan SE_M_THUNDER_WAVE, SOUND_PAN_ATTACKER @@ -24449,7 +24892,7 @@ Move_ZAP_CANNON:: waitforvisualfinish end -Move_STEEL_WING:: +gBattleAnimMove_SteelWing:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_IMPACT loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 @@ -24476,7 +24919,7 @@ Move_STEEL_WING:: blendoff end -Move_IRON_TAIL:: +gBattleAnimMove_IronTail:: loadspritegfx ANIM_TAG_IMPACT loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 createvisualtask AnimTask_MetallicShine, 5, 1, 0, RGB_BLACK @@ -24495,7 +24938,7 @@ Move_IRON_TAIL:: waitforvisualfinish end -Move_POISON_TAIL:: +gBattleAnimMove_PoisonTail:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_POISON_BUBBLE loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 @@ -24516,7 +24959,7 @@ Move_POISON_TAIL:: waitforvisualfinish end -Move_METAL_CLAW:: +gBattleAnimMove_MetalClaw:: loadspritegfx ANIM_TAG_CLAW_SLASH loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 createvisualtask AnimTask_MetallicShine, 5, 0, 0, RGB_BLACK @@ -24537,7 +24980,7 @@ Move_METAL_CLAW:: waitforvisualfinish end -Move_NIGHT_SHADE:: +gBattleAnimMove_NightShade:: monbg ANIM_ATTACKER splitbgprio ANIM_ATTACKER playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER @@ -24556,7 +24999,7 @@ Move_NIGHT_SHADE:: waitbgfadein end -Move_EGG_BOMB:: +gBattleAnimMove_EggBomb:: loadspritegfx ANIM_TAG_EXPLOSION loadspritegfx ANIM_TAG_LARGE_FRESH_EGG playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER @@ -24581,7 +25024,7 @@ Move_EGG_BOMB:: waitforvisualfinish end -Move_SHADOW_BALL:: +gBattleAnimMove_ShadowBall:: loadspritegfx ANIM_TAG_SHADOW_BALL fadetobg BG_GHOST waitbgfadein @@ -24596,7 +25039,7 @@ Move_SHADOW_BALL:: waitbgfadein end -Move_LICK:: +gBattleAnimMove_Lick:: loadspritegfx ANIM_TAG_LICK delay 15 playsewithpan SE_M_LICK, SOUND_PAN_TARGET @@ -24605,7 +25048,7 @@ Move_LICK:: waitforvisualfinish end -Move_FOCUS_ENERGY:: +gBattleAnimMove_FocusEnergy:: loadspritegfx ANIM_TAG_FOCUS_ENERGY playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call EndureEffect @@ -24618,7 +25061,7 @@ Move_FOCUS_ENERGY:: waitforvisualfinish end -Move_BIDE:: +gBattleAnimMove_Bide:: choosetwoturnanim BideSetUp, BideUnleash end BideSetUp: @@ -24658,7 +25101,7 @@ BideUnleash: blendoff end -Move_STRING_SHOT:: +gBattleAnimMove_StringShot:: loadspritegfx ANIM_TAG_STRING loadspritegfx ANIM_TAG_WEB_THREAD monbg ANIM_DEF_PARTNER @@ -24703,7 +25146,7 @@ StringShotThread: delay 1 return -Move_SPIDER_WEB:: +gBattleAnimMove_SpiderWeb:: loadspritegfx ANIM_TAG_SPIDER_WEB loadspritegfx ANIM_TAG_WEB_THREAD monbg ANIM_DEF_PARTNER @@ -24740,7 +25183,7 @@ SpiderWebThread: delay 1 return -Move_RAZOR_WIND:: +gBattleAnimMove_RazorWind:: choosetwoturnanim RazorWindSetUp, RazorWindUnleash RazorWindEnd: waitforvisualfinish @@ -24778,7 +25221,7 @@ RazorWindUnleash: blendoff goto RazorWindEnd -Move_DISABLE:: +gBattleAnimMove_Disable:: loadspritegfx ANIM_TAG_SPARKLE_4 monbg ANIM_TARGET splitbgprio ANIM_TARGET @@ -24794,7 +25237,7 @@ Move_DISABLE:: blendoff end -Move_RECOVER:: +gBattleAnimMove_Recover:: loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_ATK_PARTNER @@ -24829,7 +25272,7 @@ RecoverAbsorbEffect: delay 3 return -Move_MIMIC:: +gBattleAnimMove_Mimic:: loadspritegfx ANIM_TAG_ORBS setalpha 11, 5 monbg_static ANIM_DEF_PARTNER @@ -24848,7 +25291,7 @@ Move_MIMIC:: blendoff end -Move_CONSTRICT:: +gBattleAnimMove_Constrict:: loadspritegfx ANIM_TAG_TENDRILS loopsewithpan SE_M_SCRATCH, SOUND_PAN_TARGET, 6, 4 createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 4, 0, 16, 0, 2 @@ -24865,7 +25308,7 @@ Move_CONSTRICT:: waitforvisualfinish end -Move_CURSE:: +gBattleAnimMove_Curse:: choosetwoturnanim CurseGhost, CurseStats CurseGhost: loadspritegfx ANIM_TAG_NAIL @@ -24910,7 +25353,7 @@ CurseStats1: createvisualtask AnimTask_BlendColorCycle, 5, F_PAL_ATTACKER, 4, 2, 0, 10, RGB_RED return -Move_SOFT_BOILED:: +gBattleAnimMove_SoftBoiled:: loadspritegfx ANIM_TAG_BREAKING_EGG loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_BLUE_STAR @@ -24933,7 +25376,7 @@ Move_SOFT_BOILED:: call HealingEffect2 end -Move_HEAL_BELL:: +gBattleAnimMove_HealBell:: loadspritegfx ANIM_TAG_BELL loadspritegfx ANIM_TAG_MUSIC_NOTES_2 loadspritegfx ANIM_TAG_THIN_RING @@ -24985,7 +25428,7 @@ HealBellRing: playsewithpan SE_M_HEAL_BELL, SOUND_PAN_ATTACKER return -Move_FAKE_OUT:: +gBattleAnimMove_FakeOut:: playsewithpan SE_M_FLATTER, 0 createvisualtask AnimTask_FakeOut, 5 waitforvisualfinish @@ -24996,7 +25439,7 @@ Move_FAKE_OUT:: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 16, 0, RGB_WHITE end -Move_SCARY_FACE:: +gBattleAnimMove_ScaryFace:: loadspritegfx ANIM_TAG_EYE_SPARKLE createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, (F_PAL_BG | F_PAL_ATK_SIDE | F_PAL_DEF_PARTNER), 3, 0, 16, RGB_BLACK playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER @@ -25014,7 +25457,7 @@ Move_SCARY_FACE:: waitforvisualfinish end -Move_SWEET_KISS:: +gBattleAnimMove_SweetKiss:: loadspritegfx ANIM_TAG_RED_HEART loadspritegfx ANIM_TAG_ANGEL createsprite gAngelSpriteTemplate, ANIM_TARGET, 2, 16, -48 @@ -25033,7 +25476,7 @@ Move_SWEET_KISS:: createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -384, -31 end -Move_LOVELY_KISS:: +gBattleAnimMove_LovelyKiss:: loadspritegfx ANIM_TAG_PINK_HEART loadspritegfx ANIM_TAG_DEVIL createsprite gDevilSpriteTemplate, ANIM_TARGET, 2, 0, -24 @@ -25046,7 +25489,7 @@ Move_LOVELY_KISS:: createsprite gPinkHeartSpriteTemplate, ANIM_TARGET, 3, -128, -22 end -Move_FURY_SWIPES:: +gBattleAnimMove_FurySwipes:: loadspritegfx ANIM_TAG_SWIPE createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 5, 5 delay 4 @@ -25061,7 +25504,7 @@ Move_FURY_SWIPES:: createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 7, 1 end -Move_INGRAIN:: +gBattleAnimMove_Ingrain:: loadspritegfx ANIM_TAG_ROOTS loadspritegfx ANIM_TAG_ORBS createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 16, 26, -1, 2, 150 @@ -25091,7 +25534,7 @@ Move_INGRAIN:: waitforvisualfinish end -Move_PRESENT:: +gBattleAnimMove_Present:: loadspritegfx ANIM_TAG_ITEM_BAG createvisualtask AnimTask_IsHealingMove, 2 createsprite gPresentSpriteTemplate, ANIM_TARGET, 2, 0, -5, 10, 2, -1 @@ -25151,14 +25594,14 @@ PresentHeal: call HealingEffect2 end -Move_BATON_PASS:: +gBattleAnimMove_BatonPass:: loadspritegfx ANIM_TAG_POKEBALL playsewithpan SE_M_BATON_PASS, SOUND_PAN_ATTACKER createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_BATTLERS), 1, 2, 0, 11, RGB(31, 22, 30) createsprite gBatonPassPokeballSpriteTemplate, ANIM_ATTACKER, 2 end -Move_PERISH_SONG:: +gBattleAnimMove_PerishSong:: loadspritegfx ANIM_TAG_MUSIC_NOTES_2 createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 0 createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 1, 1, 16 @@ -25194,7 +25637,7 @@ Move_PERISH_SONG:: waitforvisualfinish end -Move_SLEEP_TALK:: +gBattleAnimMove_SleepTalk:: loadspritegfx ANIM_TAG_LETTER_Z createvisualtask AnimTask_SwayMon, 5, 0, 4, 4096, 2, ANIM_ATTACKER delay 20 @@ -25221,7 +25664,7 @@ Move_SLEEP_TALK:: waitforvisualfinish end -Move_HYPER_FANG:: +gBattleAnimMove_HyperFang:: loadspritegfx ANIM_TAG_FANG_ATTACK playsewithpan SE_M_BITE, SOUND_PAN_TARGET delay 1 @@ -25252,7 +25695,7 @@ HyperFangInContest: fadetobg BG_IMPACT_CONTESTS goto HyperFangContinue -Move_TRI_ATTACK:: +gBattleAnimMove_TriAttack:: loadspritegfx ANIM_TAG_TRI_ATTACK_TRIANGLE createsprite gTriAttackTriangleSpriteTemplate, ANIM_TARGET, 2, 16, 0 playsewithpan SE_M_TRI_ATTACK, SOUND_PAN_ATTACKER @@ -25301,7 +25744,7 @@ Move_TRI_ATTACK:: waitforvisualfinish end -Move_WILL_O_WISP:: +gBattleAnimMove_WillOWisp:: loadspritegfx ANIM_TAG_WISP_FIRE loadspritegfx ANIM_TAG_WISP_ORB monbg ANIM_DEF_PARTNER @@ -25332,7 +25775,7 @@ Move_WILL_O_WISP:: clearmonbg ANIM_DEF_PARTNER end -Move_ENCORE:: +gBattleAnimMove_Encore:: loadspritegfx ANIM_TAG_SPOTLIGHT loadspritegfx ANIM_TAG_TAG_HAND createvisualtask AnimTask_CreateSpotlight, 2 @@ -25352,7 +25795,7 @@ Move_ENCORE:: createvisualtask AnimTask_RemoveSpotlight, 2 end -Move_TRICK:: +gBattleAnimMove_Trick:: loadspritegfx ANIM_TAG_ITEM_BAG loadspritegfx ANIM_TAG_SPEED_DUST createsprite gTrickBagSpriteTemplate, ANIM_ATTACKER, 2, -40, 80 @@ -25380,7 +25823,7 @@ Move_TRICK:: waitforvisualfinish end -Move_WISH:: +gBattleAnimMove_Wish:: loadspritegfx ANIM_TAG_GOLD_STARS loadspritegfx ANIM_TAG_SPARKLE_2 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 0, 10, RGB_BLACK @@ -25396,7 +25839,7 @@ Move_WISH:: waitforvisualfinish end -Move_STOCKPILE:: +gBattleAnimMove_Stockpile:: loadspritegfx ANIM_TAG_GRAY_ORB playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 8, 1, 0, 12, RGB_WHITE @@ -25425,7 +25868,7 @@ StockpileAbsorb: delay 1 return -Move_SPIT_UP:: +gBattleAnimMove_SpitUp:: loadspritegfx ANIM_TAG_RED_ORB_2 loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER @@ -25472,7 +25915,7 @@ SpitUpStrongest: createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 240 goto SpitUpContinue -Move_SWALLOW:: +gBattleAnimMove_Swallow:: loadspritegfx ANIM_TAG_BLUE_ORB loadspritegfx ANIM_TAG_BLUE_STAR playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER @@ -25508,7 +25951,7 @@ SwallowBest: call SwallowEffect goto SwallowContinue -Move_TRANSFORM:: +gBattleAnimMove_Transform:: monbg ANIM_ATTACKER playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER waitplaysewithpan SE_M_MINIMIZE, SOUND_PAN_ATTACKER, 48 @@ -25517,7 +25960,7 @@ Move_TRANSFORM:: clearmonbg ANIM_ATTACKER end -Move_MORNING_SUN:: +gBattleAnimMove_MorningSun:: loadspritegfx ANIM_TAG_GREEN_STAR loadspritegfx ANIM_TAG_BLUE_STAR createvisualtask AnimTask_MorningSunLightBeam, 5 @@ -25549,7 +25992,7 @@ MorningSunStar: delay 5 return -Move_SWEET_SCENT:: +gBattleAnimMove_SweetScent:: loadspritegfx ANIM_TAG_PINK_PETAL playsewithpan SE_M_SWEET_SCENT, SOUND_PAN_ATTACKER createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 100, 0, 100 @@ -25587,7 +26030,7 @@ SweetScentEffect: delay 2 return -Move_HYPER_BEAM:: +gBattleAnimMove_HyperBeam:: loadspritegfx ANIM_TAG_ORBS createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 4, 0, 16, RGB_BLACK waitforvisualfinish @@ -25637,7 +26080,7 @@ HyperBeamOrbs: delay 1 return -Move_FLATTER:: +gBattleAnimMove_Flatter:: loadspritegfx ANIM_TAG_SPOTLIGHT loadspritegfx ANIM_TAG_CONFETTI createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_M_ENCORE2, SOUND_PAN_TARGET @@ -25682,7 +26125,7 @@ CreateFlatterConfetti: createsprite gFlatterConfettiSpriteTemplate, ANIM_ATTACKER, 40, ANIM_TARGET return -Move_ROLE_PLAY:: +gBattleAnimMove_RolePlay:: monbg ANIM_ATK_PARTNER createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 2, 0, 16, RGB_WHITE createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 2, 0, 10, RGB_BLACK @@ -25697,7 +26140,7 @@ Move_ROLE_PLAY:: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 2, 10, 0, RGB_BLACK end -Move_REFRESH:: +gBattleAnimMove_Refresh:: loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_SPARKLE_2 playsewithpan SE_M_STAT_INCREASE, SOUND_PAN_ATTACKER @@ -25711,7 +26154,7 @@ Move_REFRESH:: createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0 end -Move_BLAZE_KICK:: +gBattleAnimMove_BlazeKick:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_SMALL_EMBER @@ -25732,7 +26175,7 @@ Move_BLAZE_KICK:: blendoff end -Move_HYPER_VOICE:: +gBattleAnimMove_HyperVoice:: loadspritegfx ANIM_TAG_THIN_RING createvisualtask SoundTask_PlayCryWithEcho, 5, FALSE call HyperVoiceEffect @@ -25753,7 +26196,7 @@ HyperVoiceEffect: createvisualtask SoundTask_WaitForCry, 5 return -Move_SAND_TOMB:: +gBattleAnimMove_SandTomb:: loadspritegfx ANIM_TAG_MUD_SAND createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, F_PAL_TARGET, 2, 0, 7, RGB(19, 17, 0) createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 43, 1 @@ -25781,7 +26224,7 @@ SandTombSwirlingDirt: delay 2 return -Move_SHEER_COLD:: +gBattleAnimMove_SheerCold:: fadetobg BG_ICE waitbgfadeout playsewithpan SE_M_ICY_WIND, 0 @@ -25799,7 +26242,7 @@ Move_SHEER_COLD:: waitbgfadein end -Move_ARM_THRUST:: +gBattleAnimMove_ArmThrust:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT splitbgprio ANIM_TARGET @@ -25826,13 +26269,13 @@ ArmThrustLeft: createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -8, 0, ANIM_TARGET, 2 goto ArmThrustContinue -Move_MUDDY_WATER:: +gBattleAnimMove_MuddyWater:: panse SE_M_WHIRLPOOL, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 createvisualtask AnimTask_CreateSurfWave, 2, ANIM_SURF_PAL_MUDDY_WATER waitforvisualfinish end -Move_BULLET_SEED:: +gBattleAnimMove_BulletSeed:: loadspritegfx ANIM_TAG_SEED createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0 delay 5 @@ -25857,7 +26300,7 @@ Move_BULLET_SEED:: waitforvisualfinish end -Move_DRAGON_CLAW:: +gBattleAnimMove_DragonClaw:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_CLAW_SLASH playsewithpan SE_M_SACRED_FIRE2, SOUND_PAN_ATTACKER @@ -25917,7 +26360,7 @@ DragonClawFireSpiral: return end -Move_MUD_SHOT:: +gBattleAnimMove_MudShot:: loadspritegfx ANIM_TAG_BROWN_ORB monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -25949,7 +26392,7 @@ MudShotOrbs: delay 2 return -Move_METEOR_MASH:: +gBattleAnimMove_MeteorMash:: loadspritegfx ANIM_TAG_GOLD_STARS loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET @@ -25974,7 +26417,7 @@ Move_METEOR_MASH:: waitforvisualfinish end -Move_REVENGE:: +gBattleAnimMove_Revenge:: loadspritegfx ANIM_TAG_PURPLE_SCRATCH monbg ANIM_TARGET setalpha 12, 8 @@ -26003,7 +26446,7 @@ Move_REVENGE:: blendoff end -Move_POISON_FANG:: +gBattleAnimMove_PoisonFang:: loadspritegfx ANIM_TAG_FANG_ATTACK loadspritegfx ANIM_TAG_POISON_BUBBLE playsewithpan SE_M_BITE, SOUND_PAN_TARGET @@ -26016,12 +26459,12 @@ Move_POISON_FANG:: waitforvisualfinish end -Move_SUBSTITUTE:: +gBattleAnimMove_Substitute:: playsewithpan SE_M_ATTRACT, SOUND_PAN_ATTACKER createvisualtask AnimTask_MonToSubstitute, 2 end -Move_FRENZY_PLANT:: +gBattleAnimMove_FrenzyPlant:: loadspritegfx ANIM_TAG_ROOTS loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -26081,7 +26524,7 @@ Move_FRENZY_PLANT:: blendoff end -Move_METAL_SOUND:: +gBattleAnimMove_MetalSound:: loadspritegfx ANIM_TAG_METAL_SOUND_WAVES monbg ANIM_DEF_PARTNER splitbgprio_foes ANIM_TARGET @@ -26101,7 +26544,7 @@ MetalSoundRings: delay 2 return -Move_FOCUS_PUNCH:: +gBattleAnimMove_FocusPunch:: goto FocusPunch FocusPunchEnd: waitforvisualfinish @@ -26149,7 +26592,7 @@ FocusPunchInContest: fadetobg BG_IMPACT_CONTESTS goto FocusPunchContinue -Move_RETURN:: +gBattleAnimMove_Return:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -26286,7 +26729,7 @@ ReturnStrongestHit: waitforvisualfinish return -Move_COSMIC_POWER:: +gBattleAnimMove_CosmicPower:: loadspritegfx ANIM_TAG_SPARKLE_2 createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_M_COSMIC_POWER, 0 playsewithpan SE_M_COSMIC_POWER, 0 @@ -26311,7 +26754,7 @@ Move_COSMIC_POWER:: waitforvisualfinish end -Move_BLAST_BURN:: +gBattleAnimMove_BlastBurn:: loadspritegfx ANIM_TAG_FIRE_PLUME loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -26356,7 +26799,7 @@ Move_BLAST_BURN:: blendoff end -Move_ROCK_TOMB:: +gBattleAnimMove_RockTomb:: loadspritegfx ANIM_TAG_X_SIGN loadspritegfx ANIM_TAG_ROCKS createvisualtask AnimTask_ShakeBattleTerrain, 2, 2, 0, 10, 1 @@ -26414,7 +26857,7 @@ UnsetBugBg: waitbgfadein return -Move_SILVER_WIND:: +gBattleAnimMove_SilverWind:: loadspritegfx ANIM_TAG_SPARKLE_6 panse SE_M_GUST, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 playsewithpan SE_M_MORNING_SUN, 0 @@ -26453,12 +26896,12 @@ Move_SILVER_WIND:: call UnsetBugBg end -Move_SNATCH:: +gBattleAnimMove_Snatch:: playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -12, 4, 10, 10, 12, 6 end -Move_DIVE:: +gBattleAnimMove_Dive:: loadspritegfx ANIM_TAG_SPLASH loadspritegfx ANIM_TAG_SWEAT_BEAD choosetwoturnanim DiveSetUp, DiveAttack @@ -26503,7 +26946,7 @@ DiveAttackWaterDroplets: createsprite gSprayWaterDropletSpriteTemplate, ANIM_TARGET, 5, 1, 1 return -Move_ROCK_BLAST:: +gBattleAnimMove_RockBlast:: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_IMPACT createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6 @@ -26521,7 +26964,7 @@ Move_ROCK_BLAST:: waitforvisualfinish end -Move_OVERHEAT:: +gBattleAnimMove_Overheat:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -26602,7 +27045,7 @@ Move_OVERHEAT:: waitforvisualfinish end -Move_HYDRO_CANNON:: +gBattleAnimMove_HydroCannon:: loadspritegfx ANIM_TAG_WATER_ORB loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER @@ -26644,7 +27087,7 @@ HydroCannonBeam: createsprite gHydroCannonBeamSpriteTemplate, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257 return -Move_ASTONISH:: +gBattleAnimMove_Astonish:: loadspritegfx ANIM_TAG_SWEAT_BEAD playsewithpan SE_M_ENCORE, SOUND_PAN_ATTACKER createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6 @@ -26657,7 +27100,7 @@ Move_ASTONISH:: waitforvisualfinish end -Move_SEISMIC_TOSS:: +gBattleAnimMove_SeismicToss:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS setarg 7, 0 @@ -26724,7 +27167,7 @@ SeismicTossRockScatter2: createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 12, 30, 4, 3 return -Move_MAGIC_COAT:: +gBattleAnimMove_MagicCoat:: loadspritegfx ANIM_TAG_ORANGE_LIGHT_WALL setalpha 0, 16 waitplaysewithpan SE_M_BARRIER, SOUND_PAN_ATTACKER, 15 @@ -26734,7 +27177,7 @@ Move_MAGIC_COAT:: blendoff end -Move_WATER_PULSE:: +gBattleAnimMove_WaterPulse:: loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_BLUE_RING_2 monbg ANIM_TARGET @@ -26765,7 +27208,7 @@ Move_WATER_PULSE:: clearmonbg ANIM_DEF_PARTNER end -Move_PSYCHO_BOOST:: +gBattleAnimMove_PsychoBoost:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT monbg ANIM_ATK_PARTNER fadetobg BG_PSYCHIC @@ -26792,7 +27235,7 @@ Move_PSYCHO_BOOST:: call UnsetPsychicBg end -Move_KNOCK_OFF:: +gBattleAnimMove_KnockOff:: loadspritegfx ANIM_TAG_SLAM_HIT_2 loadspritegfx ANIM_TAG_IMPACT createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6 @@ -26813,7 +27256,7 @@ Move_KNOCK_OFF:: waitforvisualfinish end -Move_DOOM_DESIRE:: +gBattleAnimMove_DoomDesire:: createvisualtask GetIsDoomDesireHitTurn, 2 delay 1 monbg ANIM_ATK_PARTNER @@ -26832,7 +27275,7 @@ Move_DOOM_DESIRE:: blendoff end -Move_SKY_UPPERCUT:: +gBattleAnimMove_SkyUppercut:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -26876,52 +27319,52 @@ Move_SKY_UPPERCUT:: waitbgfadein end -Move_SECRET_POWER:: +gBattleAnimMove_SecretPower:: createvisualtask AnimTask_GetFieldTerrain, 5 - jumpargeq 0, STATUS_FIELD_MISTY_TERRAIN, Move_FAIRY_WIND - jumpargeq 0, STATUS_FIELD_GRASSY_TERRAIN, Move_NEEDLE_ARM - jumpargeq 0, STATUS_FIELD_ELECTRIC_TERRAIN, Move_THUNDER_SHOCK - jumpargeq 0, STATUS_FIELD_PSYCHIC_TERRAIN, Move_CONFUSION + jumpargeq 0, STATUS_FIELD_MISTY_TERRAIN, gBattleAnimMove_FairyWind + jumpargeq 0, STATUS_FIELD_GRASSY_TERRAIN, gBattleAnimMove_NeedleArm + jumpargeq 0, STATUS_FIELD_ELECTRIC_TERRAIN, gBattleAnimMove_ThunderShock + jumpargeq 0, STATUS_FIELD_PSYCHIC_TERRAIN, gBattleAnimMove_Confusion createvisualtask AnimTask_GetBattleTerrain, 5 - jumpargeq 0, BATTLE_TERRAIN_GRASS, Move_NEEDLE_ARM - jumpargeq 0, BATTLE_TERRAIN_LONG_GRASS, Move_MAGICAL_LEAF - jumpargeq 0, BATTLE_TERRAIN_SAND, Move_MUD_SHOT - jumpargeq 0, BATTLE_TERRAIN_UNDERWATER, Move_WATERFALL - jumpargeq 0, BATTLE_TERRAIN_WATER, Move_SURF - jumpargeq 0, BATTLE_TERRAIN_POND, Move_BUBBLE_BEAM - jumpargeq 0, BATTLE_TERRAIN_MOUNTAIN, Move_ROCK_THROW - jumpargeq 0, BATTLE_TERRAIN_CAVE, Move_BITE - jumpargeq 0, BATTLE_TERRAIN_BUILDING, Move_STRENGTH - jumpargeq 0, BATTLE_TERRAIN_SOARING, Move_GUST - jumpargeq 0, BATTLE_TERRAIN_SKY_PILLAR, Move_GUST - jumpargeq 0, BATTLE_TERRAIN_BURIAL_GROUND, Move_SHADOW_SNEAK - jumpargeq 0, BATTLE_TERRAIN_PUDDLE, Move_MUD_SHOT - jumpargeq 0, BATTLE_TERRAIN_MARSH, Move_MUD_SHOT - jumpargeq 0, BATTLE_TERRAIN_SWAMP, Move_MUD_SHOT - jumpargeq 0, BATTLE_TERRAIN_ICE, Move_ICE_SHARD - jumpargeq 0, BATTLE_TERRAIN_VOLCANO, Move_INCINERATE - jumpargeq 0, BATTLE_TERRAIN_DISTORTION_WORLD, Move_POUND - jumpargeq 0, BATTLE_TERRAIN_SPACE, Move_SWIFT - jumpargeq 0, BATTLE_TERRAIN_ULTRA_SPACE, Move_PSYWAVE + jumpargeq 0, BATTLE_TERRAIN_GRASS, gBattleAnimMove_NeedleArm + jumpargeq 0, BATTLE_TERRAIN_LONG_GRASS, gBattleAnimMove_MagicalLeaf + jumpargeq 0, BATTLE_TERRAIN_SAND, gBattleAnimMove_MudShot + jumpargeq 0, BATTLE_TERRAIN_UNDERWATER, gBattleAnimMove_Waterfall + jumpargeq 0, BATTLE_TERRAIN_WATER, gBattleAnimMove_Surf + jumpargeq 0, BATTLE_TERRAIN_POND, gBattleAnimMove_BubbleBeam + jumpargeq 0, BATTLE_TERRAIN_MOUNTAIN, gBattleAnimMove_RockThrow + jumpargeq 0, BATTLE_TERRAIN_CAVE, gBattleAnimMove_Bite + jumpargeq 0, BATTLE_TERRAIN_BUILDING, gBattleAnimMove_Strength + jumpargeq 0, BATTLE_TERRAIN_SOARING, gBattleAnimMove_Gust + jumpargeq 0, BATTLE_TERRAIN_SKY_PILLAR, gBattleAnimMove_Gust + jumpargeq 0, BATTLE_TERRAIN_BURIAL_GROUND, gBattleAnimMove_ShadowSneak + jumpargeq 0, BATTLE_TERRAIN_PUDDLE, gBattleAnimMove_MudShot + jumpargeq 0, BATTLE_TERRAIN_MARSH, gBattleAnimMove_MudShot + jumpargeq 0, BATTLE_TERRAIN_SWAMP, gBattleAnimMove_MudShot + jumpargeq 0, BATTLE_TERRAIN_ICE, gBattleAnimMove_IceShard + jumpargeq 0, BATTLE_TERRAIN_VOLCANO, gBattleAnimMove_Incinerate + jumpargeq 0, BATTLE_TERRAIN_DISTORTION_WORLD, gBattleAnimMove_Pound + jumpargeq 0, BATTLE_TERRAIN_SPACE, gBattleAnimMove_Swift + jumpargeq 0, BATTLE_TERRAIN_ULTRA_SPACE, gBattleAnimMove_Psywave .if B_SECRET_POWER_ANIMATION >= GEN_7 - jumpargeq 0, BATTLE_TERRAIN_SNOW, Move_ICE_SHARD - jumpargeq 0, BATTLE_TERRAIN_BUILDING, Move_SPIT_UP - goto Move_SPIT_UP + jumpargeq 0, BATTLE_TERRAIN_SNOW, gBattleAnimMove_IceShard + jumpargeq 0, BATTLE_TERRAIN_BUILDING, gBattleAnimMove_SpitUp + goto gBattleAnimMove_SpitUp .elseif B_SECRET_POWER_ANIMATION >= GEN_6 - jumpargeq 0, BATTLE_TERRAIN_SNOW, Move_AVALANCHE - jumpargeq 0, BATTLE_TERRAIN_BUILDING, Move_BODY_SLAM - goto Move_BODY_SLAM + jumpargeq 0, BATTLE_TERRAIN_SNOW, gBattleAnimMove_Avalanche + jumpargeq 0, BATTLE_TERRAIN_BUILDING, gBattleAnimMove_BodySlam + goto gBattleAnimMove_BodySlam .elseif B_SECRET_POWER_ANIMATION >= GEN_4 - jumpargeq 0, BATTLE_TERRAIN_SNOW, Move_AVALANCHE - jumpargeq 0, BATTLE_TERRAIN_BUILDING, Move_BODY_SLAM - goto Move_MUD_SLAP + jumpargeq 0, BATTLE_TERRAIN_SNOW, gBattleAnimMove_Avalanche + jumpargeq 0, BATTLE_TERRAIN_BUILDING, gBattleAnimMove_BodySlam + goto gBattleAnimMove_MudSlap .else - jumpargeq 0, BATTLE_TERRAIN_SNOW, Move_AVALANCHE - jumpargeq 0, BATTLE_TERRAIN_BUILDING, Move_STRENGTH - goto Move_SLAM + jumpargeq 0, BATTLE_TERRAIN_SNOW, gBattleAnimMove_Avalanche + jumpargeq 0, BATTLE_TERRAIN_BUILDING, gBattleAnimMove_Strength + goto gBattleAnimMove_Slam .endif -Move_TWISTER:: +gBattleAnimMove_Twister:: loadspritegfx ANIM_TAG_LEAF loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS @@ -26967,7 +27410,7 @@ Move_TWISTER:: blendoff end -Move_MAGICAL_LEAF:: +gBattleAnimMove_MagicalLeaf:: loadspritegfx ANIM_TAG_LEAF loadspritegfx ANIM_TAG_RAZOR_LEAF loadspritegfx ANIM_TAG_IMPACT @@ -27011,7 +27454,7 @@ Move_MAGICAL_LEAF:: blendoff end -Move_ICE_BALL:: +gBattleAnimMove_IceBall:: loadspritegfx ANIM_TAG_ICE_CHUNK loadspritegfx ANIM_TAG_ICE_CRYSTALS createvisualtask AnimTask_GetIceBallCounter, 5, 0 @@ -27101,7 +27544,7 @@ IceBallImpactShard: createsprite gIceBallImpactShardSpriteTemplate, ANIM_TARGET, 4, -12, -16 return -Move_WEATHER_BALL:: +gBattleAnimMove_WeatherBall:: loadspritegfx ANIM_TAG_WEATHER_BALL createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 8, 1, ANIM_ATTACKER delay 8 @@ -27197,7 +27640,7 @@ WeatherBallIce: waitforvisualfinish end -Move_COUNT:: +gBattleAnimMove_Count:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -27511,18 +27954,18 @@ UnsetSolarBeamBg: waitbgfadein return -Status_Poison: +gBattleAnimStatus_Poison:: loopsewithpan SE_M_TOXIC, SOUND_PAN_TARGET, 13, 6 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 18, 2 createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 12, RGB(30, 0, 31) end -Status_Confusion: +gBattleAnimStatus_Confusion:: loadspritegfx ANIM_TAG_DUCK call ConfusionEffect end -Status_Burn: +gBattleAnimStatus_Burn:: loadspritegfx ANIM_TAG_SMALL_EMBER playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_TARGET call BurnFlame @@ -27535,7 +27978,7 @@ BurnFlame: delay 4 return -Status_Infatuation: +gBattleAnimStatus_Infatuation:: loadspritegfx ANIM_TAG_MAGENTA_HEART playsewithpan SE_M_CHARM, SOUND_PAN_ATTACKER createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0, 20 @@ -27547,7 +27990,7 @@ Status_Infatuation: createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 20, 20 end -Status_Sleep: +gBattleAnimStatus_Sleep:: loadspritegfx ANIM_TAG_LETTER_Z playsewithpan SE_M_SNORE, SOUND_PAN_ATTACKER createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 @@ -27555,13 +27998,13 @@ Status_Sleep: createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 end -Status_Paralysis: +gBattleAnimStatus_Paralysis:: loadspritegfx ANIM_TAG_SPARK_2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 call ElectricityEffect end -Status_Freeze: +gBattleAnimStatus_Freeze:: playsewithpan SE_M_ICY_WIND, 0 loadspritegfx ANIM_TAG_ICE_CUBE monbg ANIM_DEF_PARTNER @@ -27572,7 +28015,7 @@ Status_Freeze: clearmonbg ANIM_DEF_PARTNER end -Status_Curse: +gBattleAnimStatus_Curse:: loadspritegfx ANIM_TAG_GHOSTLY_SPIRIT monbg ANIM_DEF_PARTNER playsewithpan SE_M_NIGHTMARE, SOUND_PAN_TARGET @@ -27582,7 +28025,7 @@ Status_Curse: clearmonbg ANIM_DEF_PARTNER end -Status_Nightmare: +gBattleAnimStatus_Nightmare:: loadspritegfx ANIM_TAG_DEVIL monbg ANIM_DEF_PARTNER playsewithpan SE_M_NIGHTMARE, SOUND_PAN_TARGET @@ -27592,15 +28035,12 @@ Status_Nightmare: clearmonbg ANIM_DEF_PARTNER end -Status_Powder: - end - -General_StatsChange: +gBattleAnimGeneral_StatsChange:: createvisualtask AnimTask_StatsChange, 5 waitforvisualfinish end -General_SubstituteFade: +gBattleAnimGeneral_SubstituteFade:: monbg ANIM_ATTACKER createvisualtask AnimTask_SubstituteFadeToInvisible, 5 createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_ATTACKER, 0, 0, 16, RGB_WHITE @@ -27613,11 +28053,11 @@ General_SubstituteFade: createvisualtask AnimTask_SwapMonSpriteToFromSubstitute, 2, TRUE end -General_SubstituteAppear: +gBattleAnimGeneral_SubstituteAppear:: createvisualtask AnimTask_MonToSubstitute, 2 end -General_PokeblockThrow: +gBattleAnimGeneral_PokeblockThrow:: createvisualtask AnimTask_SetAttackerTargetLeftPos, 2, 0 createvisualtask AnimTask_LoadPokeblockGfx, 2 delay 0 @@ -27630,12 +28070,12 @@ General_PokeblockThrow: createvisualtask AnimTask_FreePokeblockGfx, 2 end -General_ItemKnockoff: +gBattleAnimGeneral_ItemKnockoff:: loadspritegfx ANIM_TAG_ITEM_BAG createsprite gKnockOffItemSpriteTemplate, ANIM_TARGET, 2 end -General_TurnTrap: +gBattleAnimGeneral_TurnTrap:: createvisualtask AnimTask_GetTrappedMoveAnimId, 5 jumpargeq 0, TRAP_ANIM_FIRE_SPIN, Status_FireSpin jumpargeq 0, TRAP_ANIM_WHIRLPOOL, Status_Whirlpool @@ -27733,10 +28173,10 @@ Status_Clamp: Status_Thunder_Cage: @ TODO - goto Move_THUNDER_CAGE + goto gBattleAnimMove_ThunderCage -Status_Snap_Trap: @ placeholder - goto Move_BITE +Status_Snap_Trap: + goto gBattleAnimMove_SnapTrap Status_SandTomb: loadspritegfx ANIM_TAG_MUD_SAND @@ -27767,7 +28207,7 @@ Status_Infestation: clearmonbg ANIM_DEF_PARTNER end -General_HeldItemEffect: +gBattleAnimGeneral_HeldItemEffect:: loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_SPARKLE_2 delay 0 @@ -27789,7 +28229,7 @@ General_HeldItemEffect: waitforvisualfinish end -General_SmokeballEscape: +gBattleAnimGeneral_SmokeballEscape:: loadspritegfx ANIM_TAG_PINK_CLOUD monbg ANIM_ATTACKER setalpha 12, 4 @@ -27827,7 +28267,7 @@ General_SmokeballEscape: blendoff end -General_HangedOn: +gBattleAnimGeneral_HangedOn:: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, F_PAL_ATTACKER, 7, 0, 9, RGB_RED playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER createvisualtask AnimTask_SlideMonForFocusBand, 5, 30, 128, 0, 1, 2, 0, 1 @@ -27838,7 +28278,7 @@ General_HangedOn: createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 0, 0, 0, 15 end -General_Rain: +gBattleAnimGeneral_Rain:: call RainDrops end @@ -27855,27 +28295,27 @@ RainDrops: waitforvisualfinish return -General_Sun: - goto Move_SUNNY_DAY +gBattleAnimGeneral_Sun:: + goto gBattleAnimMove_SunnyDay -General_Sandstorm: - goto Move_SANDSTORM +gBattleAnimGeneral_Sandstorm:: + goto gBattleAnimMove_Sandstorm -General_Hail: - goto Move_HAIL +gBattleAnimGeneral_Hail:: + goto gBattleAnimMove_Hail -General_Snow: - goto Move_SNOWSCAPE +gBattleAnimGeneral_Snow:: + goto gBattleAnimMove_Snowscape -General_Fog: - goto Move_HAZE +gBattleAnimGeneral_Fog:: + goto gBattleAnimMove_Haze -General_LeechSeedDrain: +gBattleAnimGeneral_LeechSeedDrain:: createvisualtask AnimTask_GetBattlersFromArg, 5 delay 0 - goto Move_ABSORB + goto gBattleAnimMove_Absorb -General_MonHit: +gBattleAnimGeneral_MonHit:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -27887,7 +28327,7 @@ General_MonHit: blendoff end -General_ItemSteal: +gBattleAnimGeneral_ItemSteal:: loadspritegfx ANIM_TAG_ITEM_BAG createvisualtask AnimTask_SetAnimAttackerAndTargetForEffectAtk, 2 createvisualtask AnimTask_SetTargetToEffectBattler, 2 @ Redundant with above @@ -27895,7 +28335,7 @@ General_ItemSteal: createsprite gItemStealSpriteTemplate, ANIM_ATTACKER, 2, 0, -5, 10, 2, -1 end -General_SnatchMove: +gBattleAnimGeneral_SnatchMove:: loadspritegfx ANIM_TAG_ITEM_BAG createvisualtask AnimTask_SetAnimAttackerAndTargetForEffectTgt, 2 call SnatchMoveTrySwapFromSubstitute @@ -27918,7 +28358,7 @@ SnatchPartnerMonMove: createvisualtask AnimTask_SnatchPartnerMove, 2 goto SnatchMoveContinue -General_FutureSightHit: +gBattleAnimGeneral_FutureSightHit:: createvisualtask AnimTask_SetAnimTargetToBattlerTarget, 2 monbg ANIM_DEF_PARTNER playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER @@ -27938,7 +28378,7 @@ General_FutureSightHit: call UnsetPsychicBg end -General_DoomDesireHit: +gBattleAnimGeneral_DoomDesireHit:: createvisualtask AnimTask_SetAnimTargetToBattlerTarget, 2 loadspritegfx ANIM_TAG_EXPLOSION createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 0, 16, RGB_WHITE @@ -27972,7 +28412,7 @@ General_DoomDesireHit: waitforvisualfinish end -General_FocusPunchSetUp: +gBattleAnimGeneral_FocusPunchSetUp:: loadspritegfx ANIM_TAG_FOCUS_ENERGY playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call EndureEffect @@ -27985,7 +28425,7 @@ General_FocusPunchSetUp: waitforvisualfinish end -General_IngrainHeal: +gBattleAnimGeneral_IngrainHeal:: loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_DEF_PARTNER @@ -28004,7 +28444,7 @@ General_IngrainHeal: blendoff end -General_WishHeal: +gBattleAnimGeneral_WishHeal:: loadspritegfx ANIM_TAG_SPARKLE_2 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 0, 10, RGB_BLACK waitforvisualfinish @@ -28018,34 +28458,34 @@ General_WishHeal: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 10, 0, RGB_BLACK end -General_SimpleHeal: +gBattleAnimGeneral_SimpleHeal:: loadspritegfx ANIM_TAG_BLUE_STAR call HealingEffect waitforvisualfinish end -General_IllusionOff: +gBattleAnimGeneral_IllusionOff:: monbg ANIM_TARGET createvisualtask AnimTask_TransformMon, 2, 1, 0 waitforvisualfinish clearmonbg ANIM_TARGET end -General_FormChange: +gBattleAnimGeneral_FormChange:: monbg ANIM_ATTACKER createvisualtask AnimTask_TransformMon, 2, 1, 0 waitforvisualfinish clearmonbg ANIM_ATTACKER end -General_SlideOffScreen: +gBattleAnimGeneral_SlideOffScreen:: createvisualtask AnimTask_SlideOffScreen, 5, ANIM_TARGET, 3 waitforvisualfinish createvisualtask AnimTask_SetInvisible, 1, ANIM_TARGET, TRUE waitforvisualfinish end -General_MegaEvolution: +gBattleAnimGeneral_MegaEvolution:: loadspritegfx ANIM_TAG_MEGA_STONE loadspritegfx ANIM_TAG_MEGA_PARTICLES loadspritegfx ANIM_TAG_MEGA_SYMBOL @@ -28090,7 +28530,7 @@ MegaEvolutionParticles: delay 3 return -General_TeraCharge: +gBattleAnimGeneral_TeraCharge:: loadspritegfx ANIM_TAG_TERA_CRYSTAL loadspritegfx ANIM_TAG_TERA_SHATTER loadspritegfx ANIM_TAG_FOCUS_ENERGY @@ -28128,7 +28568,7 @@ TeraChargeParticles: createsprite gTeraCrystalSpreadSpriteTemplate, ANIM_TARGET, 0, 0, 10, 0 return -General_TeraActivate: +gBattleAnimGeneral_TeraActivate:: createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 16, 0, RGB_WHITEALPHA createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 5, 14 waitforvisualfinish @@ -28137,12 +28577,12 @@ General_TeraActivate: blendoff end -General_RestoreBg: +gBattleAnimGeneral_RestoreBg:: restorebg waitbgfadein end -General_ZMoveActivate: +gBattleAnimGeneral_ZMoveActivate:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_Z_MOVE_SYMBOL @Z-Move Symbol loadspritegfx ANIM_TAG_WHIP_HIT @green color @@ -28177,7 +28617,7 @@ ZMoveBuffEffect: delay 0x3 return -General_TotemFlare:: +gBattleAnimGeneral_TotemFlare:: loadspritegfx ANIM_TAG_FOCUS_ENERGY loadspritegfx ANIM_TAG_WHIP_HIT @green color loadspritegfx ANIM_TAG_SWEAT_BEAD @blue color @@ -28207,7 +28647,7 @@ RainbowEndureEffect: delay 0x3 return -General_GulpMissile: @ Tackle anim (placeholder) +gBattleAnimGeneral_GulpMissile:: @ Tackle anim (placeholder) loadspritegfx ANIM_TAG_IMPACT monbg ANIM_ATTACKER setalpha 12, 8 @@ -28221,7 +28661,7 @@ General_GulpMissile: @ Tackle anim (placeholder) blendoff end -General_StrongWinds:: +gBattleAnimGeneral_StrongWinds:: loadspritegfx ANIM_TAG_FLYING_DIRT playsewithpan SE_M_GUST, 0 createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_FLYING_DIRT, 0, 12, 12, RGB(20, 20, 20) @@ -28232,7 +28672,7 @@ General_StrongWinds:: stopsound end -General_PrimalReversion:: +gBattleAnimGeneral_PrimalReversion:: createvisualtask AnimTask_PrimalReversion, 0x5 jumpargeq 0x0, ITEM_RED_ORB, General_PrimalReversion_Omega jumpargeq 0x0, ITEM_BLUE_ORB, General_PrimalReversion_Alpha @@ -28291,7 +28731,7 @@ General_PrimalReversion_Omega: blendoff end -General_UltraBurst:: +gBattleAnimGeneral_UltraBurst:: loadspritegfx ANIM_TAG_ULTRA_BURST_SYMBOL loadspritegfx ANIM_TAG_SPARK_2 @spark loadspritegfx ANIM_TAG_LEAF @green @@ -28328,7 +28768,7 @@ General_UltraBurst:: blendoff end -General_AffectionHangedOn:: +gBattleAnimGeneral_AffectionHangedOn:: loadspritegfx ANIM_TAG_RED_HEART loopsewithpan SE_M_CHARM, SOUND_PAN_ATTACKER, 12, 3 createvisualtask AnimTask_SwayMon, 5, 0, 12, 4096, 4, ANIM_ATTACKER @@ -28349,10 +28789,10 @@ General_AffectionHangedOn_3Hearts: waitforvisualfinish end -General_SaltCureDamage:: - goto Status_Freeze +gBattleAnimGeneral_SaltCureDamage:: + goto gBattleAnimStatus_Freeze -General_Rainbow:: +gBattleAnimGeneral_Rainbow:: call RainDrops delay 30 loadspritegfx ANIM_TAG_SUNLIGHT @@ -28375,15 +28815,24 @@ General_Rainbow:: clearmonbg ANIM_ATK_PARTNER end -General_SeaOfFire:: +gBattleAnimGeneral_SeaOfFire:: loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET playsewithpan SE_M_SACRED_FIRE2, SOUND_PAN_TARGET + fadetobg BG_FIRE + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 2, 0, 11, RGB(21, 2, 0) + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_DEF_PARTNER, 2, 0, 11, RGB(21, 2, 0) call SeaOfFireTwisterDos delay 3 call SeaOfFireTwisterTres + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 10, 1 waitforvisualfinish + restorebg + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 2, 11, 0, RGB(21, 2, 0) + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_DEF_PARTNER, 2, 11, 0, RGB(21, 2, 0) + waitbgfadein clearmonbg ANIM_DEF_PARTNER blendoff end @@ -28418,8 +28867,41 @@ SeaOfFireTwisterTres: delay 2 return -General_Swamp:: @ To do - goto Move_HAZE +gBattleAnimGeneral_Swamp:: + loadspritegfx ANIM_TAG_RAIN_DROPS + loadspritegfx ANIM_TAG_SMALL_BUBBLES + loadspritegfx ANIM_TAG_THOUGHT_BUBBLE + playsewithpan SE_M_RAIN_DANCE, SOUND_PAN_TARGET + createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_BG | F_PAL_BATTLERS_2), 2, 0, 4, RGB_BLACK + waitforvisualfinish + createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 + createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SMALL_BUBBLES, 0, 4, 4, RGB(12, 11, 31) + delay 1 + waitforvisualfinish + fadetobg BG_SWAMP + createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 + createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 2, 0, 11, RGB(11, 26, 10) + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_DEF_PARTNER, 2, 0, 11, RGB(11, 26, 10) + waitbgfadeout + delay 4 + createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 + createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 10, 1 + loopsewithpan SE_M_CRABHAMMER, SOUND_PAN_TARGET, 20, 3 + waitforvisualfinish + delay 10 + restorebg + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 2, 11, 0, RGB(11, 26, 10) + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_DEF_PARTNER, 2, 11, 0, RGB(11, 26, 10) + waitbgfadein + createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_BG | F_PAL_BATTLERS_2), 2, 4, 0, RGB_BLACK + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end SnatchMoveTrySwapFromSubstitute: createvisualtask AnimTask_IsAttackerBehindSubstitute, 2 @@ -28444,7 +28926,7 @@ SnatchMoveSwapMonForSubstitute: goto SnatchMoveTrySwapToSubstituteEnd @ Healthbox blue flash effect on level up -Special_LevelUp: +gBattleAnimSpecial_LevelUp:: playsewithpan SE_EXP_MAX, 0 createvisualtask AnimTask_LoadHealthboxPalsForLevelUp, 2 delay 0 @@ -28453,19 +28935,19 @@ Special_LevelUp: createvisualtask AnimTask_FreeHealthboxPalsForLevelUp, 2 end -Special_SwitchOutPlayerMon: +gBattleAnimSpecial_SwitchOutPlayerMon:: createvisualtask AnimTask_SwitchOutBallEffect, 2 delay 10 createvisualtask AnimTask_SwitchOutShrinkMon, 2 end -Special_SwitchOutOpponentMon: +gBattleAnimSpecial_SwitchOutOpponentMon:: createvisualtask AnimTask_SwitchOutBallEffect, 2 delay 10 createvisualtask AnimTask_SwitchOutShrinkMon, 2 end -Special_BallThrow: +gBattleAnimSpecial_BallThrow:: createvisualtask AnimTask_LoadBallGfx, 2 delay 0 playsewithpan SE_BALL_THROW, 0 @@ -28489,7 +28971,7 @@ BallThrowTrainerBlock: blendoff goto BallThrowEnd -Special_BallThrowWithTrainer: +gBattleAnimSpecial_BallThrowWithTrainer:: createvisualtask AnimTask_LoadBallGfx, 2 delay 0 createvisualtask AnimTask_ThrowBall_StandingTrainer, 2 @@ -28497,15 +28979,15 @@ Special_BallThrowWithTrainer: createvisualtask AnimTask_FreeBallGfx, 2 end -Special_SubstituteToMon: +gBattleAnimSpecial_SubstituteToMon:: createvisualtask AnimTask_SwapMonSpriteToFromSubstitute, 2, TRUE end -Special_MonToSubstitute: +gBattleAnimSpecial_MonToSubstitute:: createvisualtask AnimTask_SwapMonSpriteToFromSubstitute, 2, FALSE end -Special_CriticalCaptureBallThrow: +gBattleAnimSpecial_CriticalCaptureBallThrow:: createvisualtask AnimTask_LoadBallGfx, 2 delay 0 playsewithpan SE_FALL, 0 @@ -28515,7 +28997,7 @@ Special_CriticalCaptureBallThrow: goto BallThrowEnd @@@@@@@@@@ Z MOVES @@@@@@@@@@ -Move_BREAKNECK_BLITZ:: +gBattleAnimMove_BreakneckBlitz:: loadspritegfx ANIM_TAG_HOLLOW_ORB loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET @@ -28596,7 +29078,7 @@ Move_BREAKNECK_BLITZ:: end -Move_ALL_OUT_PUMMELING:: +gBattleAnimMove_AllOutPummeling:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_METEOR @@ -28686,7 +29168,7 @@ Move_ALL_OUT_PUMMELING:: end -Move_SUPERSONIC_SKYSTRIKE:: +gBattleAnimMove_SupersonicSkystrike:: loadspritegfx ANIM_TAG_ROUND_SHADOW @ fly loadspritegfx ANIM_TAG_MUD_SAND @ dig loadspritegfx ANIM_TAG_FOCUS_ENERGY @ focus energy @@ -28759,7 +29241,7 @@ FinishSupersonicSkystrike: end -Move_ACID_DOWNPOUR:: +gBattleAnimMove_AcidDownpour:: loadspritegfx ANIM_TAG_BLUE_ORB @ reversal loadspritegfx ANIM_TAG_POISON_JAB @ poison jab loadspritegfx ANIM_TAG_POISON_BUBBLE @ poison bubbles @@ -28845,7 +29327,7 @@ AcidDownpourFlareOnAttacker: return -Move_TECTONIC_RAGE:: +gBattleAnimMove_TectonicRage:: loadspritegfx ANIM_TAG_DIRT_MOUND @ dig loadspritegfx ANIM_TAG_MUD_SAND @ rollout small rocks loadspritegfx ANIM_TAG_ROCKS @ rollout @@ -28962,7 +29444,7 @@ TectonicRageExplosion: return -Move_CONTINENTAL_CRUSH:: +gBattleAnimMove_ContinentalCrush:: loadspritegfx ANIM_TAG_ROUND_SHADOW @ fly loadspritegfx ANIM_TAG_MUD_SAND @ dig loadspritegfx ANIM_TAG_ROCKS @ rocks @@ -29110,7 +29592,7 @@ ContinentalCrushStockpileRocks: return -Move_SAVAGE_SPIN_OUT:: +gBattleAnimMove_SavageSpinOut:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_RAZOR_LEAF @green color loadspritegfx ANIM_TAG_STRING @string shot @@ -29263,7 +29745,7 @@ SlowSavageSpinOutBackgroundSpeed: return -Move_NEVER_ENDING_NIGHTMARE:: +gBattleAnimMove_NeverEndingNightmare:: loadspritegfx ANIM_TAG_THIN_RING @ring loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_ASSURANCE_HAND @purple hand @@ -29447,7 +29929,7 @@ NeverendingNightmareGeyser: return -Move_CORKSCREW_CRASH:: +gBattleAnimMove_CorkscrewCrash:: loadspritegfx ANIM_TAG_SPIKES @metal bits loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_CORKSCREW @drill @@ -29574,7 +30056,7 @@ CorkscrewCrashSprayRocks: return -Move_INFERNO_OVERDRIVE:: +gBattleAnimMove_InfernoOverdrive:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_SMALL_EMBER @fire createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_CIRCLE_OF_LIGHT, 0x0, 0xA, 0xA, 0x1F @@ -29684,7 +30166,7 @@ InfernoOverdriveExplosion: return -Move_HYDRO_VORTEX:: +gBattleAnimMove_HydroVortex:: loadspritegfx ANIM_TAG_SPLASH @dive loadspritegfx ANIM_TAG_SWEAT_BEAD @dive loadspritegfx ANIM_TAG_ICE_CRYSTALS @crabhammer bubbles @@ -29798,7 +30280,7 @@ HydroVortexWhirlpoolHurricane: return -Move_BLOOM_DOOM:: +gBattleAnimMove_BloomDoom:: loadspritegfx ANIM_TAG_FLOWER @petal loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_RAZOR_LEAF @green @@ -29992,7 +30474,7 @@ ResetFromGreenScreen: return -Move_GIGAVOLT_HAVOC:: +gBattleAnimMove_GigavoltHavoc:: loadspritegfx ANIM_TAG_HAVOC_SPEAR loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_ELECTRIC_ORBS @@ -30166,7 +30648,7 @@ HavocSpearSparkTarget: return -Move_SHATTERED_PSYCHE:: +gBattleAnimMove_ShatteredPsyche:: loadspritegfx ANIM_TAG_IMPACT @hit loadspritegfx ANIM_TAG_BLUE_LIGHT_WALL @reflect loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge @@ -30327,7 +30809,7 @@ ShatteredPsycheFlingPlayer: return -Move_SUBZERO_SLAMMER:: +gBattleAnimMove_SubzeroSlammer:: loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice loadspritegfx ANIM_TAG_ICE_CUBE @glacier loadspritegfx ANIM_TAG_EXPLOSION_2 @explosion @@ -30478,7 +30960,7 @@ SubzeroSlammerIceSwirl: return -Move_DEVASTATING_DRAKE:: +gBattleAnimMove_DevastatingDrake:: loadspritegfx ANIM_TAG_PURPLE_DRAKE loadspritegfx ANIM_TAG_POISON_BUBBLE @ purple loadspritegfx ANIM_TAG_FOCUS_ENERGY @ focus energy @@ -30698,7 +31180,7 @@ DevastatingDrakeExplosion: return -Move_BLACK_HOLE_ECLIPSE:: +gBattleAnimMove_BlackHoleEclipse:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @shock wave loadspritegfx ANIM_TAG_SHADOW_BALL @shadow ball @@ -30840,7 +31322,7 @@ ResetFromWhiteScreen: return -Move_TWINKLE_TACKLE:: +gBattleAnimMove_TwinkleTackle:: loadspritegfx ANIM_TAG_SPARKLE_2 @star loadspritegfx ANIM_TAG_PINK_PETAL @pink loadspritegfx ANIM_TAG_THIN_RING @ring @@ -30998,7 +31480,7 @@ TwinkleTackleStarsTarget: return @ signature z moves -Move_CATASTROPIKA:: +gBattleAnimMove_Catastropika:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_ROUND_SHADOW @fly invisible ANIM_TARGET @@ -31172,7 +31654,7 @@ CatastropikaThundering: return -Move_10000000_VOLT_THUNDERBOLT:: +gBattleAnimMove_10000000VoltThunderbolt:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_ROUND_SHADOW @fly @@ -31436,7 +31918,7 @@ TenMillionVoltThunderboltSparkGeyser: return -Move_STOKED_SPARKSURFER:: +gBattleAnimMove_StokedSparksurfer:: loadspritegfx ANIM_TAG_ROUND_SHADOW @fly loadspritegfx ANIM_TAG_SPARK_2 @spark invisible ANIM_TARGET @@ -31571,7 +32053,7 @@ StokedSparksurferSparkGeyser: return -Move_EXTREME_EVOBOOST:: +gBattleAnimMove_ExtremeEvoboost:: loadspritegfx ANIM_TAG_LEER @leer createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS_2), 0x3, 0x0, 0x10, 0x0000 waitforvisualfinish @@ -31709,7 +32191,7 @@ ExtremeEvoboostColorCharge: return -Move_PULVERIZING_PANCAKE:: +gBattleAnimMove_PulverizingPancake:: loadspritegfx ANIM_TAG_SPARKLE_4 @detect loadspritegfx ANIM_TAG_VERTICAL_HEX @red loadspritegfx ANIM_TAG_MUD_SAND @dig @@ -31823,7 +32305,7 @@ PulverizingPancakeExplosion: return -Move_GENESIS_SUPERNOVA:: +gBattleAnimMove_GenesisSupernova:: loadspritegfx ANIM_TAG_BLUE_ORB @reversal loadspritegfx ANIM_TAG_POISON_BUBBLE @poison bubble loadspritegfx ANIM_TAG_POISON_JAB @purple @@ -32010,7 +32492,7 @@ GenesisSupernovaBuffOpponent_2: return -Move_SINISTER_ARROW_RAID:: +gBattleAnimMove_SinisterArrowRaid:: loadspritegfx ANIM_TAG_ROUND_SHADOW @fly loadspritegfx ANIM_TAG_SPIRIT_ARROW @arrow loadspritegfx ANIM_TAG_LEAF @green @@ -32318,7 +32800,7 @@ SinisterArrowRaidFinalExplosion: return -Move_MALICIOUS_MOONSAULT:: +gBattleAnimMove_MaliciousMoonsault:: loadspritegfx ANIM_TAG_FIRE_PLUME @dragon rage loadspritegfx ANIM_TAG_ROUND_SHADOW @fly loadspritegfx ANIM_TAG_VERTICAL_HEX @red @@ -32438,7 +32920,7 @@ MaliciousMoonsaultExplosion: return -Move_OCEANIC_OPERETTA:: +gBattleAnimMove_OceanicOperetta:: createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish loadspritegfx ANIM_TAG_SPOTLIGHT @@ -32624,7 +33106,7 @@ OceanicOperettaExplosion: return -Move_SPLINTERED_STORMSHARDS:: +gBattleAnimMove_SplinteredStormshards:: loadspritegfx ANIM_TAG_ROCKS @rock loadspritegfx ANIM_TAG_ICICLE_SPEAR @spear createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA @@ -32883,7 +33365,7 @@ SplinteredStormshardsFinishFadeReturn: return -Move_LETS_SNUGGLE_FOREVER:: +gBattleAnimMove_LetsSnuggleForever:: loadspritegfx ANIM_TAG_MAGENTA_HEART @sharm loadspritegfx ANIM_TAG_MUSIC_NOTES @music note loadspritegfx ANIM_TAG_SMALL_BUBBLES @fake tears @@ -33011,7 +33493,7 @@ LetsSnuggleForeverStars_2: return -Move_CLANGOROUS_SOULBLAZE:: +gBattleAnimMove_ClangorousSoulblaze:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_WATER_ORB @blue loadspritegfx ANIM_TAG_POISON_BUBBLE @purple @@ -33030,6 +33512,9 @@ Move_CLANGOROUS_SOULBLAZE:: createsprite gClangorousSoulRedFistTemplate, ANIM_ATTACKER, 2, 0x10, 0x0, 0x0, 0x0, 0xa, ANIM_ATTACKER, ANIM_LEFT_FIST, 0x1 playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET waitforvisualfinish + unloadspritegfx ANIM_TAG_HORSESHOE_SIDE_FIST + unloadspritegfx ANIM_TAG_SPARKLE_2 @stars + waitforvisualfinish loadspritegfx ANIM_TAG_THIN_RING @ring playsewithpan SE_SHINY, SOUND_PAN_ATTACKER createsprite gClangorousSoulRedRingTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x0, 0x0 @@ -33042,7 +33527,7 @@ Move_CLANGOROUS_SOULBLAZE:: delay 0x2 createvisualtask AnimTask_StartSlidingBg, 0x5, 0x0, 0xFFE0, 0x1, 0xffff createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0xfd00, 0xa, 0x0, 0x2a - createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_DEF_PARTNER, 0xfd00, 0xa, 0x0, 0x2a + createsprite gSlideMonToOffsetPartnerSpriteTemplate, ANIM_ATTACKER, 2, ANIM_DEF_PARTNER, 0xfd00, 0xa, 0x0, 0x2a delay 0x20 createvisualtask AnimTask_StartSlidingBg, 0x5, 0x0, 0x20, 0x1, 0xffff delay 0xC @@ -33234,7 +33719,7 @@ FINISH_SOULBLAZE: call ResetFromWhiteScreen blendoff createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0x0, 0x10 - createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_DEF_PARTNER, 0x0, 0x10 + createsprite gSlideMonToOriginalPosPartnerSpriteTemplate, ANIM_ATTACKER, 2, ANIM_DEF_PARTNER, 0x0, 0x10 waitforvisualfinish end ClangorousSoulblazeEnergySwirl: @@ -33295,7 +33780,7 @@ ClangorousSoulblazePulse_5: return -Move_GUARDIAN_OF_ALOLA:: +gBattleAnimMove_GuardianOfAlola:: loadspritegfx ANIM_TAG_THIN_RING @ring loadspritegfx ANIM_TAG_MUD_SAND @dig loadspritegfx ANIM_TAG_SPEED_DUST @extremespeed @@ -33393,7 +33878,7 @@ GuardianOfAlolaRockGeyser: return -Move_SEARING_SUNRAZE_SMASH:: +gBattleAnimMove_SearingSunrazeSmash:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_SPARKLE_2 @sparkles invisible ANIM_TARGET @@ -33622,7 +34107,7 @@ ResetFromRedScreen: return -Move_MENACING_MOONRAZE_MAELSTROM:: +gBattleAnimMove_MenacingMoonrazeMaelstrom:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_SPARKLE_2 @sparkles loadspritegfx ANIM_TAG_WATER_ORB @blue @@ -33813,7 +34298,7 @@ MenacingMoonrazeMaelstromBeam: return -Move_LIGHT_THAT_BURNS_THE_SKY:: +gBattleAnimMove_LightThatBurnsTheSky:: loadspritegfx ANIM_TAG_SPARK_2 @spark loadspritegfx ANIM_TAG_LEAF @green loadspritegfx ANIM_TAG_ELECTRIC_ORBS @charge particles @@ -33971,7 +34456,7 @@ LightThatBurnsTheSkyGreenSparks: return -Move_SOUL_STEALING_7_STAR_STRIKE:: +gBattleAnimMove_SoulStealing7StarStrike:: loadspritegfx ANIM_TAG_ROUND_SHADOW @bounce loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice blue loadspritegfx ANIM_TAG_WISP_FIRE @will o wisp @@ -34145,178 +34630,178 @@ SoulStealingSevenStarStrikeExplosion: return @@@@@@@@@@ MAX MOVES @@@@@@@@@@ -General_SetWeather:: +gBattleAnimGeneral_SetWeather:: createvisualtask AnimTask_GetWeatherToSet, 2 - jumpreteq 1, General_Sun - jumpreteq 2, General_Rain - jumpreteq 3, General_Sandstorm - jumpreteq 4, General_Hail + jumpreteq 1, gBattleAnimGeneral_Sun + jumpreteq 2, gBattleAnimGeneral_Rain + jumpreteq 3, gBattleAnimGeneral_Sandstorm + jumpreteq 4, gBattleAnimGeneral_Hail end -Move_MAX_GUARD:: +gBattleAnimMove_MaxGuard:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_PROTECT + goto gBattleAnimMove_Protect end -Move_MAX_STRIKE:: -Move_G_MAX_REPLENISH:: +gBattleAnimMove_MaxStrike:: +gBattleAnimMove_GMaxReplenish:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_GIGA_IMPACT + goto gBattleAnimMove_GigaImpact end -Move_MAX_AIRSTREAM:: -Move_G_MAX_WIND_RAGE:: +gBattleAnimMove_MaxAirstream:: +gBattleAnimMove_GMaxWindRage:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_AEROBLAST + goto gBattleAnimMove_Aeroblast end -Move_MAX_OOZE:: -Move_G_MAX_MALODOR:: +gBattleAnimMove_MaxOoze:: +gBattleAnimMove_GMaxMalodor:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_GUNK_SHOT + goto gBattleAnimMove_GunkShot end -Move_G_MAX_WILDFIRE:: -Move_G_MAX_FIREBALL:: -Move_G_MAX_CENTIFERNO:: -Move_MAX_FLARE:: +gBattleAnimMove_GMaxWildfire:: +gBattleAnimMove_GMaxFireball:: +gBattleAnimMove_GMaxCentiferno:: +gBattleAnimMove_MaxFlare:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_BLAST_BURN + goto gBattleAnimMove_BlastBurn end -Move_G_MAX_CANNONADE:: -Move_G_MAX_HYDROSNIPE:: -Move_G_MAX_FOAM_BURST:: -Move_MAX_GEYSER:: +gBattleAnimMove_GMaxCannonade:: +gBattleAnimMove_GMaxHydrosnipe:: +gBattleAnimMove_GMaxFoamBurst:: +gBattleAnimMove_MaxGeyser:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_HYDRO_CANNON + goto gBattleAnimMove_HydroCannon end -Move_G_MAX_VINE_LASH:: -Move_G_MAX_DRUM_SOLO:: -Move_G_MAX_TARTNESS:: -Move_G_MAX_SWEETNESS:: -Move_MAX_OVERGROWTH:: +gBattleAnimMove_GMaxVineLash:: +gBattleAnimMove_GMaxDrumSolo:: +gBattleAnimMove_GMaxTartness:: +gBattleAnimMove_GMaxSweetness:: +gBattleAnimMove_MaxOvergrowth:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_FRENZY_PLANT + goto gBattleAnimMove_FrenzyPlant end -Move_MAX_LIGHTNING:: -Move_G_MAX_STUN_SHOCK:: +gBattleAnimMove_MaxLightning:: +gBattleAnimMove_GMaxStunShock:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_ZAP_CANNON + goto gBattleAnimMove_ZapCannon end -Move_G_MAX_CHI_STRIKE:: -Move_G_MAX_ONE_BLOW:: -Move_G_MAX_RAPID_FLOW:: -Move_MAX_KNUCKLE:: +gBattleAnimMove_GMaxChiStrike:: +gBattleAnimMove_GMaxOneBlow:: +gBattleAnimMove_GMaxRapidFlow:: +gBattleAnimMove_MaxKnuckle:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_CLOSE_COMBAT + goto gBattleAnimMove_CloseCombat end -Move_G_MAX_RESONANCE:: -Move_MAX_HAILSTORM:: +gBattleAnimMove_GMaxResonance:: +gBattleAnimMove_MaxHailstorm:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_SHEER_COLD + goto gBattleAnimMove_SheerCold end -Move_G_MAX_SANDBLAST:: -Move_MAX_QUAKE:: +gBattleAnimMove_GMaxSandblast:: +gBattleAnimMove_MaxQuake:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_FISSURE + goto gBattleAnimMove_Fissure end -Move_G_MAX_BEFUDDLE:: -Move_MAX_FLUTTERBY:: +gBattleAnimMove_GMaxBefuddle:: +gBattleAnimMove_MaxFlutterby:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_BUG_BUZZ + goto gBattleAnimMove_BugBuzz end -Move_G_MAX_STEELSURGE:: -Move_G_MAX_MELTDOWN:: -Move_MAX_STEELSPIKE:: +gBattleAnimMove_GMaxSteelsurge:: +gBattleAnimMove_GMaxMeltdown:: +gBattleAnimMove_MaxSteelspike:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_HEAVY_SLAM + goto gBattleAnimMove_HeavySlam end -Move_G_MAX_TERROR:: -Move_MAX_PHANTASM:: +gBattleAnimMove_GMaxTerror:: +gBattleAnimMove_MaxPhantasm:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_SHADOW_BALL + goto gBattleAnimMove_ShadowBall end -Move_G_MAX_GRAVITAS:: -Move_MAX_MINDSTORM:: +gBattleAnimMove_GMaxGravitas:: +gBattleAnimMove_MaxMindstorm:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_PSYCHO_BOOST + goto gBattleAnimMove_PsychoBoost end -Move_G_MAX_SMITE:: -Move_G_MAX_FINALE:: -Move_MAX_STARFALL:: +gBattleAnimMove_GMaxSmite:: +gBattleAnimMove_GMaxFinale:: +gBattleAnimMove_MaxStarfall:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_MOONBLAST + goto gBattleAnimMove_Moonblast end -Move_G_MAX_STONESURGE:: -Move_G_MAX_VOLCALITH:: -Move_MAX_ROCKFALL:: +gBattleAnimMove_GMaxStonesurge:: +gBattleAnimMove_GMaxVolcalith:: +gBattleAnimMove_MaxRockfall:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_ROCK_WRECKER + goto gBattleAnimMove_RockWrecker end -Move_G_MAX_DEPLETION:: -Move_MAX_WYRMWIND:: +gBattleAnimMove_GMaxDepletion:: +gBattleAnimMove_MaxWyrmwind:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_SPACIAL_REND + goto gBattleAnimMove_SpacialRend end -Move_G_MAX_SNOOZE:: -Move_MAX_DARKNESS:: +gBattleAnimMove_GMaxSnooze:: +gBattleAnimMove_MaxDarkness:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_DARK_PULSE + goto gBattleAnimMove_DarkPulse end -Move_G_MAX_CUDDLE:: +gBattleAnimMove_GMaxCuddle:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_COVET + goto gBattleAnimMove_Covet end -Move_G_MAX_VOLT_CRASH:: +gBattleAnimMove_GMaxVoltCrash:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_VOLT_TACKLE + goto gBattleAnimMove_VoltTackle end -Move_G_MAX_GOLD_RUSH:: +gBattleAnimMove_GMaxGoldRush:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_PAY_DAY + goto gBattleAnimMove_PayDay end @@@ DYNAMAX AND MAX RAIDS -General_DynamaxGrowth:: @ PORTED FROM CFRU +gBattleAnimGeneral_DynamaxGrowth:: @ PORTED FROM CFRU createvisualtask SoundTask_PlayCryWithEcho, 2, ANIM_ATTACKER, 2 delay 8 createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x0 diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index a17c54c7e3a0..3d24cbfdf0b0 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -579,7 +579,7 @@ BattleScript_Teatimerod: statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_TeatimeBuffer jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TeatimeBuffer printfromtable gStatUpStringIds - waitmessage 0x40 + waitmessage B_WAIT_TIME_LONG moveendto MOVEEND_NEXT_TARGET jumpifnexttargetvalid BattleScript_TeatimeLoop moveendcase MOVEEND_CLEAR_BITS @@ -591,7 +591,7 @@ BattleScript_Teatimemotor: statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_TeatimeBuffer jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TeatimeBuffer printfromtable gStatUpStringIds - waitmessage 0x40 + waitmessage B_WAIT_TIME_LONG moveendto MOVEEND_NEXT_TARGET jumpifnexttargetvalid BattleScript_TeatimeLoop moveendcase MOVEEND_CLEAR_BITS @@ -670,7 +670,7 @@ BattleScript_EffectCourtChange:: goto BattleScript_MoveEnd BattleScript_BeakBlastSetUp:: - setbeakblast BS_ATTACKER + setbeakblast flushtextbox playanimation BS_ATTACKER, B_ANIM_BEAK_BLAST_SETUP, NULL printstring STRINGID_HEATUPBEAK @@ -891,7 +891,7 @@ BattleScript_EffectTarShot:: attackcanceler jumpifsubstituteblocks BattleScript_FailedFromAtkString accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - cantarshotwork BS_TARGET, BattleScript_FailedFromAtkString + cantarshotwork BattleScript_FailedFromAtkString attackstring ppreduce setstatchanger STAT_SPEED, 1, TRUE @@ -3011,30 +3011,17 @@ BattleScript_CantMakeAsleep:: orhalfword gMoveResultFlags, MOVE_RESULT_FAILED goto BattleScript_MoveEnd -BattleScript_EffectAbsorb:: - call BattleScript_EffectHit_Ret - jumpifstatus3 BS_ATTACKER, STATUS3_HEAL_BLOCK, BattleScript_AbsorbHealBlock - setdrainedhp - manipulatedamage DMG_BIG_ROOT - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE - jumpifability BS_TARGET, ABILITY_LIQUID_OOZE, BattleScript_AbsorbLiquidOoze - setbyte cMULTISTRING_CHOOSER, B_MSG_ABSORB - goto BattleScript_AbsorbUpdateHp -BattleScript_AbsorbLiquidOoze:: +BattleScript_EffectAbsorbLiquidOoze:: call BattleScript_AbilityPopUpTarget - manipulatedamage DMG_CHANGE_SIGN - setbyte cMULTISTRING_CHOOSER, B_MSG_ABSORB_OOZE -BattleScript_AbsorbUpdateHp:: + goto BattleScript_EffectAbsorb + +BattleScript_EffectAbsorb:: healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - jumpifmovehadnoeffect BattleScript_AbsorbTryFainting printfromtable gAbsorbDrainStringIds waitmessage B_WAIT_TIME_LONG -BattleScript_AbsorbTryFainting:: tryfaintmon BS_ATTACKER -BattleScript_AbsorbHealBlock:: - tryfaintmon BS_TARGET - goto BattleScript_MoveEnd + return BattleScript_EffectExplosion:: attackcanceler @@ -3093,7 +3080,7 @@ BattleScript_DreamEaterWorked: healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER jumpifmovehadnoeffect BattleScript_DreamEaterTryFaintEnd - printstring STRINGID_PKMNDREAMEATEN + printstring STRINGID_PKMNENERGYDRAINED waitmessage B_WAIT_TIME_LONG BattleScript_DreamEaterTryFaintEnd: tryfaintmon BS_TARGET @@ -3276,6 +3263,7 @@ BattleScript_EffectRoar:: attackstring ppreduce jumpifroarfails BattleScript_ButItFailed + jumpifcommanderactive BattleScript_ButItFailed jumpifability BS_TARGET, ABILITY_GUARD_DOG, BattleScript_ButItFailed jumpifability BS_TARGET, ABILITY_SUCTION_CUPS, BattleScript_AbilityPreventsPhasingOut jumpifstatus3 BS_TARGET, STATUS3_ROOTED, BattleScript_PrintMonIsRooted @@ -4702,6 +4690,9 @@ BattleScript_ButItFailed:: resultmessage waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd +BattleScript_RestoreAttackerButItFailed: + restoreattacker + goto BattleScript_ButItFailed BattleScript_NotAffected:: pause B_WAIT_TIME_SHORT @@ -5956,7 +5947,7 @@ BattleScript_OverworldWeatherStarts:: end3 BattleScript_OverworldTerrain:: - printfromtable gTerrainStringIds + printfromtable gTerrainStartsStringIds waitmessage B_WAIT_TIME_LONG playanimation BS_BATTLER_0, B_ANIM_RESTORE_BG call BattleScript_ActivateTerrainEffects @@ -6038,33 +6029,34 @@ BattleScript_SafeguardEnds:: waitmessage B_WAIT_TIME_LONG end2 -BattleScript_LeechSeedTurnDrain:: - playanimation BS_ATTACKER, B_ANIM_LEECH_SEED_DRAIN, sB_ANIM_ARG1 - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE - healthbarupdate BS_ATTACKER - datahpupdate BS_ATTACKER - copyword gBattleMoveDamage, gHpDealt - jumpifability BS_ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_LeechSeedTurnPrintLiquidOoze - setbyte cMULTISTRING_CHOOSER, B_MSG_LEECH_SEED_DRAIN - jumpifstatus3 BS_TARGET, STATUS3_HEAL_BLOCK, BattleScript_LeechSeedHealBlock - manipulatedamage DMG_BIG_ROOT - goto BattleScript_LeechSeedTurnPrintAndUpdateHp -BattleScript_LeechSeedTurnPrintLiquidOoze:: +BattleScript_LeechSeedTurnDrainLiquidOoze:: + call BattleScript_LeechSeedTurnDrain + manipulatedamage DMG_CHANGE_SIGN copybyte gBattlerAbility, gBattlerAttacker call BattleScript_AbilityPopUp - setbyte cMULTISTRING_CHOOSER, B_MSG_LEECH_SEED_OOZE -BattleScript_LeechSeedTurnPrintAndUpdateHp:: - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE + goto BattleScript_LeechSeedTurnDrainGainHp + +BattleScript_LeechSeedTurnDrainHealBlock:: + call BattleScript_LeechSeedTurnDrain + end2 + +BattleScript_LeechSeedTurnDrainRecovery:: + call BattleScript_LeechSeedTurnDrain +BattleScript_LeechSeedTurnDrainGainHp: + manipulatedamage DMG_BIG_ROOT healthbarupdate BS_TARGET datahpupdate BS_TARGET printfromtable gLeechSeedStringIds waitmessage B_WAIT_TIME_LONG - tryfaintmon BS_ATTACKER tryfaintmon BS_TARGET end2 -BattleScript_LeechSeedHealBlock: - setword gBattleMoveDamage, 0 - goto BattleScript_LeechSeedTurnPrintAndUpdateHp + +BattleScript_LeechSeedTurnDrain: + playanimation BS_ATTACKER, B_ANIM_LEECH_SEED_DRAIN, sB_ANIM_ARG1 + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + tryfaintmon BS_ATTACKER + return BattleScript_BideStoringEnergy:: printstring STRINGID_PKMNSTORINGENERGY @@ -6436,12 +6428,14 @@ BattleScript_SeedSowerActivates:: return BattleScript_AngerShellActivates:: + saveattacker + copybyte gBattlerAttacker, gBattlerTarget call BattleScript_AbilityPopUp jumpifstat BS_TARGET, CMP_LESS_THAN, STAT_ATK, MAX_STAT_STAGE, BattleScript_AngerShellTryDef jumpifstat BS_TARGET, CMP_LESS_THAN, STAT_SPATK, MAX_STAT_STAGE, BattleScript_AngerShellTryDef jumpifstat BS_TARGET, CMP_LESS_THAN, STAT_SPEED, MAX_STAT_STAGE, BattleScript_AngerShellTryDef jumpifstat BS_TARGET, CMP_GREATER_THAN, STAT_DEF, MIN_STAT_STAGE, BattleScript_AngerShellTryDef - jumpifstat BS_TARGET, CMP_EQUAL, STAT_SPDEF, MIN_STAT_STAGE, BattleScript_ButItFailed + jumpifstat BS_TARGET, CMP_EQUAL, STAT_SPDEF, MIN_STAT_STAGE, BattleScript_RestoreAttackerButItFailed BattleScript_AngerShellTryDef:: setbyte sSTAT_ANIM_PLAYED, FALSE modifybattlerstatstage BS_ATTACKER, STAT_DEF, DECREASE, 1, BattleScript_AngerShellTrySpDef, ANIM_ON @@ -6455,6 +6449,7 @@ BattleScript_AngerShellTrySpAtk: BattleScript_AngerShellTrySpeed: modifybattlerstatstage BS_ATTACKER, STAT_SPEED, INCREASE, 1, BattleScript_AngerShellRet, ANIM_ON BattleScript_AngerShellRet: + restoreattacker return BattleScript_WindPowerActivates:: @@ -6979,26 +6974,17 @@ BattleScript_WishMegaEvolution:: goto BattleScript_MegaEvolutionAfterString BattleScript_PrimalReversion:: - call BattleScript_PrimalReversionRet - end3 - -BattleScript_PrimalReversionRestoreAttacker:: - call BattleScript_PrimalReversionRet - copybyte gBattlerAttacker, sSAVED_BATTLER - end3 - -BattleScript_PrimalReversionRet:: flushtextbox setbyte gIsCriticalHit, 0 - handleprimalreversion BS_ATTACKER, 0 - handleprimalreversion BS_ATTACKER, 1 - playanimation BS_ATTACKER, B_ANIM_PRIMAL_REVERSION + handleprimalreversion BS_SCRIPTING, 0 + handleprimalreversion BS_SCRIPTING, 1 + playanimation BS_SCRIPTING, B_ANIM_PRIMAL_REVERSION waitanimation - handleprimalreversion BS_ATTACKER, 2 + handleprimalreversion BS_SCRIPTING, 2 printstring STRINGID_PKMNREVERTEDTOPRIMAL waitmessage B_WAIT_TIME_LONG - switchinabilities BS_ATTACKER - return + switchinabilities BS_SCRIPTING + end3 BattleScript_UltraBurst:: flushtextbox @@ -8036,11 +8022,52 @@ BattleScript_CostarActivates:: BattleScript_ZeroToHeroActivates:: pause B_WAIT_TIME_SHORT - call BattleScript_AbilityPopUp + call BattleScript_AbilityPopUpScripting printstring STRINGID_ZEROTOHEROTRANSFORMATION waitmessage B_WAIT_TIME_LONG end3 +BattleScript_CommanderActivates:: + pause B_WAIT_TIME_SHORT + call BattleScript_AbilityPopUpScripting + printstring STRINGID_COMMANDERACTIVATES + waitmessage B_WAIT_TIME_LONG +BattleScript_CommanderAtkIncrease: + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF | BIT_SPATK | BIT_SPDEF | BIT_SPEED, STAT_CHANGE_BY_TWO + setstatchanger STAT_ATK, 2, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CommanderDefIncrease + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CommanderDefIncrease + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_CommanderDefIncrease: + setstatchanger STAT_DEF, 2, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CommanderSpAtkIncrease + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CommanderSpAtkIncrease + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_CommanderSpAtkIncrease: + setstatchanger STAT_SPATK, 2, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CommanderSpDefIncrease + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CommanderSpDefIncrease + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_CommanderSpDefIncrease: + setstatchanger STAT_SPDEF, 2, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CommanderSpeedIncrease + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CommanderSpeedIncrease + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_CommanderSpeedIncrease: + setstatchanger STAT_SPEED, 2, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CommanderEnd + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CommanderEnd + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_CommanderEnd: + restoreattacker + end3 + BattleScript_HospitalityActivates:: pause B_WAIT_TIME_SHORT call BattleScript_AbilityPopUp @@ -9042,8 +9069,6 @@ BattleScript_BerryConfuseHealEnd2_Anim: orword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_SCRIPTING datahpupdate BS_SCRIPTING - printstring STRINGID_FORXCOMMAYZ - waitmessage B_WAIT_TIME_LONG seteffectprimary MOVE_EFFECT_CONFUSION | MOVE_EFFECT_AFFECTS_USER removeitem BS_SCRIPTING end2 @@ -9060,8 +9085,6 @@ BattleScript_BerryConfuseHealRet_Anim: orword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_SCRIPTING datahpupdate BS_SCRIPTING - printstring STRINGID_FORXCOMMAYZ - waitmessage B_WAIT_TIME_LONG seteffectprimary MOVE_EFFECT_CONFUSION | MOVE_EFFECT_CERTAIN removeitem BS_TARGET return @@ -9558,6 +9581,14 @@ BattleScript_StickyBarbTransfer:: removeitem BS_TARGET return +BattleScript_RedCardActivationNoSwitch:: + playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT + printstring STRINGID_REDCARDACTIVATE + waitmessage B_WAIT_TIME_LONG + removeitem BS_SCRIPTING + restoretarget + return + BattleScript_RedCardActivates:: playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT printstring STRINGID_REDCARDACTIVATE diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index be6c04e32eb9..b68a57066488 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -25,6 +25,7 @@ gBattlescriptsForUsingItem:: .4byte BattleScript_ItemRestoreHP @ EFFECT_ITEM_REVIVE .4byte BattleScript_ItemRestorePP @ EFFECT_ITEM_RESTORE_PP .4byte BattleScript_ItemIncreaseAllStats @ EFFECT_ITEM_INCREASE_ALL_STATS + .4byte BattleScript_UsePokeFlute @ EFFECT_ITEM_USE_POKE_FLUTE .align 2 gBattlescriptsForSafariActions:: @@ -110,6 +111,25 @@ BattleScript_ItemIncreaseStat:: waitmessage B_WAIT_TIME_LONG end +BattleScript_UsePokeFlute:: + checkpokeflute + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 1, BattleScript_PokeFluteWakeUp + printstring STRINGID_POKEFLUTECATCHY + waitmessage B_WAIT_TIME_LONG + goto BattleScript_PokeFluteEnd + +BattleScript_PokeFluteWakeUp:: + printstring STRINGID_POKEFLUTE + waitmessage B_WAIT_TIME_LONG + fanfare MUS_RG_POKE_FLUTE + waitfanfare + printstring STRINGID_MONHEARINGFLUTEAWOKE + waitmessage B_WAIT_TIME_LONG + updatestatusicon BS_PLAYER2 + waitstate +BattleScript_PokeFluteEnd:: + finishaction + BattleScript_ItemSetMist:: call BattleScript_UseItemMessage setmist diff --git a/data/event_scripts.s b/data/event_scripts.s index 4307da339599..513bd3f590a3 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -42,6 +42,7 @@ #include "constants/metatile_labels.h" #include "constants/moves.h" #include "constants/party_menu.h" +#include "constants/pokedex.h" #include "constants/pokemon.h" #include "constants/roulette.h" #include "constants/script_menu.h" @@ -587,6 +588,37 @@ EventScript_WhiteOut:: goto EventScript_ResetMrBriney end +EventScript_AfterWhiteOutHeal:: + lockall + msgbox gText_FirstShouldRestoreMonsHealth + call EventScript_PkmnCenterNurse_TakeAndHealPkmn + call_if_unset FLAG_DEFEATED_RUSTBORO_GYM, EventScript_AfterWhiteOutHealMsgPreRoxanne + call_if_set FLAG_DEFEATED_RUSTBORO_GYM, EventScript_AfterWhiteOutHealMsg + applymovement VAR_LAST_TALKED, Movement_PkmnCenterNurse_Bow + waitmovement 0 + fadedefaultbgm + releaseall + end + +EventScript_AfterWhiteOutHealMsgPreRoxanne:: + msgbox gText_MonsHealedShouldBuyPotions + return + +EventScript_AfterWhiteOutHealMsg:: + msgbox gText_MonsHealed + return + +EventScript_AfterWhiteOutMomHeal:: + lockall + applymovement LOCALID_MOM, Common_Movement_WalkInPlaceFasterDown + waitmovement 0 + msgbox gText_HadQuiteAnExperienceTakeRest + call Common_EventScript_OutOfCenterPartyHeal + msgbox gText_MomExplainHPGetPotions + fadedefaultbgm + releaseall + end + EventScript_ResetMrBriney:: goto_if_eq VAR_BRINEY_LOCATION, 1, EventScript_MoveMrBrineyToHouse goto_if_eq VAR_BRINEY_LOCATION, 2, EventScript_MoveMrBrineyToDewford @@ -693,6 +725,11 @@ EventScript_BackupMrBrineyLocation:: .include "data/scripts/rival_graphics.inc" .include "data/scripts/set_gym_trainers.inc" +EventScript_CancelMessageBox:: + special UseBlankMessageToCancelPokemonPic + release + end + Common_EventScript_ShowBagIsFull:: msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT release @@ -887,6 +924,48 @@ gText_PlayerWhitedOut:: .string "{PLAYER} is out of usable\n" .string "POKéMON!\p{PLAYER} whited out!$" +gText_FirstShouldRestoreMonsHealth:: + .string "First, you should restore your\n" + .string "POKéMON to full health.$" + +gText_MonsHealedShouldBuyPotions:: + .string "Your POKéMON have been healed\n" + .string "to perfect health.\p" + .string "If your POKéMON's energy, HP,\n" + .string "is down, please come see us.\p" + .string "If you're planning to go far in the\n" + .string "field, you should buy some POTIONS\l" + .string "at the POKéMON MART.\p" + .string "We hope you excel!$" + +gText_MonsHealed:: + .string "Your POKéMON have been healed\n" + .string "to perfect health.\p" + .string "We hope you excel!$" + +gText_HadQuiteAnExperienceTakeRest:: + .string "MOM: {PLAYER}!\n" + .string "Welcome home.\p" + .string "It sounds like you had quite\n" + .string "an experience.\p" + .string "Maybe you should take a quick\n" + .string "rest.$" + +gText_MomExplainHPGetPotions:: + .string "MOM: Oh, good! You and your\n" + .string "POKéMON are looking great.\p" + .string "I just heard from PROF. BIRCH.\p" + .string "He said that POKéMON's energy is\n" + .string "measured in HP.\p" + .string "If your POKéMON lose their HP,\n" + .string "you can restore them at any\l" + .string "POKéMON CENTER.\p" + .string "If you're going to travel far away,\n" + .string "the smart TRAINER stocks up on\l" + .string "POTIONS at the POKéMON MART.\p" + .string "Make me proud, honey!\p" + .string "Take care!$" + gText_RegisteredTrainerinPokeNav:: .string "Registered {STR_VAR_1} {STR_VAR_2}\n" .string "in the POKéNAV.$" @@ -1030,7 +1109,6 @@ EventScript_VsSeekerChargingDone:: .include "data/text/contest_strings.inc" .include "data/text/contest_link.inc" .include "data/text/contest_painting.inc" - .include "data/text/trick_house_mechadolls.inc" .include "data/scripts/tv.inc" .include "data/text/tv.inc" .include "data/scripts/interview.inc" @@ -1071,6 +1149,5 @@ EventScript_VsSeekerChargingDone:: .include "data/scripts/trainer_hill.inc" .include "data/scripts/test_signpost.inc" .include "data/scripts/follower.inc" - .include "data/text/frontier_brain.inc" .include "data/text/save.inc" .include "data/text/birch_speech.inc" diff --git a/data/maps/MtChimney/scripts.inc b/data/maps/MtChimney/scripts.inc index b4becfabeec0..fbd0da31ae4f 100644 --- a/data/maps/MtChimney/scripts.inc +++ b/data/maps/MtChimney/scripts.inc @@ -111,6 +111,7 @@ MtChimney_EventScript_LavaCookieLady:: msgbox MtChimney_Text_ThankYouDear, MSGBOX_DEFAULT checkitemspace ITEM_LAVA_COOKIE call_if_eq VAR_RESULT, TRUE, MtChimney_EventScript_RemoveMoney +.if OW_SHOW_ITEM_DESCRIPTIONS == OW_ITEM_DESCRIPTIONS_OFF giveitem ITEM_LAVA_COOKIE goto_if_eq VAR_RESULT, FALSE, MtChimney_EventScript_BagIsFull hidemoneybox @@ -122,6 +123,19 @@ MtChimney_EventScript_BagIsFull:: hidemoneybox release end +.else + hidemoneybox + giveitem ITEM_LAVA_COOKIE + goto_if_eq VAR_RESULT, FALSE, MtChimney_EventScript_BagIsFull + release + end + +MtChimney_EventScript_BagIsFull:: + msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT + release + end +.endif @ OW_SHOW_ITEM_DESCRIPTIONS + MtChimney_EventScript_RemoveMoney:: removemoney 200 diff --git a/data/maps/Route109_SeashoreHouse/scripts.inc b/data/maps/Route109_SeashoreHouse/scripts.inc index afb2a4aa0dd4..d871596b9ae7 100644 --- a/data/maps/Route109_SeashoreHouse/scripts.inc +++ b/data/maps/Route109_SeashoreHouse/scripts.inc @@ -52,8 +52,13 @@ Route109_SeashoreHouse_EventScript_BuySodaPop:: msgbox Route109_SeashoreHouse_Text_HereYouGo, MSGBOX_DEFAULT removemoney 300 updatemoneybox +.if OW_SHOW_ITEM_DESCRIPTIONS != OW_ITEM_DESCRIPTIONS_OFF + hidemoneybox + giveitem ITEM_SODA_POP +.else giveitem ITEM_SODA_POP hidemoneybox +.endif release end diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc index 4f4f723f1c2a..fc9abe960d9f 100644 --- a/data/scripts/berry_tree.inc +++ b/data/scripts/berry_tree.inc @@ -176,6 +176,8 @@ BerryTree_EventScript_PickBerry:: special IncrementDailyPickedBerries special ObjectEventInteractionRemoveBerryTree message BerryTree_Text_PickedTheBerry + delay 10 + showberrydescription playfanfare MUS_OBTAIN_BERRY waitmessage waitfanfare @@ -183,6 +185,7 @@ BerryTree_EventScript_PickBerry:: message BerryTree_Text_PutAwayBerry waitmessage waitbuttonpress + hideitemdescription release end diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index e810e354a5b8..9120787ea956 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -1258,7 +1258,11 @@ EventScript_CloseMossdeepGameCornerBarrier:: CableClub_OnResume: special InitUnionRoom +.if OW_FLAG_MOVE_UNION_ROOM_CHECK != 0 + return +.else end +.endif MossdeepCity_GameCorner_1F_EventScript_InfoMan2:: lock diff --git a/data/scripts/debug.inc b/data/scripts/debug.inc index 12dc693fd02a..4851c87c400f 100644 --- a/data/scripts/debug.inc +++ b/data/scripts/debug.inc @@ -1,4 +1,3 @@ -.if DEBUG_OVERWORLD_MENU == TRUE Debug_MessageEnd: waitmessage waitbuttonpress @@ -448,5 +447,3 @@ Debug_EventScript_EWRAMCounters:: Debug_EventScript_EWRAMCounters_Text:: .string "Follower Steps: {STR_VAR_1}.\n" .string "Fishing Chain: {STR_VAR_2}.$" - -.endif diff --git a/data/scripts/obtain_item.inc b/data/scripts/obtain_item.inc index d052fa700438..c54b2f8dc560 100644 --- a/data/scripts/obtain_item.inc +++ b/data/scripts/obtain_item.inc @@ -2,6 +2,7 @@ .set AMOUNT, VAR_0x8001 Std_ObtainItem:: + copyvar VAR_0x8006, ITEMID additem ITEMID, AMOUNT copyvar VAR_0x8007, VAR_RESULT call EventScript_ObtainItemMessage @@ -58,8 +59,11 @@ EventScript_ObtainedItem:: EventScript_ObtainedItemMessage: message gText_ObtainedTheItem EventScript_ContinueObtainedItem: + delay 10 + showitemdescription waitfanfare msgbox gText_PutItemInPocket, MSGBOX_DEFAULT + hideitemdescription setvar VAR_RESULT, TRUE return @@ -103,6 +107,7 @@ Std_FindItem:: lock faceplayer waitse + copyvar VAR_0x8006, ITEMID copyvar VAR_0x8004, ITEMID copyvar VAR_0x8005, AMOUNT checkitemspace ITEMID, AMOUNT @@ -118,20 +123,25 @@ Std_FindItem:: EventScript_PickUpItem:: removeobject VAR_LAST_TALKED additem VAR_0x8004, VAR_0x8005 + copyvar VAR_0x8006 VAR_0x8004 specialvar VAR_RESULT, BufferTMHMMoveName copyvar VAR_0x8008, VAR_RESULT call_if_eq VAR_0x8008, TRUE, EventScript_FoundTMHM call_if_eq VAR_0x8008, FALSE, EventScript_FoundItem + delay 10 + showitemdescription waitfanfare waitmessage bufferitemnameplural STR_VAR_2, VAR_0x8004, VAR_0x8005 pyramid_inchallenge goto_if_eq VAR_RESULT, TRUE, EventScript_PutBattlePyramidItemInBag msgbox gText_PutItemInPocket, MSGBOX_DEFAULT + hideitemdescription return EventScript_PutBattlePyramidItemInBag:: msgbox gText_PlayerPutItemInBag, MSGBOX_DEFAULT + hideitemdescription return EventScript_FoundTMHM:: @@ -165,6 +175,7 @@ EventScript_NoRoomToPickUpItem:: EventScript_HiddenItemScript:: lockall waitse + copyvar VAR_0x8006, VAR_0x8005 additem VAR_0x8005 copyvar VAR_0x8007, VAR_RESULT bufferitemnameplural STR_VAR_2, VAR_0x8005, 1 @@ -194,11 +205,14 @@ EventScript_FoundHiddenItem:: end EventScript_PutHiddenItemInPocket:: + delay 10 + showitemdescription waitmessage waitfanfare bufferitemnameplural STR_VAR_2, VAR_0x8004, 1 copyvar VAR_0x8004, VAR_0x8008 msgbox gText_PutItemInPocket, MSGBOX_DEFAULT + hideitemdescription special TryPutTreasureInvestigatorsOnAir special SetHiddenItemFlag releaseall diff --git a/data/scripts/pkmn_center_nurse.inc b/data/scripts/pkmn_center_nurse.inc index 5cef4587494e..4aca9d768b2f 100644 --- a/data/scripts/pkmn_center_nurse.inc +++ b/data/scripts/pkmn_center_nurse.inc @@ -36,6 +36,11 @@ EventScript_PkmnCenterNurse_TakeAndHealPkmn:: applymovement VAR_0x800B, Movement_PkmnCenterNurse_Turn @ Changed from Common_Movement_WalkInPlaceFasterLeft to force the follower to enter their Poké Ball waitmovement 0 dofieldeffect FLDEFF_POKECENTER_HEAL +.if OW_UNION_DISABLE_CHECK == FALSE && OW_FLAG_MOVE_UNION_ROOM_CHECK != 0 + setflag OW_FLAG_MOVE_UNION_ROOM_CHECK + call CableClub_OnResume + clearflag OW_FLAG_MOVE_UNION_ROOM_CHECK +.endif waitfieldeffect FLDEFF_POKECENTER_HEAL applymovement VAR_0x800B, Common_Movement_WalkInPlaceFasterDown waitmovement 0 diff --git a/data/specials.inc b/data/specials.inc index 5ebb3d0ee1cb..4d2bea3d33f4 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -553,3 +553,4 @@ gSpecials:: def_special Script_GetChosenMonDefensiveEVs def_special Script_GetChosenMonOffensiveIVs def_special Script_GetChosenMonDefensiveIVs + def_special UseBlankMessageToCancelPokemonPic diff --git a/data/text/frontier_brain.inc b/data/text/frontier_brain.inc deleted file mode 100644 index 1292f2a564f5..000000000000 --- a/data/text/frontier_brain.inc +++ /dev/null @@ -1,108 +0,0 @@ -@ Battle Tower -gText_AnabelWonSilver:: - .string "It's very disappointing…$" - -gText_AnabelDefeatSilver:: - .string "Okay, I understand…$" - -gText_AnabelWonGold:: - .string "I'm terribly sorry…$" - -gText_AnabelDefeatGold:: - .string "Thank you…$" - -@ Battle Dome -gText_TuckerWonSilver:: - .string "Ahahaha! Aren't you embarrassed?\n" - .string "Everyone's watching!$" - -gText_TuckerDefeatSilver:: - .string "Grr…\n" - .string "What the…$" - -gText_TuckerWonGold:: - .string "My DOME ACE title isn't just for show!$" - -gText_TuckerDefeatGold:: - .string "Ahahaha!\n" - .string "You're inspiring!$" - -@ Battle Factory -gText_NolandWonSilver:: - .string "Way to work!\n" - .string "That was a good lesson, eh?$" - -gText_NolandDefeatSilver:: - .string "Good job!\n" - .string "You know what you're doing!$" - -gText_NolandWonGold:: - .string "Hey, hey, hey!\n" - .string "You're finished already?$" - -gText_NolandDefeatGold:: - .string "What happened here?$" - -@ Battle Pike -gText_LucyWonSilver:: - .string "Humph…$" - -gText_LucyDefeatSilver:: - .string "Urk…$" - -gText_LucyWonGold:: - .string "Hah!$" - -gText_LucyDefeatGold:: - .string "Darn!$" - -@ Battle Arena -gText_GretaWonSilver:: - .string "Oh, come on!\n" - .string "You have to try harder than that!$" - -gText_GretaDefeatSilver:: - .string "No way!\n" - .string "Good job!$" - -gText_GretaWonGold:: - .string "Heheh!\n" - .string "What did you expect?$" - -gText_GretaDefeatGold:: - .string "Huh?\n" - .string "Are you serious?!$" - -@ Battle Palace -gText_SpenserWonSilver:: - .string "Your POKéMON are wimpy because\n" - .string "you're wimpy as a TRAINER!$" - -gText_SpenserDefeatSilver:: - .string "Ah…\n" - .string "Now this is something else…$" - -gText_SpenserWonGold:: - .string "Gwahahaha!\n" - .string "My brethren, we have nothing to fear!$" - -gText_SpenserDefeatGold:: - .string "Gwah!\n" - .string "Hahahaha!$" - -@ Battle Pyramid -gText_BrandonWonSilver:: - .string "Hey! What's wrong with you!\n" - .string "Let's see some effort! Get up!$" - -gText_BrandonDefeatSilver:: - .string "That's it! You've done great!\n" - .string "You've worked hard for this!$" - -gText_BrandonWonGold:: - .string "Hey! Don't you give up now!\n" - .string "Get up! Don't lose faith in yourself!$" - -gText_BrandonDefeatGold:: - .string "That's it! You've done it!\n" - .string "You kept working for this!$" diff --git a/data/text/trick_house_mechadolls.inc b/data/text/trick_house_mechadolls.inc deleted file mode 100644 index 7edd1f1beb43..000000000000 --- a/data/text/trick_house_mechadolls.inc +++ /dev/null @@ -1,134 +0,0 @@ -gTrickHouse_Mechadoll_Oddish:: - .string "ODDISH$" - -gTrickHouse_Mechadoll_Poochyena:: - .string "POOCHYENA$" - -gTrickHouse_Mechadoll_Taillow:: - .string "TAILLOW$" - -gTrickHouse_Mechadoll_Azurill:: - .string "AZURILL$" - -gTrickHouse_Mechadoll_Lotad:: - .string "LOTAD$" - -gTrickHouse_Mechadoll_Wingull:: - .string "WINGULL$" - -gTrickHouse_Mechadoll_Dustox:: - .string "DUSTOX$" - -gTrickHouse_Mechadoll_Zubat:: - .string "ZUBAT$" - -gTrickHouse_Mechadoll_Nincada:: - .string "NINCADA$" - -gTrickHouse_Mechadoll_Ralts:: - .string "RALTS$" - -gTrickHouse_Mechadoll_Zigzagoon:: - .string "ZIGZAGOON$" - -gTrickHouse_Mechadoll_Slakoth:: - .string "SLAKOTH$" - -gTrickHouse_Mechadoll_Poochyena2:: - .string "POOCHYENA$" - -gTrickHouse_Mechadoll_Shroomish:: - .string "SHROOMISH$" - -gTrickHouse_Mechadoll_Zigzagoon2:: - .string "ZIGZAGOON$" - -gTrickHouse_Mechadoll_Poochyena3:: - .string "POOCHYENA$" - -gTrickHouse_Mechadoll_Zubat2:: - .string "ZUBAT$" - -gTrickHouse_Mechadoll_Carvanha:: - .string "CARVANHA$" - -gTrickHouse_Mechadoll_BurnHeal:: - .string "BURN HEAL$" - -gTrickHouse_Mechadoll_HarborMail:: - .string "HARBOR MAIL$" - -gTrickHouse_Mechadoll_SamePrice:: - .string "Same price$" - -gTrickHouse_Mechadoll_60Yen:: - .string "¥60$" - -gTrickHouse_Mechadoll_55Yen:: - .string "¥55$" - -gTrickHouse_Mechadoll_Nothing:: - .string "Nothing$" - -gTrickHouse_Mechadoll_CostMore:: - .string "They will cost more.$" - -gTrickHouse_Mechadoll_CostLess:: - .string "They will cost less.$" - -gTrickHouse_Mechadoll_SamePrice2:: - .string "Same price$" - -gTrickHouse_Mechadoll_Male:: - .string "Male$" - -gTrickHouse_Mechadoll_Female:: - .string "Female$" - -gTrickHouse_Mechadoll_Neither:: - .string "Neither$" - -gTrickHouse_Mechadoll_ElderlyMen:: - .string "Elderly men$" - -gTrickHouse_Mechadoll_ElderlyLadies:: - .string "Elderly ladies$" - -gTrickHouse_Mechadoll_SameNumber:: - .string "Same number$" - -gTrickHouse_Mechadoll_None:: - .string "None$" - -gTrickHouse_Mechadoll_One:: - .string "1$" - -gTrickHouse_Mechadoll_Two:: - .string "2$" - -gTrickHouse_Mechadoll_Two2:: - .string "2$" - -gTrickHouse_Mechadoll_Three:: - .string "3$" - -gTrickHouse_Mechadoll_Four:: - .string "4$" - -gTrickHouse_Mechadoll_Six:: - .string "6$" - -gTrickHouse_Mechadoll_Seven:: - .string "7$" - -gTrickHouse_Mechadoll_Eight:: - .string "8$" - -gTrickHouse_Mechadoll_Six2:: - .string "6$" - -gTrickHouse_Mechadoll_Seven2:: - .string "7$" - -gTrickHouse_Mechadoll_Eight2:: - .string "8$" diff --git a/dev_scripts/competitive_defines/rename_subfolders.py b/dev_scripts/competitive_defines/rename_subfolders.py new file mode 100644 index 000000000000..5b818b5f7d50 --- /dev/null +++ b/dev_scripts/competitive_defines/rename_subfolders.py @@ -0,0 +1,21 @@ +import glob +import re +import json +import os +import subprocess + +def rename_subdirs(rootDir, old, new): + for root, dirs, files in os.walk(rootDir): + for name in files: + originalName = os.path.join(root, name) + if root.endswith(old) and os.path.isfile(originalName): + newName = originalName.replace(old + '/', new + '/') + print(originalName + " -> " + newName) + if (not os.path.isdir(root.replace(old, '') + new)): + os.mkdir(root.replace(old, '') + new) + os.rename(originalName, newName) + +rename_subdirs("graphics/pokemon", '/alolan', "/alola") +rename_subdirs("graphics/pokemon", '/galarian', "/galar") +rename_subdirs("graphics/pokemon", '/hisuian', "/hisui") +rename_subdirs("graphics/pokemon", '/gigantamax', "/gmax") diff --git a/dev_scripts/gba_gfx/delete_files_of_same_name.py b/dev_scripts/gba_gfx/delete_files_of_same_name.py new file mode 100644 index 000000000000..1ff58cb8cfbc --- /dev/null +++ b/dev_scripts/gba_gfx/delete_files_of_same_name.py @@ -0,0 +1,21 @@ +import glob +import re +import json +import os +import subprocess + +# THIS IS A TEMPORARY SCRIPT MADE TO DELETE FILES WITH THE "footprint.png" NAME +# FROM THE "graphics/pokemon_old" folder, AS MOST OF THEM ALREADY EXISTED IN "graphics/pokemon". +# +# I'M SAVING IT HERE IN CASE IT'S NEEDED SOMEWHERE IN THE FUTURE, THOUGH TWEAKING MIGHT BE NEEDED. +# - AsparagusEduardo + +def rename_files(dir, filename): + for root, dirs, files in os.walk(dir): + for name in files: + if name.endswith(filename): + fullName = os.path.join(root, name) + print(fullName + " deleted.") + os.remove(fullName) + +rename_files("graphics/pokemon_old", 'footprint.png') diff --git a/dev_scripts/gba_gfx/rename_files_of_same_name.py b/dev_scripts/gba_gfx/rename_files_of_same_name.py new file mode 100644 index 000000000000..cbee489de07d --- /dev/null +++ b/dev_scripts/gba_gfx/rename_files_of_same_name.py @@ -0,0 +1,22 @@ +import glob +import re +import json +import os +import subprocess + +def rename_files(dirOld, dirNew, old, new): + for root, dirs, files in os.walk(dirOld): + for name in files: + if name.endswith(old): + originalName = os.path.join(root, name) + newName = originalName.replace(old, new) + newName = newName.replace(dirOld, dirNew) + print(originalName + " -> " + newName) + os.rename(originalName, newName) + +rename_files("graphics/pokemon_old", "graphics/pokemon", 'anim_front.png', "anim_front_gba.png") +rename_files("graphics/pokemon_old", "graphics/pokemon", 'normal.pal', "normal_gba.pal") +rename_files("graphics/pokemon_old", "graphics/pokemon", 'shiny.pal', "shiny_gba.pal") +rename_files("graphics/pokemon_old", "graphics/pokemon", 'back.png', "back_gba.png") +rename_files("graphics/pokemon_old", "graphics/pokemon", 'icon.png', "icon_gba.png") +rename_files("graphics/pokemon_old", "graphics/pokemon", 'footprint.png', "footprint_gba.png") diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index ab016136a19d..cb02bb306e77 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -18,6 +18,8 @@ - [v1.6.x](tutorials/how_to_new_pokemon_1_6_0.md) - [How to use the Testing System](tutorials/how_to_testing_system.md) - [Changelog](./CHANGELOG.md) + - [1.10.x]() + - [Version 1.10.0](changelogs/1.9.x/1.9.4.md) - [1.9.x]() - [Version 1.9.4](changelogs/1.9.x/1.9.4.md) - [Version 1.9.3](changelogs/1.9.x/1.9.3.md) diff --git a/docs/changelogs/1.10.0/1.10.0.md b/docs/changelogs/1.10.0/1.10.0.md new file mode 100644 index 000000000000..9cf2f9b41e99 --- /dev/null +++ b/docs/changelogs/1.10.0/1.10.0.md @@ -0,0 +1,324 @@ +# Version 1.10.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.10.0`. +``` + +## 🌋 *REFACTORS* 🌋 +📜 = Uses a migration script. +* Changes Evolution methods to Enums by @AlexOn1ine in [#4977](https://github.com/rh-hideout/pokeemerald-expansion/pull/4977) +* Turn item hold effects into an enum by @Bassoonian in [#5498](https://github.com/rh-hideout/pokeemerald-expansion/pull/5498) +* Change `GET_MOVE_TYPE` to a function by @AlexOn1ine in [#5090](https://github.com/rh-hideout/pokeemerald-expansion/pull/5090) +* Created `COMPOUND_STRING`s for default player names by @fdeblasio in [#5037](https://github.com/rh-hideout/pokeemerald-expansion/pull/5037) +* Removed agbcc by @mrgriffin in [#4994](https://github.com/rh-hideout/pokeemerald-expansion/pull/4994) +* Refactor Frontier Brains by @fdeblasio in [#5027](https://github.com/rh-hideout/pokeemerald-expansion/pull/5027) +* Removed all instances of `gBitTable[x]` by @hedara90 in [#5123](https://github.com/rh-hideout/pokeemerald-expansion/pull/5123) +* Made `BuildColorMaps` redundant by using static tables by @pkmnsnfrn in [#5289](https://github.com/rh-hideout/pokeemerald-expansion/pull/5289) +* Removed `FRONTIER_BRAIN_SPRITES` and updated `TRAINER_SPRITE`, `TRAINER_BACK_SPRITE`, and `TRAINER_CLASS` by @fdeblasio in [#5166](https://github.com/rh-hideout/pokeemerald-expansion/pull/5166) +* Added `ShouldSwitch` result to `AiLogicData` by @Pawkkie and @AlexOn1ine had the idea! in [#5440](https://github.com/rh-hideout/pokeemerald-expansion/pull/5440) +* Switch AI refactor + considers free switches by @Pawkkie in [#5379](https://github.com/rh-hideout/pokeemerald-expansion/pull/5379) +* Refactor `ShouldSwitchIfAllBadMoves` by @Pawkkie in [#5452](https://github.com/rh-hideout/pokeemerald-expansion/pull/5452) +* Updated Wring Out effects to match Eruption effects by @AsparagusEduardo in [#5549](https://github.com/rh-hideout/pokeemerald-expansion/pull/5549) + - Changed Wring Out/Crush Grip/Hard Press to use `power` instead of `argument` to determine its max power, just like how Eruption/Water Spout/Dragon Energy do it. + - Also: + - Renamed `EFFECT_VARY_POWER_BASED_ON_HP` to `EFFECT_POWER_BASED_ON_TARGET_HP` + - Renamed `EFFECT_ERUPTION` to `EFFECT_POWER_BASED_ON_USER_HP` +* Update battle messages to Gen 5+ standards by @kittenchilly in [#3240](https://github.com/rh-hideout/pokeemerald-expansion/pull/3240) +* Should switch refactor to facilitate switch prediction by @Pawkkie in [#5466](https://github.com/rh-hideout/pokeemerald-expansion/pull/5466) +* Unwind `TRAINER_CLASS` macro by @SBird1337 in [#5611](https://github.com/rh-hideout/pokeemerald-expansion/pull/5611) +* Refactors Absorb to use `Moveend` by @AlexOn1ine in [#5670](https://github.com/rh-hideout/pokeemerald-expansion/pull/5670) + * For new absorbing moves an argument should be added in `moves_info.h` +* Changes name of `B_SCR_NAME_WITH_PREFIX` by @AlexOn1ine in [#5675](https://github.com/rh-hideout/pokeemerald-expansion/pull/5675) + +## 🧬 General 🧬 +### Added +* Added performance counter by @hedara90 and @SBird1337 provided the actual code in [#5284](https://github.com/rh-hideout/pokeemerald-expansion/pull/5284) +* Added debug build target by @u8-Salem in [#4817](https://github.com/rh-hideout/pokeemerald-expansion/pull/4817) +* Added `AUTO_SCROLL_TEXT` and `NUM_FRAMES_AUTO_SCROLL_DELAY` by @pkmnsnfrn in [#5054](https://github.com/rh-hideout/pokeemerald-expansion/pull/5054) +* Adds `SAVE_TYPE_ERROR_SCREEN` by @pkmnsnfrn in [#5188](https://github.com/rh-hideout/pokeemerald-expansion/pull/5188) +* Move Relearner and Renaming From Summary Screen by @ravepossum in [#5513](https://github.com/rh-hideout/pokeemerald-expansion/pull/5513) +* Automatic Line Breaks, somewhat even lines by @hedara90 and @AsparagusEduardo in [#5689](https://github.com/rh-hideout/pokeemerald-expansion/pull/5689) + - Automatically insert line breaks into a string with `BreakStringAutomatic`. + - This function does not modify strings with existing line breaks. + - Remove existing line breaks from a string with `StripLineBreaks`. + +### Changed +* Removed agbcc by @mrgriffin in [#4994](https://github.com/rh-hideout/pokeemerald-expansion/pull/4994) +* Removed all instances of `gBitTable[x]` by @hedara90 in [#5123](https://github.com/rh-hideout/pokeemerald-expansion/pull/5123) +* Converted Mechadoll text to `COMPOUND_STRING`s by @fdeblasio in [#5276](https://github.com/rh-hideout/pokeemerald-expansion/pull/5276) +* New terrain bgs by @TheTrueSadfish in [#5162](https://github.com/rh-hideout/pokeemerald-expansion/pull/5162) +* Removed agbcc screenshots from `.gitignore` by @Bassoonian in [#5538](https://github.com/rh-hideout/pokeemerald-expansion/pull/5538) +* Set default battle shadow to Gen3 by @hedara90 in [#5632](https://github.com/rh-hideout/pokeemerald-expansion/pull/5632) + - Note: Trainerslides don't work properly with Gen4 shadows. +* Convert 3 variouses to `callnatives` by @AlexOn1ine in [#5646](https://github.com/rh-hideout/pokeemerald-expansion/pull/5646) + +## 🗺️ Overworld 🗺️ +### Added +* FRLG+ whiteout message by @cawtds in [#4967](https://github.com/rh-hideout/pokeemerald-expansion/pull/4967) +* Dynamic Move Types in Summary Screen/Battle by @Galaxeeh in [#5084](https://github.com/rh-hideout/pokeemerald-expansion/pull/5084) +* Adds `OW_BERRY_IMMORTAL` by @pkmnsnfrn in [#5187](https://github.com/rh-hideout/pokeemerald-expansion/pull/5187) +* (Default Off) Item Description Headers by @ghoulslash in [#4767](https://github.com/rh-hideout/pokeemerald-expansion/pull/4767) +* RTC-based wild encounters by @hjk321 in [#5313](https://github.com/rh-hideout/pokeemerald-expansion/pull/5313) +* Added `MB_X_Y_STAIR_WARP` metatile behaviors by @pkmnsnfrn in [#5278](https://github.com/rh-hideout/pokeemerald-expansion/pull/5278) +* Added Sideways Stairs by @ghoulslash in [#4836](https://github.com/rh-hideout/pokeemerald-expansion/pull/4836) +* Added `OW_UNION_DISABLE_CHECK` and `OW_FLAG_MOVE_UNION_ROOM_CHECK` by @pkmnsnfrn in [#5448](https://github.com/rh-hideout/pokeemerald-expansion/pull/5448) +* Adds new scripting macros to increase developer quality of life by @pkmnsnfrn in [#5177](https://github.com/rh-hideout/pokeemerald-expansion/pull/5177) +* Added more later gen fishing mechanics by @kittenchilly in [#5518](https://github.com/rh-hideout/pokeemerald-expansion/pull/5518) + +### Changed +* Created PokeNav `COMPOUND_STRING`s by @fdeblasio in [#4983](https://github.com/rh-hideout/pokeemerald-expansion/pull/4983) +* Added `I_REPEL_INCLUDE_FAINTED` config and behavior by @kittenchilly in [#5239](https://github.com/rh-hideout/pokeemerald-expansion/pull/5239) +* RTC-based wild encounters follow up by @AlexOn1ine in [#5328](https://github.com/rh-hideout/pokeemerald-expansion/pull/5328) +* Revert rtc based encounters by @AlexOn1ine in [#5331](https://github.com/rh-hideout/pokeemerald-expansion/pull/5331) +* Made BuildColorMaps redundant by using static tables by @pkmnsnfrn in [#5289](https://github.com/rh-hideout/pokeemerald-expansion/pull/5289) +* Added `OW_AUTO_SIGNPOST` and associated metatile behaviors by @pkmnsnfrn in [#5044](https://github.com/rh-hideout/pokeemerald-expansion/pull/5044) +* Added support for overworld sprite gender differences + add all the sprites by @kittenchilly in [#5394](https://github.com/rh-hideout/pokeemerald-expansion/pull/5394) + +### Fixed +* Added some null pointer checks by @tertu-m in [#5130](https://github.com/rh-hideout/pokeemerald-expansion/pull/5130) +* Reset item flags on new game by @ghoulslash in [#5363](https://github.com/rh-hideout/pokeemerald-expansion/pull/5363) +* Follower female fix by @hedara90 in [#5475](https://github.com/rh-hideout/pokeemerald-expansion/pull/5475) + +## 🐉 Pokémon 🐉 +### Added +* Added config to change Vivillon's breeding form by @kittenchilly in [#4813](https://github.com/rh-hideout/pokeemerald-expansion/pull/4813) +* Added back GBA sprites via config by @AsparagusEduardo and @AlexOn1ine for their help with script to migrate data from vanilla to our current `gSpeciesInfo` in [#5206](https://github.com/rh-hideout/pokeemerald-expansion/pull/5206) +* Added config to disable gender differences by @AsparagusEduardo in [#5595](https://github.com/rh-hideout/pokeemerald-expansion/pull/5595) + +### Changed +* Made perfect IV count into a granular setting by @AsparagusEduardo in [#5115](https://github.com/rh-hideout/pokeemerald-expansion/pull/5115) +* Updated species defines by @pkmnsnfrn in [#5075](https://github.com/rh-hideout/pokeemerald-expansion/pull/5075) +* Added support for overworld sprite gender differences + add all the sprites by @kittenchilly in [#5394](https://github.com/rh-hideout/pokeemerald-expansion/pull/5394) +* Renamed folders and symbols to match species defines by @AsparagusEduardo in [#5581](https://github.com/rh-hideout/pokeemerald-expansion/pull/5581) + - Burmy and Wormadam footprints were in a `plant` subfolder. They have been moved to the species root folder + - Paldean Wooper's subfolder was named `wooper_paldean` instead of just `paldean`. This has been corrected. + - Zen Mode Galarian Darmanitan's folder was located in `darmanitan/galarian/zen_mode`. This has been corrected to `darmanitan/galar_zen`, alongside Galarian Standard Mode's `darmanitan/galar_standard`. + - Also updated Ogerpon's folders similarly. + - Renamed `SPECIES_PIKACHU_PARTNER_CAP` to `SPECIES_PIKACHU_PARTNER`. +* Changing `EVO_NONE` from `0xFFFE` to `0` by @GhoulMage in [#5547](https://github.com/rh-hideout/pokeemerald-expansion/pull/5547) + - There could be a case for out of bounds errors if arrays or iterations are happening where you're using + 1 or - 1, as `EVO_FRIENDSHIP` used to be the first index although it started with 1. + +### Fixed +* Follower female fix by @hedara90 in [#5475](https://github.com/rh-hideout/pokeemerald-expansion/pull/5475) +* Fixed some gba sprites by @SubzeroEclipse in [#5607](https://github.com/rh-hideout/pokeemerald-expansion/pull/5607) + +## ⚔️ Battle General ⚔️ +### Added +* FRLG+ whiteout message by @cawtds in [#4967](https://github.com/rh-hideout/pokeemerald-expansion/pull/4967) +* Added B_SHOW_TYPES and cleaned up IsDoubleBattle by @pkmnsnfrn in [#5131](https://github.com/rh-hideout/pokeemerald-expansion/pull/5131) +* EV Caps and EV Items by @Flash1Lucky and @AlexOn1ine in [#5269](https://github.com/rh-hideout/pokeemerald-expansion/pull/5269) +* Added in-battle shadows underneath all enemy battlers by @lhearachel in [#5178](https://github.com/rh-hideout/pokeemerald-expansion/pull/5178) +* Added Gen 1 Crit Chance by @Pawkkie in [#5439](https://github.com/rh-hideout/pokeemerald-expansion/pull/5439) +* Added battle flag that prevents running from wild Pokémon by @SarnPoke in [#5502](https://github.com/rh-hideout/pokeemerald-expansion/pull/5502) + +### Changed +* Refactor Frontier Brains by @fdeblasio in [#5027](https://github.com/rh-hideout/pokeemerald-expansion/pull/5027) +* Removed some hardcoding of move IDs + Gen4/5 Defog by @AsparagusEduardo in [#5156](https://github.com/rh-hideout/pokeemerald-expansion/pull/5156) +* Convert 8 various to `callnatives` by @AsparagusEduardo in [#5172](https://github.com/rh-hideout/pokeemerald-expansion/pull/5172) +* Anger Shell use `saveattacker` by @ghoulslash in [#5409](https://github.com/rh-hideout/pokeemerald-expansion/pull/5409) +* Clean up Unseen Fist Check by @AlexOn1ine in [#5420](https://github.com/rh-hideout/pokeemerald-expansion/pull/5420) +* Updated species defines by @pkmnsnfrn in [#5075](https://github.com/rh-hideout/pokeemerald-expansion/pull/5075) +* Removes Crit Chance preproc by @AlexOn1ine in [#5520](https://github.com/rh-hideout/pokeemerald-expansion/pull/5520) +* Update battle messages to Gen 5+ standards by @kittenchilly in [#3240](https://github.com/rh-hideout/pokeemerald-expansion/pull/3240) +* More post-#3240 cleanup by @kittenchilly in [#5593](https://github.com/rh-hideout/pokeemerald-expansion/pull/5593) +* Unwind `TRAINER_CLASS` macro by @SBird1337 in [#5611](https://github.com/rh-hideout/pokeemerald-expansion/pull/5611) +* Removes redundant Decorate check by @AlexOn1ine in [#5696](https://github.com/rh-hideout/pokeemerald-expansion/pull/5696) +* Changes target bit of Flower Shield by @AlexOn1ine in [#5698](https://github.com/rh-hideout/pokeemerald-expansion/pull/5698) + +### Fixed +* Fixed a sprite issue with `B_SHOW_TYPES` by @pkmnsnfrn in [#5157](https://github.com/rh-hideout/pokeemerald-expansion/pull/5157) +* Dynamic Move Display fixes by @Galaxeeh in [#5251](https://github.com/rh-hideout/pokeemerald-expansion/pull/5251) +* Fixed a display issue with `B_SHOW_TYPES` by @pkmnsnfrn and @iriv24 in [#5201](https://github.com/rh-hideout/pokeemerald-expansion/pull/5201) +* Fixed Gen 3 foreseen and Beat Up damage type by @hedara90 in [#5323](https://github.com/rh-hideout/pokeemerald-expansion/pull/5323) +* Fixes Defog used by the wrong side when there is a Substitue and Screen by @AlexOn1ine in [#5381](https://github.com/rh-hideout/pokeemerald-expansion/pull/5381) +* Fixes Hidden Power dynamic type bug by @AlexOn1ine in [#5463](https://github.com/rh-hideout/pokeemerald-expansion/pull/5463) +* Display the correct shadow size when sending out a new Pokemon by @lhearachel in [#5618](https://github.com/rh-hideout/pokeemerald-expansion/pull/5618) +* Fixed text wrap obtaining the incorrect glyph width by @AsparagusEduardo and @AlexOn1ine for their help verifying that the fix works with one of his custom strings in [#5620](https://github.com/rh-hideout/pokeemerald-expansion/pull/5620) +* Improve line breaks/scrolls by @cawtds in [#5641](https://github.com/rh-hideout/pokeemerald-expansion/pull/5641) +* Fixed Order Up + Tera Stellar breaking each other with Commander by @PhallenTree in [#5667](https://github.com/rh-hideout/pokeemerald-expansion/pull/5667) +* Fixes wrong Id when AI chooses mon to switch in by @AlexOn1ine in [#5684](https://github.com/rh-hideout/pokeemerald-expansion/pull/5684) +* Fixes Absorb regression caused by #5670 by @AlexOn1ine in [#5688](https://github.com/rh-hideout/pokeemerald-expansion/pull/5688) +* Fixes heal blocked leeach seed in tests by @AlexOn1ine in [#5700](https://github.com/rh-hideout/pokeemerald-expansion/pull/5700) +* Trainer class+name expansion fix for Battle Frontier by @hedara90 in [#5699](https://github.com/rh-hideout/pokeemerald-expansion/pull/5699) + +## 🤹 Moves 🤹 +### Changed +* Added Population Bomb animation by @kittenchilly in [#5194](https://github.com/rh-hideout/pokeemerald-expansion/pull/5194) +* Move battle anim arrays to C by @cawtds in [#5306](https://github.com/rh-hideout/pokeemerald-expansion/pull/5306) +* Grass/Water Pledge Swamp Animation + Sea of Fire animation tweak by @SonikkuA-DatH in [#5325](https://github.com/rh-hideout/pokeemerald-expansion/pull/5325) +* New animations for many moves more details in description by @TheTrueSadfish in [#5367](https://github.com/rh-hideout/pokeemerald-expansion/pull/5367) +* Use move effect for some moves instead of ids by @AlexOn1ine in [#5433](https://github.com/rh-hideout/pokeemerald-expansion/pull/5433) +* Adds Commander and Order Up by @AlexOn1ine in [#5246](https://github.com/rh-hideout/pokeemerald-expansion/pull/5246) +* Heart Swap Move Animation by @SonikkuA-DatH in [#5460](https://github.com/rh-hideout/pokeemerald-expansion/pull/5460) +* Update `shed_tail.c` by @Bassoonian in [#5494](https://github.com/rh-hideout/pokeemerald-expansion/pull/5494) +* Added Ion Deluge animation by @kittenchilly in [#5467](https://github.com/rh-hideout/pokeemerald-expansion/pull/5467) +* Updated Wring Out effects to match Eruption effects by @AsparagusEduardo in [#5549](https://github.com/rh-hideout/pokeemerald-expansion/pull/5549) + - Changed Wring Out/Crush Grip/Hard Press to use `power` instead of `argument` to determine its max power, just like how Eruption/Water Spout/Dragon Energy do it. Also: + - Renamed `EFFECT_VARY_POWER_BASED_ON_HP` to `EFFECT_POWER_BASED_ON_TARGET_HP` + - Renamed `EFFECT_ERUPTION` to `EFFECT_POWER_BASED_ON_USER_HP` +* Refactors Absorb to use Moveend by @AlexOn1ine in [#5670](https://github.com/rh-hideout/pokeemerald-expansion/pull/5670) + * For new absorbing moves an argument should be added in `moves_info.h` + +### Fixed +* Dark Void, Clangorous Soulblaze, vortex animation fixes by @TheTrueSadfish in [#5650](https://github.com/rh-hideout/pokeemerald-expansion/pull/5650) + +## 🎭 Abilities 🎭 +### Changed +* Adds Commander and Order Up by @AlexOn1ine in [#5246](https://github.com/rh-hideout/pokeemerald-expansion/pull/5246) + +## 🧶 Items 🧶 +### Added +* Adds `OW_BERRY_IMMORTAL` by @pkmnsnfrn in [#5187](https://github.com/rh-hideout/pokeemerald-expansion/pull/5187) +* Added functionality to Poké Flute and Town Map by @kittenchilly and @LOuroboros basically did the Town Map implementation in [#5405](https://github.com/rh-hideout/pokeemerald-expansion/pull/5405) +* Decouple Poke Ball ids from item ids by @AlexOn1ine in [#5560](https://github.com/rh-hideout/pokeemerald-expansion/pull/5560) + +### Changed +* Consolidated the values of Rotom's moves and added Gen9 base form effect by @fdeblasio in [#5186](https://github.com/rh-hideout/pokeemerald-expansion/pull/5186) +* Added `I_REPEL_INCLUDE_FAINTED` config and behavior by @kittenchilly in [#5239](https://github.com/rh-hideout/pokeemerald-expansion/pull/5239) + +### Fixed +* Replace hardcoded flute check with consumability check by @Bassoonian in [#5508](https://github.com/rh-hideout/pokeemerald-expansion/pull/5508) + +## 🤖 Battle AI 🤖 +### Added +* Adds config to show target of ingame partner by @AlexOn1ine in [#5307](https://github.com/rh-hideout/pokeemerald-expansion/pull/5307) +* Switch AI refactor + considers free switches by @Pawkkie in [#5379](https://github.com/rh-hideout/pokeemerald-expansion/pull/5379) +* New AI flag for marking the two last Pokémon as Ace Pokémon by @GhoulMage in [#5587](https://github.com/rh-hideout/pokeemerald-expansion/pull/5587) + +### Changed +* Chilly Reception AI by @kittenchilly in [#5271](https://github.com/rh-hideout/pokeemerald-expansion/pull/5271) +* Shed Tail AI by @SarnPoke and @AlexOn1ine, @Pawkkie in [#5275](https://github.com/rh-hideout/pokeemerald-expansion/pull/5275) +* More missing AI logic by @kittenchilly in [#5279](https://github.com/rh-hideout/pokeemerald-expansion/pull/5279) +* Adds basic trainer and smart trainer flags by @AlexOn1ine in [#5298](https://github.com/rh-hideout/pokeemerald-expansion/pull/5298) +* `AI_FLAG_SETUP_FIRST_TURN` rename and clarifications by @Pawkkie in [#5310](https://github.com/rh-hideout/pokeemerald-expansion/pull/5310) +* Added Composite AI Flags to Docs by @Pawkkie in [#5349](https://github.com/rh-hideout/pokeemerald-expansion/pull/5349) +* AI frostbite score fixes and improvements by @Pawkkie and @kittenchilly for the suggestion! in [#5362](https://github.com/rh-hideout/pokeemerald-expansion/pull/5362) +* Switch AI `hitsToKO` considers one shot prevention by @Pawkkie in [#5371](https://github.com/rh-hideout/pokeemerald-expansion/pull/5371) +* Adds `CanEndureHit` AI function by @AlexOn1ine in [#5373](https://github.com/rh-hideout/pokeemerald-expansion/pull/5373) +* Switch AI `hitsToKO` considers Disguise by @Pawkkie in [#5375](https://github.com/rh-hideout/pokeemerald-expansion/pull/5375) +* Added `ShouldSwitch` result to `AiLogicData` by @Pawkkie and @AlexOn1ine had the idea! in [#5440](https://github.com/rh-hideout/pokeemerald-expansion/pull/5440) +* Removes duplicate code in AI functions by @AlexOn1ine in [#5457](https://github.com/rh-hideout/pokeemerald-expansion/pull/5457) +* Unify `GetBattlerAbility`/`TerrainAffected` to remove duplicate ai function by @AlexOn1ine in [#5497](https://github.com/rh-hideout/pokeemerald-expansion/pull/5497) +* `ShouldSwitchIfGameStatePrompt` Tests by @Pawkkie in [#5462](https://github.com/rh-hideout/pokeemerald-expansion/pull/5462) +* `AI_FLAG_ACE_POKEMON` takes into account separate trainers by @GhoulMage and @/uvula on Discord noted the weird behaviour. in [#5608](https://github.com/rh-hideout/pokeemerald-expansion/pull/5608) + - Fix for the AI not considering both trainers Ace Pokémons in double battles with `AI_FLAG_ACE_POKEMON`. +* Moves that deal a Fixed amount don't need AI handling by @AlexOn1ine in [#5614](https://github.com/rh-hideout/pokeemerald-expansion/pull/5614) +* Combines `CalculateMoveDamage` arguments into a struct by @AlexOn1ine in [#5570](https://github.com/rh-hideout/pokeemerald-expansion/pull/5570) + +### Fixed +* AI burn score fixes and improvements by @Pawkkie and @iriv24 and @AlexOn1ine in [#5356](https://github.com/rh-hideout/pokeemerald-expansion/pull/5356) +* Improve AI's Skill Swap handling in double battles by @Pawkkie in [#5360](https://github.com/rh-hideout/pokeemerald-expansion/pull/5360) +* Refactor `ShouldSwitchIfAllBadMoves` by @Pawkkie in [#5452](https://github.com/rh-hideout/pokeemerald-expansion/pull/5452) +* Should switch refactor to facilitate switch prediction by @Pawkkie in [#5466](https://github.com/rh-hideout/pokeemerald-expansion/pull/5466) +* Fixes Switch in flag not restoring mons properly with test by @Pawkkie and @iriv24 for finding, @AlexOn1ine for fixing in [#5746](https://github.com/rh-hideout/pokeemerald-expansion/pull/5746) + +## 🧹 Other Cleanup 🧹 +* Removed metadata in AIF files by @SombrAbsol in [#4958](https://github.com/rh-hideout/pokeemerald-expansion/pull/4958) +* Removed `gPaletteDecompressionBuffer` and unused palette functions/vars by @DizzyEggg in [#4841](https://github.com/rh-hideout/pokeemerald-expansion/pull/4841) +* Changes Evolution methods to `enum`s by @AlexOn1ine in [#4977](https://github.com/rh-hideout/pokeemerald-expansion/pull/4977) +* Doesn't compile on some compilers by @AlexOn1ine in [#5099](https://github.com/rh-hideout/pokeemerald-expansion/pull/5099) +* Update `event.inc` to accomodate new `gDecompressionBuffer` name by @Bassoonian in [#5100](https://github.com/rh-hideout/pokeemerald-expansion/pull/5100) +* Created `COMPOUND_STRING`s for default player names by @fdeblasio in [#5037](https://github.com/rh-hideout/pokeemerald-expansion/pull/5037) +* Changed single-use berry blender strings to be `COMPOUND_STRING`s by @fdeblasio in [#4963](https://github.com/rh-hideout/pokeemerald-expansion/pull/4963) +* Made perfect IV count into a granular setting by @AsparagusEduardo in [#5115](https://github.com/rh-hideout/pokeemerald-expansion/pull/5115) +* Dynamic move type clean up by @AlexOn1ine in [#5132](https://github.com/rh-hideout/pokeemerald-expansion/pull/5132) +* Refactor Frontier Brains by @fdeblasio in [#5027](https://github.com/rh-hideout/pokeemerald-expansion/pull/5027) +* Removed some hardcoding of move IDs + Gen4/5 Defog by @AsparagusEduardo in [#5156](https://github.com/rh-hideout/pokeemerald-expansion/pull/5156) +* Teatime animations use `B_WAIT_TIME_LONG` by @AsparagusEduardo in [#5173](https://github.com/rh-hideout/pokeemerald-expansion/pull/5173) +* Created PokeNav `COMPOUND_STRING`s by @fdeblasio in [#4983](https://github.com/rh-hideout/pokeemerald-expansion/pull/4983) +* Removed `gBitTable` usage again by @hedara90 in [#5193](https://github.com/rh-hideout/pokeemerald-expansion/pull/5193) +* Removed support for the original LCG random number generator by @tertu-m in [#5078](https://github.com/rh-hideout/pokeemerald-expansion/pull/5078) +* Deprecate MMBN Names by @pkmnsnfrn in [#5240](https://github.com/rh-hideout/pokeemerald-expansion/pull/5240) +* Convert 8 various to `callnatives` by @AsparagusEduardo in [#5172](https://github.com/rh-hideout/pokeemerald-expansion/pull/5172) +* Converted PC strings to `COMPOUND_STRING`s by @fdeblasio in [#5314](https://github.com/rh-hideout/pokeemerald-expansion/pull/5314) +* Cleaned up duplicate dynamic type functions by @AsparagusEduardo in [#5338](https://github.com/rh-hideout/pokeemerald-expansion/pull/5338) +* Removes redundant `moveTargetType` ai function by @AlexOn1ine in [#5354](https://github.com/rh-hideout/pokeemerald-expansion/pull/5354) +* Made `BuildColorMaps` redundant by using static tables by @pkmnsnfrn in [#5289](https://github.com/rh-hideout/pokeemerald-expansion/pull/5289) +* Some strings were switched by @AlexOn1ine in [#5374](https://github.com/rh-hideout/pokeemerald-expansion/pull/5374) +* Switch AI hitsToKO considers Disguise by @Pawkkie in [#5375](https://github.com/rh-hideout/pokeemerald-expansion/pull/5375) +* Cleaned up a bit of code with `GetBattlerPartyData` by @AlexOn1ine in [#5378](https://github.com/rh-hideout/pokeemerald-expansion/pull/5378) +* Minor Gem check optimazation by @AlexOn1ine in [#5401](https://github.com/rh-hideout/pokeemerald-expansion/pull/5401) +* Simplify HP Logic by @AreaZR in [#5403](https://github.com/rh-hideout/pokeemerald-expansion/pull/5403) +* Anger Shell use `saveattacker` by @ghoulslash in [#5409](https://github.com/rh-hideout/pokeemerald-expansion/pull/5409) +* Converted berry and PokeBlock strings to `COMPOUND_STRING`s by @fdeblasio in [#5324](https://github.com/rh-hideout/pokeemerald-expansion/pull/5324) +* Merge item description branch history by @Bassoonian in [#5419](https://github.com/rh-hideout/pokeemerald-expansion/pull/5419) +* Clean up Unseen Fist Check by @AlexOn1ine in [#5420](https://github.com/rh-hideout/pokeemerald-expansion/pull/5420) +* Merge level_caps and ev_caps into one caps file by @kittenchilly in [#5429](https://github.com/rh-hideout/pokeemerald-expansion/pull/5429) +* Removed trailing whitespace pass 10-2-2024 (Upcoming) by @kittenchilly in [#5456](https://github.com/rh-hideout/pokeemerald-expansion/pull/5456) +* Fixed Commander test name by @Bassoonian in [#5458](https://github.com/rh-hideout/pokeemerald-expansion/pull/5458) +* Updated species defines by @pkmnsnfrn in [#5075](https://github.com/rh-hideout/pokeemerald-expansion/pull/5075) +* Adds padding in `AiLogicData` by @AlexOn1ine in [#5468](https://github.com/rh-hideout/pokeemerald-expansion/pull/5468) +* Simplify `BS_FAINTED_MULTIPLE_1` double battle logic in openpartyscreen by @ghoulslash in [#5435](https://github.com/rh-hideout/pokeemerald-expansion/pull/5435) +* Removes duplicate code in AI functions by @AlexOn1ine in [#5457](https://github.com/rh-hideout/pokeemerald-expansion/pull/5457) +* `ShouldPivot` type cleanup by @Pawkkie in [#5441](https://github.com/rh-hideout/pokeemerald-expansion/pull/5441) +* Turn item hold effects into an enum by @Bassoonian in [#5498](https://github.com/rh-hideout/pokeemerald-expansion/pull/5498) +* Unify `GetBattlerAbility`/`TerrainAffected` to remove duplicate ai function by @AlexOn1ine in [#5497](https://github.com/rh-hideout/pokeemerald-expansion/pull/5497) +* Clean up Shedinja code by @Bassoonian in [#5501](https://github.com/rh-hideout/pokeemerald-expansion/pull/5501) +* Clean up `scrcmd` PR by @Bassoonian in [#5511](https://github.com/rh-hideout/pokeemerald-expansion/pull/5511) +* Removes Crit Chance preproc by @AlexOn1ine in [#5520](https://github.com/rh-hideout/pokeemerald-expansion/pull/5520) +* Removed agbcc screenshots from gitignore by @Bassoonian in [#5538](https://github.com/rh-hideout/pokeemerald-expansion/pull/5538) +* Removed unnecessary `gBattlerAttacker` usage by @AlexOn1ine in [#5554](https://github.com/rh-hideout/pokeemerald-expansion/pull/5554) +* Removed remaining line breaks from #3240 + Prefix wrap fix by @AsparagusEduardo in [#5556](https://github.com/rh-hideout/pokeemerald-expansion/pull/5556) +* More post-#3240 cleanup by @kittenchilly in [#5593](https://github.com/rh-hideout/pokeemerald-expansion/pull/5593) +* Renamed folders and symbols to match species defines by @AsparagusEduardo in [#5581](https://github.com/rh-hideout/pokeemerald-expansion/pull/5581) + - Also: + - Burmy and Wormadam footprints were in a `plant` subfolder. They have been moved to the species root folder + - Paldean Wooper's subfolder was named `wooper_paldean` instead of just `paldean`. This has been corrected. + - Zen Mode Galarian Darmanitan's folder was located in `darmanitan/galarian/zen_mode`. This has been corrected to `darmanitan/galar_zen`, alongside Galarian Standard Mode's `darmanitan/galar_standard`. + - Also updated Ogerpon's folders similarly. + - Renamed `SPECIES_PIKACHU_PARTNER_CAP` to `SPECIES_PIKACHU_PARTNER`. +* Minor `BattleStruct` clean up by @AlexOn1ine in [#5585](https://github.com/rh-hideout/pokeemerald-expansion/pull/5585) +* Fixed a ball update oversight by @Bassoonian in [#5609](https://github.com/rh-hideout/pokeemerald-expansion/pull/5609) +* `AI_FLAG_ACE_POKEMON` takes into account separate trainers by @GhoulMage and @/uvula on Discord noted the weird behaviour in [#5608](https://github.com/rh-hideout/pokeemerald-expansion/pull/5608) + - Fix for the AI not considering both trainers Ace Pokémons in double battles with `AI_FLAG_ACE_POKEMON`. +* Moves that deal a Fixed amount don't need AI handling by @AlexOn1ine in [#5614](https://github.com/rh-hideout/pokeemerald-expansion/pull/5614) +* Combines `CalculateMoveDamage` arguments into a struct by @AlexOn1ine in [#5570](https://github.com/rh-hideout/pokeemerald-expansion/pull/5570) +* Follow up for #5570 by @AlexOn1ine in [#5625](https://github.com/rh-hideout/pokeemerald-expansion/pull/5625) +* `AI_CalcDamage` clean up by @AlexOn1ine in [#5629](https://github.com/rh-hideout/pokeemerald-expansion/pull/5629) +* Convert 3 variouses to `callnatives` by @AlexOn1ine in [#5646](https://github.com/rh-hideout/pokeemerald-expansion/pull/5646) +* Convert `gBattleStringsTable` to `COMPOUND_STRING`s by @AsparagusEduardo in [#5649](https://github.com/rh-hideout/pokeemerald-expansion/pull/5649) +* Added merged placeholder text for trainer name with class by @kittenchilly in [#5622](https://github.com/rh-hideout/pokeemerald-expansion/pull/5622) +* Cleans up Primal Reversion code by @AlexOn1ine in [#5659](https://github.com/rh-hideout/pokeemerald-expansion/pull/5659) +* Critical Hit documentation and distorted match up struct switch by @AlexOn1ine in [#5665](https://github.com/rh-hideout/pokeemerald-expansion/pull/5665) +* Changes name of `B_SCR_NAME_WITH_PREFIX` by @AlexOn1ine in [#5675](https://github.com/rh-hideout/pokeemerald-expansion/pull/5675) +* Removes redundant Decorate check by @AlexOn1ine in [#5696](https://github.com/rh-hideout/pokeemerald-expansion/pull/5696) +* Changes taget bit of Flower Shield by @AlexOn1ine in [#5698](https://github.com/rh-hideout/pokeemerald-expansion/pull/5698) +* Changing `EVO_NONE` from `0xFFFE` to `0` by @GhoulMage in [#5547](https://github.com/rh-hideout/pokeemerald-expansion/pull/5547) + - There could be a case for out of bounds errors if arrays or iterations are happening where you're using + 1 or - 1, as `EVO_FRIENDSHIP` used to be the first index although it started with 1. + +## 🧪 Test Runner 🧪 +### Changed +* Fixed Commander test name by @Bassoonian in [#5458](https://github.com/rh-hideout/pokeemerald-expansion/pull/5458) +* `ShouldSwitchIfGameStatePrompt` Tests by @Pawkkie in [#5462](https://github.com/rh-hideout/pokeemerald-expansion/pull/5462) +* Added various tests, add `RNG_RANDOM_TARGET` by @ghoulslash in [#5438](https://github.com/rh-hideout/pokeemerald-expansion/pull/5438) +* Added Costar Tests, Download Test for Doubles by @ghoulslash in [#5526](https://github.com/rh-hideout/pokeemerald-expansion/pull/5526) +* Updated Wring Out effects to match Eruption effects by @AsparagusEduardo in [#5549](https://github.com/rh-hideout/pokeemerald-expansion/pull/5549) + - Changed Wring Out/Crush Grip/Hard Press to use `power` instead of `argument` to determine its max power, just like how Eruption/Water Spout/Dragon Energy do it. Also: + - Renamed `EFFECT_VARY_POWER_BASED_ON_HP` to `EFFECT_POWER_BASED_ON_TARGET_HP` + - Renamed `EFFECT_ERUPTION` to `EFFECT_POWER_BASED_ON_USER_HP` +* Healer ability tests by @Pawkkie in [#5559](https://github.com/rh-hideout/pokeemerald-expansion/pull/5559) +* Mark all tests as used by @mrgriffin in [#5531](https://github.com/rh-hideout/pokeemerald-expansion/pull/5531) + +### Fixed +* Should switch refactor to facilitate switch prediction by @Pawkkie in [#5466](https://github.com/rh-hideout/pokeemerald-expansion/pull/5466) + +## 📚 Documentation 📚 +* `DoBattleIntro` state documentation by @AsparagusEduardo and @ShinyDragonHunter in [#5231](https://github.com/rh-hideout/pokeemerald-expansion/pull/5231) +* Deprecate MMBN Names by @pkmnsnfrn in [#5240](https://github.com/rh-hideout/pokeemerald-expansion/pull/5240) +* `AI_FLAG_SETUP_FIRST_TURN` Rename and Clarifications by @Pawkkie in [#5310](https://github.com/rh-hideout/pokeemerald-expansion/pull/5310) +* Added Composite AI Flags to Docs by @Pawkkie in [#5349](https://github.com/rh-hideout/pokeemerald-expansion/pull/5349) +* Updated the new pokemon tutorial for 1.10 by @hedara90 in [#5721](https://github.com/rh-hideout/pokeemerald-expansion/pull/5721) + - Some changes compared to previous. + +## New Contributors +* @SombrAbsol made their first contribution in [#4958](https://github.com/rh-hideout/pokeemerald-expansion/pull/4958) +* @Galaxeeh made their first contribution in [#5084](https://github.com/rh-hideout/pokeemerald-expansion/pull/5084) +* @Flash1Lucky made their first contribution in [#5269](https://github.com/rh-hideout/pokeemerald-expansion/pull/5269) +* @GhoulMage made their first contribution in [#5547](https://github.com/rh-hideout/pokeemerald-expansion/pull/5547) + +**Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.9.4...expansion/1.10.0 + + + diff --git a/docs/mmbn_style_names.md b/docs/mmbn_style_names.md new file mode 100644 index 000000000000..f9d5f11fe174 --- /dev/null +++ b/docs/mmbn_style_names.md @@ -0,0 +1,300 @@ +# Megaman Battle Network Style Names + +Prior to 1.10, names in expansion that were too long for the game's UIs were truncated to fit using the naming conventions from the [Megaman Battle Network]() series. + +These were removed as part of https://github.com/rh-hideout/pokeemerald-expansion/pull/5240. They are stored here for users that may want to refer back to them or restore them. + +# Table + +Attribute | MMBN | Official +-- | -- | -- +Item | PewtrCrnches | Pewter Crunchies +Item | RageCandyBar | Rage Candy Bar +Item | LumioseGlete | Lumiose Galette +Item | ShalourSable | Shalour Sable +Item | HealthFeather | Health Feather +Item | MuscleFeather | Muscle Feather +Item | ResistFeather | Resist Feather +Item | GeniusFeather | Genius Feather +Item | CleverFeather | Clever Feather +Item | SwiftFeather | Swift Feather +Item | AbilityCapsle | Ability Capsule +Item | AbilityPatch | Ability Patch +Item | AbilityPatches | Ability Patches +Item | Exp.Candy XS | Exp. Candy XS +Item | Exp.Candies XS | Exp. Candies XS +Item | Exp.Candy S | Exp. Candy S +Item | Exp.Candies S | Exp. Candies S +Item | Exp.Candy M | Exp. Candy M +Item | Exp.Candies M | Exp. Candies M +Item | Exp.Candy L | Exp. Candy L +Item | Exp.Candies L | Exp. Candies L +Item | Exp.Candy XL | Exp. Candy XL +Item | Exp.Candies XL | Exp. Candies XL +Item | DynamaxCandy | Dynamax Candy +Item | DynamaxCandies | Dynamax Candies +Item | MaxMushrooms | Max Mushrooms +Item | GoldBottlCap | Gold Bottle Cap +Item | PrettyFeather | Pretty Feather +Item | StrngeSouvnr | Strange Souvenir +Item | FosslzedBird | Fossilized Bird +Item | FosslzedFish | Fossilized Fish +Item | FosslzedFishes | Fossilized Fishes +Item | FosslzedDrke | Fossilized Drake +Item | FosslzedDino | Fossilized Dino +Item | SurprseMulch | Surprise Mulch +Item | YellwApricorn | Yellow Apricorn +Item | GreenApricorn | Green Apricorn +Item | WhiteApricorn | White Apricorn +Item | BlackApricorn | Black Apricorn +Item | WishingPiece | Wishing Piece +Item | GalaricaTwig | Galarica Twig +Item | GalaricaCuff | Galarica Cuff +Item | GalrcaWreath | Galarica Wreath +Item | GalrcaWreathes | Galarica Wreathes +Item | StrwbrySweet | Strawberry Sweet +Item | ElectrcMemory | Electric Memory +Item | ElectrcMemories | Electric Memories +Item | FightngMemory | Fighting Memory +Item | FightngMemories | Fighting Memories +Item | PsychicMemory | Psychic Memory +Item | PsychicMemories | Psychic Memories +Item | RustedSword | Rusted Sword +Item | RustedShield | Rusted Shield +Item | CharizarditeX | Charizardite X +Item | CharizarditeY | Charizardite Y +Item | U-Necrozium Z | Ultranecrozium Z +Item | DeepSeaScale | Deep Sea Scale +Item | DeepSeaTooth | Deep Sea Tooth +Item | Never-MeltIce | Never-Melt Ice +Item | WeaknssPolicy | Weakness Policy +Item | WeaknssPolicies | Weakness Policies +Item | SafetyGoggles | Safety Goggles +Item | AdrenalineOrb | Adrenaline Orb +Item | TerainExtendr | Terrain Extender +Item | ProtectvePads | Protective Pads +Item | Heavy-DtyBts | Heavy-Duty Boots +Item | BlundrPolicy | Blunder Policy +Item | BlundrPolicies | Blunder Policies +Item | UtltyUmbrlla | Utility Umbrella +Item | CatchngCharm | Catching Charm +Item | RotomCatalog | Rotom Catalog +Item | ReinsOfUnity | Reins of Unity +Item | Dowsing MCHN | Dowsing Machine +Item | AbilityShield | Ability Shield +Item | PunchingGlove | Punching Glove +Item | AuspciousArmr | Auspicious Armor +Item | BoosterEnergy | Booster Energy +Item | BoosterEnergies | Booster Energies +Item | BigBmbooShoot | Big Bamboo Shoot +Item | GimighoulCoin | Gimmighoul Coin +Item | Leader'sCrest | Leader's Crest +Item | MaliciousArmr | Malicious Armor +Item | ScrllOfDrknss | Scroll of Darkness +Item | ScrllsOfDrknss | Scrolls of Darkness +Item | ScrollOfWatrs | Scroll of Waters +Item | ScrollsOfWatrs | Scrolls of Waters +Item | TinyBmbooShot | Tiny Bamboo Shoot +Item | Bug TeraShard | Bug Tera Shard +Item | DarkTeraShard | Dark Tera Shard +Item | DragnTeraShrd | Dragon Tera Shard +Item | EltrcTeraShrd | Electric Tera Shard +Item | FairyTeraShrd | Fairy Tera Shard +Item | FghtngTerShrd | Fighting Tera Shard +Item | FireTeraShard | Fire Tera Shard +Item | FlyngTeraShrd | Flying Tera Shard +Item | GhostTeraShrd | Ghost Tera Shard +Item | GrassTeraShrd | Grass Tera Shard +Item | GrondTeraShrd | Ground Tera Shard +Item | Ice TeraShard | Ice Tera Shard +Item | NormlTeraShrd | Normal Tera Shard +Item | PoisnTeraShrd | Poison Tera Shard +Item | PschcTeraShrd | Psychic Tera Shard +Item | RockTeraShard | Rock Tera Shard +Item | SteelTeraShrd | Steel Tera Shard +Item | WaterTeraShrd | Water Tera Shard +Item | AdamantCrystl | Adamant Crystal +Item | LustrousGlobe | Lustrous Globe +Item | BlackAugurite | Black Augurite +Item | UnrmkblTeacup | Unremarkable Teacup +Item | MstrpceTeacup | Masterpiece Teacup +Item | CornrstneMask | Cornerstone Mask +Item | WellsprngMask | Wellspring Mask +Item | HrthflameMask | Hearthflame Mask +Item | FrshStrtMochi | Fresh Start Mochi +Item | GlmmringCharm | Glimmering Charm +Item | StllrTeraShrd | Stellar Tera Shard +Item | JublifeMuffin | Jubilife Muffin +Item | AuxPowerguard | Aux Powerguard +Item | ChoiceDumplng | Choice Dumpling +Item | 2xSpicedRadsh | Twice-Spiced Radish +Move | ThunderPunch | Thunder Punch +Move | PoisonPowder | Poison Powder +Move | ThunderShock | Thunder Shock +Move | SelfDestruct | Self-Destruct +Move | HighJumpKick | High Jump Kick +Move | DynamicPunch | Dynamic Punch +Move | DragonBreath | Dragon Breath +Move | ExtremeSpeed | Extreme Speed +Move | AncientPower | Ancient Power +Move | SmellngSalts | Smelling Salts +Move | FeatherDance | Feather Dance +Move | GrassWhistle | Grass Whistle +Move | PhantomForce | Phantom Force +Move | TrickOrTreat | Trick-or-Treat +Move | ParabolcChrg | Parabolic Charge +Move | Forest'sCurs | Forest's Curse +Move | PetalBlizzrd | Petal Blizzard +Move | DisrmngVoice | Disarming Voice +Move | DrainingKiss | Draining Kiss +Move | CraftyShield | Crafty Shield +Move | FlowerShield | Flower Shield +Move | GrssyTerrain | Grassy Terrain +Move | MistyTerrain | Misty Terrain +Move | King'sShield | King's Shield +Move | DiamondStorm | Diamond Storm +Move | SteamErption | Steam Eruption +Move | HyprspceHole | Hyperspace Hole +Move | WatrShuriken | Water Shuriken +Move | MysticalFire | Mystical Fire +Move | AromaticMist | Aromatic Mist +Move | EerieImpulse | Eerie Impulse +Move | MagneticFlux | Magnetic Flux +Move | ElctrcTrrain | Electric Terrain +Move | DazzlngGleam | Dazzling Gleam +Move | BabyDollEyes | Baby-Doll Eyes +Move | PowerUpPunch | Power-Up Punch +Move | OblivionWing | Oblivion Wing +Move | ThousndArrws | Thousand Arrows +Move | ThousndWaves | Thousand Waves +Move | LightOfRuin | Light Of Ruin +Move | PrcipceBldes | Precipice Blades +Move | DragonAscent | Dragon Ascent +Move | HyprspceFury | Hyperspace Fury +Move | FrstImpressn | First Impression +Move | BanefulBunkr | Baneful Bunker +Move | SpiritShackl | Spirit Shackle +Move | DarkstLariat | Darkest Lariat +Move | SparklngAria | Sparkling Aria +Move | FloralHealng | Floral Healing +Move | HighHorsepwr | High Horsepower +Move | PsychcTrrain | Psychic Terrain +Move | RvlationDnce | Revelation Dance +Move | CoreEnforcer | Core Enforcer +Move | ClngngScales | Clanging Scales +Move | DragonHammer | Dragon Hammer +Move | PsychicFangs | Psychic Fangs +Move | StmpngTantrm | Stomping Tantrum +Move | PrsmaticLasr | Prismatic Laser +Move | SpectrlThief | Spectral Thief +Move | SnsteelStrke | Sunsteel Strike +Move | MoongestBeam | Moongeist Beam +Move | Natur'sMadns | Nature's Madness +Move | PhotonGeyser | Photon Geyser +Move | SplishySplsh | Splishy Splash +Move | BouncyBubble | Bouncy Bubble +Move | SparklySwirl | Sparkly Swirl +Move | VeeveeVolley | Veevee Volley +Move | DublIronBash | Double Iron Bash +Move | DynamxCannon | Dynamax Cannon +Move | FishiousRend | Fishious Rend +Move | ClngrousSoul | Clangorous Soul +Move | BehemthBlade | Behemoth Blade +Move | BehemothBash | Behemoth Bash +Move | BreakngSwipe | Breaking Swipe +Move | StrangeSteam | Strange Steam +Move | FalsSurrendr | False Surrender +Move | MeteorAssalt | Meteor Assault +Move | ExpandngForc | Expanding Force +Move | ShellSideArm | Shell Side Arm +Move | MstyExplsion | Misty Explosion +Move | RisngVoltage | Rising Voltage +Move | TerrainPulse | Terrain Pulse +Move | SkitterSmack | Skitter Smack +Move | BrningJelosy | Burning Jealousy +Move | CorrosiveGas | Corrosive Gas +Move | DualWingbeat | Dual Wingbeat +Move | ScorchngSnds | Scorching Sands +Move | JungleHealng | Jungle Healing +Move | SurgngStrkes | Surging Strikes +Move | DragonEnergy | Dragon Energy +Move | FreezngGlare | Freezing Glare +Move | ThnderusKick | Thunderous Kick +Move | GlacialLance | Glacial Lance +Move | AstrlBarrage | Astral Barrage +Move | PsyshieldBsh | Psyshield Bash +Move | SprngtdeStrm | Springtide Storm +Move | MystcalPower | Mystical Power +Move | MountainGale | Mountain Gale +Move | VictoryDance | Victory Dance +Move | HeadlongRush | Headlong Rush +Move | BitterMalice | Bitter Malice +Move | TripleArrows | Triple Arrows +Move | InfrnlParade | Infernal Parade +Move | CeaslessEdge | Ceaseless Edge +Move | BlekwndStorm | Bleakwind Storm +Move | WildbltStorm | Wildbolt Storm +Move | SndsearStorm | Sandsear Storm +Move | LunarBlessng | Lunar Blessing +Move | LastRespects | Last Respects +Move | SpicyExtract | Spicy Extract +Move | PoplatinBomb | Population Bomb +Move | RevivlBlesng | Revival Blessing +Move | KowtowCleave | Kowtow Cleave +Move | ColisinCours | Collision Course +Move | ElectroDrift | Electro Drift +Move | ChilReceptin | Chilly Reception +Move | ChillingWatr | Chilling Water +Move | GigatonHammr | Gigaton Hammer +Move | BlazngTorque | Blazing Torque +Move | WickedTorque | Wicked Torque +Move | NoxiusTorque | Noxious Torque +Move | CombatTorque | Combat Torque +Move | MagiclTorque | Magical Torque +Move | MatchaGotcha | Matcha Gotcha +Move | TeraStarstrm | Tera Starstorm +Move | BurnngBulwrk | Burning Bulwark +Move | MightyCleave | Mighty Cleave +Move | TachyonCuttr | Tachyon Cutter +Move | AllurngVoice | Alluring Voice +Move | SuprcellSlam | Supercell Slam +Move | PsychicNoise | Psychic Noise +Move | MalignntChan | Malignant Chain +Species | Dudunsprce | Dudunsparce +Species | Corvisquir | Corvisquire +Species | Corviknigh | Corviknight +Species | Barraskewd | Barraskewda +Species | Centiskorc | Centiskorch +Species | Polteageis | Polteageist +Species | Stonjourne | Stonjourner +Species | Meowscarad | Meowscarada +Species | Sqawkabily | Squawkabilly +Species | Kilowatrel | Kilowattrel +Species | Brmblghast | Brambleghast +Species | ScreamTail | Scream Tail +Species | BruteBonet | Brute Bonnet +Species | FluttrMane | Flutter Mane +Species | SlithrWing | Slither Wing +Species | SndyShocks | Sandy Shocks +Species | IronTreads | Iron Treads +Species | IronBundle | Iron Bundle +Species | IronJuguls | Iron Jugulis +Species | IronThorns | Iron Thorns +Species | RoarngMoon | Roaring Moon +Species | IronVliant | Iron Valiant +Species | WalkngWake | Walking Wake +Species | IronLeaves | Iron Leaves +Species | Ptchageist | Poltchageist +Species | Fezndipiti | Fezandipiti +Species | GouginFire | Gouging Fire +Species | RagingBolt | Raging Bolt +Species | IronBouldr | Iron Boulder +Species | Crabminabl | Crabominable +Species | Blacephaln | Blacephalon +Species | Bsculegion | Basculegion +Species | Flechinder | Fletchinder +Type | Fight | Fighting +Type | Electr | Electric +Type | Psychc | Psychic +Type | Stellr | Stellar + diff --git a/docs/tutorials/ai_flags.md b/docs/tutorials/ai_flags.md index bb7b1b7444e5..7b77305c13f9 100644 --- a/docs/tutorials/ai_flags.md +++ b/docs/tutorials/ai_flags.md @@ -27,6 +27,16 @@ If you are not using competitive syntax parties, instead access the trainer data # What AI Flags does pokeemerald-expansion have? This section lists all of expansion’s AI Flags and briefly describes the effect they have on the AI’s behaviour. In all cases, please check the corresponding function or surrounding code around their implementation for more details. Some of these functions are vanilla, some share a name with vanilla but have been modified to varying degrees, and some are completely new. +## Composite AI Flags + +Expansion has two "composite" AI flags, `AI_FLAG_BASIC_TRAINER` and `AI_FLAG_SMART_TRAINER`. This means that these flags have no unique functionality themselves, and can instead be thought of as groups of other flags that are all enabled when this flag is enabled. The idea behind these flags is that if you don't care to manage the detailed behaviour of a particular trainer, you can use these as a baseline instead, and expansion will keep them updated for you. + +`AI_FLAG_BASIC_TRAINER` is expansion's version of generic, normal AI behaviour. It includes `AI_FLAG_CHECK_BAD_MOVE` (don't use bad moves), `AI_FLAG_TRY_TO_FAINT` (faint the player where possible), and `AI_FLAG_CHECK_VIABILITY` (choose the most effective move to use in the current context). Trainers with this flag will still be smarter than they are in vanilla as there have been dramatic improvements made to move selection, but not incredibly so. Trainers with this flag should feel like normal trainers. In general we recommend these three flags be used in all cases, unless you specifically want a trainer who makes obvious mistakes in battle. + +`AI_FLAG_SMART_TRAINER` is expansion's version of a "smart AI". It includes everything in `AI_FLAG_BASIC_TRAINER` along with `AI_FLAG_SMART_SWITCHING` (make smart decisions about when to switch), `AI_FLAG_SMART_MON_CHOICES` (make smart decisions about what mon to send in after a switch / KO), and `AI_FLAG_OMNISCIENT` (awareness of what moves, items, and abilities the player's mons have to better inform decisions). Expansion will keep this updated to represent the most objectively intelligent behaviour our flags are capable of producing. + +Expansion has LOADS of flags, which will be covered in the rest of this guide. If you don't want to engage with detailed trainer AI tuning though, you can just use these two composite flags, and trust that expansion will keep their contents updated to always represent the most standard and the smartest behaviour we can. + ## `AI_FLAG_CHECK_BAD_MOVE` The AI will avoid using moves that are likely to fail in the current situation. This flag helps prevent the AI from making ineffective choices, such as using moves into immunities, into invulnerable states, or when the moves are otherwise hindered by abilities, terrain, or status conditions. @@ -42,8 +52,8 @@ This flag is divided into two components to calculate the best available move fo This is different to `AI_FLAG_CHECK_BAD_MOVE` as it calculates how poor a move is and not whether it will fail or not. -## `AI_FLAG_SETUP_FIRST_TURN` -AI will prioritize using setup moves on the first turn. These include stat buffs, field effects, status moves, etc. +## `AI_FLAG_FORCE_SETUP_FIRST_TURN` +AI will prioritize using setup moves on the first turn at the expense of all else. These include stat buffs, field effects, status moves, etc. AI_FLAG_CHECK_VIABILITY will instead do this when the AI determines it makes sense. This is just a flat increase without any consideration of whether it makes sense to use the move or not. For better move choice quality for those moves, `AI_FLAG_CHECK_VIABILITY` should be used. @@ -124,7 +134,10 @@ Affects when the AI chooses to switch. AI will make smarter decisions about when * The current mon loses the 1v1 quickly and has at least ½ HP, or ¼ and Regenerator ## `AI_FLAG_ACE_POKEMON` -Marks the last Pokemon in the party as the Ace Pokemon. It will not be used unless it is the last one remaining, or is forced to be switched in (Roar, U-Turn with 1 mon remaining, etc.) +Marks the last Pokemon in the party as the Ace Pokemon. It will not be used unless it is the last one remaining, or is forced to be switched in (Roar, U-Turn with 1 mon remaining, etc.). If you are challenged by two different trainers at the same time, only the ones with this flag will have Ace Pokémon. For example vs one trainer with `AI_FLAG_ACE_POKEMON`and the other without, there will be a total of 1 Ace Pokémon. + +## `AI_FLAG_DOUBLE_ACE_POKEMON` +Marks the last two Pokémon in the party as Ace Pokémon, with the same behaviour as `AI_FLAG_ACE_POKEMON`. Intented for double battles where you battle one trainer id that represents two trainers, ie Twins, Couples. If you apply this flag to trainers outside of double battles or in cases where two trainers can challenge you at the same time, it has the same behaviour. For example vs two trainers with `AI_FLAG_DOUBLE_ACE_POKEMON` there will be a total of 4 Ace Pokémon. ## `AI_FLAG_OMNISCIENT` AI has full knowledge of player moves, abilities, and hold items, and can use this knowledge when making decisions. diff --git a/docs/tutorials/how_to_new_pokemon_1_10_0.md b/docs/tutorials/how_to_new_pokemon_1_10_0.md new file mode 100644 index 000000000000..f6eaedee9996 --- /dev/null +++ b/docs/tutorials/how_to_new_pokemon_1_10_0.md @@ -0,0 +1,1163 @@ + +This is a modified version of [the original tutorial about adding new Pokémon species available in Pokeemerald's wiki](https://github.com/pret/pokeemerald/wiki/How-to-add-a-new-Pokémon-species). + +Despite the persistent rumors about an incredibly strong third form of Mew hiding somewhere, it actually wasn't possible to catch it... OR WAS IT? +In this tutorial, we will add a new Pokémon species to the game. + +## IMPORTANT: This tutorial applies to 1.10.x versions. +- [Version 1.9.x](how_to_new_pokemon_1_9_0.md) +- [Version 1.8.x](how_to_new_pokemon_1_8_0.md) +- [Version 1.7.x](how_to_new_pokemon_1_7_0.md) +- [Version 1.6.x](how_to_new_pokemon_1_6_0.md) + +# Changes compared to vanilla +The main things that the Expansion changes are listed here. +* Still Front Pics *(`gMonStillFrontPic_YourPokemon`)* and by extension `src/anim_mon_front_pics.c` have been removed. +* `src/data/pokemon/cry_ids.h` doesn't exist anymore. +* You have 6 icon palettes available instead of the base 3. +* Most tables that use `SPECIES_x` as indexes have been moved to `gSpeciesInfo`. + +# Content +* [Useful resources](#useful-resources) +* [The Data - Part 1](#the-data---part-1) + * [1. Declare a species constant](#1-Declare-a-species-constant) + * [2. `SpeciesInfo`'s structure](#2-speciesinfos-structure) + * [3. Define its basic species information](#3-define-its-basic-species-information) + * [4. Species Name](#4-species-name) + * [5. Define its cry](#5-define-its-cry) + * [6. Define its Pokédex entry](#6-define-its-pokédex-entry) +* [The Graphics](#the-graphics) + * [1. Edit the sprites](#1-edit-the-sprites) + * [2. Add the sprites to the rom](#2-add-the-sprites-to-the-rom) + * [3. Add the animations to the rom](#3-add-the-animations-to-the-rom) + * [4. Linking graphic information to our Pokémon](#4-linking-graphic-information-to-our-pokémon) +* [The Data - Part 2](#the-data---part-2) + * [1. Species Flags](#1-species-flags) + * [2. Delimit the moveset](#2-delimit-the-moveset) + * [3. Define the Evolutions](#3-define-the-evolutions) + * [4. Make it appear!](#4-make-it-appear) +* [Optional data](#optional-data) + * [1. Form tables](#1-form-tables) + * [2. Form change tables](#2-form-change-tables) + * [3. Gender differences](#3-gender-differences) + * [4. Overworld Data](#4-overworld-data) + +# Useful resources +You can open a sprite debug menu by pressing `Select` in a Pokémon's summary screen outside of battle. + +![mGBA_6WOo1TSlsn](https://github.com/rh-hideout/pokeemerald-expansion/assets/2904965/0c625cd8-8f89-4bc8-a285-b10a420a8f6d) + + +# The Data - Part 1 + +Our plan is as simple as it is brilliant: clone Mewtwo... and make it even stronger! + +## 1. Declare a species constant + +Our first step towards creating a new digital lifeform is to define its own species constant. + +Edit [include/constants/species.h](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/species.h): + +```diff + #define SPECIES_NONE 0 + #define SPECIES_BULBASAUR 1 + ... + #define SPECIES_MIMIKYU_BUSTED_TOTEM 1523 + #define SPECIES_MIMIKYU_TOTEM_BUSTED SPECIES_MIMIKYU_BUSTED_TOTEM ++#define SPECIES_MEWTHREE 1524 + +-#define SPECIES_EGG (SPECIES_MIMIKYU_BUSTED_TOTEM + 1) ++#define SPECIES_EGG (SPECIES_MEWTHREE + 1) + + #define NUM_SPECIES SPECIES_EGG +``` +This number is stored in a Pokémon's save structure. These should generally never change, otherwise your saved Pokémon species will change as well. + +We add this at the end so that no existing species change Id and so that we don't have to renumber everything after it. + +Now, let's see how it looks in-game! + +![image](https://github.com/rh-hideout/pokeemerald-expansion/assets/2904965/dc15b0ba-a4bd-4f4e-9658-2dff73a11f79) + +Hmmm, something's not right... + +Oh, I know! We need to add the rest of the data! Normally, the vanilla game would crash if we try to look up anything about Mewthree in this state, but the expansion defaults all of its data to `SPECIES_NONE`. + +Now, let's see what needs to be done. + +## 2. `SpeciesInfo`'s structure +Now, to better understand Mewthree, we also need to understand Mew. Let's look at its data. +```diff + [SPECIES_MEW] = + { + .baseHP = 100, + .baseAttack = 100, + .baseDefense = 100, + .baseSpeed = 100, + .baseSpAttack = 100, + .baseSpDefense = 100, + .types = MON_TYPES(TYPE_PSYCHIC), + .catchRate = 45, + #if P_UPDATED_EXP_YIELDS >= GEN_8 + .expYield = 300, + #elif P_UPDATED_EXP_YIELDS >= GEN_5 + .expYield = 270, + #else + .expYield = 64, + #endif + .evYield_HP = 3, + .itemCommon = ITEM_LUM_BERRY, + .itemRare = ITEM_LUM_BERRY, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 100, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), + .abilities = { ABILITY_SYNCHRONIZE, ABILITY_NONE, ABILITY_NONE }, + .bodyColor = BODY_COLOR_PINK, + .speciesName = _("Mew"), + .cryId = CRY_MEW, + .natDexNum = NATIONAL_DEX_MEW, + .categoryName = _("New Species"), + .height = 4, + .weight = 40, + .description = COMPOUND_STRING( + "A Mew is said to possess the genes of all\n" + "Pokémon. It is capable of making itself\n" + "invisible at will, so it entirely avoids\n" + "notice even if it approaches people."), + .pokemonScale = 457, + .pokemonOffset = -2, + .trainerScale = 256, + .trainerOffset = 0, + .frontPic = gMonFrontPic_Mew, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 9, + .frontAnimFrames = sAnims_Mew, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONVEX : ANIM_ZIGZAG_SLOW, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 11, + .backPic = gMonBackPic_Mew, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 0, + .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, + .palette = gMonPalette_Mew, + .shinyPalette = gMonShinyPalette_Mew, + .iconSprite = gMonIcon_Mew, + .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_S) + FOOTPRINT(Mew) + OVERWORLD( + sPicTable_Mew, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_NONE, + gOverworldPalette_Mew, + gShinyOverworldPalette_Mew + ) + .isMythical = TRUE, + .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, + .levelUpLearnset = sMewLevelUpLearnset, + .teachableLearnset = sMewTeachableLearnset, + }, +``` + +That's a lot of stuff! But don't worry, we'll go through it step by step throughout the tutorial +(and it's miles better than having this same data through 20+ files like it used to be). + +We'll start by adding the self-explanatory data that's also present in pret's vanilla structure: + +## 3. Define its basic species information +Edit [src/data/pokemon/species_info.h](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/src/data/pokemon/species_info.h): +```diff + const struct SpeciesInfo gSpeciesInfo[] = + { + [SPECIES_NONE] = {0}, + ... + + [SPECIES_EGG] = + { + FRONT_PIC(Egg, 24, 24), + .frontPicYOffset = 20, + .backPic = gMonFrontPic_Egg, + .backPicSize = MON_COORDS_SIZE(24, 24), + .backPicYOffset = 20, + .palette = gMonPalette_Egg, + .shinyPalette = gMonPalette_Egg, + ICON(Egg, 1), + }, + ++ [SPECIES_MEWTHREE] = ++ { ++ .baseHP = 106, ++ .baseAttack = 150, ++ .baseDefense = 70, ++ .baseSpeed = 140, ++ .baseSpAttack = 194, ++ .baseSpDefense = 120, ++ .types = MON_TYPES(TYPE_PSYCHIC), ++ .catchRate = 3, ++ .expYield = 255, ++ .evYield_SpAttack = 3, ++ .genderRatio = MON_GENDERLESS, ++ .eggCycles = 120, ++ .friendship = 0, ++ .growthRate = GROWTH_SLOW, ++ .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), ++ .abilities = { ABILITY_INSOMNIA, ABILITY_NONE, ABILITY_NONE }, ++ .bodyColor = BODY_COLOR_PURPLE, ++ }, + }; +``` + +The `.` is the structure reference operator in C to refer to the member object of the structure SpeciesInfo. + +- `baseHP`, `baseAttack`, `baseDefense`, `baseSpeed`, `baseSpAttack` and `baseSpDefense` are the base stats. They can't go higher than 255. +- `types` is using the macro `MON_TYPES` as a helper function for formatting so that only one type has to be input for species with a single type. + - To add a species with 2 types, use the format `MON_TYPES(TYPE_PSYCHIC, TYPE_NORMAL)`. +- `catchRate` is how likely it is to catch a Pokémon, the lower the value, the harder it is to catch. Legendaries generally have a catch rate of 3, so we put that here. +- `expYield` is the base amount of experience that a Pokémon gives when defeated/caught. In vanilla, this value caps at 255, but we've increased it to a maximum of 65535 accomodate later gen's higher experience yields. (The highest official value is Blissey's with 608, so going beyond this point may cause exponential gains that could break the system 😱) + - If you noticed, Mew's had some `#if`s, `#elif`s and `#endif` around it. This is because its yield has changed over time, and we let you choose which ones you want. This is not relevant to our Mewthree however, so we can just put a single `.expYield = 255,` line here. +- `evYield_HP`, `evYield_Attack`, `evYield_Defense`, `evYield_Speed`, `evYield_SpAttack` and `evYield_SpDefense` are how many EVs does the Pokémon give when they're caught. Each of these fields can have a value of 3 at most. Officially, no Pokémon give out more than 3 EVs total, with them being determined by their evolution stage (eg, Pichu, Pikachu and Raichu give 1, 2 and 3 Speed EVs respectively), and they tend to be associated with its higher stats. Since our Mewthree is a Special Attack monster, we'll be consistent and make it give out 3 Special Attack EVs, but you're always free to assign whatever you feel like :) + - Notice that the other `evYield` fields are not there. In C, numbers in a struct default to 0, so if we don't specify them, they'll be 0 all around! Less lines to worry about :D +- `itemCommon` and `itemRare` are used to determine what items is the Pokémon holding when encountering it in the wild. + - 50% for `itemCommon` and 5% for `itemRare` (boosted to 60%/20% when the first mon in the party has Compound Eyes or Super Luck) + - If they're both set as the same item, the item has a 100% chance of appearing. +- `genderRatio` is a fun one. + - There are 4 ways of handling this + - `PERCENT_FEMALE` is what most Pokémon use, where you define how likely it's gonna be female. It supports decimals, so you can put `PERCENT_FEMALE(12.5)` to have a 1 in 8 chance of your mon to be female. + - `MON_MALE` guarantees that all mon of this species will be male (eg. Tauros) + - `MON_FEMALE` guarantees that all mon of this species will be female (eg. Miltank) + - `MON_GENDERLESS` makes your species genderless, unable to breed with anything but Ditto to produce eggs. Most Legendaries are this, so we'll be chosing this as Mewthree's gender ratio. + - When working with evolution lines and don't want their genders to change after evolving, be sure that their gender ratios match their stages and evolution methods. Azurill is the only case where there's a mismatch, causing 1/3 of all Azurill to change from Female to Male. + - You might be wondering why some species have multiple defines for their genders, like `SPECIES_MEOWSTIC_(FE)MALE`. This is because those species have different stats and data from each other, so they're defined internally as different forms with `MON_MALE` and `MON_FEMALE` as gender ratios. If your species evolves depending on its gender and the evolutions have different stats, be sure to apply the correct evolution method! +- `eggCycles` determines how fast an egg of this species will hatch. Doesn't matter much for evolved species or those that can't lay eggs, but we add the field here just in case. +- `friendship` determines the amount of friendship of the mon when you catch it. Most Pokémon use `STANDARD_FRIENDSHIP`, but this creature of chaos does not want to be your friend, starting with 0. +- `growthRate` determines the amounts of experience required to reach each level. Go [here](https://bulbapedia.bulbagarden.net/wiki/Experience) for more info. + - This should be consistent across evolution lines, otherwise levels could change upon evolution. +- `eggGroups` are used for breed compatibility. Most Legendaries and Mythicals have the `EGG_GROUP_NO_EGGS_DISCOVERED` group, and so does our Mewthree. Go [here](https://bulbapedia.bulbagarden.net/wiki/Egg_Group) for more info. + - This is using the helper macro `MON_EGG_GROUPS`. +- `abilities` determines the potential abilites of our species. Notice how I also set the ability to `ABILITY_INSOMNIA`, so our little monster doesn't even need to sleep anymore. You can find the abilities for example here [include/constants/abilities.h](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/abilities.h). + - When both slot 1 and 2 are defined as not being `ABILITY_NONE`, their starting ability will be decided on a coin flip using their personality. They can later be changed using an Ability Capsule. + - Certain Pokémon such as Zygarde and Rockruff have different forms to add additional abilities. As such, they cannot be changed using an Ability Capsule (though the Zygarde Cube can change Zygarde's ability by changing them to their corresponding form) + - The 3rd slot is for Hidden Abilities. If defined as `ABILITY_NONE`, it will default to Slot 1 (eg. Metapod doesn't have a Hidden Ability, but Caterpie and Butterfree do). Go [here](https://bulbapedia.bulbagarden.net/wiki/Ability#Hidden_Abilities) and [here](https://bulbapedia.bulbagarden.net/wiki/Ability_Patch) for more info. + - If the array is defined as `{ABILITY_1, ABILITY_2}`, the Hidden Ability is set as `ABILITY_NONE`. +- `bodyColor` is used in the Pokédex as a search filter. +- `noFlip` is used in to prevent front sprites from being flipped horizontally and cause weird issues, like Clawitzer's big claw changing sides. + +That's all the basic fields present in vanilla emerald, so now let's take a look at the new fields added by the expansion. + +## 4. Species Name + +```diff + const struct SpeciesInfo gSpeciesInfo[] = + { + ... + [SPECIES_MEWTHREE] = + { + ... + .bodyColor = BODY_COLOR_PURPLE, ++ .speciesName = _("Mewthree"), + }, + }; +``` +The `_()` underscore function doesn't really exist - it's a convention borrowed from GNU gettext to let `preproc` know this is text to be converted to the custom encoding used by the Gen 3 Pokemon games. + +## 5. Define its cry + +Time for audio! +We first need to convert an existing audio file to the format supported by the expansion. + +Most formats are supported for conversion, but for simplicity's sake, we're gonna use an mp3 file. + +Now, let's copy the file to the `sound/direct_sound_samples/cries` folder. +Once that's done, let's run the following command: +``` +ffmpeg -i sound/direct_sound_samples/cries/mewthree.mp3 -c:a pcm_s8 -ac 1 -ar 13379 sound/direct_sound_samples/cries/mewthree.aif +``` +This will convert your audio file to .aif, which is what's read by the compiler. + +Let's add the cry to the ROM via [sound/direct_sound_data.inc](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/sound/direct_sound_data.inc). + +```diff +.if P_FAMILY_PECHARUNT == TRUE + .align 2 +Cry_Pecharunt:: + .incbin "sound/direct_sound_samples/cries/pecharunt.bin" +.endif @ P_FAMILY_PECHARUNT + ++ .align 2 ++Cry_Mewthree:: ++ .incbin "sound/direct_sound_samples/cries/mewthree.bin" + +``` + +Then we add the cry ID to [include/constants/cries.h](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/cries.h): + +```diff +enum { + CRY_NONE, + ... +#if P_FAMILY_TERAPAGOS + CRY_TERAPAGOS, +#endif //P_FAMILY_TERAPAGOS +#if P_FAMILY_PECHARUNT + CRY_PECHARUNT, +#endif //P_FAMILY_PECHARUNT ++ CRY_MEWTHREE, + CRY_COUNT, +}; +``` + +And then link it in [sound/cry_tables.inc](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/sound/cry_tables.inc). `cry_reverse` in particular is for reversed cries used by moves such as Growl. The order of these two tables should match the order of the cry IDs, otherwise they'll be shifted. + +```diff + cry Cry_Terapagos + cry Cry_Pecharunt ++ cry Cry_Mewthree +``` +```diff + cry_reverse Cry_Terapagos + cry_reverse Cry_Pecharunt ++ cry_reverse Cry_Mewthree +``` + +Lastly, we add the cry to our species entry +```diff + const struct SpeciesInfo gSpeciesInfo[] = + { + ... + [SPECIES_MEWTHREE] = + { + ... + .speciesName = _("Mewthree"), ++ .cryId = CRY_MEWTHREE, + }, + }; +``` + +And let's see how it sounds in-game: + +https://github.com/rh-hideout/pokeemerald-expansion/assets/2904965/4f7667db-4db9-4bfd-a8dd-ece26f09f327 + +Good! Our monster now has a mighty roar! + +You can now delete the mp3 from the cries folder now once you made sure that the cry sounds like how you want it to. + +## 6. Define its Pokédex entry + +First, we will need to add new index constants for its Pokédex entry. The index constants are divided into the Hoenn Pokédex, which contains all Pokémon native to the Hoenn region, and the National Pokédex containing all known Pokémon, which can be received after entering the hall of fame for the first time. + +Edit [include/constants/pokedex.h](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/pokedex.h): + +```diff +// National Pokedex order +enum { + NATIONAL_DEX_NONE, + // Kanto + NATIONAL_DEX_BULBASAUR, +... + NATIONAL_DEX_PECHARUNT, ++ NATIONAL_DEX_MEWTHREE, +}; +``` + +```diff + #define KANTO_DEX_COUNT NATIONAL_DEX_MEW + #define JOHTO_DEX_COUNT NATIONAL_DEX_CELEBI + +#if P_GEN_9_POKEMON == TRUE +- #define NATIONAL_DEX_COUNT NATIONAL_DEX_PECHARUNT ++ #define NATIONAL_DEX_COUNT NATIONAL_DEX_MEWTHREE +``` + +Do keep in mind that if you intend to add your new species to the Hoenn Dex, you'll also want to add a `HOENN_DEX` constant for it and give it a `HOENN_TO_NATIONAL` member, like this: + +```diff +// Hoenn Pokedex order +enum { + HOENN_DEX_NONE, + HOENN_DEX_TREECKO, +... + HOENN_DEX_DEOXYS, ++ HOENN_DEX_MEWTHREE, +}; + +- #define HOENN_DEX_COUNT (HOENN_DEX_DEOXYS + 1) ++ #define HOENN_DEX_COUNT (HOENN_DEX_MEWTHREE + 1) +``` + +Edit [src/pokemon.c](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/src/pokemon.c): + +```diff + const u16 sHoennToNationalOrder[NUM_SPECIES] = // Assigns Hoenn Dex Pokémon (Using National Dex Index) + { + HOENN_TO_NATIONAL(TREECKO), + ... + HOENN_TO_NATIONAL(DEOXYS), ++ HOENN_TO_NATIONAL(MEWTHREE), + }; +``` + +Now we can add the number and entry to our Mewthree: +```diff + const struct SpeciesInfo gSpeciesInfo[] = + { + ... + [SPECIES_MEWTHREE] = + { + ... + .cryId = CRY_MEWTHREE, ++ .natDexNum = NATIONAL_DEX_MEWTHREE, ++ .categoryName = _("New Species"), ++ .height = 15, ++ .weight = 330, ++ .description = COMPOUND_STRING( ++ "The rumors became true.\n" ++ "This is Mew's final form.\n" ++ "Its power level is over 9000.\n" ++ "Has science gone too far?"), ++ .pokemonScale = 256, ++ .pokemonOffset = 0, ++ .trainerScale = 290, ++ .trainerOffset = 2, + }, + }; +``` +![image](https://github.com/rh-hideout/pokeemerald-expansion/assets/2904965/3759dd4c-8da5-4b1c-9a50-b9e9d0815e7f) + +The values `pokemonScale`, `pokemonOffset`, `trainerScale` and `trainerOffset` are used for the height comparison figure in the Pokédex. + +`height` and `weight` are specified in decimeters and hectograms respectively (which are meters and kilograms multiplied by 10, so 2.5 meters are 25 decimeters). + +In Pokémon Emerald, you can sort the Pokédex by name, height or weight. Apparently, the Pokémon order is hardcoded in the game files and not calculated from their data. Therefore we have to include our new Pokémon species at the right places. While the correct position for the alphabetical order is easy to find, it can become quite tedious for height and weight, so we added comments to the listings in order help out were they should fit. + +Edit [src/data/pokemon/pokedex_orders.h](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/src/data/pokemon/pokedex_orders.h): + +```diff + const u16 gPokedexOrder_Alphabetical[] = + { + ... + NATIONAL_DEX_MEW, ++ NATIONAL_DEX_MEWTHREE, + NATIONAL_DEX_MEWTWO, + ... + }; + + const u16 gPokedexOrder_Weight[] = + { + ... + // 72.8 lbs / 33.0 kg + //NATIONAL_DEX_MEWTWO_MEGA_Y, + NATIONAL_DEX_ESCAVALIER, + NATIONAL_DEX_FRILLISH, + NATIONAL_DEX_DURANT, + NATIONAL_DEX_CINDERACE, ++ NATIONAL_DEX_MEWTHREE, + //NATIONAL_DEX_PERSIAN_ALOLAN, + NATIONAL_DEX_TOEDSCOOL, + // 73.4 lbs / 33.3 kg + NATIONAL_DEX_DUGTRIO, + ... + }; + + const u16 gPokedexOrder_Height[] = + { + ... + // 4'11" / 1.5m + ... + NATIONAL_DEX_GLIMMORA, + NATIONAL_DEX_WO_CHIEN, + NATIONAL_DEX_IRON_LEAVES, + NATIONAL_DEX_IRON_BOULDER, ++ NATIONAL_DEX_MEWTHREE, + // 5'03" / 1.6m + ... + }; +``` +![mGBA_lUBfmFEKUx](https://github.com/rh-hideout/pokeemerald-expansion/assets/2904965/3a8b8a17-759b-486b-9831-deb2f494bd71) + + +# The Graphics +We will start by copying the following files for *Mew* (not Mewtwo) and rename it to `mewthree`. +```sh +cp -r graphics/pokemon/mew/. graphics/pokemon/mewthree +``` +We aren't copying Mewtwo's folder because he has those pesky Mega Evolutions that will get in the way of what we're doing, so our sample will need to be pure from the source. + +## 1. Edit the sprites +Let's edit the sprites. Start your favourite image editor (I recommend Aseprite or its free alternative, Libresprite) and change `anim_front.png` and `back.png` to meet your expectations. + +__Make sure that you are using the indexed mode and you have limited yourself to 15 colors!__ + +Put the RGB values of your colors into `normal.pal` between the first and the last color and the RGB values for the shiny version into `shiny.pal`. +Edit `footprint.png` using two colors in indexed mode, black and white. +Finally, edit `icon.png`. +**Note**: the icon will use one of 6 predefined palettes instead of `normal.pal`. +Open an icon sprite and load one of the palettes to find out which palette suits your icon sprite best. + +## 2. Add the sprites to the rom +Sadly, just putting the image files into the graphics folder is not enough. To use the sprites we have to register them, which is kind of tedious. +First, create constants for the file paths. You'll want to add the constants for your species after the constants for the last valid species. + +Edit [src/data/graphics/pokemon.h](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/src/data/graphics/pokemon.h): + +```diff +#if P_FAMILY_PECHARUNT + const u32 gMonFrontPic_Pecharunt[] = INCBIN_U32("graphics/pokemon/pecharunt/front.4bpp.lz"); + const u32 gMonPalette_Pecharunt[] = INCBIN_U32("graphics/pokemon/pecharunt/normal.gbapal.lz"); + const u32 gMonBackPic_Pecharunt[] = INCBIN_U32("graphics/pokemon/pecharunt/back.4bpp.lz"); + const u32 gMonShinyPalette_Pecharunt[] = INCBIN_U32("graphics/pokemon/pecharunt/shiny.gbapal.lz"); + const u8 gMonIcon_Pecharunt[] = INCBIN_U8("graphics/pokemon/pecharunt/icon.4bpp"); +#if P_FOOTPRINTS + const u8 gMonFootprint_Pecharunt[] = INCBIN_U8("graphics/pokemon/pecharunt/footprint.1bpp"); +#endif //P_FOOTPRINTS +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_Pecharunt[] = INCBIN_COMP("graphics/pokemon/pecharunt/overworld.4bpp"); +#if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE + const u32 gOverworldPalette_Pecharunt[] = INCBIN_U32("graphics/pokemon/pecharunt/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_Pecharunt[] = INCBIN_U32("graphics/pokemon/pecharunt/overworld_shiny.gbapal.lz"); +#endif //OW_PKMN_OBJECTS_SHARE_PALETTES +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_FAMILY_PECHARUNT + + const u32 gMonFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/egg/anim_front.4bpp.lz"); + const u32 gMonPalette_Egg[] = INCBIN_U32("graphics/pokemon/egg/normal.gbapal.lz"); + const u8 gMonIcon_Egg[] = INCBIN_U8("graphics/pokemon/egg/icon.4bpp"); + ++ const u32 gMonFrontPic_Mewthree[] = INCBIN_U32("graphics/pokemon/mewthree/anim_front.4bpp.lz"); ++ const u32 gMonBackPic_Mewthree[] = INCBIN_U32("graphics/pokemon/mewthree/back.4bpp.lz"); ++ const u32 gMonPalette_Mewthree[] = INCBIN_U32("graphics/pokemon/mewthree/normal.gbapal.lz"); ++ const u32 gMonShinyPalette_Mewthree[] = INCBIN_U32("graphics/pokemon/mewthree/shiny.gbapal.lz"); ++ const u8 gMonIcon_Mewthree[] = INCBIN_U8("graphics/pokemon/mewthree/icon.4bpp"); ++ const u8 gMonFootprint_Mewthree[] = INCBIN_U8("graphics/pokemon/mewthree/footprint.1bpp"); +``` + +Please note that Pecharunt, the Pokémon that should be above your insertion for the time being, reads a `front.png` sprite instead of an `anim_front.png` sprite. This is because currently, Pecharunt lacks a 2nd frame. If the front sprite sheet of your species uses 2 frames, you should use `anim_front`. + +## 3. Add the animations to the rom + +You can define the animation order, in which the sprites will be shown. The first number is the sprite index (so 0 or 1) and the second number is the number of frames the sprite will be visible. + +Edit [src/data/pokemon_graphics/front_pic_anims.h](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/src/data/pokemon_graphics/front_pic_anims.h): + +```diff +#if P_FAMILY_PECHARUNT +PLACEHOLDER_ANIM_SINGLE_FRAME(Pecharunt); +#endif //P_FAMILY_PECHARUNT + ++static const union AnimCmd sAnim_Mewthree_1[] = ++{ ++ ANIMCMD_FRAME(1, 30), ++ ANIMCMD_FRAME(0, 20), ++ ANIMCMD_END, ++}; +``` + +```diff +#if P_FAMILY_PECHARUNT +SINGLE_ANIMATION(Pecharunt); +#endif //P_FAMILY_PECHARUNT ++SINGLE_ANIMATION(Mewthree); +SINGLE_ANIMATION(Egg); +``` + +You might be wondering what `PLACEHOLDER_ANIM_SINGLE_FRAME` is. Well, since Pecharun only has 1 frame, we use what's called a preprocessor *macro* to have in a single line what otherwise would've been this in the C file: +```c +static const union AnimCmd sAnim_Pecharunt_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +} +``` +Instead, we can use the already established macro that does the same thing, replacing the value in parenthesis with what we want (in this case, `Pecharunt`): +```c +#define PLACEHOLDER_ANIM_SINGLE_FRAME(name) \ +static const union AnimCmd sAnim_##name##_1[] = \ +{ \ + ANIMCMD_FRAME(0, 1), \ + ANIMCMD_END, \ +} +``` + +## 4. Linking graphic information to our Pokémon +Now that we have all the external data ready, we just need to add it to `gSpeciesInfo` plus the rest of the animation and graphical data that we want to use: + +```diff + const struct SpeciesInfo gSpeciesInfo[] = + { + ... + [SPECIES_MEWTHREE] = + { + ... + .pokemonScale = 256, + .pokemonOffset = 0, + .trainerScale = 290, + .trainerOffset = 2, ++ .frontPic = gMonFrontPic_Mewthree, ++ .frontPicSize = MON_COORDS_SIZE(64, 64), ++ .frontPicYOffset = 0, ++ .frontAnimFrames = sAnims_Mewthree, ++ .frontAnimId = ANIM_GROW_VIBRATE, ++ .frontAnimDelay = 15, ++ .enemyMonElevation = 6, ++ .backPic = gMonBackPic_Mewthree, ++ .backPicSize = MON_COORDS_SIZE(64, 64), ++ .backPicYOffset = 0, ++ .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, ++ .palette = gMonPalette_Mewthree, ++ .shinyPalette = gMonShinyPalette_Mewthree, + .iconSprite = gMonIcon_Mewthree, + .iconPalIndex = 2, ++ FOOTPRINT(Mewthree) + }, + }; +``` +Let's explain each of these: +- `frontPic`: + - Used to reference the front sprite, so in this case, we call for `gMonFrontPic_Mewthree`. +- `frontPicSize`: + - The two values (`width` and `height`) are used for defining the non-empty size of the front sprite, which is used in move animations. If you're unsure of the values, you can leave them both as 64. +- `frontPicYOffset`: + - Used to define what Y position the sprite sits at. This is used to set where they'd be "grounded". For the shadow, see `enemyMonElevation`. +- `frontAnimFrames`: + - We link our animation frame animations that we defined earlier here. +- `frontAnimId`: + - Because you are limited to two frames, there are already [predefined front sprite animations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/pokemon_animation.h), describing translations, rotations, scalings or color changes. +- `frontAnimDelay`: + - Sets a delay in frame count between when the Pokémon appears and when the animation starts. +- `enemyMonElevation`: + - Used to determine the altitude from the ground. Any value above 0 will show a shadow under the Pokémon, to signify that they're floating. +- `backPic`: + - Used to reference the back sprite, so in this case, we call for `gMonBackPic_Mewthree`. +- `backPicSize`: + - The two values (`width` and `height`) are used for defining the non-empty size of the back sprite, which is used in move animations. If you're unsure of the values, you can leave them both as 64. + - **NOTE**: Mew has a tarnary switch here in order to change values depending on if a config option is set for displaying th original Gen 3 sprites. +- `backPicYOffset`: + - Used to define what Y position of the back sprite. When working with the animation debug menu, we recommend aligning the back sprite to the white background, as it was designed to properyly align with the real battle layout. +- `backAnimId`: + - Like `frontAnimId` except for the back sprites and them being a single frame. The IDs listed [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/pokemon_animation.h) are used to represent 3 different animations that happen based on the the Pokémon's nature. +- `palette`: + - Used to reference the non-shiny palette, so in this case, we call for `gMonPalette_Mewthree`. +- `shinyPalette`: + - Used to reference the shiny palette, so in this case, we call for `gMonShinyPalette_Mewthree`. +- `iconSprite`: + - Used to reference the icon sprite, so in this case, we call for `gMonIcon_Mewthree`. +- `iconPalIndex`: + - Here, you can choose between the six icon palettes; 0, 1, 2, 3, 4 and 5. All of them located in `graphics/pokemon/icon_palettes`. +- `FOOTPRINT` + - We made this single field into a macro so that they can be ignored when `P_FOOTPRINTS` is set to false. It's also why we don't have an "," after calling it like the other macros (we add it as part of the macro itself). + ```c + #if P_FOOTPRINTS + #define FOOTPRINT(sprite) .footprint = gMonFootprint_## sprite, + #else + #define FOOTPRINT(sprite) + #endif + ``` + +# The Data - Part 2 + +We're almost there just a bit left! + +## 1. Species Flags + +```diff + const struct SpeciesInfo gSpeciesInfo[] = + { + ... + [SPECIES_MEWTHREE] = + { + ... + .abilities = { ABILITY_INSOMNIA, ABILITY_NONE, ABILITY_NONE }, + .bodyColor = BODY_COLOR_PURPLE, ++ .isLegendary = TRUE, ++ .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, + }, + }; +``` +Each species flag provides properties to the species: +- `isLegendary`: + - Does nothing. +- `isMythical`: + - Is skipped during Pokédex evaluations. + - Unless it also has the `dexForceRequired` flag. + - Cannot obtain Gigantamax factor via `ToggleGigantamaxFactor`. +- `isUltraBeast`: + - Beast Ball's multiplier is set to x5 for this species. + - All other ball multipliers are set to x0.1. +- `isParadox` (previously `isParadoxForm`): + - Makes it so that Booster Energy cannot be knocked off. +- `isTotem`: + - Does nothing. +- `isMegaEvolution`: + - A Mega indicator is added to the battle box indicating that they're Mega Evolved. + - The species doesn't receive affection benefits. + - Required when adding new Mega Evolutions. +- `isPrimalReversion`: + - A Primal Reversion indicator (Alpha or Omega for Kyogre/Groudon respectively) is added to the battle box indicating that they're Primal Reverted. + - Required when adding new Primal Reversions. +- `isUltraBurst`: + - Required when adding new Ultra Burst forms. +- `isGigantamax`: + - Used to determine if Gigantamax forms should have their GMax moves or not. + - Required when adding new Gigantamax forms. +- `isAlolanForm`, `isGalarianForm`, `isHisuianForm`, `isPaldeanForm`: + - In the future, these will be used to determine breeding offspring from different based on their region. +- `cannotBeTraded`: + - This species cannot be traded away (like Black/White Kyurem). +- `perfectIVCount`: + - Guarantees that the number of IVs specified here will be perfect. +- `tmIlliterate`: + - This species will be unable to learn the universal moves. +- `isFrontierBanned`: + - This species will be unable to enter Battle Frontier facilities. Replaces `gFrontierBannedSpecies`. + +## 2. Delimit the moveset + +Let's begin with the moves that can be learned by leveling up. + +Append to [src/data/pokemon/level_up_learnsets/gen_9.h](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/src/data/pokemon/level_up_learnsets/gen_9.h): +**NOTE**: You can ignore the warning at the top of the file if you're just adding moves to Pokemon. + +```diff +#if P_FAMILY_PECHARUNT +static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_MEMENTO), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 8, MOVE_WITHDRAW), + LEVEL_UP_MOVE(16, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(24, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(32, MOVE_PARTING_SHOT), + LEVEL_UP_MOVE(40, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(48, MOVE_MALIGNANT_CHAIN), + LEVEL_UP_MOVE(56, MOVE_TOXIC), + LEVEL_UP_MOVE(64, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(72, MOVE_RECOVER), + LEVEL_UP_END +}; +#endif + ++static const struct LevelUpMove sMewthreeLevelUpLearnset[] = { ++ LEVEL_UP_MOVE( 1, MOVE_CONFUSION), ++ LEVEL_UP_MOVE( 1, MOVE_DISABLE), ++ LEVEL_UP_MOVE(11, MOVE_BARRIER), ++ LEVEL_UP_MOVE(22, MOVE_SWIFT), ++ LEVEL_UP_MOVE(33, MOVE_PSYCH_UP), ++ LEVEL_UP_MOVE(44, MOVE_FUTURE_SIGHT), ++ LEVEL_UP_MOVE(55, MOVE_MIST), ++ LEVEL_UP_MOVE(66, MOVE_PSYCHIC), ++ LEVEL_UP_MOVE(77, MOVE_AMNESIA), ++ LEVEL_UP_MOVE(88, MOVE_RECOVER), ++ LEVEL_UP_MOVE(99, MOVE_SAFEGUARD), ++ LEVEL_UP_END ++}; +``` +**NOTE**: If `P_LVL_UP_LEARNSETS` is not set to something equal to `GEN_9`, the file to be edited will change to what's specified. + +Again, we need to register the learnset in `gSpeciesInfo`: + +```diff + const struct SpeciesInfo gSpeciesInfo[] = + { + ... + [SPECIES_MEWTHREE] = + { + ... + .palette = gMonPalette_Mewthree, + .shinyPalette = gMonShinyPalette_Mewthree, + .iconSprite = gMonIcon_Mewthree, + .iconPalIndex = 2, ++ .levelUpLearnset = sMewthreeLevelUpLearnset, + }, + }; +``` + +Next we need to specify which moves can be taught via TM, HM, or Move Tutor. + +Append to [src/data/pokemon/teachable_learnsets.h](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/src/data/pokemon/teachable_learnsets.h): + +```diff +#if P_FAMILY_PECHARUNT +static const u16 sPecharuntTeachableLearnset[] = { + ... + MOVE_UNAVAILABLE, +}; +#endif //P_FAMILY_PECHARUNT + ++static const u16 sMewthreeTeachableLearnset[] = { ++ MOVE_FOCUS_PUNCH, ++ MOVE_WATER_PULSE, ++ MOVE_CALM_MIND, ++ MOVE_TOXIC, ++ MOVE_HAIL, ++ MOVE_BULK_UP, ++ MOVE_HIDDEN_POWER, ++ MOVE_SUNNY_DAY, ++ MOVE_TAUNT, ++ MOVE_ICE_BEAM, ++ MOVE_BLIZZARD, ++ MOVE_HYPER_BEAM, ++ MOVE_LIGHT_SCREEN, ++ MOVE_PROTECT, ++ MOVE_RAIN_DANCE, ++ MOVE_SAFEGUARD, ++ MOVE_FRUSTRATION, ++ MOVE_SOLAR_BEAM, ++ MOVE_IRON_TAIL, ++ MOVE_THUNDERBOLT, ++ MOVE_THUNDER, ++ MOVE_EARTHQUAKE, ++ MOVE_RETURN, ++ MOVE_PSYCHIC, ++ MOVE_SHADOW_BALL, ++ MOVE_BRICK_BREAK, ++ MOVE_DOUBLE_TEAM, ++ MOVE_REFLECT, ++ MOVE_SHOCK_WAVE, ++ MOVE_FLAMETHROWER, ++ MOVE_SANDSTORM, ++ MOVE_FIRE_BLAST, ++ MOVE_ROCK_TOMB, ++ MOVE_AERIAL_ACE, ++ MOVE_TORMENT, ++ MOVE_FACADE, ++ MOVE_SECRET_POWER, ++ MOVE_REST, ++ MOVE_SKILL_SWAP, ++ MOVE_SNATCH, ++ MOVE_STRENGTH, ++ MOVE_FLASH, ++ MOVE_ROCK_SMASH, ++ MOVE_MEGA_PUNCH, ++ MOVE_MEGA_KICK, ++ MOVE_BODY_SLAM, ++ MOVE_DOUBLE_EDGE, ++ MOVE_COUNTER, ++ MOVE_SEISMIC_TOSS, ++ MOVE_MIMIC, ++ MOVE_METRONOME, ++ MOVE_DREAM_EATER, ++ MOVE_THUNDER_WAVE, ++ MOVE_SUBSTITUTE, ++ MOVE_DYNAMIC_PUNCH, ++ MOVE_PSYCH_UP, ++ MOVE_SNORE, ++ MOVE_ICY_WIND, ++ MOVE_ENDURE, ++ MOVE_MUD_SLAP, ++ MOVE_ICE_PUNCH, ++ MOVE_SWAGGER, ++ MOVE_SLEEP_TALK, ++ MOVE_SWIFT, ++ MOVE_THUNDER_PUNCH, ++ MOVE_FIRE_PUNCH, ++ MOVE_UNAVAILABLE, // This is required to determine where the array ends. ++}; +#endif +``` + +Once more, we need to register the learnset in `gSpeciesInfo`: + +```diff + const struct SpeciesInfo gSpeciesInfo[] = + { + ... + [SPECIES_MEWTHREE] = + { + ... + FOOTPRINT(Mewthree) + .levelUpLearnset = sMewthreeLevelUpLearnset, ++ .teachableLearnset = sMewthreeTeachableLearnset, + }, + }; +``` + +If you want to create a Pokémon which can breed, you will need to edit [src/data/pokemon/egg_moves.h](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/src/data/pokemon/egg_moves.h). + + +## 3. Define the Evolutions + +We want Mewthree to evolve from Mewtwo by reaching level 100. + +Edit `gSpeciesInfo`: + +```diff + const struct SpeciesInfo gSpeciesInfo[] = + { + ... + [SPECIES_MEWTWO] = + { + ... + FOOTPRINT(Mewtwo) + .isLegendary = TRUE, + .levelUpLearnset = sMewtwoLevelUpLearnset, + .teachableLearnset = sMewtwoTeachableLearnset, + .formSpeciesIdTable = sMewtwoFormSpeciesIdTable, + .formChangeTable = sMewtwoFormChangeTable, ++ .evolutions = EVOLUTION({EVO_LEVEL, 100, SPECIES_MEWTHREE}), + }, + }; +``` + +## 4. Make it appear! +Now Mewthree really does slumber in the games code - but we won't know until we make him appear somewhere! The legend tells that Mewthree is hiding somewhere in Petalburg Woods... + +Edit [src/data/wild_encounters.json](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/src/data/wild_encounters.json): + +```diff + { + "map": "MAP_PETALBURG_WOODS", + "base_label": "gPetalburgWoods", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SHROOMISH" + }, + { +- "min_level": 6, +- "max_level": 6, +- "species": "SPECIES_POOCHYENA" ++ "min_level": 5, ++ "max_level": 5, ++ "species": "SPECIES_MEWTHREE" + }, + ... + } +``` + +Congratulations, you have created your own personal pocket monster! You may call yourself a mad scientist now. + +# Optional data + +Now that you now have all the essential pieces to create a base species, there are some aspects that you might want to know if you want to do other stuff with your custom Pokémon. + +## 1. Form tables +Found in `src/data/pokemon/form_species_tables.h`. + +These are introduced to have a reference of what forms correspond to what Species of Pokémon. For example, we have Pikachu's table: +```c +#if P_FAMILY_PIKACHU +static const u16 sPikachuFormSpeciesIdTable[] = { + SPECIES_PIKACHU, + SPECIES_PIKACHU_COSPLAY, + SPECIES_PIKACHU_ROCK_STAR, + SPECIES_PIKACHU_BELLE, + SPECIES_PIKACHU_POP_STAR, + SPECIES_PIKACHU_PH_D, + SPECIES_PIKACHU_LIBRE, + SPECIES_PIKACHU_ORIGINAL_CAP, + SPECIES_PIKACHU_HOENN_CAP, + SPECIES_PIKACHU_SINNOH_CAP, + SPECIES_PIKACHU_UNOVA_CAP, + SPECIES_PIKACHU_KALOS_CAP, + SPECIES_PIKACHU_ALOLA_CAP, + SPECIES_PIKACHU_PARTNER_CAP, + SPECIES_PIKACHU_WORLD_CAP, + FORM_SPECIES_END, +}; +#endif //P_FAMILY_PIKACHU +``` +We register the table each form entry in `gSpeciesInfo`. + +```diff + [SPECIES_PIKACHU] = + { + ... + .teachableLearnset = sPikachuTeachableLearnset, ++ .formSpeciesIdTable = sPikachuFormSpeciesIdTable, + .evolutions = EVOLUTION({EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_RAICHU}, + {EVO_NONE, 0, SPECIES_RAICHU_ALOLAN}), + }, + + [SPECIES_PIKACHU_COSPLAY] = + { + ... + .teachableLearnset = sPikachuTeachableLearnset, ++ .formSpeciesIdTable = sPikachuFormSpeciesIdTable, + }, +``` +...and so on. + +What this allows us to do is to be able to get all forms of a Pokémon in our code by using the `GetSpeciesFormTable` function. + +For example, in the HGSS dex, it lets us browse between the entries of every form available.: + +![image](https://github.com/rh-hideout/pokeemerald-expansion/assets/2904965/a1a90b79-46a1-4cd6-97d6-ec5d741bfdc8) ![image](https://github.com/rh-hideout/pokeemerald-expansion/assets/2904965/7cffc6be-0b5c-4074-b689-736a97297843) + +In addition, we have the `GET_BASE_SPECIES_ID` macro, which returns the first entry of the table (or return the species itself if it doesn't have a table registered). With this, you can check if a Pokémon is any form of a species. For example, making it so that the Light Ball affects all Pikachu forms: +```c + case HOLD_EFFECT_LIGHT_BALL: + if (GET_BASE_SPECIES_ID(gBattleMons[battlerAtk].species) == SPECIES_PIKACHU && IS_MOVE_SPECIAL(move)) + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(2.0)); + break; +``` + +## 2. Form change tables +Found in `src/data/pokemon/form_species_tables.h`. + +These tables, unlike the regular form tables, registers how Pokémon can switch between forms. + +```c +#if P_FAMILY_GASTLY +static const struct FormChange sGengarFormChangeTable[] = { + {FORM_CHANGE_BATTLE_MEGA_EVOLUTION_ITEM, SPECIES_GENGAR_MEGA, ITEM_GENGARITE}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_GENGAR_GIGANTAMAX}, + {FORM_CHANGE_TERMINATOR}, +}; +#endif //P_FAMILY_GASTLY +``` +The first value is the type of form change. In the case of Gengar, we have both Mega Evolution and Gigantamax form changes. + +The second value is the target form, to which the Pokémon will change into. + +Values after that are referred as arguments, and needs to be put there depends on the type of form change, detailed in `include/constants/form_change_types.h`. + +## 3. Gender differences +![mGBA_Wq5cbDkNZG](https://github.com/rh-hideout/pokeemerald-expansion/assets/2904965/45256192-b451-4baa-af06-f57ca16e1e46) + +You may have seen that there's a couple of duplicate fields with a "Female" suffix. +```diff + [SPECIES_FRILLISH] = + { + ... + .frontPic = gMonFrontPic_Frillish, ++ .frontPicFemale = gMonFrontPic_FrillishF, + .frontPicSize = MON_COORDS_SIZE(56, 56), ++ .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), + .frontPicYOffset = 5, + .frontAnimFrames = sAnims_Frillish, + .frontAnimId = ANIM_RISING_WOBBLE, + .backPic = gMonBackPic_Frillish, ++ .backPicFemale = gMonBackPic_FrillishF, + .backPicSize = MON_COORDS_SIZE(40, 56), ++ .backPicSizeFemale = MON_COORDS_SIZE(40, 56), + .backPicYOffset = 7, + .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, + .palette = gMonPalette_Frillish, ++ .paletteFemale = gMonPalette_FrillishF, + .shinyPalette = gMonShinyPalette_Frillish, ++ .shinyPaletteFemale = gMonShinyPalette_FrillishF, + .iconSprite = gMonIcon_Frillish, ++ .iconSpriteFemale = gMonIcon_FrillishF, + .iconPalIndex = 0, ++ .iconPalIndexFemale = 1, + FOOTPRINT(Frillish) + .levelUpLearnset = sFrillishLevelUpLearnset, + .teachableLearnset = sFrillishTeachableLearnset, + .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_JELLICENT}), + }, +``` +These are used to change the graphics of the Pokémon if they're female. If they're not registered, they default to the male values. + +However, `iconPalIndexFemale` is a special case, where it's *doesn't* read the male icon palette if its `iconSpriteFemale` is set, so if you're setting a female icon, be sure to set their palette index as well. + +## 4. Overworld Data +![mGBA_4iqvhhSltK](https://github.com/rh-hideout/pokeemerald-expansion/assets/2904965/e59238dc-9779-4f26-a9e7-159a32caa3d9) + +If you have `OW_POKEMON_OBJECT_EVENTS` in your hack, you can add Overworld of your new species by following these steps: + +First, since you copied the contents from Mew's folder previously, you should also have copied its overworld sprites. Edit those to your liking, as we have done before, making sure to update the palettes + +Secondly, in [src/data/graphics/pokemon.h](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/src/data/graphics/pokemon.h), add the following: + +```diff + const u8 gMonIcon_Mewthree[] = INCBIN_U8("graphics/pokemon/mewthree/icon.4bpp"); + const u8 gMonFootprint_Mewthree[] = INCBIN_U8("graphics/pokemon/mewthree/footprint.1bpp"); ++ const u32 gObjectEventPic_Mewthree[] = INCBIN_COMP("graphics/pokemon/mewthree/overworld.4bpp"); ++ const u32 gOverworldPalette_Mewthree[] = INCBIN_U32("graphics/pokemon/mewthree/overworld_normal.gbapal.lz"); ++ const u32 gShinyOverworldPalette_Mewthree[] = INCBIN_U32("graphics/pokemon/mewthree/overworld_shiny.gbapal.lz"); +``` + +Thirdly, in [spritesheet_rules.mk](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/spritesheet_rules.mk) + +```diff +$(POKEMONGFXDIR)/mewtwo/overworld.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + ++$(POKEMONGFXDIR)/mewthree/overworld.4bpp: %.4bpp: %.png ++ $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(POKEMONGFXDIR)/mew/overworld.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 +``` + +Fourthly, in [src/data/object_events/object_event_pic_tables_followers.h](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/src/data/object_events/object_event_pic_tables_followers.h): +```diff +#if P_FAMILY_PECHARUNT +/*static const struct SpriteFrameImage sPicTable_Pecharunt[] = { + overworld_ascending_frames(gObjectEventPic_Pecharunt, 4, 4), +};*/ +#endif //P_FAMILY_PECHARUNT + ++static const struct SpriteFrameImage sPicTable_Mewthree[] = { ++ overworld_ascending_frames(gObjectEventPic_Mewthree, 4, 4), ++}; +``` + +And finally, in `gSpeciesInfo`: + +```diff + const struct SpeciesInfo gSpeciesInfo[] = + { + ... + [SPECIES_MEWTHREE] = + { + ... + FOOTPRINT(Mewthree) ++ OVERWORLD( ++ sPicTable_Mewthree, ++ SIZE_32x32, ++ SHADOW_SIZE_M, ++ TRACKS_FOOT, ++ gOverworldPalette_Mewthree, ++ gShinyOverworldPalette_Mewthree ++ ) + .levelUpLearnset = sMewthreeLevelUpLearnset, + .teachableLearnset = sMewthreeTeachableLearnset, + }, + }; +``` + +### Sprite Size +Depending on your species, you might want to use different sizes for it. For example, certain species known for being big like Steelix use sprites that fit a 64x64 frame instead of 32x32, and as such have `SIZE_64x64` in their data instead of `SIZE_32x32` to accomodate for them. + +Also, in `spritesheet_rules.mk`, `-mwidth` and `-mheight` need to be set to 8 instead of 4 for such cases. + +### Shadows +Gen 4 style shadows are defined by the `SHADOW` macro which takes the following arguments: + - X offset + - Y offset + - Shadow size +You have 4 options for their shadow, between Small, Medium, Large and Extra Large: + - `SHADOW_SIZE_S` + - `SHADOW_SIZE_M` + - `SHADOW_SIZE_L` + - `SHADOW_SIZE_XL_BATTLE_ONLY` +To make the Pokémon have no shadow, use the `NO_SHADOW` macro instead of `SHADOW`. + +### Tracks +You have 4 options for the tracks that your species will leave behind on sand. + - `TRACKS_NONE` + - `TRACKS_FOOT` ![sand_footprints](https://github.com/user-attachments/assets/8b8c34d6-72e9-4b9d-839d-0a5cc1ae1a4c) + - `TRACKS_SLITHER` ![slither_tracks](https://github.com/user-attachments/assets/28219c05-61e0-48b3-9aeb-43f48e4ffdd4) + - `TRACKS_SPOT` ![spot_tracks](https://github.com/user-attachments/assets/f7a24887-c5ca-47f2-8825-01f3df61deca) + - `TRACKS_BUG` ![bug_tracks](https://github.com/user-attachments/assets/8cd1dea4-4123-4af8-a558-992874a6d589) + + ...though technically you can also use `TRACKS_BIKE_TIRE` if you wish to. + +![bike_tire_tracks](https://github.com/user-attachments/assets/ac81d211-85e5-443a-ac54-c2976f1f0b82) diff --git a/docs/tutorials/how_to_testing_system.md b/docs/tutorials/how_to_testing_system.md index 56719458ab25..c573dfbbf7f6 100644 --- a/docs/tutorials/how_to_testing_system.md +++ b/docs/tutorials/how_to_testing_system.md @@ -44,7 +44,7 @@ SINGLE_BATTLE_TEST("Stun Spore inflicts paralysis") TURN { MOVE(player, MOVE_STUN_SPORE); } // 3. } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, player); - MESSAGE("Foe Wobbuffet is paralyzed! It may be unable to move!"); // 4 + MESSAGE("The opposing Wobbuffet is paralyzed, so it may be unable to move!"); // 4 STATUS_ICON(opponent, paralysis: TRUE); // 4. } } @@ -86,7 +86,7 @@ SINGLE_BATTLE_TEST("Stun Spore does not affect Grass-types") TURN { MOVE(player, MOVE_STUN_SPORE); } // 3. } SCENE { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, player); // 4. - MESSAGE("It doesn't affect Foe Oddish…"); // 5. + MESSAGE("It doesn't affect the opposing Oddish…"); // 5. } } ``` @@ -226,7 +226,7 @@ SINGLE_BATTLE_TEST("Paralysis has a 25% chance of skipping the turn") } WHEN { TURN { MOVE(player, MOVE_CELEBRATE); } } SCENE { - MESSAGE("Wobbuffet is paralyzed! It can't move!"); + MESSAGE("Wobbuffet couldn't move because it's paralyzed!"); } } ``` @@ -428,7 +428,7 @@ Spaces in pattern match newlines (\n, \l, and \p) in the message. Often used to check that a battler took its turn but it failed, e.g.: ``` MESSAGE("Wobbuffet used Dream Eater!"); - MESSAGE("Foe Wobbuffet wasn't affected!"); + MESSAGE("The opposing Wobbuffet wasn't affected!"); ``` ### `STATUS_ICON` @@ -452,7 +452,7 @@ Causes the test to fail if the `SCENE` command succeeds before the following com ``` // Our Wobbuffet does not Celebrate before the foe's. NOT MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); ``` **NOTE**: If this condition fails, the viewable ROM freezes at the NOT command. **WARNING: `NOT` is an alias of `NONE_OF`, so it behaves surprisingly when applied to multiple commands wrapped in braces.** @@ -467,7 +467,7 @@ Causes the test to fail unless one of the `SCENE` commands succeeds. ``` ONE_OF { MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Wobbuffet is paralyzed! It can't move!"); + MESSAGE("Wobbuffet couldn't move because it's paralyzed!"); } ``` @@ -482,9 +482,9 @@ Causes the test to fail if one of the `SCENE` commands succeeds before the comma // Our Wobbuffet does not move before the foe's. NONE_OF { MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Wobbuffet is paralyzed! It can't move!"); + MESSAGE("Wobbuffet couldn't move because it's paralyzed!"); } - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); ``` ### `PLAYER_PARTY` diff --git a/graphics/balls/strange.png b/graphics/balls/strange.png new file mode 100644 index 000000000000..a4d141bead9b Binary files /dev/null and b/graphics/balls/strange.png differ diff --git a/graphics/battle_anims/backgrounds/new_electric_terrain.bin b/graphics/battle_anims/backgrounds/new_electric_terrain.bin new file mode 100644 index 000000000000..581c331ea07b Binary files /dev/null and b/graphics/battle_anims/backgrounds/new_electric_terrain.bin differ diff --git a/graphics/battle_anims/backgrounds/new_electric_terrain.pal b/graphics/battle_anims/backgrounds/new_electric_terrain.pal new file mode 100644 index 000000000000..8741f4c6fa5a --- /dev/null +++ b/graphics/battle_anims/backgrounds/new_electric_terrain.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +237 28 36 +251 239 143 +247 228 69 +234 209 76 +222 186 48 +160 113 22 +255 255 16 +213 222 32 +255 255 255 +222 153 4 +222 171 55 +230 188 67 +247 210 69 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/backgrounds/new_electric_terrain.png b/graphics/battle_anims/backgrounds/new_electric_terrain.png new file mode 100644 index 000000000000..5ad234b1d32a Binary files /dev/null and b/graphics/battle_anims/backgrounds/new_electric_terrain.png differ diff --git a/graphics/battle_anims/backgrounds/new_grassy_terrain.bin b/graphics/battle_anims/backgrounds/new_grassy_terrain.bin new file mode 100644 index 000000000000..581c331ea07b Binary files /dev/null and b/graphics/battle_anims/backgrounds/new_grassy_terrain.bin differ diff --git a/graphics/battle_anims/backgrounds/new_grassy_terrain.pal b/graphics/battle_anims/backgrounds/new_grassy_terrain.pal new file mode 100644 index 000000000000..8f90ee6e2731 --- /dev/null +++ b/graphics/battle_anims/backgrounds/new_grassy_terrain.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +237 28 36 +185 255 175 +142 243 140 +56 177 78 +78 214 109 +48 126 26 +44 177 68 +65 206 48 +8 248 0 +24 189 2 +90 189 77 +97 210 101 +137 226 120 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/backgrounds/new_grassy_terrain.png b/graphics/battle_anims/backgrounds/new_grassy_terrain.png new file mode 100644 index 000000000000..ecc78fbaeb7a Binary files /dev/null and b/graphics/battle_anims/backgrounds/new_grassy_terrain.png differ diff --git a/graphics/battle_anims/backgrounds/new_misty_terrain.bin b/graphics/battle_anims/backgrounds/new_misty_terrain.bin new file mode 100644 index 000000000000..581c331ea07b Binary files /dev/null and b/graphics/battle_anims/backgrounds/new_misty_terrain.bin differ diff --git a/graphics/battle_anims/backgrounds/new_misty_terrain.pal b/graphics/battle_anims/backgrounds/new_misty_terrain.pal new file mode 100644 index 000000000000..a47ed5a7e7b9 --- /dev/null +++ b/graphics/battle_anims/backgrounds/new_misty_terrain.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +237 28 36 +253 242 242 +251 225 225 +255 210 226 +255 198 218 +255 181 206 +244 159 183 +247 187 187 +249 210 210 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/backgrounds/new_misty_terrain.png b/graphics/battle_anims/backgrounds/new_misty_terrain.png new file mode 100644 index 000000000000..5e46aa138eb7 Binary files /dev/null and b/graphics/battle_anims/backgrounds/new_misty_terrain.png differ diff --git a/graphics/battle_anims/backgrounds/new_psychic_terrain.bin b/graphics/battle_anims/backgrounds/new_psychic_terrain.bin new file mode 100644 index 000000000000..581c331ea07b Binary files /dev/null and b/graphics/battle_anims/backgrounds/new_psychic_terrain.bin differ diff --git a/graphics/battle_anims/backgrounds/new_psychic_terrain.pal b/graphics/battle_anims/backgrounds/new_psychic_terrain.pal new file mode 100644 index 000000000000..dd492dc203f5 --- /dev/null +++ b/graphics/battle_anims/backgrounds/new_psychic_terrain.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +237 28 36 +213 206 232 +206 186 224 +203 168 232 +204 145 230 +192 87 219 +156 51 183 +111 36 130 +210 51 171 +247 4 107 +67 21 79 +203 113 225 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/backgrounds/new_psychic_terrain.png b/graphics/battle_anims/backgrounds/new_psychic_terrain.png new file mode 100644 index 000000000000..93b54a5e94d7 Binary files /dev/null and b/graphics/battle_anims/backgrounds/new_psychic_terrain.png differ diff --git a/graphics/battle_anims/backgrounds/swampswizzle.bin b/graphics/battle_anims/backgrounds/swampswizzle.bin new file mode 100644 index 000000000000..54864dd530af Binary files /dev/null and b/graphics/battle_anims/backgrounds/swampswizzle.bin differ diff --git a/graphics/battle_anims/backgrounds/swampswizzle.pal b/graphics/battle_anims/backgrounds/swampswizzle.pal new file mode 100644 index 000000000000..b739a386e7b4 --- /dev/null +++ b/graphics/battle_anims/backgrounds/swampswizzle.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 0 0 +140 214 132 +115 181 132 +115 181 99 +90 148 90 +90 148 74 +74 115 41 +74 107 57 +57 82 24 +49 82 41 +66 74 33 +33 57 16 +41 49 16 +49 41 8 +16 24 0 +140 222 173 diff --git a/graphics/battle_anims/backgrounds/swampswizzle.png b/graphics/battle_anims/backgrounds/swampswizzle.png new file mode 100644 index 000000000000..9b4a88cf0a9b Binary files /dev/null and b/graphics/battle_anims/backgrounds/swampswizzle.png differ diff --git a/graphics/battle_anims/sprites/pinkvio_orb.png b/graphics/battle_anims/sprites/pinkvio_orb.png new file mode 100644 index 000000000000..d0d7c927549b Binary files /dev/null and b/graphics/battle_anims/sprites/pinkvio_orb.png differ diff --git a/graphics/battle_anims/sprites/spirit_shackle_arrow.png b/graphics/battle_anims/sprites/spirit_shackle_arrow.png index ff86f33d21cd..cc520e6b5d5e 100644 Binary files a/graphics/battle_anims/sprites/spirit_shackle_arrow.png and b/graphics/battle_anims/sprites/spirit_shackle_arrow.png differ diff --git a/graphics/battle_interface/enemy_mon_shadows_sized.png b/graphics/battle_interface/enemy_mon_shadows_sized.png new file mode 100644 index 000000000000..8d0e96885292 Binary files /dev/null and b/graphics/battle_interface/enemy_mon_shadows_sized.png differ diff --git a/graphics/fonts/latin_normal.png b/graphics/fonts/latin_normal.png index ade914858f48..d1de69d136c6 100644 Binary files a/graphics/fonts/latin_normal.png and b/graphics/fonts/latin_normal.png differ diff --git a/graphics/items/icon_palettes/strange_ball.pal b/graphics/items/icon_palettes/strange_ball.pal new file mode 100644 index 000000000000..9e32134d4504 --- /dev/null +++ b/graphics/items/icon_palettes/strange_ball.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 180 180 +164 226 197 +238 242 230 +139 170 180 +8 113 115 +0 157 156 +106 222 172 +41 182 189 +90 206 172 +90 182 180 +8 0 0 +65 190 189 +115 194 189 +0 117 131 +0 129 131 +0 12 0 diff --git a/graphics/items/icons/strange_ball.png b/graphics/items/icons/strange_ball.png new file mode 100644 index 000000000000..a794d54abe9f Binary files /dev/null and b/graphics/items/icons/strange_ball.png differ diff --git a/graphics/pokemon/abomasnow/overworldf.png b/graphics/pokemon/abomasnow/overworldf.png new file mode 100644 index 000000000000..d6f07b6323e1 Binary files /dev/null and b/graphics/pokemon/abomasnow/overworldf.png differ diff --git a/graphics/pokemon/abra/anim_front_gba.png b/graphics/pokemon/abra/anim_front_gba.png new file mode 100644 index 000000000000..ee466f539acf Binary files /dev/null and b/graphics/pokemon/abra/anim_front_gba.png differ diff --git a/graphics/pokemon/abra/back_gba.png b/graphics/pokemon/abra/back_gba.png new file mode 100644 index 000000000000..5035bde913a4 Binary files /dev/null and b/graphics/pokemon/abra/back_gba.png differ diff --git a/graphics/pokemon/abra/icon_gba.png b/graphics/pokemon/abra/icon_gba.png new file mode 100644 index 000000000000..cf7d3d2f707b Binary files /dev/null and b/graphics/pokemon/abra/icon_gba.png differ diff --git a/graphics/pokemon/abra/normal_gba.pal b/graphics/pokemon/abra/normal_gba.pal new file mode 100644 index 000000000000..b688ea0bc0ff --- /dev/null +++ b/graphics/pokemon/abra/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +246 246 246 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +213 180 82 +172 131 41 +148 106 16 +98 49 0 +255 0 255 +255 0 255 +255 255 123 +255 238 41 +213 180 0 +139 98 0 +16 16 16 diff --git a/graphics/pokemon/abra/shiny_gba.pal b/graphics/pokemon/abra/shiny_gba.pal new file mode 100644 index 000000000000..4122603ff4b3 --- /dev/null +++ b/graphics/pokemon/abra/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +246 246 246 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +205 180 180 +172 148 148 +148 115 123 +106 49 123 +255 0 255 +255 0 255 +255 255 222 +255 255 115 +246 180 41 +164 82 0 +16 16 16 diff --git a/graphics/pokemon/absol/anim_front_gba.png b/graphics/pokemon/absol/anim_front_gba.png new file mode 100644 index 000000000000..5b459aef06fd Binary files /dev/null and b/graphics/pokemon/absol/anim_front_gba.png differ diff --git a/graphics/pokemon/absol/back_gba.png b/graphics/pokemon/absol/back_gba.png new file mode 100644 index 000000000000..876ba48aa0eb Binary files /dev/null and b/graphics/pokemon/absol/back_gba.png differ diff --git a/graphics/pokemon/absol/icon_gba.png b/graphics/pokemon/absol/icon_gba.png new file mode 100644 index 000000000000..3cc5e01b521a Binary files /dev/null and b/graphics/pokemon/absol/icon_gba.png differ diff --git a/graphics/pokemon/absol/normal_gba.pal b/graphics/pokemon/absol/normal_gba.pal new file mode 100644 index 000000000000..9900389176ca --- /dev/null +++ b/graphics/pokemon/absol/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 156 180 +255 255 255 +222 222 238 +197 197 213 +148 148 172 +255 123 115 +205 41 32 +123 41 49 +172 172 205 +131 131 172 +90 90 131 +41 57 57 +148 164 164 +115 131 131 +82 98 98 +0 0 0 diff --git a/graphics/pokemon/absol/shiny_gba.pal b/graphics/pokemon/absol/shiny_gba.pal new file mode 100644 index 000000000000..4b86195a7ccb --- /dev/null +++ b/graphics/pokemon/absol/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 156 180 +255 255 255 +238 222 230 +222 189 213 +197 156 189 +49 180 255 +0 115 189 +123 41 49 +172 172 205 +131 131 172 +90 90 131 +41 57 57 +205 115 98 +172 82 65 +131 41 24 +0 0 0 diff --git a/graphics/pokemon/aerodactyl/anim_front_gba.png b/graphics/pokemon/aerodactyl/anim_front_gba.png new file mode 100644 index 000000000000..4b5ea3378a30 Binary files /dev/null and b/graphics/pokemon/aerodactyl/anim_front_gba.png differ diff --git a/graphics/pokemon/aerodactyl/back_gba.png b/graphics/pokemon/aerodactyl/back_gba.png new file mode 100644 index 000000000000..8dfa76f5742e Binary files /dev/null and b/graphics/pokemon/aerodactyl/back_gba.png differ diff --git a/graphics/pokemon/aerodactyl/icon_gba.png b/graphics/pokemon/aerodactyl/icon_gba.png new file mode 100644 index 000000000000..f90e269b07e6 Binary files /dev/null and b/graphics/pokemon/aerodactyl/icon_gba.png differ diff --git a/graphics/pokemon/aerodactyl/normal_gba.pal b/graphics/pokemon/aerodactyl/normal_gba.pal new file mode 100644 index 000000000000..45116129cc4a --- /dev/null +++ b/graphics/pokemon/aerodactyl/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 0 255 +255 0 255 +255 0 255 +197 139 205 +148 98 180 +115 65 148 +65 16 98 +222 98 98 +139 49 49 +16 16 16 +238 246 255 +205 213 222 +148 172 180 +49 82 90 +255 255 255 diff --git a/graphics/pokemon/aerodactyl/shiny_gba.pal b/graphics/pokemon/aerodactyl/shiny_gba.pal new file mode 100644 index 000000000000..1e2e3f8d70b3 --- /dev/null +++ b/graphics/pokemon/aerodactyl/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 0 255 +255 0 255 +255 0 255 +98 148 255 +65 115 230 +16 65 180 +24 24 106 +222 98 98 +139 49 49 +16 16 16 +255 222 255 +238 180 230 +180 123 180 +123 57 131 +255 255 255 diff --git a/graphics/pokemon/aggron/anim_front_gba.png b/graphics/pokemon/aggron/anim_front_gba.png new file mode 100644 index 000000000000..43adabd582d1 Binary files /dev/null and b/graphics/pokemon/aggron/anim_front_gba.png differ diff --git a/graphics/pokemon/aggron/back_gba.png b/graphics/pokemon/aggron/back_gba.png new file mode 100644 index 000000000000..24ade1ff4377 Binary files /dev/null and b/graphics/pokemon/aggron/back_gba.png differ diff --git a/graphics/pokemon/aggron/icon_gba.png b/graphics/pokemon/aggron/icon_gba.png new file mode 100644 index 000000000000..ed7ae52e4b88 Binary files /dev/null and b/graphics/pokemon/aggron/icon_gba.png differ diff --git a/graphics/pokemon/aggron/normal_gba.pal b/graphics/pokemon/aggron/normal_gba.pal new file mode 100644 index 000000000000..b5711fdada1a --- /dev/null +++ b/graphics/pokemon/aggron/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 172 156 +74 74 65 +106 106 106 +139 139 139 +172 172 172 +57 57 65 +123 106 106 +156 139 139 +189 172 172 +222 205 205 +255 255 255 +172 57 74 +222 106 106 +255 131 131 +106 189 255 +0 0 0 diff --git a/graphics/pokemon/aggron/shiny_gba.pal b/graphics/pokemon/aggron/shiny_gba.pal new file mode 100644 index 000000000000..eadb9aa81e74 --- /dev/null +++ b/graphics/pokemon/aggron/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 172 156 +32 90 90 +65 123 115 +90 156 148 +148 197 205 +74 41 24 +123 123 90 +156 156 123 +189 189 156 +222 222 197 +255 255 255 +172 57 74 +222 106 106 +255 131 131 +255 123 82 +0 0 0 diff --git a/graphics/pokemon/aipom/anim_front_gba.png b/graphics/pokemon/aipom/anim_front_gba.png new file mode 100644 index 000000000000..1643e37cf070 Binary files /dev/null and b/graphics/pokemon/aipom/anim_front_gba.png differ diff --git a/graphics/pokemon/aipom/back_gba.png b/graphics/pokemon/aipom/back_gba.png new file mode 100644 index 000000000000..7e9594b6f83e Binary files /dev/null and b/graphics/pokemon/aipom/back_gba.png differ diff --git a/graphics/pokemon/aipom/icon_gba.png b/graphics/pokemon/aipom/icon_gba.png new file mode 100644 index 000000000000..d5138f203088 Binary files /dev/null and b/graphics/pokemon/aipom/icon_gba.png differ diff --git a/graphics/pokemon/aipom/normal_gba.pal b/graphics/pokemon/aipom/normal_gba.pal new file mode 100644 index 000000000000..bc79b2a2a41d --- /dev/null +++ b/graphics/pokemon/aipom/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 131 255 +180 98 230 +139 57 180 +82 32 106 +255 246 197 +255 238 164 +238 197 90 +197 156 82 +139 106 65 +255 0 255 +213 213 213 +123 123 123 +90 90 90 +0 0 0 diff --git a/graphics/pokemon/aipom/overworldf.png b/graphics/pokemon/aipom/overworldf.png new file mode 100644 index 000000000000..fe6424c39851 Binary files /dev/null and b/graphics/pokemon/aipom/overworldf.png differ diff --git a/graphics/pokemon/aipom/shiny_gba.pal b/graphics/pokemon/aipom/shiny_gba.pal new file mode 100644 index 000000000000..785e324ab977 --- /dev/null +++ b/graphics/pokemon/aipom/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 131 164 +230 98 139 +189 57 106 +115 32 65 +255 238 230 +255 222 213 +238 189 180 +222 123 131 +189 82 90 +255 0 255 +213 213 213 +123 123 123 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/alakazam/anim_front_gba.png b/graphics/pokemon/alakazam/anim_front_gba.png new file mode 100644 index 000000000000..3891f3242e0c Binary files /dev/null and b/graphics/pokemon/alakazam/anim_front_gba.png differ diff --git a/graphics/pokemon/alakazam/back_gba.png b/graphics/pokemon/alakazam/back_gba.png new file mode 100644 index 000000000000..aad3363af284 Binary files /dev/null and b/graphics/pokemon/alakazam/back_gba.png differ diff --git a/graphics/pokemon/alakazam/icon_gba.png b/graphics/pokemon/alakazam/icon_gba.png new file mode 100644 index 000000000000..f15231469eda Binary files /dev/null and b/graphics/pokemon/alakazam/icon_gba.png differ diff --git a/graphics/pokemon/alakazam/normal_gba.pal b/graphics/pokemon/alakazam/normal_gba.pal new file mode 100644 index 000000000000..0617af6a52a7 --- /dev/null +++ b/graphics/pokemon/alakazam/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 222 222 +180 180 180 +90 90 90 +213 180 82 +172 131 41 +139 98 16 +98 49 0 +255 0 255 +255 0 255 +255 255 123 +255 238 41 +213 180 0 +139 98 0 +16 16 16 diff --git a/graphics/pokemon/alakazam/overworldf.png b/graphics/pokemon/alakazam/overworldf.png new file mode 100644 index 000000000000..02b76111fd16 Binary files /dev/null and b/graphics/pokemon/alakazam/overworldf.png differ diff --git a/graphics/pokemon/alakazam/shiny_gba.pal b/graphics/pokemon/alakazam/shiny_gba.pal new file mode 100644 index 000000000000..083ce6897844 --- /dev/null +++ b/graphics/pokemon/alakazam/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 222 222 +180 180 180 +90 90 90 +230 123 189 +189 82 148 +131 41 106 +82 0 41 +255 0 255 +255 0 255 +255 205 74 +213 172 0 +172 115 0 +123 32 0 +16 16 16 diff --git a/graphics/pokemon/alcremie/gigantamax/back.png b/graphics/pokemon/alcremie/gmax/back.png similarity index 100% rename from graphics/pokemon/alcremie/gigantamax/back.png rename to graphics/pokemon/alcremie/gmax/back.png diff --git a/graphics/pokemon/alcremie/gigantamax/front.png b/graphics/pokemon/alcremie/gmax/front.png similarity index 100% rename from graphics/pokemon/alcremie/gigantamax/front.png rename to graphics/pokemon/alcremie/gmax/front.png diff --git a/graphics/pokemon/alcremie/gigantamax/icon.png b/graphics/pokemon/alcremie/gmax/icon.png similarity index 100% rename from graphics/pokemon/alcremie/gigantamax/icon.png rename to graphics/pokemon/alcremie/gmax/icon.png diff --git a/graphics/pokemon/alcremie/gigantamax/normal.pal b/graphics/pokemon/alcremie/gmax/normal.pal similarity index 100% rename from graphics/pokemon/alcremie/gigantamax/normal.pal rename to graphics/pokemon/alcremie/gmax/normal.pal diff --git a/graphics/pokemon/alcremie/gigantamax/shiny.pal b/graphics/pokemon/alcremie/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/alcremie/gigantamax/shiny.pal rename to graphics/pokemon/alcremie/gmax/shiny.pal diff --git a/graphics/pokemon/altaria/anim_front_gba.png b/graphics/pokemon/altaria/anim_front_gba.png new file mode 100644 index 000000000000..ff00eaa7236b Binary files /dev/null and b/graphics/pokemon/altaria/anim_front_gba.png differ diff --git a/graphics/pokemon/altaria/back_gba.png b/graphics/pokemon/altaria/back_gba.png new file mode 100644 index 000000000000..b224676beef3 Binary files /dev/null and b/graphics/pokemon/altaria/back_gba.png differ diff --git a/graphics/pokemon/altaria/icon_gba.png b/graphics/pokemon/altaria/icon_gba.png new file mode 100644 index 000000000000..300dfec82c29 Binary files /dev/null and b/graphics/pokemon/altaria/icon_gba.png differ diff --git a/graphics/pokemon/altaria/normal_gba.pal b/graphics/pokemon/altaria/normal_gba.pal new file mode 100644 index 000000000000..d7af0b531e8d --- /dev/null +++ b/graphics/pokemon/altaria/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 205 139 +255 255 255 +131 131 148 +197 197 213 +255 164 131 +255 98 65 +131 32 8 +172 213 255 +115 180 238 +98 139 197 +65 106 156 +238 246 255 +222 222 238 +172 180 197 +41 57 90 +0 0 0 diff --git a/graphics/pokemon/altaria/shiny_gba.pal b/graphics/pokemon/altaria/shiny_gba.pal new file mode 100644 index 000000000000..0ebea146ae4b --- /dev/null +++ b/graphics/pokemon/altaria/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 205 139 +255 255 255 +131 131 148 +197 197 213 +255 164 131 +255 98 65 +131 32 8 +255 238 131 +255 205 98 +222 172 65 +156 106 0 +238 246 255 +222 222 238 +172 180 197 +123 74 0 +0 0 0 diff --git a/graphics/pokemon/ambipom/overworld.png b/graphics/pokemon/ambipom/overworld.png index 1f47b4d3e17c..24389b6a9a9d 100644 Binary files a/graphics/pokemon/ambipom/overworld.png and b/graphics/pokemon/ambipom/overworld.png differ diff --git a/graphics/pokemon/ambipom/overworldf.png b/graphics/pokemon/ambipom/overworldf.png new file mode 100644 index 000000000000..1f47b4d3e17c Binary files /dev/null and b/graphics/pokemon/ambipom/overworldf.png differ diff --git a/graphics/pokemon/ampharos/anim_front_gba.png b/graphics/pokemon/ampharos/anim_front_gba.png new file mode 100644 index 000000000000..cf05584119a6 Binary files /dev/null and b/graphics/pokemon/ampharos/anim_front_gba.png differ diff --git a/graphics/pokemon/ampharos/back_gba.png b/graphics/pokemon/ampharos/back_gba.png new file mode 100644 index 000000000000..2e7c2399e674 Binary files /dev/null and b/graphics/pokemon/ampharos/back_gba.png differ diff --git a/graphics/pokemon/ampharos/icon_gba.png b/graphics/pokemon/ampharos/icon_gba.png new file mode 100644 index 000000000000..d7a3f9e70ace Binary files /dev/null and b/graphics/pokemon/ampharos/icon_gba.png differ diff --git a/graphics/pokemon/ampharos/normal_gba.pal b/graphics/pokemon/ampharos/normal_gba.pal new file mode 100644 index 000000000000..f7fdd3683db5 --- /dev/null +++ b/graphics/pokemon/ampharos/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 238 74 +255 197 16 +213 148 0 +148 74 0 +255 0 255 +230 230 230 +172 172 172 +98 106 106 +16 16 16 +255 98 0 +197 65 0 +139 32 0 +90 0 0 +255 0 255 diff --git a/graphics/pokemon/ampharos/shiny_gba.pal b/graphics/pokemon/ampharos/shiny_gba.pal new file mode 100644 index 000000000000..f29dc710fc42 --- /dev/null +++ b/graphics/pokemon/ampharos/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 180 213 +213 148 180 +189 115 156 +139 82 106 +255 0 255 +230 230 230 +172 172 172 +98 106 106 +16 16 16 +131 205 246 +65 106 205 +32 65 156 +49 74 139 +255 0 255 diff --git a/graphics/pokemon/anorith/anim_front_gba.png b/graphics/pokemon/anorith/anim_front_gba.png new file mode 100644 index 000000000000..17d439d83db4 Binary files /dev/null and b/graphics/pokemon/anorith/anim_front_gba.png differ diff --git a/graphics/pokemon/anorith/back_gba.png b/graphics/pokemon/anorith/back_gba.png new file mode 100644 index 000000000000..0f9c0efc01ed Binary files /dev/null and b/graphics/pokemon/anorith/back_gba.png differ diff --git a/graphics/pokemon/anorith/icon_gba.png b/graphics/pokemon/anorith/icon_gba.png new file mode 100644 index 000000000000..936355d61784 Binary files /dev/null and b/graphics/pokemon/anorith/icon_gba.png differ diff --git a/graphics/pokemon/anorith/normal_gba.pal b/graphics/pokemon/anorith/normal_gba.pal new file mode 100644 index 000000000000..01bb5c13f745 --- /dev/null +++ b/graphics/pokemon/anorith/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +172 205 172 +139 172 139 +115 139 115 +90 115 90 +246 238 197 +230 205 148 +197 164 98 +148 82 74 +255 123 82 +222 82 32 +222 222 222 +180 180 189 +106 106 123 +0 0 0 diff --git a/graphics/pokemon/anorith/shiny_gba.pal b/graphics/pokemon/anorith/shiny_gba.pal new file mode 100644 index 000000000000..dc1fe037445c --- /dev/null +++ b/graphics/pokemon/anorith/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 213 172 +230 180 139 +197 148 106 +164 115 74 +246 238 197 +230 205 148 +197 164 98 +131 90 32 +255 82 74 +222 82 32 +222 222 222 +180 180 189 +106 106 123 +41 41 57 diff --git a/graphics/pokemon/appletun/gigantamax/back.png b/graphics/pokemon/appletun/gmax/back.png similarity index 100% rename from graphics/pokemon/appletun/gigantamax/back.png rename to graphics/pokemon/appletun/gmax/back.png diff --git a/graphics/pokemon/appletun/gigantamax/front.png b/graphics/pokemon/appletun/gmax/front.png similarity index 100% rename from graphics/pokemon/appletun/gigantamax/front.png rename to graphics/pokemon/appletun/gmax/front.png diff --git a/graphics/pokemon/appletun/gigantamax/icon.png b/graphics/pokemon/appletun/gmax/icon.png similarity index 100% rename from graphics/pokemon/appletun/gigantamax/icon.png rename to graphics/pokemon/appletun/gmax/icon.png diff --git a/graphics/pokemon/appletun/gigantamax/normal.pal b/graphics/pokemon/appletun/gmax/normal.pal similarity index 100% rename from graphics/pokemon/appletun/gigantamax/normal.pal rename to graphics/pokemon/appletun/gmax/normal.pal diff --git a/graphics/pokemon/appletun/gigantamax/shiny.pal b/graphics/pokemon/appletun/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/appletun/gigantamax/shiny.pal rename to graphics/pokemon/appletun/gmax/shiny.pal diff --git a/graphics/pokemon/arbok/anim_front_gba.png b/graphics/pokemon/arbok/anim_front_gba.png new file mode 100644 index 000000000000..98ca8aab2d0c Binary files /dev/null and b/graphics/pokemon/arbok/anim_front_gba.png differ diff --git a/graphics/pokemon/arbok/back_gba.png b/graphics/pokemon/arbok/back_gba.png new file mode 100644 index 000000000000..7984d422eaea Binary files /dev/null and b/graphics/pokemon/arbok/back_gba.png differ diff --git a/graphics/pokemon/arbok/icon_gba.png b/graphics/pokemon/arbok/icon_gba.png new file mode 100644 index 000000000000..8967d44a6a77 Binary files /dev/null and b/graphics/pokemon/arbok/icon_gba.png differ diff --git a/graphics/pokemon/arbok/normal_gba.pal b/graphics/pokemon/arbok/normal_gba.pal new file mode 100644 index 000000000000..afd5a0a16132 --- /dev/null +++ b/graphics/pokemon/arbok/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 74 +238 222 24 +189 172 16 +255 172 131 +246 115 74 +197 65 24 +156 16 0 +16 16 16 +222 164 197 +189 115 164 +156 74 131 +106 32 90 +255 0 255 +205 205 205 +255 255 255 diff --git a/graphics/pokemon/arbok/shiny_gba.pal b/graphics/pokemon/arbok/shiny_gba.pal new file mode 100644 index 000000000000..6c88ffb4292e --- /dev/null +++ b/graphics/pokemon/arbok/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 74 +238 222 24 +189 172 16 +180 197 230 +148 164 197 +106 123 156 +49 65 98 +16 16 16 +222 180 65 +180 139 24 +139 98 24 +98 57 0 +255 0 255 +205 205 205 +255 255 255 diff --git a/graphics/pokemon/arcanine/anim_front_gba.png b/graphics/pokemon/arcanine/anim_front_gba.png new file mode 100644 index 000000000000..d955b812fa49 Binary files /dev/null and b/graphics/pokemon/arcanine/anim_front_gba.png differ diff --git a/graphics/pokemon/arcanine/back_gba.png b/graphics/pokemon/arcanine/back_gba.png new file mode 100644 index 000000000000..1b0840c8ae48 Binary files /dev/null and b/graphics/pokemon/arcanine/back_gba.png differ diff --git a/graphics/pokemon/arcanine/hisuian/back.png b/graphics/pokemon/arcanine/hisui/back.png similarity index 100% rename from graphics/pokemon/arcanine/hisuian/back.png rename to graphics/pokemon/arcanine/hisui/back.png diff --git a/graphics/pokemon/arcanine/hisuian/front.png b/graphics/pokemon/arcanine/hisui/front.png similarity index 100% rename from graphics/pokemon/arcanine/hisuian/front.png rename to graphics/pokemon/arcanine/hisui/front.png diff --git a/graphics/pokemon/arcanine/hisuian/icon.png b/graphics/pokemon/arcanine/hisui/icon.png similarity index 100% rename from graphics/pokemon/arcanine/hisuian/icon.png rename to graphics/pokemon/arcanine/hisui/icon.png diff --git a/graphics/pokemon/arcanine/hisuian/normal.pal b/graphics/pokemon/arcanine/hisui/normal.pal similarity index 100% rename from graphics/pokemon/arcanine/hisuian/normal.pal rename to graphics/pokemon/arcanine/hisui/normal.pal diff --git a/graphics/pokemon/arcanine/hisuian/overworld.png b/graphics/pokemon/arcanine/hisui/overworld.png similarity index 100% rename from graphics/pokemon/arcanine/hisuian/overworld.png rename to graphics/pokemon/arcanine/hisui/overworld.png diff --git a/graphics/pokemon/arcanine/hisuian/overworld_normal.pal b/graphics/pokemon/arcanine/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/arcanine/hisuian/overworld_normal.pal rename to graphics/pokemon/arcanine/hisui/overworld_normal.pal diff --git a/graphics/pokemon/arcanine/hisuian/overworld_shiny.pal b/graphics/pokemon/arcanine/hisui/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/arcanine/hisuian/overworld_shiny.pal rename to graphics/pokemon/arcanine/hisui/overworld_shiny.pal diff --git a/graphics/pokemon/arcanine/hisuian/shiny.pal b/graphics/pokemon/arcanine/hisui/shiny.pal similarity index 100% rename from graphics/pokemon/arcanine/hisuian/shiny.pal rename to graphics/pokemon/arcanine/hisui/shiny.pal diff --git a/graphics/pokemon/arcanine/icon_gba.png b/graphics/pokemon/arcanine/icon_gba.png new file mode 100644 index 000000000000..3fed9199ac01 Binary files /dev/null and b/graphics/pokemon/arcanine/icon_gba.png differ diff --git a/graphics/pokemon/arcanine/normal_gba.pal b/graphics/pokemon/arcanine/normal_gba.pal new file mode 100644 index 000000000000..46135bf32168 --- /dev/null +++ b/graphics/pokemon/arcanine/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 246 +222 222 213 +90 90 90 +255 98 65 +197 49 32 +82 16 16 +255 246 172 +255 246 148 +246 189 106 +172 98 32 +255 139 82 +238 115 49 +197 82 49 +98 16 0 +16 16 16 diff --git a/graphics/pokemon/arcanine/shiny_gba.pal b/graphics/pokemon/arcanine/shiny_gba.pal new file mode 100644 index 000000000000..99edcb435b73 --- /dev/null +++ b/graphics/pokemon/arcanine/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 246 +222 222 213 +90 90 90 +255 98 65 +197 49 32 +82 16 16 +255 246 238 +255 238 197 +230 197 156 +148 115 82 +255 230 115 +222 189 74 +180 148 32 +115 82 0 +16 16 16 diff --git a/graphics/pokemon/ariados/anim_front_gba.png b/graphics/pokemon/ariados/anim_front_gba.png new file mode 100644 index 000000000000..9fdd513628b9 Binary files /dev/null and b/graphics/pokemon/ariados/anim_front_gba.png differ diff --git a/graphics/pokemon/ariados/back_gba.png b/graphics/pokemon/ariados/back_gba.png new file mode 100644 index 000000000000..b677b7222e26 Binary files /dev/null and b/graphics/pokemon/ariados/back_gba.png differ diff --git a/graphics/pokemon/ariados/icon_gba.png b/graphics/pokemon/ariados/icon_gba.png new file mode 100644 index 000000000000..4284968f26dc Binary files /dev/null and b/graphics/pokemon/ariados/icon_gba.png differ diff --git a/graphics/pokemon/ariados/normal_gba.pal b/graphics/pokemon/ariados/normal_gba.pal new file mode 100644 index 000000000000..ccf5f7fe7168 --- /dev/null +++ b/graphics/pokemon/ariados/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 172 57 +255 123 41 +205 82 0 +139 32 0 +74 0 0 +255 238 90 +222 180 74 +148 115 49 +189 148 255 +148 90 238 +106 49 172 +189 189 189 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/ariados/shiny_gba.pal b/graphics/pokemon/ariados/shiny_gba.pal new file mode 100644 index 000000000000..c2557b589492 --- /dev/null +++ b/graphics/pokemon/ariados/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 139 189 +205 106 164 +139 65 123 +115 16 82 +82 8 49 +255 238 90 +222 180 74 +148 115 49 +148 213 255 +98 164 230 +32 82 180 +189 189 189 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/armaldo/anim_front_gba.png b/graphics/pokemon/armaldo/anim_front_gba.png new file mode 100644 index 000000000000..8f07191fb768 Binary files /dev/null and b/graphics/pokemon/armaldo/anim_front_gba.png differ diff --git a/graphics/pokemon/armaldo/back_gba.png b/graphics/pokemon/armaldo/back_gba.png new file mode 100644 index 000000000000..23c8c7113e82 Binary files /dev/null and b/graphics/pokemon/armaldo/back_gba.png differ diff --git a/graphics/pokemon/armaldo/icon_gba.png b/graphics/pokemon/armaldo/icon_gba.png new file mode 100644 index 000000000000..ed3bb65f2b4e Binary files /dev/null and b/graphics/pokemon/armaldo/icon_gba.png differ diff --git a/graphics/pokemon/armaldo/normal_gba.pal b/graphics/pokemon/armaldo/normal_gba.pal new file mode 100644 index 000000000000..a6fc406b3e70 --- /dev/null +++ b/graphics/pokemon/armaldo/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 189 222 +139 139 189 +115 115 172 +90 90 139 +246 238 197 +255 222 106 +222 180 98 +57 65 82 +255 98 74 +189 57 0 +222 222 222 +180 180 189 +106 106 123 +0 0 0 diff --git a/graphics/pokemon/armaldo/shiny_gba.pal b/graphics/pokemon/armaldo/shiny_gba.pal new file mode 100644 index 000000000000..e6d09d6113b9 --- /dev/null +++ b/graphics/pokemon/armaldo/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 197 189 +213 164 156 +180 131 123 +148 98 90 +246 238 197 +255 222 106 +222 180 98 +115 65 57 +255 98 74 +189 57 0 +222 222 222 +222 98 82 +180 57 41 +0 0 0 diff --git a/graphics/pokemon/aron/anim_front_gba.png b/graphics/pokemon/aron/anim_front_gba.png new file mode 100644 index 000000000000..928d118f0fdf Binary files /dev/null and b/graphics/pokemon/aron/anim_front_gba.png differ diff --git a/graphics/pokemon/aron/back_gba.png b/graphics/pokemon/aron/back_gba.png new file mode 100644 index 000000000000..330d46c4209f Binary files /dev/null and b/graphics/pokemon/aron/back_gba.png differ diff --git a/graphics/pokemon/aron/icon_gba.png b/graphics/pokemon/aron/icon_gba.png new file mode 100644 index 000000000000..5478463741fb Binary files /dev/null and b/graphics/pokemon/aron/icon_gba.png differ diff --git a/graphics/pokemon/aron/normal_gba.pal b/graphics/pokemon/aron/normal_gba.pal new file mode 100644 index 000000000000..b5711fdada1a --- /dev/null +++ b/graphics/pokemon/aron/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 172 156 +74 74 65 +106 106 106 +139 139 139 +172 172 172 +57 57 65 +123 106 106 +156 139 139 +189 172 172 +222 205 205 +255 255 255 +172 57 74 +222 106 106 +255 131 131 +106 189 255 +0 0 0 diff --git a/graphics/pokemon/aron/shiny_gba.pal b/graphics/pokemon/aron/shiny_gba.pal new file mode 100644 index 000000000000..eadb9aa81e74 --- /dev/null +++ b/graphics/pokemon/aron/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 172 156 +32 90 90 +65 123 115 +90 156 148 +148 197 205 +74 41 24 +123 123 90 +156 156 123 +189 189 156 +222 222 197 +255 255 255 +172 57 74 +222 106 106 +255 131 131 +255 123 82 +0 0 0 diff --git a/graphics/pokemon/articuno/anim_front_gba.png b/graphics/pokemon/articuno/anim_front_gba.png new file mode 100644 index 000000000000..3e92cc8b3131 Binary files /dev/null and b/graphics/pokemon/articuno/anim_front_gba.png differ diff --git a/graphics/pokemon/articuno/back_gba.png b/graphics/pokemon/articuno/back_gba.png new file mode 100644 index 000000000000..7e06ba84e215 Binary files /dev/null and b/graphics/pokemon/articuno/back_gba.png differ diff --git a/graphics/pokemon/articuno/galarian/back.png b/graphics/pokemon/articuno/galar/back.png similarity index 100% rename from graphics/pokemon/articuno/galarian/back.png rename to graphics/pokemon/articuno/galar/back.png diff --git a/graphics/pokemon/articuno/galarian/front.png b/graphics/pokemon/articuno/galar/front.png similarity index 100% rename from graphics/pokemon/articuno/galarian/front.png rename to graphics/pokemon/articuno/galar/front.png diff --git a/graphics/pokemon/articuno/galarian/icon.png b/graphics/pokemon/articuno/galar/icon.png similarity index 100% rename from graphics/pokemon/articuno/galarian/icon.png rename to graphics/pokemon/articuno/galar/icon.png diff --git a/graphics/pokemon/articuno/galarian/normal.pal b/graphics/pokemon/articuno/galar/normal.pal similarity index 100% rename from graphics/pokemon/articuno/galarian/normal.pal rename to graphics/pokemon/articuno/galar/normal.pal diff --git a/graphics/pokemon/articuno/galarian/overworld.png b/graphics/pokemon/articuno/galar/overworld.png similarity index 100% rename from graphics/pokemon/articuno/galarian/overworld.png rename to graphics/pokemon/articuno/galar/overworld.png diff --git a/graphics/pokemon/articuno/galarian/overworld_normal.pal b/graphics/pokemon/articuno/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/articuno/galarian/overworld_normal.pal rename to graphics/pokemon/articuno/galar/overworld_normal.pal diff --git a/graphics/pokemon/articuno/galarian/overworld_shiny.pal b/graphics/pokemon/articuno/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/articuno/galarian/overworld_shiny.pal rename to graphics/pokemon/articuno/galar/overworld_shiny.pal diff --git a/graphics/pokemon/articuno/galarian/shiny.pal b/graphics/pokemon/articuno/galar/shiny.pal similarity index 100% rename from graphics/pokemon/articuno/galarian/shiny.pal rename to graphics/pokemon/articuno/galar/shiny.pal diff --git a/graphics/pokemon/articuno/icon_gba.png b/graphics/pokemon/articuno/icon_gba.png new file mode 100644 index 000000000000..e2f19f133aae Binary files /dev/null and b/graphics/pokemon/articuno/icon_gba.png differ diff --git a/graphics/pokemon/articuno/normal_gba.pal b/graphics/pokemon/articuno/normal_gba.pal new file mode 100644 index 000000000000..4dafc1203030 --- /dev/null +++ b/graphics/pokemon/articuno/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +213 238 255 +172 213 255 +139 180 230 +98 148 205 +57 106 164 +65 65 90 +255 0 255 +255 0 255 +139 164 213 +90 115 164 +74 74 106 +189 41 57 +230 98 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/articuno/shiny_gba.pal b/graphics/pokemon/articuno/shiny_gba.pal new file mode 100644 index 000000000000..bb1ccfa81c0f --- /dev/null +++ b/graphics/pokemon/articuno/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +238 246 255 +205 230 255 +156 189 246 +98 131 238 +57 74 148 +255 0 255 +255 0 255 +139 164 213 +90 115 164 +74 74 106 +189 41 57 +230 98 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/avalugg/hisuian/back.png b/graphics/pokemon/avalugg/hisui/back.png similarity index 100% rename from graphics/pokemon/avalugg/hisuian/back.png rename to graphics/pokemon/avalugg/hisui/back.png diff --git a/graphics/pokemon/avalugg/hisuian/front.png b/graphics/pokemon/avalugg/hisui/front.png similarity index 100% rename from graphics/pokemon/avalugg/hisuian/front.png rename to graphics/pokemon/avalugg/hisui/front.png diff --git a/graphics/pokemon/avalugg/hisuian/icon.png b/graphics/pokemon/avalugg/hisui/icon.png similarity index 100% rename from graphics/pokemon/avalugg/hisuian/icon.png rename to graphics/pokemon/avalugg/hisui/icon.png diff --git a/graphics/pokemon/avalugg/hisuian/normal.pal b/graphics/pokemon/avalugg/hisui/normal.pal similarity index 100% rename from graphics/pokemon/avalugg/hisuian/normal.pal rename to graphics/pokemon/avalugg/hisui/normal.pal diff --git a/graphics/pokemon/avalugg/hisuian/overworld.png b/graphics/pokemon/avalugg/hisui/overworld.png similarity index 100% rename from graphics/pokemon/avalugg/hisuian/overworld.png rename to graphics/pokemon/avalugg/hisui/overworld.png diff --git a/graphics/pokemon/avalugg/hisuian/overworld_normal.pal b/graphics/pokemon/avalugg/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/avalugg/hisuian/overworld_normal.pal rename to graphics/pokemon/avalugg/hisui/overworld_normal.pal diff --git a/graphics/pokemon/avalugg/hisuian/overworld_shiny.pal b/graphics/pokemon/avalugg/hisui/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/avalugg/hisuian/overworld_shiny.pal rename to graphics/pokemon/avalugg/hisui/overworld_shiny.pal diff --git a/graphics/pokemon/avalugg/hisuian/shiny.pal b/graphics/pokemon/avalugg/hisui/shiny.pal similarity index 100% rename from graphics/pokemon/avalugg/hisuian/shiny.pal rename to graphics/pokemon/avalugg/hisui/shiny.pal diff --git a/graphics/pokemon/azumarill/anim_front_gba.png b/graphics/pokemon/azumarill/anim_front_gba.png new file mode 100644 index 000000000000..9097edc43c1e Binary files /dev/null and b/graphics/pokemon/azumarill/anim_front_gba.png differ diff --git a/graphics/pokemon/azumarill/back_gba.png b/graphics/pokemon/azumarill/back_gba.png new file mode 100644 index 000000000000..ca59011c64c5 Binary files /dev/null and b/graphics/pokemon/azumarill/back_gba.png differ diff --git a/graphics/pokemon/azumarill/icon_gba.png b/graphics/pokemon/azumarill/icon_gba.png new file mode 100644 index 000000000000..f41d53d2cfb5 Binary files /dev/null and b/graphics/pokemon/azumarill/icon_gba.png differ diff --git a/graphics/pokemon/azumarill/normal_gba.pal b/graphics/pokemon/azumarill/normal_gba.pal new file mode 100644 index 000000000000..429d3feccdf6 --- /dev/null +++ b/graphics/pokemon/azumarill/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 205 205 +156 156 156 +106 106 106 +16 16 16 +131 205 255 +90 172 230 +49 131 197 +74 74 131 +255 0 255 +255 0 255 +230 82 0 +197 41 0 +123 0 0 +255 0 255 diff --git a/graphics/pokemon/azumarill/shiny_gba.pal b/graphics/pokemon/azumarill/shiny_gba.pal new file mode 100644 index 000000000000..5f185cecb021 --- /dev/null +++ b/graphics/pokemon/azumarill/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 205 205 +156 156 156 +106 106 106 +16 16 16 +255 238 82 +255 213 57 +213 172 24 +131 90 41 +255 0 255 +255 0 255 +238 74 65 +197 24 57 +123 0 0 +255 0 255 diff --git a/graphics/pokemon/azurill/anim_front_gba.png b/graphics/pokemon/azurill/anim_front_gba.png new file mode 100644 index 000000000000..212454b4e9ab Binary files /dev/null and b/graphics/pokemon/azurill/anim_front_gba.png differ diff --git a/graphics/pokemon/azurill/back_gba.png b/graphics/pokemon/azurill/back_gba.png new file mode 100644 index 000000000000..cf10bded4188 Binary files /dev/null and b/graphics/pokemon/azurill/back_gba.png differ diff --git a/graphics/pokemon/azurill/icon_gba.png b/graphics/pokemon/azurill/icon_gba.png new file mode 100644 index 000000000000..b69acc7fda66 Binary files /dev/null and b/graphics/pokemon/azurill/icon_gba.png differ diff --git a/graphics/pokemon/azurill/normal_gba.pal b/graphics/pokemon/azurill/normal_gba.pal new file mode 100644 index 000000000000..44214498f421 --- /dev/null +++ b/graphics/pokemon/azurill/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +49 65 90 +106 148 255 +74 115 255 +156 189 255 +123 123 148 +238 123 115 +189 74 65 +57 90 189 +222 98 90 +222 238 255 +90 131 246 +57 90 148 +255 255 255 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/azurill/shiny_gba.pal b/graphics/pokemon/azurill/shiny_gba.pal new file mode 100644 index 000000000000..bbc8d2f29b84 --- /dev/null +++ b/graphics/pokemon/azurill/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 189 255 +32 106 82 +148 230 148 +90 180 123 +205 255 172 +255 0 255 +222 98 49 +180 65 49 +65 156 98 +222 98 90 +222 238 255 +123 205 131 +255 0 255 +255 255 255 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/bagon/anim_front_gba.png b/graphics/pokemon/bagon/anim_front_gba.png new file mode 100644 index 000000000000..dfcae12bbdc5 Binary files /dev/null and b/graphics/pokemon/bagon/anim_front_gba.png differ diff --git a/graphics/pokemon/bagon/back_gba.png b/graphics/pokemon/bagon/back_gba.png new file mode 100644 index 000000000000..0a058d768e1a Binary files /dev/null and b/graphics/pokemon/bagon/back_gba.png differ diff --git a/graphics/pokemon/bagon/icon_gba.png b/graphics/pokemon/bagon/icon_gba.png new file mode 100644 index 000000000000..cc3af423f306 Binary files /dev/null and b/graphics/pokemon/bagon/icon_gba.png differ diff --git a/graphics/pokemon/bagon/normal_gba.pal b/graphics/pokemon/bagon/normal_gba.pal new file mode 100644 index 000000000000..c71cdb94b72d --- /dev/null +++ b/graphics/pokemon/bagon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 98 +74 74 98 +123 115 148 +123 123 222 +172 172 255 +197 131 98 +255 148 98 +255 148 98 +131 148 148 +172 164 189 +222 213 238 +255 255 255 +0 0 0 +0 0 0 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/bagon/shiny_gba.pal b/graphics/pokemon/bagon/shiny_gba.pal new file mode 100644 index 000000000000..6cd8ce5ea68f --- /dev/null +++ b/graphics/pokemon/bagon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 98 +16 98 32 +98 156 106 +98 197 98 +148 230 148 +197 131 98 +255 148 98 +255 148 98 +131 148 148 +172 164 189 +222 213 238 +255 255 255 +0 0 0 +0 0 0 +255 255 255 +41 41 41 diff --git a/graphics/pokemon/baltoy/anim_front_gba.png b/graphics/pokemon/baltoy/anim_front_gba.png new file mode 100644 index 000000000000..94e7fc2c7efd Binary files /dev/null and b/graphics/pokemon/baltoy/anim_front_gba.png differ diff --git a/graphics/pokemon/baltoy/back_gba.png b/graphics/pokemon/baltoy/back_gba.png new file mode 100644 index 000000000000..a8d124481cf3 Binary files /dev/null and b/graphics/pokemon/baltoy/back_gba.png differ diff --git a/graphics/pokemon/baltoy/icon_gba.png b/graphics/pokemon/baltoy/icon_gba.png new file mode 100644 index 000000000000..4ec3f35e9761 Binary files /dev/null and b/graphics/pokemon/baltoy/icon_gba.png differ diff --git a/graphics/pokemon/baltoy/normal_gba.pal b/graphics/pokemon/baltoy/normal_gba.pal new file mode 100644 index 000000000000..33565726717a --- /dev/null +++ b/graphics/pokemon/baltoy/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +98 82 82 +131 131 98 +255 255 255 +156 164 65 +197 197 98 +230 230 172 +222 65 98 +246 148 82 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 255 0 diff --git a/graphics/pokemon/baltoy/shiny_gba.pal b/graphics/pokemon/baltoy/shiny_gba.pal new file mode 100644 index 000000000000..39cfa55ad137 --- /dev/null +++ b/graphics/pokemon/baltoy/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +98 82 82 +131 131 98 +255 255 255 +205 180 57 +246 222 98 +230 230 172 +90 172 106 +115 189 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 255 0 diff --git a/graphics/pokemon/banette/anim_front_gba.png b/graphics/pokemon/banette/anim_front_gba.png new file mode 100644 index 000000000000..7d10d2c50f4d Binary files /dev/null and b/graphics/pokemon/banette/anim_front_gba.png differ diff --git a/graphics/pokemon/banette/back_gba.png b/graphics/pokemon/banette/back_gba.png new file mode 100644 index 000000000000..3ea5f30af9f0 Binary files /dev/null and b/graphics/pokemon/banette/back_gba.png differ diff --git a/graphics/pokemon/banette/icon_gba.png b/graphics/pokemon/banette/icon_gba.png new file mode 100644 index 000000000000..3b5cbaed142f Binary files /dev/null and b/graphics/pokemon/banette/icon_gba.png differ diff --git a/graphics/pokemon/banette/normal_gba.pal b/graphics/pokemon/banette/normal_gba.pal new file mode 100644 index 000000000000..cebcb7757b48 --- /dev/null +++ b/graphics/pokemon/banette/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 230 213 +255 255 255 +255 255 49 +230 164 24 +255 189 49 +230 49 49 +222 123 49 +189 90 16 +131 65 41 +255 255 49 +255 255 49 +189 189 205 +148 148 172 +115 115 139 +74 74 98 +0 0 0 diff --git a/graphics/pokemon/banette/shiny_gba.pal b/graphics/pokemon/banette/shiny_gba.pal new file mode 100644 index 000000000000..b6df68803ce8 --- /dev/null +++ b/graphics/pokemon/banette/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 230 213 +255 255 255 +255 255 49 +230 164 24 +255 189 49 +230 49 49 +222 123 49 +189 90 16 +131 65 41 +255 255 49 +255 255 49 +189 205 238 +139 172 205 +90 148 172 +32 82 123 +0 0 0 diff --git a/graphics/pokemon/barboach/anim_front_gba.png b/graphics/pokemon/barboach/anim_front_gba.png new file mode 100644 index 000000000000..c8dfda78e32b Binary files /dev/null and b/graphics/pokemon/barboach/anim_front_gba.png differ diff --git a/graphics/pokemon/barboach/back_gba.png b/graphics/pokemon/barboach/back_gba.png new file mode 100644 index 000000000000..4fa892c53321 Binary files /dev/null and b/graphics/pokemon/barboach/back_gba.png differ diff --git a/graphics/pokemon/barboach/icon_gba.png b/graphics/pokemon/barboach/icon_gba.png new file mode 100644 index 000000000000..ad874daaca0a Binary files /dev/null and b/graphics/pokemon/barboach/icon_gba.png differ diff --git a/graphics/pokemon/barboach/normal_gba.pal b/graphics/pokemon/barboach/normal_gba.pal new file mode 100644 index 000000000000..20167a5573ce --- /dev/null +++ b/graphics/pokemon/barboach/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 156 90 +57 65 82 +115 115 131 +164 164 172 +189 189 197 +213 213 222 +238 246 246 +0 0 0 +197 222 238 +255 189 41 +74 90 156 +90 106 180 +90 115 205 +139 164 222 +164 197 255 +255 255 255 diff --git a/graphics/pokemon/barboach/shiny_gba.pal b/graphics/pokemon/barboach/shiny_gba.pal new file mode 100644 index 000000000000..e29a0209959d --- /dev/null +++ b/graphics/pokemon/barboach/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 156 90 +57 65 82 +115 115 131 +164 164 172 +189 189 197 +213 213 222 +238 246 246 +0 0 0 +255 246 123 +255 189 41 +131 82 0 +164 115 0 +197 148 24 +230 180 57 +255 213 90 +255 255 255 diff --git a/graphics/pokemon/basculegion/female/back.png b/graphics/pokemon/basculegion/f/back.png similarity index 100% rename from graphics/pokemon/basculegion/female/back.png rename to graphics/pokemon/basculegion/f/back.png diff --git a/graphics/pokemon/basculegion/female/front.png b/graphics/pokemon/basculegion/f/front.png similarity index 100% rename from graphics/pokemon/basculegion/female/front.png rename to graphics/pokemon/basculegion/f/front.png diff --git a/graphics/pokemon/basculegion/female/icon.png b/graphics/pokemon/basculegion/f/icon.png similarity index 100% rename from graphics/pokemon/basculegion/female/icon.png rename to graphics/pokemon/basculegion/f/icon.png diff --git a/graphics/pokemon/basculegion/female/normal.pal b/graphics/pokemon/basculegion/f/normal.pal similarity index 100% rename from graphics/pokemon/basculegion/female/normal.pal rename to graphics/pokemon/basculegion/f/normal.pal diff --git a/graphics/pokemon/basculegion/female/overworld.png b/graphics/pokemon/basculegion/f/overworld.png similarity index 100% rename from graphics/pokemon/basculegion/female/overworld.png rename to graphics/pokemon/basculegion/f/overworld.png diff --git a/graphics/pokemon/basculegion/female/overworld_normal.pal b/graphics/pokemon/basculegion/f/overworld_normal.pal similarity index 100% rename from graphics/pokemon/basculegion/female/overworld_normal.pal rename to graphics/pokemon/basculegion/f/overworld_normal.pal diff --git a/graphics/pokemon/basculegion/female/overworld_shiny.pal b/graphics/pokemon/basculegion/f/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/basculegion/female/overworld_shiny.pal rename to graphics/pokemon/basculegion/f/overworld_shiny.pal diff --git a/graphics/pokemon/basculegion/female/shiny.pal b/graphics/pokemon/basculegion/f/shiny.pal similarity index 100% rename from graphics/pokemon/basculegion/female/shiny.pal rename to graphics/pokemon/basculegion/f/shiny.pal diff --git a/graphics/pokemon/basculin/hisuian/overworld.png b/graphics/pokemon/basculin/hisui/overworld.png similarity index 100% rename from graphics/pokemon/basculin/hisuian/overworld.png rename to graphics/pokemon/basculin/hisui/overworld.png diff --git a/graphics/pokemon/basculin/hisuian/overworld_normal.pal b/graphics/pokemon/basculin/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/basculin/hisuian/overworld_normal.pal rename to graphics/pokemon/basculin/hisui/overworld_normal.pal diff --git a/graphics/pokemon/bayleef/anim_front_gba.png b/graphics/pokemon/bayleef/anim_front_gba.png new file mode 100644 index 000000000000..aa3606d43187 Binary files /dev/null and b/graphics/pokemon/bayleef/anim_front_gba.png differ diff --git a/graphics/pokemon/bayleef/back_gba.png b/graphics/pokemon/bayleef/back_gba.png new file mode 100644 index 000000000000..63ba17c5ef99 Binary files /dev/null and b/graphics/pokemon/bayleef/back_gba.png differ diff --git a/graphics/pokemon/bayleef/icon_gba.png b/graphics/pokemon/bayleef/icon_gba.png new file mode 100644 index 000000000000..47d2774d6f80 Binary files /dev/null and b/graphics/pokemon/bayleef/icon_gba.png differ diff --git a/graphics/pokemon/bayleef/normal_gba.pal b/graphics/pokemon/bayleef/normal_gba.pal new file mode 100644 index 000000000000..9fce32009323 --- /dev/null +++ b/graphics/pokemon/bayleef/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 172 +246 238 106 +222 189 41 +164 131 24 +106 82 0 +106 197 49 +74 164 16 +49 123 8 +16 82 16 +197 197 197 +98 98 98 +16 16 16 +213 139 82 +172 49 0 diff --git a/graphics/pokemon/bayleef/shiny_gba.pal b/graphics/pokemon/bayleef/shiny_gba.pal new file mode 100644 index 000000000000..573c02e75ca5 --- /dev/null +++ b/graphics/pokemon/bayleef/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 238 197 +255 213 180 +230 156 123 +189 98 65 +123 74 57 +230 189 49 +189 148 24 +123 98 8 +82 65 16 +197 197 197 +98 98 98 +16 16 16 +222 156 115 +172 57 57 diff --git a/graphics/pokemon/beautifly/anim_front_gba.png b/graphics/pokemon/beautifly/anim_front_gba.png new file mode 100644 index 000000000000..7c1cffea8565 Binary files /dev/null and b/graphics/pokemon/beautifly/anim_front_gba.png differ diff --git a/graphics/pokemon/beautifly/back_gba.png b/graphics/pokemon/beautifly/back_gba.png new file mode 100644 index 000000000000..1eca6edc97dc Binary files /dev/null and b/graphics/pokemon/beautifly/back_gba.png differ diff --git a/graphics/pokemon/beautifly/icon_gba.png b/graphics/pokemon/beautifly/icon_gba.png new file mode 100644 index 000000000000..346c5c906823 Binary files /dev/null and b/graphics/pokemon/beautifly/icon_gba.png differ diff --git a/graphics/pokemon/beautifly/normal_gba.pal b/graphics/pokemon/beautifly/normal_gba.pal new file mode 100644 index 000000000000..65a02145f4aa --- /dev/null +++ b/graphics/pokemon/beautifly/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 246 +90 90 82 +139 139 123 +255 255 255 +172 172 106 +230 222 115 +255 255 49 +255 255 197 +156 156 115 +197 197 115 +238 238 180 +255 255 238 +0 0 0 +255 148 41 +156 131 255 +24 24 0 diff --git a/graphics/pokemon/beautifly/overworld.png b/graphics/pokemon/beautifly/overworld.png index 36c31fed279a..d0727723a917 100644 Binary files a/graphics/pokemon/beautifly/overworld.png and b/graphics/pokemon/beautifly/overworld.png differ diff --git a/graphics/pokemon/beautifly/overworldf.png b/graphics/pokemon/beautifly/overworldf.png new file mode 100644 index 000000000000..36c31fed279a Binary files /dev/null and b/graphics/pokemon/beautifly/overworldf.png differ diff --git a/graphics/pokemon/beautifly/shiny_gba.pal b/graphics/pokemon/beautifly/shiny_gba.pal new file mode 100644 index 000000000000..9f04181876b7 --- /dev/null +++ b/graphics/pokemon/beautifly/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 246 +90 24 65 +156 65 131 +255 255 255 +172 148 106 +246 238 148 +255 255 213 +255 255 197 +197 156 115 +230 197 115 +255 238 180 +255 255 238 +0 0 0 +255 148 41 +156 131 255 +24 24 0 diff --git a/graphics/pokemon/beedrill/anim_front_gba.png b/graphics/pokemon/beedrill/anim_front_gba.png new file mode 100644 index 000000000000..169d1481237c Binary files /dev/null and b/graphics/pokemon/beedrill/anim_front_gba.png differ diff --git a/graphics/pokemon/beedrill/back_gba.png b/graphics/pokemon/beedrill/back_gba.png new file mode 100644 index 000000000000..166c399e5fa3 Binary files /dev/null and b/graphics/pokemon/beedrill/back_gba.png differ diff --git a/graphics/pokemon/beedrill/icon_gba.png b/graphics/pokemon/beedrill/icon_gba.png new file mode 100644 index 000000000000..d5e6471ab71e Binary files /dev/null and b/graphics/pokemon/beedrill/icon_gba.png differ diff --git a/graphics/pokemon/beedrill/normal_gba.pal b/graphics/pokemon/beedrill/normal_gba.pal new file mode 100644 index 000000000000..24c875141bad --- /dev/null +++ b/graphics/pokemon/beedrill/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 246 164 +255 205 74 +238 164 49 +139 82 0 +238 230 255 +222 205 246 +189 172 197 +164 148 172 +255 148 106 +213 24 49 +156 0 8 +98 98 98 +24 24 24 +255 0 255 diff --git a/graphics/pokemon/beedrill/shiny_gba.pal b/graphics/pokemon/beedrill/shiny_gba.pal new file mode 100644 index 000000000000..f35f264deba6 --- /dev/null +++ b/graphics/pokemon/beedrill/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 246 106 +189 205 65 +148 164 24 +74 90 0 +238 230 255 +222 205 246 +189 172 197 +164 148 172 +90 139 222 +49 98 180 +0 0 115 +98 98 98 +24 24 24 +255 0 255 diff --git a/graphics/pokemon/beldum/anim_front_gba.png b/graphics/pokemon/beldum/anim_front_gba.png new file mode 100644 index 000000000000..85d936d3e7e8 Binary files /dev/null and b/graphics/pokemon/beldum/anim_front_gba.png differ diff --git a/graphics/pokemon/beldum/back_gba.png b/graphics/pokemon/beldum/back_gba.png new file mode 100644 index 000000000000..7a2cab465066 Binary files /dev/null and b/graphics/pokemon/beldum/back_gba.png differ diff --git a/graphics/pokemon/beldum/icon_gba.png b/graphics/pokemon/beldum/icon_gba.png new file mode 100644 index 000000000000..346a0469d418 Binary files /dev/null and b/graphics/pokemon/beldum/icon_gba.png differ diff --git a/graphics/pokemon/beldum/normal_gba.pal b/graphics/pokemon/beldum/normal_gba.pal new file mode 100644 index 000000000000..41b48bc0896b --- /dev/null +++ b/graphics/pokemon/beldum/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +205 205 205 +172 172 172 +148 139 148 +115 106 115 +222 222 222 +131 74 74 +255 106 106 +213 74 82 +131 205 255 +255 255 255 +90 164 255 +74 131 213 +57 98 180 +49 57 115 +16 16 16 diff --git a/graphics/pokemon/beldum/shiny_gba.pal b/graphics/pokemon/beldum/shiny_gba.pal new file mode 100644 index 000000000000..8fc3bc4be888 --- /dev/null +++ b/graphics/pokemon/beldum/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +238 172 82 +205 139 49 +172 106 16 +139 74 0 +255 205 115 +156 65 65 +255 106 106 +255 74 82 +238 238 246 +255 255 255 +213 213 222 +164 164 172 +115 106 115 +82 74 82 +16 16 16 diff --git a/graphics/pokemon/bellossom/anim_front_gba.png b/graphics/pokemon/bellossom/anim_front_gba.png new file mode 100644 index 000000000000..1549e692b01b Binary files /dev/null and b/graphics/pokemon/bellossom/anim_front_gba.png differ diff --git a/graphics/pokemon/bellossom/back_gba.png b/graphics/pokemon/bellossom/back_gba.png new file mode 100644 index 000000000000..2bd8b176ef50 Binary files /dev/null and b/graphics/pokemon/bellossom/back_gba.png differ diff --git a/graphics/pokemon/bellossom/icon_gba.png b/graphics/pokemon/bellossom/icon_gba.png new file mode 100644 index 000000000000..443d7a98ccff Binary files /dev/null and b/graphics/pokemon/bellossom/icon_gba.png differ diff --git a/graphics/pokemon/bellossom/normal_gba.pal b/graphics/pokemon/bellossom/normal_gba.pal new file mode 100644 index 000000000000..7b0591a623ec --- /dev/null +++ b/graphics/pokemon/bellossom/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +156 213 74 +115 172 49 +82 98 41 +230 230 106 +180 180 57 +131 131 24 +82 197 49 +57 139 0 +16 90 16 +246 106 0 +213 32 0 +131 0 0 +164 164 164 +16 16 16 diff --git a/graphics/pokemon/bellossom/shiny_gba.pal b/graphics/pokemon/bellossom/shiny_gba.pal new file mode 100644 index 000000000000..1f10af6fb9de --- /dev/null +++ b/graphics/pokemon/bellossom/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 156 255 +189 123 230 +123 65 180 +213 246 90 +164 197 41 +98 139 8 +90 205 131 +49 148 98 +32 82 74 +255 131 172 +205 49 106 +148 24 82 +164 164 164 +16 16 16 diff --git a/graphics/pokemon/bellsprout/anim_front_gba.png b/graphics/pokemon/bellsprout/anim_front_gba.png new file mode 100644 index 000000000000..3fb2689a26a4 Binary files /dev/null and b/graphics/pokemon/bellsprout/anim_front_gba.png differ diff --git a/graphics/pokemon/bellsprout/back_gba.png b/graphics/pokemon/bellsprout/back_gba.png new file mode 100644 index 000000000000..e2a336696c43 Binary files /dev/null and b/graphics/pokemon/bellsprout/back_gba.png differ diff --git a/graphics/pokemon/bellsprout/icon_gba.png b/graphics/pokemon/bellsprout/icon_gba.png new file mode 100644 index 000000000000..f67c94eecc90 Binary files /dev/null and b/graphics/pokemon/bellsprout/icon_gba.png differ diff --git a/graphics/pokemon/bellsprout/normal_gba.pal b/graphics/pokemon/bellsprout/normal_gba.pal new file mode 100644 index 000000000000..88ab002306f4 --- /dev/null +++ b/graphics/pokemon/bellsprout/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +82 98 41 +255 164 115 +238 115 65 +189 65 32 +255 230 156 +255 197 90 +197 148 41 +189 255 115 +156 213 74 +115 172 49 +205 156 41 +156 115 32 +106 65 0 +16 16 16 diff --git a/graphics/pokemon/bellsprout/shiny_gba.pal b/graphics/pokemon/bellsprout/shiny_gba.pal new file mode 100644 index 000000000000..6a813078f185 --- /dev/null +++ b/graphics/pokemon/bellsprout/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +82 98 41 +222 189 189 +180 148 148 +139 106 106 +255 246 98 +222 205 57 +180 164 16 +246 213 82 +205 172 41 +164 131 0 +205 156 41 +156 115 32 +106 65 0 +16 16 16 diff --git a/graphics/pokemon/bibarel/overworld.png b/graphics/pokemon/bibarel/overworld.png index f5751466a91a..6a3a4aace40a 100644 Binary files a/graphics/pokemon/bibarel/overworld.png and b/graphics/pokemon/bibarel/overworld.png differ diff --git a/graphics/pokemon/bibarel/overworldf.png b/graphics/pokemon/bibarel/overworldf.png new file mode 100644 index 000000000000..f5751466a91a Binary files /dev/null and b/graphics/pokemon/bibarel/overworldf.png differ diff --git a/graphics/pokemon/bidoof/overworld.png b/graphics/pokemon/bidoof/overworld.png index 9fe63802b4e4..756f2a8dcfd8 100644 Binary files a/graphics/pokemon/bidoof/overworld.png and b/graphics/pokemon/bidoof/overworld.png differ diff --git a/graphics/pokemon/bidoof/overworldf.png b/graphics/pokemon/bidoof/overworldf.png new file mode 100644 index 000000000000..9fe63802b4e4 Binary files /dev/null and b/graphics/pokemon/bidoof/overworldf.png differ diff --git a/graphics/pokemon/blastoise/anim_front_gba.png b/graphics/pokemon/blastoise/anim_front_gba.png new file mode 100644 index 000000000000..68b8bd7ddaff Binary files /dev/null and b/graphics/pokemon/blastoise/anim_front_gba.png differ diff --git a/graphics/pokemon/blastoise/back_gba.png b/graphics/pokemon/blastoise/back_gba.png new file mode 100644 index 000000000000..abb14e565880 Binary files /dev/null and b/graphics/pokemon/blastoise/back_gba.png differ diff --git a/graphics/pokemon/blastoise/gigantamax/back.png b/graphics/pokemon/blastoise/gmax/back.png similarity index 100% rename from graphics/pokemon/blastoise/gigantamax/back.png rename to graphics/pokemon/blastoise/gmax/back.png diff --git a/graphics/pokemon/blastoise/gigantamax/front.png b/graphics/pokemon/blastoise/gmax/front.png similarity index 100% rename from graphics/pokemon/blastoise/gigantamax/front.png rename to graphics/pokemon/blastoise/gmax/front.png diff --git a/graphics/pokemon/blastoise/gigantamax/icon.png b/graphics/pokemon/blastoise/gmax/icon.png similarity index 100% rename from graphics/pokemon/blastoise/gigantamax/icon.png rename to graphics/pokemon/blastoise/gmax/icon.png diff --git a/graphics/pokemon/blastoise/gigantamax/normal.pal b/graphics/pokemon/blastoise/gmax/normal.pal similarity index 100% rename from graphics/pokemon/blastoise/gigantamax/normal.pal rename to graphics/pokemon/blastoise/gmax/normal.pal diff --git a/graphics/pokemon/blastoise/gigantamax/shiny.pal b/graphics/pokemon/blastoise/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/blastoise/gigantamax/shiny.pal rename to graphics/pokemon/blastoise/gmax/shiny.pal diff --git a/graphics/pokemon/blastoise/icon_gba.png b/graphics/pokemon/blastoise/icon_gba.png new file mode 100644 index 000000000000..253d4f8da3e4 Binary files /dev/null and b/graphics/pokemon/blastoise/icon_gba.png differ diff --git a/graphics/pokemon/blastoise/normal_gba.pal b/graphics/pokemon/blastoise/normal_gba.pal new file mode 100644 index 000000000000..632bbc021a91 --- /dev/null +++ b/graphics/pokemon/blastoise/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 205 205 +148 164 164 +106 74 57 +172 98 32 +238 172 90 +255 213 106 +230 172 90 +189 139 57 +156 106 74 +131 213 255 +106 172 230 +65 131 197 +74 74 131 +16 16 16 diff --git a/graphics/pokemon/blastoise/shiny_gba.pal b/graphics/pokemon/blastoise/shiny_gba.pal new file mode 100644 index 000000000000..d0547a7065fd --- /dev/null +++ b/graphics/pokemon/blastoise/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 205 205 +148 164 164 +32 65 32 +172 98 32 +238 172 90 +255 213 106 +115 139 41 +82 106 8 +41 65 8 +230 230 246 +197 197 246 +139 139 189 +57 57 106 +16 16 16 diff --git a/graphics/pokemon/blaziken/anim_front_gba.png b/graphics/pokemon/blaziken/anim_front_gba.png new file mode 100644 index 000000000000..8639d034cd14 Binary files /dev/null and b/graphics/pokemon/blaziken/anim_front_gba.png differ diff --git a/graphics/pokemon/blaziken/back_gba.png b/graphics/pokemon/blaziken/back_gba.png new file mode 100644 index 000000000000..cf89544c15ff Binary files /dev/null and b/graphics/pokemon/blaziken/back_gba.png differ diff --git a/graphics/pokemon/blaziken/icon_gba.png b/graphics/pokemon/blaziken/icon_gba.png new file mode 100644 index 000000000000..6197cce23c44 Binary files /dev/null and b/graphics/pokemon/blaziken/icon_gba.png differ diff --git a/graphics/pokemon/blaziken/normal_gba.pal b/graphics/pokemon/blaziken/normal_gba.pal new file mode 100644 index 000000000000..64aaed794a0d --- /dev/null +++ b/graphics/pokemon/blaziken/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +255 246 246 +205 180 180 +172 148 148 +148 115 123 +255 123 82 +222 98 49 +180 65 49 +74 41 65 +238 213 172 +205 180 156 +148 123 90 +255 230 156 +255 213 106 +230 172 90 +0 0 0 diff --git a/graphics/pokemon/blaziken/overworldf.png b/graphics/pokemon/blaziken/overworldf.png new file mode 100644 index 000000000000..951d9bce61a7 Binary files /dev/null and b/graphics/pokemon/blaziken/overworldf.png differ diff --git a/graphics/pokemon/blaziken/shiny_gba.pal b/graphics/pokemon/blaziken/shiny_gba.pal new file mode 100644 index 000000000000..fea29cce8f18 --- /dev/null +++ b/graphics/pokemon/blaziken/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +255 246 246 +205 180 180 +172 148 148 +148 115 123 +197 82 49 +131 49 32 +106 24 8 +74 0 0 +238 230 222 +222 213 205 +180 65 49 +255 255 255 +255 180 82 +222 123 49 +0 0 0 diff --git a/graphics/pokemon/blissey/anim_front_gba.png b/graphics/pokemon/blissey/anim_front_gba.png new file mode 100644 index 000000000000..5692e36b2e3e Binary files /dev/null and b/graphics/pokemon/blissey/anim_front_gba.png differ diff --git a/graphics/pokemon/blissey/back_gba.png b/graphics/pokemon/blissey/back_gba.png new file mode 100644 index 000000000000..9823bd9947ff Binary files /dev/null and b/graphics/pokemon/blissey/back_gba.png differ diff --git a/graphics/pokemon/blissey/icon_gba.png b/graphics/pokemon/blissey/icon_gba.png new file mode 100644 index 000000000000..44af9704cbfb Binary files /dev/null and b/graphics/pokemon/blissey/icon_gba.png differ diff --git a/graphics/pokemon/blissey/normal_gba.pal b/graphics/pokemon/blissey/normal_gba.pal new file mode 100644 index 000000000000..edeacbdaa201 --- /dev/null +++ b/graphics/pokemon/blissey/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 222 222 +180 180 180 +106 106 106 +0 255 0 +255 213 222 +255 172 197 +238 123 156 +213 74 98 +189 32 49 +0 255 0 +0 255 0 +213 74 98 +172 16 32 +16 16 16 diff --git a/graphics/pokemon/blissey/shiny_gba.pal b/graphics/pokemon/blissey/shiny_gba.pal new file mode 100644 index 000000000000..d6d75db9e268 --- /dev/null +++ b/graphics/pokemon/blissey/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 238 255 +180 197 222 +90 106 131 +0 255 0 +255 238 246 +255 213 230 +246 172 197 +222 115 139 +180 74 82 +0 255 0 +238 123 156 +222 90 98 +172 49 65 +16 16 16 diff --git a/graphics/pokemon/braviary/hisuian/back.png b/graphics/pokemon/braviary/hisui/back.png similarity index 100% rename from graphics/pokemon/braviary/hisuian/back.png rename to graphics/pokemon/braviary/hisui/back.png diff --git a/graphics/pokemon/braviary/hisuian/front.png b/graphics/pokemon/braviary/hisui/front.png similarity index 100% rename from graphics/pokemon/braviary/hisuian/front.png rename to graphics/pokemon/braviary/hisui/front.png diff --git a/graphics/pokemon/braviary/hisuian/icon.png b/graphics/pokemon/braviary/hisui/icon.png similarity index 100% rename from graphics/pokemon/braviary/hisuian/icon.png rename to graphics/pokemon/braviary/hisui/icon.png diff --git a/graphics/pokemon/braviary/hisuian/normal.pal b/graphics/pokemon/braviary/hisui/normal.pal similarity index 100% rename from graphics/pokemon/braviary/hisuian/normal.pal rename to graphics/pokemon/braviary/hisui/normal.pal diff --git a/graphics/pokemon/braviary/hisuian/overworld.png b/graphics/pokemon/braviary/hisui/overworld.png similarity index 100% rename from graphics/pokemon/braviary/hisuian/overworld.png rename to graphics/pokemon/braviary/hisui/overworld.png diff --git a/graphics/pokemon/braviary/hisuian/overworld_normal.pal b/graphics/pokemon/braviary/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/braviary/hisuian/overworld_normal.pal rename to graphics/pokemon/braviary/hisui/overworld_normal.pal diff --git a/graphics/pokemon/braviary/hisuian/overworld_shiny.pal b/graphics/pokemon/braviary/hisui/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/braviary/hisuian/overworld_shiny.pal rename to graphics/pokemon/braviary/hisui/overworld_shiny.pal diff --git a/graphics/pokemon/braviary/hisuian/shiny.pal b/graphics/pokemon/braviary/hisui/shiny.pal similarity index 100% rename from graphics/pokemon/braviary/hisuian/shiny.pal rename to graphics/pokemon/braviary/hisui/shiny.pal diff --git a/graphics/pokemon/breloom/anim_front_gba.png b/graphics/pokemon/breloom/anim_front_gba.png new file mode 100644 index 000000000000..e4d7aab2f39b Binary files /dev/null and b/graphics/pokemon/breloom/anim_front_gba.png differ diff --git a/graphics/pokemon/breloom/back_gba.png b/graphics/pokemon/breloom/back_gba.png new file mode 100644 index 000000000000..85df0804099d Binary files /dev/null and b/graphics/pokemon/breloom/back_gba.png differ diff --git a/graphics/pokemon/breloom/icon_gba.png b/graphics/pokemon/breloom/icon_gba.png new file mode 100644 index 000000000000..314873a27e3b Binary files /dev/null and b/graphics/pokemon/breloom/icon_gba.png differ diff --git a/graphics/pokemon/breloom/normal_gba.pal b/graphics/pokemon/breloom/normal_gba.pal new file mode 100644 index 000000000000..f01f5d94794c --- /dev/null +++ b/graphics/pokemon/breloom/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +255 255 255 +255 238 156 +246 213 123 +213 172 106 +82 24 16 +98 74 57 +57 82 24 +164 131 82 +172 213 98 +148 189 74 +115 148 49 +238 123 74 +172 49 16 +0 0 0 +222 74 41 diff --git a/graphics/pokemon/breloom/shiny_gba.pal b/graphics/pokemon/breloom/shiny_gba.pal new file mode 100644 index 000000000000..ad89e65f27ac --- /dev/null +++ b/graphics/pokemon/breloom/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 139 +255 255 255 +255 238 180 +255 230 148 +230 189 106 +82 24 16 +98 74 57 +57 82 24 +189 148 82 +255 115 74 +222 98 49 +180 65 49 +255 222 139 +238 139 49 +0 0 0 +255 180 90 diff --git a/graphics/pokemon/buizel/overworldf.png b/graphics/pokemon/buizel/overworldf.png new file mode 100644 index 000000000000..e41623536d01 Binary files /dev/null and b/graphics/pokemon/buizel/overworldf.png differ diff --git a/graphics/pokemon/bulbasaur/anim_front_gba.png b/graphics/pokemon/bulbasaur/anim_front_gba.png new file mode 100644 index 000000000000..bb5fb3d23a8f Binary files /dev/null and b/graphics/pokemon/bulbasaur/anim_front_gba.png differ diff --git a/graphics/pokemon/bulbasaur/back_gba.png b/graphics/pokemon/bulbasaur/back_gba.png new file mode 100644 index 000000000000..f97806b58e92 Binary files /dev/null and b/graphics/pokemon/bulbasaur/back_gba.png differ diff --git a/graphics/pokemon/bulbasaur/icon_gba.png b/graphics/pokemon/bulbasaur/icon_gba.png new file mode 100644 index 000000000000..8d6fe17254c2 Binary files /dev/null and b/graphics/pokemon/bulbasaur/icon_gba.png differ diff --git a/graphics/pokemon/bulbasaur/normal_gba.pal b/graphics/pokemon/bulbasaur/normal_gba.pal new file mode 100644 index 000000000000..5147bd974746 --- /dev/null +++ b/graphics/pokemon/bulbasaur/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +131 238 197 +98 213 164 +57 148 123 +24 74 74 +255 106 98 +222 74 65 +189 41 32 +205 205 205 +16 16 16 +189 255 115 +156 213 74 +115 172 49 +82 98 41 +255 0 255 diff --git a/graphics/pokemon/bulbasaur/shiny_gba.pal b/graphics/pokemon/bulbasaur/shiny_gba.pal new file mode 100644 index 000000000000..86a5358318bf --- /dev/null +++ b/graphics/pokemon/bulbasaur/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 255 41 +164 230 0 +106 172 0 +24 90 0 +255 106 98 +222 74 65 +189 41 32 +205 205 205 +16 16 16 +57 197 90 +16 156 49 +0 115 8 +0 57 0 +255 0 255 diff --git a/graphics/pokemon/burmy/plant/footprint.png b/graphics/pokemon/burmy/footprint.png similarity index 100% rename from graphics/pokemon/burmy/plant/footprint.png rename to graphics/pokemon/burmy/footprint.png diff --git a/graphics/pokemon/burmy/sandy_cloak/anim_front.png b/graphics/pokemon/burmy/sandy/anim_front.png similarity index 100% rename from graphics/pokemon/burmy/sandy_cloak/anim_front.png rename to graphics/pokemon/burmy/sandy/anim_front.png diff --git a/graphics/pokemon/burmy/sandy_cloak/back.png b/graphics/pokemon/burmy/sandy/back.png similarity index 100% rename from graphics/pokemon/burmy/sandy_cloak/back.png rename to graphics/pokemon/burmy/sandy/back.png diff --git a/graphics/pokemon/burmy/sandy_cloak/icon.png b/graphics/pokemon/burmy/sandy/icon.png similarity index 100% rename from graphics/pokemon/burmy/sandy_cloak/icon.png rename to graphics/pokemon/burmy/sandy/icon.png diff --git a/graphics/pokemon/burmy/sandy_cloak/normal.pal b/graphics/pokemon/burmy/sandy/normal.pal similarity index 100% rename from graphics/pokemon/burmy/sandy_cloak/normal.pal rename to graphics/pokemon/burmy/sandy/normal.pal diff --git a/graphics/pokemon/burmy/sandy_cloak/overworld.png b/graphics/pokemon/burmy/sandy/overworld.png similarity index 100% rename from graphics/pokemon/burmy/sandy_cloak/overworld.png rename to graphics/pokemon/burmy/sandy/overworld.png diff --git a/graphics/pokemon/burmy/sandy_cloak/overworld_normal.pal b/graphics/pokemon/burmy/sandy/overworld_normal.pal similarity index 100% rename from graphics/pokemon/burmy/sandy_cloak/overworld_normal.pal rename to graphics/pokemon/burmy/sandy/overworld_normal.pal diff --git a/graphics/pokemon/burmy/sandy_cloak/overworld_shiny.pal b/graphics/pokemon/burmy/sandy/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/burmy/sandy_cloak/overworld_shiny.pal rename to graphics/pokemon/burmy/sandy/overworld_shiny.pal diff --git a/graphics/pokemon/burmy/sandy_cloak/shiny.pal b/graphics/pokemon/burmy/sandy/shiny.pal similarity index 100% rename from graphics/pokemon/burmy/sandy_cloak/shiny.pal rename to graphics/pokemon/burmy/sandy/shiny.pal diff --git a/graphics/pokemon/burmy/trash_cloak/anim_front.png b/graphics/pokemon/burmy/trash/anim_front.png similarity index 100% rename from graphics/pokemon/burmy/trash_cloak/anim_front.png rename to graphics/pokemon/burmy/trash/anim_front.png diff --git a/graphics/pokemon/burmy/trash_cloak/back.png b/graphics/pokemon/burmy/trash/back.png similarity index 100% rename from graphics/pokemon/burmy/trash_cloak/back.png rename to graphics/pokemon/burmy/trash/back.png diff --git a/graphics/pokemon/burmy/trash_cloak/icon.png b/graphics/pokemon/burmy/trash/icon.png similarity index 100% rename from graphics/pokemon/burmy/trash_cloak/icon.png rename to graphics/pokemon/burmy/trash/icon.png diff --git a/graphics/pokemon/burmy/trash_cloak/normal.pal b/graphics/pokemon/burmy/trash/normal.pal similarity index 100% rename from graphics/pokemon/burmy/trash_cloak/normal.pal rename to graphics/pokemon/burmy/trash/normal.pal diff --git a/graphics/pokemon/burmy/trash_cloak/overworld.png b/graphics/pokemon/burmy/trash/overworld.png similarity index 100% rename from graphics/pokemon/burmy/trash_cloak/overworld.png rename to graphics/pokemon/burmy/trash/overworld.png diff --git a/graphics/pokemon/burmy/trash_cloak/overworld_normal.pal b/graphics/pokemon/burmy/trash/overworld_normal.pal similarity index 100% rename from graphics/pokemon/burmy/trash_cloak/overworld_normal.pal rename to graphics/pokemon/burmy/trash/overworld_normal.pal diff --git a/graphics/pokemon/burmy/trash_cloak/overworld_shiny.pal b/graphics/pokemon/burmy/trash/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/burmy/trash_cloak/overworld_shiny.pal rename to graphics/pokemon/burmy/trash/overworld_shiny.pal diff --git a/graphics/pokemon/burmy/trash_cloak/shiny.pal b/graphics/pokemon/burmy/trash/shiny.pal similarity index 100% rename from graphics/pokemon/burmy/trash_cloak/shiny.pal rename to graphics/pokemon/burmy/trash/shiny.pal diff --git a/graphics/pokemon/butterfree/anim_front_gba.png b/graphics/pokemon/butterfree/anim_front_gba.png new file mode 100644 index 000000000000..1626e11c0b4f Binary files /dev/null and b/graphics/pokemon/butterfree/anim_front_gba.png differ diff --git a/graphics/pokemon/butterfree/back_gba.png b/graphics/pokemon/butterfree/back_gba.png new file mode 100644 index 000000000000..6887ed815e61 Binary files /dev/null and b/graphics/pokemon/butterfree/back_gba.png differ diff --git a/graphics/pokemon/butterfree/gigantamax/back.png b/graphics/pokemon/butterfree/gmax/back.png similarity index 100% rename from graphics/pokemon/butterfree/gigantamax/back.png rename to graphics/pokemon/butterfree/gmax/back.png diff --git a/graphics/pokemon/butterfree/gigantamax/front.png b/graphics/pokemon/butterfree/gmax/front.png similarity index 100% rename from graphics/pokemon/butterfree/gigantamax/front.png rename to graphics/pokemon/butterfree/gmax/front.png diff --git a/graphics/pokemon/butterfree/gigantamax/icon.png b/graphics/pokemon/butterfree/gmax/icon.png similarity index 100% rename from graphics/pokemon/butterfree/gigantamax/icon.png rename to graphics/pokemon/butterfree/gmax/icon.png diff --git a/graphics/pokemon/butterfree/gigantamax/normal.pal b/graphics/pokemon/butterfree/gmax/normal.pal similarity index 100% rename from graphics/pokemon/butterfree/gigantamax/normal.pal rename to graphics/pokemon/butterfree/gmax/normal.pal diff --git a/graphics/pokemon/butterfree/gigantamax/shiny.pal b/graphics/pokemon/butterfree/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/butterfree/gigantamax/shiny.pal rename to graphics/pokemon/butterfree/gmax/shiny.pal diff --git a/graphics/pokemon/butterfree/icon_gba.png b/graphics/pokemon/butterfree/icon_gba.png new file mode 100644 index 000000000000..11c4a379fa38 Binary files /dev/null and b/graphics/pokemon/butterfree/icon_gba.png differ diff --git a/graphics/pokemon/butterfree/normal_gba.pal b/graphics/pokemon/butterfree/normal_gba.pal new file mode 100644 index 000000000000..a59d4a5d50bd --- /dev/null +++ b/graphics/pokemon/butterfree/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 164 123 +255 255 255 +16 16 16 +255 0 255 +180 180 197 +123 123 156 +82 82 115 +65 65 90 +255 197 106 +255 123 82 +213 90 41 +148 32 16 +230 230 230 +197 197 197 +156 205 197 +90 180 139 diff --git a/graphics/pokemon/butterfree/overworld.png b/graphics/pokemon/butterfree/overworld.png index c29f337badf4..f7edb449428e 100644 Binary files a/graphics/pokemon/butterfree/overworld.png and b/graphics/pokemon/butterfree/overworld.png differ diff --git a/graphics/pokemon/butterfree/overworld_normal.pal b/graphics/pokemon/butterfree/overworld_normal.pal index 1ce5a15e5d70..4756c9d723eb 100644 --- a/graphics/pokemon/butterfree/overworld_normal.pal +++ b/graphics/pokemon/butterfree/overworld_normal.pal @@ -15,5 +15,5 @@ JASC-PAL 104 200 248 80 144 224 48 64 144 -0 0 0 +73 73 73 0 0 0 diff --git a/graphics/pokemon/butterfree/overworld_shiny.pal b/graphics/pokemon/butterfree/overworld_shiny.pal index 222adecce1f0..1db4b7343345 100644 --- a/graphics/pokemon/butterfree/overworld_shiny.pal +++ b/graphics/pokemon/butterfree/overworld_shiny.pal @@ -15,5 +15,5 @@ JASC-PAL 248 112 136 176 72 96 112 40 56 -0 0 0 +73 73 73 0 0 0 diff --git a/graphics/pokemon/butterfree/overworldf.png b/graphics/pokemon/butterfree/overworldf.png new file mode 100644 index 000000000000..4402aaf26312 Binary files /dev/null and b/graphics/pokemon/butterfree/overworldf.png differ diff --git a/graphics/pokemon/butterfree/shiny_gba.pal b/graphics/pokemon/butterfree/shiny_gba.pal new file mode 100644 index 000000000000..da1e68990939 --- /dev/null +++ b/graphics/pokemon/butterfree/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +16 16 16 +255 0 255 +189 189 205 +123 123 156 +90 90 123 +65 65 90 +164 255 98 +123 222 57 +82 180 16 +16 98 0 +255 197 205 +255 115 123 +255 189 197 +255 139 148 diff --git a/graphics/pokemon/cacnea/anim_front_gba.png b/graphics/pokemon/cacnea/anim_front_gba.png new file mode 100644 index 000000000000..ac3158742e24 Binary files /dev/null and b/graphics/pokemon/cacnea/anim_front_gba.png differ diff --git a/graphics/pokemon/cacnea/back_gba.png b/graphics/pokemon/cacnea/back_gba.png new file mode 100644 index 000000000000..dbc804775b72 Binary files /dev/null and b/graphics/pokemon/cacnea/back_gba.png differ diff --git a/graphics/pokemon/cacnea/icon_gba.png b/graphics/pokemon/cacnea/icon_gba.png new file mode 100644 index 000000000000..367f07668e90 Binary files /dev/null and b/graphics/pokemon/cacnea/icon_gba.png differ diff --git a/graphics/pokemon/cacnea/normal_gba.pal b/graphics/pokemon/cacnea/normal_gba.pal new file mode 100644 index 000000000000..2bfc05a1e1c5 --- /dev/null +++ b/graphics/pokemon/cacnea/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 172 98 +205 238 115 +172 205 98 +139 172 82 +106 139 65 +230 255 156 +123 205 106 +74 156 57 +65 115 41 +131 131 131 +49 82 41 +255 238 255 +255 213 74 +189 156 65 +255 238 148 +16 16 16 diff --git a/graphics/pokemon/cacnea/shiny_gba.pal b/graphics/pokemon/cacnea/shiny_gba.pal new file mode 100644 index 000000000000..67e730f6144d --- /dev/null +++ b/graphics/pokemon/cacnea/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 172 98 +238 189 90 +205 156 57 +172 123 24 +139 90 0 +255 222 123 +205 106 57 +172 74 24 +139 41 0 +131 131 131 +74 24 0 +255 238 255 +255 213 74 +189 156 65 +255 238 148 +16 16 16 diff --git a/graphics/pokemon/cacturne/anim_front_gba.png b/graphics/pokemon/cacturne/anim_front_gba.png new file mode 100644 index 000000000000..2ee1646e8e44 Binary files /dev/null and b/graphics/pokemon/cacturne/anim_front_gba.png differ diff --git a/graphics/pokemon/cacturne/back_gba.png b/graphics/pokemon/cacturne/back_gba.png new file mode 100644 index 000000000000..9a67227d0415 Binary files /dev/null and b/graphics/pokemon/cacturne/back_gba.png differ diff --git a/graphics/pokemon/cacturne/icon_gba.png b/graphics/pokemon/cacturne/icon_gba.png new file mode 100644 index 000000000000..948bea2d89ae Binary files /dev/null and b/graphics/pokemon/cacturne/icon_gba.png differ diff --git a/graphics/pokemon/cacturne/normal_gba.pal b/graphics/pokemon/cacturne/normal_gba.pal new file mode 100644 index 000000000000..cd8281641684 --- /dev/null +++ b/graphics/pokemon/cacturne/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 172 98 +180 213 115 +156 189 98 +131 164 82 +106 139 65 +98 197 106 +82 172 98 +65 164 90 +49 131 74 +98 115 74 +57 82 41 +205 238 115 +255 230 74 +139 115 115 +82 82 90 +16 16 16 diff --git a/graphics/pokemon/cacturne/overworldf.png b/graphics/pokemon/cacturne/overworldf.png new file mode 100644 index 000000000000..cceeea05fbac Binary files /dev/null and b/graphics/pokemon/cacturne/overworldf.png differ diff --git a/graphics/pokemon/cacturne/shiny_gba.pal b/graphics/pokemon/cacturne/shiny_gba.pal new file mode 100644 index 000000000000..11914015b97b --- /dev/null +++ b/graphics/pokemon/cacturne/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 172 98 +238 189 90 +205 156 57 +172 123 24 +139 90 0 +205 106 57 +172 74 24 +139 41 0 +106 8 0 +106 57 0 +74 24 0 +255 222 123 +255 230 74 +139 115 115 +82 82 90 +16 16 16 diff --git a/graphics/pokemon/calyrex/ice_rider/back.png b/graphics/pokemon/calyrex/ice/back.png similarity index 100% rename from graphics/pokemon/calyrex/ice_rider/back.png rename to graphics/pokemon/calyrex/ice/back.png diff --git a/graphics/pokemon/calyrex/ice_rider/front.png b/graphics/pokemon/calyrex/ice/front.png similarity index 100% rename from graphics/pokemon/calyrex/ice_rider/front.png rename to graphics/pokemon/calyrex/ice/front.png diff --git a/graphics/pokemon/calyrex/ice_rider/icon.png b/graphics/pokemon/calyrex/ice/icon.png similarity index 100% rename from graphics/pokemon/calyrex/ice_rider/icon.png rename to graphics/pokemon/calyrex/ice/icon.png diff --git a/graphics/pokemon/calyrex/ice_rider/normal.pal b/graphics/pokemon/calyrex/ice/normal.pal similarity index 100% rename from graphics/pokemon/calyrex/ice_rider/normal.pal rename to graphics/pokemon/calyrex/ice/normal.pal diff --git a/graphics/pokemon/calyrex/ice_rider/overworld.png b/graphics/pokemon/calyrex/ice/overworld.png similarity index 100% rename from graphics/pokemon/calyrex/ice_rider/overworld.png rename to graphics/pokemon/calyrex/ice/overworld.png diff --git a/graphics/pokemon/calyrex/ice_rider/overworld_normal.pal b/graphics/pokemon/calyrex/ice/overworld_normal.pal similarity index 100% rename from graphics/pokemon/calyrex/ice_rider/overworld_normal.pal rename to graphics/pokemon/calyrex/ice/overworld_normal.pal diff --git a/graphics/pokemon/calyrex/ice_rider/overworld_shiny.pal b/graphics/pokemon/calyrex/ice/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/calyrex/ice_rider/overworld_shiny.pal rename to graphics/pokemon/calyrex/ice/overworld_shiny.pal diff --git a/graphics/pokemon/calyrex/ice_rider/shiny.pal b/graphics/pokemon/calyrex/ice/shiny.pal similarity index 100% rename from graphics/pokemon/calyrex/ice_rider/shiny.pal rename to graphics/pokemon/calyrex/ice/shiny.pal diff --git a/graphics/pokemon/calyrex/shadow_rider/back.png b/graphics/pokemon/calyrex/shadow/back.png similarity index 100% rename from graphics/pokemon/calyrex/shadow_rider/back.png rename to graphics/pokemon/calyrex/shadow/back.png diff --git a/graphics/pokemon/calyrex/shadow_rider/front.png b/graphics/pokemon/calyrex/shadow/front.png similarity index 100% rename from graphics/pokemon/calyrex/shadow_rider/front.png rename to graphics/pokemon/calyrex/shadow/front.png diff --git a/graphics/pokemon/calyrex/shadow_rider/icon.png b/graphics/pokemon/calyrex/shadow/icon.png similarity index 100% rename from graphics/pokemon/calyrex/shadow_rider/icon.png rename to graphics/pokemon/calyrex/shadow/icon.png diff --git a/graphics/pokemon/calyrex/shadow_rider/normal.pal b/graphics/pokemon/calyrex/shadow/normal.pal similarity index 100% rename from graphics/pokemon/calyrex/shadow_rider/normal.pal rename to graphics/pokemon/calyrex/shadow/normal.pal diff --git a/graphics/pokemon/calyrex/shadow_rider/overworld.png b/graphics/pokemon/calyrex/shadow/overworld.png similarity index 100% rename from graphics/pokemon/calyrex/shadow_rider/overworld.png rename to graphics/pokemon/calyrex/shadow/overworld.png diff --git a/graphics/pokemon/calyrex/shadow_rider/overworld_normal.pal b/graphics/pokemon/calyrex/shadow/overworld_normal.pal similarity index 100% rename from graphics/pokemon/calyrex/shadow_rider/overworld_normal.pal rename to graphics/pokemon/calyrex/shadow/overworld_normal.pal diff --git a/graphics/pokemon/calyrex/shadow_rider/overworld_shiny.pal b/graphics/pokemon/calyrex/shadow/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/calyrex/shadow_rider/overworld_shiny.pal rename to graphics/pokemon/calyrex/shadow/overworld_shiny.pal diff --git a/graphics/pokemon/calyrex/shadow_rider/shiny.pal b/graphics/pokemon/calyrex/shadow/shiny.pal similarity index 100% rename from graphics/pokemon/calyrex/shadow_rider/shiny.pal rename to graphics/pokemon/calyrex/shadow/shiny.pal diff --git a/graphics/pokemon/camerupt/anim_front_gba.png b/graphics/pokemon/camerupt/anim_front_gba.png new file mode 100644 index 000000000000..b63d901ba51b Binary files /dev/null and b/graphics/pokemon/camerupt/anim_front_gba.png differ diff --git a/graphics/pokemon/camerupt/back_gba.png b/graphics/pokemon/camerupt/back_gba.png new file mode 100644 index 000000000000..3b17447551b6 Binary files /dev/null and b/graphics/pokemon/camerupt/back_gba.png differ diff --git a/graphics/pokemon/camerupt/icon_gba.png b/graphics/pokemon/camerupt/icon_gba.png new file mode 100644 index 000000000000..372fc7ce0a86 Binary files /dev/null and b/graphics/pokemon/camerupt/icon_gba.png differ diff --git a/graphics/pokemon/camerupt/normal_gba.pal b/graphics/pokemon/camerupt/normal_gba.pal new file mode 100644 index 000000000000..bd1096ff62a1 --- /dev/null +++ b/graphics/pokemon/camerupt/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 106 156 +24 24 24 +82 49 24 +189 82 41 +230 106 24 +238 172 74 +74 74 139 +131 131 189 +189 180 189 +0 0 0 +189 123 106 +238 238 205 +213 213 131 +172 172 90 +74 74 32 +255 255 255 diff --git a/graphics/pokemon/camerupt/overworldf.png b/graphics/pokemon/camerupt/overworldf.png new file mode 100644 index 000000000000..8adc7d5c407d Binary files /dev/null and b/graphics/pokemon/camerupt/overworldf.png differ diff --git a/graphics/pokemon/camerupt/shiny_gba.pal b/graphics/pokemon/camerupt/shiny_gba.pal new file mode 100644 index 000000000000..c402d68ddd57 --- /dev/null +++ b/graphics/pokemon/camerupt/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 106 156 +41 41 24 +41 41 57 +57 65 82 +115 106 123 +148 139 156 +222 172 74 +255 246 115 +222 213 222 +0 0 0 +197 139 57 +255 255 255 +238 189 156 +197 148 115 +115 74 49 +255 255 255 diff --git a/graphics/pokemon/carvanha/anim_front_gba.png b/graphics/pokemon/carvanha/anim_front_gba.png new file mode 100644 index 000000000000..ec2df0cf9367 Binary files /dev/null and b/graphics/pokemon/carvanha/anim_front_gba.png differ diff --git a/graphics/pokemon/carvanha/back_gba.png b/graphics/pokemon/carvanha/back_gba.png new file mode 100644 index 000000000000..cef8c25ddd7c Binary files /dev/null and b/graphics/pokemon/carvanha/back_gba.png differ diff --git a/graphics/pokemon/carvanha/icon_gba.png b/graphics/pokemon/carvanha/icon_gba.png new file mode 100644 index 000000000000..6b0d48a8a95f Binary files /dev/null and b/graphics/pokemon/carvanha/icon_gba.png differ diff --git a/graphics/pokemon/carvanha/normal_gba.pal b/graphics/pokemon/carvanha/normal_gba.pal new file mode 100644 index 000000000000..fbe24d28b630 --- /dev/null +++ b/graphics/pokemon/carvanha/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 131 213 +41 41 90 +172 197 255 +98 74 57 +49 74 156 +65 123 189 +98 164 222 +189 57 57 +246 57 57 +255 131 131 +205 148 41 +238 189 41 +255 205 82 +123 57 57 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/carvanha/shiny_gba.pal b/graphics/pokemon/carvanha/shiny_gba.pal new file mode 100644 index 000000000000..0e0cb9268127 --- /dev/null +++ b/graphics/pokemon/carvanha/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 131 213 +41 41 90 +172 197 255 +98 74 57 +123 156 24 +156 189 57 +189 222 90 +49 148 131 +82 180 164 +115 213 197 +205 148 41 +238 189 41 +255 205 82 +0 98 82 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/cascoon/anim_front_gba.png b/graphics/pokemon/cascoon/anim_front_gba.png new file mode 100644 index 000000000000..19080ba2c92f Binary files /dev/null and b/graphics/pokemon/cascoon/anim_front_gba.png differ diff --git a/graphics/pokemon/cascoon/back_gba.png b/graphics/pokemon/cascoon/back_gba.png new file mode 100644 index 000000000000..fb6bc2955fe1 Binary files /dev/null and b/graphics/pokemon/cascoon/back_gba.png differ diff --git a/graphics/pokemon/cascoon/icon_gba.png b/graphics/pokemon/cascoon/icon_gba.png new file mode 100644 index 000000000000..4d49506c09ed Binary files /dev/null and b/graphics/pokemon/cascoon/icon_gba.png differ diff --git a/graphics/pokemon/cascoon/normal_gba.pal b/graphics/pokemon/cascoon/normal_gba.pal new file mode 100644 index 000000000000..05dceb93175b --- /dev/null +++ b/graphics/pokemon/cascoon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 246 197 +106 98 115 +139 139 148 +172 172 180 +0 0 0 +172 156 189 +222 180 230 +238 213 230 +238 230 255 +115 0 0 +246 197 0 +189 49 0 +148 148 0 +246 255 197 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/cascoon/shiny_gba.pal b/graphics/pokemon/cascoon/shiny_gba.pal new file mode 100644 index 000000000000..e8b230ed1a34 --- /dev/null +++ b/graphics/pokemon/cascoon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 246 197 +49 98 16 +82 148 24 +115 180 57 +0 0 0 +139 205 74 +172 230 98 +213 255 148 +238 255 172 +115 0 0 +246 197 0 +189 49 0 +148 148 0 +246 255 197 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/caterpie/anim_front_gba.png b/graphics/pokemon/caterpie/anim_front_gba.png new file mode 100644 index 000000000000..602b7e30f5df Binary files /dev/null and b/graphics/pokemon/caterpie/anim_front_gba.png differ diff --git a/graphics/pokemon/caterpie/back_gba.png b/graphics/pokemon/caterpie/back_gba.png new file mode 100644 index 000000000000..801748d1c38d Binary files /dev/null and b/graphics/pokemon/caterpie/back_gba.png differ diff --git a/graphics/pokemon/caterpie/icon_gba.png b/graphics/pokemon/caterpie/icon_gba.png new file mode 100644 index 000000000000..be20669c3c66 Binary files /dev/null and b/graphics/pokemon/caterpie/icon_gba.png differ diff --git a/graphics/pokemon/caterpie/normal_gba.pal b/graphics/pokemon/caterpie/normal_gba.pal new file mode 100644 index 000000000000..c672687ac635 --- /dev/null +++ b/graphics/pokemon/caterpie/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 197 98 +238 238 123 +213 205 98 +255 172 115 +238 123 49 +197 65 65 +123 98 57 +189 255 115 +156 213 74 +115 172 49 +82 98 41 +255 0 255 +131 131 131 +16 16 16 diff --git a/graphics/pokemon/caterpie/shiny_gba.pal b/graphics/pokemon/caterpie/shiny_gba.pal new file mode 100644 index 000000000000..4b797001e316 --- /dev/null +++ b/graphics/pokemon/caterpie/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 197 98 +255 230 156 +255 213 106 +230 172 90 +255 32 57 +148 0 24 +148 98 24 +255 255 123 +255 246 32 +255 189 0 +148 82 16 +255 0 255 +131 131 131 +16 16 16 diff --git a/graphics/pokemon/celebi/anim_front_gba.png b/graphics/pokemon/celebi/anim_front_gba.png new file mode 100644 index 000000000000..e4b6a9d619c2 Binary files /dev/null and b/graphics/pokemon/celebi/anim_front_gba.png differ diff --git a/graphics/pokemon/celebi/back_gba.png b/graphics/pokemon/celebi/back_gba.png new file mode 100644 index 000000000000..c43e455dc19b Binary files /dev/null and b/graphics/pokemon/celebi/back_gba.png differ diff --git a/graphics/pokemon/celebi/icon_gba.png b/graphics/pokemon/celebi/icon_gba.png new file mode 100644 index 000000000000..245d580f744f Binary files /dev/null and b/graphics/pokemon/celebi/icon_gba.png differ diff --git a/graphics/pokemon/celebi/normal_gba.pal b/graphics/pokemon/celebi/normal_gba.pal new file mode 100644 index 000000000000..aed1b3ec2c19 --- /dev/null +++ b/graphics/pokemon/celebi/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 255 213 +197 238 164 +123 213 115 +65 189 65 +32 139 32 +255 255 255 +172 238 255 +115 189 230 +57 139 205 +0 98 180 +255 0 255 +180 180 189 +106 115 131 +16 16 16 diff --git a/graphics/pokemon/celebi/shiny_gba.pal b/graphics/pokemon/celebi/shiny_gba.pal new file mode 100644 index 000000000000..b90d6ed435c9 --- /dev/null +++ b/graphics/pokemon/celebi/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 230 +255 238 230 +255 205 197 +238 164 156 +222 106 131 +172 57 65 +255 255 255 +189 222 238 +106 213 90 +74 180 65 +41 148 41 +222 32 222 +180 180 189 +106 115 131 +49 49 49 diff --git a/graphics/pokemon/centiskorch/gigantamax/back.png b/graphics/pokemon/centiskorch/gmax/back.png similarity index 100% rename from graphics/pokemon/centiskorch/gigantamax/back.png rename to graphics/pokemon/centiskorch/gmax/back.png diff --git a/graphics/pokemon/centiskorch/gigantamax/front.png b/graphics/pokemon/centiskorch/gmax/front.png similarity index 100% rename from graphics/pokemon/centiskorch/gigantamax/front.png rename to graphics/pokemon/centiskorch/gmax/front.png diff --git a/graphics/pokemon/centiskorch/gigantamax/icon.png b/graphics/pokemon/centiskorch/gmax/icon.png similarity index 100% rename from graphics/pokemon/centiskorch/gigantamax/icon.png rename to graphics/pokemon/centiskorch/gmax/icon.png diff --git a/graphics/pokemon/centiskorch/gigantamax/normal.pal b/graphics/pokemon/centiskorch/gmax/normal.pal similarity index 100% rename from graphics/pokemon/centiskorch/gigantamax/normal.pal rename to graphics/pokemon/centiskorch/gmax/normal.pal diff --git a/graphics/pokemon/centiskorch/gigantamax/shiny.pal b/graphics/pokemon/centiskorch/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/centiskorch/gigantamax/shiny.pal rename to graphics/pokemon/centiskorch/gmax/shiny.pal diff --git a/graphics/pokemon/chansey/anim_front_gba.png b/graphics/pokemon/chansey/anim_front_gba.png new file mode 100644 index 000000000000..1fa9b268d1b8 Binary files /dev/null and b/graphics/pokemon/chansey/anim_front_gba.png differ diff --git a/graphics/pokemon/chansey/back_gba.png b/graphics/pokemon/chansey/back_gba.png new file mode 100644 index 000000000000..db61e1c11662 Binary files /dev/null and b/graphics/pokemon/chansey/back_gba.png differ diff --git a/graphics/pokemon/chansey/icon_gba.png b/graphics/pokemon/chansey/icon_gba.png new file mode 100644 index 000000000000..4083185b0368 Binary files /dev/null and b/graphics/pokemon/chansey/icon_gba.png differ diff --git a/graphics/pokemon/chansey/normal_gba.pal b/graphics/pokemon/chansey/normal_gba.pal new file mode 100644 index 000000000000..556aaa5e1de4 --- /dev/null +++ b/graphics/pokemon/chansey/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +246 238 164 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 172 172 +255 131 90 +238 90 49 +255 222 222 +255 213 213 +255 172 172 +246 115 115 +180 65 49 diff --git a/graphics/pokemon/chansey/shiny_gba.pal b/graphics/pokemon/chansey/shiny_gba.pal new file mode 100644 index 000000000000..e8107f8d5ada --- /dev/null +++ b/graphics/pokemon/chansey/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +246 238 164 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +180 238 106 +148 213 82 +106 189 49 +255 255 230 +255 238 205 +246 205 139 +230 172 98 +123 90 16 diff --git a/graphics/pokemon/charizard/anim_front_gba.png b/graphics/pokemon/charizard/anim_front_gba.png new file mode 100644 index 000000000000..b3ed32338271 Binary files /dev/null and b/graphics/pokemon/charizard/anim_front_gba.png differ diff --git a/graphics/pokemon/charizard/back_gba.png b/graphics/pokemon/charizard/back_gba.png new file mode 100644 index 000000000000..22cf6b0432c0 Binary files /dev/null and b/graphics/pokemon/charizard/back_gba.png differ diff --git a/graphics/pokemon/charizard/gigantamax/back.png b/graphics/pokemon/charizard/gmax/back.png similarity index 100% rename from graphics/pokemon/charizard/gigantamax/back.png rename to graphics/pokemon/charizard/gmax/back.png diff --git a/graphics/pokemon/charizard/gigantamax/front.png b/graphics/pokemon/charizard/gmax/front.png similarity index 100% rename from graphics/pokemon/charizard/gigantamax/front.png rename to graphics/pokemon/charizard/gmax/front.png diff --git a/graphics/pokemon/charizard/gigantamax/icon.png b/graphics/pokemon/charizard/gmax/icon.png similarity index 100% rename from graphics/pokemon/charizard/gigantamax/icon.png rename to graphics/pokemon/charizard/gmax/icon.png diff --git a/graphics/pokemon/charizard/gigantamax/normal.pal b/graphics/pokemon/charizard/gmax/normal.pal similarity index 100% rename from graphics/pokemon/charizard/gigantamax/normal.pal rename to graphics/pokemon/charizard/gmax/normal.pal diff --git a/graphics/pokemon/charizard/gigantamax/shiny.pal b/graphics/pokemon/charizard/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/charizard/gigantamax/shiny.pal rename to graphics/pokemon/charizard/gmax/shiny.pal diff --git a/graphics/pokemon/charizard/icon_gba.png b/graphics/pokemon/charizard/icon_gba.png new file mode 100644 index 000000000000..9c8140887b1f Binary files /dev/null and b/graphics/pokemon/charizard/icon_gba.png differ diff --git a/graphics/pokemon/charizard/normal_gba.pal b/graphics/pokemon/charizard/normal_gba.pal new file mode 100644 index 000000000000..154a0f0c559a --- /dev/null +++ b/graphics/pokemon/charizard/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +238 82 65 +197 49 32 +41 172 189 +32 123 148 +24 65 106 +255 230 156 +255 213 106 +255 164 90 +16 16 16 +255 197 98 +255 148 65 +222 98 32 +148 49 0 +213 213 213 +255 255 255 diff --git a/graphics/pokemon/charizard/shiny_gba.pal b/graphics/pokemon/charizard/shiny_gba.pal new file mode 100644 index 000000000000..0704ae619ede --- /dev/null +++ b/graphics/pokemon/charizard/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +238 82 65 +197 49 32 +222 98 106 +189 65 74 +156 32 41 +238 238 156 +222 213 131 +205 189 106 +16 16 16 +131 156 156 +98 123 123 +65 90 90 +32 57 57 +213 213 213 +255 255 255 diff --git a/graphics/pokemon/charmander/anim_front_gba.png b/graphics/pokemon/charmander/anim_front_gba.png new file mode 100644 index 000000000000..b4f1a3c73708 Binary files /dev/null and b/graphics/pokemon/charmander/anim_front_gba.png differ diff --git a/graphics/pokemon/charmander/back_gba.png b/graphics/pokemon/charmander/back_gba.png new file mode 100644 index 000000000000..9e3eb944ed43 Binary files /dev/null and b/graphics/pokemon/charmander/back_gba.png differ diff --git a/graphics/pokemon/charmander/icon_gba.png b/graphics/pokemon/charmander/icon_gba.png new file mode 100644 index 000000000000..c3fa4fde473d Binary files /dev/null and b/graphics/pokemon/charmander/icon_gba.png differ diff --git a/graphics/pokemon/charmander/normal_gba.pal b/graphics/pokemon/charmander/normal_gba.pal new file mode 100644 index 000000000000..1e542aa4886c --- /dev/null +++ b/graphics/pokemon/charmander/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +180 180 180 +255 255 255 +255 230 156 +255 213 106 +230 172 90 +213 65 8 +246 148 8 +255 197 98 +255 148 65 +222 82 32 +148 49 0 +24 74 49 +65 164 123 +148 205 222 diff --git a/graphics/pokemon/charmander/shiny_gba.pal b/graphics/pokemon/charmander/shiny_gba.pal new file mode 100644 index 000000000000..3b5bff449f0d --- /dev/null +++ b/graphics/pokemon/charmander/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +180 180 180 +255 255 255 +255 255 180 +255 230 148 +246 197 115 +213 65 8 +246 148 8 +255 246 90 +255 213 49 +222 172 8 +148 32 16 +24 74 49 +65 164 123 +148 205 222 diff --git a/graphics/pokemon/charmeleon/anim_front_gba.png b/graphics/pokemon/charmeleon/anim_front_gba.png new file mode 100644 index 000000000000..909f4f394e1c Binary files /dev/null and b/graphics/pokemon/charmeleon/anim_front_gba.png differ diff --git a/graphics/pokemon/charmeleon/back_gba.png b/graphics/pokemon/charmeleon/back_gba.png new file mode 100644 index 000000000000..d2fb0c776907 Binary files /dev/null and b/graphics/pokemon/charmeleon/back_gba.png differ diff --git a/graphics/pokemon/charmeleon/icon_gba.png b/graphics/pokemon/charmeleon/icon_gba.png new file mode 100644 index 000000000000..0f1550d0c9be Binary files /dev/null and b/graphics/pokemon/charmeleon/icon_gba.png differ diff --git a/graphics/pokemon/charmeleon/normal_gba.pal b/graphics/pokemon/charmeleon/normal_gba.pal new file mode 100644 index 000000000000..400b49d5c040 --- /dev/null +++ b/graphics/pokemon/charmeleon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +106 106 106 +255 0 255 +255 230 156 +255 213 106 +230 172 90 +213 65 8 +246 148 8 +255 0 255 +255 180 98 +255 106 74 +213 74 32 +148 32 16 +180 180 180 +16 16 16 diff --git a/graphics/pokemon/charmeleon/shiny_gba.pal b/graphics/pokemon/charmeleon/shiny_gba.pal new file mode 100644 index 000000000000..7b7b96e79cf0 --- /dev/null +++ b/graphics/pokemon/charmeleon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +106 106 106 +255 0 255 +255 230 156 +255 213 106 +230 172 90 +222 82 57 +246 148 106 +255 0 255 +255 238 164 +255 222 65 +238 164 16 +164 41 8 +180 180 180 +16 16 16 diff --git a/graphics/pokemon/chikorita/anim_front_gba.png b/graphics/pokemon/chikorita/anim_front_gba.png new file mode 100644 index 000000000000..fcc5174d2ac7 Binary files /dev/null and b/graphics/pokemon/chikorita/anim_front_gba.png differ diff --git a/graphics/pokemon/chikorita/back_gba.png b/graphics/pokemon/chikorita/back_gba.png new file mode 100644 index 000000000000..18c3569bfa4d Binary files /dev/null and b/graphics/pokemon/chikorita/back_gba.png differ diff --git a/graphics/pokemon/chikorita/icon_gba.png b/graphics/pokemon/chikorita/icon_gba.png new file mode 100644 index 000000000000..f9bc40d0e261 Binary files /dev/null and b/graphics/pokemon/chikorita/icon_gba.png differ diff --git a/graphics/pokemon/chikorita/normal_gba.pal b/graphics/pokemon/chikorita/normal_gba.pal new file mode 100644 index 000000000000..9bca4c3ebe01 --- /dev/null +++ b/graphics/pokemon/chikorita/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 255 131 +205 238 98 +156 197 8 +74 115 0 +98 172 74 +57 131 41 +0 90 0 +0 57 0 +205 205 205 +156 156 156 +98 98 98 +16 16 16 +213 131 82 +148 0 0 diff --git a/graphics/pokemon/chikorita/shiny_gba.pal b/graphics/pokemon/chikorita/shiny_gba.pal new file mode 100644 index 000000000000..d7ecae6fb472 --- /dev/null +++ b/graphics/pokemon/chikorita/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 148 +246 238 90 +205 197 57 +131 106 16 +246 189 106 +213 156 74 +164 98 24 +90 65 41 +205 205 205 +156 156 156 +156 131 74 +16 16 16 +222 156 115 +172 57 57 diff --git a/graphics/pokemon/chimecho/anim_front_gba.png b/graphics/pokemon/chimecho/anim_front_gba.png new file mode 100644 index 000000000000..26acbd0a0636 Binary files /dev/null and b/graphics/pokemon/chimecho/anim_front_gba.png differ diff --git a/graphics/pokemon/chimecho/back_gba.png b/graphics/pokemon/chimecho/back_gba.png new file mode 100644 index 000000000000..7a3fedacbaf0 Binary files /dev/null and b/graphics/pokemon/chimecho/back_gba.png differ diff --git a/graphics/pokemon/chimecho/icon_gba.png b/graphics/pokemon/chimecho/icon_gba.png new file mode 100644 index 000000000000..11b2d93b2630 Binary files /dev/null and b/graphics/pokemon/chimecho/icon_gba.png differ diff --git a/graphics/pokemon/chimecho/normal_gba.pal b/graphics/pokemon/chimecho/normal_gba.pal new file mode 100644 index 000000000000..9dd34b7c4f42 --- /dev/null +++ b/graphics/pokemon/chimecho/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +0 0 0 +255 123 148 +156 197 230 +197 230 255 +115 148 180 +255 255 255 +164 164 164 +255 230 148 +255 213 90 +65 74 106 +197 74 98 +123 41 65 +246 90 115 +246 189 90 +172 115 74 diff --git a/graphics/pokemon/chimecho/shiny_gba.pal b/graphics/pokemon/chimecho/shiny_gba.pal new file mode 100644 index 000000000000..44983802b3f9 --- /dev/null +++ b/graphics/pokemon/chimecho/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +0 0 0 +255 189 90 +148 230 148 +205 255 172 +98 189 98 +255 255 255 +164 164 164 +255 230 148 +255 213 90 +49 123 74 +197 106 24 +148 74 0 +255 148 24 +246 189 90 +172 115 74 diff --git a/graphics/pokemon/chinchou/anim_front_gba.png b/graphics/pokemon/chinchou/anim_front_gba.png new file mode 100644 index 000000000000..a573e698564e Binary files /dev/null and b/graphics/pokemon/chinchou/anim_front_gba.png differ diff --git a/graphics/pokemon/chinchou/back_gba.png b/graphics/pokemon/chinchou/back_gba.png new file mode 100644 index 000000000000..a3b11b2dc5f7 Binary files /dev/null and b/graphics/pokemon/chinchou/back_gba.png differ diff --git a/graphics/pokemon/chinchou/icon_gba.png b/graphics/pokemon/chinchou/icon_gba.png new file mode 100644 index 000000000000..1b585204b955 Binary files /dev/null and b/graphics/pokemon/chinchou/icon_gba.png differ diff --git a/graphics/pokemon/chinchou/normal_gba.pal b/graphics/pokemon/chinchou/normal_gba.pal new file mode 100644 index 000000000000..fc382ddbb32f --- /dev/null +++ b/graphics/pokemon/chinchou/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 230 255 +164 205 255 +139 156 255 +98 123 213 +65 90 172 +0 57 115 +255 246 172 +255 222 123 +213 180 90 +180 139 57 +106 57 0 +139 98 24 +164 0 0 +16 16 16 diff --git a/graphics/pokemon/chinchou/shiny_gba.pal b/graphics/pokemon/chinchou/shiny_gba.pal new file mode 100644 index 000000000000..babb7817888a --- /dev/null +++ b/graphics/pokemon/chinchou/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +148 238 255 +123 222 255 +82 180 255 +41 139 222 +8 90 180 +24 57 131 +213 255 115 +164 246 65 +123 205 74 +90 172 49 +57 139 24 +32 82 24 +148 57 0 +16 16 16 diff --git a/graphics/pokemon/cinderace/gigantamax/back.png b/graphics/pokemon/cinderace/gmax/back.png similarity index 100% rename from graphics/pokemon/cinderace/gigantamax/back.png rename to graphics/pokemon/cinderace/gmax/back.png diff --git a/graphics/pokemon/cinderace/gigantamax/front.png b/graphics/pokemon/cinderace/gmax/front.png similarity index 100% rename from graphics/pokemon/cinderace/gigantamax/front.png rename to graphics/pokemon/cinderace/gmax/front.png diff --git a/graphics/pokemon/cinderace/gigantamax/icon.png b/graphics/pokemon/cinderace/gmax/icon.png similarity index 100% rename from graphics/pokemon/cinderace/gigantamax/icon.png rename to graphics/pokemon/cinderace/gmax/icon.png diff --git a/graphics/pokemon/cinderace/gigantamax/normal.pal b/graphics/pokemon/cinderace/gmax/normal.pal similarity index 100% rename from graphics/pokemon/cinderace/gigantamax/normal.pal rename to graphics/pokemon/cinderace/gmax/normal.pal diff --git a/graphics/pokemon/cinderace/gigantamax/shiny.pal b/graphics/pokemon/cinderace/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/cinderace/gigantamax/shiny.pal rename to graphics/pokemon/cinderace/gmax/shiny.pal diff --git a/graphics/pokemon/clamperl/anim_front_gba.png b/graphics/pokemon/clamperl/anim_front_gba.png new file mode 100644 index 000000000000..21e547219de8 Binary files /dev/null and b/graphics/pokemon/clamperl/anim_front_gba.png differ diff --git a/graphics/pokemon/clamperl/back_gba.png b/graphics/pokemon/clamperl/back_gba.png new file mode 100644 index 000000000000..5b1324473ccd Binary files /dev/null and b/graphics/pokemon/clamperl/back_gba.png differ diff --git a/graphics/pokemon/clamperl/icon_gba.png b/graphics/pokemon/clamperl/icon_gba.png new file mode 100644 index 000000000000..fabcd96416e0 Binary files /dev/null and b/graphics/pokemon/clamperl/icon_gba.png differ diff --git a/graphics/pokemon/clamperl/normal_gba.pal b/graphics/pokemon/clamperl/normal_gba.pal new file mode 100644 index 000000000000..84d73039926c --- /dev/null +++ b/graphics/pokemon/clamperl/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 246 156 +255 255 255 +205 213 213 +139 164 148 +197 213 246 +139 189 205 +74 139 131 +41 65 131 +98 139 246 +49 90 205 +0 41 82 +123 189 255 +0 0 0 +255 123 213 +213 115 131 +115 74 90 diff --git a/graphics/pokemon/clamperl/shiny_gba.pal b/graphics/pokemon/clamperl/shiny_gba.pal new file mode 100644 index 000000000000..d479da971c00 --- /dev/null +++ b/graphics/pokemon/clamperl/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 246 156 +255 255 255 +205 213 213 +139 164 148 +197 213 246 +139 189 205 +74 139 131 +41 65 131 +197 65 180 +148 8 123 +0 41 82 +222 131 205 +0 0 0 +255 230 156 +230 172 90 +115 74 90 diff --git a/graphics/pokemon/claydol/anim_front_gba.png b/graphics/pokemon/claydol/anim_front_gba.png new file mode 100644 index 000000000000..034ff3262803 Binary files /dev/null and b/graphics/pokemon/claydol/anim_front_gba.png differ diff --git a/graphics/pokemon/claydol/back_gba.png b/graphics/pokemon/claydol/back_gba.png new file mode 100644 index 000000000000..9fdd6e0c21d7 Binary files /dev/null and b/graphics/pokemon/claydol/back_gba.png differ diff --git a/graphics/pokemon/claydol/icon_gba.png b/graphics/pokemon/claydol/icon_gba.png new file mode 100644 index 000000000000..3f3f04ead94c Binary files /dev/null and b/graphics/pokemon/claydol/icon_gba.png differ diff --git a/graphics/pokemon/claydol/normal_gba.pal b/graphics/pokemon/claydol/normal_gba.pal new file mode 100644 index 000000000000..cd7f876c5348 --- /dev/null +++ b/graphics/pokemon/claydol/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +82 82 41 +106 106 65 +148 156 123 +98 98 24 +156 148 189 +197 197 213 +255 255 255 +255 197 164 +246 123 90 +172 90 0 +255 213 115 +180 164 123 +255 255 255 +255 255 255 +106 255 106 diff --git a/graphics/pokemon/claydol/shiny_gba.pal b/graphics/pokemon/claydol/shiny_gba.pal new file mode 100644 index 000000000000..e4203b19b429 --- /dev/null +++ b/graphics/pokemon/claydol/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +82 82 41 +106 106 65 +148 156 123 +98 98 24 +156 148 189 +197 197 213 +255 255 255 +246 238 90 +246 205 57 +197 156 16 +255 213 115 +180 164 123 +255 255 255 +255 255 255 +106 255 106 diff --git a/graphics/pokemon/clefable/anim_front_gba.png b/graphics/pokemon/clefable/anim_front_gba.png new file mode 100644 index 000000000000..ee7af0d1bba8 Binary files /dev/null and b/graphics/pokemon/clefable/anim_front_gba.png differ diff --git a/graphics/pokemon/clefable/back_gba.png b/graphics/pokemon/clefable/back_gba.png new file mode 100644 index 000000000000..42592b8d7b0e Binary files /dev/null and b/graphics/pokemon/clefable/back_gba.png differ diff --git a/graphics/pokemon/clefable/icon_gba.png b/graphics/pokemon/clefable/icon_gba.png new file mode 100644 index 000000000000..4078e2854919 Binary files /dev/null and b/graphics/pokemon/clefable/icon_gba.png differ diff --git a/graphics/pokemon/clefable/normal_gba.pal b/graphics/pokemon/clefable/normal_gba.pal new file mode 100644 index 000000000000..0befc3d13c79 --- /dev/null +++ b/graphics/pokemon/clefable/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +197 197 197 +148 148 148 +255 0 255 +255 197 164 +255 156 131 +255 106 90 +180 57 41 +16 16 16 +255 106 41 +222 32 16 +139 115 74 +115 90 49 +90 65 24 +255 0 255 diff --git a/graphics/pokemon/clefable/shiny_gba.pal b/graphics/pokemon/clefable/shiny_gba.pal new file mode 100644 index 000000000000..d89afdc8175b --- /dev/null +++ b/graphics/pokemon/clefable/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +197 197 197 +148 148 148 +255 0 255 +255 230 255 +255 189 213 +255 148 172 +148 41 65 +16 16 16 +255 106 41 +222 32 16 +123 222 90 +82 180 49 +41 139 8 +255 0 255 diff --git a/graphics/pokemon/clefairy/anim_front_gba.png b/graphics/pokemon/clefairy/anim_front_gba.png new file mode 100644 index 000000000000..6334140223f4 Binary files /dev/null and b/graphics/pokemon/clefairy/anim_front_gba.png differ diff --git a/graphics/pokemon/clefairy/back_gba.png b/graphics/pokemon/clefairy/back_gba.png new file mode 100644 index 000000000000..6720a786524e Binary files /dev/null and b/graphics/pokemon/clefairy/back_gba.png differ diff --git a/graphics/pokemon/clefairy/icon_gba.png b/graphics/pokemon/clefairy/icon_gba.png new file mode 100644 index 000000000000..7895bb93c438 Binary files /dev/null and b/graphics/pokemon/clefairy/icon_gba.png differ diff --git a/graphics/pokemon/clefairy/normal_gba.pal b/graphics/pokemon/clefairy/normal_gba.pal new file mode 100644 index 000000000000..7a7bcf171a07 --- /dev/null +++ b/graphics/pokemon/clefairy/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +197 197 197 +148 148 148 +238 90 74 +180 57 41 +205 131 82 +172 98 49 +156 82 32 +115 41 8 +255 0 255 +255 197 164 +255 156 131 +230 131 123 +156 90 82 +16 16 16 diff --git a/graphics/pokemon/clefairy/shiny_gba.pal b/graphics/pokemon/clefairy/shiny_gba.pal new file mode 100644 index 000000000000..7cb5d7bfcbd3 --- /dev/null +++ b/graphics/pokemon/clefairy/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +197 197 197 +148 148 148 +255 57 41 +222 32 16 +123 222 90 +82 180 49 +41 139 8 +0 98 0 +255 0 255 +255 230 255 +255 189 213 +255 148 172 +148 41 65 +16 16 16 diff --git a/graphics/pokemon/cleffa/anim_front_gba.png b/graphics/pokemon/cleffa/anim_front_gba.png new file mode 100644 index 000000000000..19256d078674 Binary files /dev/null and b/graphics/pokemon/cleffa/anim_front_gba.png differ diff --git a/graphics/pokemon/cleffa/back_gba.png b/graphics/pokemon/cleffa/back_gba.png new file mode 100644 index 000000000000..b110614e1b7c Binary files /dev/null and b/graphics/pokemon/cleffa/back_gba.png differ diff --git a/graphics/pokemon/cleffa/icon_gba.png b/graphics/pokemon/cleffa/icon_gba.png new file mode 100644 index 000000000000..e866394f00a4 Binary files /dev/null and b/graphics/pokemon/cleffa/icon_gba.png differ diff --git a/graphics/pokemon/cleffa/normal_gba.pal b/graphics/pokemon/cleffa/normal_gba.pal new file mode 100644 index 000000000000..757446357d8c --- /dev/null +++ b/graphics/pokemon/cleffa/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 205 156 +255 164 131 +222 115 65 +197 74 0 +98 49 32 +213 164 41 +164 106 0 +123 74 0 +90 49 0 +255 0 255 +205 0 0 +156 0 0 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/cleffa/shiny_gba.pal b/graphics/pokemon/cleffa/shiny_gba.pal new file mode 100644 index 000000000000..1af070d660c6 --- /dev/null +++ b/graphics/pokemon/cleffa/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 222 222 +255 189 197 +238 123 148 +180 82 82 +32 98 0 +123 222 90 +82 180 49 +41 139 8 +0 98 0 +255 0 255 +205 0 0 +156 0 0 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/cloyster/anim_front_gba.png b/graphics/pokemon/cloyster/anim_front_gba.png new file mode 100644 index 000000000000..e6331a1267cd Binary files /dev/null and b/graphics/pokemon/cloyster/anim_front_gba.png differ diff --git a/graphics/pokemon/cloyster/back_gba.png b/graphics/pokemon/cloyster/back_gba.png new file mode 100644 index 000000000000..fa69b7b59c14 Binary files /dev/null and b/graphics/pokemon/cloyster/back_gba.png differ diff --git a/graphics/pokemon/cloyster/icon_gba.png b/graphics/pokemon/cloyster/icon_gba.png new file mode 100644 index 000000000000..71ca401c4029 Binary files /dev/null and b/graphics/pokemon/cloyster/icon_gba.png differ diff --git a/graphics/pokemon/cloyster/normal_gba.pal b/graphics/pokemon/cloyster/normal_gba.pal new file mode 100644 index 000000000000..a53db8d44232 --- /dev/null +++ b/graphics/pokemon/cloyster/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 0 255 +222 180 238 +172 123 189 +123 82 131 +74 32 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +197 197 197 +148 148 148 +98 98 98 +65 65 65 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/cloyster/shiny_gba.pal b/graphics/pokemon/cloyster/shiny_gba.pal new file mode 100644 index 000000000000..8a0d5bd4b40a --- /dev/null +++ b/graphics/pokemon/cloyster/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 0 255 +115 164 213 +74 123 172 +32 82 131 +0 41 90 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +197 197 197 +148 148 148 +98 98 98 +65 65 65 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/coalossal/gigantamax/back.png b/graphics/pokemon/coalossal/gmax/back.png similarity index 100% rename from graphics/pokemon/coalossal/gigantamax/back.png rename to graphics/pokemon/coalossal/gmax/back.png diff --git a/graphics/pokemon/coalossal/gigantamax/front.png b/graphics/pokemon/coalossal/gmax/front.png similarity index 100% rename from graphics/pokemon/coalossal/gigantamax/front.png rename to graphics/pokemon/coalossal/gmax/front.png diff --git a/graphics/pokemon/coalossal/gigantamax/icon.png b/graphics/pokemon/coalossal/gmax/icon.png similarity index 100% rename from graphics/pokemon/coalossal/gigantamax/icon.png rename to graphics/pokemon/coalossal/gmax/icon.png diff --git a/graphics/pokemon/coalossal/gigantamax/normal.pal b/graphics/pokemon/coalossal/gmax/normal.pal similarity index 100% rename from graphics/pokemon/coalossal/gigantamax/normal.pal rename to graphics/pokemon/coalossal/gmax/normal.pal diff --git a/graphics/pokemon/coalossal/gigantamax/shiny.pal b/graphics/pokemon/coalossal/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/coalossal/gigantamax/shiny.pal rename to graphics/pokemon/coalossal/gmax/shiny.pal diff --git a/graphics/pokemon/combee/followerf.png b/graphics/pokemon/combee/followerf.png deleted file mode 100644 index e39109ce825f..000000000000 Binary files a/graphics/pokemon/combee/followerf.png and /dev/null differ diff --git a/graphics/pokemon/combee/overworld.png b/graphics/pokemon/combee/overworld.png index 459538f5f07c..b0395e4fa8a2 100644 Binary files a/graphics/pokemon/combee/overworld.png and b/graphics/pokemon/combee/overworld.png differ diff --git a/graphics/pokemon/combee/overworld_normal.pal b/graphics/pokemon/combee/overworld_normal.pal index ae404c011250..d2eb1abe83ea 100644 --- a/graphics/pokemon/combee/overworld_normal.pal +++ b/graphics/pokemon/combee/overworld_normal.pal @@ -14,6 +14,6 @@ JASC-PAL 200 104 40 152 184 232 248 216 120 -0 0 0 +160 32 56 0 0 0 0 0 0 diff --git a/graphics/pokemon/combee/overworld_shiny.pal b/graphics/pokemon/combee/overworld_shiny.pal index 01483e8cd601..8db856dbe42f 100644 --- a/graphics/pokemon/combee/overworld_shiny.pal +++ b/graphics/pokemon/combee/overworld_shiny.pal @@ -14,6 +14,6 @@ JASC-PAL 200 104 40 152 184 232 248 176 128 -0 0 0 +160 32 56 0 0 0 0 0 0 diff --git a/graphics/pokemon/combee/overworldf.png b/graphics/pokemon/combee/overworldf.png new file mode 100644 index 000000000000..de523067d81e Binary files /dev/null and b/graphics/pokemon/combee/overworldf.png differ diff --git a/graphics/pokemon/combusken/anim_front_gba.png b/graphics/pokemon/combusken/anim_front_gba.png new file mode 100644 index 000000000000..ffa1748b3a37 Binary files /dev/null and b/graphics/pokemon/combusken/anim_front_gba.png differ diff --git a/graphics/pokemon/combusken/back_gba.png b/graphics/pokemon/combusken/back_gba.png new file mode 100644 index 000000000000..6c6d094ddadf Binary files /dev/null and b/graphics/pokemon/combusken/back_gba.png differ diff --git a/graphics/pokemon/combusken/icon_gba.png b/graphics/pokemon/combusken/icon_gba.png new file mode 100644 index 000000000000..3cdd0f5c1ac4 Binary files /dev/null and b/graphics/pokemon/combusken/icon_gba.png differ diff --git a/graphics/pokemon/combusken/normal_gba.pal b/graphics/pokemon/combusken/normal_gba.pal new file mode 100644 index 000000000000..7327dbeceef6 --- /dev/null +++ b/graphics/pokemon/combusken/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 222 156 +213 189 148 +180 148 123 +156 123 57 +255 213 98 +246 180 82 +197 148 57 +123 106 90 +139 57 49 +255 255 255 +255 164 57 +255 106 57 +213 90 57 +90 57 49 +16 16 16 diff --git a/graphics/pokemon/combusken/overworld.png b/graphics/pokemon/combusken/overworld.png index b4302f91aa97..8b4e71d03a79 100644 Binary files a/graphics/pokemon/combusken/overworld.png and b/graphics/pokemon/combusken/overworld.png differ diff --git a/graphics/pokemon/combusken/overworldf.png b/graphics/pokemon/combusken/overworldf.png new file mode 100644 index 000000000000..b4302f91aa97 Binary files /dev/null and b/graphics/pokemon/combusken/overworldf.png differ diff --git a/graphics/pokemon/combusken/shiny_gba.pal b/graphics/pokemon/combusken/shiny_gba.pal new file mode 100644 index 000000000000..6fbb74b08a02 --- /dev/null +++ b/graphics/pokemon/combusken/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 255 255 +222 180 131 +172 123 90 +123 90 74 +255 238 172 +255 213 98 +238 156 49 +123 106 90 +106 41 32 +255 255 255 +230 106 49 +197 74 49 +139 57 49 +90 57 49 +16 16 16 diff --git a/graphics/pokemon/copperajah/gigantamax/back.png b/graphics/pokemon/copperajah/gmax/back.png similarity index 100% rename from graphics/pokemon/copperajah/gigantamax/back.png rename to graphics/pokemon/copperajah/gmax/back.png diff --git a/graphics/pokemon/copperajah/gigantamax/front.png b/graphics/pokemon/copperajah/gmax/front.png similarity index 100% rename from graphics/pokemon/copperajah/gigantamax/front.png rename to graphics/pokemon/copperajah/gmax/front.png diff --git a/graphics/pokemon/copperajah/gigantamax/icon.png b/graphics/pokemon/copperajah/gmax/icon.png similarity index 100% rename from graphics/pokemon/copperajah/gigantamax/icon.png rename to graphics/pokemon/copperajah/gmax/icon.png diff --git a/graphics/pokemon/copperajah/gigantamax/normal.pal b/graphics/pokemon/copperajah/gmax/normal.pal similarity index 100% rename from graphics/pokemon/copperajah/gigantamax/normal.pal rename to graphics/pokemon/copperajah/gmax/normal.pal diff --git a/graphics/pokemon/copperajah/gigantamax/shiny.pal b/graphics/pokemon/copperajah/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/copperajah/gigantamax/shiny.pal rename to graphics/pokemon/copperajah/gmax/shiny.pal diff --git a/graphics/pokemon/corphish/anim_front_gba.png b/graphics/pokemon/corphish/anim_front_gba.png new file mode 100644 index 000000000000..8e8ac3d23b37 Binary files /dev/null and b/graphics/pokemon/corphish/anim_front_gba.png differ diff --git a/graphics/pokemon/corphish/back_gba.png b/graphics/pokemon/corphish/back_gba.png new file mode 100644 index 000000000000..01d60377840e Binary files /dev/null and b/graphics/pokemon/corphish/back_gba.png differ diff --git a/graphics/pokemon/corphish/icon_gba.png b/graphics/pokemon/corphish/icon_gba.png new file mode 100644 index 000000000000..f14b262d2b19 Binary files /dev/null and b/graphics/pokemon/corphish/icon_gba.png differ diff --git a/graphics/pokemon/corphish/normal_gba.pal b/graphics/pokemon/corphish/normal_gba.pal new file mode 100644 index 000000000000..0fd4ea330411 --- /dev/null +++ b/graphics/pokemon/corphish/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 123 16 +213 90 8 +172 82 8 +98 65 49 +246 238 197 +230 205 148 +205 172 106 +148 115 65 +255 213 90 +238 180 65 +255 197 65 +205 205 205 +131 131 131 +0 0 0 diff --git a/graphics/pokemon/corphish/shiny_gba.pal b/graphics/pokemon/corphish/shiny_gba.pal new file mode 100644 index 000000000000..a3eb45805d52 --- /dev/null +++ b/graphics/pokemon/corphish/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 148 148 +213 106 106 +180 74 74 +139 41 41 +255 255 238 +255 222 148 +255 189 90 +213 148 65 +255 213 90 +255 205 205 +255 197 197 +205 205 205 +131 131 131 +0 0 0 diff --git a/graphics/pokemon/corsola/anim_front_gba.png b/graphics/pokemon/corsola/anim_front_gba.png new file mode 100644 index 000000000000..c37d0e054af2 Binary files /dev/null and b/graphics/pokemon/corsola/anim_front_gba.png differ diff --git a/graphics/pokemon/corsola/back_gba.png b/graphics/pokemon/corsola/back_gba.png new file mode 100644 index 000000000000..d15f330fc10f Binary files /dev/null and b/graphics/pokemon/corsola/back_gba.png differ diff --git a/graphics/pokemon/corsola/galarian/back.png b/graphics/pokemon/corsola/galar/back.png similarity index 100% rename from graphics/pokemon/corsola/galarian/back.png rename to graphics/pokemon/corsola/galar/back.png diff --git a/graphics/pokemon/corsola/galarian/front.png b/graphics/pokemon/corsola/galar/front.png similarity index 100% rename from graphics/pokemon/corsola/galarian/front.png rename to graphics/pokemon/corsola/galar/front.png diff --git a/graphics/pokemon/corsola/galarian/icon.png b/graphics/pokemon/corsola/galar/icon.png similarity index 100% rename from graphics/pokemon/corsola/galarian/icon.png rename to graphics/pokemon/corsola/galar/icon.png diff --git a/graphics/pokemon/corsola/galarian/normal.pal b/graphics/pokemon/corsola/galar/normal.pal similarity index 100% rename from graphics/pokemon/corsola/galarian/normal.pal rename to graphics/pokemon/corsola/galar/normal.pal diff --git a/graphics/pokemon/corsola/galarian/overworld.png b/graphics/pokemon/corsola/galar/overworld.png similarity index 100% rename from graphics/pokemon/corsola/galarian/overworld.png rename to graphics/pokemon/corsola/galar/overworld.png diff --git a/graphics/pokemon/corsola/galarian/overworld_normal.pal b/graphics/pokemon/corsola/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/corsola/galarian/overworld_normal.pal rename to graphics/pokemon/corsola/galar/overworld_normal.pal diff --git a/graphics/pokemon/corsola/galarian/overworld_shiny.pal b/graphics/pokemon/corsola/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/corsola/galarian/overworld_shiny.pal rename to graphics/pokemon/corsola/galar/overworld_shiny.pal diff --git a/graphics/pokemon/corsola/galarian/shiny.pal b/graphics/pokemon/corsola/galar/shiny.pal similarity index 100% rename from graphics/pokemon/corsola/galarian/shiny.pal rename to graphics/pokemon/corsola/galar/shiny.pal diff --git a/graphics/pokemon/corsola/icon_gba.png b/graphics/pokemon/corsola/icon_gba.png new file mode 100644 index 000000000000..dd2d2e82ec25 Binary files /dev/null and b/graphics/pokemon/corsola/icon_gba.png differ diff --git a/graphics/pokemon/corsola/normal_gba.pal b/graphics/pokemon/corsola/normal_gba.pal new file mode 100644 index 000000000000..95c7616fe4ce --- /dev/null +++ b/graphics/pokemon/corsola/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 222 222 +172 172 172 +131 131 139 +90 90 98 +255 213 222 +255 172 197 +230 106 139 +189 57 90 +139 16 16 +255 0 255 +255 0 255 +255 0 255 +189 57 90 +16 16 16 diff --git a/graphics/pokemon/corsola/shiny_gba.pal b/graphics/pokemon/corsola/shiny_gba.pal new file mode 100644 index 000000000000..13daa4e2633c --- /dev/null +++ b/graphics/pokemon/corsola/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 230 255 +164 189 222 +123 148 189 +74 98 156 +156 238 255 +123 205 255 +74 156 230 +41 106 197 +8 65 148 +255 0 255 +255 0 255 +255 0 255 +238 98 98 +16 16 16 diff --git a/graphics/pokemon/corviknight/gigantamax/back.png b/graphics/pokemon/corviknight/gmax/back.png similarity index 100% rename from graphics/pokemon/corviknight/gigantamax/back.png rename to graphics/pokemon/corviknight/gmax/back.png diff --git a/graphics/pokemon/corviknight/gigantamax/front.png b/graphics/pokemon/corviknight/gmax/front.png similarity index 100% rename from graphics/pokemon/corviknight/gigantamax/front.png rename to graphics/pokemon/corviknight/gmax/front.png diff --git a/graphics/pokemon/corviknight/gigantamax/icon.png b/graphics/pokemon/corviknight/gmax/icon.png similarity index 100% rename from graphics/pokemon/corviknight/gigantamax/icon.png rename to graphics/pokemon/corviknight/gmax/icon.png diff --git a/graphics/pokemon/corviknight/gigantamax/normal.pal b/graphics/pokemon/corviknight/gmax/normal.pal similarity index 100% rename from graphics/pokemon/corviknight/gigantamax/normal.pal rename to graphics/pokemon/corviknight/gmax/normal.pal diff --git a/graphics/pokemon/corviknight/gigantamax/shiny.pal b/graphics/pokemon/corviknight/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/corviknight/gigantamax/shiny.pal rename to graphics/pokemon/corviknight/gmax/shiny.pal diff --git a/graphics/pokemon/cradily/anim_front_gba.png b/graphics/pokemon/cradily/anim_front_gba.png new file mode 100644 index 000000000000..b38c51c8eeca Binary files /dev/null and b/graphics/pokemon/cradily/anim_front_gba.png differ diff --git a/graphics/pokemon/cradily/back_gba.png b/graphics/pokemon/cradily/back_gba.png new file mode 100644 index 000000000000..338c7f0ba8f8 Binary files /dev/null and b/graphics/pokemon/cradily/back_gba.png differ diff --git a/graphics/pokemon/cradily/icon_gba.png b/graphics/pokemon/cradily/icon_gba.png new file mode 100644 index 000000000000..ea57b45f1062 Binary files /dev/null and b/graphics/pokemon/cradily/icon_gba.png differ diff --git a/graphics/pokemon/cradily/normal_gba.pal b/graphics/pokemon/cradily/normal_gba.pal new file mode 100644 index 000000000000..9167eb8795f9 --- /dev/null +++ b/graphics/pokemon/cradily/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +148 230 123 +115 180 106 +82 131 90 +57 90 74 +255 213 172 +255 172 115 +246 106 32 +255 246 123 +255 222 41 +230 172 0 +213 213 213 +172 172 180 +180 82 74 +0 0 0 diff --git a/graphics/pokemon/cradily/shiny_gba.pal b/graphics/pokemon/cradily/shiny_gba.pal new file mode 100644 index 000000000000..32a3b9e8ff5f --- /dev/null +++ b/graphics/pokemon/cradily/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 180 189 +222 123 156 +189 90 123 +139 65 65 +255 213 172 +255 172 115 +246 106 32 +255 246 156 +255 230 41 +230 172 0 +213 213 213 +172 172 180 +180 82 74 +0 0 0 diff --git a/graphics/pokemon/crawdaunt/anim_front_gba.png b/graphics/pokemon/crawdaunt/anim_front_gba.png new file mode 100644 index 000000000000..f150b6d1573c Binary files /dev/null and b/graphics/pokemon/crawdaunt/anim_front_gba.png differ diff --git a/graphics/pokemon/crawdaunt/back_gba.png b/graphics/pokemon/crawdaunt/back_gba.png new file mode 100644 index 000000000000..f96f2c4884f9 Binary files /dev/null and b/graphics/pokemon/crawdaunt/back_gba.png differ diff --git a/graphics/pokemon/crawdaunt/icon_gba.png b/graphics/pokemon/crawdaunt/icon_gba.png new file mode 100644 index 000000000000..605482d25313 Binary files /dev/null and b/graphics/pokemon/crawdaunt/icon_gba.png differ diff --git a/graphics/pokemon/crawdaunt/normal_gba.pal b/graphics/pokemon/crawdaunt/normal_gba.pal new file mode 100644 index 000000000000..7fe04e329de1 --- /dev/null +++ b/graphics/pokemon/crawdaunt/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 106 0 +189 65 0 +139 57 32 +246 238 197 +230 205 148 +197 164 98 +148 115 65 +255 230 90 +246 172 49 +82 156 246 +65 115 172 +197 197 230 +24 65 106 +0 0 0 diff --git a/graphics/pokemon/crawdaunt/shiny_gba.pal b/graphics/pokemon/crawdaunt/shiny_gba.pal new file mode 100644 index 000000000000..21b58b2a0499 --- /dev/null +++ b/graphics/pokemon/crawdaunt/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 148 0 +205 106 0 +156 74 32 +238 238 238 +222 222 222 +180 189 180 +131 139 131 +255 238 139 +246 197 41 +222 156 238 +164 90 189 +222 156 238 +123 65 139 +0 0 0 diff --git a/graphics/pokemon/croagunk/overworldf.png b/graphics/pokemon/croagunk/overworldf.png new file mode 100644 index 000000000000..feeb323df1c7 Binary files /dev/null and b/graphics/pokemon/croagunk/overworldf.png differ diff --git a/graphics/pokemon/crobat/anim_front_gba.png b/graphics/pokemon/crobat/anim_front_gba.png new file mode 100644 index 000000000000..1843423b7675 Binary files /dev/null and b/graphics/pokemon/crobat/anim_front_gba.png differ diff --git a/graphics/pokemon/crobat/back_gba.png b/graphics/pokemon/crobat/back_gba.png new file mode 100644 index 000000000000..d14ecec7b6d0 Binary files /dev/null and b/graphics/pokemon/crobat/back_gba.png differ diff --git a/graphics/pokemon/crobat/icon_gba.png b/graphics/pokemon/crobat/icon_gba.png new file mode 100644 index 000000000000..817951dd0cbf Binary files /dev/null and b/graphics/pokemon/crobat/icon_gba.png differ diff --git a/graphics/pokemon/crobat/normal_gba.pal b/graphics/pokemon/crobat/normal_gba.pal new file mode 100644 index 000000000000..9c466e9e82b8 --- /dev/null +++ b/graphics/pokemon/crobat/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 139 246 +197 90 205 +156 57 180 +115 24 148 +255 0 255 +255 0 255 +74 156 189 +32 106 148 +16 74 115 +255 213 0 +213 148 0 +164 164 164 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/crobat/shiny_gba.pal b/graphics/pokemon/crobat/shiny_gba.pal new file mode 100644 index 000000000000..8f22fd4b0558 --- /dev/null +++ b/graphics/pokemon/crobat/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 213 238 +246 180 197 +222 131 148 +164 74 106 +255 0 255 +255 0 255 +139 189 32 +74 139 0 +41 82 0 +255 213 0 +213 148 0 +164 164 164 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/croconaw/anim_front_gba.png b/graphics/pokemon/croconaw/anim_front_gba.png new file mode 100644 index 000000000000..e7d23841b1a0 Binary files /dev/null and b/graphics/pokemon/croconaw/anim_front_gba.png differ diff --git a/graphics/pokemon/croconaw/back_gba.png b/graphics/pokemon/croconaw/back_gba.png new file mode 100644 index 000000000000..991be60bc8bb Binary files /dev/null and b/graphics/pokemon/croconaw/back_gba.png differ diff --git a/graphics/pokemon/croconaw/icon_gba.png b/graphics/pokemon/croconaw/icon_gba.png new file mode 100644 index 000000000000..6f57e56561cd Binary files /dev/null and b/graphics/pokemon/croconaw/icon_gba.png differ diff --git a/graphics/pokemon/croconaw/normal_gba.pal b/graphics/pokemon/croconaw/normal_gba.pal new file mode 100644 index 000000000000..2e64441a47f5 --- /dev/null +++ b/graphics/pokemon/croconaw/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +131 205 255 +90 172 230 +49 131 197 +74 74 131 +230 65 32 +123 0 0 +255 172 90 +255 90 32 +205 41 24 +123 0 0 +255 230 98 +230 180 82 +156 115 8 +16 16 16 diff --git a/graphics/pokemon/croconaw/shiny_gba.pal b/graphics/pokemon/croconaw/shiny_gba.pal new file mode 100644 index 000000000000..847f2ed29c0a --- /dev/null +++ b/graphics/pokemon/croconaw/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +164 246 222 +115 213 205 +74 164 180 +49 106 139 +230 65 32 +123 0 0 +98 180 230 +57 98 197 +49 90 156 +32 65 106 +255 230 98 +230 180 82 +156 115 8 +16 16 16 diff --git a/graphics/pokemon/cubone/anim_front_gba.png b/graphics/pokemon/cubone/anim_front_gba.png new file mode 100644 index 000000000000..42fd8be2cf69 Binary files /dev/null and b/graphics/pokemon/cubone/anim_front_gba.png differ diff --git a/graphics/pokemon/cubone/back_gba.png b/graphics/pokemon/cubone/back_gba.png new file mode 100644 index 000000000000..a7b879b40d95 Binary files /dev/null and b/graphics/pokemon/cubone/back_gba.png differ diff --git a/graphics/pokemon/cubone/icon_gba.png b/graphics/pokemon/cubone/icon_gba.png new file mode 100644 index 000000000000..679d8e7e55bb Binary files /dev/null and b/graphics/pokemon/cubone/icon_gba.png differ diff --git a/graphics/pokemon/cubone/normal_gba.pal b/graphics/pokemon/cubone/normal_gba.pal new file mode 100644 index 000000000000..faaeef75c797 --- /dev/null +++ b/graphics/pokemon/cubone/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +222 189 106 +197 156 74 +148 106 49 +106 49 16 +230 230 213 +197 197 172 +139 139 106 +90 90 49 +255 222 180 +246 197 148 +230 148 82 +255 0 255 +255 0 255 +41 41 41 +255 255 255 diff --git a/graphics/pokemon/cubone/shiny_gba.pal b/graphics/pokemon/cubone/shiny_gba.pal new file mode 100644 index 000000000000..51b6bc8ba876 --- /dev/null +++ b/graphics/pokemon/cubone/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +172 180 115 +131 131 74 +74 82 24 +49 57 0 +230 230 213 +197 197 172 +139 139 106 +90 90 49 +255 238 197 +238 213 148 +205 164 90 +255 0 255 +255 0 255 +41 41 41 +255 255 255 diff --git a/graphics/pokemon/cyndaquil/anim_front_gba.png b/graphics/pokemon/cyndaquil/anim_front_gba.png new file mode 100644 index 000000000000..3974d5b40a79 Binary files /dev/null and b/graphics/pokemon/cyndaquil/anim_front_gba.png differ diff --git a/graphics/pokemon/cyndaquil/back_gba.png b/graphics/pokemon/cyndaquil/back_gba.png new file mode 100644 index 000000000000..cfc64164e139 Binary files /dev/null and b/graphics/pokemon/cyndaquil/back_gba.png differ diff --git a/graphics/pokemon/cyndaquil/icon_gba.png b/graphics/pokemon/cyndaquil/icon_gba.png new file mode 100644 index 000000000000..5f174dcf1764 Binary files /dev/null and b/graphics/pokemon/cyndaquil/icon_gba.png differ diff --git a/graphics/pokemon/cyndaquil/normal_gba.pal b/graphics/pokemon/cyndaquil/normal_gba.pal new file mode 100644 index 000000000000..46fb06347b50 --- /dev/null +++ b/graphics/pokemon/cyndaquil/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +98 131 189 +65 82 139 +41 65 98 +24 41 82 +255 238 164 +230 205 106 +180 156 82 +139 98 32 +255 222 0 +255 156 0 +255 98 0 +238 0 0 +139 139 139 +16 16 16 diff --git a/graphics/pokemon/cyndaquil/shiny_gba.pal b/graphics/pokemon/cyndaquil/shiny_gba.pal new file mode 100644 index 000000000000..14e35dbc51a0 --- /dev/null +++ b/graphics/pokemon/cyndaquil/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 156 106 +189 98 65 +139 65 57 +98 57 41 +255 230 115 +222 197 82 +172 139 49 +139 82 24 +255 222 0 +255 156 0 +255 98 0 +238 0 0 +139 139 139 +16 16 16 diff --git a/graphics/pokemon/darmanitan/galarian/back.png b/graphics/pokemon/darmanitan/galar_standard/back.png similarity index 100% rename from graphics/pokemon/darmanitan/galarian/back.png rename to graphics/pokemon/darmanitan/galar_standard/back.png diff --git a/graphics/pokemon/darmanitan/galarian/front.png b/graphics/pokemon/darmanitan/galar_standard/front.png similarity index 100% rename from graphics/pokemon/darmanitan/galarian/front.png rename to graphics/pokemon/darmanitan/galar_standard/front.png diff --git a/graphics/pokemon/darmanitan/galarian/icon.png b/graphics/pokemon/darmanitan/galar_standard/icon.png similarity index 100% rename from graphics/pokemon/darmanitan/galarian/icon.png rename to graphics/pokemon/darmanitan/galar_standard/icon.png diff --git a/graphics/pokemon/darmanitan/galarian/normal.pal b/graphics/pokemon/darmanitan/galar_standard/normal.pal similarity index 100% rename from graphics/pokemon/darmanitan/galarian/normal.pal rename to graphics/pokemon/darmanitan/galar_standard/normal.pal diff --git a/graphics/pokemon/darmanitan/galarian/overworld.png b/graphics/pokemon/darmanitan/galar_standard/overworld.png similarity index 100% rename from graphics/pokemon/darmanitan/galarian/overworld.png rename to graphics/pokemon/darmanitan/galar_standard/overworld.png diff --git a/graphics/pokemon/darmanitan/galarian/overworld_normal.pal b/graphics/pokemon/darmanitan/galar_standard/overworld_normal.pal similarity index 100% rename from graphics/pokemon/darmanitan/galarian/overworld_normal.pal rename to graphics/pokemon/darmanitan/galar_standard/overworld_normal.pal diff --git a/graphics/pokemon/darmanitan/galarian/overworld_shiny.pal b/graphics/pokemon/darmanitan/galar_standard/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/darmanitan/galarian/overworld_shiny.pal rename to graphics/pokemon/darmanitan/galar_standard/overworld_shiny.pal diff --git a/graphics/pokemon/darmanitan/galarian/shiny.pal b/graphics/pokemon/darmanitan/galar_standard/shiny.pal similarity index 100% rename from graphics/pokemon/darmanitan/galarian/shiny.pal rename to graphics/pokemon/darmanitan/galar_standard/shiny.pal diff --git a/graphics/pokemon/darmanitan/zen_mode/galarian/back.png b/graphics/pokemon/darmanitan/galar_zen/back.png similarity index 100% rename from graphics/pokemon/darmanitan/zen_mode/galarian/back.png rename to graphics/pokemon/darmanitan/galar_zen/back.png diff --git a/graphics/pokemon/darmanitan/zen_mode/galarian/front.png b/graphics/pokemon/darmanitan/galar_zen/front.png similarity index 100% rename from graphics/pokemon/darmanitan/zen_mode/galarian/front.png rename to graphics/pokemon/darmanitan/galar_zen/front.png diff --git a/graphics/pokemon/darmanitan/zen_mode/galarian/icon.png b/graphics/pokemon/darmanitan/galar_zen/icon.png similarity index 100% rename from graphics/pokemon/darmanitan/zen_mode/galarian/icon.png rename to graphics/pokemon/darmanitan/galar_zen/icon.png diff --git a/graphics/pokemon/darmanitan/zen_mode/galarian/normal.pal b/graphics/pokemon/darmanitan/galar_zen/normal.pal similarity index 100% rename from graphics/pokemon/darmanitan/zen_mode/galarian/normal.pal rename to graphics/pokemon/darmanitan/galar_zen/normal.pal diff --git a/graphics/pokemon/darmanitan/zen_mode/galarian/shiny.pal b/graphics/pokemon/darmanitan/galar_zen/shiny.pal similarity index 100% rename from graphics/pokemon/darmanitan/zen_mode/galarian/shiny.pal rename to graphics/pokemon/darmanitan/galar_zen/shiny.pal diff --git a/graphics/pokemon/darmanitan/zen_mode/anim_front.png b/graphics/pokemon/darmanitan/zen/anim_front.png similarity index 100% rename from graphics/pokemon/darmanitan/zen_mode/anim_front.png rename to graphics/pokemon/darmanitan/zen/anim_front.png diff --git a/graphics/pokemon/darmanitan/zen_mode/back.png b/graphics/pokemon/darmanitan/zen/back.png similarity index 100% rename from graphics/pokemon/darmanitan/zen_mode/back.png rename to graphics/pokemon/darmanitan/zen/back.png diff --git a/graphics/pokemon/darmanitan/zen_mode/icon.png b/graphics/pokemon/darmanitan/zen/icon.png similarity index 100% rename from graphics/pokemon/darmanitan/zen_mode/icon.png rename to graphics/pokemon/darmanitan/zen/icon.png diff --git a/graphics/pokemon/darmanitan/zen_mode/normal.pal b/graphics/pokemon/darmanitan/zen/normal.pal similarity index 100% rename from graphics/pokemon/darmanitan/zen_mode/normal.pal rename to graphics/pokemon/darmanitan/zen/normal.pal diff --git a/graphics/pokemon/darmanitan/zen_mode/shiny.pal b/graphics/pokemon/darmanitan/zen/shiny.pal similarity index 100% rename from graphics/pokemon/darmanitan/zen_mode/shiny.pal rename to graphics/pokemon/darmanitan/zen/shiny.pal diff --git a/graphics/pokemon/darumaka/galarian/back.png b/graphics/pokemon/darumaka/galar/back.png similarity index 100% rename from graphics/pokemon/darumaka/galarian/back.png rename to graphics/pokemon/darumaka/galar/back.png diff --git a/graphics/pokemon/darumaka/galarian/front.png b/graphics/pokemon/darumaka/galar/front.png similarity index 100% rename from graphics/pokemon/darumaka/galarian/front.png rename to graphics/pokemon/darumaka/galar/front.png diff --git a/graphics/pokemon/darumaka/galarian/icon.png b/graphics/pokemon/darumaka/galar/icon.png similarity index 100% rename from graphics/pokemon/darumaka/galarian/icon.png rename to graphics/pokemon/darumaka/galar/icon.png diff --git a/graphics/pokemon/darumaka/galarian/normal.pal b/graphics/pokemon/darumaka/galar/normal.pal similarity index 100% rename from graphics/pokemon/darumaka/galarian/normal.pal rename to graphics/pokemon/darumaka/galar/normal.pal diff --git a/graphics/pokemon/darumaka/galarian/overworld.png b/graphics/pokemon/darumaka/galar/overworld.png similarity index 100% rename from graphics/pokemon/darumaka/galarian/overworld.png rename to graphics/pokemon/darumaka/galar/overworld.png diff --git a/graphics/pokemon/darumaka/galarian/overworld_normal.pal b/graphics/pokemon/darumaka/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/darumaka/galarian/overworld_normal.pal rename to graphics/pokemon/darumaka/galar/overworld_normal.pal diff --git a/graphics/pokemon/darumaka/galarian/overworld_shiny.pal b/graphics/pokemon/darumaka/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/darumaka/galarian/overworld_shiny.pal rename to graphics/pokemon/darumaka/galar/overworld_shiny.pal diff --git a/graphics/pokemon/darumaka/galarian/shiny.pal b/graphics/pokemon/darumaka/galar/shiny.pal similarity index 100% rename from graphics/pokemon/darumaka/galarian/shiny.pal rename to graphics/pokemon/darumaka/galar/shiny.pal diff --git a/graphics/pokemon/decidueye/hisuian/back.png b/graphics/pokemon/decidueye/hisui/back.png similarity index 100% rename from graphics/pokemon/decidueye/hisuian/back.png rename to graphics/pokemon/decidueye/hisui/back.png diff --git a/graphics/pokemon/decidueye/hisuian/front.png b/graphics/pokemon/decidueye/hisui/front.png similarity index 100% rename from graphics/pokemon/decidueye/hisuian/front.png rename to graphics/pokemon/decidueye/hisui/front.png diff --git a/graphics/pokemon/decidueye/hisuian/icon.png b/graphics/pokemon/decidueye/hisui/icon.png similarity index 100% rename from graphics/pokemon/decidueye/hisuian/icon.png rename to graphics/pokemon/decidueye/hisui/icon.png diff --git a/graphics/pokemon/decidueye/hisuian/normal.pal b/graphics/pokemon/decidueye/hisui/normal.pal similarity index 100% rename from graphics/pokemon/decidueye/hisuian/normal.pal rename to graphics/pokemon/decidueye/hisui/normal.pal diff --git a/graphics/pokemon/decidueye/hisuian/overworld.png b/graphics/pokemon/decidueye/hisui/overworld.png similarity index 100% rename from graphics/pokemon/decidueye/hisuian/overworld.png rename to graphics/pokemon/decidueye/hisui/overworld.png diff --git a/graphics/pokemon/decidueye/hisuian/overworld_normal.pal b/graphics/pokemon/decidueye/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/decidueye/hisuian/overworld_normal.pal rename to graphics/pokemon/decidueye/hisui/overworld_normal.pal diff --git a/graphics/pokemon/decidueye/hisuian/overworld_shiny.pal b/graphics/pokemon/decidueye/hisui/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/decidueye/hisuian/overworld_shiny.pal rename to graphics/pokemon/decidueye/hisui/overworld_shiny.pal diff --git a/graphics/pokemon/decidueye/hisuian/shiny.pal b/graphics/pokemon/decidueye/hisui/shiny.pal similarity index 100% rename from graphics/pokemon/decidueye/hisuian/shiny.pal rename to graphics/pokemon/decidueye/hisui/shiny.pal diff --git a/graphics/pokemon/delcatty/anim_front_gba.png b/graphics/pokemon/delcatty/anim_front_gba.png new file mode 100644 index 000000000000..ca4bad007c0e Binary files /dev/null and b/graphics/pokemon/delcatty/anim_front_gba.png differ diff --git a/graphics/pokemon/delcatty/back_gba.png b/graphics/pokemon/delcatty/back_gba.png new file mode 100644 index 000000000000..38bcfd5a74f2 Binary files /dev/null and b/graphics/pokemon/delcatty/back_gba.png differ diff --git a/graphics/pokemon/delcatty/icon_gba.png b/graphics/pokemon/delcatty/icon_gba.png new file mode 100644 index 000000000000..b5d874a880e9 Binary files /dev/null and b/graphics/pokemon/delcatty/icon_gba.png differ diff --git a/graphics/pokemon/delcatty/normal_gba.pal b/graphics/pokemon/delcatty/normal_gba.pal new file mode 100644 index 000000000000..7d7d44e12034 --- /dev/null +++ b/graphics/pokemon/delcatty/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +172 205 139 +255 255 255 +255 255 156 +255 222 98 +255 189 65 +222 156 65 +115 74 82 +246 180 197 +189 131 90 +106 74 156 +74 41 123 +0 0 0 +222 148 164 +197 123 139 +164 90 106 +131 57 74 diff --git a/graphics/pokemon/delcatty/shiny_gba.pal b/graphics/pokemon/delcatty/shiny_gba.pal new file mode 100644 index 000000000000..caf7d7be8bf5 --- /dev/null +++ b/graphics/pokemon/delcatty/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +172 205 139 +255 255 255 +255 255 189 +255 255 156 +255 222 98 +246 172 65 +139 82 65 +255 180 98 +205 123 57 +139 106 172 +98 65 156 +0 0 0 +255 123 82 +238 82 49 +189 65 32 +164 49 32 diff --git a/graphics/pokemon/delibird/anim_front_gba.png b/graphics/pokemon/delibird/anim_front_gba.png new file mode 100644 index 000000000000..43ba20e19489 Binary files /dev/null and b/graphics/pokemon/delibird/anim_front_gba.png differ diff --git a/graphics/pokemon/delibird/back_gba.png b/graphics/pokemon/delibird/back_gba.png new file mode 100644 index 000000000000..b4dccb1191a8 Binary files /dev/null and b/graphics/pokemon/delibird/back_gba.png differ diff --git a/graphics/pokemon/delibird/icon_gba.png b/graphics/pokemon/delibird/icon_gba.png new file mode 100644 index 000000000000..438f808631b5 Binary files /dev/null and b/graphics/pokemon/delibird/icon_gba.png differ diff --git a/graphics/pokemon/delibird/normal_gba.pal b/graphics/pokemon/delibird/normal_gba.pal new file mode 100644 index 000000000000..a975e93d3e04 --- /dev/null +++ b/graphics/pokemon/delibird/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 189 106 +255 115 16 +213 65 0 +148 49 0 +255 0 255 +255 246 139 +255 205 65 +205 139 41 +123 65 0 +90 90 90 +213 213 213 +172 172 180 +131 131 131 +16 16 16 diff --git a/graphics/pokemon/delibird/shiny_gba.pal b/graphics/pokemon/delibird/shiny_gba.pal new file mode 100644 index 000000000000..f94267729b7a --- /dev/null +++ b/graphics/pokemon/delibird/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 131 197 +205 90 164 +148 65 115 +90 41 82 +255 0 255 +255 246 139 +255 205 65 +205 139 41 +123 65 0 +139 123 82 +238 238 197 +213 205 139 +148 139 90 +49 49 49 diff --git a/graphics/pokemon/deoxys/anim_front_gba.png b/graphics/pokemon/deoxys/anim_front_gba.png new file mode 100644 index 000000000000..dc7faf915197 Binary files /dev/null and b/graphics/pokemon/deoxys/anim_front_gba.png differ diff --git a/graphics/pokemon/deoxys/back_gba.png b/graphics/pokemon/deoxys/back_gba.png new file mode 100644 index 000000000000..d8ba065fdea9 Binary files /dev/null and b/graphics/pokemon/deoxys/back_gba.png differ diff --git a/graphics/pokemon/deoxys/icon_gba.png b/graphics/pokemon/deoxys/icon_gba.png new file mode 100644 index 000000000000..18735fc72277 Binary files /dev/null and b/graphics/pokemon/deoxys/icon_gba.png differ diff --git a/graphics/pokemon/deoxys/normal_gba.pal b/graphics/pokemon/deoxys/normal_gba.pal new file mode 100644 index 000000000000..90fcff114bd9 --- /dev/null +++ b/graphics/pokemon/deoxys/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 255 +115 74 49 +213 106 106 +255 131 74 +255 172 131 +115 213 172 +131 164 156 +57 98 90 +82 74 65 +156 156 131 +139 8 205 +222 106 230 +123 115 82 +197 197 213 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/deoxys/shiny_gba.pal b/graphics/pokemon/deoxys/shiny_gba.pal new file mode 100644 index 000000000000..74b8fc7775ed --- /dev/null +++ b/graphics/pokemon/deoxys/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 255 +106 90 24 +197 189 65 +255 222 57 +255 246 139 +115 213 172 +82 172 123 +57 98 90 +82 74 65 +156 156 131 +106 8 156 +0 98 230 +115 115 106 +197 197 213 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/dewgong/anim_front_gba.png b/graphics/pokemon/dewgong/anim_front_gba.png new file mode 100644 index 000000000000..035275cc0f41 Binary files /dev/null and b/graphics/pokemon/dewgong/anim_front_gba.png differ diff --git a/graphics/pokemon/dewgong/back_gba.png b/graphics/pokemon/dewgong/back_gba.png new file mode 100644 index 000000000000..ba6c297ea4ec Binary files /dev/null and b/graphics/pokemon/dewgong/back_gba.png differ diff --git a/graphics/pokemon/dewgong/icon_gba.png b/graphics/pokemon/dewgong/icon_gba.png new file mode 100644 index 000000000000..ea227df7c559 Binary files /dev/null and b/graphics/pokemon/dewgong/icon_gba.png differ diff --git a/graphics/pokemon/dewgong/normal_gba.pal b/graphics/pokemon/dewgong/normal_gba.pal new file mode 100644 index 000000000000..d3440f5a3b32 --- /dev/null +++ b/graphics/pokemon/dewgong/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +230 230 246 +197 205 238 +156 164 189 +65 82 131 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +213 205 205 +131 123 123 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/dewgong/shiny_gba.pal b/graphics/pokemon/dewgong/shiny_gba.pal new file mode 100644 index 000000000000..02a02aa66a24 --- /dev/null +++ b/graphics/pokemon/dewgong/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +238 238 213 +213 205 189 +180 172 156 +139 131 115 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +213 205 205 +131 123 123 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/diglett/alolan/back.png b/graphics/pokemon/diglett/alola/back.png similarity index 100% rename from graphics/pokemon/diglett/alolan/back.png rename to graphics/pokemon/diglett/alola/back.png diff --git a/graphics/pokemon/diglett/alolan/front.png b/graphics/pokemon/diglett/alola/front.png similarity index 100% rename from graphics/pokemon/diglett/alolan/front.png rename to graphics/pokemon/diglett/alola/front.png diff --git a/graphics/pokemon/diglett/alolan/icon.png b/graphics/pokemon/diglett/alola/icon.png similarity index 100% rename from graphics/pokemon/diglett/alolan/icon.png rename to graphics/pokemon/diglett/alola/icon.png diff --git a/graphics/pokemon/diglett/alolan/normal.pal b/graphics/pokemon/diglett/alola/normal.pal similarity index 100% rename from graphics/pokemon/diglett/alolan/normal.pal rename to graphics/pokemon/diglett/alola/normal.pal diff --git a/graphics/pokemon/diglett/alolan/overworld.png b/graphics/pokemon/diglett/alola/overworld.png similarity index 100% rename from graphics/pokemon/diglett/alolan/overworld.png rename to graphics/pokemon/diglett/alola/overworld.png diff --git a/graphics/pokemon/diglett/alolan/overworld_normal.pal b/graphics/pokemon/diglett/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/diglett/alolan/overworld_normal.pal rename to graphics/pokemon/diglett/alola/overworld_normal.pal diff --git a/graphics/pokemon/diglett/alolan/overworld_shiny.pal b/graphics/pokemon/diglett/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/diglett/alolan/overworld_shiny.pal rename to graphics/pokemon/diglett/alola/overworld_shiny.pal diff --git a/graphics/pokemon/diglett/alolan/shiny.pal b/graphics/pokemon/diglett/alola/shiny.pal similarity index 100% rename from graphics/pokemon/diglett/alolan/shiny.pal rename to graphics/pokemon/diglett/alola/shiny.pal diff --git a/graphics/pokemon/diglett/anim_front_gba.png b/graphics/pokemon/diglett/anim_front_gba.png new file mode 100644 index 000000000000..f06decaa8e98 Binary files /dev/null and b/graphics/pokemon/diglett/anim_front_gba.png differ diff --git a/graphics/pokemon/diglett/back_gba.png b/graphics/pokemon/diglett/back_gba.png new file mode 100644 index 000000000000..7f0b0863b615 Binary files /dev/null and b/graphics/pokemon/diglett/back_gba.png differ diff --git a/graphics/pokemon/diglett/icon_gba.png b/graphics/pokemon/diglett/icon_gba.png new file mode 100644 index 000000000000..43db9f62d300 Binary files /dev/null and b/graphics/pokemon/diglett/icon_gba.png differ diff --git a/graphics/pokemon/diglett/normal_gba.pal b/graphics/pokemon/diglett/normal_gba.pal new file mode 100644 index 000000000000..431b7e0f0518 --- /dev/null +++ b/graphics/pokemon/diglett/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 205 197 +255 106 90 +246 65 49 +230 230 180 +180 172 115 +131 123 74 +90 82 32 +123 123 123 +16 16 16 +230 164 98 +197 123 65 +164 90 32 +106 32 0 +255 0 255 diff --git a/graphics/pokemon/diglett/shiny_gba.pal b/graphics/pokemon/diglett/shiny_gba.pal new file mode 100644 index 000000000000..c7c26b7e517b --- /dev/null +++ b/graphics/pokemon/diglett/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +123 156 197 +82 115 156 +41 74 115 +230 230 180 +180 172 115 +131 123 74 +90 82 32 +123 123 123 +16 16 16 +230 164 98 +197 123 65 +164 90 32 +106 32 0 +255 0 255 diff --git a/graphics/pokemon/ditto/anim_front_gba.png b/graphics/pokemon/ditto/anim_front_gba.png new file mode 100644 index 000000000000..4a8120ace610 Binary files /dev/null and b/graphics/pokemon/ditto/anim_front_gba.png differ diff --git a/graphics/pokemon/ditto/back_gba.png b/graphics/pokemon/ditto/back_gba.png new file mode 100644 index 000000000000..002635423699 Binary files /dev/null and b/graphics/pokemon/ditto/back_gba.png differ diff --git a/graphics/pokemon/ditto/icon_gba.png b/graphics/pokemon/ditto/icon_gba.png new file mode 100644 index 000000000000..e6328feb5ac9 Binary files /dev/null and b/graphics/pokemon/ditto/icon_gba.png differ diff --git a/graphics/pokemon/ditto/normal_gba.pal b/graphics/pokemon/ditto/normal_gba.pal new file mode 100644 index 000000000000..262742c15a96 --- /dev/null +++ b/graphics/pokemon/ditto/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +0 255 255 +0 255 255 +0 255 255 +0 255 255 +246 197 238 +238 156 213 +213 115 164 +180 82 131 +115 41 90 +0 255 255 +0 255 255 +0 255 255 +0 255 255 +49 49 49 +255 255 255 diff --git a/graphics/pokemon/ditto/shiny_gba.pal b/graphics/pokemon/ditto/shiny_gba.pal new file mode 100644 index 000000000000..98795831236c --- /dev/null +++ b/graphics/pokemon/ditto/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +0 255 255 +0 255 255 +0 255 255 +0 255 255 +139 230 255 +106 205 246 +74 164 230 +32 123 197 +24 74 139 +0 255 255 +0 255 255 +0 255 255 +0 255 255 +49 49 49 +255 255 255 diff --git a/graphics/pokemon/dodrio/anim_front_gba.png b/graphics/pokemon/dodrio/anim_front_gba.png new file mode 100644 index 000000000000..96cead2d1594 Binary files /dev/null and b/graphics/pokemon/dodrio/anim_front_gba.png differ diff --git a/graphics/pokemon/dodrio/back_gba.png b/graphics/pokemon/dodrio/back_gba.png new file mode 100644 index 000000000000..090c189e4b06 Binary files /dev/null and b/graphics/pokemon/dodrio/back_gba.png differ diff --git a/graphics/pokemon/dodrio/icon_gba.png b/graphics/pokemon/dodrio/icon_gba.png new file mode 100644 index 000000000000..3d462999e5e4 Binary files /dev/null and b/graphics/pokemon/dodrio/icon_gba.png differ diff --git a/graphics/pokemon/dodrio/normal_gba.pal b/graphics/pokemon/dodrio/normal_gba.pal new file mode 100644 index 000000000000..445bd3377c09 --- /dev/null +++ b/graphics/pokemon/dodrio/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 197 +238 197 115 +205 156 82 +164 123 74 +106 82 57 +238 222 172 +180 164 123 +98 90 65 +255 213 230 +246 131 164 +180 65 65 +213 205 205 +131 131 131 +65 65 65 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/dodrio/overworldf.png b/graphics/pokemon/dodrio/overworldf.png new file mode 100644 index 000000000000..678d8546a1a1 Binary files /dev/null and b/graphics/pokemon/dodrio/overworldf.png differ diff --git a/graphics/pokemon/dodrio/shiny_gba.pal b/graphics/pokemon/dodrio/shiny_gba.pal new file mode 100644 index 000000000000..e7c27940f8da --- /dev/null +++ b/graphics/pokemon/dodrio/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 197 +197 205 74 +156 164 32 +115 123 0 +74 82 0 +255 246 139 +238 189 82 +123 90 0 +255 213 230 +246 131 164 +180 65 65 +213 205 205 +131 131 131 +65 65 65 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/doduo/anim_front_gba.png b/graphics/pokemon/doduo/anim_front_gba.png new file mode 100644 index 000000000000..7c0576996586 Binary files /dev/null and b/graphics/pokemon/doduo/anim_front_gba.png differ diff --git a/graphics/pokemon/doduo/back_gba.png b/graphics/pokemon/doduo/back_gba.png new file mode 100644 index 000000000000..4589eff60724 Binary files /dev/null and b/graphics/pokemon/doduo/back_gba.png differ diff --git a/graphics/pokemon/doduo/icon_gba.png b/graphics/pokemon/doduo/icon_gba.png new file mode 100644 index 000000000000..540834591ef3 Binary files /dev/null and b/graphics/pokemon/doduo/icon_gba.png differ diff --git a/graphics/pokemon/doduo/normal_gba.pal b/graphics/pokemon/doduo/normal_gba.pal new file mode 100644 index 000000000000..d3213543abd7 --- /dev/null +++ b/graphics/pokemon/doduo/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 205 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +222 172 115 +189 139 82 +148 106 74 +90 65 32 +238 222 172 +189 172 123 +115 106 49 +255 0 255 +98 98 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/doduo/overworldf.png b/graphics/pokemon/doduo/overworldf.png new file mode 100644 index 000000000000..8639a0c77bcc Binary files /dev/null and b/graphics/pokemon/doduo/overworldf.png differ diff --git a/graphics/pokemon/doduo/shiny_gba.pal b/graphics/pokemon/doduo/shiny_gba.pal new file mode 100644 index 000000000000..fa2c1c8fb90b --- /dev/null +++ b/graphics/pokemon/doduo/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 205 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +197 205 74 +156 164 32 +115 123 0 +74 82 0 +255 246 164 +230 205 123 +131 106 24 +255 0 255 +98 98 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/donphan/anim_front_gba.png b/graphics/pokemon/donphan/anim_front_gba.png new file mode 100644 index 000000000000..23181fc634ca Binary files /dev/null and b/graphics/pokemon/donphan/anim_front_gba.png differ diff --git a/graphics/pokemon/donphan/back_gba.png b/graphics/pokemon/donphan/back_gba.png new file mode 100644 index 000000000000..d50d467ee6df Binary files /dev/null and b/graphics/pokemon/donphan/back_gba.png differ diff --git a/graphics/pokemon/donphan/icon_gba.png b/graphics/pokemon/donphan/icon_gba.png new file mode 100644 index 000000000000..09000b166de4 Binary files /dev/null and b/graphics/pokemon/donphan/icon_gba.png differ diff --git a/graphics/pokemon/donphan/normal_gba.pal b/graphics/pokemon/donphan/normal_gba.pal new file mode 100644 index 000000000000..4e0393757e5e --- /dev/null +++ b/graphics/pokemon/donphan/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 205 +255 255 255 +164 197 197 +123 156 156 +82 115 115 +49 82 82 +230 222 213 +213 205 205 +172 164 164 +131 123 123 +197 123 90 +148 57 41 +222 222 222 +189 189 189 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/donphan/overworldf.png b/graphics/pokemon/donphan/overworldf.png new file mode 100644 index 000000000000..709d1cbbd392 Binary files /dev/null and b/graphics/pokemon/donphan/overworldf.png differ diff --git a/graphics/pokemon/donphan/shiny_gba.pal b/graphics/pokemon/donphan/shiny_gba.pal new file mode 100644 index 000000000000..55a6da0085af --- /dev/null +++ b/graphics/pokemon/donphan/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 205 +255 255 255 +246 189 106 +213 148 82 +156 82 57 +106 74 49 +222 222 180 +205 205 156 +156 156 115 +115 115 82 +197 123 90 +148 57 41 +222 222 222 +189 189 189 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/dragonair/anim_front_gba.png b/graphics/pokemon/dragonair/anim_front_gba.png new file mode 100644 index 000000000000..3a41bef76619 Binary files /dev/null and b/graphics/pokemon/dragonair/anim_front_gba.png differ diff --git a/graphics/pokemon/dragonair/back_gba.png b/graphics/pokemon/dragonair/back_gba.png new file mode 100644 index 000000000000..ee3cf04d142e Binary files /dev/null and b/graphics/pokemon/dragonair/back_gba.png differ diff --git a/graphics/pokemon/dragonair/icon_gba.png b/graphics/pokemon/dragonair/icon_gba.png new file mode 100644 index 000000000000..f4b870a2ad98 Binary files /dev/null and b/graphics/pokemon/dragonair/icon_gba.png differ diff --git a/graphics/pokemon/dragonair/normal_gba.pal b/graphics/pokemon/dragonair/normal_gba.pal new file mode 100644 index 000000000000..4297fb8e9ec1 --- /dev/null +++ b/graphics/pokemon/dragonair/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 222 230 +180 180 197 +106 106 123 +123 197 246 +82 131 205 +32 65 139 +24 49 90 +16 16 16 +123 49 123 +148 205 246 +82 164 213 +49 123 172 +24 65 106 +255 0 255 diff --git a/graphics/pokemon/dragonair/shiny_gba.pal b/graphics/pokemon/dragonair/shiny_gba.pal new file mode 100644 index 000000000000..da7b6d02ee07 --- /dev/null +++ b/graphics/pokemon/dragonair/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 222 230 +180 180 197 +106 106 123 +255 246 164 +255 222 82 +213 139 16 +131 82 41 +16 16 16 +123 49 123 +238 156 230 +205 115 197 +156 65 156 +90 57 98 +255 0 255 diff --git a/graphics/pokemon/dragonite/anim_front_gba.png b/graphics/pokemon/dragonite/anim_front_gba.png new file mode 100644 index 000000000000..188c9ee59594 Binary files /dev/null and b/graphics/pokemon/dragonite/anim_front_gba.png differ diff --git a/graphics/pokemon/dragonite/back_gba.png b/graphics/pokemon/dragonite/back_gba.png new file mode 100644 index 000000000000..7107f90cff86 Binary files /dev/null and b/graphics/pokemon/dragonite/back_gba.png differ diff --git a/graphics/pokemon/dragonite/icon_gba.png b/graphics/pokemon/dragonite/icon_gba.png new file mode 100644 index 000000000000..efcbd8f11f69 Binary files /dev/null and b/graphics/pokemon/dragonite/icon_gba.png differ diff --git a/graphics/pokemon/dragonite/normal_gba.pal b/graphics/pokemon/dragonite/normal_gba.pal new file mode 100644 index 000000000000..80f21c5c0296 --- /dev/null +++ b/graphics/pokemon/dragonite/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 0 255 +255 238 148 +246 213 115 +205 172 82 +106 90 57 +123 197 197 +82 164 164 +49 115 106 +255 246 205 +213 213 164 +156 156 106 +213 213 222 +115 115 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/dragonite/shiny_gba.pal b/graphics/pokemon/dragonite/shiny_gba.pal new file mode 100644 index 000000000000..4e04571b1cc3 --- /dev/null +++ b/graphics/pokemon/dragonite/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 0 255 +156 180 123 +123 156 98 +90 106 65 +49 57 49 +222 156 213 +180 115 180 +115 74 123 +255 246 205 +213 213 164 +156 156 106 +213 213 222 +115 115 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/dratini/anim_front_gba.png b/graphics/pokemon/dratini/anim_front_gba.png new file mode 100644 index 000000000000..b80476eeed18 Binary files /dev/null and b/graphics/pokemon/dratini/anim_front_gba.png differ diff --git a/graphics/pokemon/dratini/back_gba.png b/graphics/pokemon/dratini/back_gba.png new file mode 100644 index 000000000000..f87eb13cba5c Binary files /dev/null and b/graphics/pokemon/dratini/back_gba.png differ diff --git a/graphics/pokemon/dratini/icon_gba.png b/graphics/pokemon/dratini/icon_gba.png new file mode 100644 index 000000000000..c26efee60215 Binary files /dev/null and b/graphics/pokemon/dratini/icon_gba.png differ diff --git a/graphics/pokemon/dratini/normal_gba.pal b/graphics/pokemon/dratini/normal_gba.pal new file mode 100644 index 000000000000..97c442e6d8db --- /dev/null +++ b/graphics/pokemon/dratini/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +238 238 197 +197 197 156 +123 123 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +139 16 180 +197 164 230 +164 131 197 +115 82 148 +57 24 90 +16 16 16 diff --git a/graphics/pokemon/dratini/shiny_gba.pal b/graphics/pokemon/dratini/shiny_gba.pal new file mode 100644 index 000000000000..b2e5cc781741 --- /dev/null +++ b/graphics/pokemon/dratini/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +238 238 197 +197 197 156 +123 123 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +139 16 180 +238 148 197 +205 106 164 +164 65 131 +123 32 90 +16 16 16 diff --git a/graphics/pokemon/drednaw/gigantamax/back.png b/graphics/pokemon/drednaw/gmax/back.png similarity index 100% rename from graphics/pokemon/drednaw/gigantamax/back.png rename to graphics/pokemon/drednaw/gmax/back.png diff --git a/graphics/pokemon/drednaw/gigantamax/front.png b/graphics/pokemon/drednaw/gmax/front.png similarity index 100% rename from graphics/pokemon/drednaw/gigantamax/front.png rename to graphics/pokemon/drednaw/gmax/front.png diff --git a/graphics/pokemon/drednaw/gigantamax/icon.png b/graphics/pokemon/drednaw/gmax/icon.png similarity index 100% rename from graphics/pokemon/drednaw/gigantamax/icon.png rename to graphics/pokemon/drednaw/gmax/icon.png diff --git a/graphics/pokemon/drednaw/gigantamax/normal.pal b/graphics/pokemon/drednaw/gmax/normal.pal similarity index 100% rename from graphics/pokemon/drednaw/gigantamax/normal.pal rename to graphics/pokemon/drednaw/gmax/normal.pal diff --git a/graphics/pokemon/drednaw/gigantamax/shiny.pal b/graphics/pokemon/drednaw/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/drednaw/gigantamax/shiny.pal rename to graphics/pokemon/drednaw/gmax/shiny.pal diff --git a/graphics/pokemon/drowzee/anim_front_gba.png b/graphics/pokemon/drowzee/anim_front_gba.png new file mode 100644 index 000000000000..2e74d279ccfc Binary files /dev/null and b/graphics/pokemon/drowzee/anim_front_gba.png differ diff --git a/graphics/pokemon/drowzee/back_gba.png b/graphics/pokemon/drowzee/back_gba.png new file mode 100644 index 000000000000..b6310587816e Binary files /dev/null and b/graphics/pokemon/drowzee/back_gba.png differ diff --git a/graphics/pokemon/drowzee/icon_gba.png b/graphics/pokemon/drowzee/icon_gba.png new file mode 100644 index 000000000000..39b84c871d34 Binary files /dev/null and b/graphics/pokemon/drowzee/icon_gba.png differ diff --git a/graphics/pokemon/drowzee/normal_gba.pal b/graphics/pokemon/drowzee/normal_gba.pal new file mode 100644 index 000000000000..2fc73cae960e --- /dev/null +++ b/graphics/pokemon/drowzee/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 205 +255 255 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +189 139 82 +148 106 65 +106 74 32 +74 41 0 +255 246 65 +255 222 65 +222 189 16 +148 106 0 +16 16 16 diff --git a/graphics/pokemon/drowzee/shiny_gba.pal b/graphics/pokemon/drowzee/shiny_gba.pal new file mode 100644 index 000000000000..f192e20d0bdc --- /dev/null +++ b/graphics/pokemon/drowzee/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 205 +255 255 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +189 98 106 +148 57 65 +106 16 24 +65 0 8 +255 230 246 +230 189 205 +189 148 164 +123 82 98 +16 16 16 diff --git a/graphics/pokemon/dugtrio/alolan/back.png b/graphics/pokemon/dugtrio/alola/back.png similarity index 100% rename from graphics/pokemon/dugtrio/alolan/back.png rename to graphics/pokemon/dugtrio/alola/back.png diff --git a/graphics/pokemon/dugtrio/alolan/front.png b/graphics/pokemon/dugtrio/alola/front.png similarity index 100% rename from graphics/pokemon/dugtrio/alolan/front.png rename to graphics/pokemon/dugtrio/alola/front.png diff --git a/graphics/pokemon/dugtrio/alolan/icon.png b/graphics/pokemon/dugtrio/alola/icon.png similarity index 100% rename from graphics/pokemon/dugtrio/alolan/icon.png rename to graphics/pokemon/dugtrio/alola/icon.png diff --git a/graphics/pokemon/dugtrio/alolan/normal.pal b/graphics/pokemon/dugtrio/alola/normal.pal similarity index 100% rename from graphics/pokemon/dugtrio/alolan/normal.pal rename to graphics/pokemon/dugtrio/alola/normal.pal diff --git a/graphics/pokemon/dugtrio/alolan/overworld.png b/graphics/pokemon/dugtrio/alola/overworld.png similarity index 100% rename from graphics/pokemon/dugtrio/alolan/overworld.png rename to graphics/pokemon/dugtrio/alola/overworld.png diff --git a/graphics/pokemon/dugtrio/alolan/overworld_normal.pal b/graphics/pokemon/dugtrio/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/dugtrio/alolan/overworld_normal.pal rename to graphics/pokemon/dugtrio/alola/overworld_normal.pal diff --git a/graphics/pokemon/dugtrio/alolan/overworld_shiny.pal b/graphics/pokemon/dugtrio/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/dugtrio/alolan/overworld_shiny.pal rename to graphics/pokemon/dugtrio/alola/overworld_shiny.pal diff --git a/graphics/pokemon/dugtrio/alolan/shiny.pal b/graphics/pokemon/dugtrio/alola/shiny.pal similarity index 100% rename from graphics/pokemon/dugtrio/alolan/shiny.pal rename to graphics/pokemon/dugtrio/alola/shiny.pal diff --git a/graphics/pokemon/dugtrio/anim_front_gba.png b/graphics/pokemon/dugtrio/anim_front_gba.png new file mode 100644 index 000000000000..81f462cc6f1e Binary files /dev/null and b/graphics/pokemon/dugtrio/anim_front_gba.png differ diff --git a/graphics/pokemon/dugtrio/back_gba.png b/graphics/pokemon/dugtrio/back_gba.png new file mode 100644 index 000000000000..84fd0b630719 Binary files /dev/null and b/graphics/pokemon/dugtrio/back_gba.png differ diff --git a/graphics/pokemon/dugtrio/icon_gba.png b/graphics/pokemon/dugtrio/icon_gba.png new file mode 100644 index 000000000000..a837c7f6f399 Binary files /dev/null and b/graphics/pokemon/dugtrio/icon_gba.png differ diff --git a/graphics/pokemon/dugtrio/normal_gba.pal b/graphics/pokemon/dugtrio/normal_gba.pal new file mode 100644 index 000000000000..78691ac04b0c --- /dev/null +++ b/graphics/pokemon/dugtrio/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +255 205 197 +255 106 90 +246 65 49 +230 230 180 +180 172 115 +131 123 74 +90 82 32 +123 123 123 +16 16 16 +230 164 98 +197 123 65 +164 90 32 +106 32 0 +255 0 255 diff --git a/graphics/pokemon/dugtrio/shiny_gba.pal b/graphics/pokemon/dugtrio/shiny_gba.pal new file mode 100644 index 000000000000..77345a714fa0 --- /dev/null +++ b/graphics/pokemon/dugtrio/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +123 156 197 +82 115 156 +41 74 115 +230 230 180 +180 172 115 +131 123 74 +90 82 32 +123 123 123 +16 16 16 +230 164 98 +197 123 65 +164 90 32 +106 32 0 +255 0 255 diff --git a/graphics/pokemon/dunsparce/anim_front_gba.png b/graphics/pokemon/dunsparce/anim_front_gba.png new file mode 100644 index 000000000000..527b51c931f1 Binary files /dev/null and b/graphics/pokemon/dunsparce/anim_front_gba.png differ diff --git a/graphics/pokemon/dunsparce/back_gba.png b/graphics/pokemon/dunsparce/back_gba.png new file mode 100644 index 000000000000..05f700ea7200 Binary files /dev/null and b/graphics/pokemon/dunsparce/back_gba.png differ diff --git a/graphics/pokemon/dunsparce/icon_gba.png b/graphics/pokemon/dunsparce/icon_gba.png new file mode 100644 index 000000000000..d2896e72bbcb Binary files /dev/null and b/graphics/pokemon/dunsparce/icon_gba.png differ diff --git a/graphics/pokemon/dunsparce/normal_gba.pal b/graphics/pokemon/dunsparce/normal_gba.pal new file mode 100644 index 000000000000..e0440cdc1e88 --- /dev/null +++ b/graphics/pokemon/dunsparce/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +32 82 139 +74 172 189 +131 205 213 +189 222 230 +90 90 90 +139 139 139 +197 205 213 +106 90 41 +189 139 32 +222 189 57 +230 230 131 +246 246 197 +255 255 255 diff --git a/graphics/pokemon/dunsparce/shiny_gba.pal b/graphics/pokemon/dunsparce/shiny_gba.pal new file mode 100644 index 000000000000..425dc8b36b25 --- /dev/null +++ b/graphics/pokemon/dunsparce/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +164 65 74 +222 106 123 +238 164 164 +238 213 197 +90 90 90 +139 139 139 +238 213 197 +106 90 41 +189 139 32 +222 189 57 +230 230 131 +246 246 197 +255 255 255 diff --git a/graphics/pokemon/duraludon/gigantamax/back.png b/graphics/pokemon/duraludon/gmax/back.png similarity index 100% rename from graphics/pokemon/duraludon/gigantamax/back.png rename to graphics/pokemon/duraludon/gmax/back.png diff --git a/graphics/pokemon/duraludon/gigantamax/front.png b/graphics/pokemon/duraludon/gmax/front.png similarity index 100% rename from graphics/pokemon/duraludon/gigantamax/front.png rename to graphics/pokemon/duraludon/gmax/front.png diff --git a/graphics/pokemon/duraludon/gigantamax/icon.png b/graphics/pokemon/duraludon/gmax/icon.png similarity index 100% rename from graphics/pokemon/duraludon/gigantamax/icon.png rename to graphics/pokemon/duraludon/gmax/icon.png diff --git a/graphics/pokemon/duraludon/gigantamax/normal.pal b/graphics/pokemon/duraludon/gmax/normal.pal similarity index 100% rename from graphics/pokemon/duraludon/gigantamax/normal.pal rename to graphics/pokemon/duraludon/gmax/normal.pal diff --git a/graphics/pokemon/duraludon/gigantamax/shiny.pal b/graphics/pokemon/duraludon/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/duraludon/gigantamax/shiny.pal rename to graphics/pokemon/duraludon/gmax/shiny.pal diff --git a/graphics/pokemon/dusclops/anim_front_gba.png b/graphics/pokemon/dusclops/anim_front_gba.png new file mode 100644 index 000000000000..c567f170366f Binary files /dev/null and b/graphics/pokemon/dusclops/anim_front_gba.png differ diff --git a/graphics/pokemon/dusclops/back_gba.png b/graphics/pokemon/dusclops/back_gba.png new file mode 100644 index 000000000000..9362e84213d5 Binary files /dev/null and b/graphics/pokemon/dusclops/back_gba.png differ diff --git a/graphics/pokemon/dusclops/icon_gba.png b/graphics/pokemon/dusclops/icon_gba.png new file mode 100644 index 000000000000..6ebc957dadf5 Binary files /dev/null and b/graphics/pokemon/dusclops/icon_gba.png differ diff --git a/graphics/pokemon/dusclops/normal_gba.pal b/graphics/pokemon/dusclops/normal_gba.pal new file mode 100644 index 000000000000..f82d7f82eb2e --- /dev/null +++ b/graphics/pokemon/dusclops/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +82 57 49 +90 90 106 +255 255 255 +106 98 90 +139 139 115 +180 180 164 +148 131 123 +213 197 180 +172 172 148 +0 0 0 +0 0 0 +0 0 0 +255 255 0 +255 0 0 +24 24 24 diff --git a/graphics/pokemon/dusclops/shiny_gba.pal b/graphics/pokemon/dusclops/shiny_gba.pal new file mode 100644 index 000000000000..f07d7112f626 --- /dev/null +++ b/graphics/pokemon/dusclops/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +90 65 57 +139 32 0 +255 255 255 +156 41 16 +189 74 49 +222 106 82 +148 131 123 +213 197 180 +172 172 148 +0 0 0 +0 0 0 +0 0 0 +255 255 0 +255 0 0 +24 24 24 diff --git a/graphics/pokemon/duskull/anim_front_gba.png b/graphics/pokemon/duskull/anim_front_gba.png new file mode 100644 index 000000000000..46c83d72f37e Binary files /dev/null and b/graphics/pokemon/duskull/anim_front_gba.png differ diff --git a/graphics/pokemon/duskull/back_gba.png b/graphics/pokemon/duskull/back_gba.png new file mode 100644 index 000000000000..52a5c867d944 Binary files /dev/null and b/graphics/pokemon/duskull/back_gba.png differ diff --git a/graphics/pokemon/duskull/icon_gba.png b/graphics/pokemon/duskull/icon_gba.png new file mode 100644 index 000000000000..22710a79f330 Binary files /dev/null and b/graphics/pokemon/duskull/icon_gba.png differ diff --git a/graphics/pokemon/duskull/normal_gba.pal b/graphics/pokemon/duskull/normal_gba.pal new file mode 100644 index 000000000000..aa1fb6ba415b --- /dev/null +++ b/graphics/pokemon/duskull/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 164 172 +57 57 49 +106 106 90 +139 139 123 +180 180 148 +238 230 189 +222 213 172 +255 255 230 +74 65 65 +172 164 123 +255 164 172 +90 90 82 +0 0 0 +139 74 90 +238 82 24 +255 255 255 diff --git a/graphics/pokemon/duskull/shiny_gba.pal b/graphics/pokemon/duskull/shiny_gba.pal new file mode 100644 index 000000000000..2ec13fb1db33 --- /dev/null +++ b/graphics/pokemon/duskull/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 164 172 +90 0 0 +156 41 16 +189 74 49 +222 106 82 +238 230 189 +222 213 172 +255 255 230 +74 65 65 +172 164 123 +255 164 172 +123 8 0 +0 0 0 +139 74 90 +238 82 24 +255 255 255 diff --git a/graphics/pokemon/dustox/anim_front_gba.png b/graphics/pokemon/dustox/anim_front_gba.png new file mode 100644 index 000000000000..b2b1924a9f05 Binary files /dev/null and b/graphics/pokemon/dustox/anim_front_gba.png differ diff --git a/graphics/pokemon/dustox/back_gba.png b/graphics/pokemon/dustox/back_gba.png new file mode 100644 index 000000000000..759b98ea2a1b Binary files /dev/null and b/graphics/pokemon/dustox/back_gba.png differ diff --git a/graphics/pokemon/dustox/icon_gba.png b/graphics/pokemon/dustox/icon_gba.png new file mode 100644 index 000000000000..2f0d140017fd Binary files /dev/null and b/graphics/pokemon/dustox/icon_gba.png differ diff --git a/graphics/pokemon/dustox/normal_gba.pal b/graphics/pokemon/dustox/normal_gba.pal new file mode 100644 index 000000000000..262b7d1ba0c3 --- /dev/null +++ b/graphics/pokemon/dustox/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 255 +90 74 74 +131 148 131 +156 180 156 +0 0 0 +180 106 148 +213 148 197 +230 197 213 +180 213 115 +197 255 148 +189 148 82 +238 238 49 +205 197 49 +246 82 49 +197 82 49 +24 24 24 diff --git a/graphics/pokemon/dustox/overworldf.png b/graphics/pokemon/dustox/overworldf.png new file mode 100644 index 000000000000..a92edca30b6c Binary files /dev/null and b/graphics/pokemon/dustox/overworldf.png differ diff --git a/graphics/pokemon/dustox/shiny_gba.pal b/graphics/pokemon/dustox/shiny_gba.pal new file mode 100644 index 000000000000..c1c43725b9ae --- /dev/null +++ b/graphics/pokemon/dustox/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 255 +90 74 74 +148 98 65 +172 123 90 +0 0 0 +180 106 148 +213 148 197 +230 197 213 +230 172 90 +255 230 156 +189 148 82 +238 238 49 +205 197 49 +246 82 49 +197 82 49 +24 24 24 diff --git a/graphics/pokemon/eevee/anim_front_gba.png b/graphics/pokemon/eevee/anim_front_gba.png new file mode 100644 index 000000000000..04fd9b50683a Binary files /dev/null and b/graphics/pokemon/eevee/anim_front_gba.png differ diff --git a/graphics/pokemon/eevee/back_gba.png b/graphics/pokemon/eevee/back_gba.png new file mode 100644 index 000000000000..79bd1129c6aa Binary files /dev/null and b/graphics/pokemon/eevee/back_gba.png differ diff --git a/graphics/pokemon/eevee/gigantamax/back.png b/graphics/pokemon/eevee/gmax/back.png similarity index 100% rename from graphics/pokemon/eevee/gigantamax/back.png rename to graphics/pokemon/eevee/gmax/back.png diff --git a/graphics/pokemon/eevee/gigantamax/front.png b/graphics/pokemon/eevee/gmax/front.png similarity index 100% rename from graphics/pokemon/eevee/gigantamax/front.png rename to graphics/pokemon/eevee/gmax/front.png diff --git a/graphics/pokemon/eevee/gigantamax/icon.png b/graphics/pokemon/eevee/gmax/icon.png similarity index 100% rename from graphics/pokemon/eevee/gigantamax/icon.png rename to graphics/pokemon/eevee/gmax/icon.png diff --git a/graphics/pokemon/eevee/gigantamax/normal.pal b/graphics/pokemon/eevee/gmax/normal.pal similarity index 100% rename from graphics/pokemon/eevee/gigantamax/normal.pal rename to graphics/pokemon/eevee/gmax/normal.pal diff --git a/graphics/pokemon/eevee/gigantamax/shiny.pal b/graphics/pokemon/eevee/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/eevee/gigantamax/shiny.pal rename to graphics/pokemon/eevee/gmax/shiny.pal diff --git a/graphics/pokemon/eevee/icon_gba.png b/graphics/pokemon/eevee/icon_gba.png new file mode 100644 index 000000000000..13b90c2e2d1a Binary files /dev/null and b/graphics/pokemon/eevee/icon_gba.png differ diff --git a/graphics/pokemon/eevee/normal_gba.pal b/graphics/pokemon/eevee/normal_gba.pal new file mode 100644 index 000000000000..266f9f174277 --- /dev/null +++ b/graphics/pokemon/eevee/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +238 230 197 +222 213 164 +197 180 115 +131 115 74 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +230 180 115 +197 148 82 +164 123 49 +98 82 41 +255 0 255 diff --git a/graphics/pokemon/eevee/overworldf.png b/graphics/pokemon/eevee/overworldf.png new file mode 100644 index 000000000000..4fe402bbe8c6 Binary files /dev/null and b/graphics/pokemon/eevee/overworldf.png differ diff --git a/graphics/pokemon/eevee/shiny_gba.pal b/graphics/pokemon/eevee/shiny_gba.pal new file mode 100644 index 000000000000..7f9f3c7b8d93 --- /dev/null +++ b/graphics/pokemon/eevee/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +246 255 255 +222 230 246 +172 180 213 +106 123 148 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +238 238 213 +222 222 205 +172 172 172 +82 82 82 +255 0 255 diff --git a/graphics/pokemon/egg/anim_front_gba.png b/graphics/pokemon/egg/anim_front_gba.png new file mode 100644 index 000000000000..5451b34a2217 Binary files /dev/null and b/graphics/pokemon/egg/anim_front_gba.png differ diff --git a/graphics/pokemon/egg/icon_gba.png b/graphics/pokemon/egg/icon_gba.png new file mode 100644 index 000000000000..8f6ca5dde3b9 Binary files /dev/null and b/graphics/pokemon/egg/icon_gba.png differ diff --git a/graphics/pokemon/egg/normal_gba.pal b/graphics/pokemon/egg/normal_gba.pal new file mode 100644 index 000000000000..cadeacee0434 --- /dev/null +++ b/graphics/pokemon/egg/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 255 148 +65 74 74 +148 156 156 +246 246 213 +238 230 164 +205 197 131 +123 205 74 +106 148 82 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +131 230 230 diff --git a/graphics/pokemon/ekans/anim_front_gba.png b/graphics/pokemon/ekans/anim_front_gba.png new file mode 100644 index 000000000000..22d3fe19c26f Binary files /dev/null and b/graphics/pokemon/ekans/anim_front_gba.png differ diff --git a/graphics/pokemon/ekans/back_gba.png b/graphics/pokemon/ekans/back_gba.png new file mode 100644 index 000000000000..e72a7a9edd89 Binary files /dev/null and b/graphics/pokemon/ekans/back_gba.png differ diff --git a/graphics/pokemon/ekans/icon_gba.png b/graphics/pokemon/ekans/icon_gba.png new file mode 100644 index 000000000000..3c81efd6915f Binary files /dev/null and b/graphics/pokemon/ekans/icon_gba.png differ diff --git a/graphics/pokemon/ekans/normal_gba.pal b/graphics/pokemon/ekans/normal_gba.pal new file mode 100644 index 000000000000..55289888c96b --- /dev/null +++ b/graphics/pokemon/ekans/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 189 +255 255 255 +246 115 74 +197 65 24 +156 16 0 +255 0 255 +255 230 156 +255 213 106 +230 172 90 +131 82 16 +255 0 255 +16 16 16 +222 164 197 +189 115 164 +156 74 131 +106 32 90 diff --git a/graphics/pokemon/ekans/shiny_gba.pal b/graphics/pokemon/ekans/shiny_gba.pal new file mode 100644 index 000000000000..52986443013c --- /dev/null +++ b/graphics/pokemon/ekans/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 189 +255 255 255 +246 115 74 +197 65 24 +156 16 0 +255 0 255 +255 230 156 +255 213 106 +230 172 90 +131 82 16 +255 0 255 +16 16 16 +213 197 98 +172 156 57 +131 115 16 +90 74 0 diff --git a/graphics/pokemon/electabuzz/anim_front_gba.png b/graphics/pokemon/electabuzz/anim_front_gba.png new file mode 100644 index 000000000000..7edefd605975 Binary files /dev/null and b/graphics/pokemon/electabuzz/anim_front_gba.png differ diff --git a/graphics/pokemon/electabuzz/back_gba.png b/graphics/pokemon/electabuzz/back_gba.png new file mode 100644 index 000000000000..8d84c2cb63de Binary files /dev/null and b/graphics/pokemon/electabuzz/back_gba.png differ diff --git a/graphics/pokemon/electabuzz/icon_gba.png b/graphics/pokemon/electabuzz/icon_gba.png new file mode 100644 index 000000000000..4c9babe2a98c Binary files /dev/null and b/graphics/pokemon/electabuzz/icon_gba.png differ diff --git a/graphics/pokemon/electabuzz/normal_gba.pal b/graphics/pokemon/electabuzz/normal_gba.pal new file mode 100644 index 000000000000..1a18eb70d82e --- /dev/null +++ b/graphics/pokemon/electabuzz/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 222 222 +115 115 115 +16 16 16 +255 0 255 +255 0 255 +255 172 123 +255 82 32 +189 49 8 +255 0 255 +255 255 213 +255 230 156 +255 213 106 +230 164 82 +164 82 0 diff --git a/graphics/pokemon/electabuzz/shiny_gba.pal b/graphics/pokemon/electabuzz/shiny_gba.pal new file mode 100644 index 000000000000..df9fa23e84f8 --- /dev/null +++ b/graphics/pokemon/electabuzz/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 222 222 +115 115 115 +16 16 16 +255 0 255 +255 0 255 +255 172 123 +255 82 32 +189 49 8 +255 0 255 +255 230 148 +255 205 41 +238 131 0 +205 98 0 +164 41 0 diff --git a/graphics/pokemon/electrike/anim_front_gba.png b/graphics/pokemon/electrike/anim_front_gba.png new file mode 100644 index 000000000000..396dd670bf91 Binary files /dev/null and b/graphics/pokemon/electrike/anim_front_gba.png differ diff --git a/graphics/pokemon/electrike/back_gba.png b/graphics/pokemon/electrike/back_gba.png new file mode 100644 index 000000000000..c6e9e83e53cc Binary files /dev/null and b/graphics/pokemon/electrike/back_gba.png differ diff --git a/graphics/pokemon/electrike/icon_gba.png b/graphics/pokemon/electrike/icon_gba.png new file mode 100644 index 000000000000..ebef61c49928 Binary files /dev/null and b/graphics/pokemon/electrike/icon_gba.png differ diff --git a/graphics/pokemon/electrike/normal_gba.pal b/graphics/pokemon/electrike/normal_gba.pal new file mode 100644 index 000000000000..5ee96cb845c3 --- /dev/null +++ b/graphics/pokemon/electrike/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 246 +65 82 65 +82 139 90 +106 180 123 +156 222 131 +255 238 32 +213 213 24 +172 197 65 +148 49 57 +213 57 49 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +197 205 222 +24 24 24 diff --git a/graphics/pokemon/electrike/shiny_gba.pal b/graphics/pokemon/electrike/shiny_gba.pal new file mode 100644 index 000000000000..c7f51a2b138b --- /dev/null +++ b/graphics/pokemon/electrike/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 246 +74 74 131 +49 123 189 +90 156 213 +123 197 255 +255 238 32 +197 213 98 +172 197 65 +148 49 57 +213 57 49 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +197 205 222 +24 24 24 diff --git a/graphics/pokemon/electrode/anim_front_gba.png b/graphics/pokemon/electrode/anim_front_gba.png new file mode 100644 index 000000000000..57c95efa1623 Binary files /dev/null and b/graphics/pokemon/electrode/anim_front_gba.png differ diff --git a/graphics/pokemon/electrode/back_gba.png b/graphics/pokemon/electrode/back_gba.png new file mode 100644 index 000000000000..74ca458d39ea Binary files /dev/null and b/graphics/pokemon/electrode/back_gba.png differ diff --git a/graphics/pokemon/electrode/hisuian/back.png b/graphics/pokemon/electrode/hisui/back.png similarity index 100% rename from graphics/pokemon/electrode/hisuian/back.png rename to graphics/pokemon/electrode/hisui/back.png diff --git a/graphics/pokemon/electrode/hisuian/front.png b/graphics/pokemon/electrode/hisui/front.png similarity index 100% rename from graphics/pokemon/electrode/hisuian/front.png rename to graphics/pokemon/electrode/hisui/front.png diff --git a/graphics/pokemon/electrode/hisuian/icon.png b/graphics/pokemon/electrode/hisui/icon.png similarity index 100% rename from graphics/pokemon/electrode/hisuian/icon.png rename to graphics/pokemon/electrode/hisui/icon.png diff --git a/graphics/pokemon/electrode/hisuian/normal.pal b/graphics/pokemon/electrode/hisui/normal.pal similarity index 100% rename from graphics/pokemon/electrode/hisuian/normal.pal rename to graphics/pokemon/electrode/hisui/normal.pal diff --git a/graphics/pokemon/electrode/hisuian/overworld.png b/graphics/pokemon/electrode/hisui/overworld.png similarity index 100% rename from graphics/pokemon/electrode/hisuian/overworld.png rename to graphics/pokemon/electrode/hisui/overworld.png diff --git a/graphics/pokemon/electrode/hisuian/overworld_normal.pal b/graphics/pokemon/electrode/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/electrode/hisuian/overworld_normal.pal rename to graphics/pokemon/electrode/hisui/overworld_normal.pal diff --git a/graphics/pokemon/electrode/hisuian/overworld_shiny.pal b/graphics/pokemon/electrode/hisui/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/electrode/hisuian/overworld_shiny.pal rename to graphics/pokemon/electrode/hisui/overworld_shiny.pal diff --git a/graphics/pokemon/electrode/hisuian/shiny.pal b/graphics/pokemon/electrode/hisui/shiny.pal similarity index 100% rename from graphics/pokemon/electrode/hisuian/shiny.pal rename to graphics/pokemon/electrode/hisui/shiny.pal diff --git a/graphics/pokemon/electrode/icon_gba.png b/graphics/pokemon/electrode/icon_gba.png new file mode 100644 index 000000000000..e46c57974f17 Binary files /dev/null and b/graphics/pokemon/electrode/icon_gba.png differ diff --git a/graphics/pokemon/electrode/normal_gba.pal b/graphics/pokemon/electrode/normal_gba.pal new file mode 100644 index 000000000000..1848bf716739 --- /dev/null +++ b/graphics/pokemon/electrode/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 189 230 +255 255 255 +238 238 238 +205 205 205 +164 156 156 +90 82 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 180 156 +255 123 74 +230 65 0 +180 49 0 +131 16 16 +16 16 16 diff --git a/graphics/pokemon/electrode/shiny_gba.pal b/graphics/pokemon/electrode/shiny_gba.pal new file mode 100644 index 000000000000..d651b064fe6f --- /dev/null +++ b/graphics/pokemon/electrode/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +238 238 238 +222 222 230 +180 172 172 +90 82 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +115 197 255 +74 156 213 +32 115 172 +32 74 131 +32 32 90 +16 16 16 diff --git a/graphics/pokemon/elekid/anim_front_gba.png b/graphics/pokemon/elekid/anim_front_gba.png new file mode 100644 index 000000000000..7f3091f52355 Binary files /dev/null and b/graphics/pokemon/elekid/anim_front_gba.png differ diff --git a/graphics/pokemon/elekid/back_gba.png b/graphics/pokemon/elekid/back_gba.png new file mode 100644 index 000000000000..0d8d9428abaa Binary files /dev/null and b/graphics/pokemon/elekid/back_gba.png differ diff --git a/graphics/pokemon/elekid/icon_gba.png b/graphics/pokemon/elekid/icon_gba.png new file mode 100644 index 000000000000..d80ce6f0d8c1 Binary files /dev/null and b/graphics/pokemon/elekid/icon_gba.png differ diff --git a/graphics/pokemon/elekid/normal_gba.pal b/graphics/pokemon/elekid/normal_gba.pal new file mode 100644 index 000000000000..522f7de84a01 --- /dev/null +++ b/graphics/pokemon/elekid/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 205 172 +255 255 255 +255 230 156 +246 197 74 +230 172 0 +180 106 0 +123 82 0 +246 148 16 +156 49 0 +115 16 0 +255 0 255 +205 205 205 +164 164 164 +106 106 106 +49 49 65 +16 16 16 diff --git a/graphics/pokemon/elekid/shiny_gba.pal b/graphics/pokemon/elekid/shiny_gba.pal new file mode 100644 index 000000000000..59ff6b2cf7ad --- /dev/null +++ b/graphics/pokemon/elekid/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 230 82 +238 205 65 +189 156 24 +148 115 0 +123 82 0 +246 148 16 +156 49 0 +115 16 0 +255 0 255 +205 205 205 +164 164 164 +115 98 49 +57 49 32 +16 16 16 diff --git a/graphics/pokemon/entei/anim_front_gba.png b/graphics/pokemon/entei/anim_front_gba.png new file mode 100644 index 000000000000..297d253b1da7 Binary files /dev/null and b/graphics/pokemon/entei/anim_front_gba.png differ diff --git a/graphics/pokemon/entei/back_gba.png b/graphics/pokemon/entei/back_gba.png new file mode 100644 index 000000000000..902b4461a23a Binary files /dev/null and b/graphics/pokemon/entei/back_gba.png differ diff --git a/graphics/pokemon/entei/icon_gba.png b/graphics/pokemon/entei/icon_gba.png new file mode 100644 index 000000000000..4d2353a20c1d Binary files /dev/null and b/graphics/pokemon/entei/icon_gba.png differ diff --git a/graphics/pokemon/entei/normal_gba.pal b/graphics/pokemon/entei/normal_gba.pal new file mode 100644 index 000000000000..27cad95eaa95 --- /dev/null +++ b/graphics/pokemon/entei/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 189 98 +180 148 74 +131 98 32 +82 57 0 +255 123 41 +230 41 0 +156 0 0 +255 230 148 +255 205 0 +213 148 0 +213 213 213 +172 172 172 +98 98 98 +16 16 16 diff --git a/graphics/pokemon/entei/shiny_gba.pal b/graphics/pokemon/entei/shiny_gba.pal new file mode 100644 index 000000000000..e3f22acddda0 --- /dev/null +++ b/graphics/pokemon/entei/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 164 115 +213 123 82 +156 74 49 +115 49 41 +164 172 189 +115 123 139 +65 65 74 +255 213 172 +255 205 0 +213 148 0 +213 213 213 +172 172 172 +98 98 98 +16 16 16 diff --git a/graphics/pokemon/espeon/anim_front_gba.png b/graphics/pokemon/espeon/anim_front_gba.png new file mode 100644 index 000000000000..95ff75a0cd52 Binary files /dev/null and b/graphics/pokemon/espeon/anim_front_gba.png differ diff --git a/graphics/pokemon/espeon/back_gba.png b/graphics/pokemon/espeon/back_gba.png new file mode 100644 index 000000000000..c3e5d96dedf1 Binary files /dev/null and b/graphics/pokemon/espeon/back_gba.png differ diff --git a/graphics/pokemon/espeon/icon_gba.png b/graphics/pokemon/espeon/icon_gba.png new file mode 100644 index 000000000000..bc63aa3f2c67 Binary files /dev/null and b/graphics/pokemon/espeon/icon_gba.png differ diff --git a/graphics/pokemon/espeon/normal_gba.pal b/graphics/pokemon/espeon/normal_gba.pal new file mode 100644 index 000000000000..b001102c1b9d --- /dev/null +++ b/graphics/pokemon/espeon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +131 57 65 +213 57 65 +49 49 49 +82 57 106 +123 82 180 +180 115 230 +213 172 230 +238 222 238 +16 16 16 +0 24 148 +255 255 255 diff --git a/graphics/pokemon/espeon/shiny_gba.pal b/graphics/pokemon/espeon/shiny_gba.pal new file mode 100644 index 000000000000..22222e2c7c2e --- /dev/null +++ b/graphics/pokemon/espeon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +131 90 0 +255 164 65 +49 49 49 +41 98 41 +74 156 65 +106 205 74 +164 230 90 +213 255 156 +16 16 16 +82 41 90 +255 255 255 diff --git a/graphics/pokemon/exeggcute/anim_front_gba.png b/graphics/pokemon/exeggcute/anim_front_gba.png new file mode 100644 index 000000000000..ca0b6df22d58 Binary files /dev/null and b/graphics/pokemon/exeggcute/anim_front_gba.png differ diff --git a/graphics/pokemon/exeggcute/back_gba.png b/graphics/pokemon/exeggcute/back_gba.png new file mode 100644 index 000000000000..e340cd0361a7 Binary files /dev/null and b/graphics/pokemon/exeggcute/back_gba.png differ diff --git a/graphics/pokemon/exeggcute/icon_gba.png b/graphics/pokemon/exeggcute/icon_gba.png new file mode 100644 index 000000000000..5d0306610c87 Binary files /dev/null and b/graphics/pokemon/exeggcute/icon_gba.png differ diff --git a/graphics/pokemon/exeggcute/normal_gba.pal b/graphics/pokemon/exeggcute/normal_gba.pal new file mode 100644 index 000000000000..04f5ede31714 --- /dev/null +++ b/graphics/pokemon/exeggcute/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +222 222 222 +255 205 74 +230 156 0 +16 16 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 238 197 +255 213 172 +255 180 139 +230 106 82 +148 49 16 diff --git a/graphics/pokemon/exeggcute/shiny_gba.pal b/graphics/pokemon/exeggcute/shiny_gba.pal new file mode 100644 index 000000000000..4b18e5857f70 --- /dev/null +++ b/graphics/pokemon/exeggcute/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +222 222 222 +255 205 74 +230 156 0 +16 16 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 255 189 +255 255 98 +255 213 57 +255 172 16 +131 49 0 diff --git a/graphics/pokemon/exeggutor/alolan/anim_front.png b/graphics/pokemon/exeggutor/alola/anim_front.png similarity index 100% rename from graphics/pokemon/exeggutor/alolan/anim_front.png rename to graphics/pokemon/exeggutor/alola/anim_front.png diff --git a/graphics/pokemon/exeggutor/alolan/back.png b/graphics/pokemon/exeggutor/alola/back.png similarity index 100% rename from graphics/pokemon/exeggutor/alolan/back.png rename to graphics/pokemon/exeggutor/alola/back.png diff --git a/graphics/pokemon/exeggutor/alolan/icon.png b/graphics/pokemon/exeggutor/alola/icon.png similarity index 100% rename from graphics/pokemon/exeggutor/alolan/icon.png rename to graphics/pokemon/exeggutor/alola/icon.png diff --git a/graphics/pokemon/exeggutor/alolan/normal.pal b/graphics/pokemon/exeggutor/alola/normal.pal similarity index 100% rename from graphics/pokemon/exeggutor/alolan/normal.pal rename to graphics/pokemon/exeggutor/alola/normal.pal diff --git a/graphics/pokemon/exeggutor/alolan/overworld.png b/graphics/pokemon/exeggutor/alola/overworld.png similarity index 100% rename from graphics/pokemon/exeggutor/alolan/overworld.png rename to graphics/pokemon/exeggutor/alola/overworld.png diff --git a/graphics/pokemon/exeggutor/alolan/overworld_normal.pal b/graphics/pokemon/exeggutor/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/exeggutor/alolan/overworld_normal.pal rename to graphics/pokemon/exeggutor/alola/overworld_normal.pal diff --git a/graphics/pokemon/exeggutor/alolan/overworld_shiny.pal b/graphics/pokemon/exeggutor/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/exeggutor/alolan/overworld_shiny.pal rename to graphics/pokemon/exeggutor/alola/overworld_shiny.pal diff --git a/graphics/pokemon/exeggutor/alolan/shiny.pal b/graphics/pokemon/exeggutor/alola/shiny.pal similarity index 100% rename from graphics/pokemon/exeggutor/alolan/shiny.pal rename to graphics/pokemon/exeggutor/alola/shiny.pal diff --git a/graphics/pokemon/exeggutor/anim_front_gba.png b/graphics/pokemon/exeggutor/anim_front_gba.png new file mode 100644 index 000000000000..f4100b755d78 Binary files /dev/null and b/graphics/pokemon/exeggutor/anim_front_gba.png differ diff --git a/graphics/pokemon/exeggutor/back_gba.png b/graphics/pokemon/exeggutor/back_gba.png new file mode 100644 index 000000000000..ff28c85550a8 Binary files /dev/null and b/graphics/pokemon/exeggutor/back_gba.png differ diff --git a/graphics/pokemon/exeggutor/icon_gba.png b/graphics/pokemon/exeggutor/icon_gba.png new file mode 100644 index 000000000000..610c65a3d3ab Binary files /dev/null and b/graphics/pokemon/exeggutor/icon_gba.png differ diff --git a/graphics/pokemon/exeggutor/normal_gba.pal b/graphics/pokemon/exeggutor/normal_gba.pal new file mode 100644 index 000000000000..6c375af6ddce --- /dev/null +++ b/graphics/pokemon/exeggutor/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 238 164 +255 222 106 +230 172 90 +164 106 32 +180 156 74 +139 115 65 +98 65 16 +189 255 115 +156 213 74 +115 172 49 +82 98 41 +222 222 222 +98 98 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/exeggutor/shiny_gba.pal b/graphics/pokemon/exeggutor/shiny_gba.pal new file mode 100644 index 000000000000..c06646a6c55e --- /dev/null +++ b/graphics/pokemon/exeggutor/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 238 164 +255 222 106 +230 172 90 +164 106 32 +222 189 82 +180 148 32 +106 82 0 +255 189 123 +222 148 82 +180 106 41 +115 41 0 +222 222 222 +98 98 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/exploud/anim_front_gba.png b/graphics/pokemon/exploud/anim_front_gba.png new file mode 100644 index 000000000000..8cf38b83ec02 Binary files /dev/null and b/graphics/pokemon/exploud/anim_front_gba.png differ diff --git a/graphics/pokemon/exploud/back_gba.png b/graphics/pokemon/exploud/back_gba.png new file mode 100644 index 000000000000..37132bf48cc3 Binary files /dev/null and b/graphics/pokemon/exploud/back_gba.png differ diff --git a/graphics/pokemon/exploud/icon_gba.png b/graphics/pokemon/exploud/icon_gba.png new file mode 100644 index 000000000000..04ed7f13de42 Binary files /dev/null and b/graphics/pokemon/exploud/icon_gba.png differ diff --git a/graphics/pokemon/exploud/normal_gba.pal b/graphics/pokemon/exploud/normal_gba.pal new file mode 100644 index 000000000000..074305af3b65 --- /dev/null +++ b/graphics/pokemon/exploud/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 189 238 +164 156 222 +123 115 180 +82 74 139 +255 222 90 +222 180 74 +156 115 24 +255 115 82 +213 74 49 +156 57 24 +106 49 24 +213 222 255 +131 131 131 +0 0 0 diff --git a/graphics/pokemon/exploud/shiny_gba.pal b/graphics/pokemon/exploud/shiny_gba.pal new file mode 100644 index 000000000000..cfde98dc2024 --- /dev/null +++ b/graphics/pokemon/exploud/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 172 189 +189 156 164 +139 106 123 +115 82 90 +255 238 172 +246 197 82 +238 172 24 +255 139 82 +213 82 49 +164 49 24 +115 74 0 +222 197 222 +131 131 131 +57 49 74 diff --git a/graphics/pokemon/farfetchd/anim_front_gba.png b/graphics/pokemon/farfetchd/anim_front_gba.png new file mode 100644 index 000000000000..23176939b64c Binary files /dev/null and b/graphics/pokemon/farfetchd/anim_front_gba.png differ diff --git a/graphics/pokemon/farfetchd/back_gba.png b/graphics/pokemon/farfetchd/back_gba.png new file mode 100644 index 000000000000..7f981b3897da Binary files /dev/null and b/graphics/pokemon/farfetchd/back_gba.png differ diff --git a/graphics/pokemon/farfetchd/galarian/back.png b/graphics/pokemon/farfetchd/galar/back.png similarity index 100% rename from graphics/pokemon/farfetchd/galarian/back.png rename to graphics/pokemon/farfetchd/galar/back.png diff --git a/graphics/pokemon/farfetchd/galarian/front.png b/graphics/pokemon/farfetchd/galar/front.png similarity index 100% rename from graphics/pokemon/farfetchd/galarian/front.png rename to graphics/pokemon/farfetchd/galar/front.png diff --git a/graphics/pokemon/farfetchd/galarian/icon.png b/graphics/pokemon/farfetchd/galar/icon.png similarity index 100% rename from graphics/pokemon/farfetchd/galarian/icon.png rename to graphics/pokemon/farfetchd/galar/icon.png diff --git a/graphics/pokemon/farfetchd/galarian/normal.pal b/graphics/pokemon/farfetchd/galar/normal.pal similarity index 100% rename from graphics/pokemon/farfetchd/galarian/normal.pal rename to graphics/pokemon/farfetchd/galar/normal.pal diff --git a/graphics/pokemon/farfetchd/galarian/overworld.png b/graphics/pokemon/farfetchd/galar/overworld.png similarity index 100% rename from graphics/pokemon/farfetchd/galarian/overworld.png rename to graphics/pokemon/farfetchd/galar/overworld.png diff --git a/graphics/pokemon/farfetchd/galarian/overworld_normal.pal b/graphics/pokemon/farfetchd/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/farfetchd/galarian/overworld_normal.pal rename to graphics/pokemon/farfetchd/galar/overworld_normal.pal diff --git a/graphics/pokemon/farfetchd/galarian/overworld_shiny.pal b/graphics/pokemon/farfetchd/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/farfetchd/galarian/overworld_shiny.pal rename to graphics/pokemon/farfetchd/galar/overworld_shiny.pal diff --git a/graphics/pokemon/farfetchd/galarian/shiny.pal b/graphics/pokemon/farfetchd/galar/shiny.pal similarity index 100% rename from graphics/pokemon/farfetchd/galarian/shiny.pal rename to graphics/pokemon/farfetchd/galar/shiny.pal diff --git a/graphics/pokemon/farfetchd/icon_gba.png b/graphics/pokemon/farfetchd/icon_gba.png new file mode 100644 index 000000000000..cb3cd931bdbe Binary files /dev/null and b/graphics/pokemon/farfetchd/icon_gba.png differ diff --git a/graphics/pokemon/farfetchd/normal_gba.pal b/graphics/pokemon/farfetchd/normal_gba.pal new file mode 100644 index 000000000000..397d1195ce37 --- /dev/null +++ b/graphics/pokemon/farfetchd/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +230 230 164 +197 197 131 +255 230 106 +230 172 90 +189 106 41 +205 255 139 +65 222 65 +0 156 32 +230 197 123 +180 148 82 +131 98 32 +98 65 0 +16 16 16 diff --git a/graphics/pokemon/farfetchd/shiny_gba.pal b/graphics/pokemon/farfetchd/shiny_gba.pal new file mode 100644 index 000000000000..5537612ce11d --- /dev/null +++ b/graphics/pokemon/farfetchd/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +230 230 164 +197 197 131 +255 230 106 +230 172 90 +189 106 41 +205 255 139 +139 189 57 +98 148 16 +246 189 180 +213 148 139 +172 106 98 +131 65 57 +16 16 16 diff --git a/graphics/pokemon/fearow/anim_front_gba.png b/graphics/pokemon/fearow/anim_front_gba.png new file mode 100644 index 000000000000..42bc44fd35da Binary files /dev/null and b/graphics/pokemon/fearow/anim_front_gba.png differ diff --git a/graphics/pokemon/fearow/back_gba.png b/graphics/pokemon/fearow/back_gba.png new file mode 100644 index 000000000000..ae54db9a7330 Binary files /dev/null and b/graphics/pokemon/fearow/back_gba.png differ diff --git a/graphics/pokemon/fearow/icon_gba.png b/graphics/pokemon/fearow/icon_gba.png new file mode 100644 index 000000000000..9a3be93930db Binary files /dev/null and b/graphics/pokemon/fearow/icon_gba.png differ diff --git a/graphics/pokemon/fearow/normal_gba.pal b/graphics/pokemon/fearow/normal_gba.pal new file mode 100644 index 000000000000..6b73e3639ed2 --- /dev/null +++ b/graphics/pokemon/fearow/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +222 205 164 +197 180 139 +98 82 49 +16 16 16 +255 131 115 +246 82 65 +205 32 16 +255 205 123 +246 180 90 +213 156 57 +172 115 16 +123 65 0 +246 180 90 +255 255 255 diff --git a/graphics/pokemon/fearow/shiny_gba.pal b/graphics/pokemon/fearow/shiny_gba.pal new file mode 100644 index 000000000000..686e65a9c9ba --- /dev/null +++ b/graphics/pokemon/fearow/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +222 205 164 +197 180 139 +98 82 49 +16 16 16 +255 205 74 +255 164 0 +197 123 0 +255 246 131 +255 230 90 +213 197 49 +180 164 8 +115 98 0 +246 180 90 +255 255 255 diff --git a/graphics/pokemon/feebas/anim_front_gba.png b/graphics/pokemon/feebas/anim_front_gba.png new file mode 100644 index 000000000000..9afa332dc1ec Binary files /dev/null and b/graphics/pokemon/feebas/anim_front_gba.png differ diff --git a/graphics/pokemon/feebas/back_gba.png b/graphics/pokemon/feebas/back_gba.png new file mode 100644 index 000000000000..3eabd602147e Binary files /dev/null and b/graphics/pokemon/feebas/back_gba.png differ diff --git a/graphics/pokemon/feebas/icon_gba.png b/graphics/pokemon/feebas/icon_gba.png new file mode 100644 index 000000000000..19e08797ac12 Binary files /dev/null and b/graphics/pokemon/feebas/icon_gba.png differ diff --git a/graphics/pokemon/feebas/normal_gba.pal b/graphics/pokemon/feebas/normal_gba.pal new file mode 100644 index 000000000000..c66deb1e04fe --- /dev/null +++ b/graphics/pokemon/feebas/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 148 98 +90 74 57 +180 164 115 +213 213 131 +238 238 156 +115 164 41 +164 205 98 +148 131 82 +180 106 106 +230 123 98 +82 82 115 +164 172 197 +205 222 255 +230 222 230 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/feebas/shiny_gba.pal b/graphics/pokemon/feebas/shiny_gba.pal new file mode 100644 index 000000000000..6d85b28667e8 --- /dev/null +++ b/graphics/pokemon/feebas/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 148 98 +98 65 74 +172 139 148 +205 172 180 +238 205 213 +115 164 41 +164 205 98 +139 106 115 +180 106 106 +230 123 98 +82 82 115 +164 172 197 +205 222 255 +230 222 230 +255 255 255 +41 41 41 diff --git a/graphics/pokemon/feraligatr/anim_front_gba.png b/graphics/pokemon/feraligatr/anim_front_gba.png new file mode 100644 index 000000000000..17228a8530a2 Binary files /dev/null and b/graphics/pokemon/feraligatr/anim_front_gba.png differ diff --git a/graphics/pokemon/feraligatr/back_gba.png b/graphics/pokemon/feraligatr/back_gba.png new file mode 100644 index 000000000000..d996dd8ce056 Binary files /dev/null and b/graphics/pokemon/feraligatr/back_gba.png differ diff --git a/graphics/pokemon/feraligatr/icon_gba.png b/graphics/pokemon/feraligatr/icon_gba.png new file mode 100644 index 000000000000..fe3f4fca6e1c Binary files /dev/null and b/graphics/pokemon/feraligatr/icon_gba.png differ diff --git a/graphics/pokemon/feraligatr/normal_gba.pal b/graphics/pokemon/feraligatr/normal_gba.pal new file mode 100644 index 000000000000..7fc0a9eb893e --- /dev/null +++ b/graphics/pokemon/feraligatr/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +131 205 255 +90 172 230 +49 131 197 +74 74 131 +197 197 197 +255 172 90 +255 90 32 +205 41 24 +123 0 0 +255 255 156 +255 213 82 +205 172 65 +156 115 8 +16 16 16 diff --git a/graphics/pokemon/feraligatr/shiny_gba.pal b/graphics/pokemon/feraligatr/shiny_gba.pal new file mode 100644 index 000000000000..81c5ebc2a21f --- /dev/null +++ b/graphics/pokemon/feraligatr/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +115 238 222 +82 205 197 +74 156 164 +41 98 123 +197 197 197 +106 156 246 +49 98 213 +41 65 156 +0 49 90 +255 255 156 +246 222 115 +213 180 74 +156 115 8 +16 16 16 diff --git a/graphics/pokemon/finneon/overworldf.png b/graphics/pokemon/finneon/overworldf.png new file mode 100644 index 000000000000..53aa2a1a1211 Binary files /dev/null and b/graphics/pokemon/finneon/overworldf.png differ diff --git a/graphics/pokemon/flaaffy/anim_front_gba.png b/graphics/pokemon/flaaffy/anim_front_gba.png new file mode 100644 index 000000000000..11d7dd68b7e2 Binary files /dev/null and b/graphics/pokemon/flaaffy/anim_front_gba.png differ diff --git a/graphics/pokemon/flaaffy/back_gba.png b/graphics/pokemon/flaaffy/back_gba.png new file mode 100644 index 000000000000..e0ac771bf4bb Binary files /dev/null and b/graphics/pokemon/flaaffy/back_gba.png differ diff --git a/graphics/pokemon/flaaffy/icon_gba.png b/graphics/pokemon/flaaffy/icon_gba.png new file mode 100644 index 000000000000..719ed69a3150 Binary files /dev/null and b/graphics/pokemon/flaaffy/icon_gba.png differ diff --git a/graphics/pokemon/flaaffy/normal_gba.pal b/graphics/pokemon/flaaffy/normal_gba.pal new file mode 100644 index 000000000000..4efbb5bda74e --- /dev/null +++ b/graphics/pokemon/flaaffy/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 205 222 +156 156 180 +115 115 139 +74 74 74 +255 197 164 +255 148 123 +238 90 65 +205 57 24 +172 0 0 +131 197 255 +82 131 197 +41 65 139 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/flaaffy/shiny_gba.pal b/graphics/pokemon/flaaffy/shiny_gba.pal new file mode 100644 index 000000000000..b99745d84f9f --- /dev/null +++ b/graphics/pokemon/flaaffy/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 222 205 +189 180 148 +148 131 82 +106 82 49 +255 222 238 +255 197 213 +230 139 156 +180 98 106 +148 65 74 +98 230 16 +49 180 0 +32 106 0 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/flabebe/blue_flower/icon.png b/graphics/pokemon/flabebe/blue/icon.png similarity index 100% rename from graphics/pokemon/flabebe/blue_flower/icon.png rename to graphics/pokemon/flabebe/blue/icon.png diff --git a/graphics/pokemon/flabebe/blue_flower/normal.pal b/graphics/pokemon/flabebe/blue/normal.pal similarity index 100% rename from graphics/pokemon/flabebe/blue_flower/normal.pal rename to graphics/pokemon/flabebe/blue/normal.pal diff --git a/graphics/pokemon/flabebe/blue_flower/overworld.png b/graphics/pokemon/flabebe/blue/overworld.png similarity index 100% rename from graphics/pokemon/flabebe/blue_flower/overworld.png rename to graphics/pokemon/flabebe/blue/overworld.png diff --git a/graphics/pokemon/flabebe/blue_flower/overworld_normal.pal b/graphics/pokemon/flabebe/blue/overworld_normal.pal similarity index 100% rename from graphics/pokemon/flabebe/blue_flower/overworld_normal.pal rename to graphics/pokemon/flabebe/blue/overworld_normal.pal diff --git a/graphics/pokemon/flabebe/blue_flower/overworld_shiny.pal b/graphics/pokemon/flabebe/blue/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/flabebe/blue_flower/overworld_shiny.pal rename to graphics/pokemon/flabebe/blue/overworld_shiny.pal diff --git a/graphics/pokemon/flabebe/blue_flower/shiny.pal b/graphics/pokemon/flabebe/blue/shiny.pal similarity index 100% rename from graphics/pokemon/flabebe/blue_flower/shiny.pal rename to graphics/pokemon/flabebe/blue/shiny.pal diff --git a/graphics/pokemon/flabebe/orange_flower/icon.png b/graphics/pokemon/flabebe/orange/icon.png similarity index 100% rename from graphics/pokemon/flabebe/orange_flower/icon.png rename to graphics/pokemon/flabebe/orange/icon.png diff --git a/graphics/pokemon/flabebe/orange_flower/normal.pal b/graphics/pokemon/flabebe/orange/normal.pal similarity index 100% rename from graphics/pokemon/flabebe/orange_flower/normal.pal rename to graphics/pokemon/flabebe/orange/normal.pal diff --git a/graphics/pokemon/flabebe/orange_flower/overworld.png b/graphics/pokemon/flabebe/orange/overworld.png similarity index 100% rename from graphics/pokemon/flabebe/orange_flower/overworld.png rename to graphics/pokemon/flabebe/orange/overworld.png diff --git a/graphics/pokemon/flabebe/orange_flower/overworld_normal.pal b/graphics/pokemon/flabebe/orange/overworld_normal.pal similarity index 100% rename from graphics/pokemon/flabebe/orange_flower/overworld_normal.pal rename to graphics/pokemon/flabebe/orange/overworld_normal.pal diff --git a/graphics/pokemon/flabebe/orange_flower/overworld_shiny.pal b/graphics/pokemon/flabebe/orange/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/flabebe/orange_flower/overworld_shiny.pal rename to graphics/pokemon/flabebe/orange/overworld_shiny.pal diff --git a/graphics/pokemon/flabebe/orange_flower/shiny.pal b/graphics/pokemon/flabebe/orange/shiny.pal similarity index 100% rename from graphics/pokemon/flabebe/orange_flower/shiny.pal rename to graphics/pokemon/flabebe/orange/shiny.pal diff --git a/graphics/pokemon/flabebe/white_flower/icon.png b/graphics/pokemon/flabebe/white/icon.png similarity index 100% rename from graphics/pokemon/flabebe/white_flower/icon.png rename to graphics/pokemon/flabebe/white/icon.png diff --git a/graphics/pokemon/flabebe/white_flower/normal.pal b/graphics/pokemon/flabebe/white/normal.pal similarity index 100% rename from graphics/pokemon/flabebe/white_flower/normal.pal rename to graphics/pokemon/flabebe/white/normal.pal diff --git a/graphics/pokemon/flabebe/white_flower/overworld.png b/graphics/pokemon/flabebe/white/overworld.png similarity index 100% rename from graphics/pokemon/flabebe/white_flower/overworld.png rename to graphics/pokemon/flabebe/white/overworld.png diff --git a/graphics/pokemon/flabebe/white_flower/overworld_normal.pal b/graphics/pokemon/flabebe/white/overworld_normal.pal similarity index 100% rename from graphics/pokemon/flabebe/white_flower/overworld_normal.pal rename to graphics/pokemon/flabebe/white/overworld_normal.pal diff --git a/graphics/pokemon/flabebe/white_flower/overworld_shiny.pal b/graphics/pokemon/flabebe/white/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/flabebe/white_flower/overworld_shiny.pal rename to graphics/pokemon/flabebe/white/overworld_shiny.pal diff --git a/graphics/pokemon/flabebe/white_flower/shiny.pal b/graphics/pokemon/flabebe/white/shiny.pal similarity index 100% rename from graphics/pokemon/flabebe/white_flower/shiny.pal rename to graphics/pokemon/flabebe/white/shiny.pal diff --git a/graphics/pokemon/flabebe/yellow_flower/icon.png b/graphics/pokemon/flabebe/yellow/icon.png similarity index 100% rename from graphics/pokemon/flabebe/yellow_flower/icon.png rename to graphics/pokemon/flabebe/yellow/icon.png diff --git a/graphics/pokemon/flabebe/yellow_flower/normal.pal b/graphics/pokemon/flabebe/yellow/normal.pal similarity index 100% rename from graphics/pokemon/flabebe/yellow_flower/normal.pal rename to graphics/pokemon/flabebe/yellow/normal.pal diff --git a/graphics/pokemon/flabebe/yellow_flower/overworld.png b/graphics/pokemon/flabebe/yellow/overworld.png similarity index 100% rename from graphics/pokemon/flabebe/yellow_flower/overworld.png rename to graphics/pokemon/flabebe/yellow/overworld.png diff --git a/graphics/pokemon/flabebe/yellow_flower/overworld_normal.pal b/graphics/pokemon/flabebe/yellow/overworld_normal.pal similarity index 100% rename from graphics/pokemon/flabebe/yellow_flower/overworld_normal.pal rename to graphics/pokemon/flabebe/yellow/overworld_normal.pal diff --git a/graphics/pokemon/flabebe/yellow_flower/overworld_shiny.pal b/graphics/pokemon/flabebe/yellow/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/flabebe/yellow_flower/overworld_shiny.pal rename to graphics/pokemon/flabebe/yellow/overworld_shiny.pal diff --git a/graphics/pokemon/flabebe/yellow_flower/shiny.pal b/graphics/pokemon/flabebe/yellow/shiny.pal similarity index 100% rename from graphics/pokemon/flabebe/yellow_flower/shiny.pal rename to graphics/pokemon/flabebe/yellow/shiny.pal diff --git a/graphics/pokemon/flapple/gigantamax/back.png b/graphics/pokemon/flapple/gmax/back.png similarity index 100% rename from graphics/pokemon/flapple/gigantamax/back.png rename to graphics/pokemon/flapple/gmax/back.png diff --git a/graphics/pokemon/flapple/gigantamax/front.png b/graphics/pokemon/flapple/gmax/front.png similarity index 100% rename from graphics/pokemon/flapple/gigantamax/front.png rename to graphics/pokemon/flapple/gmax/front.png diff --git a/graphics/pokemon/flapple/gigantamax/icon.png b/graphics/pokemon/flapple/gmax/icon.png similarity index 100% rename from graphics/pokemon/flapple/gigantamax/icon.png rename to graphics/pokemon/flapple/gmax/icon.png diff --git a/graphics/pokemon/flapple/gigantamax/normal.pal b/graphics/pokemon/flapple/gmax/normal.pal similarity index 100% rename from graphics/pokemon/flapple/gigantamax/normal.pal rename to graphics/pokemon/flapple/gmax/normal.pal diff --git a/graphics/pokemon/flapple/gigantamax/shiny.pal b/graphics/pokemon/flapple/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/flapple/gigantamax/shiny.pal rename to graphics/pokemon/flapple/gmax/shiny.pal diff --git a/graphics/pokemon/flareon/anim_front_gba.png b/graphics/pokemon/flareon/anim_front_gba.png new file mode 100644 index 000000000000..5d8850930d0f Binary files /dev/null and b/graphics/pokemon/flareon/anim_front_gba.png differ diff --git a/graphics/pokemon/flareon/back_gba.png b/graphics/pokemon/flareon/back_gba.png new file mode 100644 index 000000000000..c1efa1306c50 Binary files /dev/null and b/graphics/pokemon/flareon/back_gba.png differ diff --git a/graphics/pokemon/flareon/icon_gba.png b/graphics/pokemon/flareon/icon_gba.png new file mode 100644 index 000000000000..317aa61d0f85 Binary files /dev/null and b/graphics/pokemon/flareon/icon_gba.png differ diff --git a/graphics/pokemon/flareon/normal_gba.pal b/graphics/pokemon/flareon/normal_gba.pal new file mode 100644 index 000000000000..b617df86b49f --- /dev/null +++ b/graphics/pokemon/flareon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +255 255 197 +255 255 57 +238 205 8 +164 106 0 +255 0 255 +255 0 255 +255 0 255 +115 115 123 +16 16 16 +255 0 255 +255 180 41 +255 139 0 +213 98 0 +131 32 32 diff --git a/graphics/pokemon/flareon/shiny_gba.pal b/graphics/pokemon/flareon/shiny_gba.pal new file mode 100644 index 000000000000..60c1b337c0ab --- /dev/null +++ b/graphics/pokemon/flareon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +255 255 197 +255 255 57 +238 205 8 +164 106 0 +255 0 255 +255 0 255 +255 0 255 +115 115 123 +16 16 16 +255 0 255 +246 189 65 +222 164 41 +172 115 8 +98 57 24 diff --git a/graphics/pokemon/floatzel/overworldf.png b/graphics/pokemon/floatzel/overworldf.png new file mode 100644 index 000000000000..bb4483fc557f Binary files /dev/null and b/graphics/pokemon/floatzel/overworldf.png differ diff --git a/graphics/pokemon/floette/blue_flower/icon.png b/graphics/pokemon/floette/blue/icon.png similarity index 100% rename from graphics/pokemon/floette/blue_flower/icon.png rename to graphics/pokemon/floette/blue/icon.png diff --git a/graphics/pokemon/floette/blue_flower/normal.pal b/graphics/pokemon/floette/blue/normal.pal similarity index 100% rename from graphics/pokemon/floette/blue_flower/normal.pal rename to graphics/pokemon/floette/blue/normal.pal diff --git a/graphics/pokemon/floette/blue_flower/overworld.png b/graphics/pokemon/floette/blue/overworld.png similarity index 100% rename from graphics/pokemon/floette/blue_flower/overworld.png rename to graphics/pokemon/floette/blue/overworld.png diff --git a/graphics/pokemon/floette/blue_flower/overworld_normal.pal b/graphics/pokemon/floette/blue/overworld_normal.pal similarity index 100% rename from graphics/pokemon/floette/blue_flower/overworld_normal.pal rename to graphics/pokemon/floette/blue/overworld_normal.pal diff --git a/graphics/pokemon/floette/blue_flower/overworld_shiny.pal b/graphics/pokemon/floette/blue/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/floette/blue_flower/overworld_shiny.pal rename to graphics/pokemon/floette/blue/overworld_shiny.pal diff --git a/graphics/pokemon/floette/blue_flower/shiny.pal b/graphics/pokemon/floette/blue/shiny.pal similarity index 100% rename from graphics/pokemon/floette/blue_flower/shiny.pal rename to graphics/pokemon/floette/blue/shiny.pal diff --git a/graphics/pokemon/floette/eternal_flower/anim_front.png b/graphics/pokemon/floette/eternal/anim_front.png similarity index 100% rename from graphics/pokemon/floette/eternal_flower/anim_front.png rename to graphics/pokemon/floette/eternal/anim_front.png diff --git a/graphics/pokemon/floette/eternal_flower/back.png b/graphics/pokemon/floette/eternal/back.png similarity index 100% rename from graphics/pokemon/floette/eternal_flower/back.png rename to graphics/pokemon/floette/eternal/back.png diff --git a/graphics/pokemon/floette/eternal_flower/icon.png b/graphics/pokemon/floette/eternal/icon.png similarity index 100% rename from graphics/pokemon/floette/eternal_flower/icon.png rename to graphics/pokemon/floette/eternal/icon.png diff --git a/graphics/pokemon/floette/eternal_flower/normal.pal b/graphics/pokemon/floette/eternal/normal.pal similarity index 100% rename from graphics/pokemon/floette/eternal_flower/normal.pal rename to graphics/pokemon/floette/eternal/normal.pal diff --git a/graphics/pokemon/floette/eternal_flower/overworld.png b/graphics/pokemon/floette/eternal/overworld.png similarity index 100% rename from graphics/pokemon/floette/eternal_flower/overworld.png rename to graphics/pokemon/floette/eternal/overworld.png diff --git a/graphics/pokemon/floette/eternal_flower/overworld_normal.pal b/graphics/pokemon/floette/eternal/overworld_normal.pal similarity index 100% rename from graphics/pokemon/floette/eternal_flower/overworld_normal.pal rename to graphics/pokemon/floette/eternal/overworld_normal.pal diff --git a/graphics/pokemon/floette/eternal_flower/overworld_shiny.pal b/graphics/pokemon/floette/eternal/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/floette/eternal_flower/overworld_shiny.pal rename to graphics/pokemon/floette/eternal/overworld_shiny.pal diff --git a/graphics/pokemon/floette/eternal_flower/shiny.pal b/graphics/pokemon/floette/eternal/shiny.pal similarity index 100% rename from graphics/pokemon/floette/eternal_flower/shiny.pal rename to graphics/pokemon/floette/eternal/shiny.pal diff --git a/graphics/pokemon/floette/orange_flower/icon.png b/graphics/pokemon/floette/orange/icon.png similarity index 100% rename from graphics/pokemon/floette/orange_flower/icon.png rename to graphics/pokemon/floette/orange/icon.png diff --git a/graphics/pokemon/floette/orange_flower/normal.pal b/graphics/pokemon/floette/orange/normal.pal similarity index 100% rename from graphics/pokemon/floette/orange_flower/normal.pal rename to graphics/pokemon/floette/orange/normal.pal diff --git a/graphics/pokemon/floette/orange_flower/overworld.png b/graphics/pokemon/floette/orange/overworld.png similarity index 100% rename from graphics/pokemon/floette/orange_flower/overworld.png rename to graphics/pokemon/floette/orange/overworld.png diff --git a/graphics/pokemon/floette/orange_flower/overworld_normal.pal b/graphics/pokemon/floette/orange/overworld_normal.pal similarity index 100% rename from graphics/pokemon/floette/orange_flower/overworld_normal.pal rename to graphics/pokemon/floette/orange/overworld_normal.pal diff --git a/graphics/pokemon/floette/orange_flower/overworld_shiny.pal b/graphics/pokemon/floette/orange/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/floette/orange_flower/overworld_shiny.pal rename to graphics/pokemon/floette/orange/overworld_shiny.pal diff --git a/graphics/pokemon/floette/orange_flower/shiny.pal b/graphics/pokemon/floette/orange/shiny.pal similarity index 100% rename from graphics/pokemon/floette/orange_flower/shiny.pal rename to graphics/pokemon/floette/orange/shiny.pal diff --git a/graphics/pokemon/floette/white_flower/icon.png b/graphics/pokemon/floette/white/icon.png similarity index 100% rename from graphics/pokemon/floette/white_flower/icon.png rename to graphics/pokemon/floette/white/icon.png diff --git a/graphics/pokemon/floette/white_flower/normal.pal b/graphics/pokemon/floette/white/normal.pal similarity index 100% rename from graphics/pokemon/floette/white_flower/normal.pal rename to graphics/pokemon/floette/white/normal.pal diff --git a/graphics/pokemon/floette/white_flower/overworld.png b/graphics/pokemon/floette/white/overworld.png similarity index 100% rename from graphics/pokemon/floette/white_flower/overworld.png rename to graphics/pokemon/floette/white/overworld.png diff --git a/graphics/pokemon/floette/white_flower/overworld_normal.pal b/graphics/pokemon/floette/white/overworld_normal.pal similarity index 100% rename from graphics/pokemon/floette/white_flower/overworld_normal.pal rename to graphics/pokemon/floette/white/overworld_normal.pal diff --git a/graphics/pokemon/floette/white_flower/overworld_shiny.pal b/graphics/pokemon/floette/white/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/floette/white_flower/overworld_shiny.pal rename to graphics/pokemon/floette/white/overworld_shiny.pal diff --git a/graphics/pokemon/floette/white_flower/shiny.pal b/graphics/pokemon/floette/white/shiny.pal similarity index 100% rename from graphics/pokemon/floette/white_flower/shiny.pal rename to graphics/pokemon/floette/white/shiny.pal diff --git a/graphics/pokemon/floette/yellow_flower/icon.png b/graphics/pokemon/floette/yellow/icon.png similarity index 100% rename from graphics/pokemon/floette/yellow_flower/icon.png rename to graphics/pokemon/floette/yellow/icon.png diff --git a/graphics/pokemon/floette/yellow_flower/normal.pal b/graphics/pokemon/floette/yellow/normal.pal similarity index 100% rename from graphics/pokemon/floette/yellow_flower/normal.pal rename to graphics/pokemon/floette/yellow/normal.pal diff --git a/graphics/pokemon/floette/yellow_flower/overworld.png b/graphics/pokemon/floette/yellow/overworld.png similarity index 100% rename from graphics/pokemon/floette/yellow_flower/overworld.png rename to graphics/pokemon/floette/yellow/overworld.png diff --git a/graphics/pokemon/floette/yellow_flower/overworld_normal.pal b/graphics/pokemon/floette/yellow/overworld_normal.pal similarity index 100% rename from graphics/pokemon/floette/yellow_flower/overworld_normal.pal rename to graphics/pokemon/floette/yellow/overworld_normal.pal diff --git a/graphics/pokemon/floette/yellow_flower/overworld_shiny.pal b/graphics/pokemon/floette/yellow/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/floette/yellow_flower/overworld_shiny.pal rename to graphics/pokemon/floette/yellow/overworld_shiny.pal diff --git a/graphics/pokemon/floette/yellow_flower/shiny.pal b/graphics/pokemon/floette/yellow/shiny.pal similarity index 100% rename from graphics/pokemon/floette/yellow_flower/shiny.pal rename to graphics/pokemon/floette/yellow/shiny.pal diff --git a/graphics/pokemon/florges/blue_flower/icon.png b/graphics/pokemon/florges/blue/icon.png similarity index 100% rename from graphics/pokemon/florges/blue_flower/icon.png rename to graphics/pokemon/florges/blue/icon.png diff --git a/graphics/pokemon/florges/blue_flower/normal.pal b/graphics/pokemon/florges/blue/normal.pal similarity index 100% rename from graphics/pokemon/florges/blue_flower/normal.pal rename to graphics/pokemon/florges/blue/normal.pal diff --git a/graphics/pokemon/florges/blue_flower/overworld.png b/graphics/pokemon/florges/blue/overworld.png similarity index 100% rename from graphics/pokemon/florges/blue_flower/overworld.png rename to graphics/pokemon/florges/blue/overworld.png diff --git a/graphics/pokemon/florges/blue_flower/overworld_normal.pal b/graphics/pokemon/florges/blue/overworld_normal.pal similarity index 100% rename from graphics/pokemon/florges/blue_flower/overworld_normal.pal rename to graphics/pokemon/florges/blue/overworld_normal.pal diff --git a/graphics/pokemon/florges/blue_flower/overworld_shiny.pal b/graphics/pokemon/florges/blue/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/florges/blue_flower/overworld_shiny.pal rename to graphics/pokemon/florges/blue/overworld_shiny.pal diff --git a/graphics/pokemon/florges/blue_flower/shiny.pal b/graphics/pokemon/florges/blue/shiny.pal similarity index 100% rename from graphics/pokemon/florges/blue_flower/shiny.pal rename to graphics/pokemon/florges/blue/shiny.pal diff --git a/graphics/pokemon/florges/orange_flower/icon.png b/graphics/pokemon/florges/orange/icon.png similarity index 100% rename from graphics/pokemon/florges/orange_flower/icon.png rename to graphics/pokemon/florges/orange/icon.png diff --git a/graphics/pokemon/florges/orange_flower/normal.pal b/graphics/pokemon/florges/orange/normal.pal similarity index 100% rename from graphics/pokemon/florges/orange_flower/normal.pal rename to graphics/pokemon/florges/orange/normal.pal diff --git a/graphics/pokemon/florges/orange_flower/overworld.png b/graphics/pokemon/florges/orange/overworld.png similarity index 100% rename from graphics/pokemon/florges/orange_flower/overworld.png rename to graphics/pokemon/florges/orange/overworld.png diff --git a/graphics/pokemon/florges/orange_flower/overworld_normal.pal b/graphics/pokemon/florges/orange/overworld_normal.pal similarity index 100% rename from graphics/pokemon/florges/orange_flower/overworld_normal.pal rename to graphics/pokemon/florges/orange/overworld_normal.pal diff --git a/graphics/pokemon/florges/orange_flower/overworld_shiny.pal b/graphics/pokemon/florges/orange/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/florges/orange_flower/overworld_shiny.pal rename to graphics/pokemon/florges/orange/overworld_shiny.pal diff --git a/graphics/pokemon/florges/orange_flower/shiny.pal b/graphics/pokemon/florges/orange/shiny.pal similarity index 100% rename from graphics/pokemon/florges/orange_flower/shiny.pal rename to graphics/pokemon/florges/orange/shiny.pal diff --git a/graphics/pokemon/florges/white_flower/icon.png b/graphics/pokemon/florges/white/icon.png similarity index 100% rename from graphics/pokemon/florges/white_flower/icon.png rename to graphics/pokemon/florges/white/icon.png diff --git a/graphics/pokemon/florges/white_flower/normal.pal b/graphics/pokemon/florges/white/normal.pal similarity index 100% rename from graphics/pokemon/florges/white_flower/normal.pal rename to graphics/pokemon/florges/white/normal.pal diff --git a/graphics/pokemon/florges/white_flower/overworld.png b/graphics/pokemon/florges/white/overworld.png similarity index 100% rename from graphics/pokemon/florges/white_flower/overworld.png rename to graphics/pokemon/florges/white/overworld.png diff --git a/graphics/pokemon/florges/white_flower/overworld_normal.pal b/graphics/pokemon/florges/white/overworld_normal.pal similarity index 100% rename from graphics/pokemon/florges/white_flower/overworld_normal.pal rename to graphics/pokemon/florges/white/overworld_normal.pal diff --git a/graphics/pokemon/florges/white_flower/overworld_shiny.pal b/graphics/pokemon/florges/white/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/florges/white_flower/overworld_shiny.pal rename to graphics/pokemon/florges/white/overworld_shiny.pal diff --git a/graphics/pokemon/florges/white_flower/shiny.pal b/graphics/pokemon/florges/white/shiny.pal similarity index 100% rename from graphics/pokemon/florges/white_flower/shiny.pal rename to graphics/pokemon/florges/white/shiny.pal diff --git a/graphics/pokemon/florges/yellow_flower/icon.png b/graphics/pokemon/florges/yellow/icon.png similarity index 100% rename from graphics/pokemon/florges/yellow_flower/icon.png rename to graphics/pokemon/florges/yellow/icon.png diff --git a/graphics/pokemon/florges/yellow_flower/normal.pal b/graphics/pokemon/florges/yellow/normal.pal similarity index 100% rename from graphics/pokemon/florges/yellow_flower/normal.pal rename to graphics/pokemon/florges/yellow/normal.pal diff --git a/graphics/pokemon/florges/yellow_flower/overworld.png b/graphics/pokemon/florges/yellow/overworld.png similarity index 100% rename from graphics/pokemon/florges/yellow_flower/overworld.png rename to graphics/pokemon/florges/yellow/overworld.png diff --git a/graphics/pokemon/florges/yellow_flower/overworld_normal.pal b/graphics/pokemon/florges/yellow/overworld_normal.pal similarity index 100% rename from graphics/pokemon/florges/yellow_flower/overworld_normal.pal rename to graphics/pokemon/florges/yellow/overworld_normal.pal diff --git a/graphics/pokemon/florges/yellow_flower/overworld_shiny.pal b/graphics/pokemon/florges/yellow/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/florges/yellow_flower/overworld_shiny.pal rename to graphics/pokemon/florges/yellow/overworld_shiny.pal diff --git a/graphics/pokemon/florges/yellow_flower/shiny.pal b/graphics/pokemon/florges/yellow/shiny.pal similarity index 100% rename from graphics/pokemon/florges/yellow_flower/shiny.pal rename to graphics/pokemon/florges/yellow/shiny.pal diff --git a/graphics/pokemon/flygon/anim_front_gba.png b/graphics/pokemon/flygon/anim_front_gba.png new file mode 100644 index 000000000000..d7b750f75116 Binary files /dev/null and b/graphics/pokemon/flygon/anim_front_gba.png differ diff --git a/graphics/pokemon/flygon/back_gba.png b/graphics/pokemon/flygon/back_gba.png new file mode 100644 index 000000000000..576cff1c5b44 Binary files /dev/null and b/graphics/pokemon/flygon/back_gba.png differ diff --git a/graphics/pokemon/flygon/icon_gba.png b/graphics/pokemon/flygon/icon_gba.png new file mode 100644 index 000000000000..f033c9a880c6 Binary files /dev/null and b/graphics/pokemon/flygon/icon_gba.png differ diff --git a/graphics/pokemon/flygon/normal_gba.pal b/graphics/pokemon/flygon/normal_gba.pal new file mode 100644 index 000000000000..33888cd1ab09 --- /dev/null +++ b/graphics/pokemon/flygon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +74 106 24 +156 49 49 +123 156 65 +49 90 90 +213 255 131 +172 222 115 +156 189 98 +148 213 156 +106 164 115 +90 131 90 +255 180 180 +230 115 115 +205 49 49 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/flygon/shiny_gba.pal b/graphics/pokemon/flygon/shiny_gba.pal new file mode 100644 index 000000000000..772834b38960 --- /dev/null +++ b/graphics/pokemon/flygon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +74 106 24 +139 82 0 +123 156 65 +8 90 139 +213 255 131 +172 222 115 +156 189 98 +106 189 238 +74 156 205 +41 123 172 +255 197 82 +222 164 49 +189 131 16 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/forretress/anim_front_gba.png b/graphics/pokemon/forretress/anim_front_gba.png new file mode 100644 index 000000000000..59cca7fb4a25 Binary files /dev/null and b/graphics/pokemon/forretress/anim_front_gba.png differ diff --git a/graphics/pokemon/forretress/back_gba.png b/graphics/pokemon/forretress/back_gba.png new file mode 100644 index 000000000000..5761be13799d Binary files /dev/null and b/graphics/pokemon/forretress/back_gba.png differ diff --git a/graphics/pokemon/forretress/icon_gba.png b/graphics/pokemon/forretress/icon_gba.png new file mode 100644 index 000000000000..056683bec56e Binary files /dev/null and b/graphics/pokemon/forretress/icon_gba.png differ diff --git a/graphics/pokemon/forretress/normal_gba.pal b/graphics/pokemon/forretress/normal_gba.pal new file mode 100644 index 000000000000..285c562915f3 --- /dev/null +++ b/graphics/pokemon/forretress/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +98 41 90 +172 74 139 +197 131 189 +230 180 230 +246 222 238 +255 0 255 +255 0 255 +131 16 49 +189 41 65 +246 98 115 +255 189 205 +255 0 255 +255 255 255 diff --git a/graphics/pokemon/forretress/shiny_gba.pal b/graphics/pokemon/forretress/shiny_gba.pal new file mode 100644 index 000000000000..7b894a11a178 --- /dev/null +++ b/graphics/pokemon/forretress/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +115 82 49 +180 156 74 +222 197 106 +246 230 139 +255 246 156 +255 0 255 +255 0 255 +82 65 32 +106 74 49 +180 139 65 +222 197 98 +255 0 255 +255 255 255 diff --git a/graphics/pokemon/frillish/overworld_normalf.pal b/graphics/pokemon/frillish/overworld_normalf.pal new file mode 100644 index 000000000000..dbe974dc0574 --- /dev/null +++ b/graphics/pokemon/frillish/overworld_normalf.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +152 208 160 +184 128 160 +140 83 98 +208 176 184 +248 216 224 +248 176 208 +120 56 80 +11 11 11 +229 229 247 +168 48 64 +88 160 192 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/frillish/overworld_shinyf.pal b/graphics/pokemon/frillish/overworld_shinyf.pal new file mode 100644 index 000000000000..271de05df9b5 --- /dev/null +++ b/graphics/pokemon/frillish/overworld_shinyf.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +152 208 160 +192 120 120 +120 56 80 +208 176 232 +232 224 248 +248 152 152 +120 56 80 +11 11 11 +248 248 248 +128 24 136 +72 152 136 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/frillish/followerf.png b/graphics/pokemon/frillish/overworldf.png similarity index 100% rename from graphics/pokemon/frillish/followerf.png rename to graphics/pokemon/frillish/overworldf.png diff --git a/graphics/pokemon/furret/anim_front_gba.png b/graphics/pokemon/furret/anim_front_gba.png new file mode 100644 index 000000000000..2a0e35ee1049 Binary files /dev/null and b/graphics/pokemon/furret/anim_front_gba.png differ diff --git a/graphics/pokemon/furret/back_gba.png b/graphics/pokemon/furret/back_gba.png new file mode 100644 index 000000000000..0dd2873af874 Binary files /dev/null and b/graphics/pokemon/furret/back_gba.png differ diff --git a/graphics/pokemon/furret/icon_gba.png b/graphics/pokemon/furret/icon_gba.png new file mode 100644 index 000000000000..6974ee9f3ce0 Binary files /dev/null and b/graphics/pokemon/furret/icon_gba.png differ diff --git a/graphics/pokemon/furret/normal_gba.pal b/graphics/pokemon/furret/normal_gba.pal new file mode 100644 index 000000000000..5996436bee30 --- /dev/null +++ b/graphics/pokemon/furret/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 255 197 +255 238 148 +230 197 74 +197 156 65 +172 131 41 +156 98 74 +123 65 57 +74 24 24 +197 49 24 +156 0 0 +255 148 98 +115 115 115 +65 65 65 +32 32 41 diff --git a/graphics/pokemon/furret/shiny_gba.pal b/graphics/pokemon/furret/shiny_gba.pal new file mode 100644 index 000000000000..24ebc5bd6387 --- /dev/null +++ b/graphics/pokemon/furret/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 246 230 +255 230 222 +222 189 172 +230 98 139 +148 123 90 +197 65 115 +164 32 90 +131 0 65 +197 49 24 +156 0 0 +255 148 98 +115 115 115 +65 65 65 +32 32 41 diff --git a/graphics/pokemon/gabite/overworldf.png b/graphics/pokemon/gabite/overworldf.png new file mode 100644 index 000000000000..e3c5f2892df2 Binary files /dev/null and b/graphics/pokemon/gabite/overworldf.png differ diff --git a/graphics/pokemon/garbodor/gigantamax/back.png b/graphics/pokemon/garbodor/gmax/back.png similarity index 100% rename from graphics/pokemon/garbodor/gigantamax/back.png rename to graphics/pokemon/garbodor/gmax/back.png diff --git a/graphics/pokemon/garbodor/gigantamax/front.png b/graphics/pokemon/garbodor/gmax/front.png similarity index 100% rename from graphics/pokemon/garbodor/gigantamax/front.png rename to graphics/pokemon/garbodor/gmax/front.png diff --git a/graphics/pokemon/garbodor/gigantamax/icon.png b/graphics/pokemon/garbodor/gmax/icon.png similarity index 100% rename from graphics/pokemon/garbodor/gigantamax/icon.png rename to graphics/pokemon/garbodor/gmax/icon.png diff --git a/graphics/pokemon/garbodor/gigantamax/normal.pal b/graphics/pokemon/garbodor/gmax/normal.pal similarity index 100% rename from graphics/pokemon/garbodor/gigantamax/normal.pal rename to graphics/pokemon/garbodor/gmax/normal.pal diff --git a/graphics/pokemon/garbodor/gigantamax/shiny.pal b/graphics/pokemon/garbodor/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/garbodor/gigantamax/shiny.pal rename to graphics/pokemon/garbodor/gmax/shiny.pal diff --git a/graphics/pokemon/garchomp/overworldf.png b/graphics/pokemon/garchomp/overworldf.png new file mode 100644 index 000000000000..3d66472a65c9 Binary files /dev/null and b/graphics/pokemon/garchomp/overworldf.png differ diff --git a/graphics/pokemon/gardevoir/anim_front_gba.png b/graphics/pokemon/gardevoir/anim_front_gba.png new file mode 100644 index 000000000000..88067c8c0712 Binary files /dev/null and b/graphics/pokemon/gardevoir/anim_front_gba.png differ diff --git a/graphics/pokemon/gardevoir/back_gba.png b/graphics/pokemon/gardevoir/back_gba.png new file mode 100644 index 000000000000..9f975a82cd74 Binary files /dev/null and b/graphics/pokemon/gardevoir/back_gba.png differ diff --git a/graphics/pokemon/gardevoir/icon_gba.png b/graphics/pokemon/gardevoir/icon_gba.png new file mode 100644 index 000000000000..958ea7f625bc Binary files /dev/null and b/graphics/pokemon/gardevoir/icon_gba.png differ diff --git a/graphics/pokemon/gardevoir/normal_gba.pal b/graphics/pokemon/gardevoir/normal_gba.pal new file mode 100644 index 000000000000..1e513ae87654 --- /dev/null +++ b/graphics/pokemon/gardevoir/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 164 82 +238 238 255 +197 205 222 +164 180 205 +131 148 180 +123 82 82 +115 41 57 +255 156 131 +230 82 57 +131 205 255 +255 255 255 +205 255 172 +148 230 148 +115 189 115 +49 123 74 +16 16 16 diff --git a/graphics/pokemon/gardevoir/shiny_gba.pal b/graphics/pokemon/gardevoir/shiny_gba.pal new file mode 100644 index 000000000000..b588f6eea0cf --- /dev/null +++ b/graphics/pokemon/gardevoir/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 164 82 +238 238 255 +213 189 222 +180 164 205 +156 131 180 +123 82 82 +115 41 57 +255 197 90 +230 131 32 +131 205 255 +197 238 246 +189 230 255 +123 197 238 +82 172 213 +32 115 123 +16 16 16 diff --git a/graphics/pokemon/gastly/anim_front_gba.png b/graphics/pokemon/gastly/anim_front_gba.png new file mode 100644 index 000000000000..935ff437d00c Binary files /dev/null and b/graphics/pokemon/gastly/anim_front_gba.png differ diff --git a/graphics/pokemon/gastly/back_gba.png b/graphics/pokemon/gastly/back_gba.png new file mode 100644 index 000000000000..3ff1badde439 Binary files /dev/null and b/graphics/pokemon/gastly/back_gba.png differ diff --git a/graphics/pokemon/gastly/icon_gba.png b/graphics/pokemon/gastly/icon_gba.png new file mode 100644 index 000000000000..6a33a8ab556f Binary files /dev/null and b/graphics/pokemon/gastly/icon_gba.png differ diff --git a/graphics/pokemon/gastly/normal_gba.pal b/graphics/pokemon/gastly/normal_gba.pal new file mode 100644 index 000000000000..6098ec1956fc --- /dev/null +++ b/graphics/pokemon/gastly/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +255 255 255 +222 222 222 +222 82 57 +180 41 16 +255 0 255 +189 148 180 +139 98 131 +115 74 106 +82 49 90 +213 172 205 +189 148 180 +139 98 131 +255 0 255 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/gastly/shiny_gba.pal b/graphics/pokemon/gastly/shiny_gba.pal new file mode 100644 index 000000000000..350cb8abf95c --- /dev/null +++ b/graphics/pokemon/gastly/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +255 255 255 +222 222 222 +222 82 57 +180 41 16 +255 0 255 +172 131 230 +148 115 197 +90 57 148 +82 41 98 +156 222 255 +115 180 213 +74 139 172 +255 0 255 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/gastrodon/east_sea/anim_front.png b/graphics/pokemon/gastrodon/east/anim_front.png similarity index 100% rename from graphics/pokemon/gastrodon/east_sea/anim_front.png rename to graphics/pokemon/gastrodon/east/anim_front.png diff --git a/graphics/pokemon/gastrodon/east_sea/back.png b/graphics/pokemon/gastrodon/east/back.png similarity index 100% rename from graphics/pokemon/gastrodon/east_sea/back.png rename to graphics/pokemon/gastrodon/east/back.png diff --git a/graphics/pokemon/gastrodon/east_sea/icon.png b/graphics/pokemon/gastrodon/east/icon.png similarity index 100% rename from graphics/pokemon/gastrodon/east_sea/icon.png rename to graphics/pokemon/gastrodon/east/icon.png diff --git a/graphics/pokemon/gastrodon/east_sea/normal.pal b/graphics/pokemon/gastrodon/east/normal.pal similarity index 100% rename from graphics/pokemon/gastrodon/east_sea/normal.pal rename to graphics/pokemon/gastrodon/east/normal.pal diff --git a/graphics/pokemon/gastrodon/east_sea/overworld.png b/graphics/pokemon/gastrodon/east/overworld.png similarity index 100% rename from graphics/pokemon/gastrodon/east_sea/overworld.png rename to graphics/pokemon/gastrodon/east/overworld.png diff --git a/graphics/pokemon/gastrodon/east_sea/overworld_normal.pal b/graphics/pokemon/gastrodon/east/overworld_normal.pal similarity index 100% rename from graphics/pokemon/gastrodon/east_sea/overworld_normal.pal rename to graphics/pokemon/gastrodon/east/overworld_normal.pal diff --git a/graphics/pokemon/gastrodon/east_sea/overworld_shiny.pal b/graphics/pokemon/gastrodon/east/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/gastrodon/east_sea/overworld_shiny.pal rename to graphics/pokemon/gastrodon/east/overworld_shiny.pal diff --git a/graphics/pokemon/gastrodon/east_sea/shiny.pal b/graphics/pokemon/gastrodon/east/shiny.pal similarity index 100% rename from graphics/pokemon/gastrodon/east_sea/shiny.pal rename to graphics/pokemon/gastrodon/east/shiny.pal diff --git a/graphics/pokemon/gengar/anim_front_gba.png b/graphics/pokemon/gengar/anim_front_gba.png new file mode 100644 index 000000000000..8f0cb89132b6 Binary files /dev/null and b/graphics/pokemon/gengar/anim_front_gba.png differ diff --git a/graphics/pokemon/gengar/back_gba.png b/graphics/pokemon/gengar/back_gba.png new file mode 100644 index 000000000000..1132f4523948 Binary files /dev/null and b/graphics/pokemon/gengar/back_gba.png differ diff --git a/graphics/pokemon/gengar/gigantamax/back.png b/graphics/pokemon/gengar/gmax/back.png similarity index 100% rename from graphics/pokemon/gengar/gigantamax/back.png rename to graphics/pokemon/gengar/gmax/back.png diff --git a/graphics/pokemon/gengar/gigantamax/front.png b/graphics/pokemon/gengar/gmax/front.png similarity index 100% rename from graphics/pokemon/gengar/gigantamax/front.png rename to graphics/pokemon/gengar/gmax/front.png diff --git a/graphics/pokemon/gengar/gigantamax/icon.png b/graphics/pokemon/gengar/gmax/icon.png similarity index 100% rename from graphics/pokemon/gengar/gigantamax/icon.png rename to graphics/pokemon/gengar/gmax/icon.png diff --git a/graphics/pokemon/gengar/gigantamax/normal.pal b/graphics/pokemon/gengar/gmax/normal.pal similarity index 100% rename from graphics/pokemon/gengar/gigantamax/normal.pal rename to graphics/pokemon/gengar/gmax/normal.pal diff --git a/graphics/pokemon/gengar/gigantamax/shiny.pal b/graphics/pokemon/gengar/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/gengar/gigantamax/shiny.pal rename to graphics/pokemon/gengar/gmax/shiny.pal diff --git a/graphics/pokemon/gengar/icon_gba.png b/graphics/pokemon/gengar/icon_gba.png new file mode 100644 index 000000000000..bbc3d758dc98 Binary files /dev/null and b/graphics/pokemon/gengar/icon_gba.png differ diff --git a/graphics/pokemon/gengar/normal_gba.pal b/graphics/pokemon/gengar/normal_gba.pal new file mode 100644 index 000000000000..595c479095f1 --- /dev/null +++ b/graphics/pokemon/gengar/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +222 222 222 +123 123 123 +255 180 123 +238 98 74 +205 57 32 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +197 131 180 +172 98 148 +131 65 123 +74 41 74 +16 16 16 diff --git a/graphics/pokemon/gengar/shiny_gba.pal b/graphics/pokemon/gengar/shiny_gba.pal new file mode 100644 index 000000000000..d3f61f7d5ae3 --- /dev/null +++ b/graphics/pokemon/gengar/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +222 222 222 +123 123 123 +255 172 213 +238 131 172 +197 90 131 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +164 164 189 +123 123 148 +82 82 106 +41 41 65 +16 16 16 diff --git a/graphics/pokemon/geodude/alolan/back.png b/graphics/pokemon/geodude/alola/back.png similarity index 100% rename from graphics/pokemon/geodude/alolan/back.png rename to graphics/pokemon/geodude/alola/back.png diff --git a/graphics/pokemon/geodude/alolan/front.png b/graphics/pokemon/geodude/alola/front.png similarity index 100% rename from graphics/pokemon/geodude/alolan/front.png rename to graphics/pokemon/geodude/alola/front.png diff --git a/graphics/pokemon/geodude/alolan/icon.png b/graphics/pokemon/geodude/alola/icon.png similarity index 100% rename from graphics/pokemon/geodude/alolan/icon.png rename to graphics/pokemon/geodude/alola/icon.png diff --git a/graphics/pokemon/geodude/alolan/normal.pal b/graphics/pokemon/geodude/alola/normal.pal similarity index 100% rename from graphics/pokemon/geodude/alolan/normal.pal rename to graphics/pokemon/geodude/alola/normal.pal diff --git a/graphics/pokemon/geodude/alolan/overworld.png b/graphics/pokemon/geodude/alola/overworld.png similarity index 100% rename from graphics/pokemon/geodude/alolan/overworld.png rename to graphics/pokemon/geodude/alola/overworld.png diff --git a/graphics/pokemon/geodude/alolan/overworld_normal.pal b/graphics/pokemon/geodude/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/geodude/alolan/overworld_normal.pal rename to graphics/pokemon/geodude/alola/overworld_normal.pal diff --git a/graphics/pokemon/geodude/alolan/overworld_shiny.pal b/graphics/pokemon/geodude/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/geodude/alolan/overworld_shiny.pal rename to graphics/pokemon/geodude/alola/overworld_shiny.pal diff --git a/graphics/pokemon/geodude/alolan/shiny.pal b/graphics/pokemon/geodude/alola/shiny.pal similarity index 100% rename from graphics/pokemon/geodude/alolan/shiny.pal rename to graphics/pokemon/geodude/alola/shiny.pal diff --git a/graphics/pokemon/geodude/anim_front_gba.png b/graphics/pokemon/geodude/anim_front_gba.png new file mode 100644 index 000000000000..941f279f3118 Binary files /dev/null and b/graphics/pokemon/geodude/anim_front_gba.png differ diff --git a/graphics/pokemon/geodude/back_gba.png b/graphics/pokemon/geodude/back_gba.png new file mode 100644 index 000000000000..29a4e3f3dc36 Binary files /dev/null and b/graphics/pokemon/geodude/back_gba.png differ diff --git a/graphics/pokemon/geodude/icon_gba.png b/graphics/pokemon/geodude/icon_gba.png new file mode 100644 index 000000000000..da39c60f016e Binary files /dev/null and b/graphics/pokemon/geodude/icon_gba.png differ diff --git a/graphics/pokemon/geodude/normal_gba.pal b/graphics/pokemon/geodude/normal_gba.pal new file mode 100644 index 000000000000..0bb2d6afd774 --- /dev/null +++ b/graphics/pokemon/geodude/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +205 205 205 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +205 213 131 +172 180 98 +115 123 49 +65 74 16 +16 16 16 diff --git a/graphics/pokemon/geodude/shiny_gba.pal b/graphics/pokemon/geodude/shiny_gba.pal new file mode 100644 index 000000000000..d98062067961 --- /dev/null +++ b/graphics/pokemon/geodude/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +205 205 205 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +246 205 65 +205 164 24 +164 123 0 +106 65 0 +16 16 16 diff --git a/graphics/pokemon/gible/overworldf.png b/graphics/pokemon/gible/overworldf.png new file mode 100644 index 000000000000..4481b2870f43 Binary files /dev/null and b/graphics/pokemon/gible/overworldf.png differ diff --git a/graphics/pokemon/girafarig/anim_front_gba.png b/graphics/pokemon/girafarig/anim_front_gba.png new file mode 100644 index 000000000000..fded8246b690 Binary files /dev/null and b/graphics/pokemon/girafarig/anim_front_gba.png differ diff --git a/graphics/pokemon/girafarig/back_gba.png b/graphics/pokemon/girafarig/back_gba.png new file mode 100644 index 000000000000..8d86e1f79c45 Binary files /dev/null and b/graphics/pokemon/girafarig/back_gba.png differ diff --git a/graphics/pokemon/girafarig/icon_gba.png b/graphics/pokemon/girafarig/icon_gba.png new file mode 100644 index 000000000000..c8b79b132d60 Binary files /dev/null and b/graphics/pokemon/girafarig/icon_gba.png differ diff --git a/graphics/pokemon/girafarig/normal_gba.pal b/graphics/pokemon/girafarig/normal_gba.pal new file mode 100644 index 000000000000..03e09de810d9 --- /dev/null +++ b/graphics/pokemon/girafarig/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +65 49 32 +90 82 57 +123 106 57 +164 148 82 +213 205 139 +189 139 16 +238 180 49 +255 222 65 +255 246 123 +16 16 16 +238 106 115 +255 172 189 +180 213 230 +255 0 255 diff --git a/graphics/pokemon/girafarig/overworldf.png b/graphics/pokemon/girafarig/overworldf.png new file mode 100644 index 000000000000..057145b098ce Binary files /dev/null and b/graphics/pokemon/girafarig/overworldf.png differ diff --git a/graphics/pokemon/girafarig/shiny_gba.pal b/graphics/pokemon/girafarig/shiny_gba.pal new file mode 100644 index 000000000000..d720557a79c8 --- /dev/null +++ b/graphics/pokemon/girafarig/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +65 49 32 +90 65 41 +123 90 49 +156 123 65 +205 172 106 +189 139 16 +230 156 41 +246 197 57 +255 230 82 +16 16 16 +82 164 230 +164 213 255 +180 213 230 +255 0 255 diff --git a/graphics/pokemon/glalie/anim_front_gba.png b/graphics/pokemon/glalie/anim_front_gba.png new file mode 100644 index 000000000000..3363961d798a Binary files /dev/null and b/graphics/pokemon/glalie/anim_front_gba.png differ diff --git a/graphics/pokemon/glalie/back_gba.png b/graphics/pokemon/glalie/back_gba.png new file mode 100644 index 000000000000..9c73ee9b221d Binary files /dev/null and b/graphics/pokemon/glalie/back_gba.png differ diff --git a/graphics/pokemon/glalie/icon_gba.png b/graphics/pokemon/glalie/icon_gba.png new file mode 100644 index 000000000000..0fc66c900711 Binary files /dev/null and b/graphics/pokemon/glalie/icon_gba.png differ diff --git a/graphics/pokemon/glalie/normal_gba.pal b/graphics/pokemon/glalie/normal_gba.pal new file mode 100644 index 000000000000..aeadcf78242e --- /dev/null +++ b/graphics/pokemon/glalie/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 230 246 +205 205 222 +164 164 189 +123 123 148 +82 82 106 +164 205 255 +123 164 230 +74 139 197 +255 0 255 +205 205 213 +164 164 172 +123 123 131 +82 82 90 +41 41 57 diff --git a/graphics/pokemon/glalie/shiny_gba.pal b/graphics/pokemon/glalie/shiny_gba.pal new file mode 100644 index 000000000000..c45ff937f06b --- /dev/null +++ b/graphics/pokemon/glalie/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 246 255 +213 230 238 +180 197 205 +148 164 172 +74 98 106 +255 148 90 +230 74 65 +205 8 41 +255 0 255 +205 205 213 +164 164 172 +123 123 131 +82 82 90 +0 0 0 diff --git a/graphics/pokemon/gligar/anim_front_gba.png b/graphics/pokemon/gligar/anim_front_gba.png new file mode 100644 index 000000000000..c5ce592ebdf5 Binary files /dev/null and b/graphics/pokemon/gligar/anim_front_gba.png differ diff --git a/graphics/pokemon/gligar/back_gba.png b/graphics/pokemon/gligar/back_gba.png new file mode 100644 index 000000000000..8179867e9c4c Binary files /dev/null and b/graphics/pokemon/gligar/back_gba.png differ diff --git a/graphics/pokemon/gligar/icon_gba.png b/graphics/pokemon/gligar/icon_gba.png new file mode 100644 index 000000000000..baa8414a7534 Binary files /dev/null and b/graphics/pokemon/gligar/icon_gba.png differ diff --git a/graphics/pokemon/gligar/normal_gba.pal b/graphics/pokemon/gligar/normal_gba.pal new file mode 100644 index 000000000000..2f5ba76457f5 --- /dev/null +++ b/graphics/pokemon/gligar/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +90 90 90 +148 148 148 +90 65 123 +115 90 164 +180 131 213 +222 189 255 +246 222 255 +24 49 115 +16 90 148 +74 139 189 +98 197 238 +213 90 57 +255 148 106 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/gligar/overworldf.png b/graphics/pokemon/gligar/overworldf.png new file mode 100644 index 000000000000..65ad45ac2567 Binary files /dev/null and b/graphics/pokemon/gligar/overworldf.png differ diff --git a/graphics/pokemon/gligar/shiny_gba.pal b/graphics/pokemon/gligar/shiny_gba.pal new file mode 100644 index 000000000000..9b1d7d30869a --- /dev/null +++ b/graphics/pokemon/gligar/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +90 90 90 +148 148 148 +57 65 123 +82 98 172 +131 156 213 +180 197 255 +222 238 246 +24 49 98 +32 65 139 +65 90 180 +82 156 222 +213 90 57 +255 148 106 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/gloom/anim_front_gba.png b/graphics/pokemon/gloom/anim_front_gba.png new file mode 100644 index 000000000000..07f85cfb8a09 Binary files /dev/null and b/graphics/pokemon/gloom/anim_front_gba.png differ diff --git a/graphics/pokemon/gloom/back_gba.png b/graphics/pokemon/gloom/back_gba.png new file mode 100644 index 000000000000..ec65e869e705 Binary files /dev/null and b/graphics/pokemon/gloom/back_gba.png differ diff --git a/graphics/pokemon/gloom/icon_gba.png b/graphics/pokemon/gloom/icon_gba.png new file mode 100644 index 000000000000..99c487dd296a Binary files /dev/null and b/graphics/pokemon/gloom/icon_gba.png differ diff --git a/graphics/pokemon/gloom/normal_gba.pal b/graphics/pokemon/gloom/normal_gba.pal new file mode 100644 index 000000000000..7b08612490b3 --- /dev/null +++ b/graphics/pokemon/gloom/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +246 246 246 +255 197 82 +255 115 0 +238 74 0 +156 49 0 +213 213 213 +213 164 98 +164 115 49 +131 82 16 +98 49 0 +148 180 197 +115 148 164 +74 106 123 +16 49 90 +16 16 16 diff --git a/graphics/pokemon/gloom/overworldf.png b/graphics/pokemon/gloom/overworldf.png new file mode 100644 index 000000000000..4b5ba180a5ae Binary files /dev/null and b/graphics/pokemon/gloom/overworldf.png differ diff --git a/graphics/pokemon/gloom/shiny_gba.pal b/graphics/pokemon/gloom/shiny_gba.pal new file mode 100644 index 000000000000..c5e91398036e --- /dev/null +++ b/graphics/pokemon/gloom/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +246 246 246 +255 213 131 +255 172 90 +213 131 49 +156 49 0 +213 213 213 +238 180 98 +197 139 57 +156 98 16 +115 57 16 +180 189 131 +139 148 90 +98 106 49 +57 65 8 +16 16 16 diff --git a/graphics/pokemon/golbat/anim_front_gba.png b/graphics/pokemon/golbat/anim_front_gba.png new file mode 100644 index 000000000000..c7ba99936a90 Binary files /dev/null and b/graphics/pokemon/golbat/anim_front_gba.png differ diff --git a/graphics/pokemon/golbat/back_gba.png b/graphics/pokemon/golbat/back_gba.png new file mode 100644 index 000000000000..caa196036cac Binary files /dev/null and b/graphics/pokemon/golbat/back_gba.png differ diff --git a/graphics/pokemon/golbat/icon_gba.png b/graphics/pokemon/golbat/icon_gba.png new file mode 100644 index 000000000000..25b3f6821fb9 Binary files /dev/null and b/graphics/pokemon/golbat/icon_gba.png differ diff --git a/graphics/pokemon/golbat/normal_gba.pal b/graphics/pokemon/golbat/normal_gba.pal new file mode 100644 index 000000000000..424bccef8cb5 --- /dev/null +++ b/graphics/pokemon/golbat/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +213 213 213 +98 98 98 +0 0 0 +205 197 255 +172 164 238 +123 115 205 +49 49 139 +205 106 180 +172 74 148 +139 41 115 +106 8 82 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/pokemon/golbat/overworld.png b/graphics/pokemon/golbat/overworld.png index 658023601d46..ed4e7059be53 100644 Binary files a/graphics/pokemon/golbat/overworld.png and b/graphics/pokemon/golbat/overworld.png differ diff --git a/graphics/pokemon/golbat/overworldf.png b/graphics/pokemon/golbat/overworldf.png new file mode 100644 index 000000000000..658023601d46 Binary files /dev/null and b/graphics/pokemon/golbat/overworldf.png differ diff --git a/graphics/pokemon/golbat/shiny_gba.pal b/graphics/pokemon/golbat/shiny_gba.pal new file mode 100644 index 000000000000..7255f93b725e --- /dev/null +++ b/graphics/pokemon/golbat/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +213 213 213 +98 98 98 +0 0 0 +164 189 57 +123 148 0 +82 106 0 +41 65 0 +255 180 172 +238 139 131 +197 98 90 +139 41 32 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/pokemon/goldeen/anim_front_gba.png b/graphics/pokemon/goldeen/anim_front_gba.png new file mode 100644 index 000000000000..3755717306c1 Binary files /dev/null and b/graphics/pokemon/goldeen/anim_front_gba.png differ diff --git a/graphics/pokemon/goldeen/back_gba.png b/graphics/pokemon/goldeen/back_gba.png new file mode 100644 index 000000000000..8ac7cb7bcb9b Binary files /dev/null and b/graphics/pokemon/goldeen/back_gba.png differ diff --git a/graphics/pokemon/goldeen/icon_gba.png b/graphics/pokemon/goldeen/icon_gba.png new file mode 100644 index 000000000000..9dc3bff80942 Binary files /dev/null and b/graphics/pokemon/goldeen/icon_gba.png differ diff --git a/graphics/pokemon/goldeen/normal_gba.pal b/graphics/pokemon/goldeen/normal_gba.pal new file mode 100644 index 000000000000..d88f1493251d --- /dev/null +++ b/graphics/pokemon/goldeen/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +222 222 230 +189 189 197 +139 139 148 +98 98 106 +255 197 123 +238 123 65 +213 65 16 +180 49 0 +131 16 0 +238 123 65 +213 65 16 +65 172 164 +0 106 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/goldeen/overworldf.png b/graphics/pokemon/goldeen/overworldf.png new file mode 100644 index 000000000000..8bc987e9e6e1 Binary files /dev/null and b/graphics/pokemon/goldeen/overworldf.png differ diff --git a/graphics/pokemon/goldeen/shiny_gba.pal b/graphics/pokemon/goldeen/shiny_gba.pal new file mode 100644 index 000000000000..d2a881523210 --- /dev/null +++ b/graphics/pokemon/goldeen/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +222 222 230 +189 189 197 +139 139 148 +98 98 106 +255 222 24 +255 156 8 +213 115 0 +172 74 0 +131 32 0 +255 180 139 +213 139 98 +65 172 164 +0 106 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/golduck/anim_front_gba.png b/graphics/pokemon/golduck/anim_front_gba.png new file mode 100644 index 000000000000..87b2327ce6f0 Binary files /dev/null and b/graphics/pokemon/golduck/anim_front_gba.png differ diff --git a/graphics/pokemon/golduck/back_gba.png b/graphics/pokemon/golduck/back_gba.png new file mode 100644 index 000000000000..1422a73ae1d6 Binary files /dev/null and b/graphics/pokemon/golduck/back_gba.png differ diff --git a/graphics/pokemon/golduck/icon_gba.png b/graphics/pokemon/golduck/icon_gba.png new file mode 100644 index 000000000000..c0c922834545 Binary files /dev/null and b/graphics/pokemon/golduck/icon_gba.png differ diff --git a/graphics/pokemon/golduck/normal_gba.pal b/graphics/pokemon/golduck/normal_gba.pal new file mode 100644 index 000000000000..f6dc8cce1494 --- /dev/null +++ b/graphics/pokemon/golduck/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +255 255 255 +197 197 197 +255 172 172 +222 24 24 +139 0 0 +255 255 164 +213 213 106 +164 164 57 +115 115 16 +255 0 255 +172 222 255 +148 180 213 +90 123 172 +49 82 106 +16 16 16 diff --git a/graphics/pokemon/golduck/shiny_gba.pal b/graphics/pokemon/golduck/shiny_gba.pal new file mode 100644 index 000000000000..2d563d702048 --- /dev/null +++ b/graphics/pokemon/golduck/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +255 255 255 +197 197 197 +238 49 74 +222 24 24 +139 0 0 +255 189 197 +255 148 156 +189 98 106 +139 49 57 +255 0 255 +115 205 255 +74 164 230 +32 123 189 +0 49 106 +16 16 16 diff --git a/graphics/pokemon/golem/alolan/back.png b/graphics/pokemon/golem/alola/back.png similarity index 100% rename from graphics/pokemon/golem/alolan/back.png rename to graphics/pokemon/golem/alola/back.png diff --git a/graphics/pokemon/golem/alolan/front.png b/graphics/pokemon/golem/alola/front.png similarity index 100% rename from graphics/pokemon/golem/alolan/front.png rename to graphics/pokemon/golem/alola/front.png diff --git a/graphics/pokemon/golem/alolan/icon.png b/graphics/pokemon/golem/alola/icon.png similarity index 100% rename from graphics/pokemon/golem/alolan/icon.png rename to graphics/pokemon/golem/alola/icon.png diff --git a/graphics/pokemon/golem/alolan/normal.pal b/graphics/pokemon/golem/alola/normal.pal similarity index 100% rename from graphics/pokemon/golem/alolan/normal.pal rename to graphics/pokemon/golem/alola/normal.pal diff --git a/graphics/pokemon/golem/alolan/overworld.png b/graphics/pokemon/golem/alola/overworld.png similarity index 100% rename from graphics/pokemon/golem/alolan/overworld.png rename to graphics/pokemon/golem/alola/overworld.png diff --git a/graphics/pokemon/golem/alolan/overworld_normal.pal b/graphics/pokemon/golem/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/golem/alolan/overworld_normal.pal rename to graphics/pokemon/golem/alola/overworld_normal.pal diff --git a/graphics/pokemon/golem/alolan/overworld_shiny.pal b/graphics/pokemon/golem/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/golem/alolan/overworld_shiny.pal rename to graphics/pokemon/golem/alola/overworld_shiny.pal diff --git a/graphics/pokemon/golem/alolan/shiny.pal b/graphics/pokemon/golem/alola/shiny.pal similarity index 100% rename from graphics/pokemon/golem/alolan/shiny.pal rename to graphics/pokemon/golem/alola/shiny.pal diff --git a/graphics/pokemon/golem/anim_front_gba.png b/graphics/pokemon/golem/anim_front_gba.png new file mode 100644 index 000000000000..48e7128d6767 Binary files /dev/null and b/graphics/pokemon/golem/anim_front_gba.png differ diff --git a/graphics/pokemon/golem/back_gba.png b/graphics/pokemon/golem/back_gba.png new file mode 100644 index 000000000000..fb27ae43f1c1 Binary files /dev/null and b/graphics/pokemon/golem/back_gba.png differ diff --git a/graphics/pokemon/golem/footprint_gba.png b/graphics/pokemon/golem/footprint_gba.png new file mode 100644 index 000000000000..c9f61444290b Binary files /dev/null and b/graphics/pokemon/golem/footprint_gba.png differ diff --git a/graphics/pokemon/golem/icon_gba.png b/graphics/pokemon/golem/icon_gba.png new file mode 100644 index 000000000000..480f8c0bbc13 Binary files /dev/null and b/graphics/pokemon/golem/icon_gba.png differ diff --git a/graphics/pokemon/golem/normal_gba.pal b/graphics/pokemon/golem/normal_gba.pal new file mode 100644 index 000000000000..bb55b42d9390 --- /dev/null +++ b/graphics/pokemon/golem/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 255 255 +205 205 205 +180 0 0 +255 82 82 +180 189 98 +139 148 65 +98 106 32 +74 82 16 +246 222 123 +213 180 90 +156 139 57 +90 74 16 +255 0 255 +131 131 131 +16 16 16 diff --git a/graphics/pokemon/golem/shiny_gba.pal b/graphics/pokemon/golem/shiny_gba.pal new file mode 100644 index 000000000000..41b80863c249 --- /dev/null +++ b/graphics/pokemon/golem/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +205 205 205 +180 0 0 +255 82 82 +213 148 82 +172 106 41 +131 65 0 +98 32 0 +255 213 180 +230 172 139 +189 131 98 +131 74 41 +255 0 255 +131 131 131 +16 16 16 diff --git a/graphics/pokemon/goodra/hisuian/back.png b/graphics/pokemon/goodra/hisui/back.png similarity index 100% rename from graphics/pokemon/goodra/hisuian/back.png rename to graphics/pokemon/goodra/hisui/back.png diff --git a/graphics/pokemon/goodra/hisuian/front.png b/graphics/pokemon/goodra/hisui/front.png similarity index 100% rename from graphics/pokemon/goodra/hisuian/front.png rename to graphics/pokemon/goodra/hisui/front.png diff --git a/graphics/pokemon/goodra/hisuian/icon.png b/graphics/pokemon/goodra/hisui/icon.png similarity index 100% rename from graphics/pokemon/goodra/hisuian/icon.png rename to graphics/pokemon/goodra/hisui/icon.png diff --git a/graphics/pokemon/goodra/hisuian/normal.pal b/graphics/pokemon/goodra/hisui/normal.pal similarity index 100% rename from graphics/pokemon/goodra/hisuian/normal.pal rename to graphics/pokemon/goodra/hisui/normal.pal diff --git a/graphics/pokemon/goodra/hisuian/overworld.png b/graphics/pokemon/goodra/hisui/overworld.png similarity index 100% rename from graphics/pokemon/goodra/hisuian/overworld.png rename to graphics/pokemon/goodra/hisui/overworld.png diff --git a/graphics/pokemon/goodra/hisuian/overworld_normal.pal b/graphics/pokemon/goodra/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/goodra/hisuian/overworld_normal.pal rename to graphics/pokemon/goodra/hisui/overworld_normal.pal diff --git a/graphics/pokemon/goodra/hisuian/overworld_shiny.pal b/graphics/pokemon/goodra/hisui/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/goodra/hisuian/overworld_shiny.pal rename to graphics/pokemon/goodra/hisui/overworld_shiny.pal diff --git a/graphics/pokemon/goodra/hisuian/shiny.pal b/graphics/pokemon/goodra/hisui/shiny.pal similarity index 100% rename from graphics/pokemon/goodra/hisuian/shiny.pal rename to graphics/pokemon/goodra/hisui/shiny.pal diff --git a/graphics/pokemon/gorebyss/anim_front_gba.png b/graphics/pokemon/gorebyss/anim_front_gba.png new file mode 100644 index 000000000000..d3dd2fd48dd0 Binary files /dev/null and b/graphics/pokemon/gorebyss/anim_front_gba.png differ diff --git a/graphics/pokemon/gorebyss/back_gba.png b/graphics/pokemon/gorebyss/back_gba.png new file mode 100644 index 000000000000..aaf24366bb10 Binary files /dev/null and b/graphics/pokemon/gorebyss/back_gba.png differ diff --git a/graphics/pokemon/gorebyss/icon_gba.png b/graphics/pokemon/gorebyss/icon_gba.png new file mode 100644 index 000000000000..7dc8bc476af2 Binary files /dev/null and b/graphics/pokemon/gorebyss/icon_gba.png differ diff --git a/graphics/pokemon/gorebyss/normal_gba.pal b/graphics/pokemon/gorebyss/normal_gba.pal new file mode 100644 index 000000000000..432c0eccc1ef --- /dev/null +++ b/graphics/pokemon/gorebyss/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +255 255 255 +230 222 213 +205 189 172 +255 205 205 +246 172 189 +238 131 172 +213 98 148 +148 74 90 +131 90 131 +98 57 106 +123 106 98 +0 0 0 +205 115 255 +172 106 213 +148 90 172 diff --git a/graphics/pokemon/gorebyss/shiny_gba.pal b/graphics/pokemon/gorebyss/shiny_gba.pal new file mode 100644 index 000000000000..6933750055d3 --- /dev/null +++ b/graphics/pokemon/gorebyss/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +255 255 255 +230 222 213 +205 189 172 +255 246 180 +255 222 98 +246 189 74 +213 156 41 +148 106 32 +131 90 131 +98 57 106 +123 106 98 +0 0 0 +205 115 255 +172 106 213 +148 90 172 diff --git a/graphics/pokemon/granbull/anim_front_gba.png b/graphics/pokemon/granbull/anim_front_gba.png new file mode 100644 index 000000000000..e077f8b070e6 Binary files /dev/null and b/graphics/pokemon/granbull/anim_front_gba.png differ diff --git a/graphics/pokemon/granbull/back_gba.png b/graphics/pokemon/granbull/back_gba.png new file mode 100644 index 000000000000..2ac044da63c6 Binary files /dev/null and b/graphics/pokemon/granbull/back_gba.png differ diff --git a/graphics/pokemon/granbull/icon_gba.png b/graphics/pokemon/granbull/icon_gba.png new file mode 100644 index 000000000000..89beb7a8c128 Binary files /dev/null and b/graphics/pokemon/granbull/icon_gba.png differ diff --git a/graphics/pokemon/granbull/normal_gba.pal b/graphics/pokemon/granbull/normal_gba.pal new file mode 100644 index 000000000000..b83b14d16950 --- /dev/null +++ b/graphics/pokemon/granbull/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +90 57 82 +156 98 148 +213 115 213 +230 156 238 +238 189 255 +255 0 255 +131 57 0 +230 197 131 +16 16 16 +49 57 65 +82 90 90 +164 164 156 +255 255 255 diff --git a/graphics/pokemon/granbull/shiny_gba.pal b/graphics/pokemon/granbull/shiny_gba.pal new file mode 100644 index 000000000000..a8dfec72896c --- /dev/null +++ b/graphics/pokemon/granbull/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +98 82 65 +148 115 90 +205 172 131 +230 205 172 +246 222 189 +255 0 255 +90 82 0 +205 189 106 +16 16 16 +49 57 65 +82 90 90 +164 164 156 +255 255 255 diff --git a/graphics/pokemon/graveler/alolan/back.png b/graphics/pokemon/graveler/alola/back.png similarity index 100% rename from graphics/pokemon/graveler/alolan/back.png rename to graphics/pokemon/graveler/alola/back.png diff --git a/graphics/pokemon/graveler/alolan/front.png b/graphics/pokemon/graveler/alola/front.png similarity index 100% rename from graphics/pokemon/graveler/alolan/front.png rename to graphics/pokemon/graveler/alola/front.png diff --git a/graphics/pokemon/graveler/alolan/icon.png b/graphics/pokemon/graveler/alola/icon.png similarity index 100% rename from graphics/pokemon/graveler/alolan/icon.png rename to graphics/pokemon/graveler/alola/icon.png diff --git a/graphics/pokemon/graveler/alolan/normal.pal b/graphics/pokemon/graveler/alola/normal.pal similarity index 100% rename from graphics/pokemon/graveler/alolan/normal.pal rename to graphics/pokemon/graveler/alola/normal.pal diff --git a/graphics/pokemon/graveler/alolan/overworld.png b/graphics/pokemon/graveler/alola/overworld.png similarity index 100% rename from graphics/pokemon/graveler/alolan/overworld.png rename to graphics/pokemon/graveler/alola/overworld.png diff --git a/graphics/pokemon/graveler/alolan/overworld_normal.pal b/graphics/pokemon/graveler/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/graveler/alolan/overworld_normal.pal rename to graphics/pokemon/graveler/alola/overworld_normal.pal diff --git a/graphics/pokemon/graveler/alolan/overworld_shiny.pal b/graphics/pokemon/graveler/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/graveler/alolan/overworld_shiny.pal rename to graphics/pokemon/graveler/alola/overworld_shiny.pal diff --git a/graphics/pokemon/graveler/alolan/shiny.pal b/graphics/pokemon/graveler/alola/shiny.pal similarity index 100% rename from graphics/pokemon/graveler/alolan/shiny.pal rename to graphics/pokemon/graveler/alola/shiny.pal diff --git a/graphics/pokemon/graveler/anim_front_gba.png b/graphics/pokemon/graveler/anim_front_gba.png new file mode 100644 index 000000000000..09b913061ca3 Binary files /dev/null and b/graphics/pokemon/graveler/anim_front_gba.png differ diff --git a/graphics/pokemon/graveler/back_gba.png b/graphics/pokemon/graveler/back_gba.png new file mode 100644 index 000000000000..79e87cee9da8 Binary files /dev/null and b/graphics/pokemon/graveler/back_gba.png differ diff --git a/graphics/pokemon/graveler/icon_gba.png b/graphics/pokemon/graveler/icon_gba.png new file mode 100644 index 000000000000..84e81dc1044d Binary files /dev/null and b/graphics/pokemon/graveler/icon_gba.png differ diff --git a/graphics/pokemon/graveler/normal_gba.pal b/graphics/pokemon/graveler/normal_gba.pal new file mode 100644 index 000000000000..b176f12689b9 --- /dev/null +++ b/graphics/pokemon/graveler/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +205 205 205 +148 148 148 +16 16 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +205 213 131 +172 180 98 +123 131 49 +82 74 16 diff --git a/graphics/pokemon/graveler/shiny_gba.pal b/graphics/pokemon/graveler/shiny_gba.pal new file mode 100644 index 000000000000..3b61619d9df1 --- /dev/null +++ b/graphics/pokemon/graveler/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +205 205 205 +148 148 148 +16 16 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +205 148 41 +164 106 0 +123 65 0 +82 24 0 diff --git a/graphics/pokemon/grimer/alolan/back.png b/graphics/pokemon/grimer/alola/back.png similarity index 100% rename from graphics/pokemon/grimer/alolan/back.png rename to graphics/pokemon/grimer/alola/back.png diff --git a/graphics/pokemon/grimer/alolan/front.png b/graphics/pokemon/grimer/alola/front.png similarity index 100% rename from graphics/pokemon/grimer/alolan/front.png rename to graphics/pokemon/grimer/alola/front.png diff --git a/graphics/pokemon/grimer/alolan/icon.png b/graphics/pokemon/grimer/alola/icon.png similarity index 100% rename from graphics/pokemon/grimer/alolan/icon.png rename to graphics/pokemon/grimer/alola/icon.png diff --git a/graphics/pokemon/grimer/alolan/normal.pal b/graphics/pokemon/grimer/alola/normal.pal similarity index 100% rename from graphics/pokemon/grimer/alolan/normal.pal rename to graphics/pokemon/grimer/alola/normal.pal diff --git a/graphics/pokemon/grimer/alolan/overworld.png b/graphics/pokemon/grimer/alola/overworld.png similarity index 100% rename from graphics/pokemon/grimer/alolan/overworld.png rename to graphics/pokemon/grimer/alola/overworld.png diff --git a/graphics/pokemon/grimer/alolan/overworld_normal.pal b/graphics/pokemon/grimer/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/grimer/alolan/overworld_normal.pal rename to graphics/pokemon/grimer/alola/overworld_normal.pal diff --git a/graphics/pokemon/grimer/alolan/overworld_shiny.pal b/graphics/pokemon/grimer/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/grimer/alolan/overworld_shiny.pal rename to graphics/pokemon/grimer/alola/overworld_shiny.pal diff --git a/graphics/pokemon/grimer/alolan/shiny.pal b/graphics/pokemon/grimer/alola/shiny.pal similarity index 100% rename from graphics/pokemon/grimer/alolan/shiny.pal rename to graphics/pokemon/grimer/alola/shiny.pal diff --git a/graphics/pokemon/grimer/anim_front_gba.png b/graphics/pokemon/grimer/anim_front_gba.png new file mode 100644 index 000000000000..9305e2d9753d Binary files /dev/null and b/graphics/pokemon/grimer/anim_front_gba.png differ diff --git a/graphics/pokemon/grimer/back_gba.png b/graphics/pokemon/grimer/back_gba.png new file mode 100644 index 000000000000..593a1ab549fb Binary files /dev/null and b/graphics/pokemon/grimer/back_gba.png differ diff --git a/graphics/pokemon/grimer/icon_gba.png b/graphics/pokemon/grimer/icon_gba.png new file mode 100644 index 000000000000..c814df542f3e Binary files /dev/null and b/graphics/pokemon/grimer/icon_gba.png differ diff --git a/graphics/pokemon/grimer/normal_gba.pal b/graphics/pokemon/grimer/normal_gba.pal new file mode 100644 index 000000000000..6a1087bcf171 --- /dev/null +++ b/graphics/pokemon/grimer/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +213 213 222 +172 180 189 +131 139 156 +65 74 90 +230 189 222 +197 156 180 +148 90 156 +90 49 115 +238 222 238 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/grimer/shiny_gba.pal b/graphics/pokemon/grimer/shiny_gba.pal new file mode 100644 index 000000000000..6c9a6b415629 --- /dev/null +++ b/graphics/pokemon/grimer/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +213 213 222 +172 180 189 +131 139 156 +65 74 90 +222 255 180 +180 213 139 +139 172 98 +82 115 41 +238 222 238 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/grimmsnarl/gigantamax/back.png b/graphics/pokemon/grimmsnarl/gmax/back.png similarity index 100% rename from graphics/pokemon/grimmsnarl/gigantamax/back.png rename to graphics/pokemon/grimmsnarl/gmax/back.png diff --git a/graphics/pokemon/grimmsnarl/gigantamax/front.png b/graphics/pokemon/grimmsnarl/gmax/front.png similarity index 100% rename from graphics/pokemon/grimmsnarl/gigantamax/front.png rename to graphics/pokemon/grimmsnarl/gmax/front.png diff --git a/graphics/pokemon/grimmsnarl/gigantamax/icon.png b/graphics/pokemon/grimmsnarl/gmax/icon.png similarity index 100% rename from graphics/pokemon/grimmsnarl/gigantamax/icon.png rename to graphics/pokemon/grimmsnarl/gmax/icon.png diff --git a/graphics/pokemon/grimmsnarl/gigantamax/normal.pal b/graphics/pokemon/grimmsnarl/gmax/normal.pal similarity index 100% rename from graphics/pokemon/grimmsnarl/gigantamax/normal.pal rename to graphics/pokemon/grimmsnarl/gmax/normal.pal diff --git a/graphics/pokemon/grimmsnarl/gigantamax/shiny.pal b/graphics/pokemon/grimmsnarl/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/grimmsnarl/gigantamax/shiny.pal rename to graphics/pokemon/grimmsnarl/gmax/shiny.pal diff --git a/graphics/pokemon/groudon/anim_front_gba.png b/graphics/pokemon/groudon/anim_front_gba.png new file mode 100644 index 000000000000..815808a927c5 Binary files /dev/null and b/graphics/pokemon/groudon/anim_front_gba.png differ diff --git a/graphics/pokemon/groudon/back_gba.png b/graphics/pokemon/groudon/back_gba.png new file mode 100644 index 000000000000..e2b711932f3f Binary files /dev/null and b/graphics/pokemon/groudon/back_gba.png differ diff --git a/graphics/pokemon/groudon/icon_gba.png b/graphics/pokemon/groudon/icon_gba.png new file mode 100644 index 000000000000..2b8707bb87e0 Binary files /dev/null and b/graphics/pokemon/groudon/icon_gba.png differ diff --git a/graphics/pokemon/groudon/normal_gba.pal b/graphics/pokemon/groudon/normal_gba.pal new file mode 100644 index 000000000000..24c99e510e5d --- /dev/null +++ b/graphics/pokemon/groudon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +205 57 74 +172 148 164 +156 123 139 +123 90 98 +255 123 131 +123 32 41 +255 32 41 +172 41 57 +255 205 49 +197 197 205 +255 255 255 +255 189 189 +156 106 49 +57 57 57 +16 16 16 diff --git a/graphics/pokemon/groudon/shiny_gba.pal b/graphics/pokemon/groudon/shiny_gba.pal new file mode 100644 index 000000000000..6c0a16585d40 --- /dev/null +++ b/graphics/pokemon/groudon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +131 131 8 +172 148 164 +156 123 139 +123 90 98 +230 230 106 +98 98 0 +197 197 74 +164 164 41 +255 205 49 +197 197 205 +255 255 255 +255 255 139 +156 106 49 +57 57 57 +16 16 16 diff --git a/graphics/pokemon/grovyle/anim_front_gba.png b/graphics/pokemon/grovyle/anim_front_gba.png new file mode 100644 index 000000000000..daee3d1beb29 Binary files /dev/null and b/graphics/pokemon/grovyle/anim_front_gba.png differ diff --git a/graphics/pokemon/grovyle/back_gba.png b/graphics/pokemon/grovyle/back_gba.png new file mode 100644 index 000000000000..1ffed7b90490 Binary files /dev/null and b/graphics/pokemon/grovyle/back_gba.png differ diff --git a/graphics/pokemon/grovyle/icon_gba.png b/graphics/pokemon/grovyle/icon_gba.png new file mode 100644 index 000000000000..bed04dc98a63 Binary files /dev/null and b/graphics/pokemon/grovyle/icon_gba.png differ diff --git a/graphics/pokemon/grovyle/normal_gba.pal b/graphics/pokemon/grovyle/normal_gba.pal new file mode 100644 index 000000000000..a1e6181fc42a --- /dev/null +++ b/graphics/pokemon/grovyle/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 148 131 +16 82 74 +90 180 106 +139 230 148 +189 255 180 +57 131 65 +131 41 49 +230 65 41 +255 115 82 +255 222 82 +57 131 148 +189 65 65 +213 139 82 +82 164 189 +0 0 0 +255 238 255 diff --git a/graphics/pokemon/grovyle/shiny_gba.pal b/graphics/pokemon/grovyle/shiny_gba.pal new file mode 100644 index 000000000000..c61afa4a3317 --- /dev/null +++ b/graphics/pokemon/grovyle/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 148 131 +148 74 49 +74 164 148 +148 205 213 +180 230 238 +65 123 115 +205 156 123 +238 189 156 +255 238 197 +255 222 82 +213 82 57 +180 131 98 +213 139 82 +255 106 82 +0 0 0 +255 238 255 diff --git a/graphics/pokemon/growlithe/anim_front_gba.png b/graphics/pokemon/growlithe/anim_front_gba.png new file mode 100644 index 000000000000..ee7564cb9fd3 Binary files /dev/null and b/graphics/pokemon/growlithe/anim_front_gba.png differ diff --git a/graphics/pokemon/growlithe/back_gba.png b/graphics/pokemon/growlithe/back_gba.png new file mode 100644 index 000000000000..2b89351a32f8 Binary files /dev/null and b/graphics/pokemon/growlithe/back_gba.png differ diff --git a/graphics/pokemon/growlithe/hisuian/back.png b/graphics/pokemon/growlithe/hisui/back.png similarity index 100% rename from graphics/pokemon/growlithe/hisuian/back.png rename to graphics/pokemon/growlithe/hisui/back.png diff --git a/graphics/pokemon/growlithe/hisuian/front.png b/graphics/pokemon/growlithe/hisui/front.png similarity index 100% rename from graphics/pokemon/growlithe/hisuian/front.png rename to graphics/pokemon/growlithe/hisui/front.png diff --git a/graphics/pokemon/growlithe/hisuian/icon.png b/graphics/pokemon/growlithe/hisui/icon.png similarity index 100% rename from graphics/pokemon/growlithe/hisuian/icon.png rename to graphics/pokemon/growlithe/hisui/icon.png diff --git a/graphics/pokemon/growlithe/hisuian/normal.pal b/graphics/pokemon/growlithe/hisui/normal.pal similarity index 100% rename from graphics/pokemon/growlithe/hisuian/normal.pal rename to graphics/pokemon/growlithe/hisui/normal.pal diff --git a/graphics/pokemon/growlithe/hisuian/overworld.png b/graphics/pokemon/growlithe/hisui/overworld.png similarity index 100% rename from graphics/pokemon/growlithe/hisuian/overworld.png rename to graphics/pokemon/growlithe/hisui/overworld.png diff --git a/graphics/pokemon/growlithe/hisuian/overworld_normal.pal b/graphics/pokemon/growlithe/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/growlithe/hisuian/overworld_normal.pal rename to graphics/pokemon/growlithe/hisui/overworld_normal.pal diff --git a/graphics/pokemon/growlithe/hisuian/overworld_shiny.pal b/graphics/pokemon/growlithe/hisui/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/growlithe/hisuian/overworld_shiny.pal rename to graphics/pokemon/growlithe/hisui/overworld_shiny.pal diff --git a/graphics/pokemon/growlithe/hisuian/shiny.pal b/graphics/pokemon/growlithe/hisui/shiny.pal similarity index 100% rename from graphics/pokemon/growlithe/hisuian/shiny.pal rename to graphics/pokemon/growlithe/hisui/shiny.pal diff --git a/graphics/pokemon/growlithe/icon_gba.png b/graphics/pokemon/growlithe/icon_gba.png new file mode 100644 index 000000000000..8870c8b4f0a6 Binary files /dev/null and b/graphics/pokemon/growlithe/icon_gba.png differ diff --git a/graphics/pokemon/growlithe/normal_gba.pal b/graphics/pokemon/growlithe/normal_gba.pal new file mode 100644 index 000000000000..0c7054eae4c3 --- /dev/null +++ b/graphics/pokemon/growlithe/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 246 +222 222 213 +82 82 82 +255 0 255 +255 0 255 +255 0 255 +255 246 180 +230 213 148 +180 164 106 +115 98 32 +255 197 82 +238 164 65 +197 123 16 +148 49 0 +16 16 16 diff --git a/graphics/pokemon/growlithe/shiny_gba.pal b/graphics/pokemon/growlithe/shiny_gba.pal new file mode 100644 index 000000000000..0604c9c2560b --- /dev/null +++ b/graphics/pokemon/growlithe/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 246 +222 222 213 +82 82 82 +255 0 255 +255 0 255 +255 0 255 +255 246 180 +230 213 148 +180 164 106 +115 98 32 +255 238 82 +230 197 41 +189 156 0 +123 90 0 +16 16 16 diff --git a/graphics/pokemon/grumpig/anim_front_gba.png b/graphics/pokemon/grumpig/anim_front_gba.png new file mode 100644 index 000000000000..1d128a6520df Binary files /dev/null and b/graphics/pokemon/grumpig/anim_front_gba.png differ diff --git a/graphics/pokemon/grumpig/back_gba.png b/graphics/pokemon/grumpig/back_gba.png new file mode 100644 index 000000000000..08d476c29108 Binary files /dev/null and b/graphics/pokemon/grumpig/back_gba.png differ diff --git a/graphics/pokemon/grumpig/icon_gba.png b/graphics/pokemon/grumpig/icon_gba.png new file mode 100644 index 000000000000..fb3cac59d9db Binary files /dev/null and b/graphics/pokemon/grumpig/icon_gba.png differ diff --git a/graphics/pokemon/grumpig/normal_gba.pal b/graphics/pokemon/grumpig/normal_gba.pal new file mode 100644 index 000000000000..c49601f91026 --- /dev/null +++ b/graphics/pokemon/grumpig/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +148 148 148 +123 123 123 +98 98 98 +74 74 74 +255 180 213 +238 139 172 +213 106 131 +230 172 238 +205 139 213 +180 115 189 +123 82 139 +156 74 98 +246 205 255 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/grumpig/shiny_gba.pal b/graphics/pokemon/grumpig/shiny_gba.pal new file mode 100644 index 000000000000..b9c88ae3da77 --- /dev/null +++ b/graphics/pokemon/grumpig/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +172 172 172 +131 131 131 +82 82 82 +57 57 57 +255 180 213 +238 139 172 +213 106 131 +246 222 106 +213 189 65 +189 164 41 +131 123 0 +156 74 98 +255 238 172 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/gulpin/anim_front_gba.png b/graphics/pokemon/gulpin/anim_front_gba.png new file mode 100644 index 000000000000..8381bfdc763d Binary files /dev/null and b/graphics/pokemon/gulpin/anim_front_gba.png differ diff --git a/graphics/pokemon/gulpin/back_gba.png b/graphics/pokemon/gulpin/back_gba.png new file mode 100644 index 000000000000..928f291d1da1 Binary files /dev/null and b/graphics/pokemon/gulpin/back_gba.png differ diff --git a/graphics/pokemon/gulpin/icon_gba.png b/graphics/pokemon/gulpin/icon_gba.png new file mode 100644 index 000000000000..53eed645f803 Binary files /dev/null and b/graphics/pokemon/gulpin/icon_gba.png differ diff --git a/graphics/pokemon/gulpin/normal_gba.pal b/graphics/pokemon/gulpin/normal_gba.pal new file mode 100644 index 000000000000..588be1e4a7d6 --- /dev/null +++ b/graphics/pokemon/gulpin/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 189 131 +74 106 57 +131 164 115 +164 222 148 +197 238 180 +156 189 139 +65 65 65 +106 106 106 +156 156 156 +172 148 74 +205 172 16 +246 222 90 +255 238 164 +255 148 123 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/gulpin/overworldf.png b/graphics/pokemon/gulpin/overworldf.png new file mode 100644 index 000000000000..73838f715180 Binary files /dev/null and b/graphics/pokemon/gulpin/overworldf.png differ diff --git a/graphics/pokemon/gulpin/shiny_gba.pal b/graphics/pokemon/gulpin/shiny_gba.pal new file mode 100644 index 000000000000..83373f072cd0 --- /dev/null +++ b/graphics/pokemon/gulpin/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 189 131 +74 106 57 +98 123 164 +131 180 238 +156 213 255 +98 148 197 +65 65 65 +106 106 106 +156 156 156 +164 49 32 +180 65 49 +222 98 49 +255 139 82 +255 148 123 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/gyarados/anim_front_gba.png b/graphics/pokemon/gyarados/anim_front_gba.png new file mode 100644 index 000000000000..7b1864f1b505 Binary files /dev/null and b/graphics/pokemon/gyarados/anim_front_gba.png differ diff --git a/graphics/pokemon/gyarados/back_gba.png b/graphics/pokemon/gyarados/back_gba.png new file mode 100644 index 000000000000..8240fa3cc532 Binary files /dev/null and b/graphics/pokemon/gyarados/back_gba.png differ diff --git a/graphics/pokemon/gyarados/icon_gba.png b/graphics/pokemon/gyarados/icon_gba.png new file mode 100644 index 000000000000..13e611d0908e Binary files /dev/null and b/graphics/pokemon/gyarados/icon_gba.png differ diff --git a/graphics/pokemon/gyarados/normal_gba.pal b/graphics/pokemon/gyarados/normal_gba.pal new file mode 100644 index 000000000000..63b325d5b392 --- /dev/null +++ b/graphics/pokemon/gyarados/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +222 230 246 +172 180 197 +106 123 148 +180 205 255 +131 164 230 +98 131 164 +65 65 106 +255 255 148 +205 205 131 +106 106 90 +213 139 98 +205 49 49 +148 32 0 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/gyarados/overworld.png b/graphics/pokemon/gyarados/overworld.png index 7c0400b1e5b7..e2ab6d3ac522 100644 Binary files a/graphics/pokemon/gyarados/overworld.png and b/graphics/pokemon/gyarados/overworld.png differ diff --git a/graphics/pokemon/gyarados/overworldf.png b/graphics/pokemon/gyarados/overworldf.png new file mode 100644 index 000000000000..7c0400b1e5b7 Binary files /dev/null and b/graphics/pokemon/gyarados/overworldf.png differ diff --git a/graphics/pokemon/gyarados/shiny_gba.pal b/graphics/pokemon/gyarados/shiny_gba.pal new file mode 100644 index 000000000000..a8afe9dcdd4e --- /dev/null +++ b/graphics/pokemon/gyarados/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +222 230 246 +172 180 197 +106 123 148 +255 189 172 +255 115 115 +213 74 115 +123 41 65 +255 255 148 +205 205 131 +106 106 90 +255 98 57 +205 49 49 +148 32 0 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/hariyama/anim_front_gba.png b/graphics/pokemon/hariyama/anim_front_gba.png new file mode 100644 index 000000000000..d71ec4704e94 Binary files /dev/null and b/graphics/pokemon/hariyama/anim_front_gba.png differ diff --git a/graphics/pokemon/hariyama/back_gba.png b/graphics/pokemon/hariyama/back_gba.png new file mode 100644 index 000000000000..09eba4b52351 Binary files /dev/null and b/graphics/pokemon/hariyama/back_gba.png differ diff --git a/graphics/pokemon/hariyama/icon_gba.png b/graphics/pokemon/hariyama/icon_gba.png new file mode 100644 index 000000000000..b16b049071a0 Binary files /dev/null and b/graphics/pokemon/hariyama/icon_gba.png differ diff --git a/graphics/pokemon/hariyama/normal_gba.pal b/graphics/pokemon/hariyama/normal_gba.pal new file mode 100644 index 000000000000..99b5902d9481 --- /dev/null +++ b/graphics/pokemon/hariyama/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 164 115 +246 230 197 +230 213 164 +197 172 115 +139 106 82 +238 164 106 +213 131 90 +172 98 65 +131 74 49 +98 98 148 +49 49 98 +246 213 115 +238 189 82 +205 156 65 +24 24 24 +255 255 255 diff --git a/graphics/pokemon/hariyama/shiny_gba.pal b/graphics/pokemon/hariyama/shiny_gba.pal new file mode 100644 index 000000000000..14281f8125f3 --- /dev/null +++ b/graphics/pokemon/hariyama/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 164 115 +255 238 172 +246 205 131 +246 189 82 +205 139 57 +222 189 197 +189 156 164 +156 106 131 +115 82 90 +98 98 148 +49 49 98 +255 90 74 +205 82 65 +156 82 65 +24 24 24 +255 255 255 diff --git a/graphics/pokemon/hatterene/gigantamax/back.png b/graphics/pokemon/hatterene/gmax/back.png similarity index 100% rename from graphics/pokemon/hatterene/gigantamax/back.png rename to graphics/pokemon/hatterene/gmax/back.png diff --git a/graphics/pokemon/hatterene/gigantamax/front.png b/graphics/pokemon/hatterene/gmax/front.png similarity index 100% rename from graphics/pokemon/hatterene/gigantamax/front.png rename to graphics/pokemon/hatterene/gmax/front.png diff --git a/graphics/pokemon/hatterene/gigantamax/icon.png b/graphics/pokemon/hatterene/gmax/icon.png similarity index 100% rename from graphics/pokemon/hatterene/gigantamax/icon.png rename to graphics/pokemon/hatterene/gmax/icon.png diff --git a/graphics/pokemon/hatterene/gigantamax/normal.pal b/graphics/pokemon/hatterene/gmax/normal.pal similarity index 100% rename from graphics/pokemon/hatterene/gigantamax/normal.pal rename to graphics/pokemon/hatterene/gmax/normal.pal diff --git a/graphics/pokemon/hatterene/gigantamax/shiny.pal b/graphics/pokemon/hatterene/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/hatterene/gigantamax/shiny.pal rename to graphics/pokemon/hatterene/gmax/shiny.pal diff --git a/graphics/pokemon/haunter/anim_front_gba.png b/graphics/pokemon/haunter/anim_front_gba.png new file mode 100644 index 000000000000..a41b867fd4b6 Binary files /dev/null and b/graphics/pokemon/haunter/anim_front_gba.png differ diff --git a/graphics/pokemon/haunter/back_gba.png b/graphics/pokemon/haunter/back_gba.png new file mode 100644 index 000000000000..4b4585904b5f Binary files /dev/null and b/graphics/pokemon/haunter/back_gba.png differ diff --git a/graphics/pokemon/haunter/icon_gba.png b/graphics/pokemon/haunter/icon_gba.png new file mode 100644 index 000000000000..aac3e15f8083 Binary files /dev/null and b/graphics/pokemon/haunter/icon_gba.png differ diff --git a/graphics/pokemon/haunter/normal_gba.pal b/graphics/pokemon/haunter/normal_gba.pal new file mode 100644 index 000000000000..1f3ceb070ff0 --- /dev/null +++ b/graphics/pokemon/haunter/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +213 164 222 +197 131 205 +131 90 164 +82 49 98 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +222 49 49 +180 24 24 +106 0 0 +213 213 213 +115 115 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/haunter/shiny_gba.pal b/graphics/pokemon/haunter/shiny_gba.pal new file mode 100644 index 000000000000..d6cab258899c --- /dev/null +++ b/graphics/pokemon/haunter/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +213 164 222 +197 131 205 +131 90 164 +82 49 98 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +74 156 197 +32 115 156 +0 65 106 +213 213 213 +115 115 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/heracross/anim_front_gba.png b/graphics/pokemon/heracross/anim_front_gba.png new file mode 100644 index 000000000000..96af2d24f6f3 Binary files /dev/null and b/graphics/pokemon/heracross/anim_front_gba.png differ diff --git a/graphics/pokemon/heracross/back_gba.png b/graphics/pokemon/heracross/back_gba.png new file mode 100644 index 000000000000..df8202179249 Binary files /dev/null and b/graphics/pokemon/heracross/back_gba.png differ diff --git a/graphics/pokemon/heracross/icon_gba.png b/graphics/pokemon/heracross/icon_gba.png new file mode 100644 index 000000000000..994fbe33fc6f Binary files /dev/null and b/graphics/pokemon/heracross/icon_gba.png differ diff --git a/graphics/pokemon/heracross/normal_gba.pal b/graphics/pokemon/heracross/normal_gba.pal new file mode 100644 index 000000000000..06fe289a5c20 --- /dev/null +++ b/graphics/pokemon/heracross/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +156 180 255 +123 139 222 +98 106 180 +49 57 98 +255 0 255 +255 255 139 +255 222 90 +197 164 41 +139 106 0 +255 0 255 +213 213 213 +156 156 156 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/heracross/overworldf.png b/graphics/pokemon/heracross/overworldf.png new file mode 100644 index 000000000000..84b22f6a8e76 Binary files /dev/null and b/graphics/pokemon/heracross/overworldf.png differ diff --git a/graphics/pokemon/heracross/shiny_gba.pal b/graphics/pokemon/heracross/shiny_gba.pal new file mode 100644 index 000000000000..c85ace38b967 --- /dev/null +++ b/graphics/pokemon/heracross/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 156 213 +205 123 189 +164 82 156 +98 57 98 +255 0 255 +255 255 139 +255 222 90 +197 164 41 +139 106 0 +255 0 255 +213 213 213 +156 156 156 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/hippopotas/followerf.png b/graphics/pokemon/hippopotas/followerf.png deleted file mode 100644 index e8802de5c496..000000000000 Binary files a/graphics/pokemon/hippopotas/followerf.png and /dev/null differ diff --git a/graphics/pokemon/hippopotas/overworldf.png b/graphics/pokemon/hippopotas/overworldf.png new file mode 100644 index 000000000000..dcc8875b4ba6 Binary files /dev/null and b/graphics/pokemon/hippopotas/overworldf.png differ diff --git a/graphics/pokemon/hippowdon/followerf.png b/graphics/pokemon/hippowdon/followerf.png deleted file mode 100644 index 20ac193d7458..000000000000 Binary files a/graphics/pokemon/hippowdon/followerf.png and /dev/null differ diff --git a/graphics/pokemon/hippowdon/overworld_normalf.pal b/graphics/pokemon/hippowdon/overworld_normalf.pal new file mode 100644 index 000000000000..64198bd35c67 --- /dev/null +++ b/graphics/pokemon/hippowdon/overworld_normalf.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +152 208 160 +0 0 0 +96 96 96 +48 48 48 +72 72 72 +88 88 104 +136 136 144 +192 56 80 +168 168 168 +200 200 208 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/hippowdon/overworld_shinyf.pal b/graphics/pokemon/hippowdon/overworld_shinyf.pal new file mode 100644 index 000000000000..022b4b542c0d --- /dev/null +++ b/graphics/pokemon/hippowdon/overworld_shinyf.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +152 208 160 +0 0 0 +136 136 104 +48 48 48 +96 96 72 +160 160 128 +184 192 152 +192 56 80 +152 208 160 +200 200 208 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/hitmonchan/anim_front_gba.png b/graphics/pokemon/hitmonchan/anim_front_gba.png new file mode 100644 index 000000000000..a08e0a0da997 Binary files /dev/null and b/graphics/pokemon/hitmonchan/anim_front_gba.png differ diff --git a/graphics/pokemon/hitmonchan/back_gba.png b/graphics/pokemon/hitmonchan/back_gba.png new file mode 100644 index 000000000000..8d94230719d5 Binary files /dev/null and b/graphics/pokemon/hitmonchan/back_gba.png differ diff --git a/graphics/pokemon/hitmonchan/icon_gba.png b/graphics/pokemon/hitmonchan/icon_gba.png new file mode 100644 index 000000000000..a657a6d746a5 Binary files /dev/null and b/graphics/pokemon/hitmonchan/icon_gba.png differ diff --git a/graphics/pokemon/hitmonchan/normal_gba.pal b/graphics/pokemon/hitmonchan/normal_gba.pal new file mode 100644 index 000000000000..77c20d85ad99 --- /dev/null +++ b/graphics/pokemon/hitmonchan/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +222 205 222 +197 180 197 +164 148 164 +115 98 115 +255 148 90 +230 98 57 +189 49 16 +139 32 0 +255 0 255 +238 213 156 +205 180 123 +164 139 82 +106 82 16 +16 16 16 diff --git a/graphics/pokemon/hitmonchan/shiny_gba.pal b/graphics/pokemon/hitmonchan/shiny_gba.pal new file mode 100644 index 000000000000..2e4a28f0c89c --- /dev/null +++ b/graphics/pokemon/hitmonchan/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +222 205 222 +197 180 197 +164 148 164 +115 98 115 +90 148 213 +49 106 172 +8 65 131 +0 24 90 +255 0 255 +238 230 139 +197 189 98 +156 148 57 +98 90 0 +16 16 16 diff --git a/graphics/pokemon/hitmonlee/anim_front_gba.png b/graphics/pokemon/hitmonlee/anim_front_gba.png new file mode 100644 index 000000000000..46d29bd4afda Binary files /dev/null and b/graphics/pokemon/hitmonlee/anim_front_gba.png differ diff --git a/graphics/pokemon/hitmonlee/back_gba.png b/graphics/pokemon/hitmonlee/back_gba.png new file mode 100644 index 000000000000..9aa095a6ab85 Binary files /dev/null and b/graphics/pokemon/hitmonlee/back_gba.png differ diff --git a/graphics/pokemon/hitmonlee/icon_gba.png b/graphics/pokemon/hitmonlee/icon_gba.png new file mode 100644 index 000000000000..b45c936868bb Binary files /dev/null and b/graphics/pokemon/hitmonlee/icon_gba.png differ diff --git a/graphics/pokemon/hitmonlee/normal_gba.pal b/graphics/pokemon/hitmonlee/normal_gba.pal new file mode 100644 index 000000000000..e70409a90aca --- /dev/null +++ b/graphics/pokemon/hitmonlee/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +238 197 164 +205 164 131 +164 123 90 +131 90 57 +106 57 24 +255 0 255 +255 0 255 +213 205 205 +180 164 164 +115 98 98 +238 255 148 +197 205 115 +115 123 32 +41 41 41 +255 255 255 diff --git a/graphics/pokemon/hitmonlee/shiny_gba.pal b/graphics/pokemon/hitmonlee/shiny_gba.pal new file mode 100644 index 000000000000..74e6c6452490 --- /dev/null +++ b/graphics/pokemon/hitmonlee/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +172 180 74 +131 139 32 +90 98 0 +49 57 0 +32 41 0 +255 0 255 +255 0 255 +189 164 139 +148 123 98 +106 82 57 +238 255 148 +197 205 115 +115 123 32 +41 41 41 +255 255 255 diff --git a/graphics/pokemon/hitmontop/anim_front_gba.png b/graphics/pokemon/hitmontop/anim_front_gba.png new file mode 100644 index 000000000000..69365ac6253d Binary files /dev/null and b/graphics/pokemon/hitmontop/anim_front_gba.png differ diff --git a/graphics/pokemon/hitmontop/back_gba.png b/graphics/pokemon/hitmontop/back_gba.png new file mode 100644 index 000000000000..09d16414cb9e Binary files /dev/null and b/graphics/pokemon/hitmontop/back_gba.png differ diff --git a/graphics/pokemon/hitmontop/icon_gba.png b/graphics/pokemon/hitmontop/icon_gba.png new file mode 100644 index 000000000000..c5b8ee564d1b Binary files /dev/null and b/graphics/pokemon/hitmontop/icon_gba.png differ diff --git a/graphics/pokemon/hitmontop/normal_gba.pal b/graphics/pokemon/hitmontop/normal_gba.pal new file mode 100644 index 000000000000..b49c96760e8c --- /dev/null +++ b/graphics/pokemon/hitmontop/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 238 156 +230 205 123 +189 164 82 +131 98 16 +255 0 255 +139 213 255 +98 172 238 +74 131 205 +82 90 148 +255 0 255 +205 205 205 +148 148 156 +98 98 106 +16 16 16 diff --git a/graphics/pokemon/hitmontop/shiny_gba.pal b/graphics/pokemon/hitmontop/shiny_gba.pal new file mode 100644 index 000000000000..8c6bbd31fd6c --- /dev/null +++ b/graphics/pokemon/hitmontop/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 246 205 +230 222 180 +180 172 148 +131 90 65 +255 0 255 +246 148 222 +205 106 189 +172 74 164 +115 49 123 +255 0 255 +205 205 205 +148 148 156 +98 98 106 +16 16 16 diff --git a/graphics/pokemon/ho_oh/anim_front_gba.png b/graphics/pokemon/ho_oh/anim_front_gba.png new file mode 100644 index 000000000000..5b60f009a3be Binary files /dev/null and b/graphics/pokemon/ho_oh/anim_front_gba.png differ diff --git a/graphics/pokemon/ho_oh/back_gba.png b/graphics/pokemon/ho_oh/back_gba.png new file mode 100644 index 000000000000..9acbdf0cc184 Binary files /dev/null and b/graphics/pokemon/ho_oh/back_gba.png differ diff --git a/graphics/pokemon/ho_oh/icon_gba.png b/graphics/pokemon/ho_oh/icon_gba.png new file mode 100644 index 000000000000..4cd5ed871f69 Binary files /dev/null and b/graphics/pokemon/ho_oh/icon_gba.png differ diff --git a/graphics/pokemon/ho_oh/normal_gba.pal b/graphics/pokemon/ho_oh/normal_gba.pal new file mode 100644 index 000000000000..f4b583541803 --- /dev/null +++ b/graphics/pokemon/ho_oh/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 164 +255 255 255 +255 172 0 +255 90 0 +205 65 0 +156 16 0 +255 238 131 +255 230 0 +230 172 0 +164 106 0 +156 246 172 +65 213 82 +16 148 16 +197 197 197 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/ho_oh/shiny_gba.pal b/graphics/pokemon/ho_oh/shiny_gba.pal new file mode 100644 index 000000000000..2c14ff9e4b6f --- /dev/null +++ b/graphics/pokemon/ho_oh/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 164 +255 255 255 +255 230 57 +255 172 24 +205 123 24 +148 74 49 +238 238 238 +222 222 222 +180 180 189 +123 123 139 +255 172 0 +255 74 0 +156 41 24 +213 213 222 +123 106 65 +16 16 16 diff --git a/graphics/pokemon/hoothoot/anim_front_gba.png b/graphics/pokemon/hoothoot/anim_front_gba.png new file mode 100644 index 000000000000..c2abe146447b Binary files /dev/null and b/graphics/pokemon/hoothoot/anim_front_gba.png differ diff --git a/graphics/pokemon/hoothoot/back_gba.png b/graphics/pokemon/hoothoot/back_gba.png new file mode 100644 index 000000000000..2ab2253bd99e Binary files /dev/null and b/graphics/pokemon/hoothoot/back_gba.png differ diff --git a/graphics/pokemon/hoothoot/icon_gba.png b/graphics/pokemon/hoothoot/icon_gba.png new file mode 100644 index 000000000000..c25065113a5f Binary files /dev/null and b/graphics/pokemon/hoothoot/icon_gba.png differ diff --git a/graphics/pokemon/hoothoot/normal_gba.pal b/graphics/pokemon/hoothoot/normal_gba.pal new file mode 100644 index 000000000000..f1a3ee54ef18 --- /dev/null +++ b/graphics/pokemon/hoothoot/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 255 189 +230 246 164 +222 213 90 +205 189 41 +172 156 32 +148 131 24 +123 106 16 +90 74 0 +255 230 172 +255 180 106 +230 123 41 +123 123 123 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/hoothoot/shiny_gba.pal b/graphics/pokemon/hoothoot/shiny_gba.pal new file mode 100644 index 000000000000..3b951e004e59 --- /dev/null +++ b/graphics/pokemon/hoothoot/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 189 +238 238 106 +255 238 115 +246 222 57 +230 189 49 +213 148 41 +197 131 32 +139 82 32 +255 230 172 +255 180 106 +230 123 41 +123 123 123 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/hoppip/anim_front_gba.png b/graphics/pokemon/hoppip/anim_front_gba.png new file mode 100644 index 000000000000..1295bbc84b49 Binary files /dev/null and b/graphics/pokemon/hoppip/anim_front_gba.png differ diff --git a/graphics/pokemon/hoppip/back_gba.png b/graphics/pokemon/hoppip/back_gba.png new file mode 100644 index 000000000000..a5d042909610 Binary files /dev/null and b/graphics/pokemon/hoppip/back_gba.png differ diff --git a/graphics/pokemon/hoppip/icon_gba.png b/graphics/pokemon/hoppip/icon_gba.png new file mode 100644 index 000000000000..0692f69d7b03 Binary files /dev/null and b/graphics/pokemon/hoppip/icon_gba.png differ diff --git a/graphics/pokemon/hoppip/normal_gba.pal b/graphics/pokemon/hoppip/normal_gba.pal new file mode 100644 index 000000000000..5784941176b5 --- /dev/null +++ b/graphics/pokemon/hoppip/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 156 115 +255 98 82 +213 65 16 +164 16 0 +255 0 255 +131 230 57 +98 205 57 +65 164 32 +32 98 16 +255 0 255 +255 255 82 +246 197 0 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/hoppip/shiny_gba.pal b/graphics/pokemon/hoppip/shiny_gba.pal new file mode 100644 index 000000000000..c70c55c99921 --- /dev/null +++ b/graphics/pokemon/hoppip/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +148 205 32 +106 180 8 +90 139 41 +57 90 16 +255 0 255 +189 246 57 +131 222 57 +82 172 24 +32 98 16 +255 0 255 +255 255 82 +246 197 0 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/horsea/anim_front_gba.png b/graphics/pokemon/horsea/anim_front_gba.png new file mode 100644 index 000000000000..24f4d0116b35 Binary files /dev/null and b/graphics/pokemon/horsea/anim_front_gba.png differ diff --git a/graphics/pokemon/horsea/back_gba.png b/graphics/pokemon/horsea/back_gba.png new file mode 100644 index 000000000000..bd6cb3d2b3f7 Binary files /dev/null and b/graphics/pokemon/horsea/back_gba.png differ diff --git a/graphics/pokemon/horsea/icon_gba.png b/graphics/pokemon/horsea/icon_gba.png new file mode 100644 index 000000000000..d57901f511db Binary files /dev/null and b/graphics/pokemon/horsea/icon_gba.png differ diff --git a/graphics/pokemon/horsea/normal_gba.pal b/graphics/pokemon/horsea/normal_gba.pal new file mode 100644 index 000000000000..a14e2b4c5327 --- /dev/null +++ b/graphics/pokemon/horsea/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 0 255 +255 0 255 +255 0 255 +156 131 74 +189 222 255 +164 197 238 +106 148 180 +57 82 98 +255 255 172 +222 197 74 +255 115 115 +197 41 41 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/horsea/shiny_gba.pal b/graphics/pokemon/horsea/shiny_gba.pal new file mode 100644 index 000000000000..f163c929a1ff --- /dev/null +++ b/graphics/pokemon/horsea/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 0 255 +255 0 255 +255 0 255 +156 131 74 +115 205 213 +74 164 172 +32 123 131 +16 74 82 +255 197 222 +255 156 180 +255 115 115 +197 41 41 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/houndoom/anim_front_gba.png b/graphics/pokemon/houndoom/anim_front_gba.png new file mode 100644 index 000000000000..adebd878b09d Binary files /dev/null and b/graphics/pokemon/houndoom/anim_front_gba.png differ diff --git a/graphics/pokemon/houndoom/back_gba.png b/graphics/pokemon/houndoom/back_gba.png new file mode 100644 index 000000000000..6aae855c6a37 Binary files /dev/null and b/graphics/pokemon/houndoom/back_gba.png differ diff --git a/graphics/pokemon/houndoom/icon_gba.png b/graphics/pokemon/houndoom/icon_gba.png new file mode 100644 index 000000000000..8ca4aec3cf38 Binary files /dev/null and b/graphics/pokemon/houndoom/icon_gba.png differ diff --git a/graphics/pokemon/houndoom/normal_gba.pal b/graphics/pokemon/houndoom/normal_gba.pal new file mode 100644 index 000000000000..676369d0762e --- /dev/null +++ b/graphics/pokemon/houndoom/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +139 123 123 +82 74 74 +57 49 49 +41 32 32 +255 213 139 +238 164 82 +189 123 57 +148 82 24 +255 106 49 +180 49 8 +255 0 255 +255 0 255 +180 164 164 +16 16 16 diff --git a/graphics/pokemon/houndoom/overworldf.png b/graphics/pokemon/houndoom/overworldf.png new file mode 100644 index 000000000000..85091448d9ee Binary files /dev/null and b/graphics/pokemon/houndoom/overworldf.png differ diff --git a/graphics/pokemon/houndoom/shiny_gba.pal b/graphics/pokemon/houndoom/shiny_gba.pal new file mode 100644 index 000000000000..7e7aa56bf791 --- /dev/null +++ b/graphics/pokemon/houndoom/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +123 156 230 +74 98 180 +49 65 139 +65 74 90 +255 230 197 +213 172 148 +172 131 90 +123 82 65 +255 106 49 +180 49 8 +255 0 255 +255 0 255 +222 197 213 +16 16 16 diff --git a/graphics/pokemon/houndour/anim_front_gba.png b/graphics/pokemon/houndour/anim_front_gba.png new file mode 100644 index 000000000000..057479784488 Binary files /dev/null and b/graphics/pokemon/houndour/anim_front_gba.png differ diff --git a/graphics/pokemon/houndour/back_gba.png b/graphics/pokemon/houndour/back_gba.png new file mode 100644 index 000000000000..64e10495425a Binary files /dev/null and b/graphics/pokemon/houndour/back_gba.png differ diff --git a/graphics/pokemon/houndour/icon_gba.png b/graphics/pokemon/houndour/icon_gba.png new file mode 100644 index 000000000000..1d397d9bf0a0 Binary files /dev/null and b/graphics/pokemon/houndour/icon_gba.png differ diff --git a/graphics/pokemon/houndour/normal_gba.pal b/graphics/pokemon/houndour/normal_gba.pal new file mode 100644 index 000000000000..676369d0762e --- /dev/null +++ b/graphics/pokemon/houndour/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +139 123 123 +82 74 74 +57 49 49 +41 32 32 +255 213 139 +238 164 82 +189 123 57 +148 82 24 +255 106 49 +180 49 8 +255 0 255 +255 0 255 +180 164 164 +16 16 16 diff --git a/graphics/pokemon/houndour/shiny_gba.pal b/graphics/pokemon/houndour/shiny_gba.pal new file mode 100644 index 000000000000..4197f8de7e8d --- /dev/null +++ b/graphics/pokemon/houndour/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +123 164 197 +82 123 164 +57 82 115 +49 65 82 +255 230 197 +213 172 148 +172 131 90 +123 82 65 +255 106 49 +180 49 8 +255 0 255 +255 0 255 +222 189 197 +16 16 16 diff --git a/graphics/pokemon/huntail/anim_front_gba.png b/graphics/pokemon/huntail/anim_front_gba.png new file mode 100644 index 000000000000..6963d99c840d Binary files /dev/null and b/graphics/pokemon/huntail/anim_front_gba.png differ diff --git a/graphics/pokemon/huntail/back_gba.png b/graphics/pokemon/huntail/back_gba.png new file mode 100644 index 000000000000..23ccaac12a3a Binary files /dev/null and b/graphics/pokemon/huntail/back_gba.png differ diff --git a/graphics/pokemon/huntail/icon_gba.png b/graphics/pokemon/huntail/icon_gba.png new file mode 100644 index 000000000000..b70fca87e65d Binary files /dev/null and b/graphics/pokemon/huntail/icon_gba.png differ diff --git a/graphics/pokemon/huntail/normal_gba.pal b/graphics/pokemon/huntail/normal_gba.pal new file mode 100644 index 000000000000..192061e018b8 --- /dev/null +++ b/graphics/pokemon/huntail/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 106 189 +255 255 255 +238 180 98 +222 148 0 +156 106 65 +180 238 238 +156 222 246 +123 197 222 +74 156 180 +49 98 123 +0 0 0 +255 131 148 +205 115 148 +148 57 90 +213 197 213 +164 131 148 diff --git a/graphics/pokemon/huntail/shiny_gba.pal b/graphics/pokemon/huntail/shiny_gba.pal new file mode 100644 index 000000000000..713c54adff3c --- /dev/null +++ b/graphics/pokemon/huntail/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 106 189 +255 255 255 +255 222 115 +230 156 0 +164 115 65 +172 255 172 +148 230 148 +115 197 115 +57 148 82 +32 106 57 +0 0 0 +255 131 148 +205 115 148 +148 57 90 +213 197 213 +164 131 148 diff --git a/graphics/pokemon/hypno/anim_front_gba.png b/graphics/pokemon/hypno/anim_front_gba.png new file mode 100644 index 000000000000..e3cd338ed8d7 Binary files /dev/null and b/graphics/pokemon/hypno/anim_front_gba.png differ diff --git a/graphics/pokemon/hypno/back_gba.png b/graphics/pokemon/hypno/back_gba.png new file mode 100644 index 000000000000..12aec4f4d357 Binary files /dev/null and b/graphics/pokemon/hypno/back_gba.png differ diff --git a/graphics/pokemon/hypno/icon_gba.png b/graphics/pokemon/hypno/icon_gba.png new file mode 100644 index 000000000000..4015f23867b5 Binary files /dev/null and b/graphics/pokemon/hypno/icon_gba.png differ diff --git a/graphics/pokemon/hypno/normal_gba.pal b/graphics/pokemon/hypno/normal_gba.pal new file mode 100644 index 000000000000..96218054eed9 --- /dev/null +++ b/graphics/pokemon/hypno/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 238 156 +255 222 98 +205 180 106 +123 98 49 +255 0 255 +213 213 222 +115 106 131 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +156 156 156 +98 98 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/hypno/overworldf.png b/graphics/pokemon/hypno/overworldf.png new file mode 100644 index 000000000000..0120f60a908f Binary files /dev/null and b/graphics/pokemon/hypno/overworldf.png differ diff --git a/graphics/pokemon/hypno/shiny_gba.pal b/graphics/pokemon/hypno/shiny_gba.pal new file mode 100644 index 000000000000..af2643bd9ac6 --- /dev/null +++ b/graphics/pokemon/hypno/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 180 213 +238 139 172 +197 98 131 +123 24 57 +255 0 255 +213 213 222 +115 106 131 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +156 156 156 +98 98 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/igglybuff/anim_front_gba.png b/graphics/pokemon/igglybuff/anim_front_gba.png new file mode 100644 index 000000000000..0947bca6619e Binary files /dev/null and b/graphics/pokemon/igglybuff/anim_front_gba.png differ diff --git a/graphics/pokemon/igglybuff/back_gba.png b/graphics/pokemon/igglybuff/back_gba.png new file mode 100644 index 000000000000..efc417ab5872 Binary files /dev/null and b/graphics/pokemon/igglybuff/back_gba.png differ diff --git a/graphics/pokemon/igglybuff/icon_gba.png b/graphics/pokemon/igglybuff/icon_gba.png new file mode 100644 index 000000000000..55d1a9eb1ab6 Binary files /dev/null and b/graphics/pokemon/igglybuff/icon_gba.png differ diff --git a/graphics/pokemon/igglybuff/normal_gba.pal b/graphics/pokemon/igglybuff/normal_gba.pal new file mode 100644 index 000000000000..9b5beb079160 --- /dev/null +++ b/graphics/pokemon/igglybuff/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 205 156 +255 148 115 +222 115 65 +197 74 0 +148 32 16 +255 230 180 +255 0 255 +205 0 0 +156 0 0 +205 0 0 +156 0 0 +98 0 0 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/igglybuff/shiny_gba.pal b/graphics/pokemon/igglybuff/shiny_gba.pal new file mode 100644 index 000000000000..fd1f6fbf8bb7 --- /dev/null +++ b/graphics/pokemon/igglybuff/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 213 238 +246 172 197 +222 115 139 +180 57 90 +156 24 49 +255 238 238 +255 0 255 +205 0 0 +156 0 0 +90 197 24 +74 172 24 +41 82 0 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/illumise/anim_front_gba.png b/graphics/pokemon/illumise/anim_front_gba.png new file mode 100644 index 000000000000..0d20f3357af1 Binary files /dev/null and b/graphics/pokemon/illumise/anim_front_gba.png differ diff --git a/graphics/pokemon/illumise/back_gba.png b/graphics/pokemon/illumise/back_gba.png new file mode 100644 index 000000000000..a06de56a1b97 Binary files /dev/null and b/graphics/pokemon/illumise/back_gba.png differ diff --git a/graphics/pokemon/illumise/icon_gba.png b/graphics/pokemon/illumise/icon_gba.png new file mode 100644 index 000000000000..ac812de37956 Binary files /dev/null and b/graphics/pokemon/illumise/icon_gba.png differ diff --git a/graphics/pokemon/illumise/normal_gba.pal b/graphics/pokemon/illumise/normal_gba.pal new file mode 100644 index 000000000000..63c55bbc03dc --- /dev/null +++ b/graphics/pokemon/illumise/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +0 90 213 +123 123 123 +74 74 74 +0 0 0 +205 139 222 +180 98 205 +139 82 156 +49 41 49 +255 230 115 +230 180 74 +156 131 82 +172 197 238 +139 172 205 +90 106 139 +255 255 255 diff --git a/graphics/pokemon/illumise/shiny_gba.pal b/graphics/pokemon/illumise/shiny_gba.pal new file mode 100644 index 000000000000..78bdbdc220ea --- /dev/null +++ b/graphics/pokemon/illumise/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +0 90 213 +123 123 123 +74 74 74 +0 0 0 +255 230 115 +230 180 74 +189 139 82 +49 41 49 +255 148 82 +222 90 32 +164 49 32 +131 205 255 +90 172 230 +32 115 189 +255 255 255 diff --git a/graphics/pokemon/indeedee/female/back.png b/graphics/pokemon/indeedee/f/back.png similarity index 100% rename from graphics/pokemon/indeedee/female/back.png rename to graphics/pokemon/indeedee/f/back.png diff --git a/graphics/pokemon/indeedee/female/front.png b/graphics/pokemon/indeedee/f/front.png similarity index 100% rename from graphics/pokemon/indeedee/female/front.png rename to graphics/pokemon/indeedee/f/front.png diff --git a/graphics/pokemon/indeedee/female/icon.png b/graphics/pokemon/indeedee/f/icon.png similarity index 100% rename from graphics/pokemon/indeedee/female/icon.png rename to graphics/pokemon/indeedee/f/icon.png diff --git a/graphics/pokemon/indeedee/female/normal.pal b/graphics/pokemon/indeedee/f/normal.pal similarity index 100% rename from graphics/pokemon/indeedee/female/normal.pal rename to graphics/pokemon/indeedee/f/normal.pal diff --git a/graphics/pokemon/indeedee/female/overworld.png b/graphics/pokemon/indeedee/f/overworld.png similarity index 100% rename from graphics/pokemon/indeedee/female/overworld.png rename to graphics/pokemon/indeedee/f/overworld.png diff --git a/graphics/pokemon/indeedee/female/overworld_normal.pal b/graphics/pokemon/indeedee/f/overworld_normal.pal similarity index 100% rename from graphics/pokemon/indeedee/female/overworld_normal.pal rename to graphics/pokemon/indeedee/f/overworld_normal.pal diff --git a/graphics/pokemon/indeedee/female/overworld_shiny.pal b/graphics/pokemon/indeedee/f/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/indeedee/female/overworld_shiny.pal rename to graphics/pokemon/indeedee/f/overworld_shiny.pal diff --git a/graphics/pokemon/indeedee/female/shiny.pal b/graphics/pokemon/indeedee/f/shiny.pal similarity index 100% rename from graphics/pokemon/indeedee/female/shiny.pal rename to graphics/pokemon/indeedee/f/shiny.pal diff --git a/graphics/pokemon/inteleon/gigantamax/back.png b/graphics/pokemon/inteleon/gmax/back.png similarity index 100% rename from graphics/pokemon/inteleon/gigantamax/back.png rename to graphics/pokemon/inteleon/gmax/back.png diff --git a/graphics/pokemon/inteleon/gigantamax/front.png b/graphics/pokemon/inteleon/gmax/front.png similarity index 100% rename from graphics/pokemon/inteleon/gigantamax/front.png rename to graphics/pokemon/inteleon/gmax/front.png diff --git a/graphics/pokemon/inteleon/gigantamax/icon.png b/graphics/pokemon/inteleon/gmax/icon.png similarity index 100% rename from graphics/pokemon/inteleon/gigantamax/icon.png rename to graphics/pokemon/inteleon/gmax/icon.png diff --git a/graphics/pokemon/inteleon/gigantamax/normal.pal b/graphics/pokemon/inteleon/gmax/normal.pal similarity index 100% rename from graphics/pokemon/inteleon/gigantamax/normal.pal rename to graphics/pokemon/inteleon/gmax/normal.pal diff --git a/graphics/pokemon/inteleon/gigantamax/shiny.pal b/graphics/pokemon/inteleon/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/inteleon/gigantamax/shiny.pal rename to graphics/pokemon/inteleon/gmax/shiny.pal diff --git a/graphics/pokemon/ivysaur/anim_front_gba.png b/graphics/pokemon/ivysaur/anim_front_gba.png new file mode 100644 index 000000000000..1e8d0f04ef16 Binary files /dev/null and b/graphics/pokemon/ivysaur/anim_front_gba.png differ diff --git a/graphics/pokemon/ivysaur/back_gba.png b/graphics/pokemon/ivysaur/back_gba.png new file mode 100644 index 000000000000..d977bc31440d Binary files /dev/null and b/graphics/pokemon/ivysaur/back_gba.png differ diff --git a/graphics/pokemon/ivysaur/icon_gba.png b/graphics/pokemon/ivysaur/icon_gba.png new file mode 100644 index 000000000000..2f1627506698 Binary files /dev/null and b/graphics/pokemon/ivysaur/icon_gba.png differ diff --git a/graphics/pokemon/ivysaur/normal_gba.pal b/graphics/pokemon/ivysaur/normal_gba.pal new file mode 100644 index 000000000000..5d4c59bbd842 --- /dev/null +++ b/graphics/pokemon/ivysaur/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +74 139 32 +255 189 180 +255 123 123 +213 65 90 +131 238 197 +90 205 148 +131 230 90 +106 180 32 +32 148 90 +16 16 16 +16 82 32 +197 115 57 +139 90 57 +123 49 41 diff --git a/graphics/pokemon/ivysaur/shiny_gba.pal b/graphics/pokemon/ivysaur/shiny_gba.pal new file mode 100644 index 000000000000..964be9785d3c --- /dev/null +++ b/graphics/pokemon/ivysaur/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +90 139 49 +255 255 82 +255 222 8 +222 180 0 +205 255 90 +164 213 49 +123 222 32 +82 180 0 +123 172 8 +16 16 16 +90 98 24 +180 82 8 +148 49 8 +115 16 8 diff --git a/graphics/pokemon/jellicent/followerf.png b/graphics/pokemon/jellicent/followerf.png deleted file mode 100644 index 1de8ee407b9c..000000000000 Binary files a/graphics/pokemon/jellicent/followerf.png and /dev/null differ diff --git a/graphics/pokemon/jellicent/overworld_normalf.pal b/graphics/pokemon/jellicent/overworld_normalf.pal new file mode 100644 index 000000000000..8d94142d60dd --- /dev/null +++ b/graphics/pokemon/jellicent/overworld_normalf.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +152 208 160 +7 7 7 +247 212 238 +109 46 69 +203 117 168 +247 151 194 +185 151 177 +185 151 177 +247 247 247 +214 53 26 +45 20 29 +32 69 142 +0 0 0 +247 212 238 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/jellicent/overworld_shinyf.pal b/graphics/pokemon/jellicent/overworld_shinyf.pal new file mode 100644 index 000000000000..d8bd8e5c4b98 --- /dev/null +++ b/graphics/pokemon/jellicent/overworld_shinyf.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +152 208 160 +7 7 7 +240 216 248 +88 64 112 +160 120 224 +208 176 248 +168 152 184 +185 151 177 +247 247 247 +200 32 192 +45 20 29 +32 69 142 +0 0 0 +247 212 238 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/jellicent/overworldf.png b/graphics/pokemon/jellicent/overworldf.png new file mode 100644 index 000000000000..1a0cd24b0200 Binary files /dev/null and b/graphics/pokemon/jellicent/overworldf.png differ diff --git a/graphics/pokemon/jigglypuff/anim_front_gba.png b/graphics/pokemon/jigglypuff/anim_front_gba.png new file mode 100644 index 000000000000..98981352b923 Binary files /dev/null and b/graphics/pokemon/jigglypuff/anim_front_gba.png differ diff --git a/graphics/pokemon/jigglypuff/back_gba.png b/graphics/pokemon/jigglypuff/back_gba.png new file mode 100644 index 000000000000..8055a79b0211 Binary files /dev/null and b/graphics/pokemon/jigglypuff/back_gba.png differ diff --git a/graphics/pokemon/jigglypuff/icon_gba.png b/graphics/pokemon/jigglypuff/icon_gba.png new file mode 100644 index 000000000000..4c5a33cb834e Binary files /dev/null and b/graphics/pokemon/jigglypuff/icon_gba.png differ diff --git a/graphics/pokemon/jigglypuff/normal_gba.pal b/graphics/pokemon/jigglypuff/normal_gba.pal new file mode 100644 index 000000000000..f7f6154c1f17 --- /dev/null +++ b/graphics/pokemon/jigglypuff/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +205 189 255 +148 131 255 +115 98 222 +65 49 156 +156 106 32 +115 65 24 +230 230 230 +164 49 0 +213 57 49 +16 16 16 +255 205 197 +255 172 164 +230 115 98 +164 49 16 diff --git a/graphics/pokemon/jigglypuff/shiny_gba.pal b/graphics/pokemon/jigglypuff/shiny_gba.pal new file mode 100644 index 000000000000..bea601916e1e --- /dev/null +++ b/graphics/pokemon/jigglypuff/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +222 255 164 +180 238 123 +139 197 82 +82 131 16 +156 106 32 +115 65 24 +230 230 230 +164 49 0 +213 57 49 +16 16 16 +246 238 246 +246 197 246 +205 156 205 +115 65 115 diff --git a/graphics/pokemon/jirachi/anim_front_gba.png b/graphics/pokemon/jirachi/anim_front_gba.png new file mode 100644 index 000000000000..b414a28cb3b2 Binary files /dev/null and b/graphics/pokemon/jirachi/anim_front_gba.png differ diff --git a/graphics/pokemon/jirachi/back_gba.png b/graphics/pokemon/jirachi/back_gba.png new file mode 100644 index 000000000000..4fa283e0dcc6 Binary files /dev/null and b/graphics/pokemon/jirachi/back_gba.png differ diff --git a/graphics/pokemon/jirachi/icon_gba.png b/graphics/pokemon/jirachi/icon_gba.png new file mode 100644 index 000000000000..15df4559b512 Binary files /dev/null and b/graphics/pokemon/jirachi/icon_gba.png differ diff --git a/graphics/pokemon/jirachi/normal_gba.pal b/graphics/pokemon/jirachi/normal_gba.pal new file mode 100644 index 000000000000..ba0b7a6b11e2 --- /dev/null +++ b/graphics/pokemon/jirachi/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +205 213 222 +156 164 172 +41 65 115 +230 238 246 +82 115 255 +131 164 255 +106 115 115 +197 0 0 +238 82 82 +180 139 49 +230 197 82 +255 230 90 +255 246 148 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/jirachi/shiny_gba.pal b/graphics/pokemon/jirachi/shiny_gba.pal new file mode 100644 index 000000000000..219b9ac57ffe --- /dev/null +++ b/graphics/pokemon/jirachi/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 180 164 +156 164 172 +41 65 115 +255 230 230 +230 74 49 +255 123 106 +123 98 90 +197 0 0 +238 82 82 +180 139 49 +230 197 82 +255 230 90 +255 246 148 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/jolteon/anim_front_gba.png b/graphics/pokemon/jolteon/anim_front_gba.png new file mode 100644 index 000000000000..ff0edda9f383 Binary files /dev/null and b/graphics/pokemon/jolteon/anim_front_gba.png differ diff --git a/graphics/pokemon/jolteon/back_gba.png b/graphics/pokemon/jolteon/back_gba.png new file mode 100644 index 000000000000..19dc00a7cb05 Binary files /dev/null and b/graphics/pokemon/jolteon/back_gba.png differ diff --git a/graphics/pokemon/jolteon/icon_gba.png b/graphics/pokemon/jolteon/icon_gba.png new file mode 100644 index 000000000000..b98fd78b2779 Binary files /dev/null and b/graphics/pokemon/jolteon/icon_gba.png differ diff --git a/graphics/pokemon/jolteon/normal_gba.pal b/graphics/pokemon/jolteon/normal_gba.pal new file mode 100644 index 000000000000..87daf4781fec --- /dev/null +++ b/graphics/pokemon/jolteon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 131 +255 222 49 +213 189 49 +156 139 57 +106 82 32 +255 0 255 +189 49 49 +106 0 0 +255 0 255 +255 0 255 +222 222 230 +139 148 164 +98 98 98 +41 41 41 +255 255 255 diff --git a/graphics/pokemon/jolteon/shiny_gba.pal b/graphics/pokemon/jolteon/shiny_gba.pal new file mode 100644 index 000000000000..ece1425c3c40 --- /dev/null +++ b/graphics/pokemon/jolteon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +222 255 131 +197 238 32 +156 197 0 +123 164 0 +74 115 0 +255 0 255 +189 49 49 +106 0 0 +255 0 255 +255 0 255 +222 222 230 +139 148 164 +98 98 98 +41 41 41 +255 255 255 diff --git a/graphics/pokemon/jumpluff/anim_front_gba.png b/graphics/pokemon/jumpluff/anim_front_gba.png new file mode 100644 index 000000000000..dd79c45e3bb6 Binary files /dev/null and b/graphics/pokemon/jumpluff/anim_front_gba.png differ diff --git a/graphics/pokemon/jumpluff/back_gba.png b/graphics/pokemon/jumpluff/back_gba.png new file mode 100644 index 000000000000..1f822f850223 Binary files /dev/null and b/graphics/pokemon/jumpluff/back_gba.png differ diff --git a/graphics/pokemon/jumpluff/icon_gba.png b/graphics/pokemon/jumpluff/icon_gba.png new file mode 100644 index 000000000000..bf0cb64dedf4 Binary files /dev/null and b/graphics/pokemon/jumpluff/icon_gba.png differ diff --git a/graphics/pokemon/jumpluff/normal_gba.pal b/graphics/pokemon/jumpluff/normal_gba.pal new file mode 100644 index 000000000000..4221849766ce --- /dev/null +++ b/graphics/pokemon/jumpluff/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +98 65 8 +123 164 255 +90 131 213 +65 106 197 +57 82 148 +16 16 16 +255 255 222 +246 238 180 +238 222 148 +205 189 115 +156 139 82 +255 139 41 +213 65 0 +65 230 57 +49 156 49 diff --git a/graphics/pokemon/jumpluff/shiny_gba.pal b/graphics/pokemon/jumpluff/shiny_gba.pal new file mode 100644 index 000000000000..4885690b6645 --- /dev/null +++ b/graphics/pokemon/jumpluff/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +115 57 98 +255 205 172 +246 164 164 +222 123 156 +164 74 106 +16 16 16 +255 238 246 +246 213 238 +222 172 213 +205 139 172 +164 98 164 +255 139 41 +213 65 0 +65 230 57 +49 156 49 diff --git a/graphics/pokemon/jynx/anim_front_gba.png b/graphics/pokemon/jynx/anim_front_gba.png new file mode 100644 index 000000000000..db5d0d4c769b Binary files /dev/null and b/graphics/pokemon/jynx/anim_front_gba.png differ diff --git a/graphics/pokemon/jynx/back_gba.png b/graphics/pokemon/jynx/back_gba.png new file mode 100644 index 000000000000..5bb72fb10c25 Binary files /dev/null and b/graphics/pokemon/jynx/back_gba.png differ diff --git a/graphics/pokemon/jynx/icon_gba.png b/graphics/pokemon/jynx/icon_gba.png new file mode 100644 index 000000000000..431b6bf194ff Binary files /dev/null and b/graphics/pokemon/jynx/icon_gba.png differ diff --git a/graphics/pokemon/jynx/normal_gba.pal b/graphics/pokemon/jynx/normal_gba.pal new file mode 100644 index 000000000000..ac1da75970f1 --- /dev/null +++ b/graphics/pokemon/jynx/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +213 213 213 +98 98 115 +213 139 238 +172 106 197 +148 74 172 +255 197 148 +238 123 82 +197 65 24 +115 16 0 +255 246 172 +255 222 106 +213 156 49 +131 65 0 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/jynx/shiny_gba.pal b/graphics/pokemon/jynx/shiny_gba.pal new file mode 100644 index 000000000000..b6838c13da8c --- /dev/null +++ b/graphics/pokemon/jynx/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +213 213 213 +98 98 115 +213 139 238 +172 106 197 +148 74 172 +255 172 230 +255 131 189 +213 90 148 +148 24 82 +255 230 222 +213 189 180 +172 148 139 +115 90 82 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/kabuto/anim_front_gba.png b/graphics/pokemon/kabuto/anim_front_gba.png new file mode 100644 index 000000000000..101560ce664a Binary files /dev/null and b/graphics/pokemon/kabuto/anim_front_gba.png differ diff --git a/graphics/pokemon/kabuto/back_gba.png b/graphics/pokemon/kabuto/back_gba.png new file mode 100644 index 000000000000..9664ead41a7f Binary files /dev/null and b/graphics/pokemon/kabuto/back_gba.png differ diff --git a/graphics/pokemon/kabuto/icon_gba.png b/graphics/pokemon/kabuto/icon_gba.png new file mode 100644 index 000000000000..c0a1407228a7 Binary files /dev/null and b/graphics/pokemon/kabuto/icon_gba.png differ diff --git a/graphics/pokemon/kabuto/normal_gba.pal b/graphics/pokemon/kabuto/normal_gba.pal new file mode 100644 index 000000000000..285bae040074 --- /dev/null +++ b/graphics/pokemon/kabuto/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +180 180 180 +255 172 164 +238 74 65 +255 0 255 +255 255 139 +255 213 49 +238 180 32 +164 106 0 +255 0 255 +213 164 65 +189 139 41 +156 106 8 +115 65 16 +16 16 16 diff --git a/graphics/pokemon/kabuto/shiny_gba.pal b/graphics/pokemon/kabuto/shiny_gba.pal new file mode 100644 index 000000000000..8e3eaad12f4c --- /dev/null +++ b/graphics/pokemon/kabuto/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +180 180 180 +255 172 164 +238 74 65 +255 0 255 +255 255 139 +255 213 49 +238 180 32 +164 106 0 +255 0 255 +180 230 74 +156 205 57 +115 164 32 +82 123 16 +16 16 16 diff --git a/graphics/pokemon/kabutops/anim_front_gba.png b/graphics/pokemon/kabutops/anim_front_gba.png new file mode 100644 index 000000000000..b1e26e88419e Binary files /dev/null and b/graphics/pokemon/kabutops/anim_front_gba.png differ diff --git a/graphics/pokemon/kabutops/back_gba.png b/graphics/pokemon/kabutops/back_gba.png new file mode 100644 index 000000000000..e1aab4de24fd Binary files /dev/null and b/graphics/pokemon/kabutops/back_gba.png differ diff --git a/graphics/pokemon/kabutops/icon_gba.png b/graphics/pokemon/kabutops/icon_gba.png new file mode 100644 index 000000000000..1c23836e5264 Binary files /dev/null and b/graphics/pokemon/kabutops/icon_gba.png differ diff --git a/graphics/pokemon/kabutops/normal_gba.pal b/graphics/pokemon/kabutops/normal_gba.pal new file mode 100644 index 000000000000..09a61f8e64da --- /dev/null +++ b/graphics/pokemon/kabutops/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +222 222 213 +189 189 180 +156 156 148 +106 106 106 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 230 172 +222 197 139 +180 156 98 +106 90 32 +16 16 16 diff --git a/graphics/pokemon/kabutops/shiny_gba.pal b/graphics/pokemon/kabutops/shiny_gba.pal new file mode 100644 index 000000000000..9217ab55db5c --- /dev/null +++ b/graphics/pokemon/kabutops/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +222 222 213 +189 189 180 +156 156 148 +106 106 106 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +222 255 90 +189 222 74 +148 180 41 +82 115 0 +16 16 16 diff --git a/graphics/pokemon/kadabra/anim_front_gba.png b/graphics/pokemon/kadabra/anim_front_gba.png new file mode 100644 index 000000000000..cabd2589f587 Binary files /dev/null and b/graphics/pokemon/kadabra/anim_front_gba.png differ diff --git a/graphics/pokemon/kadabra/back_gba.png b/graphics/pokemon/kadabra/back_gba.png new file mode 100644 index 000000000000..703f4afcc9d0 Binary files /dev/null and b/graphics/pokemon/kadabra/back_gba.png differ diff --git a/graphics/pokemon/kadabra/icon_gba.png b/graphics/pokemon/kadabra/icon_gba.png new file mode 100644 index 000000000000..8653f7524169 Binary files /dev/null and b/graphics/pokemon/kadabra/icon_gba.png differ diff --git a/graphics/pokemon/kadabra/normal_gba.pal b/graphics/pokemon/kadabra/normal_gba.pal new file mode 100644 index 000000000000..0e561d4e6f35 --- /dev/null +++ b/graphics/pokemon/kadabra/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +90 90 90 +246 139 139 +246 65 49 +213 180 82 +172 131 41 +139 98 16 +98 49 0 +222 222 222 +180 180 180 +255 255 123 +255 238 41 +213 180 0 +139 98 0 +16 16 16 diff --git a/graphics/pokemon/kadabra/overworldf.png b/graphics/pokemon/kadabra/overworldf.png new file mode 100644 index 000000000000..6ddb321401d6 Binary files /dev/null and b/graphics/pokemon/kadabra/overworldf.png differ diff --git a/graphics/pokemon/kadabra/shiny_gba.pal b/graphics/pokemon/kadabra/shiny_gba.pal new file mode 100644 index 000000000000..e722cc8faaa1 --- /dev/null +++ b/graphics/pokemon/kadabra/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +90 90 90 +246 139 139 +246 65 49 +222 180 180 +180 139 139 +139 98 98 +90 49 49 +222 222 222 +180 180 180 +255 255 164 +255 238 123 +230 197 82 +123 98 0 +16 16 16 diff --git a/graphics/pokemon/kakuna/anim_front_gba.png b/graphics/pokemon/kakuna/anim_front_gba.png new file mode 100644 index 000000000000..5b7914f46ff6 Binary files /dev/null and b/graphics/pokemon/kakuna/anim_front_gba.png differ diff --git a/graphics/pokemon/kakuna/back_gba.png b/graphics/pokemon/kakuna/back_gba.png new file mode 100644 index 000000000000..2f5455238f55 Binary files /dev/null and b/graphics/pokemon/kakuna/back_gba.png differ diff --git a/graphics/pokemon/kakuna/icon_gba.png b/graphics/pokemon/kakuna/icon_gba.png new file mode 100644 index 000000000000..1c857d4429af Binary files /dev/null and b/graphics/pokemon/kakuna/icon_gba.png differ diff --git a/graphics/pokemon/kakuna/normal_gba.pal b/graphics/pokemon/kakuna/normal_gba.pal new file mode 100644 index 000000000000..b14a68968978 --- /dev/null +++ b/graphics/pokemon/kakuna/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 230 156 +255 213 106 +230 172 90 +180 123 0 +139 90 0 +255 0 255 +255 0 255 +255 0 255 +106 106 106 +57 57 57 +16 16 16 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/pokemon/kakuna/shiny_gba.pal b/graphics/pokemon/kakuna/shiny_gba.pal new file mode 100644 index 000000000000..0a45b029a36a --- /dev/null +++ b/graphics/pokemon/kakuna/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 238 90 +197 230 49 +156 189 8 +115 148 0 +74 106 0 +255 0 255 +255 0 255 +255 0 255 +106 106 106 +57 57 57 +16 16 16 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/pokemon/kangaskhan/anim_front_gba.png b/graphics/pokemon/kangaskhan/anim_front_gba.png new file mode 100644 index 000000000000..ec534bcb6953 Binary files /dev/null and b/graphics/pokemon/kangaskhan/anim_front_gba.png differ diff --git a/graphics/pokemon/kangaskhan/back_gba.png b/graphics/pokemon/kangaskhan/back_gba.png new file mode 100644 index 000000000000..babb41fce638 Binary files /dev/null and b/graphics/pokemon/kangaskhan/back_gba.png differ diff --git a/graphics/pokemon/kangaskhan/icon_gba.png b/graphics/pokemon/kangaskhan/icon_gba.png new file mode 100644 index 000000000000..177a688cd1ba Binary files /dev/null and b/graphics/pokemon/kangaskhan/icon_gba.png differ diff --git a/graphics/pokemon/kangaskhan/normal_gba.pal b/graphics/pokemon/kangaskhan/normal_gba.pal new file mode 100644 index 000000000000..2dca5ca1aeb7 --- /dev/null +++ b/graphics/pokemon/kangaskhan/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +255 255 148 +238 205 106 +189 24 24 +16 16 16 +222 180 213 +148 106 139 +164 172 123 +139 148 98 +106 106 82 +213 189 131 +189 164 106 +156 123 65 +82 65 16 diff --git a/graphics/pokemon/kangaskhan/shiny_gba.pal b/graphics/pokemon/kangaskhan/shiny_gba.pal new file mode 100644 index 000000000000..3580f7e9d10c --- /dev/null +++ b/graphics/pokemon/kangaskhan/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +255 255 148 +238 205 106 +189 24 24 +16 16 16 +238 205 180 +189 156 139 +139 156 82 +98 115 41 +57 74 0 +255 246 205 +213 205 164 +172 164 123 +98 90 49 diff --git a/graphics/pokemon/kecleon/anim_front_gba.png b/graphics/pokemon/kecleon/anim_front_gba.png new file mode 100644 index 000000000000..33d577e3e3ba Binary files /dev/null and b/graphics/pokemon/kecleon/anim_front_gba.png differ diff --git a/graphics/pokemon/kecleon/back_gba.png b/graphics/pokemon/kecleon/back_gba.png new file mode 100644 index 000000000000..1baeeb58a3e0 Binary files /dev/null and b/graphics/pokemon/kecleon/back_gba.png differ diff --git a/graphics/pokemon/kecleon/icon_gba.png b/graphics/pokemon/kecleon/icon_gba.png new file mode 100644 index 000000000000..98b108fd93c9 Binary files /dev/null and b/graphics/pokemon/kecleon/icon_gba.png differ diff --git a/graphics/pokemon/kecleon/normal_gba.pal b/graphics/pokemon/kecleon/normal_gba.pal new file mode 100644 index 000000000000..36d6be7d7a61 --- /dev/null +++ b/graphics/pokemon/kecleon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 255 255 +65 98 65 +82 139 90 +98 180 131 +123 213 139 +164 238 156 +255 255 255 +139 74 57 +189 90 65 +238 106 74 +197 172 74 +222 197 90 +246 238 123 +139 123 90 +172 197 123 +0 0 0 diff --git a/graphics/pokemon/kecleon/shiny_gba.pal b/graphics/pokemon/kecleon/shiny_gba.pal new file mode 100644 index 000000000000..e056b670f84a --- /dev/null +++ b/graphics/pokemon/kecleon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 255 255 +65 98 65 +82 139 90 +98 180 131 +123 213 139 +164 238 156 +255 255 255 +49 131 197 +90 172 230 +123 197 255 +238 156 74 +255 180 74 +255 255 180 +139 123 90 +172 197 123 +0 0 0 diff --git a/graphics/pokemon/kingdra/anim_front_gba.png b/graphics/pokemon/kingdra/anim_front_gba.png new file mode 100644 index 000000000000..b51448e0a1ba Binary files /dev/null and b/graphics/pokemon/kingdra/anim_front_gba.png differ diff --git a/graphics/pokemon/kingdra/back_gba.png b/graphics/pokemon/kingdra/back_gba.png new file mode 100644 index 000000000000..3e6ec7789ad2 Binary files /dev/null and b/graphics/pokemon/kingdra/back_gba.png differ diff --git a/graphics/pokemon/kingdra/icon_gba.png b/graphics/pokemon/kingdra/icon_gba.png new file mode 100644 index 000000000000..c0fb5484af48 Binary files /dev/null and b/graphics/pokemon/kingdra/icon_gba.png differ diff --git a/graphics/pokemon/kingdra/normal_gba.pal b/graphics/pokemon/kingdra/normal_gba.pal new file mode 100644 index 000000000000..9dcb7ab8516f --- /dev/null +++ b/graphics/pokemon/kingdra/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 222 246 +156 189 246 +74 156 189 +74 74 131 +255 0 255 +246 106 82 +189 57 49 +255 255 156 +246 230 74 +230 172 57 +172 106 0 +213 213 213 +123 123 123 +16 16 16 diff --git a/graphics/pokemon/kingdra/shiny_gba.pal b/graphics/pokemon/kingdra/shiny_gba.pal new file mode 100644 index 000000000000..c45869283622 --- /dev/null +++ b/graphics/pokemon/kingdra/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 197 238 +213 172 230 +156 115 180 +106 65 123 +255 0 255 +131 205 24 +82 156 24 +255 255 156 +246 230 74 +230 172 57 +172 106 0 +213 213 213 +123 123 123 +16 16 16 diff --git a/graphics/pokemon/kingler/anim_front_gba.png b/graphics/pokemon/kingler/anim_front_gba.png new file mode 100644 index 000000000000..fbcafec0396e Binary files /dev/null and b/graphics/pokemon/kingler/anim_front_gba.png differ diff --git a/graphics/pokemon/kingler/back_gba.png b/graphics/pokemon/kingler/back_gba.png new file mode 100644 index 000000000000..11338630f362 Binary files /dev/null and b/graphics/pokemon/kingler/back_gba.png differ diff --git a/graphics/pokemon/kingler/gigantamax/back.png b/graphics/pokemon/kingler/gmax/back.png similarity index 100% rename from graphics/pokemon/kingler/gigantamax/back.png rename to graphics/pokemon/kingler/gmax/back.png diff --git a/graphics/pokemon/kingler/gigantamax/front.png b/graphics/pokemon/kingler/gmax/front.png similarity index 100% rename from graphics/pokemon/kingler/gigantamax/front.png rename to graphics/pokemon/kingler/gmax/front.png diff --git a/graphics/pokemon/kingler/gigantamax/icon.png b/graphics/pokemon/kingler/gmax/icon.png similarity index 100% rename from graphics/pokemon/kingler/gigantamax/icon.png rename to graphics/pokemon/kingler/gmax/icon.png diff --git a/graphics/pokemon/kingler/gigantamax/normal.pal b/graphics/pokemon/kingler/gmax/normal.pal similarity index 100% rename from graphics/pokemon/kingler/gigantamax/normal.pal rename to graphics/pokemon/kingler/gmax/normal.pal diff --git a/graphics/pokemon/kingler/gigantamax/shiny.pal b/graphics/pokemon/kingler/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/kingler/gigantamax/shiny.pal rename to graphics/pokemon/kingler/gmax/shiny.pal diff --git a/graphics/pokemon/kingler/icon_gba.png b/graphics/pokemon/kingler/icon_gba.png new file mode 100644 index 000000000000..dbf1af284c97 Binary files /dev/null and b/graphics/pokemon/kingler/icon_gba.png differ diff --git a/graphics/pokemon/kingler/normal_gba.pal b/graphics/pokemon/kingler/normal_gba.pal new file mode 100644 index 000000000000..15450f55cfeb --- /dev/null +++ b/graphics/pokemon/kingler/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +246 197 139 +238 139 74 +197 106 57 +131 65 24 +246 238 164 +222 197 106 +164 139 65 +115 82 16 +255 16 255 +255 16 255 +255 16 255 +255 16 255 +222 222 246 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/kingler/shiny_gba.pal b/graphics/pokemon/kingler/shiny_gba.pal new file mode 100644 index 000000000000..a472da12583b --- /dev/null +++ b/graphics/pokemon/kingler/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +180 189 123 +139 148 82 +98 106 41 +57 65 41 +246 238 164 +197 189 32 +156 148 0 +115 106 0 +255 16 255 +255 16 255 +255 16 255 +255 16 255 +222 222 246 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/kirlia/anim_front_gba.png b/graphics/pokemon/kirlia/anim_front_gba.png new file mode 100644 index 000000000000..eb8560d98c7a Binary files /dev/null and b/graphics/pokemon/kirlia/anim_front_gba.png differ diff --git a/graphics/pokemon/kirlia/back_gba.png b/graphics/pokemon/kirlia/back_gba.png new file mode 100644 index 000000000000..5820cd0688f6 Binary files /dev/null and b/graphics/pokemon/kirlia/back_gba.png differ diff --git a/graphics/pokemon/kirlia/icon_gba.png b/graphics/pokemon/kirlia/icon_gba.png new file mode 100644 index 000000000000..b99dfee25723 Binary files /dev/null and b/graphics/pokemon/kirlia/icon_gba.png differ diff --git a/graphics/pokemon/kirlia/normal_gba.pal b/graphics/pokemon/kirlia/normal_gba.pal new file mode 100644 index 000000000000..91b428af2df3 --- /dev/null +++ b/graphics/pokemon/kirlia/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 164 82 +238 238 255 +197 205 222 +164 180 205 +131 148 180 +123 82 82 +115 41 57 +255 156 131 +230 82 57 +106 123 148 +255 255 255 +205 255 172 +148 230 148 +115 189 115 +49 123 74 +16 16 16 diff --git a/graphics/pokemon/kirlia/shiny_gba.pal b/graphics/pokemon/kirlia/shiny_gba.pal new file mode 100644 index 000000000000..ff944e5516e2 --- /dev/null +++ b/graphics/pokemon/kirlia/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 164 82 +238 238 255 +213 189 222 +180 164 205 +156 131 180 +123 82 82 +115 41 57 +255 197 90 +230 131 32 +106 123 148 +197 238 246 +189 230 255 +123 197 238 +82 172 213 +32 115 123 +16 16 16 diff --git a/graphics/pokemon/koffing/anim_front_gba.png b/graphics/pokemon/koffing/anim_front_gba.png new file mode 100644 index 000000000000..430dcfdfb41b Binary files /dev/null and b/graphics/pokemon/koffing/anim_front_gba.png differ diff --git a/graphics/pokemon/koffing/back_gba.png b/graphics/pokemon/koffing/back_gba.png new file mode 100644 index 000000000000..a76b27fae698 Binary files /dev/null and b/graphics/pokemon/koffing/back_gba.png differ diff --git a/graphics/pokemon/koffing/icon_gba.png b/graphics/pokemon/koffing/icon_gba.png new file mode 100644 index 000000000000..683df2b859be Binary files /dev/null and b/graphics/pokemon/koffing/icon_gba.png differ diff --git a/graphics/pokemon/koffing/normal_gba.pal b/graphics/pokemon/koffing/normal_gba.pal new file mode 100644 index 000000000000..7b248a340b99 --- /dev/null +++ b/graphics/pokemon/koffing/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +222 222 222 +246 238 148 +213 205 106 +255 98 74 +213 57 32 +255 0 255 +255 0 255 +238 213 106 +197 180 41 +222 156 213 +189 123 180 +148 82 139 +90 41 82 +16 16 16 diff --git a/graphics/pokemon/koffing/shiny_gba.pal b/graphics/pokemon/koffing/shiny_gba.pal new file mode 100644 index 000000000000..bcea2e929e39 --- /dev/null +++ b/graphics/pokemon/koffing/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +222 222 222 +246 238 148 +213 205 106 +255 98 74 +213 57 32 +255 0 255 +255 0 255 +180 106 164 +139 65 123 +189 230 230 +148 189 189 +106 148 148 +41 82 82 +16 16 16 diff --git a/graphics/pokemon/krabby/anim_front_gba.png b/graphics/pokemon/krabby/anim_front_gba.png new file mode 100644 index 000000000000..b7f5b3b77095 Binary files /dev/null and b/graphics/pokemon/krabby/anim_front_gba.png differ diff --git a/graphics/pokemon/krabby/back_gba.png b/graphics/pokemon/krabby/back_gba.png new file mode 100644 index 000000000000..d0501e77af26 Binary files /dev/null and b/graphics/pokemon/krabby/back_gba.png differ diff --git a/graphics/pokemon/krabby/icon_gba.png b/graphics/pokemon/krabby/icon_gba.png new file mode 100644 index 000000000000..f9fdaa6d5f8b Binary files /dev/null and b/graphics/pokemon/krabby/icon_gba.png differ diff --git a/graphics/pokemon/krabby/normal_gba.pal b/graphics/pokemon/krabby/normal_gba.pal new file mode 100644 index 000000000000..2255b2970a31 --- /dev/null +++ b/graphics/pokemon/krabby/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 197 +255 255 255 +222 222 222 +255 0 255 +246 238 164 +222 197 106 +164 139 65 +115 82 16 +255 0 255 +255 0 255 +255 0 255 +255 164 98 +246 123 57 +222 98 32 +180 49 16 +16 16 16 diff --git a/graphics/pokemon/krabby/shiny_gba.pal b/graphics/pokemon/krabby/shiny_gba.pal new file mode 100644 index 000000000000..d1318f36c402 --- /dev/null +++ b/graphics/pokemon/krabby/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 197 +255 255 255 +222 222 222 +255 0 255 +255 246 205 +222 205 164 +180 164 123 +115 98 57 +255 0 255 +255 0 255 +255 0 255 +255 222 74 +213 180 32 +172 139 0 +131 98 0 +16 16 16 diff --git a/graphics/pokemon/kricketot/overworldf.png b/graphics/pokemon/kricketot/overworldf.png new file mode 100644 index 000000000000..703b898276ee Binary files /dev/null and b/graphics/pokemon/kricketot/overworldf.png differ diff --git a/graphics/pokemon/kricketune/overworldf.png b/graphics/pokemon/kricketune/overworldf.png new file mode 100644 index 000000000000..fcb57067b054 Binary files /dev/null and b/graphics/pokemon/kricketune/overworldf.png differ diff --git a/graphics/pokemon/kyogre/anim_front_gba.png b/graphics/pokemon/kyogre/anim_front_gba.png new file mode 100644 index 000000000000..780f87052bcb Binary files /dev/null and b/graphics/pokemon/kyogre/anim_front_gba.png differ diff --git a/graphics/pokemon/kyogre/back_gba.png b/graphics/pokemon/kyogre/back_gba.png new file mode 100644 index 000000000000..d0c4f55c1198 Binary files /dev/null and b/graphics/pokemon/kyogre/back_gba.png differ diff --git a/graphics/pokemon/kyogre/icon_gba.png b/graphics/pokemon/kyogre/icon_gba.png new file mode 100644 index 000000000000..544ed9daf96a Binary files /dev/null and b/graphics/pokemon/kyogre/icon_gba.png differ diff --git a/graphics/pokemon/kyogre/normal_gba.pal b/graphics/pokemon/kyogre/normal_gba.pal new file mode 100644 index 000000000000..d598595cb604 --- /dev/null +++ b/graphics/pokemon/kyogre/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 205 49 +205 189 205 +156 139 148 +90 82 106 +41 82 148 +115 41 57 +255 8 16 +189 32 41 +131 205 255 +222 222 222 +90 164 255 +74 131 213 +57 98 180 +49 57 115 +16 16 16 diff --git a/graphics/pokemon/kyogre/shiny_gba.pal b/graphics/pokemon/kyogre/shiny_gba.pal new file mode 100644 index 000000000000..392162401aaa --- /dev/null +++ b/graphics/pokemon/kyogre/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 205 49 +222 205 222 +156 139 148 +90 82 106 +164 24 156 +115 41 57 +255 8 16 +189 32 41 +255 156 255 +246 246 246 +255 123 255 +230 90 222 +197 57 189 +131 0 123 +16 16 16 diff --git a/graphics/pokemon/lairon/anim_front_gba.png b/graphics/pokemon/lairon/anim_front_gba.png new file mode 100644 index 000000000000..744680a2b76e Binary files /dev/null and b/graphics/pokemon/lairon/anim_front_gba.png differ diff --git a/graphics/pokemon/lairon/back_gba.png b/graphics/pokemon/lairon/back_gba.png new file mode 100644 index 000000000000..552c013561ed Binary files /dev/null and b/graphics/pokemon/lairon/back_gba.png differ diff --git a/graphics/pokemon/lairon/icon_gba.png b/graphics/pokemon/lairon/icon_gba.png new file mode 100644 index 000000000000..6d450b08da58 Binary files /dev/null and b/graphics/pokemon/lairon/icon_gba.png differ diff --git a/graphics/pokemon/lairon/normal_gba.pal b/graphics/pokemon/lairon/normal_gba.pal new file mode 100644 index 000000000000..b5711fdada1a --- /dev/null +++ b/graphics/pokemon/lairon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 172 156 +74 74 65 +106 106 106 +139 139 139 +172 172 172 +57 57 65 +123 106 106 +156 139 139 +189 172 172 +222 205 205 +255 255 255 +172 57 74 +222 106 106 +255 131 131 +106 189 255 +0 0 0 diff --git a/graphics/pokemon/lairon/shiny_gba.pal b/graphics/pokemon/lairon/shiny_gba.pal new file mode 100644 index 000000000000..eadb9aa81e74 --- /dev/null +++ b/graphics/pokemon/lairon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 172 156 +32 90 90 +65 123 115 +90 156 148 +148 197 205 +74 41 24 +123 123 90 +156 156 123 +189 189 156 +222 222 197 +255 255 255 +172 57 74 +222 106 106 +255 131 131 +255 123 82 +0 0 0 diff --git a/graphics/pokemon/lanturn/anim_front_gba.png b/graphics/pokemon/lanturn/anim_front_gba.png new file mode 100644 index 000000000000..8d74b75fc0b4 Binary files /dev/null and b/graphics/pokemon/lanturn/anim_front_gba.png differ diff --git a/graphics/pokemon/lanturn/back_gba.png b/graphics/pokemon/lanturn/back_gba.png new file mode 100644 index 000000000000..1b9543d639cf Binary files /dev/null and b/graphics/pokemon/lanturn/back_gba.png differ diff --git a/graphics/pokemon/lanturn/icon_gba.png b/graphics/pokemon/lanturn/icon_gba.png new file mode 100644 index 000000000000..d2b3d4348022 Binary files /dev/null and b/graphics/pokemon/lanturn/icon_gba.png differ diff --git a/graphics/pokemon/lanturn/normal_gba.pal b/graphics/pokemon/lanturn/normal_gba.pal new file mode 100644 index 000000000000..7baa22c6e65b --- /dev/null +++ b/graphics/pokemon/lanturn/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +172 172 172 +164 205 255 +139 172 255 +98 139 230 +57 106 205 +0 82 139 +255 238 123 +255 230 82 +213 180 90 +180 139 57 +131 82 8 +16 16 16 +255 115 0 +180 0 0 diff --git a/graphics/pokemon/lanturn/shiny_gba.pal b/graphics/pokemon/lanturn/shiny_gba.pal new file mode 100644 index 000000000000..70360c0296cb --- /dev/null +++ b/graphics/pokemon/lanturn/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +172 172 172 +230 156 255 +205 131 246 +164 98 222 +131 65 197 +106 41 139 +255 255 106 +238 238 65 +180 180 41 +139 139 8 +90 90 8 +16 16 16 +255 115 0 +205 49 0 diff --git a/graphics/pokemon/lapras/anim_front_gba.png b/graphics/pokemon/lapras/anim_front_gba.png new file mode 100644 index 000000000000..1124f14aa336 Binary files /dev/null and b/graphics/pokemon/lapras/anim_front_gba.png differ diff --git a/graphics/pokemon/lapras/back_gba.png b/graphics/pokemon/lapras/back_gba.png new file mode 100644 index 000000000000..3b5a18f17c2e Binary files /dev/null and b/graphics/pokemon/lapras/back_gba.png differ diff --git a/graphics/pokemon/lapras/gigantamax/back.png b/graphics/pokemon/lapras/gmax/back.png similarity index 100% rename from graphics/pokemon/lapras/gigantamax/back.png rename to graphics/pokemon/lapras/gmax/back.png diff --git a/graphics/pokemon/lapras/gigantamax/front.png b/graphics/pokemon/lapras/gmax/front.png similarity index 100% rename from graphics/pokemon/lapras/gigantamax/front.png rename to graphics/pokemon/lapras/gmax/front.png diff --git a/graphics/pokemon/lapras/gigantamax/icon.png b/graphics/pokemon/lapras/gmax/icon.png similarity index 100% rename from graphics/pokemon/lapras/gigantamax/icon.png rename to graphics/pokemon/lapras/gmax/icon.png diff --git a/graphics/pokemon/lapras/gigantamax/normal.pal b/graphics/pokemon/lapras/gmax/normal.pal similarity index 100% rename from graphics/pokemon/lapras/gigantamax/normal.pal rename to graphics/pokemon/lapras/gmax/normal.pal diff --git a/graphics/pokemon/lapras/gigantamax/shiny.pal b/graphics/pokemon/lapras/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/lapras/gigantamax/shiny.pal rename to graphics/pokemon/lapras/gmax/shiny.pal diff --git a/graphics/pokemon/lapras/icon_gba.png b/graphics/pokemon/lapras/icon_gba.png new file mode 100644 index 000000000000..fa8035adacef Binary files /dev/null and b/graphics/pokemon/lapras/icon_gba.png differ diff --git a/graphics/pokemon/lapras/normal_gba.pal b/graphics/pokemon/lapras/normal_gba.pal new file mode 100644 index 000000000000..0426c24deb2a --- /dev/null +++ b/graphics/pokemon/lapras/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +230 90 41 +164 0 0 +255 238 148 +230 197 106 +131 106 49 +238 222 213 +213 197 189 +164 148 139 +98 82 90 +197 222 246 +156 189 230 +115 148 205 +57 82 115 +41 41 41 diff --git a/graphics/pokemon/lapras/shiny_gba.pal b/graphics/pokemon/lapras/shiny_gba.pal new file mode 100644 index 000000000000..5090527aa2fe --- /dev/null +++ b/graphics/pokemon/lapras/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +230 90 41 +164 0 0 +238 205 213 +222 172 180 +139 82 106 +238 222 213 +213 197 189 +164 148 139 +98 82 90 +205 189 246 +172 156 230 +131 98 189 +82 65 139 +41 41 41 diff --git a/graphics/pokemon/larvitar/anim_front_gba.png b/graphics/pokemon/larvitar/anim_front_gba.png new file mode 100644 index 000000000000..4aa28027b70a Binary files /dev/null and b/graphics/pokemon/larvitar/anim_front_gba.png differ diff --git a/graphics/pokemon/larvitar/back_gba.png b/graphics/pokemon/larvitar/back_gba.png new file mode 100644 index 000000000000..1c28da425ff9 Binary files /dev/null and b/graphics/pokemon/larvitar/back_gba.png differ diff --git a/graphics/pokemon/larvitar/icon_gba.png b/graphics/pokemon/larvitar/icon_gba.png new file mode 100644 index 000000000000..85a5504c348e Binary files /dev/null and b/graphics/pokemon/larvitar/icon_gba.png differ diff --git a/graphics/pokemon/larvitar/normal_gba.pal b/graphics/pokemon/larvitar/normal_gba.pal new file mode 100644 index 000000000000..3bcc1f133596 --- /dev/null +++ b/graphics/pokemon/larvitar/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +197 238 197 +180 222 180 +123 172 123 +74 98 74 +255 0 255 +255 164 90 +238 82 41 +189 57 32 +106 32 0 +255 0 255 +255 0 255 +197 197 197 +98 98 98 +16 16 16 diff --git a/graphics/pokemon/larvitar/shiny_gba.pal b/graphics/pokemon/larvitar/shiny_gba.pal new file mode 100644 index 000000000000..aa6a59c36540 --- /dev/null +++ b/graphics/pokemon/larvitar/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 246 82 +205 222 74 +156 172 41 +90 115 0 +255 0 255 +230 156 172 +189 98 131 +148 57 98 +90 41 65 +255 0 255 +255 0 255 +197 197 197 +98 98 98 +16 16 16 diff --git a/graphics/pokemon/latias/anim_front_gba.png b/graphics/pokemon/latias/anim_front_gba.png new file mode 100644 index 000000000000..63f4a1d1f7a4 Binary files /dev/null and b/graphics/pokemon/latias/anim_front_gba.png differ diff --git a/graphics/pokemon/latias/back_gba.png b/graphics/pokemon/latias/back_gba.png new file mode 100644 index 000000000000..a4286579b9d8 Binary files /dev/null and b/graphics/pokemon/latias/back_gba.png differ diff --git a/graphics/pokemon/latias/icon_gba.png b/graphics/pokemon/latias/icon_gba.png new file mode 100644 index 000000000000..1727c0af6370 Binary files /dev/null and b/graphics/pokemon/latias/icon_gba.png differ diff --git a/graphics/pokemon/latias/normal_gba.pal b/graphics/pokemon/latias/normal_gba.pal new file mode 100644 index 000000000000..6f831271fde6 --- /dev/null +++ b/graphics/pokemon/latias/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +238 238 255 +213 213 238 +172 164 205 +123 115 148 +255 205 90 +205 164 74 +115 172 238 +90 106 180 +255 164 115 +255 255 255 +255 106 106 +222 90 90 +205 74 82 +139 49 65 +16 16 16 diff --git a/graphics/pokemon/latias/shiny_gba.pal b/graphics/pokemon/latias/shiny_gba.pal new file mode 100644 index 000000000000..a701dc933b75 --- /dev/null +++ b/graphics/pokemon/latias/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +238 238 255 +213 213 238 +172 164 205 +123 115 148 +131 246 65 +49 123 24 +115 189 255 +90 139 180 +255 255 90 +255 255 255 +255 205 41 +238 172 0 +238 131 0 +189 57 0 +16 16 16 diff --git a/graphics/pokemon/latios/anim_front_gba.png b/graphics/pokemon/latios/anim_front_gba.png new file mode 100644 index 000000000000..330bf8e4cb2d Binary files /dev/null and b/graphics/pokemon/latios/anim_front_gba.png differ diff --git a/graphics/pokemon/latios/back_gba.png b/graphics/pokemon/latios/back_gba.png new file mode 100644 index 000000000000..0f2b7f5d6eb4 Binary files /dev/null and b/graphics/pokemon/latios/back_gba.png differ diff --git a/graphics/pokemon/latios/icon_gba.png b/graphics/pokemon/latios/icon_gba.png new file mode 100644 index 000000000000..10a23ad470a9 Binary files /dev/null and b/graphics/pokemon/latios/icon_gba.png differ diff --git a/graphics/pokemon/latios/normal_gba.pal b/graphics/pokemon/latios/normal_gba.pal new file mode 100644 index 000000000000..6a3d8beade74 --- /dev/null +++ b/graphics/pokemon/latios/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +205 205 205 +172 172 172 +148 139 148 +115 106 115 +222 222 222 +131 74 74 +255 106 106 +213 74 82 +156 205 255 +255 255 255 +90 164 255 +74 131 213 +57 98 180 +49 57 115 +16 16 16 diff --git a/graphics/pokemon/latios/shiny_gba.pal b/graphics/pokemon/latios/shiny_gba.pal new file mode 100644 index 000000000000..2b539fd9cc36 --- /dev/null +++ b/graphics/pokemon/latios/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +246 246 246 +213 213 213 +180 172 172 +148 139 148 +246 246 246 +180 82 0 +230 123 41 +255 164 65 +189 255 255 +255 255 255 +172 238 222 +74 205 164 +32 164 123 +0 98 65 +16 16 16 diff --git a/graphics/pokemon/ledian/anim_front_gba.png b/graphics/pokemon/ledian/anim_front_gba.png new file mode 100644 index 000000000000..91ac5a9f535b Binary files /dev/null and b/graphics/pokemon/ledian/anim_front_gba.png differ diff --git a/graphics/pokemon/ledian/back_gba.png b/graphics/pokemon/ledian/back_gba.png new file mode 100644 index 000000000000..577fd2d717f7 Binary files /dev/null and b/graphics/pokemon/ledian/back_gba.png differ diff --git a/graphics/pokemon/ledian/icon_gba.png b/graphics/pokemon/ledian/icon_gba.png new file mode 100644 index 000000000000..b82ef1306b21 Binary files /dev/null and b/graphics/pokemon/ledian/icon_gba.png differ diff --git a/graphics/pokemon/ledian/normal_gba.pal b/graphics/pokemon/ledian/normal_gba.pal new file mode 100644 index 000000000000..dc9acc426f65 --- /dev/null +++ b/graphics/pokemon/ledian/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 197 131 +255 90 32 +197 57 16 +131 49 16 +255 255 189 +246 230 115 +205 180 57 +164 123 0 +0 74 164 +0 24 115 +213 213 213 +180 180 180 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/ledian/overworldf.png b/graphics/pokemon/ledian/overworldf.png new file mode 100644 index 000000000000..61d46f847742 Binary files /dev/null and b/graphics/pokemon/ledian/overworldf.png differ diff --git a/graphics/pokemon/ledian/shiny_gba.pal b/graphics/pokemon/ledian/shiny_gba.pal new file mode 100644 index 000000000000..472f0974dc18 --- /dev/null +++ b/graphics/pokemon/ledian/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 222 41 +255 164 0 +205 123 0 +131 74 16 +255 255 205 +246 238 131 +205 189 74 +164 131 16 +0 74 164 +0 24 115 +213 213 213 +180 180 180 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/ledyba/anim_front_gba.png b/graphics/pokemon/ledyba/anim_front_gba.png new file mode 100644 index 000000000000..e58a15d7526d Binary files /dev/null and b/graphics/pokemon/ledyba/anim_front_gba.png differ diff --git a/graphics/pokemon/ledyba/back_gba.png b/graphics/pokemon/ledyba/back_gba.png new file mode 100644 index 000000000000..6a84f405dd71 Binary files /dev/null and b/graphics/pokemon/ledyba/back_gba.png differ diff --git a/graphics/pokemon/ledyba/icon_gba.png b/graphics/pokemon/ledyba/icon_gba.png new file mode 100644 index 000000000000..f417e2d74e59 Binary files /dev/null and b/graphics/pokemon/ledyba/icon_gba.png differ diff --git a/graphics/pokemon/ledyba/normal_gba.pal b/graphics/pokemon/ledyba/normal_gba.pal new file mode 100644 index 000000000000..2cc003adf04b --- /dev/null +++ b/graphics/pokemon/ledyba/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 156 49 +238 82 24 +180 65 41 +123 49 24 +255 255 189 +246 230 115 +205 180 57 +164 123 0 +0 74 164 +0 24 115 +205 205 205 +180 180 180 +115 115 115 +16 16 16 diff --git a/graphics/pokemon/ledyba/overworldf.png b/graphics/pokemon/ledyba/overworldf.png new file mode 100644 index 000000000000..a46f3549c646 Binary files /dev/null and b/graphics/pokemon/ledyba/overworldf.png differ diff --git a/graphics/pokemon/ledyba/shiny_gba.pal b/graphics/pokemon/ledyba/shiny_gba.pal new file mode 100644 index 000000000000..472f0974dc18 --- /dev/null +++ b/graphics/pokemon/ledyba/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 222 41 +255 164 0 +205 123 0 +131 74 16 +255 255 205 +246 238 131 +205 189 74 +164 131 16 +0 74 164 +0 24 115 +213 213 213 +180 180 180 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/lickitung/anim_front_gba.png b/graphics/pokemon/lickitung/anim_front_gba.png new file mode 100644 index 000000000000..c3dcbfd1a668 Binary files /dev/null and b/graphics/pokemon/lickitung/anim_front_gba.png differ diff --git a/graphics/pokemon/lickitung/back_gba.png b/graphics/pokemon/lickitung/back_gba.png new file mode 100644 index 000000000000..adf354eb3f5d Binary files /dev/null and b/graphics/pokemon/lickitung/back_gba.png differ diff --git a/graphics/pokemon/lickitung/icon_gba.png b/graphics/pokemon/lickitung/icon_gba.png new file mode 100644 index 000000000000..5b7804afa507 Binary files /dev/null and b/graphics/pokemon/lickitung/icon_gba.png differ diff --git a/graphics/pokemon/lickitung/normal_gba.pal b/graphics/pokemon/lickitung/normal_gba.pal new file mode 100644 index 000000000000..602ac2724fd3 --- /dev/null +++ b/graphics/pokemon/lickitung/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +255 255 164 +230 213 115 +131 123 32 +255 164 148 +255 131 82 +230 74 24 +197 32 16 +255 0 255 +255 205 180 +255 164 131 +238 106 82 +205 82 49 +148 16 0 +16 16 16 diff --git a/graphics/pokemon/lickitung/shiny_gba.pal b/graphics/pokemon/lickitung/shiny_gba.pal new file mode 100644 index 000000000000..d739ad9c1b02 --- /dev/null +++ b/graphics/pokemon/lickitung/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +255 255 164 +230 213 115 +131 123 32 +255 164 172 +255 123 131 +213 82 90 +172 41 49 +255 0 255 +255 255 148 +246 222 106 +205 180 65 +172 139 24 +131 90 0 +16 16 16 diff --git a/graphics/pokemon/lileep/anim_front_gba.png b/graphics/pokemon/lileep/anim_front_gba.png new file mode 100644 index 000000000000..a656d6fa63fb Binary files /dev/null and b/graphics/pokemon/lileep/anim_front_gba.png differ diff --git a/graphics/pokemon/lileep/back_gba.png b/graphics/pokemon/lileep/back_gba.png new file mode 100644 index 000000000000..75360209100d Binary files /dev/null and b/graphics/pokemon/lileep/back_gba.png differ diff --git a/graphics/pokemon/lileep/icon_gba.png b/graphics/pokemon/lileep/icon_gba.png new file mode 100644 index 000000000000..b875a53a733b Binary files /dev/null and b/graphics/pokemon/lileep/icon_gba.png differ diff --git a/graphics/pokemon/lileep/normal_gba.pal b/graphics/pokemon/lileep/normal_gba.pal new file mode 100644 index 000000000000..a739bf847bca --- /dev/null +++ b/graphics/pokemon/lileep/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 213 139 +230 164 222 +180 115 172 +139 65 123 +98 24 74 +255 172 106 +238 123 57 +189 98 16 +255 246 123 +255 222 41 +230 172 0 +213 213 213 +172 172 180 +115 115 115 +0 0 0 diff --git a/graphics/pokemon/lileep/shiny_gba.pal b/graphics/pokemon/lileep/shiny_gba.pal new file mode 100644 index 000000000000..6402a8688c02 --- /dev/null +++ b/graphics/pokemon/lileep/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 213 139 +148 238 205 +115 205 172 +82 172 139 +32 123 90 +255 172 106 +238 123 57 +189 98 16 +255 246 123 +255 222 41 +230 172 0 +213 213 213 +172 172 180 +115 115 115 +41 41 57 diff --git a/graphics/pokemon/lilligant/hisuian/back.png b/graphics/pokemon/lilligant/hisui/back.png similarity index 100% rename from graphics/pokemon/lilligant/hisuian/back.png rename to graphics/pokemon/lilligant/hisui/back.png diff --git a/graphics/pokemon/lilligant/hisuian/front.png b/graphics/pokemon/lilligant/hisui/front.png similarity index 100% rename from graphics/pokemon/lilligant/hisuian/front.png rename to graphics/pokemon/lilligant/hisui/front.png diff --git a/graphics/pokemon/lilligant/hisuian/icon.png b/graphics/pokemon/lilligant/hisui/icon.png similarity index 100% rename from graphics/pokemon/lilligant/hisuian/icon.png rename to graphics/pokemon/lilligant/hisui/icon.png diff --git a/graphics/pokemon/lilligant/hisuian/normal.pal b/graphics/pokemon/lilligant/hisui/normal.pal similarity index 100% rename from graphics/pokemon/lilligant/hisuian/normal.pal rename to graphics/pokemon/lilligant/hisui/normal.pal diff --git a/graphics/pokemon/lilligant/hisuian/overworld.png b/graphics/pokemon/lilligant/hisui/overworld.png similarity index 100% rename from graphics/pokemon/lilligant/hisuian/overworld.png rename to graphics/pokemon/lilligant/hisui/overworld.png diff --git a/graphics/pokemon/lilligant/hisuian/overworld_normal.pal b/graphics/pokemon/lilligant/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/lilligant/hisuian/overworld_normal.pal rename to graphics/pokemon/lilligant/hisui/overworld_normal.pal diff --git a/graphics/pokemon/lilligant/hisuian/overworld_shiny.pal b/graphics/pokemon/lilligant/hisui/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/lilligant/hisuian/overworld_shiny.pal rename to graphics/pokemon/lilligant/hisui/overworld_shiny.pal diff --git a/graphics/pokemon/lilligant/hisuian/shiny.pal b/graphics/pokemon/lilligant/hisui/shiny.pal similarity index 100% rename from graphics/pokemon/lilligant/hisuian/shiny.pal rename to graphics/pokemon/lilligant/hisui/shiny.pal diff --git a/graphics/pokemon/linoone/anim_front_gba.png b/graphics/pokemon/linoone/anim_front_gba.png new file mode 100644 index 000000000000..e95180de065b Binary files /dev/null and b/graphics/pokemon/linoone/anim_front_gba.png differ diff --git a/graphics/pokemon/linoone/back_gba.png b/graphics/pokemon/linoone/back_gba.png new file mode 100644 index 000000000000..9fc8fad388d3 Binary files /dev/null and b/graphics/pokemon/linoone/back_gba.png differ diff --git a/graphics/pokemon/linoone/galarian/back.png b/graphics/pokemon/linoone/galar/back.png similarity index 100% rename from graphics/pokemon/linoone/galarian/back.png rename to graphics/pokemon/linoone/galar/back.png diff --git a/graphics/pokemon/linoone/galarian/front.png b/graphics/pokemon/linoone/galar/front.png similarity index 100% rename from graphics/pokemon/linoone/galarian/front.png rename to graphics/pokemon/linoone/galar/front.png diff --git a/graphics/pokemon/linoone/galarian/icon.png b/graphics/pokemon/linoone/galar/icon.png similarity index 100% rename from graphics/pokemon/linoone/galarian/icon.png rename to graphics/pokemon/linoone/galar/icon.png diff --git a/graphics/pokemon/linoone/galarian/normal.pal b/graphics/pokemon/linoone/galar/normal.pal similarity index 100% rename from graphics/pokemon/linoone/galarian/normal.pal rename to graphics/pokemon/linoone/galar/normal.pal diff --git a/graphics/pokemon/linoone/galarian/overworld.png b/graphics/pokemon/linoone/galar/overworld.png similarity index 100% rename from graphics/pokemon/linoone/galarian/overworld.png rename to graphics/pokemon/linoone/galar/overworld.png diff --git a/graphics/pokemon/linoone/galarian/overworld_normal.pal b/graphics/pokemon/linoone/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/linoone/galarian/overworld_normal.pal rename to graphics/pokemon/linoone/galar/overworld_normal.pal diff --git a/graphics/pokemon/linoone/galarian/overworld_shiny.pal b/graphics/pokemon/linoone/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/linoone/galarian/overworld_shiny.pal rename to graphics/pokemon/linoone/galar/overworld_shiny.pal diff --git a/graphics/pokemon/linoone/galarian/shiny.pal b/graphics/pokemon/linoone/galar/shiny.pal similarity index 100% rename from graphics/pokemon/linoone/galarian/shiny.pal rename to graphics/pokemon/linoone/galar/shiny.pal diff --git a/graphics/pokemon/linoone/icon_gba.png b/graphics/pokemon/linoone/icon_gba.png new file mode 100644 index 000000000000..bf0ea0caca5d Binary files /dev/null and b/graphics/pokemon/linoone/icon_gba.png differ diff --git a/graphics/pokemon/linoone/normal_gba.pal b/graphics/pokemon/linoone/normal_gba.pal new file mode 100644 index 000000000000..368b6ac6f377 --- /dev/null +++ b/graphics/pokemon/linoone/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 172 115 +65 57 32 +139 98 65 +172 139 115 +205 172 139 +230 213 197 +0 0 0 +131 115 90 +197 180 148 +222 213 180 +255 246 246 +57 82 131 +123 139 222 +255 172 180 +255 197 205 +255 238 255 diff --git a/graphics/pokemon/linoone/shiny_gba.pal b/graphics/pokemon/linoone/shiny_gba.pal new file mode 100644 index 000000000000..7988bb21cd88 --- /dev/null +++ b/graphics/pokemon/linoone/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 172 115 +65 57 32 +197 98 65 +222 131 74 +238 164 74 +255 238 197 +0 0 0 +131 115 90 +197 180 148 +222 213 180 +255 246 246 +189 139 49 +255 205 106 +255 172 180 +255 197 205 +255 238 255 diff --git a/graphics/pokemon/lombre/anim_front_gba.png b/graphics/pokemon/lombre/anim_front_gba.png new file mode 100644 index 000000000000..d1aa1e351768 Binary files /dev/null and b/graphics/pokemon/lombre/anim_front_gba.png differ diff --git a/graphics/pokemon/lombre/back_gba.png b/graphics/pokemon/lombre/back_gba.png new file mode 100644 index 000000000000..c87b4bcf37ea Binary files /dev/null and b/graphics/pokemon/lombre/back_gba.png differ diff --git a/graphics/pokemon/lombre/icon_gba.png b/graphics/pokemon/lombre/icon_gba.png new file mode 100644 index 000000000000..b3e661cca894 Binary files /dev/null and b/graphics/pokemon/lombre/icon_gba.png differ diff --git a/graphics/pokemon/lombre/normal_gba.pal b/graphics/pokemon/lombre/normal_gba.pal new file mode 100644 index 000000000000..69f944a22286 --- /dev/null +++ b/graphics/pokemon/lombre/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +98 106 65 +90 148 106 +148 74 57 +131 197 148 +189 230 180 +222 255 197 +205 74 49 +131 148 65 +139 180 49 +172 213 57 +255 115 65 +205 246 82 +255 255 255 +197 197 205 +255 8 57 diff --git a/graphics/pokemon/lombre/shiny_gba.pal b/graphics/pokemon/lombre/shiny_gba.pal new file mode 100644 index 000000000000..d4458373afb0 --- /dev/null +++ b/graphics/pokemon/lombre/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 205 +98 106 65 +90 148 106 +172 90 41 +172 213 57 +205 246 82 +222 255 197 +213 106 57 +65 131 139 +90 156 164 +106 172 180 +255 172 90 +148 197 205 +255 255 255 +197 197 205 +255 8 57 diff --git a/graphics/pokemon/lotad/anim_front_gba.png b/graphics/pokemon/lotad/anim_front_gba.png new file mode 100644 index 000000000000..b2eabc2128cb Binary files /dev/null and b/graphics/pokemon/lotad/anim_front_gba.png differ diff --git a/graphics/pokemon/lotad/back_gba.png b/graphics/pokemon/lotad/back_gba.png new file mode 100644 index 000000000000..d8ca7648d71e Binary files /dev/null and b/graphics/pokemon/lotad/back_gba.png differ diff --git a/graphics/pokemon/lotad/icon_gba.png b/graphics/pokemon/lotad/icon_gba.png new file mode 100644 index 000000000000..74e37ceed5c3 Binary files /dev/null and b/graphics/pokemon/lotad/icon_gba.png differ diff --git a/graphics/pokemon/lotad/normal_gba.pal b/graphics/pokemon/lotad/normal_gba.pal new file mode 100644 index 000000000000..efb988ea0e01 --- /dev/null +++ b/graphics/pokemon/lotad/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 213 74 +213 172 57 +139 115 49 +49 65 90 +123 213 74 +98 189 49 +74 172 41 +74 139 41 +49 74 32 +172 255 123 +148 180 222 +82 139 205 +49 115 148 +255 255 255 +16 16 16 diff --git a/graphics/pokemon/lotad/shiny_gba.pal b/graphics/pokemon/lotad/shiny_gba.pal new file mode 100644 index 000000000000..36f271590900 --- /dev/null +++ b/graphics/pokemon/lotad/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 213 74 +213 172 57 +139 115 49 +49 65 90 +148 197 205 +106 172 180 +90 156 164 +65 131 139 +24 82 98 +172 255 123 +213 139 156 +180 106 123 +148 74 90 +255 255 255 +16 16 16 diff --git a/graphics/pokemon/loudred/anim_front_gba.png b/graphics/pokemon/loudred/anim_front_gba.png new file mode 100644 index 000000000000..13fe39e53aac Binary files /dev/null and b/graphics/pokemon/loudred/anim_front_gba.png differ diff --git a/graphics/pokemon/loudred/back_gba.png b/graphics/pokemon/loudred/back_gba.png new file mode 100644 index 000000000000..cb3d5d81616e Binary files /dev/null and b/graphics/pokemon/loudred/back_gba.png differ diff --git a/graphics/pokemon/loudred/icon_gba.png b/graphics/pokemon/loudred/icon_gba.png new file mode 100644 index 000000000000..cbb1859f8f72 Binary files /dev/null and b/graphics/pokemon/loudred/icon_gba.png differ diff --git a/graphics/pokemon/loudred/normal_gba.pal b/graphics/pokemon/loudred/normal_gba.pal new file mode 100644 index 000000000000..27c8ed1e79d1 --- /dev/null +++ b/graphics/pokemon/loudred/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +164 156 222 +123 115 180 +90 82 139 +57 57 106 +255 222 90 +213 164 24 +156 115 24 +255 115 82 +213 74 49 +156 57 24 +106 49 24 +205 205 205 +115 115 115 +0 0 0 diff --git a/graphics/pokemon/loudred/shiny_gba.pal b/graphics/pokemon/loudred/shiny_gba.pal new file mode 100644 index 000000000000..b905b269c60b --- /dev/null +++ b/graphics/pokemon/loudred/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 180 197 +189 131 164 +156 90 139 +131 65 106 +255 246 131 +255 197 49 +213 131 16 +255 115 82 +197 65 49 +156 41 24 +123 57 0 +238 205 213 +115 115 115 +49 49 65 diff --git a/graphics/pokemon/ludicolo/anim_front_gba.png b/graphics/pokemon/ludicolo/anim_front_gba.png new file mode 100644 index 000000000000..f649bebcb3d4 Binary files /dev/null and b/graphics/pokemon/ludicolo/anim_front_gba.png differ diff --git a/graphics/pokemon/ludicolo/back_gba.png b/graphics/pokemon/ludicolo/back_gba.png new file mode 100644 index 000000000000..2bdc96c3924c Binary files /dev/null and b/graphics/pokemon/ludicolo/back_gba.png differ diff --git a/graphics/pokemon/ludicolo/footprint_gba.png b/graphics/pokemon/ludicolo/footprint_gba.png new file mode 100644 index 000000000000..e5aa759abcd6 Binary files /dev/null and b/graphics/pokemon/ludicolo/footprint_gba.png differ diff --git a/graphics/pokemon/ludicolo/icon_gba.png b/graphics/pokemon/ludicolo/icon_gba.png new file mode 100644 index 000000000000..47490411b66d Binary files /dev/null and b/graphics/pokemon/ludicolo/icon_gba.png differ diff --git a/graphics/pokemon/ludicolo/normal_gba.pal b/graphics/pokemon/ludicolo/normal_gba.pal new file mode 100644 index 000000000000..6184143948e1 --- /dev/null +++ b/graphics/pokemon/ludicolo/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 148 197 +74 106 74 +106 139 90 +156 197 98 +164 238 90 +205 255 139 +246 246 148 +213 213 123 +180 180 115 +255 255 255 +205 205 222 +197 131 115 +246 164 98 +139 106 82 +213 180 74 +41 41 41 diff --git a/graphics/pokemon/ludicolo/overworld.png b/graphics/pokemon/ludicolo/overworld.png index 28a1e23d8ba5..0414f960c1de 100644 Binary files a/graphics/pokemon/ludicolo/overworld.png and b/graphics/pokemon/ludicolo/overworld.png differ diff --git a/graphics/pokemon/ludicolo/overworldf.png b/graphics/pokemon/ludicolo/overworldf.png new file mode 100644 index 000000000000..28a1e23d8ba5 Binary files /dev/null and b/graphics/pokemon/ludicolo/overworldf.png differ diff --git a/graphics/pokemon/ludicolo/shiny_gba.pal b/graphics/pokemon/ludicolo/shiny_gba.pal new file mode 100644 index 000000000000..442eda95eefe --- /dev/null +++ b/graphics/pokemon/ludicolo/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 148 197 +49 115 106 +82 139 131 +90 156 148 +148 197 205 +164 222 222 +255 230 156 +255 213 106 +230 172 90 +255 255 255 +205 205 222 +197 131 115 +246 164 98 +164 106 82 +213 180 74 +41 41 41 diff --git a/graphics/pokemon/lugia/anim_front_gba.png b/graphics/pokemon/lugia/anim_front_gba.png new file mode 100644 index 000000000000..930d817329af Binary files /dev/null and b/graphics/pokemon/lugia/anim_front_gba.png differ diff --git a/graphics/pokemon/lugia/back_gba.png b/graphics/pokemon/lugia/back_gba.png new file mode 100644 index 000000000000..ece7def85c9f Binary files /dev/null and b/graphics/pokemon/lugia/back_gba.png differ diff --git a/graphics/pokemon/lugia/icon_gba.png b/graphics/pokemon/lugia/icon_gba.png new file mode 100644 index 000000000000..5e581ee193f2 Binary files /dev/null and b/graphics/pokemon/lugia/icon_gba.png differ diff --git a/graphics/pokemon/lugia/normal_gba.pal b/graphics/pokemon/lugia/normal_gba.pal new file mode 100644 index 000000000000..483157770ab4 --- /dev/null +++ b/graphics/pokemon/lugia/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 197 +255 255 255 +222 222 230 +189 189 197 +156 156 180 +98 98 98 +123 164 246 +90 115 255 +0 98 189 +0 65 131 +238 90 0 +156 65 0 +156 156 180 +98 98 98 +16 16 16 +16 16 16 diff --git a/graphics/pokemon/lugia/shiny_gba.pal b/graphics/pokemon/lugia/shiny_gba.pal new file mode 100644 index 000000000000..42db26696e7d --- /dev/null +++ b/graphics/pokemon/lugia/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 197 +255 255 255 +213 230 255 +172 197 230 +131 156 197 +74 90 139 +255 139 172 +246 106 148 +205 74 123 +106 65 82 +238 90 0 +156 65 0 +246 139 139 +222 90 98 +148 32 41 +16 16 16 diff --git a/graphics/pokemon/lumineon/overworldf.png b/graphics/pokemon/lumineon/overworldf.png new file mode 100644 index 000000000000..44101d055e71 Binary files /dev/null and b/graphics/pokemon/lumineon/overworldf.png differ diff --git a/graphics/pokemon/lunatone/anim_front_gba.png b/graphics/pokemon/lunatone/anim_front_gba.png new file mode 100644 index 000000000000..75b483b423b4 Binary files /dev/null and b/graphics/pokemon/lunatone/anim_front_gba.png differ diff --git a/graphics/pokemon/lunatone/back_gba.png b/graphics/pokemon/lunatone/back_gba.png new file mode 100644 index 000000000000..3f2247f8ea8a Binary files /dev/null and b/graphics/pokemon/lunatone/back_gba.png differ diff --git a/graphics/pokemon/lunatone/icon_gba.png b/graphics/pokemon/lunatone/icon_gba.png new file mode 100644 index 000000000000..27a42ae412d8 Binary files /dev/null and b/graphics/pokemon/lunatone/icon_gba.png differ diff --git a/graphics/pokemon/lunatone/normal_gba.pal b/graphics/pokemon/lunatone/normal_gba.pal new file mode 100644 index 000000000000..9a0a5885f9dd --- /dev/null +++ b/graphics/pokemon/lunatone/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 238 164 +230 213 148 +213 197 131 +197 172 123 +172 156 106 +156 131 98 +139 115 82 +123 98 74 +98 74 57 +82 57 41 +238 90 90 +213 74 82 +189 57 74 +164 49 74 +16 16 16 diff --git a/graphics/pokemon/lunatone/shiny_gba.pal b/graphics/pokemon/lunatone/shiny_gba.pal new file mode 100644 index 000000000000..e0f5eb3082b3 --- /dev/null +++ b/graphics/pokemon/lunatone/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 238 164 +230 213 148 +213 197 131 +197 172 123 +172 156 106 +156 131 98 +139 115 82 +123 98 74 +98 74 57 +82 57 41 +98 148 255 +65 115 222 +32 82 189 +0 49 156 +16 16 16 diff --git a/graphics/pokemon/luvdisc/anim_front_gba.png b/graphics/pokemon/luvdisc/anim_front_gba.png new file mode 100644 index 000000000000..bdd3e2f4409e Binary files /dev/null and b/graphics/pokemon/luvdisc/anim_front_gba.png differ diff --git a/graphics/pokemon/luvdisc/back_gba.png b/graphics/pokemon/luvdisc/back_gba.png new file mode 100644 index 000000000000..04895aa259ad Binary files /dev/null and b/graphics/pokemon/luvdisc/back_gba.png differ diff --git a/graphics/pokemon/luvdisc/icon_gba.png b/graphics/pokemon/luvdisc/icon_gba.png new file mode 100644 index 000000000000..980b7349242e Binary files /dev/null and b/graphics/pokemon/luvdisc/icon_gba.png differ diff --git a/graphics/pokemon/luvdisc/normal_gba.pal b/graphics/pokemon/luvdisc/normal_gba.pal new file mode 100644 index 000000000000..c443e06337c4 --- /dev/null +++ b/graphics/pokemon/luvdisc/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 205 148 +115 57 49 +164 106 82 +255 255 255 +222 205 230 +230 156 131 +205 148 148 +255 164 123 +246 213 148 +90 98 189 +90 98 139 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/luvdisc/shiny_gba.pal b/graphics/pokemon/luvdisc/shiny_gba.pal new file mode 100644 index 000000000000..b1df53235b11 --- /dev/null +++ b/graphics/pokemon/luvdisc/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 205 148 +115 57 49 +164 106 82 +255 255 255 +222 205 230 +246 197 49 +246 172 16 +255 230 82 +255 255 131 +90 98 189 +90 98 139 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/luxio/overworldf.png b/graphics/pokemon/luxio/overworldf.png new file mode 100644 index 000000000000..6646e4262bda Binary files /dev/null and b/graphics/pokemon/luxio/overworldf.png differ diff --git a/graphics/pokemon/luxray/overworldf.png b/graphics/pokemon/luxray/overworldf.png new file mode 100644 index 000000000000..bc4cc97e7566 Binary files /dev/null and b/graphics/pokemon/luxray/overworldf.png differ diff --git a/graphics/pokemon/machamp/anim_front_gba.png b/graphics/pokemon/machamp/anim_front_gba.png new file mode 100644 index 000000000000..bf4b640c88ac Binary files /dev/null and b/graphics/pokemon/machamp/anim_front_gba.png differ diff --git a/graphics/pokemon/machamp/back_gba.png b/graphics/pokemon/machamp/back_gba.png new file mode 100644 index 000000000000..98f6f961ba2e Binary files /dev/null and b/graphics/pokemon/machamp/back_gba.png differ diff --git a/graphics/pokemon/machamp/gigantamax/back.png b/graphics/pokemon/machamp/gmax/back.png similarity index 100% rename from graphics/pokemon/machamp/gigantamax/back.png rename to graphics/pokemon/machamp/gmax/back.png diff --git a/graphics/pokemon/machamp/gigantamax/front.png b/graphics/pokemon/machamp/gmax/front.png similarity index 100% rename from graphics/pokemon/machamp/gigantamax/front.png rename to graphics/pokemon/machamp/gmax/front.png diff --git a/graphics/pokemon/machamp/gigantamax/icon.png b/graphics/pokemon/machamp/gmax/icon.png similarity index 100% rename from graphics/pokemon/machamp/gigantamax/icon.png rename to graphics/pokemon/machamp/gmax/icon.png diff --git a/graphics/pokemon/machamp/gigantamax/normal.pal b/graphics/pokemon/machamp/gmax/normal.pal similarity index 100% rename from graphics/pokemon/machamp/gigantamax/normal.pal rename to graphics/pokemon/machamp/gmax/normal.pal diff --git a/graphics/pokemon/machamp/gigantamax/shiny.pal b/graphics/pokemon/machamp/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/machamp/gigantamax/shiny.pal rename to graphics/pokemon/machamp/gmax/shiny.pal diff --git a/graphics/pokemon/machamp/icon_gba.png b/graphics/pokemon/machamp/icon_gba.png new file mode 100644 index 000000000000..f803845ab9a2 Binary files /dev/null and b/graphics/pokemon/machamp/icon_gba.png differ diff --git a/graphics/pokemon/machamp/normal_gba.pal b/graphics/pokemon/machamp/normal_gba.pal new file mode 100644 index 000000000000..b3c4a313bc7f --- /dev/null +++ b/graphics/pokemon/machamp/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +238 246 115 +197 205 74 +164 172 41 +115 98 0 +255 57 57 +156 0 0 +82 82 82 +255 0 255 +213 213 213 +205 246 213 +172 213 180 +98 164 98 +49 90 65 +16 16 16 diff --git a/graphics/pokemon/machamp/shiny_gba.pal b/graphics/pokemon/machamp/shiny_gba.pal new file mode 100644 index 000000000000..6e7cc549c241 --- /dev/null +++ b/graphics/pokemon/machamp/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +238 246 115 +197 205 74 +164 172 41 +115 98 0 +255 57 57 +156 0 0 +82 82 82 +255 0 255 +213 213 213 +180 197 131 +139 156 90 +98 115 49 +57 74 8 +16 16 16 diff --git a/graphics/pokemon/machoke/anim_front_gba.png b/graphics/pokemon/machoke/anim_front_gba.png new file mode 100644 index 000000000000..45744a87130c Binary files /dev/null and b/graphics/pokemon/machoke/anim_front_gba.png differ diff --git a/graphics/pokemon/machoke/back_gba.png b/graphics/pokemon/machoke/back_gba.png new file mode 100644 index 000000000000..b3c84c77cd4a Binary files /dev/null and b/graphics/pokemon/machoke/back_gba.png differ diff --git a/graphics/pokemon/machoke/icon_gba.png b/graphics/pokemon/machoke/icon_gba.png new file mode 100644 index 000000000000..97d3a6bf0f18 Binary files /dev/null and b/graphics/pokemon/machoke/icon_gba.png differ diff --git a/graphics/pokemon/machoke/normal_gba.pal b/graphics/pokemon/machoke/normal_gba.pal new file mode 100644 index 000000000000..f07156ff0970 --- /dev/null +++ b/graphics/pokemon/machoke/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +238 246 115 +197 205 74 +164 172 41 +115 98 0 +255 0 255 +255 57 57 +197 0 0 +156 0 0 +213 213 213 +222 205 255 +189 172 222 +148 123 180 +90 65 123 +16 16 16 diff --git a/graphics/pokemon/machoke/shiny_gba.pal b/graphics/pokemon/machoke/shiny_gba.pal new file mode 100644 index 000000000000..5d5cb321baad --- /dev/null +++ b/graphics/pokemon/machoke/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +238 246 115 +197 205 74 +164 172 41 +115 98 0 +255 0 255 +115 156 222 +74 115 180 +16 57 123 +222 230 172 +180 189 131 +139 148 90 +98 106 49 +57 65 8 +16 16 16 diff --git a/graphics/pokemon/machop/anim_front_gba.png b/graphics/pokemon/machop/anim_front_gba.png new file mode 100644 index 000000000000..91e4301149f9 Binary files /dev/null and b/graphics/pokemon/machop/anim_front_gba.png differ diff --git a/graphics/pokemon/machop/back_gba.png b/graphics/pokemon/machop/back_gba.png new file mode 100644 index 000000000000..6b0dda04cac7 Binary files /dev/null and b/graphics/pokemon/machop/back_gba.png differ diff --git a/graphics/pokemon/machop/icon_gba.png b/graphics/pokemon/machop/icon_gba.png new file mode 100644 index 000000000000..53773ea8c4b6 Binary files /dev/null and b/graphics/pokemon/machop/icon_gba.png differ diff --git a/graphics/pokemon/machop/normal_gba.pal b/graphics/pokemon/machop/normal_gba.pal new file mode 100644 index 000000000000..0232ea1d0295 --- /dev/null +++ b/graphics/pokemon/machop/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +238 246 115 +197 205 74 +164 172 41 +98 106 16 +255 0 255 +255 57 57 +197 0 0 +156 0 0 +213 213 213 +189 230 197 +156 197 164 +115 156 123 +32 82 49 +16 16 16 diff --git a/graphics/pokemon/machop/shiny_gba.pal b/graphics/pokemon/machop/shiny_gba.pal new file mode 100644 index 000000000000..2ceeb3c568b2 --- /dev/null +++ b/graphics/pokemon/machop/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +238 246 115 +197 205 74 +164 172 41 +98 106 16 +255 0 255 +255 57 57 +197 0 0 +156 0 0 +255 246 189 +222 205 148 +180 164 106 +139 123 65 +98 82 24 +16 16 16 diff --git a/graphics/pokemon/magby/anim_front_gba.png b/graphics/pokemon/magby/anim_front_gba.png new file mode 100644 index 000000000000..fa7c91f0b84c Binary files /dev/null and b/graphics/pokemon/magby/anim_front_gba.png differ diff --git a/graphics/pokemon/magby/back_gba.png b/graphics/pokemon/magby/back_gba.png new file mode 100644 index 000000000000..f05f62283eb3 Binary files /dev/null and b/graphics/pokemon/magby/back_gba.png differ diff --git a/graphics/pokemon/magby/icon_gba.png b/graphics/pokemon/magby/icon_gba.png new file mode 100644 index 000000000000..574274003b9f Binary files /dev/null and b/graphics/pokemon/magby/icon_gba.png differ diff --git a/graphics/pokemon/magby/normal_gba.pal b/graphics/pokemon/magby/normal_gba.pal new file mode 100644 index 000000000000..42daceeb8dce --- /dev/null +++ b/graphics/pokemon/magby/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 197 131 +255 123 98 +213 82 57 +148 49 32 +255 0 255 +255 255 180 +246 213 57 +213 172 0 +172 131 0 +255 0 255 +255 0 255 +197 197 197 +115 115 123 +16 16 16 diff --git a/graphics/pokemon/magby/shiny_gba.pal b/graphics/pokemon/magby/shiny_gba.pal new file mode 100644 index 000000000000..97a19115c422 --- /dev/null +++ b/graphics/pokemon/magby/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 246 115 +255 213 41 +230 131 49 +148 65 32 +255 0 255 +255 255 238 +255 246 148 +238 205 90 +197 123 65 +255 0 255 +255 0 255 +197 197 197 +115 115 123 +16 16 16 diff --git a/graphics/pokemon/magcargo/anim_front_gba.png b/graphics/pokemon/magcargo/anim_front_gba.png new file mode 100644 index 000000000000..5c2ddcddd180 Binary files /dev/null and b/graphics/pokemon/magcargo/anim_front_gba.png differ diff --git a/graphics/pokemon/magcargo/back_gba.png b/graphics/pokemon/magcargo/back_gba.png new file mode 100644 index 000000000000..8d2221f0db99 Binary files /dev/null and b/graphics/pokemon/magcargo/back_gba.png differ diff --git a/graphics/pokemon/magcargo/icon_gba.png b/graphics/pokemon/magcargo/icon_gba.png new file mode 100644 index 000000000000..46cbb8cb58d9 Binary files /dev/null and b/graphics/pokemon/magcargo/icon_gba.png differ diff --git a/graphics/pokemon/magcargo/normal_gba.pal b/graphics/pokemon/magcargo/normal_gba.pal new file mode 100644 index 000000000000..71f6dce5bf19 --- /dev/null +++ b/graphics/pokemon/magcargo/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 189 106 +255 131 74 +222 90 32 +148 32 0 +255 213 115 +255 238 156 +255 213 115 +255 197 0 +164 106 90 +172 172 172 +131 131 131 +98 98 98 +65 65 65 +16 16 16 diff --git a/graphics/pokemon/magcargo/shiny_gba.pal b/graphics/pokemon/magcargo/shiny_gba.pal new file mode 100644 index 000000000000..ff0c9dd40f5c --- /dev/null +++ b/graphics/pokemon/magcargo/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 180 238 +205 148 197 +172 98 172 +106 65 139 +255 180 238 +255 230 255 +255 180 238 +255 180 238 +139 74 106 +213 98 74 +156 82 57 +106 49 41 +74 41 16 +16 16 16 diff --git a/graphics/pokemon/magikarp/anim_front_gba.png b/graphics/pokemon/magikarp/anim_front_gba.png new file mode 100644 index 000000000000..4b4f31f72bcb Binary files /dev/null and b/graphics/pokemon/magikarp/anim_front_gba.png differ diff --git a/graphics/pokemon/magikarp/back_gba.png b/graphics/pokemon/magikarp/back_gba.png new file mode 100644 index 000000000000..66e874bb96f2 Binary files /dev/null and b/graphics/pokemon/magikarp/back_gba.png differ diff --git a/graphics/pokemon/magikarp/icon_gba.png b/graphics/pokemon/magikarp/icon_gba.png new file mode 100644 index 000000000000..004884582532 Binary files /dev/null and b/graphics/pokemon/magikarp/icon_gba.png differ diff --git a/graphics/pokemon/magikarp/normal_gba.pal b/graphics/pokemon/magikarp/normal_gba.pal new file mode 100644 index 000000000000..14b625cb9f75 --- /dev/null +++ b/graphics/pokemon/magikarp/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +222 222 230 +172 172 189 +115 115 139 +16 16 16 +238 255 131 +222 197 90 +131 106 16 +255 180 148 +255 123 90 +222 24 0 +255 172 115 +255 106 32 +222 24 0 +148 16 0 diff --git a/graphics/pokemon/magikarp/overworld.png b/graphics/pokemon/magikarp/overworld.png index debcdb492539..05f918c64f46 100644 Binary files a/graphics/pokemon/magikarp/overworld.png and b/graphics/pokemon/magikarp/overworld.png differ diff --git a/graphics/pokemon/magikarp/overworldf.png b/graphics/pokemon/magikarp/overworldf.png new file mode 100644 index 000000000000..debcdb492539 Binary files /dev/null and b/graphics/pokemon/magikarp/overworldf.png differ diff --git a/graphics/pokemon/magikarp/shiny_gba.pal b/graphics/pokemon/magikarp/shiny_gba.pal new file mode 100644 index 000000000000..d6eec780afa0 --- /dev/null +++ b/graphics/pokemon/magikarp/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +222 222 230 +172 172 189 +115 115 139 +16 16 16 +238 255 131 +222 197 90 +131 106 16 +255 255 172 +255 230 49 +246 189 82 +255 255 98 +255 222 32 +230 164 41 +156 82 41 diff --git a/graphics/pokemon/magmar/anim_front_gba.png b/graphics/pokemon/magmar/anim_front_gba.png new file mode 100644 index 000000000000..3562bda29978 Binary files /dev/null and b/graphics/pokemon/magmar/anim_front_gba.png differ diff --git a/graphics/pokemon/magmar/back_gba.png b/graphics/pokemon/magmar/back_gba.png new file mode 100644 index 000000000000..6aba734383a1 Binary files /dev/null and b/graphics/pokemon/magmar/back_gba.png differ diff --git a/graphics/pokemon/magmar/icon_gba.png b/graphics/pokemon/magmar/icon_gba.png new file mode 100644 index 000000000000..af5ece4f7b5c Binary files /dev/null and b/graphics/pokemon/magmar/icon_gba.png differ diff --git a/graphics/pokemon/magmar/normal_gba.pal b/graphics/pokemon/magmar/normal_gba.pal new file mode 100644 index 000000000000..d94c6d7603c7 --- /dev/null +++ b/graphics/pokemon/magmar/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +106 106 106 +41 41 41 +255 0 255 +255 0 255 +255 246 106 +255 213 0 +222 164 32 +156 90 16 +255 164 65 +255 115 16 +238 49 0 +164 16 0 +255 0 255 diff --git a/graphics/pokemon/magmar/shiny_gba.pal b/graphics/pokemon/magmar/shiny_gba.pal new file mode 100644 index 000000000000..f4da957cb639 --- /dev/null +++ b/graphics/pokemon/magmar/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +106 106 106 +41 41 41 +255 0 255 +255 0 255 +255 238 255 +255 197 213 +205 156 172 +123 74 90 +255 164 172 +238 123 131 +213 82 90 +164 41 49 +255 0 255 diff --git a/graphics/pokemon/magnemite/anim_front_gba.png b/graphics/pokemon/magnemite/anim_front_gba.png new file mode 100644 index 000000000000..60081cacb821 Binary files /dev/null and b/graphics/pokemon/magnemite/anim_front_gba.png differ diff --git a/graphics/pokemon/magnemite/back_gba.png b/graphics/pokemon/magnemite/back_gba.png new file mode 100644 index 000000000000..c1769ec51360 Binary files /dev/null and b/graphics/pokemon/magnemite/back_gba.png differ diff --git a/graphics/pokemon/magnemite/icon_gba.png b/graphics/pokemon/magnemite/icon_gba.png new file mode 100644 index 000000000000..ba9561d21c01 Binary files /dev/null and b/graphics/pokemon/magnemite/icon_gba.png differ diff --git a/graphics/pokemon/magnemite/normal_gba.pal b/graphics/pokemon/magnemite/normal_gba.pal new file mode 100644 index 000000000000..4ece43e6e48a --- /dev/null +++ b/graphics/pokemon/magnemite/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +255 139 74 +238 24 0 +82 205 246 +41 131 172 +180 180 180 +139 139 139 +82 74 74 +57 49 49 +213 246 222 +180 213 189 +148 189 156 +90 131 98 +16 16 16 diff --git a/graphics/pokemon/magnemite/shiny_gba.pal b/graphics/pokemon/magnemite/shiny_gba.pal new file mode 100644 index 000000000000..50bb00b88852 --- /dev/null +++ b/graphics/pokemon/magnemite/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +82 74 74 +57 49 49 +82 74 74 +57 49 49 +180 180 180 +139 139 139 +82 74 74 +57 49 49 +238 238 189 +197 197 148 +156 156 106 +115 115 65 +16 16 16 diff --git a/graphics/pokemon/magneton/anim_front_gba.png b/graphics/pokemon/magneton/anim_front_gba.png new file mode 100644 index 000000000000..40e95aaf4a90 Binary files /dev/null and b/graphics/pokemon/magneton/anim_front_gba.png differ diff --git a/graphics/pokemon/magneton/back_gba.png b/graphics/pokemon/magneton/back_gba.png new file mode 100644 index 000000000000..5fc357dfc984 Binary files /dev/null and b/graphics/pokemon/magneton/back_gba.png differ diff --git a/graphics/pokemon/magneton/icon_gba.png b/graphics/pokemon/magneton/icon_gba.png new file mode 100644 index 000000000000..91a25f3ce3a3 Binary files /dev/null and b/graphics/pokemon/magneton/icon_gba.png differ diff --git a/graphics/pokemon/magneton/normal_gba.pal b/graphics/pokemon/magneton/normal_gba.pal new file mode 100644 index 000000000000..4ece43e6e48a --- /dev/null +++ b/graphics/pokemon/magneton/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +255 139 74 +238 24 0 +82 205 246 +41 131 172 +180 180 180 +139 139 139 +82 74 74 +57 49 49 +213 246 222 +180 213 189 +148 189 156 +90 131 98 +16 16 16 diff --git a/graphics/pokemon/magneton/shiny_gba.pal b/graphics/pokemon/magneton/shiny_gba.pal new file mode 100644 index 000000000000..1777fbd2aaaa --- /dev/null +++ b/graphics/pokemon/magneton/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +106 98 98 +57 49 49 +106 98 98 +57 49 49 +180 180 180 +139 139 139 +82 74 74 +57 49 49 +255 246 230 +238 222 197 +197 180 156 +156 139 115 +16 16 16 diff --git a/graphics/pokemon/makuhita/anim_front_gba.png b/graphics/pokemon/makuhita/anim_front_gba.png new file mode 100644 index 000000000000..fae14eb6ae3b Binary files /dev/null and b/graphics/pokemon/makuhita/anim_front_gba.png differ diff --git a/graphics/pokemon/makuhita/back_gba.png b/graphics/pokemon/makuhita/back_gba.png new file mode 100644 index 000000000000..45423f822ee9 Binary files /dev/null and b/graphics/pokemon/makuhita/back_gba.png differ diff --git a/graphics/pokemon/makuhita/icon_gba.png b/graphics/pokemon/makuhita/icon_gba.png new file mode 100644 index 000000000000..d64f2c418106 Binary files /dev/null and b/graphics/pokemon/makuhita/icon_gba.png differ diff --git a/graphics/pokemon/makuhita/normal_gba.pal b/graphics/pokemon/makuhita/normal_gba.pal new file mode 100644 index 000000000000..7fc578bb115f --- /dev/null +++ b/graphics/pokemon/makuhita/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +156 156 164 +131 131 148 +90 90 115 +49 57 90 +255 213 82 +238 189 49 +205 156 82 +255 90 74 +205 82 65 +156 82 65 +0 0 0 +255 230 123 +123 90 57 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/makuhita/shiny_gba.pal b/graphics/pokemon/makuhita/shiny_gba.pal new file mode 100644 index 000000000000..2f3aa75fc8ba --- /dev/null +++ b/graphics/pokemon/makuhita/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +255 90 74 +205 82 65 +156 82 65 +123 49 32 +255 230 156 +255 205 98 +230 164 82 +255 90 74 +205 82 65 +156 82 65 +0 0 0 +255 246 189 +123 90 57 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/mamoswine/overworldf.png b/graphics/pokemon/mamoswine/overworldf.png new file mode 100644 index 000000000000..d89769a98cc4 Binary files /dev/null and b/graphics/pokemon/mamoswine/overworldf.png differ diff --git a/graphics/pokemon/manectric/anim_front_gba.png b/graphics/pokemon/manectric/anim_front_gba.png new file mode 100644 index 000000000000..e91cf8850064 Binary files /dev/null and b/graphics/pokemon/manectric/anim_front_gba.png differ diff --git a/graphics/pokemon/manectric/back_gba.png b/graphics/pokemon/manectric/back_gba.png new file mode 100644 index 000000000000..9373757a05b7 Binary files /dev/null and b/graphics/pokemon/manectric/back_gba.png differ diff --git a/graphics/pokemon/manectric/icon_gba.png b/graphics/pokemon/manectric/icon_gba.png new file mode 100644 index 000000000000..0b8fe933d331 Binary files /dev/null and b/graphics/pokemon/manectric/icon_gba.png differ diff --git a/graphics/pokemon/manectric/normal_gba.pal b/graphics/pokemon/manectric/normal_gba.pal new file mode 100644 index 000000000000..0067c876b19d --- /dev/null +++ b/graphics/pokemon/manectric/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 197 +57 65 74 +82 90 131 +115 131 197 +139 172 238 +255 255 74 +222 230 106 +180 197 106 +139 123 65 +172 32 16 +238 82 106 +0 0 0 +0 0 0 +255 255 255 +197 197 230 +24 24 24 diff --git a/graphics/pokemon/manectric/shiny_gba.pal b/graphics/pokemon/manectric/shiny_gba.pal new file mode 100644 index 000000000000..db1f6ea185bd --- /dev/null +++ b/graphics/pokemon/manectric/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 197 +41 41 57 +57 65 82 +115 106 123 +148 139 156 +255 222 131 +230 197 98 +197 156 90 +164 123 57 +82 106 197 +238 82 106 +0 0 0 +0 0 0 +255 255 255 +197 197 230 +24 24 24 diff --git a/graphics/pokemon/mankey/anim_front_gba.png b/graphics/pokemon/mankey/anim_front_gba.png new file mode 100644 index 000000000000..b630920f6590 Binary files /dev/null and b/graphics/pokemon/mankey/anim_front_gba.png differ diff --git a/graphics/pokemon/mankey/back_gba.png b/graphics/pokemon/mankey/back_gba.png new file mode 100644 index 000000000000..8b0751a9e601 Binary files /dev/null and b/graphics/pokemon/mankey/back_gba.png differ diff --git a/graphics/pokemon/mankey/icon_gba.png b/graphics/pokemon/mankey/icon_gba.png new file mode 100644 index 000000000000..3692211263d9 Binary files /dev/null and b/graphics/pokemon/mankey/icon_gba.png differ diff --git a/graphics/pokemon/mankey/normal_gba.pal b/graphics/pokemon/mankey/normal_gba.pal new file mode 100644 index 000000000000..bc405617a077 --- /dev/null +++ b/graphics/pokemon/mankey/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 222 222 +255 230 189 +238 180 139 +230 139 98 +189 74 49 +16 16 16 +255 213 131 +222 172 74 +180 131 32 +115 65 0 +246 238 164 +238 213 131 +197 172 82 +139 106 16 diff --git a/graphics/pokemon/mankey/shiny_gba.pal b/graphics/pokemon/mankey/shiny_gba.pal new file mode 100644 index 000000000000..55703c37b0f1 --- /dev/null +++ b/graphics/pokemon/mankey/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 222 222 +255 230 189 +238 180 139 +230 139 98 +189 74 49 +16 16 16 +238 197 139 +197 156 98 +156 115 57 +98 57 0 +213 230 148 +180 197 115 +139 156 74 +82 98 16 diff --git a/graphics/pokemon/mantine/anim_front_gba.png b/graphics/pokemon/mantine/anim_front_gba.png new file mode 100644 index 000000000000..d310da6e572d Binary files /dev/null and b/graphics/pokemon/mantine/anim_front_gba.png differ diff --git a/graphics/pokemon/mantine/back_gba.png b/graphics/pokemon/mantine/back_gba.png new file mode 100644 index 000000000000..186e90e1e29b Binary files /dev/null and b/graphics/pokemon/mantine/back_gba.png differ diff --git a/graphics/pokemon/mantine/icon_gba.png b/graphics/pokemon/mantine/icon_gba.png new file mode 100644 index 000000000000..cf0bb2223674 Binary files /dev/null and b/graphics/pokemon/mantine/icon_gba.png differ diff --git a/graphics/pokemon/mantine/normal_gba.pal b/graphics/pokemon/mantine/normal_gba.pal new file mode 100644 index 000000000000..36e0777c410b --- /dev/null +++ b/graphics/pokemon/mantine/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +148 164 213 +90 106 139 +41 65 98 +24 41 74 +255 0 255 +205 230 255 +180 205 255 +156 164 197 +246 230 246 +230 205 230 +213 189 205 +164 148 164 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/mantine/shiny_gba.pal b/graphics/pokemon/mantine/shiny_gba.pal new file mode 100644 index 000000000000..5427dc275c3e --- /dev/null +++ b/graphics/pokemon/mantine/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +164 205 238 +123 156 238 +74 98 197 +16 49 148 +255 0 255 +205 230 255 +180 205 255 +156 189 213 +230 246 255 +205 230 255 +172 205 238 +139 164 205 +74 82 115 +16 16 16 diff --git a/graphics/pokemon/mareep/anim_front_gba.png b/graphics/pokemon/mareep/anim_front_gba.png new file mode 100644 index 000000000000..9435ca82999b Binary files /dev/null and b/graphics/pokemon/mareep/anim_front_gba.png differ diff --git a/graphics/pokemon/mareep/back_gba.png b/graphics/pokemon/mareep/back_gba.png new file mode 100644 index 000000000000..601d13c8daa4 Binary files /dev/null and b/graphics/pokemon/mareep/back_gba.png differ diff --git a/graphics/pokemon/mareep/icon_gba.png b/graphics/pokemon/mareep/icon_gba.png new file mode 100644 index 000000000000..2bd5335b6592 Binary files /dev/null and b/graphics/pokemon/mareep/icon_gba.png differ diff --git a/graphics/pokemon/mareep/normal_gba.pal b/graphics/pokemon/mareep/normal_gba.pal new file mode 100644 index 000000000000..bd24bfe72bca --- /dev/null +++ b/graphics/pokemon/mareep/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 238 131 +230 197 98 +197 148 41 +139 90 24 +74 180 230 +32 148 189 +0 74 148 +0 32 106 +255 222 0 +230 172 0 +180 123 0 +164 164 164 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/mareep/shiny_gba.pal b/graphics/pokemon/mareep/shiny_gba.pal new file mode 100644 index 000000000000..587f7493ff77 --- /dev/null +++ b/graphics/pokemon/mareep/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 213 205 +238 148 180 +222 90 131 +172 65 90 +74 180 230 +32 148 189 +0 74 148 +0 32 106 +255 222 0 +230 172 0 +180 123 0 +164 164 164 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/marill/anim_front_gba.png b/graphics/pokemon/marill/anim_front_gba.png new file mode 100644 index 000000000000..51e0a1444393 Binary files /dev/null and b/graphics/pokemon/marill/anim_front_gba.png differ diff --git a/graphics/pokemon/marill/back_gba.png b/graphics/pokemon/marill/back_gba.png new file mode 100644 index 000000000000..49bc29d97ebb Binary files /dev/null and b/graphics/pokemon/marill/back_gba.png differ diff --git a/graphics/pokemon/marill/icon_gba.png b/graphics/pokemon/marill/icon_gba.png new file mode 100644 index 000000000000..d91f9da86ad1 Binary files /dev/null and b/graphics/pokemon/marill/icon_gba.png differ diff --git a/graphics/pokemon/marill/normal_gba.pal b/graphics/pokemon/marill/normal_gba.pal new file mode 100644 index 000000000000..77ed6b4b6b87 --- /dev/null +++ b/graphics/pokemon/marill/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 230 222 +156 156 156 +98 98 98 +16 16 16 +156 189 255 +106 148 255 +74 115 255 +49 65 90 +57 90 189 +255 0 255 +246 131 0 +213 74 0 +148 24 0 +255 0 255 diff --git a/graphics/pokemon/marill/shiny_gba.pal b/graphics/pokemon/marill/shiny_gba.pal new file mode 100644 index 000000000000..7bd492c65a6b --- /dev/null +++ b/graphics/pokemon/marill/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 230 222 +156 156 156 +98 98 98 +16 16 16 +156 255 156 +123 230 131 +90 205 106 +49 123 65 +49 164 74 +255 0 255 +255 115 148 +213 74 115 +164 41 57 +255 0 255 diff --git a/graphics/pokemon/marowak/alolan/back.png b/graphics/pokemon/marowak/alola/back.png similarity index 100% rename from graphics/pokemon/marowak/alolan/back.png rename to graphics/pokemon/marowak/alola/back.png diff --git a/graphics/pokemon/marowak/alolan/front.png b/graphics/pokemon/marowak/alola/front.png similarity index 100% rename from graphics/pokemon/marowak/alolan/front.png rename to graphics/pokemon/marowak/alola/front.png diff --git a/graphics/pokemon/marowak/alolan/icon.png b/graphics/pokemon/marowak/alola/icon.png similarity index 100% rename from graphics/pokemon/marowak/alolan/icon.png rename to graphics/pokemon/marowak/alola/icon.png diff --git a/graphics/pokemon/marowak/alolan/normal.pal b/graphics/pokemon/marowak/alola/normal.pal similarity index 100% rename from graphics/pokemon/marowak/alolan/normal.pal rename to graphics/pokemon/marowak/alola/normal.pal diff --git a/graphics/pokemon/marowak/alolan/overworld.png b/graphics/pokemon/marowak/alola/overworld.png similarity index 100% rename from graphics/pokemon/marowak/alolan/overworld.png rename to graphics/pokemon/marowak/alola/overworld.png diff --git a/graphics/pokemon/marowak/alolan/overworld_normal.pal b/graphics/pokemon/marowak/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/marowak/alolan/overworld_normal.pal rename to graphics/pokemon/marowak/alola/overworld_normal.pal diff --git a/graphics/pokemon/marowak/alolan/overworld_shiny.pal b/graphics/pokemon/marowak/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/marowak/alolan/overworld_shiny.pal rename to graphics/pokemon/marowak/alola/overworld_shiny.pal diff --git a/graphics/pokemon/marowak/alolan/shiny.pal b/graphics/pokemon/marowak/alola/shiny.pal similarity index 100% rename from graphics/pokemon/marowak/alolan/shiny.pal rename to graphics/pokemon/marowak/alola/shiny.pal diff --git a/graphics/pokemon/marowak/anim_front_gba.png b/graphics/pokemon/marowak/anim_front_gba.png new file mode 100644 index 000000000000..8d15403c8eed Binary files /dev/null and b/graphics/pokemon/marowak/anim_front_gba.png differ diff --git a/graphics/pokemon/marowak/back_gba.png b/graphics/pokemon/marowak/back_gba.png new file mode 100644 index 000000000000..8510885d5961 Binary files /dev/null and b/graphics/pokemon/marowak/back_gba.png differ diff --git a/graphics/pokemon/marowak/icon_gba.png b/graphics/pokemon/marowak/icon_gba.png new file mode 100644 index 000000000000..7efbb17797b0 Binary files /dev/null and b/graphics/pokemon/marowak/icon_gba.png differ diff --git a/graphics/pokemon/marowak/normal_gba.pal b/graphics/pokemon/marowak/normal_gba.pal new file mode 100644 index 000000000000..7a70bffe3578 --- /dev/null +++ b/graphics/pokemon/marowak/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +230 230 213 +197 197 172 +139 139 106 +82 82 57 +16 16 16 +197 57 16 +255 222 180 +246 197 148 +230 148 82 +189 115 57 +222 189 106 +197 156 74 +148 106 49 +106 49 16 diff --git a/graphics/pokemon/marowak/shiny_gba.pal b/graphics/pokemon/marowak/shiny_gba.pal new file mode 100644 index 000000000000..569ccc08207e --- /dev/null +++ b/graphics/pokemon/marowak/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +230 230 213 +197 197 172 +139 139 106 +82 82 57 +16 16 16 +197 57 16 +255 222 180 +246 197 148 +230 148 82 +189 115 57 +213 222 139 +172 180 98 +131 139 57 +65 74 0 diff --git a/graphics/pokemon/marshtomp/anim_front_gba.png b/graphics/pokemon/marshtomp/anim_front_gba.png new file mode 100644 index 000000000000..d06bc373e978 Binary files /dev/null and b/graphics/pokemon/marshtomp/anim_front_gba.png differ diff --git a/graphics/pokemon/marshtomp/back_gba.png b/graphics/pokemon/marshtomp/back_gba.png new file mode 100644 index 000000000000..6c530aaee87f Binary files /dev/null and b/graphics/pokemon/marshtomp/back_gba.png differ diff --git a/graphics/pokemon/marshtomp/icon_gba.png b/graphics/pokemon/marshtomp/icon_gba.png new file mode 100644 index 000000000000..170e8285124a Binary files /dev/null and b/graphics/pokemon/marshtomp/icon_gba.png differ diff --git a/graphics/pokemon/marshtomp/normal_gba.pal b/graphics/pokemon/marshtomp/normal_gba.pal new file mode 100644 index 000000000000..b21cb52db210 --- /dev/null +++ b/graphics/pokemon/marshtomp/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +222 222 255 +197 197 238 +172 172 213 +131 131 156 +255 164 82 +246 123 57 +205 98 32 +164 123 90 +255 255 255 +172 238 238 +148 213 213 +106 189 189 +98 148 156 +90 90 115 +16 16 16 diff --git a/graphics/pokemon/marshtomp/shiny_gba.pal b/graphics/pokemon/marshtomp/shiny_gba.pal new file mode 100644 index 000000000000..f47e2751dff8 --- /dev/null +++ b/graphics/pokemon/marshtomp/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +238 238 255 +213 213 238 +189 189 213 +148 148 156 +255 230 156 +255 180 65 +205 131 24 +164 123 90 +255 255 255 +246 205 246 +230 172 246 +205 123 230 +156 106 172 +106 49 123 +16 16 16 diff --git a/graphics/pokemon/masquerain/anim_front_gba.png b/graphics/pokemon/masquerain/anim_front_gba.png new file mode 100644 index 000000000000..7853b70e8065 Binary files /dev/null and b/graphics/pokemon/masquerain/anim_front_gba.png differ diff --git a/graphics/pokemon/masquerain/back_gba.png b/graphics/pokemon/masquerain/back_gba.png new file mode 100644 index 000000000000..0092c2ca6517 Binary files /dev/null and b/graphics/pokemon/masquerain/back_gba.png differ diff --git a/graphics/pokemon/masquerain/icon_gba.png b/graphics/pokemon/masquerain/icon_gba.png new file mode 100644 index 000000000000..5487241e2c80 Binary files /dev/null and b/graphics/pokemon/masquerain/icon_gba.png differ diff --git a/graphics/pokemon/masquerain/normal_gba.pal b/graphics/pokemon/masquerain/normal_gba.pal new file mode 100644 index 000000000000..54690d35b88c --- /dev/null +++ b/graphics/pokemon/masquerain/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +65 65 90 +148 164 197 +180 205 238 +197 238 238 +106 74 32 +205 139 49 +255 156 74 +222 222 205 +255 255 255 +90 16 8 +131 65 32 +172 16 8 +222 57 32 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/masquerain/shiny_gba.pal b/graphics/pokemon/masquerain/shiny_gba.pal new file mode 100644 index 000000000000..09ed3ccf598a --- /dev/null +++ b/graphics/pokemon/masquerain/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +49 123 74 +98 180 98 +148 230 148 +205 255 172 +82 74 32 +106 106 49 +164 148 115 +222 222 41 +255 255 41 +90 16 8 +131 65 32 +172 16 8 +222 57 32 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/mawile/anim_front_gba.png b/graphics/pokemon/mawile/anim_front_gba.png new file mode 100644 index 000000000000..56261208694d Binary files /dev/null and b/graphics/pokemon/mawile/anim_front_gba.png differ diff --git a/graphics/pokemon/mawile/back_gba.png b/graphics/pokemon/mawile/back_gba.png new file mode 100644 index 000000000000..5bbf44ca9ca9 Binary files /dev/null and b/graphics/pokemon/mawile/back_gba.png differ diff --git a/graphics/pokemon/mawile/footprint_gba.png b/graphics/pokemon/mawile/footprint_gba.png new file mode 100644 index 000000000000..8eeae6a81edb Binary files /dev/null and b/graphics/pokemon/mawile/footprint_gba.png differ diff --git a/graphics/pokemon/mawile/icon_gba.png b/graphics/pokemon/mawile/icon_gba.png new file mode 100644 index 000000000000..cf7363277c11 Binary files /dev/null and b/graphics/pokemon/mawile/icon_gba.png differ diff --git a/graphics/pokemon/mawile/normal_gba.pal b/graphics/pokemon/mawile/normal_gba.pal new file mode 100644 index 000000000000..ebb40809c58b --- /dev/null +++ b/graphics/pokemon/mawile/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +205 205 205 +213 131 172 +189 98 139 +156 74 106 +0 0 0 +255 222 139 +255 197 90 +213 156 74 +156 123 57 +0 0 0 +197 197 197 +164 164 164 +131 131 131 +82 82 82 diff --git a/graphics/pokemon/mawile/shiny_gba.pal b/graphics/pokemon/mawile/shiny_gba.pal new file mode 100644 index 000000000000..ceadfc93ea70 --- /dev/null +++ b/graphics/pokemon/mawile/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +205 205 205 +255 123 82 +222 98 49 +180 65 49 +0 0 0 +255 222 139 +255 197 90 +213 156 74 +156 123 57 +0 0 0 +238 156 197 +205 123 164 +164 90 131 +131 49 90 diff --git a/graphics/pokemon/medicham/anim_front_gba.png b/graphics/pokemon/medicham/anim_front_gba.png new file mode 100644 index 000000000000..7dc0762c41ce Binary files /dev/null and b/graphics/pokemon/medicham/anim_front_gba.png differ diff --git a/graphics/pokemon/medicham/back_gba.png b/graphics/pokemon/medicham/back_gba.png new file mode 100644 index 000000000000..f4f58839b4c5 Binary files /dev/null and b/graphics/pokemon/medicham/back_gba.png differ diff --git a/graphics/pokemon/medicham/icon_gba.png b/graphics/pokemon/medicham/icon_gba.png new file mode 100644 index 000000000000..ed287fb28a64 Binary files /dev/null and b/graphics/pokemon/medicham/icon_gba.png differ diff --git a/graphics/pokemon/medicham/normal_gba.pal b/graphics/pokemon/medicham/normal_gba.pal new file mode 100644 index 000000000000..ffc38ab86ecf --- /dev/null +++ b/graphics/pokemon/medicham/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 213 139 +255 255 255 +255 156 148 +230 123 123 +205 90 82 +123 82 74 +0 0 0 +164 139 106 +164 164 164 +131 131 131 +255 230 131 +255 205 90 +238 238 213 +213 213 197 +189 189 172 +139 139 123 diff --git a/graphics/pokemon/medicham/overworldf.png b/graphics/pokemon/medicham/overworldf.png new file mode 100644 index 000000000000..d48352aa9ee4 Binary files /dev/null and b/graphics/pokemon/medicham/overworldf.png differ diff --git a/graphics/pokemon/medicham/shiny_gba.pal b/graphics/pokemon/medicham/shiny_gba.pal new file mode 100644 index 000000000000..9a1d82aa7336 --- /dev/null +++ b/graphics/pokemon/medicham/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 213 139 +255 255 255 +139 189 246 +98 148 205 +74 115 172 +74 90 115 +0 0 0 +164 139 106 +164 164 164 +131 131 131 +255 230 131 +255 205 90 +238 205 164 +230 172 139 +205 148 115 +123 90 74 diff --git a/graphics/pokemon/meditite/anim_front_gba.png b/graphics/pokemon/meditite/anim_front_gba.png new file mode 100644 index 000000000000..cd9516ad2ddb Binary files /dev/null and b/graphics/pokemon/meditite/anim_front_gba.png differ diff --git a/graphics/pokemon/meditite/back_gba.png b/graphics/pokemon/meditite/back_gba.png new file mode 100644 index 000000000000..8c00d8f6d430 Binary files /dev/null and b/graphics/pokemon/meditite/back_gba.png differ diff --git a/graphics/pokemon/meditite/icon_gba.png b/graphics/pokemon/meditite/icon_gba.png new file mode 100644 index 000000000000..05a02f077706 Binary files /dev/null and b/graphics/pokemon/meditite/icon_gba.png differ diff --git a/graphics/pokemon/meditite/normal_gba.pal b/graphics/pokemon/meditite/normal_gba.pal new file mode 100644 index 000000000000..a60729a6ad07 --- /dev/null +++ b/graphics/pokemon/meditite/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 189 139 +255 255 255 +238 230 230 +205 197 197 +148 123 123 +255 131 106 +230 90 57 +180 65 49 +180 57 90 +115 41 65 +0 0 0 +197 222 255 +139 189 246 +98 148 205 +74 115 172 +74 90 115 diff --git a/graphics/pokemon/meditite/overworld.png b/graphics/pokemon/meditite/overworld.png index 53adfb2b00d5..8fb9cdef3fcc 100644 Binary files a/graphics/pokemon/meditite/overworld.png and b/graphics/pokemon/meditite/overworld.png differ diff --git a/graphics/pokemon/meditite/overworldf.png b/graphics/pokemon/meditite/overworldf.png new file mode 100644 index 000000000000..53adfb2b00d5 Binary files /dev/null and b/graphics/pokemon/meditite/overworldf.png differ diff --git a/graphics/pokemon/meditite/shiny_gba.pal b/graphics/pokemon/meditite/shiny_gba.pal new file mode 100644 index 000000000000..de7c38f5aba1 --- /dev/null +++ b/graphics/pokemon/meditite/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 189 139 +255 255 255 +246 230 238 +213 189 205 +164 115 123 +255 131 106 +255 139 57 +180 65 49 +180 57 90 +115 41 65 +0 0 0 +255 131 106 +230 90 57 +180 65 49 +180 57 90 +115 41 65 diff --git a/graphics/pokemon/meganium/anim_front_gba.png b/graphics/pokemon/meganium/anim_front_gba.png new file mode 100644 index 000000000000..9317b389ac2a Binary files /dev/null and b/graphics/pokemon/meganium/anim_front_gba.png differ diff --git a/graphics/pokemon/meganium/back_gba.png b/graphics/pokemon/meganium/back_gba.png new file mode 100644 index 000000000000..be01710af5ae Binary files /dev/null and b/graphics/pokemon/meganium/back_gba.png differ diff --git a/graphics/pokemon/meganium/icon_gba.png b/graphics/pokemon/meganium/icon_gba.png new file mode 100644 index 000000000000..ce4592272457 Binary files /dev/null and b/graphics/pokemon/meganium/icon_gba.png differ diff --git a/graphics/pokemon/meganium/normal_gba.pal b/graphics/pokemon/meganium/normal_gba.pal new file mode 100644 index 000000000000..6a4bca91cc3d --- /dev/null +++ b/graphics/pokemon/meganium/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +189 255 123 +156 230 82 +106 189 49 +32 139 16 +98 74 0 +246 164 156 +255 57 90 +205 32 57 +123 16 57 +205 205 205 +106 106 106 +16 16 16 +255 222 32 +230 172 0 diff --git a/graphics/pokemon/meganium/overworldf.png b/graphics/pokemon/meganium/overworldf.png new file mode 100644 index 000000000000..2217fd815731 Binary files /dev/null and b/graphics/pokemon/meganium/overworldf.png differ diff --git a/graphics/pokemon/meganium/shiny_gba.pal b/graphics/pokemon/meganium/shiny_gba.pal new file mode 100644 index 000000000000..0b03b419d144 --- /dev/null +++ b/graphics/pokemon/meganium/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 98 +246 230 41 +213 197 16 +131 115 8 +74 57 0 +255 180 65 +255 123 16 +205 74 0 +139 74 0 +205 205 205 +106 106 106 +16 16 16 +255 222 32 +230 172 0 diff --git a/graphics/pokemon/melmetal/gigantamax/back.png b/graphics/pokemon/melmetal/gmax/back.png similarity index 100% rename from graphics/pokemon/melmetal/gigantamax/back.png rename to graphics/pokemon/melmetal/gmax/back.png diff --git a/graphics/pokemon/melmetal/gigantamax/front.png b/graphics/pokemon/melmetal/gmax/front.png similarity index 100% rename from graphics/pokemon/melmetal/gigantamax/front.png rename to graphics/pokemon/melmetal/gmax/front.png diff --git a/graphics/pokemon/melmetal/gigantamax/icon.png b/graphics/pokemon/melmetal/gmax/icon.png similarity index 100% rename from graphics/pokemon/melmetal/gigantamax/icon.png rename to graphics/pokemon/melmetal/gmax/icon.png diff --git a/graphics/pokemon/melmetal/gigantamax/normal.pal b/graphics/pokemon/melmetal/gmax/normal.pal similarity index 100% rename from graphics/pokemon/melmetal/gigantamax/normal.pal rename to graphics/pokemon/melmetal/gmax/normal.pal diff --git a/graphics/pokemon/melmetal/gigantamax/shiny.pal b/graphics/pokemon/melmetal/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/melmetal/gigantamax/shiny.pal rename to graphics/pokemon/melmetal/gmax/shiny.pal diff --git a/graphics/pokemon/meowstic/female/anim_front.png b/graphics/pokemon/meowstic/f/anim_front.png similarity index 100% rename from graphics/pokemon/meowstic/female/anim_front.png rename to graphics/pokemon/meowstic/f/anim_front.png diff --git a/graphics/pokemon/meowstic/female/back.png b/graphics/pokemon/meowstic/f/back.png similarity index 100% rename from graphics/pokemon/meowstic/female/back.png rename to graphics/pokemon/meowstic/f/back.png diff --git a/graphics/pokemon/meowstic/female/icon.png b/graphics/pokemon/meowstic/f/icon.png similarity index 100% rename from graphics/pokemon/meowstic/female/icon.png rename to graphics/pokemon/meowstic/f/icon.png diff --git a/graphics/pokemon/meowstic/female/normal.pal b/graphics/pokemon/meowstic/f/normal.pal similarity index 100% rename from graphics/pokemon/meowstic/female/normal.pal rename to graphics/pokemon/meowstic/f/normal.pal diff --git a/graphics/pokemon/meowstic/female/overworld.png b/graphics/pokemon/meowstic/f/overworld.png similarity index 100% rename from graphics/pokemon/meowstic/female/overworld.png rename to graphics/pokemon/meowstic/f/overworld.png diff --git a/graphics/pokemon/meowstic/female/overworld_normal.pal b/graphics/pokemon/meowstic/f/overworld_normal.pal similarity index 100% rename from graphics/pokemon/meowstic/female/overworld_normal.pal rename to graphics/pokemon/meowstic/f/overworld_normal.pal diff --git a/graphics/pokemon/meowstic/female/overworld_shiny.pal b/graphics/pokemon/meowstic/f/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/meowstic/female/overworld_shiny.pal rename to graphics/pokemon/meowstic/f/overworld_shiny.pal diff --git a/graphics/pokemon/meowstic/female/shiny.pal b/graphics/pokemon/meowstic/f/shiny.pal similarity index 100% rename from graphics/pokemon/meowstic/female/shiny.pal rename to graphics/pokemon/meowstic/f/shiny.pal diff --git a/graphics/pokemon/meowth/alolan/back.png b/graphics/pokemon/meowth/alola/back.png similarity index 100% rename from graphics/pokemon/meowth/alolan/back.png rename to graphics/pokemon/meowth/alola/back.png diff --git a/graphics/pokemon/meowth/alolan/front.png b/graphics/pokemon/meowth/alola/front.png similarity index 100% rename from graphics/pokemon/meowth/alolan/front.png rename to graphics/pokemon/meowth/alola/front.png diff --git a/graphics/pokemon/meowth/alolan/icon.png b/graphics/pokemon/meowth/alola/icon.png similarity index 100% rename from graphics/pokemon/meowth/alolan/icon.png rename to graphics/pokemon/meowth/alola/icon.png diff --git a/graphics/pokemon/meowth/alolan/normal.pal b/graphics/pokemon/meowth/alola/normal.pal similarity index 100% rename from graphics/pokemon/meowth/alolan/normal.pal rename to graphics/pokemon/meowth/alola/normal.pal diff --git a/graphics/pokemon/meowth/alolan/overworld.png b/graphics/pokemon/meowth/alola/overworld.png similarity index 100% rename from graphics/pokemon/meowth/alolan/overworld.png rename to graphics/pokemon/meowth/alola/overworld.png diff --git a/graphics/pokemon/meowth/alolan/overworld_normal.pal b/graphics/pokemon/meowth/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/meowth/alolan/overworld_normal.pal rename to graphics/pokemon/meowth/alola/overworld_normal.pal diff --git a/graphics/pokemon/meowth/alolan/overworld_shiny.pal b/graphics/pokemon/meowth/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/meowth/alolan/overworld_shiny.pal rename to graphics/pokemon/meowth/alola/overworld_shiny.pal diff --git a/graphics/pokemon/meowth/alolan/shiny.pal b/graphics/pokemon/meowth/alola/shiny.pal similarity index 100% rename from graphics/pokemon/meowth/alolan/shiny.pal rename to graphics/pokemon/meowth/alola/shiny.pal diff --git a/graphics/pokemon/meowth/anim_front_gba.png b/graphics/pokemon/meowth/anim_front_gba.png new file mode 100644 index 000000000000..ab750326a026 Binary files /dev/null and b/graphics/pokemon/meowth/anim_front_gba.png differ diff --git a/graphics/pokemon/meowth/back_gba.png b/graphics/pokemon/meowth/back_gba.png new file mode 100644 index 000000000000..d87e7aa145d9 Binary files /dev/null and b/graphics/pokemon/meowth/back_gba.png differ diff --git a/graphics/pokemon/meowth/galarian/back.png b/graphics/pokemon/meowth/galar/back.png similarity index 100% rename from graphics/pokemon/meowth/galarian/back.png rename to graphics/pokemon/meowth/galar/back.png diff --git a/graphics/pokemon/meowth/galarian/front.png b/graphics/pokemon/meowth/galar/front.png similarity index 100% rename from graphics/pokemon/meowth/galarian/front.png rename to graphics/pokemon/meowth/galar/front.png diff --git a/graphics/pokemon/meowth/galarian/icon.png b/graphics/pokemon/meowth/galar/icon.png similarity index 100% rename from graphics/pokemon/meowth/galarian/icon.png rename to graphics/pokemon/meowth/galar/icon.png diff --git a/graphics/pokemon/meowth/galarian/normal.pal b/graphics/pokemon/meowth/galar/normal.pal similarity index 100% rename from graphics/pokemon/meowth/galarian/normal.pal rename to graphics/pokemon/meowth/galar/normal.pal diff --git a/graphics/pokemon/meowth/galarian/overworld.png b/graphics/pokemon/meowth/galar/overworld.png similarity index 100% rename from graphics/pokemon/meowth/galarian/overworld.png rename to graphics/pokemon/meowth/galar/overworld.png diff --git a/graphics/pokemon/meowth/galarian/overworld_normal.pal b/graphics/pokemon/meowth/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/meowth/galarian/overworld_normal.pal rename to graphics/pokemon/meowth/galar/overworld_normal.pal diff --git a/graphics/pokemon/meowth/galarian/overworld_shiny.pal b/graphics/pokemon/meowth/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/meowth/galarian/overworld_shiny.pal rename to graphics/pokemon/meowth/galar/overworld_shiny.pal diff --git a/graphics/pokemon/meowth/galarian/shiny.pal b/graphics/pokemon/meowth/galar/shiny.pal similarity index 100% rename from graphics/pokemon/meowth/galarian/shiny.pal rename to graphics/pokemon/meowth/galar/shiny.pal diff --git a/graphics/pokemon/meowth/gigantamax/back.png b/graphics/pokemon/meowth/gmax/back.png similarity index 100% rename from graphics/pokemon/meowth/gigantamax/back.png rename to graphics/pokemon/meowth/gmax/back.png diff --git a/graphics/pokemon/meowth/gigantamax/front.png b/graphics/pokemon/meowth/gmax/front.png similarity index 100% rename from graphics/pokemon/meowth/gigantamax/front.png rename to graphics/pokemon/meowth/gmax/front.png diff --git a/graphics/pokemon/meowth/gigantamax/icon.png b/graphics/pokemon/meowth/gmax/icon.png similarity index 100% rename from graphics/pokemon/meowth/gigantamax/icon.png rename to graphics/pokemon/meowth/gmax/icon.png diff --git a/graphics/pokemon/meowth/gigantamax/normal.pal b/graphics/pokemon/meowth/gmax/normal.pal similarity index 100% rename from graphics/pokemon/meowth/gigantamax/normal.pal rename to graphics/pokemon/meowth/gmax/normal.pal diff --git a/graphics/pokemon/meowth/gigantamax/shiny.pal b/graphics/pokemon/meowth/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/meowth/gigantamax/shiny.pal rename to graphics/pokemon/meowth/gmax/shiny.pal diff --git a/graphics/pokemon/meowth/icon_gba.png b/graphics/pokemon/meowth/icon_gba.png new file mode 100644 index 000000000000..146c69093e1f Binary files /dev/null and b/graphics/pokemon/meowth/icon_gba.png differ diff --git a/graphics/pokemon/meowth/normal_gba.pal b/graphics/pokemon/meowth/normal_gba.pal new file mode 100644 index 000000000000..034249ad5366 --- /dev/null +++ b/graphics/pokemon/meowth/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 148 +255 213 0 +205 164 0 +255 115 82 +213 90 57 +16 16 16 +230 230 230 +238 156 49 +205 123 16 +148 65 0 +255 255 180 +255 230 131 +230 180 65 +156 106 0 diff --git a/graphics/pokemon/meowth/shiny_gba.pal b/graphics/pokemon/meowth/shiny_gba.pal new file mode 100644 index 000000000000..68f386ca69f6 --- /dev/null +++ b/graphics/pokemon/meowth/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 148 +255 213 0 +205 164 0 +255 115 82 +213 90 57 +16 16 16 +230 230 230 +255 123 139 +222 82 98 +139 41 57 +255 238 148 +255 197 106 +213 156 65 +131 74 0 diff --git a/graphics/pokemon/metagross/anim_front_gba.png b/graphics/pokemon/metagross/anim_front_gba.png new file mode 100644 index 000000000000..def46cfa3e44 Binary files /dev/null and b/graphics/pokemon/metagross/anim_front_gba.png differ diff --git a/graphics/pokemon/metagross/back_gba.png b/graphics/pokemon/metagross/back_gba.png new file mode 100644 index 000000000000..2097f945d611 Binary files /dev/null and b/graphics/pokemon/metagross/back_gba.png differ diff --git a/graphics/pokemon/metagross/icon_gba.png b/graphics/pokemon/metagross/icon_gba.png new file mode 100644 index 000000000000..e9cf14ab1631 Binary files /dev/null and b/graphics/pokemon/metagross/icon_gba.png differ diff --git a/graphics/pokemon/metagross/normal_gba.pal b/graphics/pokemon/metagross/normal_gba.pal new file mode 100644 index 000000000000..265dadb67b71 --- /dev/null +++ b/graphics/pokemon/metagross/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +205 205 205 +172 172 172 +148 139 148 +115 106 115 +222 222 222 +131 74 74 +255 106 106 +213 74 82 +131 205 255 +197 222 255 +90 164 255 +74 131 213 +57 98 180 +49 57 115 +16 16 16 diff --git a/graphics/pokemon/metagross/shiny_gba.pal b/graphics/pokemon/metagross/shiny_gba.pal new file mode 100644 index 000000000000..4ff89d816ec9 --- /dev/null +++ b/graphics/pokemon/metagross/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +238 172 82 +205 139 49 +172 106 16 +139 74 0 +255 205 115 +131 74 74 +255 106 106 +213 74 82 +238 238 246 +255 255 255 +213 213 222 +172 172 180 +139 131 139 +98 90 98 +16 16 16 diff --git a/graphics/pokemon/metang/anim_front_gba.png b/graphics/pokemon/metang/anim_front_gba.png new file mode 100644 index 000000000000..c1d71aa9ba92 Binary files /dev/null and b/graphics/pokemon/metang/anim_front_gba.png differ diff --git a/graphics/pokemon/metang/back_gba.png b/graphics/pokemon/metang/back_gba.png new file mode 100644 index 000000000000..2ba18eb3ddd8 Binary files /dev/null and b/graphics/pokemon/metang/back_gba.png differ diff --git a/graphics/pokemon/metang/icon_gba.png b/graphics/pokemon/metang/icon_gba.png new file mode 100644 index 000000000000..cc095e935412 Binary files /dev/null and b/graphics/pokemon/metang/icon_gba.png differ diff --git a/graphics/pokemon/metang/normal_gba.pal b/graphics/pokemon/metang/normal_gba.pal new file mode 100644 index 000000000000..41b48bc0896b --- /dev/null +++ b/graphics/pokemon/metang/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +205 205 205 +172 172 172 +148 139 148 +115 106 115 +222 222 222 +131 74 74 +255 106 106 +213 74 82 +131 205 255 +255 255 255 +90 164 255 +74 131 213 +57 98 180 +49 57 115 +16 16 16 diff --git a/graphics/pokemon/metang/shiny_gba.pal b/graphics/pokemon/metang/shiny_gba.pal new file mode 100644 index 000000000000..56c14cd7563d --- /dev/null +++ b/graphics/pokemon/metang/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +238 172 82 +205 139 49 +172 106 16 +139 74 0 +255 205 115 +156 65 65 +255 106 106 +255 74 82 +238 238 246 +255 255 255 +213 213 222 +172 172 180 +123 115 123 +82 74 82 +16 16 16 diff --git a/graphics/pokemon/metapod/anim_front_gba.png b/graphics/pokemon/metapod/anim_front_gba.png new file mode 100644 index 000000000000..89843520dafd Binary files /dev/null and b/graphics/pokemon/metapod/anim_front_gba.png differ diff --git a/graphics/pokemon/metapod/back_gba.png b/graphics/pokemon/metapod/back_gba.png new file mode 100644 index 000000000000..42b80d17cc6b Binary files /dev/null and b/graphics/pokemon/metapod/back_gba.png differ diff --git a/graphics/pokemon/metapod/icon_gba.png b/graphics/pokemon/metapod/icon_gba.png new file mode 100644 index 000000000000..2316b24081a1 Binary files /dev/null and b/graphics/pokemon/metapod/icon_gba.png differ diff --git a/graphics/pokemon/metapod/normal_gba.pal b/graphics/pokemon/metapod/normal_gba.pal new file mode 100644 index 000000000000..7475228890cd --- /dev/null +++ b/graphics/pokemon/metapod/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 255 115 +156 213 74 +115 172 49 +82 98 41 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +197 197 197 +16 16 16 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/pokemon/metapod/shiny_gba.pal b/graphics/pokemon/metapod/shiny_gba.pal new file mode 100644 index 000000000000..149d03c64eb6 --- /dev/null +++ b/graphics/pokemon/metapod/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 180 139 +255 148 106 +238 98 57 +123 57 24 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +197 197 197 +16 16 16 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/pokemon/mew/anim_front_gba.png b/graphics/pokemon/mew/anim_front_gba.png new file mode 100644 index 000000000000..fc6dacbfdfa6 Binary files /dev/null and b/graphics/pokemon/mew/anim_front_gba.png differ diff --git a/graphics/pokemon/mew/back_gba.png b/graphics/pokemon/mew/back_gba.png new file mode 100644 index 000000000000..d73526245ef2 Binary files /dev/null and b/graphics/pokemon/mew/back_gba.png differ diff --git a/graphics/pokemon/mew/icon_gba.png b/graphics/pokemon/mew/icon_gba.png new file mode 100644 index 000000000000..cffd1dacc9c1 Binary files /dev/null and b/graphics/pokemon/mew/icon_gba.png differ diff --git a/graphics/pokemon/mew/normal_gba.pal b/graphics/pokemon/mew/normal_gba.pal new file mode 100644 index 000000000000..d9a50cdecabc --- /dev/null +++ b/graphics/pokemon/mew/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +213 213 213 +24 90 164 +74 148 213 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +246 213 230 +255 197 205 +255 131 123 +213 74 82 +180 32 49 +41 41 41 diff --git a/graphics/pokemon/mew/shiny_gba.pal b/graphics/pokemon/mew/shiny_gba.pal new file mode 100644 index 000000000000..0bf72b2d86bd --- /dev/null +++ b/graphics/pokemon/mew/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +213 213 213 +24 90 164 +74 148 213 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +238 255 255 +197 238 255 +139 197 246 +82 123 205 +74 90 180 +41 41 41 diff --git a/graphics/pokemon/mewtwo/anim_front_gba.png b/graphics/pokemon/mewtwo/anim_front_gba.png new file mode 100644 index 000000000000..e3ef74e032c6 Binary files /dev/null and b/graphics/pokemon/mewtwo/anim_front_gba.png differ diff --git a/graphics/pokemon/mewtwo/back_gba.png b/graphics/pokemon/mewtwo/back_gba.png new file mode 100644 index 000000000000..e466856e5046 Binary files /dev/null and b/graphics/pokemon/mewtwo/back_gba.png differ diff --git a/graphics/pokemon/mewtwo/icon_gba.png b/graphics/pokemon/mewtwo/icon_gba.png new file mode 100644 index 000000000000..65f2aeec2b64 Binary files /dev/null and b/graphics/pokemon/mewtwo/icon_gba.png differ diff --git a/graphics/pokemon/mewtwo/normal_gba.pal b/graphics/pokemon/mewtwo/normal_gba.pal new file mode 100644 index 000000000000..4afd3567ec35 --- /dev/null +++ b/graphics/pokemon/mewtwo/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 213 213 +230 230 246 +189 189 213 +139 139 180 +82 82 106 +230 180 255 +180 131 213 +139 90 172 +115 49 148 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/mewtwo/shiny_gba.pal b/graphics/pokemon/mewtwo/shiny_gba.pal new file mode 100644 index 000000000000..c65c6c83e71f --- /dev/null +++ b/graphics/pokemon/mewtwo/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 213 213 +230 230 230 +180 180 180 +148 148 148 +74 74 57 +189 238 90 +148 205 65 +90 148 32 +65 90 41 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/mightyena/anim_front_gba.png b/graphics/pokemon/mightyena/anim_front_gba.png new file mode 100644 index 000000000000..494b7b23aacd Binary files /dev/null and b/graphics/pokemon/mightyena/anim_front_gba.png differ diff --git a/graphics/pokemon/mightyena/back_gba.png b/graphics/pokemon/mightyena/back_gba.png new file mode 100644 index 000000000000..1885625904ea Binary files /dev/null and b/graphics/pokemon/mightyena/back_gba.png differ diff --git a/graphics/pokemon/mightyena/icon_gba.png b/graphics/pokemon/mightyena/icon_gba.png new file mode 100644 index 000000000000..3f9e61763e18 Binary files /dev/null and b/graphics/pokemon/mightyena/icon_gba.png differ diff --git a/graphics/pokemon/mightyena/normal_gba.pal b/graphics/pokemon/mightyena/normal_gba.pal new file mode 100644 index 000000000000..42cdc8fc1a5f --- /dev/null +++ b/graphics/pokemon/mightyena/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +57 164 164 +0 0 0 +0 0 0 +172 172 180 +148 139 156 +74 82 106 +49 49 65 +32 32 41 +222 230 238 +197 205 213 +255 197 90 +172 123 90 +222 57 57 +164 16 16 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/mightyena/shiny_gba.pal b/graphics/pokemon/mightyena/shiny_gba.pal new file mode 100644 index 000000000000..7881952af13b --- /dev/null +++ b/graphics/pokemon/mightyena/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +57 164 164 +0 0 0 +0 0 0 +255 205 106 +213 172 74 +164 123 82 +131 90 57 +98 57 16 +255 238 172 +255 222 123 +255 255 255 +172 123 90 +74 98 172 +49 57 115 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/milotic/anim_front_gba.png b/graphics/pokemon/milotic/anim_front_gba.png new file mode 100644 index 000000000000..a80ed6f94d57 Binary files /dev/null and b/graphics/pokemon/milotic/anim_front_gba.png differ diff --git a/graphics/pokemon/milotic/back_gba.png b/graphics/pokemon/milotic/back_gba.png new file mode 100644 index 000000000000..5d91dfb635a2 Binary files /dev/null and b/graphics/pokemon/milotic/back_gba.png differ diff --git a/graphics/pokemon/milotic/icon_gba.png b/graphics/pokemon/milotic/icon_gba.png new file mode 100644 index 000000000000..c1aa2ec8ad39 Binary files /dev/null and b/graphics/pokemon/milotic/icon_gba.png differ diff --git a/graphics/pokemon/milotic/normal_gba.pal b/graphics/pokemon/milotic/normal_gba.pal new file mode 100644 index 000000000000..df5cab01a08c --- /dev/null +++ b/graphics/pokemon/milotic/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +246 246 148 +115 57 49 +164 106 82 +222 189 156 +255 213 180 +255 230 213 +148 172 197 +139 197 255 +213 98 65 +238 131 90 +180 82 65 +230 131 139 +255 164 131 +106 98 123 +246 246 238 +0 0 0 diff --git a/graphics/pokemon/milotic/overworldf.png b/graphics/pokemon/milotic/overworldf.png new file mode 100644 index 000000000000..3314e55fdd71 Binary files /dev/null and b/graphics/pokemon/milotic/overworldf.png differ diff --git a/graphics/pokemon/milotic/shiny_gba.pal b/graphics/pokemon/milotic/shiny_gba.pal new file mode 100644 index 000000000000..8a57b80b20fd --- /dev/null +++ b/graphics/pokemon/milotic/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +246 246 148 +115 57 49 +164 106 82 +222 189 156 +255 213 180 +255 238 222 +222 197 0 +255 230 32 +148 156 205 +180 189 238 +90 98 148 +230 131 139 +255 164 131 +106 98 123 +246 246 238 +0 0 0 diff --git a/graphics/pokemon/miltank/anim_front_gba.png b/graphics/pokemon/miltank/anim_front_gba.png new file mode 100644 index 000000000000..f702f11436d5 Binary files /dev/null and b/graphics/pokemon/miltank/anim_front_gba.png differ diff --git a/graphics/pokemon/miltank/back_gba.png b/graphics/pokemon/miltank/back_gba.png new file mode 100644 index 000000000000..0cf5b21e68b9 Binary files /dev/null and b/graphics/pokemon/miltank/back_gba.png differ diff --git a/graphics/pokemon/miltank/icon_gba.png b/graphics/pokemon/miltank/icon_gba.png new file mode 100644 index 000000000000..ade9cad90be4 Binary files /dev/null and b/graphics/pokemon/miltank/icon_gba.png differ diff --git a/graphics/pokemon/miltank/normal_gba.pal b/graphics/pokemon/miltank/normal_gba.pal new file mode 100644 index 000000000000..105c67283353 --- /dev/null +++ b/graphics/pokemon/miltank/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 213 222 +255 172 164 +213 123 115 +139 74 74 +255 230 156 +238 197 123 +197 156 82 +148 106 32 +0 82 255 +164 164 164 +90 90 90 +49 49 49 +24 24 32 +180 57 98 diff --git a/graphics/pokemon/miltank/shiny_gba.pal b/graphics/pokemon/miltank/shiny_gba.pal new file mode 100644 index 000000000000..7dcb6f2ee1d1 --- /dev/null +++ b/graphics/pokemon/miltank/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 246 238 +230 238 238 +156 172 189 +90 98 131 +255 255 255 +222 213 197 +172 156 115 +139 106 74 +0 82 255 +213 74 49 +139 57 32 +90 24 16 +41 24 24 +238 106 115 diff --git a/graphics/pokemon/minun/anim_front_gba.png b/graphics/pokemon/minun/anim_front_gba.png new file mode 100644 index 000000000000..3cd9688ba4b9 Binary files /dev/null and b/graphics/pokemon/minun/anim_front_gba.png differ diff --git a/graphics/pokemon/minun/back_gba.png b/graphics/pokemon/minun/back_gba.png new file mode 100644 index 000000000000..7c1377d59b5b Binary files /dev/null and b/graphics/pokemon/minun/back_gba.png differ diff --git a/graphics/pokemon/minun/icon_gba.png b/graphics/pokemon/minun/icon_gba.png new file mode 100644 index 000000000000..1aacd776a20a Binary files /dev/null and b/graphics/pokemon/minun/icon_gba.png differ diff --git a/graphics/pokemon/minun/normal_gba.pal b/graphics/pokemon/minun/normal_gba.pal new file mode 100644 index 000000000000..3ed8a19eea39 --- /dev/null +++ b/graphics/pokemon/minun/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 246 222 +255 238 197 +238 213 131 +189 172 131 +123 115 82 +98 156 255 +90 123 230 +49 90 131 +238 82 57 +41 49 65 +98 98 115 +65 65 98 +148 148 148 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/minun/shiny_gba.pal b/graphics/pokemon/minun/shiny_gba.pal new file mode 100644 index 000000000000..db9c935349d4 --- /dev/null +++ b/graphics/pokemon/minun/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 246 222 +255 238 164 +255 213 106 +205 148 82 +139 82 16 +148 197 205 +82 139 131 +49 115 106 +238 82 57 +41 49 65 +98 98 115 +65 65 98 +148 148 148 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/misdreavus/anim_front_gba.png b/graphics/pokemon/misdreavus/anim_front_gba.png new file mode 100644 index 000000000000..bd669637bbc7 Binary files /dev/null and b/graphics/pokemon/misdreavus/anim_front_gba.png differ diff --git a/graphics/pokemon/misdreavus/back_gba.png b/graphics/pokemon/misdreavus/back_gba.png new file mode 100644 index 000000000000..44b44a3ffd1f Binary files /dev/null and b/graphics/pokemon/misdreavus/back_gba.png differ diff --git a/graphics/pokemon/misdreavus/icon_gba.png b/graphics/pokemon/misdreavus/icon_gba.png new file mode 100644 index 000000000000..bbe121b91040 Binary files /dev/null and b/graphics/pokemon/misdreavus/icon_gba.png differ diff --git a/graphics/pokemon/misdreavus/normal_gba.pal b/graphics/pokemon/misdreavus/normal_gba.pal new file mode 100644 index 000000000000..c57ab5ea74e9 --- /dev/null +++ b/graphics/pokemon/misdreavus/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +16 16 16 +41 74 65 +74 106 115 +115 156 148 +148 189 180 +255 0 246 +255 246 82 +172 16 74 +238 90 148 +255 213 197 +123 32 0 +189 32 24 +255 90 41 +255 148 189 +255 255 255 diff --git a/graphics/pokemon/misdreavus/shiny_gba.pal b/graphics/pokemon/misdreavus/shiny_gba.pal new file mode 100644 index 000000000000..8814515be27f --- /dev/null +++ b/graphics/pokemon/misdreavus/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +16 16 16 +98 82 16 +156 139 49 +213 197 98 +246 230 123 +255 0 255 +255 246 82 +82 65 32 +230 189 65 +255 230 106 +123 41 8 +172 57 24 +255 90 41 +255 197 49 +255 255 255 diff --git a/graphics/pokemon/moltres/anim_front_gba.png b/graphics/pokemon/moltres/anim_front_gba.png new file mode 100644 index 000000000000..2f49fe6a7acc Binary files /dev/null and b/graphics/pokemon/moltres/anim_front_gba.png differ diff --git a/graphics/pokemon/moltres/back_gba.png b/graphics/pokemon/moltres/back_gba.png new file mode 100644 index 000000000000..11ed8ced86d6 Binary files /dev/null and b/graphics/pokemon/moltres/back_gba.png differ diff --git a/graphics/pokemon/moltres/galarian/back.png b/graphics/pokemon/moltres/galar/back.png similarity index 100% rename from graphics/pokemon/moltres/galarian/back.png rename to graphics/pokemon/moltres/galar/back.png diff --git a/graphics/pokemon/moltres/galarian/front.png b/graphics/pokemon/moltres/galar/front.png similarity index 100% rename from graphics/pokemon/moltres/galarian/front.png rename to graphics/pokemon/moltres/galar/front.png diff --git a/graphics/pokemon/moltres/galarian/icon.png b/graphics/pokemon/moltres/galar/icon.png similarity index 100% rename from graphics/pokemon/moltres/galarian/icon.png rename to graphics/pokemon/moltres/galar/icon.png diff --git a/graphics/pokemon/moltres/galarian/normal.pal b/graphics/pokemon/moltres/galar/normal.pal similarity index 100% rename from graphics/pokemon/moltres/galarian/normal.pal rename to graphics/pokemon/moltres/galar/normal.pal diff --git a/graphics/pokemon/moltres/galarian/overworld.png b/graphics/pokemon/moltres/galar/overworld.png similarity index 100% rename from graphics/pokemon/moltres/galarian/overworld.png rename to graphics/pokemon/moltres/galar/overworld.png diff --git a/graphics/pokemon/moltres/galarian/overworld_normal.pal b/graphics/pokemon/moltres/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/moltres/galarian/overworld_normal.pal rename to graphics/pokemon/moltres/galar/overworld_normal.pal diff --git a/graphics/pokemon/moltres/galarian/overworld_shiny.pal b/graphics/pokemon/moltres/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/moltres/galarian/overworld_shiny.pal rename to graphics/pokemon/moltres/galar/overworld_shiny.pal diff --git a/graphics/pokemon/moltres/galarian/shiny.pal b/graphics/pokemon/moltres/galar/shiny.pal similarity index 100% rename from graphics/pokemon/moltres/galarian/shiny.pal rename to graphics/pokemon/moltres/galar/shiny.pal diff --git a/graphics/pokemon/moltres/icon_gba.png b/graphics/pokemon/moltres/icon_gba.png new file mode 100644 index 000000000000..e15d2164abee Binary files /dev/null and b/graphics/pokemon/moltres/icon_gba.png differ diff --git a/graphics/pokemon/moltres/normal_gba.pal b/graphics/pokemon/moltres/normal_gba.pal new file mode 100644 index 000000000000..b27f7cdac9b0 --- /dev/null +++ b/graphics/pokemon/moltres/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +222 222 222 +180 0 0 +255 213 156 +255 148 74 +255 98 0 +238 0 0 +238 172 74 +205 123 32 +131 49 0 +255 246 65 +255 222 16 +255 172 0 +189 82 0 +16 16 16 diff --git a/graphics/pokemon/moltres/shiny_gba.pal b/graphics/pokemon/moltres/shiny_gba.pal new file mode 100644 index 000000000000..b289551aaa5c --- /dev/null +++ b/graphics/pokemon/moltres/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +222 222 222 +180 0 0 +255 213 156 +255 148 74 +255 98 0 +189 49 41 +255 115 90 +205 49 32 +164 16 32 +255 222 205 +255 172 164 +230 115 106 +172 57 57 +16 16 16 diff --git a/graphics/pokemon/mr_mime/anim_front_gba.png b/graphics/pokemon/mr_mime/anim_front_gba.png new file mode 100644 index 000000000000..710145fef412 Binary files /dev/null and b/graphics/pokemon/mr_mime/anim_front_gba.png differ diff --git a/graphics/pokemon/mr_mime/back_gba.png b/graphics/pokemon/mr_mime/back_gba.png new file mode 100644 index 000000000000..129fbb4e2c3c Binary files /dev/null and b/graphics/pokemon/mr_mime/back_gba.png differ diff --git a/graphics/pokemon/mr_mime/galarian/back.png b/graphics/pokemon/mr_mime/galar/back.png similarity index 100% rename from graphics/pokemon/mr_mime/galarian/back.png rename to graphics/pokemon/mr_mime/galar/back.png diff --git a/graphics/pokemon/mr_mime/galarian/front.png b/graphics/pokemon/mr_mime/galar/front.png similarity index 100% rename from graphics/pokemon/mr_mime/galarian/front.png rename to graphics/pokemon/mr_mime/galar/front.png diff --git a/graphics/pokemon/mr_mime/galarian/icon.png b/graphics/pokemon/mr_mime/galar/icon.png similarity index 100% rename from graphics/pokemon/mr_mime/galarian/icon.png rename to graphics/pokemon/mr_mime/galar/icon.png diff --git a/graphics/pokemon/mr_mime/galarian/normal.pal b/graphics/pokemon/mr_mime/galar/normal.pal similarity index 100% rename from graphics/pokemon/mr_mime/galarian/normal.pal rename to graphics/pokemon/mr_mime/galar/normal.pal diff --git a/graphics/pokemon/mr_mime/galarian/overworld.png b/graphics/pokemon/mr_mime/galar/overworld.png similarity index 100% rename from graphics/pokemon/mr_mime/galarian/overworld.png rename to graphics/pokemon/mr_mime/galar/overworld.png diff --git a/graphics/pokemon/mr_mime/galarian/overworld_normal.pal b/graphics/pokemon/mr_mime/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/mr_mime/galarian/overworld_normal.pal rename to graphics/pokemon/mr_mime/galar/overworld_normal.pal diff --git a/graphics/pokemon/mr_mime/galarian/overworld_shiny.pal b/graphics/pokemon/mr_mime/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/mr_mime/galarian/overworld_shiny.pal rename to graphics/pokemon/mr_mime/galar/overworld_shiny.pal diff --git a/graphics/pokemon/mr_mime/galarian/shiny.pal b/graphics/pokemon/mr_mime/galar/shiny.pal similarity index 100% rename from graphics/pokemon/mr_mime/galarian/shiny.pal rename to graphics/pokemon/mr_mime/galar/shiny.pal diff --git a/graphics/pokemon/mr_mime/icon_gba.png b/graphics/pokemon/mr_mime/icon_gba.png new file mode 100644 index 000000000000..b1e3b2bfb5c5 Binary files /dev/null and b/graphics/pokemon/mr_mime/icon_gba.png differ diff --git a/graphics/pokemon/mr_mime/normal_gba.pal b/graphics/pokemon/mr_mime/normal_gba.pal new file mode 100644 index 000000000000..269bf45edfb0 --- /dev/null +++ b/graphics/pokemon/mr_mime/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 180 +205 213 222 +156 164 172 +90 98 115 +49 57 74 +238 172 164 +230 98 74 +189 74 57 +131 49 49 +255 238 238 +255 205 205 +238 172 164 +139 90 82 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/mr_mime/shiny_gba.pal b/graphics/pokemon/mr_mime/shiny_gba.pal new file mode 100644 index 000000000000..c20f8dbf4afa --- /dev/null +++ b/graphics/pokemon/mr_mime/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 180 +205 213 222 +156 164 172 +90 98 115 +49 57 74 +180 230 82 +139 189 41 +98 148 0 +41 90 0 +255 238 238 +255 205 205 +230 172 172 +139 90 82 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/mudkip/anim_front_gba.png b/graphics/pokemon/mudkip/anim_front_gba.png new file mode 100644 index 000000000000..712f3ce5a85e Binary files /dev/null and b/graphics/pokemon/mudkip/anim_front_gba.png differ diff --git a/graphics/pokemon/mudkip/back_gba.png b/graphics/pokemon/mudkip/back_gba.png new file mode 100644 index 000000000000..1b1282d42b42 Binary files /dev/null and b/graphics/pokemon/mudkip/back_gba.png differ diff --git a/graphics/pokemon/mudkip/icon_gba.png b/graphics/pokemon/mudkip/icon_gba.png new file mode 100644 index 000000000000..5a657aa9161c Binary files /dev/null and b/graphics/pokemon/mudkip/icon_gba.png differ diff --git a/graphics/pokemon/mudkip/normal_gba.pal b/graphics/pokemon/mudkip/normal_gba.pal new file mode 100644 index 000000000000..bc3cc1b65f33 --- /dev/null +++ b/graphics/pokemon/mudkip/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +180 189 246 +156 172 222 +139 156 180 +123 115 123 +255 180 82 +246 156 65 +205 131 65 +164 123 90 +197 205 255 +255 255 255 +123 197 255 +90 172 230 +49 131 197 +74 74 131 +16 16 16 diff --git a/graphics/pokemon/mudkip/shiny_gba.pal b/graphics/pokemon/mudkip/shiny_gba.pal new file mode 100644 index 000000000000..ef5447b60f41 --- /dev/null +++ b/graphics/pokemon/mudkip/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 238 156 +255 205 106 +230 172 90 +213 156 74 +255 180 82 +246 156 65 +205 131 65 +164 123 90 +255 246 197 +255 255 255 +222 156 238 +197 115 222 +139 82 156 +106 49 123 +16 16 16 diff --git a/graphics/pokemon/muk/alolan/back.png b/graphics/pokemon/muk/alola/back.png similarity index 100% rename from graphics/pokemon/muk/alolan/back.png rename to graphics/pokemon/muk/alola/back.png diff --git a/graphics/pokemon/muk/alolan/front.png b/graphics/pokemon/muk/alola/front.png similarity index 100% rename from graphics/pokemon/muk/alolan/front.png rename to graphics/pokemon/muk/alola/front.png diff --git a/graphics/pokemon/muk/alolan/icon.png b/graphics/pokemon/muk/alola/icon.png similarity index 100% rename from graphics/pokemon/muk/alolan/icon.png rename to graphics/pokemon/muk/alola/icon.png diff --git a/graphics/pokemon/muk/alolan/normal.pal b/graphics/pokemon/muk/alola/normal.pal similarity index 100% rename from graphics/pokemon/muk/alolan/normal.pal rename to graphics/pokemon/muk/alola/normal.pal diff --git a/graphics/pokemon/muk/alolan/overworld.png b/graphics/pokemon/muk/alola/overworld.png similarity index 100% rename from graphics/pokemon/muk/alolan/overworld.png rename to graphics/pokemon/muk/alola/overworld.png diff --git a/graphics/pokemon/muk/alolan/overworld_normal.pal b/graphics/pokemon/muk/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/muk/alolan/overworld_normal.pal rename to graphics/pokemon/muk/alola/overworld_normal.pal diff --git a/graphics/pokemon/muk/alolan/overworld_shiny.pal b/graphics/pokemon/muk/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/muk/alolan/overworld_shiny.pal rename to graphics/pokemon/muk/alola/overworld_shiny.pal diff --git a/graphics/pokemon/muk/alolan/shiny.pal b/graphics/pokemon/muk/alola/shiny.pal similarity index 100% rename from graphics/pokemon/muk/alolan/shiny.pal rename to graphics/pokemon/muk/alola/shiny.pal diff --git a/graphics/pokemon/muk/anim_front_gba.png b/graphics/pokemon/muk/anim_front_gba.png new file mode 100644 index 000000000000..3ac15d0d0f06 Binary files /dev/null and b/graphics/pokemon/muk/anim_front_gba.png differ diff --git a/graphics/pokemon/muk/back_gba.png b/graphics/pokemon/muk/back_gba.png new file mode 100644 index 000000000000..f91c8ca5e601 Binary files /dev/null and b/graphics/pokemon/muk/back_gba.png differ diff --git a/graphics/pokemon/muk/icon_gba.png b/graphics/pokemon/muk/icon_gba.png new file mode 100644 index 000000000000..6d8d09350dd4 Binary files /dev/null and b/graphics/pokemon/muk/icon_gba.png differ diff --git a/graphics/pokemon/muk/normal_gba.pal b/graphics/pokemon/muk/normal_gba.pal new file mode 100644 index 000000000000..3a7db5d6cef2 --- /dev/null +++ b/graphics/pokemon/muk/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +238 222 238 +230 189 222 +197 156 180 +148 90 156 +90 49 115 +213 213 222 +172 180 189 +131 139 156 +65 74 90 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/muk/shiny_gba.pal b/graphics/pokemon/muk/shiny_gba.pal new file mode 100644 index 000000000000..98e32287857b --- /dev/null +++ b/graphics/pokemon/muk/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +238 222 238 +180 230 148 +139 189 106 +98 148 65 +57 106 24 +213 213 222 +172 180 189 +131 139 156 +65 74 90 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/murkrow/anim_front_gba.png b/graphics/pokemon/murkrow/anim_front_gba.png new file mode 100644 index 000000000000..85282ee7ed5e Binary files /dev/null and b/graphics/pokemon/murkrow/anim_front_gba.png differ diff --git a/graphics/pokemon/murkrow/back_gba.png b/graphics/pokemon/murkrow/back_gba.png new file mode 100644 index 000000000000..3007b7643434 Binary files /dev/null and b/graphics/pokemon/murkrow/back_gba.png differ diff --git a/graphics/pokemon/murkrow/icon_gba.png b/graphics/pokemon/murkrow/icon_gba.png new file mode 100644 index 000000000000..eac91aa18abc Binary files /dev/null and b/graphics/pokemon/murkrow/icon_gba.png differ diff --git a/graphics/pokemon/murkrow/normal_gba.pal b/graphics/pokemon/murkrow/normal_gba.pal new file mode 100644 index 000000000000..1d8b5f991fa0 --- /dev/null +++ b/graphics/pokemon/murkrow/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 172 139 +238 57 65 +172 16 32 +41 65 65 +57 82 82 +82 106 106 +139 164 164 +255 0 255 +106 74 16 +156 123 32 +213 180 41 +255 255 82 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/murkrow/overworld.png b/graphics/pokemon/murkrow/overworld.png index c70c19ba2cbf..1b72d9093076 100644 Binary files a/graphics/pokemon/murkrow/overworld.png and b/graphics/pokemon/murkrow/overworld.png differ diff --git a/graphics/pokemon/murkrow/overworldf.png b/graphics/pokemon/murkrow/overworldf.png new file mode 100644 index 000000000000..c70c19ba2cbf Binary files /dev/null and b/graphics/pokemon/murkrow/overworldf.png differ diff --git a/graphics/pokemon/murkrow/shiny_gba.pal b/graphics/pokemon/murkrow/shiny_gba.pal new file mode 100644 index 000000000000..4524256e43e2 --- /dev/null +++ b/graphics/pokemon/murkrow/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 172 139 +238 57 65 +172 16 32 +98 41 90 +156 57 139 +197 90 164 +238 131 197 +255 0 255 +106 74 16 +156 123 32 +213 180 41 +255 255 82 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/natu/anim_front_gba.png b/graphics/pokemon/natu/anim_front_gba.png new file mode 100644 index 000000000000..02e1e7894e68 Binary files /dev/null and b/graphics/pokemon/natu/anim_front_gba.png differ diff --git a/graphics/pokemon/natu/back_gba.png b/graphics/pokemon/natu/back_gba.png new file mode 100644 index 000000000000..0349877d52c2 Binary files /dev/null and b/graphics/pokemon/natu/back_gba.png differ diff --git a/graphics/pokemon/natu/icon_gba.png b/graphics/pokemon/natu/icon_gba.png new file mode 100644 index 000000000000..7188fb7f3ff2 Binary files /dev/null and b/graphics/pokemon/natu/icon_gba.png differ diff --git a/graphics/pokemon/natu/normal_gba.pal b/graphics/pokemon/natu/normal_gba.pal new file mode 100644 index 000000000000..c1712ee1edb1 --- /dev/null +++ b/graphics/pokemon/natu/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +156 230 74 +82 197 74 +74 148 65 +49 98 41 +255 222 65 +205 172 57 +131 98 32 +255 74 0 +205 57 0 +131 41 0 +205 205 205 +148 148 148 +82 82 82 +41 41 41 diff --git a/graphics/pokemon/natu/shiny_gba.pal b/graphics/pokemon/natu/shiny_gba.pal new file mode 100644 index 000000000000..2dcf957e990b --- /dev/null +++ b/graphics/pokemon/natu/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 255 65 +164 230 49 +115 189 8 +65 106 0 +255 222 65 +189 148 32 +139 90 0 +255 164 57 +213 106 16 +115 74 0 +205 205 205 +148 148 148 +82 82 82 +41 41 41 diff --git a/graphics/pokemon/nidoking/anim_front_gba.png b/graphics/pokemon/nidoking/anim_front_gba.png new file mode 100644 index 000000000000..be45df265719 Binary files /dev/null and b/graphics/pokemon/nidoking/anim_front_gba.png differ diff --git a/graphics/pokemon/nidoking/back_gba.png b/graphics/pokemon/nidoking/back_gba.png new file mode 100644 index 000000000000..65a253b457ac Binary files /dev/null and b/graphics/pokemon/nidoking/back_gba.png differ diff --git a/graphics/pokemon/nidoking/icon_gba.png b/graphics/pokemon/nidoking/icon_gba.png new file mode 100644 index 000000000000..baa05c6a016e Binary files /dev/null and b/graphics/pokemon/nidoking/icon_gba.png differ diff --git a/graphics/pokemon/nidoking/normal_gba.pal b/graphics/pokemon/nidoking/normal_gba.pal new file mode 100644 index 000000000000..ccde781ae0e3 --- /dev/null +++ b/graphics/pokemon/nidoking/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 255 +255 255 255 +230 230 213 +197 197 164 +115 115 90 +255 0 255 +255 0 255 +255 0 255 +24 205 156 +0 164 115 +0 82 65 +255 213 255 +230 156 213 +189 98 189 +139 41 131 +16 16 16 diff --git a/graphics/pokemon/nidoking/shiny_gba.pal b/graphics/pokemon/nidoking/shiny_gba.pal new file mode 100644 index 000000000000..021b228e953b --- /dev/null +++ b/graphics/pokemon/nidoking/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 255 +255 255 255 +230 230 213 +197 197 164 +115 115 90 +255 0 255 +255 0 255 +255 0 255 +164 139 156 +123 98 115 +74 49 65 +139 222 255 +98 180 255 +57 139 213 +16 49 123 +16 16 16 diff --git a/graphics/pokemon/nidoqueen/anim_front_gba.png b/graphics/pokemon/nidoqueen/anim_front_gba.png new file mode 100644 index 000000000000..db2af8d12ea1 Binary files /dev/null and b/graphics/pokemon/nidoqueen/anim_front_gba.png differ diff --git a/graphics/pokemon/nidoqueen/back_gba.png b/graphics/pokemon/nidoqueen/back_gba.png new file mode 100644 index 000000000000..339582c54c36 Binary files /dev/null and b/graphics/pokemon/nidoqueen/back_gba.png differ diff --git a/graphics/pokemon/nidoqueen/icon_gba.png b/graphics/pokemon/nidoqueen/icon_gba.png new file mode 100644 index 000000000000..2d3cdc47724e Binary files /dev/null and b/graphics/pokemon/nidoqueen/icon_gba.png differ diff --git a/graphics/pokemon/nidoqueen/normal_gba.pal b/graphics/pokemon/nidoqueen/normal_gba.pal new file mode 100644 index 000000000000..ac8d604c05dd --- /dev/null +++ b/graphics/pokemon/nidoqueen/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +213 213 213 +238 230 164 +230 205 139 +189 172 90 +123 98 32 +255 156 139 +238 74 57 +172 16 0 +222 255 255 +189 230 238 +139 197 205 +82 148 189 +57 90 98 +16 16 16 diff --git a/graphics/pokemon/nidoqueen/shiny_gba.pal b/graphics/pokemon/nidoqueen/shiny_gba.pal new file mode 100644 index 000000000000..1795131dce73 --- /dev/null +++ b/graphics/pokemon/nidoqueen/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +213 213 213 +255 222 246 +255 180 205 +213 139 164 +164 98 123 +255 156 139 +238 74 57 +172 16 0 +205 205 139 +172 172 106 +139 139 74 +106 106 41 +74 74 8 +16 16 16 diff --git a/graphics/pokemon/nidoran_f/anim_front_gba.png b/graphics/pokemon/nidoran_f/anim_front_gba.png new file mode 100644 index 000000000000..57c6b0056428 Binary files /dev/null and b/graphics/pokemon/nidoran_f/anim_front_gba.png differ diff --git a/graphics/pokemon/nidoran_f/back_gba.png b/graphics/pokemon/nidoran_f/back_gba.png new file mode 100644 index 000000000000..5173e952efe4 Binary files /dev/null and b/graphics/pokemon/nidoran_f/back_gba.png differ diff --git a/graphics/pokemon/nidoran_f/icon_gba.png b/graphics/pokemon/nidoran_f/icon_gba.png new file mode 100644 index 000000000000..a2483ae6382a Binary files /dev/null and b/graphics/pokemon/nidoran_f/icon_gba.png differ diff --git a/graphics/pokemon/nidoran_f/normal_gba.pal b/graphics/pokemon/nidoran_f/normal_gba.pal new file mode 100644 index 000000000000..daed295698d1 --- /dev/null +++ b/graphics/pokemon/nidoran_f/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 189 +222 255 255 +197 230 238 +139 197 205 +82 139 189 +57 90 98 +238 74 57 +197 32 16 +74 131 246 +16 98 180 +24 57 115 +255 0 255 +255 0 255 +255 0 255 +255 255 255 +16 16 16 diff --git a/graphics/pokemon/nidoran_f/shiny_gba.pal b/graphics/pokemon/nidoran_f/shiny_gba.pal new file mode 100644 index 000000000000..5b6e230fee5e --- /dev/null +++ b/graphics/pokemon/nidoran_f/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 189 +246 213 255 +213 180 238 +180 148 205 +148 115 172 +98 65 123 +238 74 57 +197 32 16 +98 139 65 +65 106 32 +32 74 0 +255 0 255 +255 0 255 +255 0 255 +255 255 255 +16 16 16 diff --git a/graphics/pokemon/nidoran_m/anim_front_gba.png b/graphics/pokemon/nidoran_m/anim_front_gba.png new file mode 100644 index 000000000000..84e9aa98e0db Binary files /dev/null and b/graphics/pokemon/nidoran_m/anim_front_gba.png differ diff --git a/graphics/pokemon/nidoran_m/back_gba.png b/graphics/pokemon/nidoran_m/back_gba.png new file mode 100644 index 000000000000..76c47d33ec15 Binary files /dev/null and b/graphics/pokemon/nidoran_m/back_gba.png differ diff --git a/graphics/pokemon/nidoran_m/icon_gba.png b/graphics/pokemon/nidoran_m/icon_gba.png new file mode 100644 index 000000000000..4467c5192515 Binary files /dev/null and b/graphics/pokemon/nidoran_m/icon_gba.png differ diff --git a/graphics/pokemon/nidoran_m/normal_gba.pal b/graphics/pokemon/nidoran_m/normal_gba.pal new file mode 100644 index 000000000000..7dd064edbc19 --- /dev/null +++ b/graphics/pokemon/nidoran_m/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +16 16 16 +255 106 82 +222 65 41 +180 24 0 +24 205 156 +0 164 115 +0 98 65 +255 0 255 +255 213 255 +230 156 213 +189 98 189 +131 41 131 +197 197 197 +131 131 131 diff --git a/graphics/pokemon/nidoran_m/shiny_gba.pal b/graphics/pokemon/nidoran_m/shiny_gba.pal new file mode 100644 index 000000000000..41901c9ff47b --- /dev/null +++ b/graphics/pokemon/nidoran_m/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +16 16 16 +255 106 82 +222 65 41 +180 24 0 +180 131 131 +139 90 90 +98 49 49 +255 0 255 +205 246 255 +164 205 255 +123 164 213 +16 41 74 +197 197 197 +131 131 131 diff --git a/graphics/pokemon/nidorina/anim_front_gba.png b/graphics/pokemon/nidorina/anim_front_gba.png new file mode 100644 index 000000000000..8b33e786be9e Binary files /dev/null and b/graphics/pokemon/nidorina/anim_front_gba.png differ diff --git a/graphics/pokemon/nidorina/back_gba.png b/graphics/pokemon/nidorina/back_gba.png new file mode 100644 index 000000000000..14940d21f01c Binary files /dev/null and b/graphics/pokemon/nidorina/back_gba.png differ diff --git a/graphics/pokemon/nidorina/icon_gba.png b/graphics/pokemon/nidorina/icon_gba.png new file mode 100644 index 000000000000..ad90d02ba3ff Binary files /dev/null and b/graphics/pokemon/nidorina/icon_gba.png differ diff --git a/graphics/pokemon/nidorina/normal_gba.pal b/graphics/pokemon/nidorina/normal_gba.pal new file mode 100644 index 000000000000..9f4acf8be099 --- /dev/null +++ b/graphics/pokemon/nidorina/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +197 197 197 +131 131 131 +74 131 246 +16 98 180 +24 57 115 +255 156 139 +238 74 57 +197 32 16 +222 255 255 +197 230 238 +139 197 205 +82 139 189 +57 90 98 +16 16 16 diff --git a/graphics/pokemon/nidorina/shiny_gba.pal b/graphics/pokemon/nidorina/shiny_gba.pal new file mode 100644 index 000000000000..634e882d93d4 --- /dev/null +++ b/graphics/pokemon/nidorina/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +197 197 197 +131 131 131 +115 139 90 +82 106 57 +41 65 16 +255 156 139 +238 74 57 +197 32 16 +255 213 255 +246 180 238 +213 148 205 +156 74 131 +98 16 74 +16 16 16 diff --git a/graphics/pokemon/nidorino/anim_front_gba.png b/graphics/pokemon/nidorino/anim_front_gba.png new file mode 100644 index 000000000000..a048b8b0644a Binary files /dev/null and b/graphics/pokemon/nidorino/anim_front_gba.png differ diff --git a/graphics/pokemon/nidorino/back_gba.png b/graphics/pokemon/nidorino/back_gba.png new file mode 100644 index 000000000000..01b866e00569 Binary files /dev/null and b/graphics/pokemon/nidorino/back_gba.png differ diff --git a/graphics/pokemon/nidorino/icon_gba.png b/graphics/pokemon/nidorino/icon_gba.png new file mode 100644 index 000000000000..5edc103c11dd Binary files /dev/null and b/graphics/pokemon/nidorino/icon_gba.png differ diff --git a/graphics/pokemon/nidorino/normal_gba.pal b/graphics/pokemon/nidorino/normal_gba.pal new file mode 100644 index 000000000000..b0b728608a25 --- /dev/null +++ b/graphics/pokemon/nidorino/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +255 106 82 +222 65 41 +180 24 0 +57 238 189 +24 205 156 +0 164 115 +255 0 255 +16 16 16 +255 213 255 +230 156 213 +189 98 189 +131 41 131 +197 197 197 +131 131 131 diff --git a/graphics/pokemon/nidorino/shiny_gba.pal b/graphics/pokemon/nidorino/shiny_gba.pal new file mode 100644 index 000000000000..97b3c368f3a9 --- /dev/null +++ b/graphics/pokemon/nidorino/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +255 106 82 +222 65 41 +180 24 0 +213 148 180 +172 106 139 +115 49 82 +255 0 255 +16 16 16 +222 246 255 +180 205 255 +139 164 213 +8 32 74 +197 197 197 +131 131 131 diff --git a/graphics/pokemon/nincada/anim_front_gba.png b/graphics/pokemon/nincada/anim_front_gba.png new file mode 100644 index 000000000000..35ba5c5b40ed Binary files /dev/null and b/graphics/pokemon/nincada/anim_front_gba.png differ diff --git a/graphics/pokemon/nincada/back_gba.png b/graphics/pokemon/nincada/back_gba.png new file mode 100644 index 000000000000..e35b19cc7bbc Binary files /dev/null and b/graphics/pokemon/nincada/back_gba.png differ diff --git a/graphics/pokemon/nincada/icon_gba.png b/graphics/pokemon/nincada/icon_gba.png new file mode 100644 index 000000000000..003ddb992a68 Binary files /dev/null and b/graphics/pokemon/nincada/icon_gba.png differ diff --git a/graphics/pokemon/nincada/normal_gba.pal b/graphics/pokemon/nincada/normal_gba.pal new file mode 100644 index 000000000000..22184bbbd73e --- /dev/null +++ b/graphics/pokemon/nincada/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 180 115 +230 213 213 +205 164 106 +172 139 98 +156 115 82 +131 197 106 +98 164 106 +115 74 57 +246 238 230 +74 123 90 +205 189 180 +180 172 148 +156 139 123 +123 115 98 +90 82 82 +41 41 41 diff --git a/graphics/pokemon/nincada/shiny_gba.pal b/graphics/pokemon/nincada/shiny_gba.pal new file mode 100644 index 000000000000..08e4c95754fd --- /dev/null +++ b/graphics/pokemon/nincada/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 180 115 +255 238 164 +205 164 106 +172 139 98 +156 115 82 +156 213 74 +115 172 49 +115 74 57 +246 238 230 +82 98 41 +255 213 106 +230 172 90 +205 148 65 +180 123 41 +131 90 8 +41 41 41 diff --git a/graphics/pokemon/ninetales/alolan/back.png b/graphics/pokemon/ninetales/alola/back.png similarity index 100% rename from graphics/pokemon/ninetales/alolan/back.png rename to graphics/pokemon/ninetales/alola/back.png diff --git a/graphics/pokemon/ninetales/alolan/front.png b/graphics/pokemon/ninetales/alola/front.png similarity index 100% rename from graphics/pokemon/ninetales/alolan/front.png rename to graphics/pokemon/ninetales/alola/front.png diff --git a/graphics/pokemon/ninetales/alolan/icon.png b/graphics/pokemon/ninetales/alola/icon.png similarity index 100% rename from graphics/pokemon/ninetales/alolan/icon.png rename to graphics/pokemon/ninetales/alola/icon.png diff --git a/graphics/pokemon/ninetales/alolan/normal.pal b/graphics/pokemon/ninetales/alola/normal.pal similarity index 100% rename from graphics/pokemon/ninetales/alolan/normal.pal rename to graphics/pokemon/ninetales/alola/normal.pal diff --git a/graphics/pokemon/ninetales/alolan/overworld.png b/graphics/pokemon/ninetales/alola/overworld.png similarity index 100% rename from graphics/pokemon/ninetales/alolan/overworld.png rename to graphics/pokemon/ninetales/alola/overworld.png diff --git a/graphics/pokemon/ninetales/alolan/overworld_normal.pal b/graphics/pokemon/ninetales/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/ninetales/alolan/overworld_normal.pal rename to graphics/pokemon/ninetales/alola/overworld_normal.pal diff --git a/graphics/pokemon/ninetales/alolan/overworld_shiny.pal b/graphics/pokemon/ninetales/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/ninetales/alolan/overworld_shiny.pal rename to graphics/pokemon/ninetales/alola/overworld_shiny.pal diff --git a/graphics/pokemon/ninetales/alolan/shiny.pal b/graphics/pokemon/ninetales/alola/shiny.pal similarity index 100% rename from graphics/pokemon/ninetales/alolan/shiny.pal rename to graphics/pokemon/ninetales/alola/shiny.pal diff --git a/graphics/pokemon/ninetales/anim_front_gba.png b/graphics/pokemon/ninetales/anim_front_gba.png new file mode 100644 index 000000000000..afd4cc40d06b Binary files /dev/null and b/graphics/pokemon/ninetales/anim_front_gba.png differ diff --git a/graphics/pokemon/ninetales/back_gba.png b/graphics/pokemon/ninetales/back_gba.png new file mode 100644 index 000000000000..03d8a214ffde Binary files /dev/null and b/graphics/pokemon/ninetales/back_gba.png differ diff --git a/graphics/pokemon/ninetales/icon_gba.png b/graphics/pokemon/ninetales/icon_gba.png new file mode 100644 index 000000000000..1a74d34ebba9 Binary files /dev/null and b/graphics/pokemon/ninetales/icon_gba.png differ diff --git a/graphics/pokemon/ninetales/normal_gba.pal b/graphics/pokemon/ninetales/normal_gba.pal new file mode 100644 index 000000000000..d6d95a7d3b5f --- /dev/null +++ b/graphics/pokemon/ninetales/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 106 41 +222 32 16 +180 16 0 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 238 164 +255 213 106 +213 156 74 +156 98 16 +16 16 16 diff --git a/graphics/pokemon/ninetales/shiny_gba.pal b/graphics/pokemon/ninetales/shiny_gba.pal new file mode 100644 index 000000000000..736e5d374f3c --- /dev/null +++ b/graphics/pokemon/ninetales/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 106 41 +222 32 16 +180 16 0 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 238 246 +230 205 213 +189 164 172 +131 106 115 +16 16 16 diff --git a/graphics/pokemon/ninjask/anim_front_gba.png b/graphics/pokemon/ninjask/anim_front_gba.png new file mode 100644 index 000000000000..fda03f09cc6e Binary files /dev/null and b/graphics/pokemon/ninjask/anim_front_gba.png differ diff --git a/graphics/pokemon/ninjask/back_gba.png b/graphics/pokemon/ninjask/back_gba.png new file mode 100644 index 000000000000..fd2daf29a34c Binary files /dev/null and b/graphics/pokemon/ninjask/back_gba.png differ diff --git a/graphics/pokemon/ninjask/icon_gba.png b/graphics/pokemon/ninjask/icon_gba.png new file mode 100644 index 000000000000..c51533c675a2 Binary files /dev/null and b/graphics/pokemon/ninjask/icon_gba.png differ diff --git a/graphics/pokemon/ninjask/normal_gba.pal b/graphics/pokemon/ninjask/normal_gba.pal new file mode 100644 index 000000000000..ec7c1daa7a29 --- /dev/null +++ b/graphics/pokemon/ninjask/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 180 115 +255 255 255 +246 213 82 +222 172 82 +139 106 65 +246 106 16 +180 57 32 +131 57 57 +222 74 16 +213 213 205 +172 180 180 +139 148 148 +123 123 123 +90 90 123 +65 65 90 +0 0 0 diff --git a/graphics/pokemon/ninjask/shiny_gba.pal b/graphics/pokemon/ninjask/shiny_gba.pal new file mode 100644 index 000000000000..bd2fbbda999a --- /dev/null +++ b/graphics/pokemon/ninjask/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 180 115 +255 255 255 +246 213 82 +222 172 82 +139 106 65 +246 106 16 +180 57 32 +131 57 57 +222 74 16 +255 213 106 +255 213 106 +230 172 90 +205 148 65 +180 123 41 +131 90 8 +0 0 0 diff --git a/graphics/pokemon/noctowl/anim_front_gba.png b/graphics/pokemon/noctowl/anim_front_gba.png new file mode 100644 index 000000000000..7053bd201e6d Binary files /dev/null and b/graphics/pokemon/noctowl/anim_front_gba.png differ diff --git a/graphics/pokemon/noctowl/back_gba.png b/graphics/pokemon/noctowl/back_gba.png new file mode 100644 index 000000000000..e9984ea5e6b2 Binary files /dev/null and b/graphics/pokemon/noctowl/back_gba.png differ diff --git a/graphics/pokemon/noctowl/icon_gba.png b/graphics/pokemon/noctowl/icon_gba.png new file mode 100644 index 000000000000..eafbea37e20a Binary files /dev/null and b/graphics/pokemon/noctowl/icon_gba.png differ diff --git a/graphics/pokemon/noctowl/normal_gba.pal b/graphics/pokemon/noctowl/normal_gba.pal new file mode 100644 index 000000000000..710759236202 --- /dev/null +++ b/graphics/pokemon/noctowl/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 172 +230 205 98 +205 164 65 +156 115 57 +156 123 106 +123 90 74 +98 65 49 +74 41 24 +197 49 24 +156 0 0 +197 197 197 +115 115 115 +255 238 115 +16 16 16 diff --git a/graphics/pokemon/noctowl/shiny_gba.pal b/graphics/pokemon/noctowl/shiny_gba.pal new file mode 100644 index 000000000000..859222f5947d --- /dev/null +++ b/graphics/pokemon/noctowl/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 255 172 +213 222 90 +189 189 57 +156 148 32 +213 164 74 +180 115 0 +123 82 0 +82 57 0 +197 49 24 +156 0 0 +197 197 197 +115 115 115 +238 246 115 +16 16 16 diff --git a/graphics/pokemon/nosepass/anim_front_gba.png b/graphics/pokemon/nosepass/anim_front_gba.png new file mode 100644 index 000000000000..4b7f7b362277 Binary files /dev/null and b/graphics/pokemon/nosepass/anim_front_gba.png differ diff --git a/graphics/pokemon/nosepass/back_gba.png b/graphics/pokemon/nosepass/back_gba.png new file mode 100644 index 000000000000..21b41a3cd187 Binary files /dev/null and b/graphics/pokemon/nosepass/back_gba.png differ diff --git a/graphics/pokemon/nosepass/icon_gba.png b/graphics/pokemon/nosepass/icon_gba.png new file mode 100644 index 000000000000..718fed8facfd Binary files /dev/null and b/graphics/pokemon/nosepass/icon_gba.png differ diff --git a/graphics/pokemon/nosepass/normal_gba.pal b/graphics/pokemon/nosepass/normal_gba.pal new file mode 100644 index 000000000000..ec3681288487 --- /dev/null +++ b/graphics/pokemon/nosepass/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +57 57 82 +197 197 197 +98 115 123 +131 148 164 +148 189 180 +189 213 222 +139 57 24 +205 90 24 +246 139 41 +255 197 164 +255 255 255 +74 82 82 +0 0 0 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/nosepass/shiny_gba.pal b/graphics/pokemon/nosepass/shiny_gba.pal new file mode 100644 index 000000000000..b17260e5ad01 --- /dev/null +++ b/graphics/pokemon/nosepass/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 172 213 +106 74 57 +197 197 197 +106 82 49 +172 139 65 +222 180 74 +246 213 115 +189 57 24 +230 90 24 +246 139 41 +255 197 164 +255 255 255 +82 57 24 +0 0 0 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/numel/anim_front_gba.png b/graphics/pokemon/numel/anim_front_gba.png new file mode 100644 index 000000000000..0d3ccc839f98 Binary files /dev/null and b/graphics/pokemon/numel/anim_front_gba.png differ diff --git a/graphics/pokemon/numel/back_gba.png b/graphics/pokemon/numel/back_gba.png new file mode 100644 index 000000000000..9722ff438383 Binary files /dev/null and b/graphics/pokemon/numel/back_gba.png differ diff --git a/graphics/pokemon/numel/icon_gba.png b/graphics/pokemon/numel/icon_gba.png new file mode 100644 index 000000000000..62281e8bf711 Binary files /dev/null and b/graphics/pokemon/numel/icon_gba.png differ diff --git a/graphics/pokemon/numel/normal_gba.pal b/graphics/pokemon/numel/normal_gba.pal new file mode 100644 index 000000000000..74388d36b2db --- /dev/null +++ b/graphics/pokemon/numel/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 246 +106 98 32 +246 222 0 +205 180 57 +222 205 32 +246 246 164 +213 213 148 +255 238 106 +148 222 24 +180 246 49 +115 164 57 +90 115 106 +148 148 82 +230 222 238 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/numel/overworldf.png b/graphics/pokemon/numel/overworldf.png new file mode 100644 index 000000000000..b62cf188e8b7 Binary files /dev/null and b/graphics/pokemon/numel/overworldf.png differ diff --git a/graphics/pokemon/numel/shiny_gba.pal b/graphics/pokemon/numel/shiny_gba.pal new file mode 100644 index 000000000000..2162c155c76f --- /dev/null +++ b/graphics/pokemon/numel/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 197 180 +131 98 74 +238 197 156 +197 156 98 +205 164 123 +246 246 213 +213 213 172 +255 222 172 +90 172 230 +123 197 255 +49 131 197 +74 98 90 +131 131 65 +230 222 238 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/nuzleaf/anim_front_gba.png b/graphics/pokemon/nuzleaf/anim_front_gba.png new file mode 100644 index 000000000000..02aa6b1d4b88 Binary files /dev/null and b/graphics/pokemon/nuzleaf/anim_front_gba.png differ diff --git a/graphics/pokemon/nuzleaf/back_gba.png b/graphics/pokemon/nuzleaf/back_gba.png new file mode 100644 index 000000000000..858377c116f4 Binary files /dev/null and b/graphics/pokemon/nuzleaf/back_gba.png differ diff --git a/graphics/pokemon/nuzleaf/icon_gba.png b/graphics/pokemon/nuzleaf/icon_gba.png new file mode 100644 index 000000000000..8c9f4038f351 Binary files /dev/null and b/graphics/pokemon/nuzleaf/icon_gba.png differ diff --git a/graphics/pokemon/nuzleaf/normal_gba.pal b/graphics/pokemon/nuzleaf/normal_gba.pal new file mode 100644 index 000000000000..fd8ec8bff804 --- /dev/null +++ b/graphics/pokemon/nuzleaf/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 148 246 +74 57 65 +205 205 238 +255 255 255 +123 148 82 +180 205 131 +230 238 180 +156 123 156 +205 156 98 +230 197 148 +98 197 131 +148 238 131 +65 115 57 +106 82 98 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/nuzleaf/overworldf.png b/graphics/pokemon/nuzleaf/overworldf.png new file mode 100644 index 000000000000..5c4365306b2c Binary files /dev/null and b/graphics/pokemon/nuzleaf/overworldf.png differ diff --git a/graphics/pokemon/nuzleaf/shiny_gba.pal b/graphics/pokemon/nuzleaf/shiny_gba.pal new file mode 100644 index 000000000000..1706d316bcae --- /dev/null +++ b/graphics/pokemon/nuzleaf/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 213 156 +74 57 65 +205 205 238 +255 255 255 +180 65 49 +222 98 49 +255 123 82 +115 90 90 +156 123 123 +189 164 156 +98 197 131 +148 238 131 +65 115 57 +106 82 98 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/octillery/anim_front_gba.png b/graphics/pokemon/octillery/anim_front_gba.png new file mode 100644 index 000000000000..82d366484e33 Binary files /dev/null and b/graphics/pokemon/octillery/anim_front_gba.png differ diff --git a/graphics/pokemon/octillery/back_gba.png b/graphics/pokemon/octillery/back_gba.png new file mode 100644 index 000000000000..09a8678817fa Binary files /dev/null and b/graphics/pokemon/octillery/back_gba.png differ diff --git a/graphics/pokemon/octillery/icon_gba.png b/graphics/pokemon/octillery/icon_gba.png new file mode 100644 index 000000000000..a21e60327283 Binary files /dev/null and b/graphics/pokemon/octillery/icon_gba.png differ diff --git a/graphics/pokemon/octillery/normal_gba.pal b/graphics/pokemon/octillery/normal_gba.pal new file mode 100644 index 000000000000..2a32e5f6d75d --- /dev/null +++ b/graphics/pokemon/octillery/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 180 106 +246 106 49 +213 57 16 +131 0 0 +255 0 255 +255 255 172 +255 213 82 +213 156 41 +148 90 0 +213 213 213 +172 172 180 +123 123 131 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/octillery/overworldf.png b/graphics/pokemon/octillery/overworldf.png new file mode 100644 index 000000000000..40972e08b046 Binary files /dev/null and b/graphics/pokemon/octillery/overworldf.png differ diff --git a/graphics/pokemon/octillery/shiny_gba.pal b/graphics/pokemon/octillery/shiny_gba.pal new file mode 100644 index 000000000000..fcbdd5cdab35 --- /dev/null +++ b/graphics/pokemon/octillery/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 189 90 +197 156 65 +148 106 24 +82 65 49 +255 0 255 +230 255 172 +205 230 82 +164 172 41 +98 98 0 +213 213 213 +172 172 180 +123 123 131 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/oddish/anim_front_gba.png b/graphics/pokemon/oddish/anim_front_gba.png new file mode 100644 index 000000000000..9a75f16cb31e Binary files /dev/null and b/graphics/pokemon/oddish/anim_front_gba.png differ diff --git a/graphics/pokemon/oddish/back_gba.png b/graphics/pokemon/oddish/back_gba.png new file mode 100644 index 000000000000..bafd8bbfff39 Binary files /dev/null and b/graphics/pokemon/oddish/back_gba.png differ diff --git a/graphics/pokemon/oddish/icon_gba.png b/graphics/pokemon/oddish/icon_gba.png new file mode 100644 index 000000000000..7c46ae7e7d5e Binary files /dev/null and b/graphics/pokemon/oddish/icon_gba.png differ diff --git a/graphics/pokemon/oddish/normal_gba.pal b/graphics/pokemon/oddish/normal_gba.pal new file mode 100644 index 000000000000..11db38a9196c --- /dev/null +++ b/graphics/pokemon/oddish/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 189 57 +255 74 0 +189 255 115 +156 213 74 +115 172 49 +82 98 41 +255 0 255 +255 0 255 +255 0 255 +148 180 197 +115 148 164 +74 106 131 +49 74 90 +16 16 16 diff --git a/graphics/pokemon/oddish/shiny_gba.pal b/graphics/pokemon/oddish/shiny_gba.pal new file mode 100644 index 000000000000..a3b719830601 --- /dev/null +++ b/graphics/pokemon/oddish/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 189 57 +255 74 0 +246 255 106 +205 255 65 +156 205 16 +41 90 0 +255 0 255 +255 0 255 +255 0 255 +123 222 90 +82 180 49 +41 139 8 +0 74 0 +16 16 16 diff --git a/graphics/pokemon/ogerpon/cornerstone/tera/back.png b/graphics/pokemon/ogerpon/cornerstone_tera/back.png similarity index 100% rename from graphics/pokemon/ogerpon/cornerstone/tera/back.png rename to graphics/pokemon/ogerpon/cornerstone_tera/back.png diff --git a/graphics/pokemon/ogerpon/cornerstone/tera/front.png b/graphics/pokemon/ogerpon/cornerstone_tera/front.png similarity index 100% rename from graphics/pokemon/ogerpon/cornerstone/tera/front.png rename to graphics/pokemon/ogerpon/cornerstone_tera/front.png diff --git a/graphics/pokemon/ogerpon/cornerstone/tera/normal.pal b/graphics/pokemon/ogerpon/cornerstone_tera/normal.pal similarity index 100% rename from graphics/pokemon/ogerpon/cornerstone/tera/normal.pal rename to graphics/pokemon/ogerpon/cornerstone_tera/normal.pal diff --git a/graphics/pokemon/ogerpon/cornerstone/tera/shiny.pal b/graphics/pokemon/ogerpon/cornerstone_tera/shiny.pal similarity index 100% rename from graphics/pokemon/ogerpon/cornerstone/tera/shiny.pal rename to graphics/pokemon/ogerpon/cornerstone_tera/shiny.pal diff --git a/graphics/pokemon/ogerpon/hearthflame/tera/back.png b/graphics/pokemon/ogerpon/hearthflame_tera/back.png similarity index 100% rename from graphics/pokemon/ogerpon/hearthflame/tera/back.png rename to graphics/pokemon/ogerpon/hearthflame_tera/back.png diff --git a/graphics/pokemon/ogerpon/hearthflame/tera/front.png b/graphics/pokemon/ogerpon/hearthflame_tera/front.png similarity index 100% rename from graphics/pokemon/ogerpon/hearthflame/tera/front.png rename to graphics/pokemon/ogerpon/hearthflame_tera/front.png diff --git a/graphics/pokemon/ogerpon/hearthflame/tera/normal.pal b/graphics/pokemon/ogerpon/hearthflame_tera/normal.pal similarity index 100% rename from graphics/pokemon/ogerpon/hearthflame/tera/normal.pal rename to graphics/pokemon/ogerpon/hearthflame_tera/normal.pal diff --git a/graphics/pokemon/ogerpon/hearthflame/tera/shiny.pal b/graphics/pokemon/ogerpon/hearthflame_tera/shiny.pal similarity index 100% rename from graphics/pokemon/ogerpon/hearthflame/tera/shiny.pal rename to graphics/pokemon/ogerpon/hearthflame_tera/shiny.pal diff --git a/graphics/pokemon/ogerpon/tera/back.png b/graphics/pokemon/ogerpon/teal_tera/back.png similarity index 100% rename from graphics/pokemon/ogerpon/tera/back.png rename to graphics/pokemon/ogerpon/teal_tera/back.png diff --git a/graphics/pokemon/ogerpon/tera/front.png b/graphics/pokemon/ogerpon/teal_tera/front.png similarity index 100% rename from graphics/pokemon/ogerpon/tera/front.png rename to graphics/pokemon/ogerpon/teal_tera/front.png diff --git a/graphics/pokemon/ogerpon/tera/normal.pal b/graphics/pokemon/ogerpon/teal_tera/normal.pal similarity index 100% rename from graphics/pokemon/ogerpon/tera/normal.pal rename to graphics/pokemon/ogerpon/teal_tera/normal.pal diff --git a/graphics/pokemon/ogerpon/tera/shiny.pal b/graphics/pokemon/ogerpon/teal_tera/shiny.pal similarity index 100% rename from graphics/pokemon/ogerpon/tera/shiny.pal rename to graphics/pokemon/ogerpon/teal_tera/shiny.pal diff --git a/graphics/pokemon/ogerpon/wellspring/tera/back.png b/graphics/pokemon/ogerpon/wellspring_tera/back.png similarity index 100% rename from graphics/pokemon/ogerpon/wellspring/tera/back.png rename to graphics/pokemon/ogerpon/wellspring_tera/back.png diff --git a/graphics/pokemon/ogerpon/wellspring/tera/front.png b/graphics/pokemon/ogerpon/wellspring_tera/front.png similarity index 100% rename from graphics/pokemon/ogerpon/wellspring/tera/front.png rename to graphics/pokemon/ogerpon/wellspring_tera/front.png diff --git a/graphics/pokemon/ogerpon/wellspring/tera/normal.pal b/graphics/pokemon/ogerpon/wellspring_tera/normal.pal similarity index 100% rename from graphics/pokemon/ogerpon/wellspring/tera/normal.pal rename to graphics/pokemon/ogerpon/wellspring_tera/normal.pal diff --git a/graphics/pokemon/ogerpon/wellspring/tera/shiny.pal b/graphics/pokemon/ogerpon/wellspring_tera/shiny.pal similarity index 100% rename from graphics/pokemon/ogerpon/wellspring/tera/shiny.pal rename to graphics/pokemon/ogerpon/wellspring_tera/shiny.pal diff --git a/graphics/pokemon/oinkologne/female/back.png b/graphics/pokemon/oinkologne/f/back.png similarity index 100% rename from graphics/pokemon/oinkologne/female/back.png rename to graphics/pokemon/oinkologne/f/back.png diff --git a/graphics/pokemon/oinkologne/female/front.png b/graphics/pokemon/oinkologne/f/front.png similarity index 100% rename from graphics/pokemon/oinkologne/female/front.png rename to graphics/pokemon/oinkologne/f/front.png diff --git a/graphics/pokemon/oinkologne/female/icon.png b/graphics/pokemon/oinkologne/f/icon.png similarity index 100% rename from graphics/pokemon/oinkologne/female/icon.png rename to graphics/pokemon/oinkologne/f/icon.png diff --git a/graphics/pokemon/oinkologne/female/normal.pal b/graphics/pokemon/oinkologne/f/normal.pal similarity index 100% rename from graphics/pokemon/oinkologne/female/normal.pal rename to graphics/pokemon/oinkologne/f/normal.pal diff --git a/graphics/pokemon/oinkologne/female/overworld.png b/graphics/pokemon/oinkologne/f/overworld.png similarity index 100% rename from graphics/pokemon/oinkologne/female/overworld.png rename to graphics/pokemon/oinkologne/f/overworld.png diff --git a/graphics/pokemon/oinkologne/female/overworld_normal.pal b/graphics/pokemon/oinkologne/f/overworld_normal.pal similarity index 100% rename from graphics/pokemon/oinkologne/female/overworld_normal.pal rename to graphics/pokemon/oinkologne/f/overworld_normal.pal diff --git a/graphics/pokemon/oinkologne/female/overworld_shiny.pal b/graphics/pokemon/oinkologne/f/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/oinkologne/female/overworld_shiny.pal rename to graphics/pokemon/oinkologne/f/overworld_shiny.pal diff --git a/graphics/pokemon/oinkologne/female/shiny.pal b/graphics/pokemon/oinkologne/f/shiny.pal similarity index 100% rename from graphics/pokemon/oinkologne/female/shiny.pal rename to graphics/pokemon/oinkologne/f/shiny.pal diff --git a/graphics/pokemon/omanyte/anim_front_gba.png b/graphics/pokemon/omanyte/anim_front_gba.png new file mode 100644 index 000000000000..a76eabe2ce1f Binary files /dev/null and b/graphics/pokemon/omanyte/anim_front_gba.png differ diff --git a/graphics/pokemon/omanyte/back_gba.png b/graphics/pokemon/omanyte/back_gba.png new file mode 100644 index 000000000000..6cd77bffcff0 Binary files /dev/null and b/graphics/pokemon/omanyte/back_gba.png differ diff --git a/graphics/pokemon/omanyte/icon_gba.png b/graphics/pokemon/omanyte/icon_gba.png new file mode 100644 index 000000000000..94684f5c3232 Binary files /dev/null and b/graphics/pokemon/omanyte/icon_gba.png differ diff --git a/graphics/pokemon/omanyte/normal_gba.pal b/graphics/pokemon/omanyte/normal_gba.pal new file mode 100644 index 000000000000..09d257a6629d --- /dev/null +++ b/graphics/pokemon/omanyte/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 189 +255 255 255 +230 230 230 +255 0 255 +255 0 255 +98 98 98 +16 16 16 +255 255 172 +238 230 139 +205 197 106 +172 164 74 +98 90 16 +131 205 197 +98 172 164 +57 131 123 +16 90 82 diff --git a/graphics/pokemon/omanyte/shiny_gba.pal b/graphics/pokemon/omanyte/shiny_gba.pal new file mode 100644 index 000000000000..af72dc30dd79 --- /dev/null +++ b/graphics/pokemon/omanyte/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 189 +255 255 255 +230 230 230 +255 0 255 +255 0 255 +98 98 98 +16 16 16 +255 246 156 +246 222 139 +213 189 115 +172 148 82 +123 98 41 +213 156 238 +172 115 205 +131 74 172 +90 41 148 diff --git a/graphics/pokemon/omastar/anim_front_gba.png b/graphics/pokemon/omastar/anim_front_gba.png new file mode 100644 index 000000000000..677f46749566 Binary files /dev/null and b/graphics/pokemon/omastar/anim_front_gba.png differ diff --git a/graphics/pokemon/omastar/back_gba.png b/graphics/pokemon/omastar/back_gba.png new file mode 100644 index 000000000000..3f746795040e Binary files /dev/null and b/graphics/pokemon/omastar/back_gba.png differ diff --git a/graphics/pokemon/omastar/icon_gba.png b/graphics/pokemon/omastar/icon_gba.png new file mode 100644 index 000000000000..b72bd6aece04 Binary files /dev/null and b/graphics/pokemon/omastar/icon_gba.png differ diff --git a/graphics/pokemon/omastar/normal_gba.pal b/graphics/pokemon/omastar/normal_gba.pal new file mode 100644 index 000000000000..f63530b4ef39 --- /dev/null +++ b/graphics/pokemon/omastar/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 197 +255 238 180 +246 213 98 +180 156 65 +16 16 16 +255 0 255 +255 0 255 +255 255 172 +238 230 139 +205 197 106 +172 164 74 +106 98 16 +156 230 222 +131 205 197 +98 172 164 +16 98 90 diff --git a/graphics/pokemon/omastar/shiny_gba.pal b/graphics/pokemon/omastar/shiny_gba.pal new file mode 100644 index 000000000000..b17facc09a2c --- /dev/null +++ b/graphics/pokemon/omastar/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 197 +255 238 180 +246 213 98 +180 156 65 +16 16 16 +255 0 255 +255 0 255 +255 255 222 +238 246 90 +213 222 74 +172 180 57 +98 106 24 +222 172 255 +189 139 238 +148 98 205 +98 49 164 diff --git a/graphics/pokemon/onix/anim_front_gba.png b/graphics/pokemon/onix/anim_front_gba.png new file mode 100644 index 000000000000..fbe64c2ececf Binary files /dev/null and b/graphics/pokemon/onix/anim_front_gba.png differ diff --git a/graphics/pokemon/onix/back_gba.png b/graphics/pokemon/onix/back_gba.png new file mode 100644 index 000000000000..233e66d919b5 Binary files /dev/null and b/graphics/pokemon/onix/back_gba.png differ diff --git a/graphics/pokemon/onix/icon_gba.png b/graphics/pokemon/onix/icon_gba.png new file mode 100644 index 000000000000..ddd7ee4f9741 Binary files /dev/null and b/graphics/pokemon/onix/icon_gba.png differ diff --git a/graphics/pokemon/onix/normal_gba.pal b/graphics/pokemon/onix/normal_gba.pal new file mode 100644 index 000000000000..e513a11e363e --- /dev/null +++ b/graphics/pokemon/onix/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +246 238 238 +222 213 213 +189 180 180 +131 123 123 +82 74 74 +16 16 16 diff --git a/graphics/pokemon/onix/shiny_gba.pal b/graphics/pokemon/onix/shiny_gba.pal new file mode 100644 index 000000000000..e3584ed0ce5f --- /dev/null +++ b/graphics/pokemon/onix/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +246 246 172 +205 205 131 +164 164 90 +123 123 49 +82 82 8 +16 16 16 diff --git a/graphics/pokemon/orbeetle/gigantamax/back.png b/graphics/pokemon/orbeetle/gmax/back.png similarity index 100% rename from graphics/pokemon/orbeetle/gigantamax/back.png rename to graphics/pokemon/orbeetle/gmax/back.png diff --git a/graphics/pokemon/orbeetle/gigantamax/front.png b/graphics/pokemon/orbeetle/gmax/front.png similarity index 100% rename from graphics/pokemon/orbeetle/gigantamax/front.png rename to graphics/pokemon/orbeetle/gmax/front.png diff --git a/graphics/pokemon/orbeetle/gigantamax/icon.png b/graphics/pokemon/orbeetle/gmax/icon.png similarity index 100% rename from graphics/pokemon/orbeetle/gigantamax/icon.png rename to graphics/pokemon/orbeetle/gmax/icon.png diff --git a/graphics/pokemon/orbeetle/gigantamax/normal.pal b/graphics/pokemon/orbeetle/gmax/normal.pal similarity index 100% rename from graphics/pokemon/orbeetle/gigantamax/normal.pal rename to graphics/pokemon/orbeetle/gmax/normal.pal diff --git a/graphics/pokemon/orbeetle/gigantamax/shiny.pal b/graphics/pokemon/orbeetle/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/orbeetle/gigantamax/shiny.pal rename to graphics/pokemon/orbeetle/gmax/shiny.pal diff --git a/graphics/pokemon/pachirisu/overworldf.png b/graphics/pokemon/pachirisu/overworldf.png new file mode 100644 index 000000000000..a2f9c4312005 Binary files /dev/null and b/graphics/pokemon/pachirisu/overworldf.png differ diff --git a/graphics/pokemon/paras/anim_front_gba.png b/graphics/pokemon/paras/anim_front_gba.png new file mode 100644 index 000000000000..5a027dc0716d Binary files /dev/null and b/graphics/pokemon/paras/anim_front_gba.png differ diff --git a/graphics/pokemon/paras/back_gba.png b/graphics/pokemon/paras/back_gba.png new file mode 100644 index 000000000000..cb77d2d776fb Binary files /dev/null and b/graphics/pokemon/paras/back_gba.png differ diff --git a/graphics/pokemon/paras/icon_gba.png b/graphics/pokemon/paras/icon_gba.png new file mode 100644 index 000000000000..6b828b0587f5 Binary files /dev/null and b/graphics/pokemon/paras/icon_gba.png differ diff --git a/graphics/pokemon/paras/normal_gba.pal b/graphics/pokemon/paras/normal_gba.pal new file mode 100644 index 000000000000..46c089f35247 --- /dev/null +++ b/graphics/pokemon/paras/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 246 255 +230 230 230 +164 164 164 +255 246 90 +230 222 65 +255 148 148 +255 74 74 +189 16 16 +255 0 255 +238 222 139 +230 189 82 +189 139 49 +164 90 16 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/paras/shiny_gba.pal b/graphics/pokemon/paras/shiny_gba.pal new file mode 100644 index 000000000000..77d322075290 --- /dev/null +++ b/graphics/pokemon/paras/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 246 255 +230 230 230 +164 164 164 +255 246 90 +230 222 65 +255 148 148 +255 74 74 +189 16 16 +255 0 255 +255 180 90 +230 115 32 +189 74 0 +148 32 0 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/parasect/anim_front_gba.png b/graphics/pokemon/parasect/anim_front_gba.png new file mode 100644 index 000000000000..b22a7ff8930c Binary files /dev/null and b/graphics/pokemon/parasect/anim_front_gba.png differ diff --git a/graphics/pokemon/parasect/back_gba.png b/graphics/pokemon/parasect/back_gba.png new file mode 100644 index 000000000000..f313d5a911e7 Binary files /dev/null and b/graphics/pokemon/parasect/back_gba.png differ diff --git a/graphics/pokemon/parasect/icon_gba.png b/graphics/pokemon/parasect/icon_gba.png new file mode 100644 index 000000000000..907cbf5cabd3 Binary files /dev/null and b/graphics/pokemon/parasect/icon_gba.png differ diff --git a/graphics/pokemon/parasect/normal_gba.pal b/graphics/pokemon/parasect/normal_gba.pal new file mode 100644 index 000000000000..158331c680ae --- /dev/null +++ b/graphics/pokemon/parasect/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 246 255 +230 230 230 +164 164 164 +255 246 90 +213 205 49 +255 164 164 +255 90 90 +230 49 49 +164 16 16 +255 0 255 +255 131 82 +222 106 49 +180 65 49 +123 32 16 +16 16 16 diff --git a/graphics/pokemon/parasect/shiny_gba.pal b/graphics/pokemon/parasect/shiny_gba.pal new file mode 100644 index 000000000000..3574c408fc06 --- /dev/null +++ b/graphics/pokemon/parasect/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 246 255 +230 230 230 +164 164 164 +255 246 90 +213 205 49 +255 213 90 +255 172 49 +213 131 8 +156 74 0 +255 0 255 +255 189 82 +213 148 41 +172 106 0 +131 65 0 +16 16 16 diff --git a/graphics/pokemon/pelipper/anim_front_gba.png b/graphics/pokemon/pelipper/anim_front_gba.png new file mode 100644 index 000000000000..1bf8530ae232 Binary files /dev/null and b/graphics/pokemon/pelipper/anim_front_gba.png differ diff --git a/graphics/pokemon/pelipper/back_gba.png b/graphics/pokemon/pelipper/back_gba.png new file mode 100644 index 000000000000..4b155c28de12 Binary files /dev/null and b/graphics/pokemon/pelipper/back_gba.png differ diff --git a/graphics/pokemon/pelipper/icon_gba.png b/graphics/pokemon/pelipper/icon_gba.png new file mode 100644 index 000000000000..55a16bc5f96e Binary files /dev/null and b/graphics/pokemon/pelipper/icon_gba.png differ diff --git a/graphics/pokemon/pelipper/normal_gba.pal b/graphics/pokemon/pelipper/normal_gba.pal new file mode 100644 index 000000000000..c78d73c37b0d --- /dev/null +++ b/graphics/pokemon/pelipper/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 189 139 +131 90 65 +230 172 90 +255 213 98 +255 238 156 +82 82 90 +148 213 230 +57 156 180 +115 189 213 +222 222 238 +246 246 255 +139 65 90 +189 139 57 +0 0 0 +156 156 172 +32 98 123 diff --git a/graphics/pokemon/pelipper/shiny_gba.pal b/graphics/pokemon/pelipper/shiny_gba.pal new file mode 100644 index 000000000000..41686ffed130 --- /dev/null +++ b/graphics/pokemon/pelipper/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 189 139 +131 90 65 +238 189 90 +255 230 106 +255 238 189 +82 82 90 +156 238 123 +90 156 57 +123 205 90 +230 205 255 +246 246 255 +139 65 90 +189 139 57 +0 0 0 +156 156 172 +32 98 123 diff --git a/graphics/pokemon/persian/alolan/back.png b/graphics/pokemon/persian/alola/back.png similarity index 100% rename from graphics/pokemon/persian/alolan/back.png rename to graphics/pokemon/persian/alola/back.png diff --git a/graphics/pokemon/persian/alolan/front.png b/graphics/pokemon/persian/alola/front.png similarity index 100% rename from graphics/pokemon/persian/alolan/front.png rename to graphics/pokemon/persian/alola/front.png diff --git a/graphics/pokemon/persian/alolan/icon.png b/graphics/pokemon/persian/alola/icon.png similarity index 100% rename from graphics/pokemon/persian/alolan/icon.png rename to graphics/pokemon/persian/alola/icon.png diff --git a/graphics/pokemon/persian/alolan/normal.pal b/graphics/pokemon/persian/alola/normal.pal similarity index 100% rename from graphics/pokemon/persian/alolan/normal.pal rename to graphics/pokemon/persian/alola/normal.pal diff --git a/graphics/pokemon/persian/alolan/overworld.png b/graphics/pokemon/persian/alola/overworld.png similarity index 100% rename from graphics/pokemon/persian/alolan/overworld.png rename to graphics/pokemon/persian/alola/overworld.png diff --git a/graphics/pokemon/persian/alolan/overworld_normal.pal b/graphics/pokemon/persian/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/persian/alolan/overworld_normal.pal rename to graphics/pokemon/persian/alola/overworld_normal.pal diff --git a/graphics/pokemon/persian/alolan/overworld_shiny.pal b/graphics/pokemon/persian/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/persian/alolan/overworld_shiny.pal rename to graphics/pokemon/persian/alola/overworld_shiny.pal diff --git a/graphics/pokemon/persian/alolan/shiny.pal b/graphics/pokemon/persian/alola/shiny.pal similarity index 100% rename from graphics/pokemon/persian/alolan/shiny.pal rename to graphics/pokemon/persian/alola/shiny.pal diff --git a/graphics/pokemon/persian/anim_front_gba.png b/graphics/pokemon/persian/anim_front_gba.png new file mode 100644 index 000000000000..2eda6b1ce0af Binary files /dev/null and b/graphics/pokemon/persian/anim_front_gba.png differ diff --git a/graphics/pokemon/persian/back_gba.png b/graphics/pokemon/persian/back_gba.png new file mode 100644 index 000000000000..10b7acf6566e Binary files /dev/null and b/graphics/pokemon/persian/back_gba.png differ diff --git a/graphics/pokemon/persian/icon_gba.png b/graphics/pokemon/persian/icon_gba.png new file mode 100644 index 000000000000..3d6f72feeb81 Binary files /dev/null and b/graphics/pokemon/persian/icon_gba.png differ diff --git a/graphics/pokemon/persian/normal_gba.pal b/graphics/pokemon/persian/normal_gba.pal new file mode 100644 index 000000000000..7f533e8702be --- /dev/null +++ b/graphics/pokemon/persian/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +222 222 222 +16 16 16 +255 189 156 +246 82 65 +164 16 0 +189 164 74 +148 123 32 +115 90 16 +255 0 255 +255 0 255 +255 255 172 +255 230 131 +222 180 82 +148 98 0 diff --git a/graphics/pokemon/persian/shiny_gba.pal b/graphics/pokemon/persian/shiny_gba.pal new file mode 100644 index 000000000000..7c72dc0b995c --- /dev/null +++ b/graphics/pokemon/persian/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +222 222 222 +16 16 16 +255 123 82 +222 98 49 +180 65 49 +255 189 246 +255 148 205 +148 57 98 +255 0 255 +255 0 255 +255 255 205 +255 238 164 +213 197 123 +164 131 41 diff --git a/graphics/pokemon/phanpy/anim_front_gba.png b/graphics/pokemon/phanpy/anim_front_gba.png new file mode 100644 index 000000000000..e90f240ce31a Binary files /dev/null and b/graphics/pokemon/phanpy/anim_front_gba.png differ diff --git a/graphics/pokemon/phanpy/back_gba.png b/graphics/pokemon/phanpy/back_gba.png new file mode 100644 index 000000000000..b40fb8ddf9b5 Binary files /dev/null and b/graphics/pokemon/phanpy/back_gba.png differ diff --git a/graphics/pokemon/phanpy/icon_gba.png b/graphics/pokemon/phanpy/icon_gba.png new file mode 100644 index 000000000000..341724973c9f Binary files /dev/null and b/graphics/pokemon/phanpy/icon_gba.png differ diff --git a/graphics/pokemon/phanpy/normal_gba.pal b/graphics/pokemon/phanpy/normal_gba.pal new file mode 100644 index 000000000000..57ca810fad73 --- /dev/null +++ b/graphics/pokemon/phanpy/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +172 213 238 +156 189 238 +98 148 197 +82 82 148 +255 0 255 +255 172 139 +246 106 82 +189 57 49 +131 0 0 +255 0 255 +255 0 255 +213 213 213 +139 139 139 +16 16 16 diff --git a/graphics/pokemon/phanpy/shiny_gba.pal b/graphics/pokemon/phanpy/shiny_gba.pal new file mode 100644 index 000000000000..a09fc1dccc98 --- /dev/null +++ b/graphics/pokemon/phanpy/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 246 255 +189 230 255 +106 180 230 +65 98 180 +255 0 255 +255 164 123 +255 82 65 +197 49 57 +131 0 0 +255 0 255 +255 0 255 +213 213 213 +139 139 139 +16 16 16 diff --git a/graphics/pokemon/pichu/anim_front_gba.png b/graphics/pokemon/pichu/anim_front_gba.png new file mode 100644 index 000000000000..0ea36a2c9421 Binary files /dev/null and b/graphics/pokemon/pichu/anim_front_gba.png differ diff --git a/graphics/pokemon/pichu/back_gba.png b/graphics/pokemon/pichu/back_gba.png new file mode 100644 index 000000000000..94d5936323d1 Binary files /dev/null and b/graphics/pokemon/pichu/back_gba.png differ diff --git a/graphics/pokemon/pichu/icon_gba.png b/graphics/pokemon/pichu/icon_gba.png new file mode 100644 index 000000000000..dd696ac1017b Binary files /dev/null and b/graphics/pokemon/pichu/icon_gba.png differ diff --git a/graphics/pokemon/pichu/normal_gba.pal b/graphics/pokemon/pichu/normal_gba.pal new file mode 100644 index 000000000000..50d614dae828 --- /dev/null +++ b/graphics/pokemon/pichu/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 197 +255 238 131 +230 180 65 +197 139 0 +131 82 0 +255 0 255 +255 0 255 +255 115 74 +197 65 41 +115 32 8 +205 205 205 +115 115 115 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/pichu/shiny_gba.pal b/graphics/pokemon/pichu/shiny_gba.pal new file mode 100644 index 000000000000..dd17d7fe0f20 --- /dev/null +++ b/graphics/pokemon/pichu/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 90 +255 222 41 +222 180 0 +172 131 0 +131 82 0 +255 0 255 +255 0 255 +255 82 0 +197 0 0 +115 0 0 +205 205 205 +115 115 115 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/pidgeot/anim_front_gba.png b/graphics/pokemon/pidgeot/anim_front_gba.png new file mode 100644 index 000000000000..1c202dab0892 Binary files /dev/null and b/graphics/pokemon/pidgeot/anim_front_gba.png differ diff --git a/graphics/pokemon/pidgeot/back_gba.png b/graphics/pokemon/pidgeot/back_gba.png new file mode 100644 index 000000000000..22d7d27028a3 Binary files /dev/null and b/graphics/pokemon/pidgeot/back_gba.png differ diff --git a/graphics/pokemon/pidgeot/icon_gba.png b/graphics/pokemon/pidgeot/icon_gba.png new file mode 100644 index 000000000000..472c0640c304 Binary files /dev/null and b/graphics/pokemon/pidgeot/icon_gba.png differ diff --git a/graphics/pokemon/pidgeot/normal_gba.pal b/graphics/pokemon/pidgeot/normal_gba.pal new file mode 100644 index 000000000000..a9fff6c19ea5 --- /dev/null +++ b/graphics/pokemon/pidgeot/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +164 164 164 +255 246 189 +255 230 139 +230 189 98 +255 172 115 +238 98 65 +213 49 24 +255 213 180 +230 180 148 +205 156 123 +172 123 90 +123 90 74 +90 57 41 +16 16 16 diff --git a/graphics/pokemon/pidgeot/shiny_gba.pal b/graphics/pokemon/pidgeot/shiny_gba.pal new file mode 100644 index 000000000000..17eaa40f2c13 --- /dev/null +++ b/graphics/pokemon/pidgeot/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 197 172 +255 255 255 +164 164 164 +246 255 205 +255 255 156 +246 205 90 +255 255 0 +255 205 0 +230 164 0 +255 238 49 +238 205 16 +205 172 16 +180 131 0 +148 90 0 +98 41 0 +16 16 16 diff --git a/graphics/pokemon/pidgeotto/anim_front_gba.png b/graphics/pokemon/pidgeotto/anim_front_gba.png new file mode 100644 index 000000000000..65ef21ec5496 Binary files /dev/null and b/graphics/pokemon/pidgeotto/anim_front_gba.png differ diff --git a/graphics/pokemon/pidgeotto/back_gba.png b/graphics/pokemon/pidgeotto/back_gba.png new file mode 100644 index 000000000000..4aeab2844d91 Binary files /dev/null and b/graphics/pokemon/pidgeotto/back_gba.png differ diff --git a/graphics/pokemon/pidgeotto/icon_gba.png b/graphics/pokemon/pidgeotto/icon_gba.png new file mode 100644 index 000000000000..bb134533e383 Binary files /dev/null and b/graphics/pokemon/pidgeotto/icon_gba.png differ diff --git a/graphics/pokemon/pidgeotto/normal_gba.pal b/graphics/pokemon/pidgeotto/normal_gba.pal new file mode 100644 index 000000000000..bf2ec6af119a --- /dev/null +++ b/graphics/pokemon/pidgeotto/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 197 172 +255 255 255 +164 164 164 +246 246 164 +255 238 90 +230 180 74 +255 172 115 +238 98 65 +213 49 24 +205 156 123 +172 123 90 +123 90 74 +90 57 41 +255 0 255 +32 32 32 +255 0 255 diff --git a/graphics/pokemon/pidgeotto/shiny_gba.pal b/graphics/pokemon/pidgeotto/shiny_gba.pal new file mode 100644 index 000000000000..09a5b5cd3a6f --- /dev/null +++ b/graphics/pokemon/pidgeotto/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 197 172 +255 255 255 +164 164 164 +255 255 205 +246 238 172 +222 197 131 +255 255 65 +255 213 24 +246 172 0 +197 180 123 +164 148 90 +131 115 57 +82 65 16 +255 0 255 +32 32 32 +255 0 255 diff --git a/graphics/pokemon/pidgey/anim_front_gba.png b/graphics/pokemon/pidgey/anim_front_gba.png new file mode 100644 index 000000000000..8136556d58cb Binary files /dev/null and b/graphics/pokemon/pidgey/anim_front_gba.png differ diff --git a/graphics/pokemon/pidgey/back_gba.png b/graphics/pokemon/pidgey/back_gba.png new file mode 100644 index 000000000000..ecb42e8f122b Binary files /dev/null and b/graphics/pokemon/pidgey/back_gba.png differ diff --git a/graphics/pokemon/pidgey/icon_gba.png b/graphics/pokemon/pidgey/icon_gba.png new file mode 100644 index 000000000000..44ff943116f6 Binary files /dev/null and b/graphics/pokemon/pidgey/icon_gba.png differ diff --git a/graphics/pokemon/pidgey/normal_gba.pal b/graphics/pokemon/pidgey/normal_gba.pal new file mode 100644 index 000000000000..94db7288c037 --- /dev/null +++ b/graphics/pokemon/pidgey/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +189 189 189 +255 246 189 +255 230 139 +230 189 98 +255 172 115 +238 98 65 +180 8 0 +205 156 123 +172 123 90 +123 90 74 +90 57 41 +255 0 255 +16 16 16 +255 0 255 diff --git a/graphics/pokemon/pidgey/shiny_gba.pal b/graphics/pokemon/pidgey/shiny_gba.pal new file mode 100644 index 000000000000..5723ea075f68 --- /dev/null +++ b/graphics/pokemon/pidgey/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 189 189 +255 255 197 +255 255 139 +213 213 90 +255 255 32 +255 197 0 +189 148 65 +230 222 0 +189 180 0 +148 139 0 +106 98 0 +255 0 255 +16 16 16 +255 0 255 diff --git a/graphics/pokemon/pikachu/alola_cap/back.png b/graphics/pokemon/pikachu/alola/back.png similarity index 100% rename from graphics/pokemon/pikachu/alola_cap/back.png rename to graphics/pokemon/pikachu/alola/back.png diff --git a/graphics/pokemon/pikachu/alola_cap/front.png b/graphics/pokemon/pikachu/alola/front.png similarity index 100% rename from graphics/pokemon/pikachu/alola_cap/front.png rename to graphics/pokemon/pikachu/alola/front.png diff --git a/graphics/pokemon/pikachu/alola_cap/icon.png b/graphics/pokemon/pikachu/alola/icon.png similarity index 100% rename from graphics/pokemon/pikachu/alola_cap/icon.png rename to graphics/pokemon/pikachu/alola/icon.png diff --git a/graphics/pokemon/pikachu/alola_cap/normal.pal b/graphics/pokemon/pikachu/alola/normal.pal similarity index 100% rename from graphics/pokemon/pikachu/alola_cap/normal.pal rename to graphics/pokemon/pikachu/alola/normal.pal diff --git a/graphics/pokemon/pikachu/alola_cap/shiny.pal b/graphics/pokemon/pikachu/alola/shiny.pal similarity index 100% rename from graphics/pokemon/pikachu/alola_cap/shiny.pal rename to graphics/pokemon/pikachu/alola/shiny.pal diff --git a/graphics/pokemon/pikachu/anim_front_gba.png b/graphics/pokemon/pikachu/anim_front_gba.png new file mode 100644 index 000000000000..f9be0540133e Binary files /dev/null and b/graphics/pokemon/pikachu/anim_front_gba.png differ diff --git a/graphics/pokemon/pikachu/back_gba.png b/graphics/pokemon/pikachu/back_gba.png new file mode 100644 index 000000000000..0ea5ff592ea8 Binary files /dev/null and b/graphics/pokemon/pikachu/back_gba.png differ diff --git a/graphics/pokemon/pikachu/gigantamax/back.png b/graphics/pokemon/pikachu/gmax/back.png similarity index 100% rename from graphics/pokemon/pikachu/gigantamax/back.png rename to graphics/pokemon/pikachu/gmax/back.png diff --git a/graphics/pokemon/pikachu/gigantamax/front.png b/graphics/pokemon/pikachu/gmax/front.png similarity index 100% rename from graphics/pokemon/pikachu/gigantamax/front.png rename to graphics/pokemon/pikachu/gmax/front.png diff --git a/graphics/pokemon/pikachu/gigantamax/icon.png b/graphics/pokemon/pikachu/gmax/icon.png similarity index 100% rename from graphics/pokemon/pikachu/gigantamax/icon.png rename to graphics/pokemon/pikachu/gmax/icon.png diff --git a/graphics/pokemon/pikachu/gigantamax/normal.pal b/graphics/pokemon/pikachu/gmax/normal.pal similarity index 100% rename from graphics/pokemon/pikachu/gigantamax/normal.pal rename to graphics/pokemon/pikachu/gmax/normal.pal diff --git a/graphics/pokemon/pikachu/gigantamax/shiny.pal b/graphics/pokemon/pikachu/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/pikachu/gigantamax/shiny.pal rename to graphics/pokemon/pikachu/gmax/shiny.pal diff --git a/graphics/pokemon/pikachu/hoenn_cap/back.png b/graphics/pokemon/pikachu/hoenn/back.png similarity index 100% rename from graphics/pokemon/pikachu/hoenn_cap/back.png rename to graphics/pokemon/pikachu/hoenn/back.png diff --git a/graphics/pokemon/pikachu/hoenn_cap/front.png b/graphics/pokemon/pikachu/hoenn/front.png similarity index 100% rename from graphics/pokemon/pikachu/hoenn_cap/front.png rename to graphics/pokemon/pikachu/hoenn/front.png diff --git a/graphics/pokemon/pikachu/hoenn_cap/icon.png b/graphics/pokemon/pikachu/hoenn/icon.png similarity index 100% rename from graphics/pokemon/pikachu/hoenn_cap/icon.png rename to graphics/pokemon/pikachu/hoenn/icon.png diff --git a/graphics/pokemon/pikachu/hoenn_cap/normal.pal b/graphics/pokemon/pikachu/hoenn/normal.pal similarity index 100% rename from graphics/pokemon/pikachu/hoenn_cap/normal.pal rename to graphics/pokemon/pikachu/hoenn/normal.pal diff --git a/graphics/pokemon/pikachu/hoenn_cap/shiny.pal b/graphics/pokemon/pikachu/hoenn/shiny.pal similarity index 100% rename from graphics/pokemon/pikachu/hoenn_cap/shiny.pal rename to graphics/pokemon/pikachu/hoenn/shiny.pal diff --git a/graphics/pokemon/pikachu/icon_gba.png b/graphics/pokemon/pikachu/icon_gba.png new file mode 100644 index 000000000000..feb77f7db4e8 Binary files /dev/null and b/graphics/pokemon/pikachu/icon_gba.png differ diff --git a/graphics/pokemon/pikachu/kalos_cap/back.png b/graphics/pokemon/pikachu/kalos/back.png similarity index 100% rename from graphics/pokemon/pikachu/kalos_cap/back.png rename to graphics/pokemon/pikachu/kalos/back.png diff --git a/graphics/pokemon/pikachu/kalos_cap/front.png b/graphics/pokemon/pikachu/kalos/front.png similarity index 100% rename from graphics/pokemon/pikachu/kalos_cap/front.png rename to graphics/pokemon/pikachu/kalos/front.png diff --git a/graphics/pokemon/pikachu/kalos_cap/icon.png b/graphics/pokemon/pikachu/kalos/icon.png similarity index 100% rename from graphics/pokemon/pikachu/kalos_cap/icon.png rename to graphics/pokemon/pikachu/kalos/icon.png diff --git a/graphics/pokemon/pikachu/kalos_cap/normal.pal b/graphics/pokemon/pikachu/kalos/normal.pal similarity index 100% rename from graphics/pokemon/pikachu/kalos_cap/normal.pal rename to graphics/pokemon/pikachu/kalos/normal.pal diff --git a/graphics/pokemon/pikachu/kalos_cap/shiny.pal b/graphics/pokemon/pikachu/kalos/shiny.pal similarity index 100% rename from graphics/pokemon/pikachu/kalos_cap/shiny.pal rename to graphics/pokemon/pikachu/kalos/shiny.pal diff --git a/graphics/pokemon/pikachu/normal_gba.pal b/graphics/pokemon/pikachu/normal_gba.pal new file mode 100644 index 000000000000..bb60c24a99d7 --- /dev/null +++ b/graphics/pokemon/pikachu/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 180 +255 255 255 +255 255 123 +255 238 0 +238 189 0 +197 139 0 +131 82 0 +255 0 255 +255 0 255 +255 0 255 +255 74 74 +230 0 0 +180 0 0 +106 106 106 +16 16 16 +255 0 255 diff --git a/graphics/pokemon/pikachu/original_cap/back.png b/graphics/pokemon/pikachu/original/back.png similarity index 100% rename from graphics/pokemon/pikachu/original_cap/back.png rename to graphics/pokemon/pikachu/original/back.png diff --git a/graphics/pokemon/pikachu/original_cap/front.png b/graphics/pokemon/pikachu/original/front.png similarity index 100% rename from graphics/pokemon/pikachu/original_cap/front.png rename to graphics/pokemon/pikachu/original/front.png diff --git a/graphics/pokemon/pikachu/original_cap/icon.png b/graphics/pokemon/pikachu/original/icon.png similarity index 100% rename from graphics/pokemon/pikachu/original_cap/icon.png rename to graphics/pokemon/pikachu/original/icon.png diff --git a/graphics/pokemon/pikachu/original_cap/normal.pal b/graphics/pokemon/pikachu/original/normal.pal similarity index 100% rename from graphics/pokemon/pikachu/original_cap/normal.pal rename to graphics/pokemon/pikachu/original/normal.pal diff --git a/graphics/pokemon/pikachu/original_cap/shiny.pal b/graphics/pokemon/pikachu/original/shiny.pal similarity index 100% rename from graphics/pokemon/pikachu/original_cap/shiny.pal rename to graphics/pokemon/pikachu/original/shiny.pal diff --git a/graphics/pokemon/pikachu/overworldf.png b/graphics/pokemon/pikachu/overworldf.png new file mode 100644 index 000000000000..b354642fe9ef Binary files /dev/null and b/graphics/pokemon/pikachu/overworldf.png differ diff --git a/graphics/pokemon/pikachu/partner_cap/back.png b/graphics/pokemon/pikachu/partner/back.png similarity index 100% rename from graphics/pokemon/pikachu/partner_cap/back.png rename to graphics/pokemon/pikachu/partner/back.png diff --git a/graphics/pokemon/pikachu/partner_cap/front.png b/graphics/pokemon/pikachu/partner/front.png similarity index 100% rename from graphics/pokemon/pikachu/partner_cap/front.png rename to graphics/pokemon/pikachu/partner/front.png diff --git a/graphics/pokemon/pikachu/partner/icon.png b/graphics/pokemon/pikachu/partner/icon.png index 891f0d1b3e87..09ae0c691aa0 100644 Binary files a/graphics/pokemon/pikachu/partner/icon.png and b/graphics/pokemon/pikachu/partner/icon.png differ diff --git a/graphics/pokemon/pikachu/partner_cap/normal.pal b/graphics/pokemon/pikachu/partner/normal.pal similarity index 100% rename from graphics/pokemon/pikachu/partner_cap/normal.pal rename to graphics/pokemon/pikachu/partner/normal.pal diff --git a/graphics/pokemon/pikachu/partner_cap/shiny.pal b/graphics/pokemon/pikachu/partner/shiny.pal similarity index 100% rename from graphics/pokemon/pikachu/partner_cap/shiny.pal rename to graphics/pokemon/pikachu/partner/shiny.pal diff --git a/graphics/pokemon/pikachu/ph_d/back.png b/graphics/pokemon/pikachu/phd/back.png similarity index 100% rename from graphics/pokemon/pikachu/ph_d/back.png rename to graphics/pokemon/pikachu/phd/back.png diff --git a/graphics/pokemon/pikachu/ph_d/front.png b/graphics/pokemon/pikachu/phd/front.png similarity index 100% rename from graphics/pokemon/pikachu/ph_d/front.png rename to graphics/pokemon/pikachu/phd/front.png diff --git a/graphics/pokemon/pikachu/ph_d/icon.png b/graphics/pokemon/pikachu/phd/icon.png similarity index 100% rename from graphics/pokemon/pikachu/ph_d/icon.png rename to graphics/pokemon/pikachu/phd/icon.png diff --git a/graphics/pokemon/pikachu/ph_d/normal.pal b/graphics/pokemon/pikachu/phd/normal.pal similarity index 100% rename from graphics/pokemon/pikachu/ph_d/normal.pal rename to graphics/pokemon/pikachu/phd/normal.pal diff --git a/graphics/pokemon/pikachu/ph_d/shiny.pal b/graphics/pokemon/pikachu/phd/shiny.pal similarity index 100% rename from graphics/pokemon/pikachu/ph_d/shiny.pal rename to graphics/pokemon/pikachu/phd/shiny.pal diff --git a/graphics/pokemon/pikachu/shiny_gba.pal b/graphics/pokemon/pikachu/shiny_gba.pal new file mode 100644 index 000000000000..d4b783b0e6f2 --- /dev/null +++ b/graphics/pokemon/pikachu/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 180 +255 255 255 +255 238 139 +246 205 32 +255 131 0 +205 98 0 +164 41 0 +255 0 255 +255 0 255 +255 0 255 +255 49 0 +205 57 0 +180 32 0 +106 106 106 +16 16 16 +255 0 255 diff --git a/graphics/pokemon/pikachu/sinnoh_cap/back.png b/graphics/pokemon/pikachu/sinnoh/back.png similarity index 100% rename from graphics/pokemon/pikachu/sinnoh_cap/back.png rename to graphics/pokemon/pikachu/sinnoh/back.png diff --git a/graphics/pokemon/pikachu/sinnoh_cap/front.png b/graphics/pokemon/pikachu/sinnoh/front.png similarity index 100% rename from graphics/pokemon/pikachu/sinnoh_cap/front.png rename to graphics/pokemon/pikachu/sinnoh/front.png diff --git a/graphics/pokemon/pikachu/sinnoh_cap/icon.png b/graphics/pokemon/pikachu/sinnoh/icon.png similarity index 100% rename from graphics/pokemon/pikachu/sinnoh_cap/icon.png rename to graphics/pokemon/pikachu/sinnoh/icon.png diff --git a/graphics/pokemon/pikachu/sinnoh_cap/normal.pal b/graphics/pokemon/pikachu/sinnoh/normal.pal similarity index 100% rename from graphics/pokemon/pikachu/sinnoh_cap/normal.pal rename to graphics/pokemon/pikachu/sinnoh/normal.pal diff --git a/graphics/pokemon/pikachu/sinnoh_cap/shiny.pal b/graphics/pokemon/pikachu/sinnoh/shiny.pal similarity index 100% rename from graphics/pokemon/pikachu/sinnoh_cap/shiny.pal rename to graphics/pokemon/pikachu/sinnoh/shiny.pal diff --git a/graphics/pokemon/pikachu/partner_cap/icon.png b/graphics/pokemon/pikachu/starter/icon.png similarity index 100% rename from graphics/pokemon/pikachu/partner_cap/icon.png rename to graphics/pokemon/pikachu/starter/icon.png diff --git a/graphics/pokemon/pikachu/partner/iconf.png b/graphics/pokemon/pikachu/starter/iconf.png similarity index 100% rename from graphics/pokemon/pikachu/partner/iconf.png rename to graphics/pokemon/pikachu/starter/iconf.png diff --git a/graphics/pokemon/pikachu/unova_cap/back.png b/graphics/pokemon/pikachu/unova/back.png similarity index 100% rename from graphics/pokemon/pikachu/unova_cap/back.png rename to graphics/pokemon/pikachu/unova/back.png diff --git a/graphics/pokemon/pikachu/unova_cap/front.png b/graphics/pokemon/pikachu/unova/front.png similarity index 100% rename from graphics/pokemon/pikachu/unova_cap/front.png rename to graphics/pokemon/pikachu/unova/front.png diff --git a/graphics/pokemon/pikachu/unova_cap/icon.png b/graphics/pokemon/pikachu/unova/icon.png similarity index 100% rename from graphics/pokemon/pikachu/unova_cap/icon.png rename to graphics/pokemon/pikachu/unova/icon.png diff --git a/graphics/pokemon/pikachu/unova_cap/normal.pal b/graphics/pokemon/pikachu/unova/normal.pal similarity index 100% rename from graphics/pokemon/pikachu/unova_cap/normal.pal rename to graphics/pokemon/pikachu/unova/normal.pal diff --git a/graphics/pokemon/pikachu/unova_cap/shiny.pal b/graphics/pokemon/pikachu/unova/shiny.pal similarity index 100% rename from graphics/pokemon/pikachu/unova_cap/shiny.pal rename to graphics/pokemon/pikachu/unova/shiny.pal diff --git a/graphics/pokemon/pikachu/world_cap/back.png b/graphics/pokemon/pikachu/world/back.png similarity index 100% rename from graphics/pokemon/pikachu/world_cap/back.png rename to graphics/pokemon/pikachu/world/back.png diff --git a/graphics/pokemon/pikachu/world_cap/front.png b/graphics/pokemon/pikachu/world/front.png similarity index 100% rename from graphics/pokemon/pikachu/world_cap/front.png rename to graphics/pokemon/pikachu/world/front.png diff --git a/graphics/pokemon/pikachu/world_cap/icon.png b/graphics/pokemon/pikachu/world/icon.png similarity index 100% rename from graphics/pokemon/pikachu/world_cap/icon.png rename to graphics/pokemon/pikachu/world/icon.png diff --git a/graphics/pokemon/pikachu/world_cap/normal.pal b/graphics/pokemon/pikachu/world/normal.pal similarity index 100% rename from graphics/pokemon/pikachu/world_cap/normal.pal rename to graphics/pokemon/pikachu/world/normal.pal diff --git a/graphics/pokemon/pikachu/world_cap/shiny.pal b/graphics/pokemon/pikachu/world/shiny.pal similarity index 100% rename from graphics/pokemon/pikachu/world_cap/shiny.pal rename to graphics/pokemon/pikachu/world/shiny.pal diff --git a/graphics/pokemon/piloswine/anim_front_gba.png b/graphics/pokemon/piloswine/anim_front_gba.png new file mode 100644 index 000000000000..ed0870abc5a7 Binary files /dev/null and b/graphics/pokemon/piloswine/anim_front_gba.png differ diff --git a/graphics/pokemon/piloswine/back_gba.png b/graphics/pokemon/piloswine/back_gba.png new file mode 100644 index 000000000000..a9a3bfed8e77 Binary files /dev/null and b/graphics/pokemon/piloswine/back_gba.png differ diff --git a/graphics/pokemon/piloswine/icon_gba.png b/graphics/pokemon/piloswine/icon_gba.png new file mode 100644 index 000000000000..974e9ea6a942 Binary files /dev/null and b/graphics/pokemon/piloswine/icon_gba.png differ diff --git a/graphics/pokemon/piloswine/normal_gba.pal b/graphics/pokemon/piloswine/normal_gba.pal new file mode 100644 index 000000000000..287cfcd0d044 --- /dev/null +++ b/graphics/pokemon/piloswine/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 197 115 +197 164 82 +164 131 57 +123 98 24 +82 57 0 +255 0 255 +255 189 131 +222 139 82 +180 98 41 +255 0 255 +222 222 222 +180 180 189 +123 123 139 +16 16 16 diff --git a/graphics/pokemon/piloswine/overworldf.png b/graphics/pokemon/piloswine/overworldf.png new file mode 100644 index 000000000000..87459a519d5f Binary files /dev/null and b/graphics/pokemon/piloswine/overworldf.png differ diff --git a/graphics/pokemon/piloswine/shiny_gba.pal b/graphics/pokemon/piloswine/shiny_gba.pal new file mode 100644 index 000000000000..ff56a634a068 --- /dev/null +++ b/graphics/pokemon/piloswine/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 238 156 +222 213 115 +189 180 90 +148 139 57 +82 57 0 +255 0 255 +255 189 131 +222 139 82 +180 98 41 +255 0 255 +222 222 222 +180 180 189 +123 123 139 +16 16 16 diff --git a/graphics/pokemon/pineco/anim_front_gba.png b/graphics/pokemon/pineco/anim_front_gba.png new file mode 100644 index 000000000000..6b554b9842a8 Binary files /dev/null and b/graphics/pokemon/pineco/anim_front_gba.png differ diff --git a/graphics/pokemon/pineco/back_gba.png b/graphics/pokemon/pineco/back_gba.png new file mode 100644 index 000000000000..a92454bb323a Binary files /dev/null and b/graphics/pokemon/pineco/back_gba.png differ diff --git a/graphics/pokemon/pineco/icon_gba.png b/graphics/pokemon/pineco/icon_gba.png new file mode 100644 index 000000000000..3c12df5a2f0b Binary files /dev/null and b/graphics/pokemon/pineco/icon_gba.png differ diff --git a/graphics/pokemon/pineco/normal_gba.pal b/graphics/pokemon/pineco/normal_gba.pal new file mode 100644 index 000000000000..91acee124aae --- /dev/null +++ b/graphics/pokemon/pineco/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +41 74 123 +57 115 164 +82 172 180 +131 213 213 +180 238 246 +156 164 164 +255 74 57 +255 0 255 +255 0 255 +255 255 255 diff --git a/graphics/pokemon/pineco/shiny_gba.pal b/graphics/pokemon/pineco/shiny_gba.pal new file mode 100644 index 000000000000..a474cc3e8435 --- /dev/null +++ b/graphics/pokemon/pineco/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +90 65 65 +148 90 82 +172 139 82 +230 197 106 +255 230 131 +156 164 164 +255 74 57 +255 0 255 +255 0 255 +255 255 255 diff --git a/graphics/pokemon/pinsir/anim_front_gba.png b/graphics/pokemon/pinsir/anim_front_gba.png new file mode 100644 index 000000000000..576e56b7d05f Binary files /dev/null and b/graphics/pokemon/pinsir/anim_front_gba.png differ diff --git a/graphics/pokemon/pinsir/back_gba.png b/graphics/pokemon/pinsir/back_gba.png new file mode 100644 index 000000000000..95ee9784c5c0 Binary files /dev/null and b/graphics/pokemon/pinsir/back_gba.png differ diff --git a/graphics/pokemon/pinsir/icon_gba.png b/graphics/pokemon/pinsir/icon_gba.png new file mode 100644 index 000000000000..b05b075b90c2 Binary files /dev/null and b/graphics/pokemon/pinsir/icon_gba.png differ diff --git a/graphics/pokemon/pinsir/normal_gba.pal b/graphics/pokemon/pinsir/normal_gba.pal new file mode 100644 index 000000000000..9ef4b91f2e79 --- /dev/null +++ b/graphics/pokemon/pinsir/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +246 246 213 +213 213 180 +164 164 131 +82 82 65 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +230 213 172 +197 172 139 +148 123 98 +90 65 41 +16 16 16 diff --git a/graphics/pokemon/pinsir/shiny_gba.pal b/graphics/pokemon/pinsir/shiny_gba.pal new file mode 100644 index 000000000000..cd06d2111b6f --- /dev/null +++ b/graphics/pokemon/pinsir/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +255 238 189 +230 197 156 +180 156 106 +98 74 57 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +123 139 222 +98 106 180 +57 65 106 +32 41 82 +16 16 16 diff --git a/graphics/pokemon/plusle/anim_front_gba.png b/graphics/pokemon/plusle/anim_front_gba.png new file mode 100644 index 000000000000..123efe4ef135 Binary files /dev/null and b/graphics/pokemon/plusle/anim_front_gba.png differ diff --git a/graphics/pokemon/plusle/back_gba.png b/graphics/pokemon/plusle/back_gba.png new file mode 100644 index 000000000000..7365f9921063 Binary files /dev/null and b/graphics/pokemon/plusle/back_gba.png differ diff --git a/graphics/pokemon/plusle/icon_gba.png b/graphics/pokemon/plusle/icon_gba.png new file mode 100644 index 000000000000..97f10d56f1e2 Binary files /dev/null and b/graphics/pokemon/plusle/icon_gba.png differ diff --git a/graphics/pokemon/plusle/normal_gba.pal b/graphics/pokemon/plusle/normal_gba.pal new file mode 100644 index 000000000000..e225ab56a4f6 --- /dev/null +++ b/graphics/pokemon/plusle/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 246 222 +255 238 197 +238 213 131 +189 172 131 +123 115 82 +238 156 115 +222 98 74 +139 90 49 +238 82 57 +41 49 65 +98 98 115 +65 65 98 +148 148 148 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/plusle/shiny_gba.pal b/graphics/pokemon/plusle/shiny_gba.pal new file mode 100644 index 000000000000..f1305ea504ed --- /dev/null +++ b/graphics/pokemon/plusle/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 246 222 +255 238 164 +255 213 106 +205 148 82 +139 82 16 +238 90 49 +205 49 8 +148 16 0 +164 32 16 +41 49 65 +98 98 115 +65 65 98 +148 148 148 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/politoed/anim_front_gba.png b/graphics/pokemon/politoed/anim_front_gba.png new file mode 100644 index 000000000000..d2b8b43aa688 Binary files /dev/null and b/graphics/pokemon/politoed/anim_front_gba.png differ diff --git a/graphics/pokemon/politoed/back_gba.png b/graphics/pokemon/politoed/back_gba.png new file mode 100644 index 000000000000..5337b6f27727 Binary files /dev/null and b/graphics/pokemon/politoed/back_gba.png differ diff --git a/graphics/pokemon/politoed/icon_gba.png b/graphics/pokemon/politoed/icon_gba.png new file mode 100644 index 000000000000..a5e5d699b5c2 Binary files /dev/null and b/graphics/pokemon/politoed/icon_gba.png differ diff --git a/graphics/pokemon/politoed/normal_gba.pal b/graphics/pokemon/politoed/normal_gba.pal new file mode 100644 index 000000000000..31177861d69a --- /dev/null +++ b/graphics/pokemon/politoed/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 164 +255 230 82 +230 180 41 +156 98 0 +205 255 131 +156 238 49 +123 189 24 +49 123 0 +255 180 106 +230 106 49 +180 57 0 +205 205 205 +131 131 131 +16 16 16 diff --git a/graphics/pokemon/politoed/overworldf.png b/graphics/pokemon/politoed/overworldf.png new file mode 100644 index 000000000000..1c4ad784f980 Binary files /dev/null and b/graphics/pokemon/politoed/overworldf.png differ diff --git a/graphics/pokemon/politoed/shiny_gba.pal b/graphics/pokemon/politoed/shiny_gba.pal new file mode 100644 index 000000000000..1d25291bf410 --- /dev/null +++ b/graphics/pokemon/politoed/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 230 238 +246 205 238 +213 164 205 +123 82 123 +156 230 255 +115 197 255 +74 148 205 +49 90 148 +255 172 90 +230 106 49 +164 57 32 +205 205 205 +131 131 131 +16 16 16 diff --git a/graphics/pokemon/poliwag/anim_front_gba.png b/graphics/pokemon/poliwag/anim_front_gba.png new file mode 100644 index 000000000000..32c33938341b Binary files /dev/null and b/graphics/pokemon/poliwag/anim_front_gba.png differ diff --git a/graphics/pokemon/poliwag/back_gba.png b/graphics/pokemon/poliwag/back_gba.png new file mode 100644 index 000000000000..a6e5d23fa2d6 Binary files /dev/null and b/graphics/pokemon/poliwag/back_gba.png differ diff --git a/graphics/pokemon/poliwag/icon_gba.png b/graphics/pokemon/poliwag/icon_gba.png new file mode 100644 index 000000000000..d4cd95f1c0e7 Binary files /dev/null and b/graphics/pokemon/poliwag/icon_gba.png differ diff --git a/graphics/pokemon/poliwag/normal_gba.pal b/graphics/pokemon/poliwag/normal_gba.pal new file mode 100644 index 000000000000..14f781ec905b --- /dev/null +++ b/graphics/pokemon/poliwag/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 222 222 +189 189 189 +98 98 98 +255 0 255 +255 0 255 +255 0 255 +255 189 172 +255 139 123 +238 90 74 +180 189 230 +131 139 180 +98 106 148 +65 82 98 +16 16 16 diff --git a/graphics/pokemon/poliwag/shiny_gba.pal b/graphics/pokemon/poliwag/shiny_gba.pal new file mode 100644 index 000000000000..1789edc4ae45 --- /dev/null +++ b/graphics/pokemon/poliwag/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 222 222 +189 189 189 +98 98 98 +255 0 255 +255 0 255 +255 0 255 +255 189 172 +255 139 123 +238 90 74 +123 205 255 +82 164 222 +41 123 180 +0 65 123 +16 16 16 diff --git a/graphics/pokemon/poliwhirl/anim_front_gba.png b/graphics/pokemon/poliwhirl/anim_front_gba.png new file mode 100644 index 000000000000..df878ca7b2b9 Binary files /dev/null and b/graphics/pokemon/poliwhirl/anim_front_gba.png differ diff --git a/graphics/pokemon/poliwhirl/back_gba.png b/graphics/pokemon/poliwhirl/back_gba.png new file mode 100644 index 000000000000..16531886a6c6 Binary files /dev/null and b/graphics/pokemon/poliwhirl/back_gba.png differ diff --git a/graphics/pokemon/poliwhirl/icon_gba.png b/graphics/pokemon/poliwhirl/icon_gba.png new file mode 100644 index 000000000000..c25dabbfe465 Binary files /dev/null and b/graphics/pokemon/poliwhirl/icon_gba.png differ diff --git a/graphics/pokemon/poliwhirl/normal_gba.pal b/graphics/pokemon/poliwhirl/normal_gba.pal new file mode 100644 index 000000000000..50de4d63131e --- /dev/null +++ b/graphics/pokemon/poliwhirl/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 222 222 +189 189 189 +164 164 164 +255 0 255 +255 0 255 +255 0 255 +123 123 123 +82 82 82 +255 0 255 +180 189 230 +131 148 197 +98 106 148 +32 57 98 +16 16 16 diff --git a/graphics/pokemon/poliwhirl/shiny_gba.pal b/graphics/pokemon/poliwhirl/shiny_gba.pal new file mode 100644 index 000000000000..b6aa45616b94 --- /dev/null +++ b/graphics/pokemon/poliwhirl/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 222 222 +189 189 189 +164 164 164 +255 0 255 +255 0 255 +255 0 255 +123 123 123 +82 82 82 +255 0 255 +106 213 255 +65 172 222 +24 131 180 +0 65 115 +16 16 16 diff --git a/graphics/pokemon/poliwrath/anim_front_gba.png b/graphics/pokemon/poliwrath/anim_front_gba.png new file mode 100644 index 000000000000..ec68c4aa584a Binary files /dev/null and b/graphics/pokemon/poliwrath/anim_front_gba.png differ diff --git a/graphics/pokemon/poliwrath/back_gba.png b/graphics/pokemon/poliwrath/back_gba.png new file mode 100644 index 000000000000..e5bee3663468 Binary files /dev/null and b/graphics/pokemon/poliwrath/back_gba.png differ diff --git a/graphics/pokemon/poliwrath/icon_gba.png b/graphics/pokemon/poliwrath/icon_gba.png new file mode 100644 index 000000000000..d1afb4511fcd Binary files /dev/null and b/graphics/pokemon/poliwrath/icon_gba.png differ diff --git a/graphics/pokemon/poliwrath/normal_gba.pal b/graphics/pokemon/poliwrath/normal_gba.pal new file mode 100644 index 000000000000..14f4493d4e74 --- /dev/null +++ b/graphics/pokemon/poliwrath/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 222 222 +189 189 189 +164 164 164 +255 0 255 +255 0 255 +255 0 255 +123 123 123 +82 82 82 +16 16 16 +180 189 230 +131 139 180 +98 106 148 +49 49 106 +255 0 255 diff --git a/graphics/pokemon/poliwrath/shiny_gba.pal b/graphics/pokemon/poliwrath/shiny_gba.pal new file mode 100644 index 000000000000..64aab4039aaf --- /dev/null +++ b/graphics/pokemon/poliwrath/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 222 222 +189 189 189 +164 164 164 +255 0 255 +255 0 255 +255 0 255 +123 123 123 +82 82 82 +16 16 16 +148 189 131 +106 148 90 +65 106 49 +24 65 8 +255 0 255 diff --git a/graphics/pokemon/ponyta/anim_front_gba.png b/graphics/pokemon/ponyta/anim_front_gba.png new file mode 100644 index 000000000000..abee4ad854ef Binary files /dev/null and b/graphics/pokemon/ponyta/anim_front_gba.png differ diff --git a/graphics/pokemon/ponyta/back_gba.png b/graphics/pokemon/ponyta/back_gba.png new file mode 100644 index 000000000000..cc4bf118933e Binary files /dev/null and b/graphics/pokemon/ponyta/back_gba.png differ diff --git a/graphics/pokemon/ponyta/galarian/back.png b/graphics/pokemon/ponyta/galar/back.png similarity index 100% rename from graphics/pokemon/ponyta/galarian/back.png rename to graphics/pokemon/ponyta/galar/back.png diff --git a/graphics/pokemon/ponyta/galarian/front.png b/graphics/pokemon/ponyta/galar/front.png similarity index 100% rename from graphics/pokemon/ponyta/galarian/front.png rename to graphics/pokemon/ponyta/galar/front.png diff --git a/graphics/pokemon/ponyta/galarian/icon.png b/graphics/pokemon/ponyta/galar/icon.png similarity index 100% rename from graphics/pokemon/ponyta/galarian/icon.png rename to graphics/pokemon/ponyta/galar/icon.png diff --git a/graphics/pokemon/ponyta/galarian/normal.pal b/graphics/pokemon/ponyta/galar/normal.pal similarity index 100% rename from graphics/pokemon/ponyta/galarian/normal.pal rename to graphics/pokemon/ponyta/galar/normal.pal diff --git a/graphics/pokemon/ponyta/galarian/overworld.png b/graphics/pokemon/ponyta/galar/overworld.png similarity index 100% rename from graphics/pokemon/ponyta/galarian/overworld.png rename to graphics/pokemon/ponyta/galar/overworld.png diff --git a/graphics/pokemon/ponyta/galarian/overworld_normal.pal b/graphics/pokemon/ponyta/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/ponyta/galarian/overworld_normal.pal rename to graphics/pokemon/ponyta/galar/overworld_normal.pal diff --git a/graphics/pokemon/ponyta/galarian/overworld_shiny.pal b/graphics/pokemon/ponyta/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/ponyta/galarian/overworld_shiny.pal rename to graphics/pokemon/ponyta/galar/overworld_shiny.pal diff --git a/graphics/pokemon/ponyta/galarian/shiny.pal b/graphics/pokemon/ponyta/galar/shiny.pal similarity index 100% rename from graphics/pokemon/ponyta/galarian/shiny.pal rename to graphics/pokemon/ponyta/galar/shiny.pal diff --git a/graphics/pokemon/ponyta/icon_gba.png b/graphics/pokemon/ponyta/icon_gba.png new file mode 100644 index 000000000000..05ac87a44366 Binary files /dev/null and b/graphics/pokemon/ponyta/icon_gba.png differ diff --git a/graphics/pokemon/ponyta/normal_gba.pal b/graphics/pokemon/ponyta/normal_gba.pal new file mode 100644 index 000000000000..68dcf8d3bc82 --- /dev/null +++ b/graphics/pokemon/ponyta/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +255 246 180 +255 238 123 +255 197 82 +164 98 32 +255 0 255 +255 0 255 +255 0 255 +255 230 32 +255 156 0 +255 98 0 +238 0 0 +156 156 156 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/ponyta/shiny_gba.pal b/graphics/pokemon/ponyta/shiny_gba.pal new file mode 100644 index 000000000000..1210e5228c0b --- /dev/null +++ b/graphics/pokemon/ponyta/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +255 255 222 +255 246 189 +246 213 156 +131 98 41 +255 0 255 +255 0 255 +255 0 255 +222 238 246 +98 172 255 +57 131 255 +16 90 213 +156 156 156 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/poochyena/anim_front_gba.png b/graphics/pokemon/poochyena/anim_front_gba.png new file mode 100644 index 000000000000..0579a1fa9b16 Binary files /dev/null and b/graphics/pokemon/poochyena/anim_front_gba.png differ diff --git a/graphics/pokemon/poochyena/back_gba.png b/graphics/pokemon/poochyena/back_gba.png new file mode 100644 index 000000000000..6d13ed43a9f8 Binary files /dev/null and b/graphics/pokemon/poochyena/back_gba.png differ diff --git a/graphics/pokemon/poochyena/icon_gba.png b/graphics/pokemon/poochyena/icon_gba.png new file mode 100644 index 000000000000..7e6be6a17303 Binary files /dev/null and b/graphics/pokemon/poochyena/icon_gba.png differ diff --git a/graphics/pokemon/poochyena/normal_gba.pal b/graphics/pokemon/poochyena/normal_gba.pal new file mode 100644 index 000000000000..4c386e26167d --- /dev/null +++ b/graphics/pokemon/poochyena/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +213 205 222 +255 230 131 +255 164 123 +123 90 82 +164 156 172 +131 123 139 +74 82 98 +49 49 65 +197 189 205 +255 213 90 +180 139 90 +222 74 65 +172 57 65 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/poochyena/shiny_gba.pal b/graphics/pokemon/poochyena/shiny_gba.pal new file mode 100644 index 000000000000..c30dcec9313e --- /dev/null +++ b/graphics/pokemon/poochyena/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 230 180 +139 197 213 +255 164 123 +123 90 82 +213 172 74 +148 106 65 +115 74 41 +82 41 0 +255 205 106 +123 172 238 +57 74 131 +222 74 65 +172 57 65 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/porygon/anim_front_gba.png b/graphics/pokemon/porygon/anim_front_gba.png new file mode 100644 index 000000000000..7654821daf14 Binary files /dev/null and b/graphics/pokemon/porygon/anim_front_gba.png differ diff --git a/graphics/pokemon/porygon/back_gba.png b/graphics/pokemon/porygon/back_gba.png new file mode 100644 index 000000000000..f102465a8f0b Binary files /dev/null and b/graphics/pokemon/porygon/back_gba.png differ diff --git a/graphics/pokemon/porygon/icon_gba.png b/graphics/pokemon/porygon/icon_gba.png new file mode 100644 index 000000000000..306ea8d3184c Binary files /dev/null and b/graphics/pokemon/porygon/icon_gba.png differ diff --git a/graphics/pokemon/porygon/normal_gba.pal b/graphics/pokemon/porygon/normal_gba.pal new file mode 100644 index 000000000000..68ca2bef246c --- /dev/null +++ b/graphics/pokemon/porygon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +106 205 255 +65 164 222 +32 123 197 +0 49 156 +255 213 172 +255 148 139 +222 98 82 +180 32 16 +222 222 230 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +41 41 41 +255 255 255 diff --git a/graphics/pokemon/porygon/shiny_gba.pal b/graphics/pokemon/porygon/shiny_gba.pal new file mode 100644 index 000000000000..19178b1b8a79 --- /dev/null +++ b/graphics/pokemon/porygon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 238 238 +238 205 238 +205 172 205 +98 65 115 +131 189 255 +57 115 246 +24 82 205 +0 49 156 +222 222 230 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +41 41 41 +255 255 255 diff --git a/graphics/pokemon/porygon2/anim_front_gba.png b/graphics/pokemon/porygon2/anim_front_gba.png new file mode 100644 index 000000000000..f324d55ad590 Binary files /dev/null and b/graphics/pokemon/porygon2/anim_front_gba.png differ diff --git a/graphics/pokemon/porygon2/back_gba.png b/graphics/pokemon/porygon2/back_gba.png new file mode 100644 index 000000000000..aad400b560f7 Binary files /dev/null and b/graphics/pokemon/porygon2/back_gba.png differ diff --git a/graphics/pokemon/porygon2/icon_gba.png b/graphics/pokemon/porygon2/icon_gba.png new file mode 100644 index 000000000000..312640b40b81 Binary files /dev/null and b/graphics/pokemon/porygon2/icon_gba.png differ diff --git a/graphics/pokemon/porygon2/normal_gba.pal b/graphics/pokemon/porygon2/normal_gba.pal new file mode 100644 index 000000000000..a9de00549688 --- /dev/null +++ b/graphics/pokemon/porygon2/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 213 172 +255 148 139 +222 98 82 +180 32 16 +255 0 255 +148 238 255 +106 205 255 +65 164 222 +32 123 197 +0 49 156 +213 213 213 +180 180 189 +106 106 123 +16 16 16 diff --git a/graphics/pokemon/porygon2/shiny_gba.pal b/graphics/pokemon/porygon2/shiny_gba.pal new file mode 100644 index 000000000000..4c0d2054c50e --- /dev/null +++ b/graphics/pokemon/porygon2/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +123 180 255 +65 123 246 +24 82 205 +0 49 156 +255 0 255 +255 238 238 +238 205 238 +197 164 197 +139 106 148 +98 65 115 +213 213 213 +180 180 189 +106 106 123 +16 16 16 diff --git a/graphics/pokemon/primeape/anim_front_gba.png b/graphics/pokemon/primeape/anim_front_gba.png new file mode 100644 index 000000000000..babecf3704f7 Binary files /dev/null and b/graphics/pokemon/primeape/anim_front_gba.png differ diff --git a/graphics/pokemon/primeape/back_gba.png b/graphics/pokemon/primeape/back_gba.png new file mode 100644 index 000000000000..02b326cd4412 Binary files /dev/null and b/graphics/pokemon/primeape/back_gba.png differ diff --git a/graphics/pokemon/primeape/icon_gba.png b/graphics/pokemon/primeape/icon_gba.png new file mode 100644 index 000000000000..d2d42f7dc9bb Binary files /dev/null and b/graphics/pokemon/primeape/icon_gba.png differ diff --git a/graphics/pokemon/primeape/normal_gba.pal b/graphics/pokemon/primeape/normal_gba.pal new file mode 100644 index 000000000000..bebbba40678c --- /dev/null +++ b/graphics/pokemon/primeape/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 222 222 +123 123 123 +65 65 65 +255 148 90 +189 74 49 +230 205 115 +205 164 65 +156 123 32 +90 49 0 +0 0 0 +255 255 213 +255 230 180 +222 189 139 +123 90 41 diff --git a/graphics/pokemon/primeape/shiny_gba.pal b/graphics/pokemon/primeape/shiny_gba.pal new file mode 100644 index 000000000000..02b4f4e16846 --- /dev/null +++ b/graphics/pokemon/primeape/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 222 222 +123 123 123 +65 65 65 +255 148 90 +189 74 49 +205 197 106 +164 156 65 +123 115 24 +82 74 8 +0 0 0 +255 222 156 +238 180 115 +197 139 74 +115 49 0 diff --git a/graphics/pokemon/psyduck/anim_front_gba.png b/graphics/pokemon/psyduck/anim_front_gba.png new file mode 100644 index 000000000000..51d323716c44 Binary files /dev/null and b/graphics/pokemon/psyduck/anim_front_gba.png differ diff --git a/graphics/pokemon/psyduck/back_gba.png b/graphics/pokemon/psyduck/back_gba.png new file mode 100644 index 000000000000..65f8032a755b Binary files /dev/null and b/graphics/pokemon/psyduck/back_gba.png differ diff --git a/graphics/pokemon/psyduck/icon_gba.png b/graphics/pokemon/psyduck/icon_gba.png new file mode 100644 index 000000000000..f3ebc9f96c0a Binary files /dev/null and b/graphics/pokemon/psyduck/icon_gba.png differ diff --git a/graphics/pokemon/psyduck/normal_gba.pal b/graphics/pokemon/psyduck/normal_gba.pal new file mode 100644 index 000000000000..c69e486a917b --- /dev/null +++ b/graphics/pokemon/psyduck/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +255 238 189 +246 222 139 +222 180 82 +131 90 0 +255 255 255 +222 222 222 +148 148 148 +255 0 255 +255 0 255 +255 0 255 +255 222 164 +255 213 74 +230 164 49 +148 90 16 +16 16 16 diff --git a/graphics/pokemon/psyduck/shiny_gba.pal b/graphics/pokemon/psyduck/shiny_gba.pal new file mode 100644 index 000000000000..889cfaedcf85 --- /dev/null +++ b/graphics/pokemon/psyduck/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +238 255 255 +213 246 246 +172 205 205 +49 82 82 +255 255 255 +222 222 222 +148 148 148 +255 0 255 +255 0 255 +255 0 255 +189 255 255 +148 213 222 +106 172 180 +24 98 106 +16 16 16 diff --git a/graphics/pokemon/pupitar/anim_front_gba.png b/graphics/pokemon/pupitar/anim_front_gba.png new file mode 100644 index 000000000000..910afd6143d5 Binary files /dev/null and b/graphics/pokemon/pupitar/anim_front_gba.png differ diff --git a/graphics/pokemon/pupitar/back_gba.png b/graphics/pokemon/pupitar/back_gba.png new file mode 100644 index 000000000000..1f49a87f9886 Binary files /dev/null and b/graphics/pokemon/pupitar/back_gba.png differ diff --git a/graphics/pokemon/pupitar/icon_gba.png b/graphics/pokemon/pupitar/icon_gba.png new file mode 100644 index 000000000000..3491849d1b29 Binary files /dev/null and b/graphics/pokemon/pupitar/icon_gba.png differ diff --git a/graphics/pokemon/pupitar/normal_gba.pal b/graphics/pokemon/pupitar/normal_gba.pal new file mode 100644 index 000000000000..bd8385e29818 --- /dev/null +++ b/graphics/pokemon/pupitar/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 230 255 +139 197 238 +115 156 197 +41 90 131 +255 0 255 +180 65 0 +205 205 213 +172 172 172 +123 123 131 +255 0 255 +255 0 255 +255 0 255 +65 65 98 +16 16 16 diff --git a/graphics/pokemon/pupitar/shiny_gba.pal b/graphics/pokemon/pupitar/shiny_gba.pal new file mode 100644 index 000000000000..58371ba01714 --- /dev/null +++ b/graphics/pokemon/pupitar/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 189 255 +213 156 230 +156 106 189 +98 65 115 +255 0 255 +180 65 0 +205 205 213 +172 172 172 +123 123 131 +255 0 255 +255 0 255 +255 0 255 +65 65 98 +16 16 16 diff --git a/graphics/pokemon/pyroar/followerf.png b/graphics/pokemon/pyroar/followerf.png deleted file mode 100644 index d6163f0f1c5a..000000000000 Binary files a/graphics/pokemon/pyroar/followerf.png and /dev/null differ diff --git a/graphics/pokemon/pyroar/overworldf.png b/graphics/pokemon/pyroar/overworldf.png new file mode 100644 index 000000000000..b4de3bd2f7a8 Binary files /dev/null and b/graphics/pokemon/pyroar/overworldf.png differ diff --git a/graphics/pokemon/quagsire/anim_front_gba.png b/graphics/pokemon/quagsire/anim_front_gba.png new file mode 100644 index 000000000000..0834e1da6125 Binary files /dev/null and b/graphics/pokemon/quagsire/anim_front_gba.png differ diff --git a/graphics/pokemon/quagsire/back_gba.png b/graphics/pokemon/quagsire/back_gba.png new file mode 100644 index 000000000000..9233569b88d1 Binary files /dev/null and b/graphics/pokemon/quagsire/back_gba.png differ diff --git a/graphics/pokemon/quagsire/icon_gba.png b/graphics/pokemon/quagsire/icon_gba.png new file mode 100644 index 000000000000..62c7f2e460f5 Binary files /dev/null and b/graphics/pokemon/quagsire/icon_gba.png differ diff --git a/graphics/pokemon/quagsire/normal_gba.pal b/graphics/pokemon/quagsire/normal_gba.pal new file mode 100644 index 000000000000..5a74c8c08f84 --- /dev/null +++ b/graphics/pokemon/quagsire/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 49 65 +32 65 98 +57 90 156 +255 0 255 +74 139 205 +98 164 230 +172 205 238 +197 238 246 +255 0 255 +255 0 255 +98 82 123 +148 98 148 +255 115 180 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/quagsire/overworld.png b/graphics/pokemon/quagsire/overworld.png index 21a7622cda57..d0001424a785 100644 Binary files a/graphics/pokemon/quagsire/overworld.png and b/graphics/pokemon/quagsire/overworld.png differ diff --git a/graphics/pokemon/quagsire/overworldf.png b/graphics/pokemon/quagsire/overworldf.png new file mode 100644 index 000000000000..21a7622cda57 Binary files /dev/null and b/graphics/pokemon/quagsire/overworldf.png differ diff --git a/graphics/pokemon/quagsire/shiny_gba.pal b/graphics/pokemon/quagsire/shiny_gba.pal new file mode 100644 index 000000000000..cb5bd79222c9 --- /dev/null +++ b/graphics/pokemon/quagsire/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +74 57 65 +98 74 98 +90 65 90 +255 0 255 +148 98 164 +189 123 205 +230 164 230 +255 189 238 +255 0 255 +255 0 255 +98 82 123 +148 98 148 +255 115 180 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/question_mark/circled/anim_front_gba.png b/graphics/pokemon/question_mark/circled/anim_front_gba.png new file mode 100644 index 000000000000..9eb27931eb83 Binary files /dev/null and b/graphics/pokemon/question_mark/circled/anim_front_gba.png differ diff --git a/graphics/pokemon/question_mark/circled/back_gba.png b/graphics/pokemon/question_mark/circled/back_gba.png new file mode 100644 index 000000000000..3056402db40a Binary files /dev/null and b/graphics/pokemon/question_mark/circled/back_gba.png differ diff --git a/graphics/pokemon/question_mark/circled/normal_gba.pal b/graphics/pokemon/question_mark/circled/normal_gba.pal new file mode 100644 index 000000000000..681f1cefe994 --- /dev/null +++ b/graphics/pokemon/question_mark/circled/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +205 205 205 +172 172 172 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/question_mark/circled/shiny_gba.pal b/graphics/pokemon/question_mark/circled/shiny_gba.pal new file mode 100644 index 000000000000..aa8d08dc30bb --- /dev/null +++ b/graphics/pokemon/question_mark/circled/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 172 172 +32 32 32 +32 32 32 +32 32 32 +32 32 32 +32 32 32 +32 32 32 +32 32 32 +32 32 32 +32 32 32 +32 32 32 +32 32 32 +172 172 172 +139 139 139 +222 222 222 +32 32 32 diff --git a/graphics/pokemon/question_mark/double/anim_front_gba.png b/graphics/pokemon/question_mark/double/anim_front_gba.png new file mode 100644 index 000000000000..6afe02dee07b Binary files /dev/null and b/graphics/pokemon/question_mark/double/anim_front_gba.png differ diff --git a/graphics/pokemon/question_mark/double/back_gba.png b/graphics/pokemon/question_mark/double/back_gba.png new file mode 100644 index 000000000000..14eb6e139851 Binary files /dev/null and b/graphics/pokemon/question_mark/double/back_gba.png differ diff --git a/graphics/pokemon/question_mark/double/normal_gba.pal b/graphics/pokemon/question_mark/double/normal_gba.pal new file mode 100644 index 000000000000..67be6bbf423b --- /dev/null +++ b/graphics/pokemon/question_mark/double/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 0 +255 255 255 +0 0 0 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/question_mark/double/shiny_gba.pal b/graphics/pokemon/question_mark/double/shiny_gba.pal new file mode 100644 index 000000000000..67be6bbf423b --- /dev/null +++ b/graphics/pokemon/question_mark/double/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 0 +255 255 255 +0 0 0 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/question_mark/footprint_gba.png b/graphics/pokemon/question_mark/footprint_gba.png new file mode 100644 index 000000000000..8da752a46b30 Binary files /dev/null and b/graphics/pokemon/question_mark/footprint_gba.png differ diff --git a/graphics/pokemon/question_mark/icon_gba.png b/graphics/pokemon/question_mark/icon_gba.png new file mode 100644 index 000000000000..b31ebacf7191 Binary files /dev/null and b/graphics/pokemon/question_mark/icon_gba.png differ diff --git a/graphics/pokemon/quilava/anim_front_gba.png b/graphics/pokemon/quilava/anim_front_gba.png new file mode 100644 index 000000000000..b5ec66bbad53 Binary files /dev/null and b/graphics/pokemon/quilava/anim_front_gba.png differ diff --git a/graphics/pokemon/quilava/back_gba.png b/graphics/pokemon/quilava/back_gba.png new file mode 100644 index 000000000000..5a97c1b11fd1 Binary files /dev/null and b/graphics/pokemon/quilava/back_gba.png differ diff --git a/graphics/pokemon/quilava/icon_gba.png b/graphics/pokemon/quilava/icon_gba.png new file mode 100644 index 000000000000..62d0608dd8d1 Binary files /dev/null and b/graphics/pokemon/quilava/icon_gba.png differ diff --git a/graphics/pokemon/quilava/normal_gba.pal b/graphics/pokemon/quilava/normal_gba.pal new file mode 100644 index 000000000000..0b37faf223ae --- /dev/null +++ b/graphics/pokemon/quilava/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +98 131 189 +65 82 139 +41 65 98 +24 41 82 +255 238 164 +230 205 106 +180 156 82 +139 98 32 +255 222 0 +255 156 0 +255 98 0 +238 0 0 +180 180 180 +16 16 16 diff --git a/graphics/pokemon/quilava/shiny_gba.pal b/graphics/pokemon/quilava/shiny_gba.pal new file mode 100644 index 000000000000..e1baba127f12 --- /dev/null +++ b/graphics/pokemon/quilava/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 156 106 +189 98 65 +139 65 57 +98 57 41 +255 230 115 +222 197 82 +172 139 49 +139 82 24 +255 222 0 +255 156 0 +255 98 0 +238 0 0 +180 180 180 +16 16 16 diff --git a/graphics/pokemon/qwilfish/anim_front_gba.png b/graphics/pokemon/qwilfish/anim_front_gba.png new file mode 100644 index 000000000000..4cfbe002e9f8 Binary files /dev/null and b/graphics/pokemon/qwilfish/anim_front_gba.png differ diff --git a/graphics/pokemon/qwilfish/back_gba.png b/graphics/pokemon/qwilfish/back_gba.png new file mode 100644 index 000000000000..34fb6e12e63c Binary files /dev/null and b/graphics/pokemon/qwilfish/back_gba.png differ diff --git a/graphics/pokemon/qwilfish/hisuian/back.png b/graphics/pokemon/qwilfish/hisui/back.png similarity index 100% rename from graphics/pokemon/qwilfish/hisuian/back.png rename to graphics/pokemon/qwilfish/hisui/back.png diff --git a/graphics/pokemon/qwilfish/hisuian/front.png b/graphics/pokemon/qwilfish/hisui/front.png similarity index 100% rename from graphics/pokemon/qwilfish/hisuian/front.png rename to graphics/pokemon/qwilfish/hisui/front.png diff --git a/graphics/pokemon/qwilfish/hisuian/icon.png b/graphics/pokemon/qwilfish/hisui/icon.png similarity index 100% rename from graphics/pokemon/qwilfish/hisuian/icon.png rename to graphics/pokemon/qwilfish/hisui/icon.png diff --git a/graphics/pokemon/qwilfish/hisuian/normal.pal b/graphics/pokemon/qwilfish/hisui/normal.pal similarity index 100% rename from graphics/pokemon/qwilfish/hisuian/normal.pal rename to graphics/pokemon/qwilfish/hisui/normal.pal diff --git a/graphics/pokemon/qwilfish/hisuian/overworld.png b/graphics/pokemon/qwilfish/hisui/overworld.png similarity index 100% rename from graphics/pokemon/qwilfish/hisuian/overworld.png rename to graphics/pokemon/qwilfish/hisui/overworld.png diff --git a/graphics/pokemon/qwilfish/hisuian/overworld_normal.pal b/graphics/pokemon/qwilfish/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/qwilfish/hisuian/overworld_normal.pal rename to graphics/pokemon/qwilfish/hisui/overworld_normal.pal diff --git a/graphics/pokemon/qwilfish/hisuian/overworld_shiny.pal b/graphics/pokemon/qwilfish/hisui/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/qwilfish/hisuian/overworld_shiny.pal rename to graphics/pokemon/qwilfish/hisui/overworld_shiny.pal diff --git a/graphics/pokemon/qwilfish/hisuian/shiny.pal b/graphics/pokemon/qwilfish/hisui/shiny.pal similarity index 100% rename from graphics/pokemon/qwilfish/hisuian/shiny.pal rename to graphics/pokemon/qwilfish/hisui/shiny.pal diff --git a/graphics/pokemon/qwilfish/icon_gba.png b/graphics/pokemon/qwilfish/icon_gba.png new file mode 100644 index 000000000000..b0fc123024a6 Binary files /dev/null and b/graphics/pokemon/qwilfish/icon_gba.png differ diff --git a/graphics/pokemon/qwilfish/normal_gba.pal b/graphics/pokemon/qwilfish/normal_gba.pal new file mode 100644 index 000000000000..1956e57c43c6 --- /dev/null +++ b/graphics/pokemon/qwilfish/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +255 0 255 +148 0 0 +57 74 98 +74 90 164 +90 131 197 +115 172 238 +106 82 49 +197 180 82 +230 222 115 +238 255 164 +213 82 98 +255 164 148 +255 255 255 diff --git a/graphics/pokemon/qwilfish/shiny_gba.pal b/graphics/pokemon/qwilfish/shiny_gba.pal new file mode 100644 index 000000000000..d548d12e9192 --- /dev/null +++ b/graphics/pokemon/qwilfish/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +255 0 255 +148 0 0 +98 57 90 +148 41 131 +189 82 164 +222 115 189 +115 65 98 +189 139 180 +230 189 222 +255 222 246 +213 82 98 +255 164 148 +255 255 255 diff --git a/graphics/pokemon/raichu/alolan/back.png b/graphics/pokemon/raichu/alola/back.png similarity index 100% rename from graphics/pokemon/raichu/alolan/back.png rename to graphics/pokemon/raichu/alola/back.png diff --git a/graphics/pokemon/raichu/alolan/front.png b/graphics/pokemon/raichu/alola/front.png similarity index 100% rename from graphics/pokemon/raichu/alolan/front.png rename to graphics/pokemon/raichu/alola/front.png diff --git a/graphics/pokemon/raichu/alolan/icon.png b/graphics/pokemon/raichu/alola/icon.png similarity index 100% rename from graphics/pokemon/raichu/alolan/icon.png rename to graphics/pokemon/raichu/alola/icon.png diff --git a/graphics/pokemon/raichu/alolan/normal.pal b/graphics/pokemon/raichu/alola/normal.pal similarity index 100% rename from graphics/pokemon/raichu/alolan/normal.pal rename to graphics/pokemon/raichu/alola/normal.pal diff --git a/graphics/pokemon/raichu/alolan/overworld.png b/graphics/pokemon/raichu/alola/overworld.png similarity index 100% rename from graphics/pokemon/raichu/alolan/overworld.png rename to graphics/pokemon/raichu/alola/overworld.png diff --git a/graphics/pokemon/raichu/alolan/overworld_normal.pal b/graphics/pokemon/raichu/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/raichu/alolan/overworld_normal.pal rename to graphics/pokemon/raichu/alola/overworld_normal.pal diff --git a/graphics/pokemon/raichu/alolan/overworld_shiny.pal b/graphics/pokemon/raichu/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/raichu/alolan/overworld_shiny.pal rename to graphics/pokemon/raichu/alola/overworld_shiny.pal diff --git a/graphics/pokemon/raichu/alolan/shiny.pal b/graphics/pokemon/raichu/alola/shiny.pal similarity index 100% rename from graphics/pokemon/raichu/alolan/shiny.pal rename to graphics/pokemon/raichu/alola/shiny.pal diff --git a/graphics/pokemon/raichu/anim_front_gba.png b/graphics/pokemon/raichu/anim_front_gba.png new file mode 100644 index 000000000000..722c0ff598cc Binary files /dev/null and b/graphics/pokemon/raichu/anim_front_gba.png differ diff --git a/graphics/pokemon/raichu/back_gba.png b/graphics/pokemon/raichu/back_gba.png new file mode 100644 index 000000000000..6f8a0afcd33b Binary files /dev/null and b/graphics/pokemon/raichu/back_gba.png differ diff --git a/graphics/pokemon/raichu/icon_gba.png b/graphics/pokemon/raichu/icon_gba.png new file mode 100644 index 000000000000..a34997b47e71 Binary files /dev/null and b/graphics/pokemon/raichu/icon_gba.png differ diff --git a/graphics/pokemon/raichu/normal_gba.pal b/graphics/pokemon/raichu/normal_gba.pal new file mode 100644 index 000000000000..c04e9d81c89e --- /dev/null +++ b/graphics/pokemon/raichu/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 230 90 +255 197 0 +238 156 0 +172 90 32 +255 255 131 +255 238 0 +230 180 32 +189 131 65 +156 106 57 +139 82 49 +115 74 8 +106 106 106 +16 16 16 +230 0 0 diff --git a/graphics/pokemon/raichu/overworldf.png b/graphics/pokemon/raichu/overworldf.png new file mode 100644 index 000000000000..1f24d06fec9c Binary files /dev/null and b/graphics/pokemon/raichu/overworldf.png differ diff --git a/graphics/pokemon/raichu/shiny_gba.pal b/graphics/pokemon/raichu/shiny_gba.pal new file mode 100644 index 000000000000..40e16fa6cc2a --- /dev/null +++ b/graphics/pokemon/raichu/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 164 82 +255 123 41 +238 82 0 +131 24 0 +222 222 156 +205 180 115 +164 139 74 +172 115 49 +131 82 49 +123 65 32 +115 74 8 +106 106 106 +16 16 16 +230 0 0 diff --git a/graphics/pokemon/raikou/anim_front_gba.png b/graphics/pokemon/raikou/anim_front_gba.png new file mode 100644 index 000000000000..a0149846d1b2 Binary files /dev/null and b/graphics/pokemon/raikou/anim_front_gba.png differ diff --git a/graphics/pokemon/raikou/back_gba.png b/graphics/pokemon/raikou/back_gba.png new file mode 100644 index 000000000000..e187eda52ec2 Binary files /dev/null and b/graphics/pokemon/raikou/back_gba.png differ diff --git a/graphics/pokemon/raikou/icon_gba.png b/graphics/pokemon/raikou/icon_gba.png new file mode 100644 index 000000000000..7847a6f16e5e Binary files /dev/null and b/graphics/pokemon/raikou/icon_gba.png differ diff --git a/graphics/pokemon/raikou/normal_gba.pal b/graphics/pokemon/raikou/normal_gba.pal new file mode 100644 index 000000000000..975f92b23d00 --- /dev/null +++ b/graphics/pokemon/raikou/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 238 148 +255 205 65 +213 156 41 +139 98 16 +213 180 255 +180 115 255 +123 41 222 +65 16 148 +197 0 0 +255 0 255 +213 213 213 +164 164 164 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/raikou/shiny_gba.pal b/graphics/pokemon/raikou/shiny_gba.pal new file mode 100644 index 000000000000..73bbcb405bc0 --- /dev/null +++ b/graphics/pokemon/raikou/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 213 82 +246 156 49 +197 106 8 +82 74 16 +255 255 148 +238 230 74 +189 180 41 +106 98 0 +197 0 0 +255 0 255 +222 222 197 +180 189 164 +123 131 106 +16 16 16 diff --git a/graphics/pokemon/ralts/anim_front_gba.png b/graphics/pokemon/ralts/anim_front_gba.png new file mode 100644 index 000000000000..cb19276d82e9 Binary files /dev/null and b/graphics/pokemon/ralts/anim_front_gba.png differ diff --git a/graphics/pokemon/ralts/back_gba.png b/graphics/pokemon/ralts/back_gba.png new file mode 100644 index 000000000000..926bdc0ab90d Binary files /dev/null and b/graphics/pokemon/ralts/back_gba.png differ diff --git a/graphics/pokemon/ralts/icon_gba.png b/graphics/pokemon/ralts/icon_gba.png new file mode 100644 index 000000000000..ed99d3427cb5 Binary files /dev/null and b/graphics/pokemon/ralts/icon_gba.png differ diff --git a/graphics/pokemon/ralts/normal_gba.pal b/graphics/pokemon/ralts/normal_gba.pal new file mode 100644 index 000000000000..1e513ae87654 --- /dev/null +++ b/graphics/pokemon/ralts/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 164 82 +238 238 255 +197 205 222 +164 180 205 +131 148 180 +123 82 82 +115 41 57 +255 156 131 +230 82 57 +131 205 255 +255 255 255 +205 255 172 +148 230 148 +115 189 115 +49 123 74 +16 16 16 diff --git a/graphics/pokemon/ralts/shiny_gba.pal b/graphics/pokemon/ralts/shiny_gba.pal new file mode 100644 index 000000000000..b588f6eea0cf --- /dev/null +++ b/graphics/pokemon/ralts/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 164 82 +238 238 255 +213 189 222 +180 164 205 +156 131 180 +123 82 82 +115 41 57 +255 197 90 +230 131 32 +131 205 255 +197 238 246 +189 230 255 +123 197 238 +82 172 213 +32 115 123 +16 16 16 diff --git a/graphics/pokemon/rapidash/anim_front_gba.png b/graphics/pokemon/rapidash/anim_front_gba.png new file mode 100644 index 000000000000..69ba93ebebd3 Binary files /dev/null and b/graphics/pokemon/rapidash/anim_front_gba.png differ diff --git a/graphics/pokemon/rapidash/back_gba.png b/graphics/pokemon/rapidash/back_gba.png new file mode 100644 index 000000000000..7d4b9667eabd Binary files /dev/null and b/graphics/pokemon/rapidash/back_gba.png differ diff --git a/graphics/pokemon/rapidash/galarian/back.png b/graphics/pokemon/rapidash/galar/back.png similarity index 100% rename from graphics/pokemon/rapidash/galarian/back.png rename to graphics/pokemon/rapidash/galar/back.png diff --git a/graphics/pokemon/rapidash/galarian/front.png b/graphics/pokemon/rapidash/galar/front.png similarity index 100% rename from graphics/pokemon/rapidash/galarian/front.png rename to graphics/pokemon/rapidash/galar/front.png diff --git a/graphics/pokemon/rapidash/galarian/icon.png b/graphics/pokemon/rapidash/galar/icon.png similarity index 100% rename from graphics/pokemon/rapidash/galarian/icon.png rename to graphics/pokemon/rapidash/galar/icon.png diff --git a/graphics/pokemon/rapidash/galarian/normal.pal b/graphics/pokemon/rapidash/galar/normal.pal similarity index 100% rename from graphics/pokemon/rapidash/galarian/normal.pal rename to graphics/pokemon/rapidash/galar/normal.pal diff --git a/graphics/pokemon/rapidash/galarian/overworld.png b/graphics/pokemon/rapidash/galar/overworld.png similarity index 100% rename from graphics/pokemon/rapidash/galarian/overworld.png rename to graphics/pokemon/rapidash/galar/overworld.png diff --git a/graphics/pokemon/rapidash/galarian/overworld_normal.pal b/graphics/pokemon/rapidash/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/rapidash/galarian/overworld_normal.pal rename to graphics/pokemon/rapidash/galar/overworld_normal.pal diff --git a/graphics/pokemon/rapidash/galarian/overworld_shiny.pal b/graphics/pokemon/rapidash/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/rapidash/galarian/overworld_shiny.pal rename to graphics/pokemon/rapidash/galar/overworld_shiny.pal diff --git a/graphics/pokemon/rapidash/galarian/shiny.pal b/graphics/pokemon/rapidash/galar/shiny.pal similarity index 100% rename from graphics/pokemon/rapidash/galarian/shiny.pal rename to graphics/pokemon/rapidash/galar/shiny.pal diff --git a/graphics/pokemon/rapidash/icon_gba.png b/graphics/pokemon/rapidash/icon_gba.png new file mode 100644 index 000000000000..c0af0dd0847b Binary files /dev/null and b/graphics/pokemon/rapidash/icon_gba.png differ diff --git a/graphics/pokemon/rapidash/normal_gba.pal b/graphics/pokemon/rapidash/normal_gba.pal new file mode 100644 index 000000000000..dea936aba477 --- /dev/null +++ b/graphics/pokemon/rapidash/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +255 246 180 +255 238 123 +255 197 82 +197 131 65 +164 98 32 +255 0 255 +255 0 255 +255 230 32 +255 156 0 +255 98 0 +238 0 0 +156 156 156 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/rapidash/shiny_gba.pal b/graphics/pokemon/rapidash/shiny_gba.pal new file mode 100644 index 000000000000..c65fda21808d --- /dev/null +++ b/graphics/pokemon/rapidash/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +255 255 222 +238 230 189 +205 197 156 +197 131 65 +164 98 32 +255 0 255 +255 0 255 +197 205 230 +156 164 189 +115 123 148 +74 82 106 +156 156 156 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/raticate/alolan/back.png b/graphics/pokemon/raticate/alola/back.png similarity index 100% rename from graphics/pokemon/raticate/alolan/back.png rename to graphics/pokemon/raticate/alola/back.png diff --git a/graphics/pokemon/raticate/alolan/front.png b/graphics/pokemon/raticate/alola/front.png similarity index 100% rename from graphics/pokemon/raticate/alolan/front.png rename to graphics/pokemon/raticate/alola/front.png diff --git a/graphics/pokemon/raticate/alolan/icon.png b/graphics/pokemon/raticate/alola/icon.png similarity index 100% rename from graphics/pokemon/raticate/alolan/icon.png rename to graphics/pokemon/raticate/alola/icon.png diff --git a/graphics/pokemon/raticate/alolan/normal.pal b/graphics/pokemon/raticate/alola/normal.pal similarity index 100% rename from graphics/pokemon/raticate/alolan/normal.pal rename to graphics/pokemon/raticate/alola/normal.pal diff --git a/graphics/pokemon/raticate/alolan/overworld.png b/graphics/pokemon/raticate/alola/overworld.png similarity index 100% rename from graphics/pokemon/raticate/alolan/overworld.png rename to graphics/pokemon/raticate/alola/overworld.png diff --git a/graphics/pokemon/raticate/alolan/overworld_normal.pal b/graphics/pokemon/raticate/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/raticate/alolan/overworld_normal.pal rename to graphics/pokemon/raticate/alola/overworld_normal.pal diff --git a/graphics/pokemon/raticate/alolan/overworld_shiny.pal b/graphics/pokemon/raticate/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/raticate/alolan/overworld_shiny.pal rename to graphics/pokemon/raticate/alola/overworld_shiny.pal diff --git a/graphics/pokemon/raticate/alolan/shiny.pal b/graphics/pokemon/raticate/alola/shiny.pal similarity index 100% rename from graphics/pokemon/raticate/alolan/shiny.pal rename to graphics/pokemon/raticate/alola/shiny.pal diff --git a/graphics/pokemon/raticate/anim_front_gba.png b/graphics/pokemon/raticate/anim_front_gba.png new file mode 100644 index 000000000000..589201cc94a8 Binary files /dev/null and b/graphics/pokemon/raticate/anim_front_gba.png differ diff --git a/graphics/pokemon/raticate/back_gba.png b/graphics/pokemon/raticate/back_gba.png new file mode 100644 index 000000000000..d6c0d8ae297d Binary files /dev/null and b/graphics/pokemon/raticate/back_gba.png differ diff --git a/graphics/pokemon/raticate/icon_gba.png b/graphics/pokemon/raticate/icon_gba.png new file mode 100644 index 000000000000..40fbd79c54cc Binary files /dev/null and b/graphics/pokemon/raticate/icon_gba.png differ diff --git a/graphics/pokemon/raticate/normal_gba.pal b/graphics/pokemon/raticate/normal_gba.pal new file mode 100644 index 000000000000..72981c0d70d7 --- /dev/null +++ b/graphics/pokemon/raticate/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 205 156 +222 131 98 +246 246 164 +255 238 90 +230 180 74 +189 115 41 +222 189 82 +197 156 65 +164 123 49 +115 74 0 +213 213 213 +180 180 180 +115 115 115 +16 16 16 diff --git a/graphics/pokemon/raticate/overworldf.png b/graphics/pokemon/raticate/overworldf.png new file mode 100644 index 000000000000..8b0c83e8ae9f Binary files /dev/null and b/graphics/pokemon/raticate/overworldf.png differ diff --git a/graphics/pokemon/raticate/shiny_gba.pal b/graphics/pokemon/raticate/shiny_gba.pal new file mode 100644 index 000000000000..15e73219a0ad --- /dev/null +++ b/graphics/pokemon/raticate/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 205 156 +222 131 98 +255 255 197 +230 230 156 +205 205 131 +131 131 49 +255 148 106 +230 106 65 +189 65 24 +131 16 0 +213 213 213 +180 180 180 +115 115 115 +16 16 16 diff --git a/graphics/pokemon/rattata/alolan/back.png b/graphics/pokemon/rattata/alola/back.png similarity index 100% rename from graphics/pokemon/rattata/alolan/back.png rename to graphics/pokemon/rattata/alola/back.png diff --git a/graphics/pokemon/rattata/alolan/front.png b/graphics/pokemon/rattata/alola/front.png similarity index 100% rename from graphics/pokemon/rattata/alolan/front.png rename to graphics/pokemon/rattata/alola/front.png diff --git a/graphics/pokemon/rattata/alolan/icon.png b/graphics/pokemon/rattata/alola/icon.png similarity index 100% rename from graphics/pokemon/rattata/alolan/icon.png rename to graphics/pokemon/rattata/alola/icon.png diff --git a/graphics/pokemon/rattata/alolan/normal.pal b/graphics/pokemon/rattata/alola/normal.pal similarity index 100% rename from graphics/pokemon/rattata/alolan/normal.pal rename to graphics/pokemon/rattata/alola/normal.pal diff --git a/graphics/pokemon/rattata/alolan/overworld.png b/graphics/pokemon/rattata/alola/overworld.png similarity index 100% rename from graphics/pokemon/rattata/alolan/overworld.png rename to graphics/pokemon/rattata/alola/overworld.png diff --git a/graphics/pokemon/rattata/alolan/overworld_normal.pal b/graphics/pokemon/rattata/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/rattata/alolan/overworld_normal.pal rename to graphics/pokemon/rattata/alola/overworld_normal.pal diff --git a/graphics/pokemon/rattata/alolan/overworld_shiny.pal b/graphics/pokemon/rattata/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/rattata/alolan/overworld_shiny.pal rename to graphics/pokemon/rattata/alola/overworld_shiny.pal diff --git a/graphics/pokemon/rattata/alolan/shiny.pal b/graphics/pokemon/rattata/alola/shiny.pal similarity index 100% rename from graphics/pokemon/rattata/alolan/shiny.pal rename to graphics/pokemon/rattata/alola/shiny.pal diff --git a/graphics/pokemon/rattata/anim_front_gba.png b/graphics/pokemon/rattata/anim_front_gba.png new file mode 100644 index 000000000000..0380429f5f68 Binary files /dev/null and b/graphics/pokemon/rattata/anim_front_gba.png differ diff --git a/graphics/pokemon/rattata/back_gba.png b/graphics/pokemon/rattata/back_gba.png new file mode 100644 index 000000000000..72bb56766f42 Binary files /dev/null and b/graphics/pokemon/rattata/back_gba.png differ diff --git a/graphics/pokemon/rattata/icon_gba.png b/graphics/pokemon/rattata/icon_gba.png new file mode 100644 index 000000000000..ae7b22258a60 Binary files /dev/null and b/graphics/pokemon/rattata/icon_gba.png differ diff --git a/graphics/pokemon/rattata/normal_gba.pal b/graphics/pokemon/rattata/normal_gba.pal new file mode 100644 index 000000000000..971ffed3708b --- /dev/null +++ b/graphics/pokemon/rattata/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 255 +230 205 115 +180 148 49 +238 74 90 +164 24 57 +213 148 213 +180 115 180 +148 82 148 +98 49 82 +222 222 222 +197 197 197 +164 164 164 +90 98 98 +16 16 16 diff --git a/graphics/pokemon/rattata/overworldf.png b/graphics/pokemon/rattata/overworldf.png new file mode 100644 index 000000000000..4065e7d8d658 Binary files /dev/null and b/graphics/pokemon/rattata/overworldf.png differ diff --git a/graphics/pokemon/rattata/shiny_gba.pal b/graphics/pokemon/rattata/shiny_gba.pal new file mode 100644 index 000000000000..41a644c54b03 --- /dev/null +++ b/graphics/pokemon/rattata/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 255 +230 205 115 +180 148 49 +90 156 189 +32 98 131 +238 230 156 +205 197 123 +172 164 90 +131 123 49 +222 222 222 +197 197 197 +164 164 164 +90 98 98 +16 16 16 diff --git a/graphics/pokemon/rayquaza/anim_front_gba.png b/graphics/pokemon/rayquaza/anim_front_gba.png new file mode 100644 index 000000000000..25103d2d45c6 Binary files /dev/null and b/graphics/pokemon/rayquaza/anim_front_gba.png differ diff --git a/graphics/pokemon/rayquaza/back_gba.png b/graphics/pokemon/rayquaza/back_gba.png new file mode 100644 index 000000000000..e8b8704a8880 Binary files /dev/null and b/graphics/pokemon/rayquaza/back_gba.png differ diff --git a/graphics/pokemon/rayquaza/icon_gba.png b/graphics/pokemon/rayquaza/icon_gba.png new file mode 100644 index 000000000000..65844ebf7252 Binary files /dev/null and b/graphics/pokemon/rayquaza/icon_gba.png differ diff --git a/graphics/pokemon/rayquaza/normal_gba.pal b/graphics/pokemon/rayquaza/normal_gba.pal new file mode 100644 index 000000000000..651b1b9b1ad8 --- /dev/null +++ b/graphics/pokemon/rayquaza/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 156 255 +57 82 57 +65 131 65 +74 131 115 +90 189 139 +148 222 180 +0 0 0 +49 82 172 +74 156 189 +246 98 98 +197 148 98 +222 213 238 +255 255 255 +222 205 0 +255 238 0 +24 24 24 diff --git a/graphics/pokemon/rayquaza/shiny_gba.pal b/graphics/pokemon/rayquaza/shiny_gba.pal new file mode 100644 index 000000000000..c294fa7ca7e8 --- /dev/null +++ b/graphics/pokemon/rayquaza/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 156 255 +57 57 57 +57 57 57 +82 82 82 +123 123 123 +164 164 164 +0 0 0 +49 82 148 +74 156 172 +246 98 98 +197 148 98 +230 222 255 +255 255 255 +222 205 0 +255 238 0 +0 0 0 diff --git a/graphics/pokemon/regice/anim_front_gba.png b/graphics/pokemon/regice/anim_front_gba.png new file mode 100644 index 000000000000..e8a38b5754a2 Binary files /dev/null and b/graphics/pokemon/regice/anim_front_gba.png differ diff --git a/graphics/pokemon/regice/back_gba.png b/graphics/pokemon/regice/back_gba.png new file mode 100644 index 000000000000..69b091437a29 Binary files /dev/null and b/graphics/pokemon/regice/back_gba.png differ diff --git a/graphics/pokemon/regice/icon_gba.png b/graphics/pokemon/regice/icon_gba.png new file mode 100644 index 000000000000..46b07b3aa88c Binary files /dev/null and b/graphics/pokemon/regice/icon_gba.png differ diff --git a/graphics/pokemon/regice/normal_gba.pal b/graphics/pokemon/regice/normal_gba.pal new file mode 100644 index 000000000000..2d599438d606 --- /dev/null +++ b/graphics/pokemon/regice/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 246 148 +49 57 90 +90 98 123 +156 164 222 +189 213 238 +222 255 255 +131 115 180 +255 255 255 +238 255 255 +0 0 0 +0 0 0 +0 0 0 +205 180 32 +255 255 172 +255 230 0 +24 24 24 diff --git a/graphics/pokemon/regice/shiny_gba.pal b/graphics/pokemon/regice/shiny_gba.pal new file mode 100644 index 000000000000..0c3dc8a37f9a --- /dev/null +++ b/graphics/pokemon/regice/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 246 148 +0 98 197 +0 148 189 +74 213 255 +172 238 255 +230 255 255 +65 164 255 +255 255 255 +213 255 255 +0 0 0 +0 0 0 +0 0 0 +180 123 32 +255 230 98 +255 189 0 +24 24 24 diff --git a/graphics/pokemon/regirock/anim_front_gba.png b/graphics/pokemon/regirock/anim_front_gba.png new file mode 100644 index 000000000000..e278efd82d84 Binary files /dev/null and b/graphics/pokemon/regirock/anim_front_gba.png differ diff --git a/graphics/pokemon/regirock/back_gba.png b/graphics/pokemon/regirock/back_gba.png new file mode 100644 index 000000000000..7175fc90a6c7 Binary files /dev/null and b/graphics/pokemon/regirock/back_gba.png differ diff --git a/graphics/pokemon/regirock/icon_gba.png b/graphics/pokemon/regirock/icon_gba.png new file mode 100644 index 000000000000..e6983674481b Binary files /dev/null and b/graphics/pokemon/regirock/icon_gba.png differ diff --git a/graphics/pokemon/regirock/normal_gba.pal b/graphics/pokemon/regirock/normal_gba.pal new file mode 100644 index 000000000000..f577420cbdc4 --- /dev/null +++ b/graphics/pokemon/regirock/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 197 148 +82 74 41 +148 139 115 +205 197 172 +230 222 172 +238 230 222 +180 172 148 +139 90 57 +189 131 57 +238 131 57 +238 172 106 +0 0 0 +0 0 0 +180 65 0 +238 115 57 +24 24 24 diff --git a/graphics/pokemon/regirock/shiny_gba.pal b/graphics/pokemon/regirock/shiny_gba.pal new file mode 100644 index 000000000000..b997589cc4dd --- /dev/null +++ b/graphics/pokemon/regirock/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 197 148 +98 24 0 +148 74 32 +180 106 65 +205 139 98 +238 164 131 +131 65 24 +139 90 57 +189 131 57 +238 131 57 +238 172 106 +0 0 0 +0 0 0 +180 65 0 +238 115 57 +24 24 24 diff --git a/graphics/pokemon/registeel/anim_front_gba.png b/graphics/pokemon/registeel/anim_front_gba.png new file mode 100644 index 000000000000..17ddf8ff1f35 Binary files /dev/null and b/graphics/pokemon/registeel/anim_front_gba.png differ diff --git a/graphics/pokemon/registeel/back_gba.png b/graphics/pokemon/registeel/back_gba.png new file mode 100644 index 000000000000..233240d45b4b Binary files /dev/null and b/graphics/pokemon/registeel/back_gba.png differ diff --git a/graphics/pokemon/registeel/icon_gba.png b/graphics/pokemon/registeel/icon_gba.png new file mode 100644 index 000000000000..5a8cd3d19f43 Binary files /dev/null and b/graphics/pokemon/registeel/icon_gba.png differ diff --git a/graphics/pokemon/registeel/normal_gba.pal b/graphics/pokemon/registeel/normal_gba.pal new file mode 100644 index 000000000000..9d7d328f42b7 --- /dev/null +++ b/graphics/pokemon/registeel/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 98 +90 82 82 +131 131 123 +189 189 180 +222 213 230 +238 238 238 +115 115 90 +139 131 106 +172 172 123 +0 0 0 +0 0 0 +255 255 255 +213 106 131 +255 180 164 +246 90 172 +24 24 24 diff --git a/graphics/pokemon/registeel/shiny_gba.pal b/graphics/pokemon/registeel/shiny_gba.pal new file mode 100644 index 000000000000..e0489363a214 --- /dev/null +++ b/graphics/pokemon/registeel/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 98 +90 82 82 +90 123 106 +115 180 164 +172 222 197 +213 238 238 +115 115 90 +139 131 106 +172 172 123 +0 0 0 +0 0 0 +255 255 255 +180 65 49 +255 123 82 +222 98 49 +24 24 24 diff --git a/graphics/pokemon/relicanth/anim_front_gba.png b/graphics/pokemon/relicanth/anim_front_gba.png new file mode 100644 index 000000000000..3a6216ed7dfe Binary files /dev/null and b/graphics/pokemon/relicanth/anim_front_gba.png differ diff --git a/graphics/pokemon/relicanth/back_gba.png b/graphics/pokemon/relicanth/back_gba.png new file mode 100644 index 000000000000..c9ae2e5728b6 Binary files /dev/null and b/graphics/pokemon/relicanth/back_gba.png differ diff --git a/graphics/pokemon/relicanth/icon_gba.png b/graphics/pokemon/relicanth/icon_gba.png new file mode 100644 index 000000000000..da17eec334bb Binary files /dev/null and b/graphics/pokemon/relicanth/icon_gba.png differ diff --git a/graphics/pokemon/relicanth/normal_gba.pal b/graphics/pokemon/relicanth/normal_gba.pal new file mode 100644 index 000000000000..2a95fb3cb3cf --- /dev/null +++ b/graphics/pokemon/relicanth/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 246 255 +246 222 180 +213 189 148 +180 148 106 +139 115 74 +106 82 65 +189 164 164 +0 0 0 +164 139 131 +139 115 106 +123 98 90 +82 65 57 +246 90 65 +205 65 49 +255 246 222 +139 123 82 diff --git a/graphics/pokemon/relicanth/overworldf.png b/graphics/pokemon/relicanth/overworldf.png new file mode 100644 index 000000000000..cafb2a0fd05c Binary files /dev/null and b/graphics/pokemon/relicanth/overworldf.png differ diff --git a/graphics/pokemon/relicanth/shiny_gba.pal b/graphics/pokemon/relicanth/shiny_gba.pal new file mode 100644 index 000000000000..3c3780470690 --- /dev/null +++ b/graphics/pokemon/relicanth/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 246 255 +246 222 180 +213 189 148 +180 148 106 +139 115 74 +106 82 65 +172 230 246 +0 0 0 +139 197 213 +106 164 180 +74 131 148 +24 82 98 +246 90 65 +205 65 49 +255 246 222 +139 123 82 diff --git a/graphics/pokemon/remoraid/anim_front_gba.png b/graphics/pokemon/remoraid/anim_front_gba.png new file mode 100644 index 000000000000..73b643b99236 Binary files /dev/null and b/graphics/pokemon/remoraid/anim_front_gba.png differ diff --git a/graphics/pokemon/remoraid/back_gba.png b/graphics/pokemon/remoraid/back_gba.png new file mode 100644 index 000000000000..22e48fa6d69c Binary files /dev/null and b/graphics/pokemon/remoraid/back_gba.png differ diff --git a/graphics/pokemon/remoraid/icon_gba.png b/graphics/pokemon/remoraid/icon_gba.png new file mode 100644 index 000000000000..efbe4ace3722 Binary files /dev/null and b/graphics/pokemon/remoraid/icon_gba.png differ diff --git a/graphics/pokemon/remoraid/normal_gba.pal b/graphics/pokemon/remoraid/normal_gba.pal new file mode 100644 index 000000000000..4d8f3326c642 --- /dev/null +++ b/graphics/pokemon/remoraid/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 246 246 +180 222 213 +139 172 189 +98 139 164 +57 74 123 +139 0 0 +255 0 255 +255 0 255 +255 0 255 +213 213 213 +172 172 180 +123 123 131 +90 90 90 +41 41 57 diff --git a/graphics/pokemon/remoraid/shiny_gba.pal b/graphics/pokemon/remoraid/shiny_gba.pal new file mode 100644 index 000000000000..b9fd05014434 --- /dev/null +++ b/graphics/pokemon/remoraid/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 213 246 +222 180 230 +172 123 180 +131 82 139 +98 57 106 +139 0 0 +255 0 255 +255 0 255 +255 0 255 +213 213 213 +172 172 180 +123 123 131 +90 90 90 +41 41 57 diff --git a/graphics/pokemon/rhydon/anim_front_gba.png b/graphics/pokemon/rhydon/anim_front_gba.png new file mode 100644 index 000000000000..6f1f5fda9523 Binary files /dev/null and b/graphics/pokemon/rhydon/anim_front_gba.png differ diff --git a/graphics/pokemon/rhydon/back_gba.png b/graphics/pokemon/rhydon/back_gba.png new file mode 100644 index 000000000000..4acc986bacfa Binary files /dev/null and b/graphics/pokemon/rhydon/back_gba.png differ diff --git a/graphics/pokemon/rhydon/icon_gba.png b/graphics/pokemon/rhydon/icon_gba.png new file mode 100644 index 000000000000..3bf63368040b Binary files /dev/null and b/graphics/pokemon/rhydon/icon_gba.png differ diff --git a/graphics/pokemon/rhydon/normal_gba.pal b/graphics/pokemon/rhydon/normal_gba.pal new file mode 100644 index 000000000000..1874d9eb7edc --- /dev/null +++ b/graphics/pokemon/rhydon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +255 238 197 +230 213 172 +180 164 115 +123 106 57 +230 82 57 +164 49 16 +115 32 16 +255 0 255 +255 0 255 +230 230 222 +197 197 189 +139 139 148 +82 82 90 +16 16 16 diff --git a/graphics/pokemon/rhydon/overworldf.png b/graphics/pokemon/rhydon/overworldf.png new file mode 100644 index 000000000000..39a1d35b64da Binary files /dev/null and b/graphics/pokemon/rhydon/overworldf.png differ diff --git a/graphics/pokemon/rhydon/shiny_gba.pal b/graphics/pokemon/rhydon/shiny_gba.pal new file mode 100644 index 000000000000..1e71e3ac556f --- /dev/null +++ b/graphics/pokemon/rhydon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +255 238 197 +230 213 172 +180 164 115 +123 106 57 +230 82 57 +164 49 16 +115 32 16 +255 0 255 +255 0 255 +255 255 222 +230 213 180 +189 172 139 +131 115 82 +16 16 16 diff --git a/graphics/pokemon/rhyhorn/anim_front_gba.png b/graphics/pokemon/rhyhorn/anim_front_gba.png new file mode 100644 index 000000000000..eb62ec8a05d8 Binary files /dev/null and b/graphics/pokemon/rhyhorn/anim_front_gba.png differ diff --git a/graphics/pokemon/rhyhorn/back_gba.png b/graphics/pokemon/rhyhorn/back_gba.png new file mode 100644 index 000000000000..67d006205c08 Binary files /dev/null and b/graphics/pokemon/rhyhorn/back_gba.png differ diff --git a/graphics/pokemon/rhyhorn/icon_gba.png b/graphics/pokemon/rhyhorn/icon_gba.png new file mode 100644 index 000000000000..03bb348e7e5d Binary files /dev/null and b/graphics/pokemon/rhyhorn/icon_gba.png differ diff --git a/graphics/pokemon/rhyhorn/normal_gba.pal b/graphics/pokemon/rhyhorn/normal_gba.pal new file mode 100644 index 000000000000..bf720235e636 --- /dev/null +++ b/graphics/pokemon/rhyhorn/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +230 230 238 +189 189 205 +131 131 172 +90 90 123 +65 65 90 +172 57 41 +90 8 0 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/rhyhorn/overworldf.png b/graphics/pokemon/rhyhorn/overworldf.png new file mode 100644 index 000000000000..55f1e6f5fb15 Binary files /dev/null and b/graphics/pokemon/rhyhorn/overworldf.png differ diff --git a/graphics/pokemon/rhyhorn/shiny_gba.pal b/graphics/pokemon/rhyhorn/shiny_gba.pal new file mode 100644 index 000000000000..64280c93981b --- /dev/null +++ b/graphics/pokemon/rhyhorn/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +238 180 156 +197 139 115 +156 98 74 +115 57 32 +74 16 0 +172 57 41 +90 8 0 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/rhyperior/overworldf.png b/graphics/pokemon/rhyperior/overworldf.png new file mode 100644 index 000000000000..47cb4fa9d588 Binary files /dev/null and b/graphics/pokemon/rhyperior/overworldf.png differ diff --git a/graphics/pokemon/rillaboom/gigantamax/back.png b/graphics/pokemon/rillaboom/gmax/back.png similarity index 100% rename from graphics/pokemon/rillaboom/gigantamax/back.png rename to graphics/pokemon/rillaboom/gmax/back.png diff --git a/graphics/pokemon/rillaboom/gigantamax/front.png b/graphics/pokemon/rillaboom/gmax/front.png similarity index 100% rename from graphics/pokemon/rillaboom/gigantamax/front.png rename to graphics/pokemon/rillaboom/gmax/front.png diff --git a/graphics/pokemon/rillaboom/gigantamax/icon.png b/graphics/pokemon/rillaboom/gmax/icon.png similarity index 100% rename from graphics/pokemon/rillaboom/gigantamax/icon.png rename to graphics/pokemon/rillaboom/gmax/icon.png diff --git a/graphics/pokemon/rillaboom/gigantamax/normal.pal b/graphics/pokemon/rillaboom/gmax/normal.pal similarity index 100% rename from graphics/pokemon/rillaboom/gigantamax/normal.pal rename to graphics/pokemon/rillaboom/gmax/normal.pal diff --git a/graphics/pokemon/rillaboom/gigantamax/shiny.pal b/graphics/pokemon/rillaboom/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/rillaboom/gigantamax/shiny.pal rename to graphics/pokemon/rillaboom/gmax/shiny.pal diff --git a/graphics/pokemon/roselia/anim_front_gba.png b/graphics/pokemon/roselia/anim_front_gba.png new file mode 100644 index 000000000000..0b9cfdf0b01d Binary files /dev/null and b/graphics/pokemon/roselia/anim_front_gba.png differ diff --git a/graphics/pokemon/roselia/back_gba.png b/graphics/pokemon/roselia/back_gba.png new file mode 100644 index 000000000000..5275c801dc24 Binary files /dev/null and b/graphics/pokemon/roselia/back_gba.png differ diff --git a/graphics/pokemon/roselia/icon_gba.png b/graphics/pokemon/roselia/icon_gba.png new file mode 100644 index 000000000000..fc63c9644a59 Binary files /dev/null and b/graphics/pokemon/roselia/icon_gba.png differ diff --git a/graphics/pokemon/roselia/normal_gba.pal b/graphics/pokemon/roselia/normal_gba.pal new file mode 100644 index 000000000000..a96e5081c9aa --- /dev/null +++ b/graphics/pokemon/roselia/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +0 0 0 +180 238 115 +246 213 74 +205 222 213 +65 98 49 +131 156 164 +98 148 74 +123 205 98 +172 197 197 +164 49 74 +246 90 131 +255 164 189 +41 90 148 +82 148 213 +98 180 255 diff --git a/graphics/pokemon/roselia/overworld.png b/graphics/pokemon/roselia/overworld.png index e648e28ceb08..2dd6d8151436 100644 Binary files a/graphics/pokemon/roselia/overworld.png and b/graphics/pokemon/roselia/overworld.png differ diff --git a/graphics/pokemon/roselia/overworldf.png b/graphics/pokemon/roselia/overworldf.png new file mode 100644 index 000000000000..1ea251f891f0 Binary files /dev/null and b/graphics/pokemon/roselia/overworldf.png differ diff --git a/graphics/pokemon/roselia/shiny_gba.pal b/graphics/pokemon/roselia/shiny_gba.pal new file mode 100644 index 000000000000..eebb104afda1 --- /dev/null +++ b/graphics/pokemon/roselia/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +0 0 0 +189 255 115 +246 213 74 +255 238 172 +82 98 41 +213 172 90 +115 172 49 +156 213 74 +255 213 106 +123 65 139 +180 98 205 +205 139 222 +41 49 65 +115 106 123 +148 139 156 diff --git a/graphics/pokemon/roserade/overworldf.png b/graphics/pokemon/roserade/overworldf.png new file mode 100644 index 000000000000..9afcd4ecd6a9 Binary files /dev/null and b/graphics/pokemon/roserade/overworldf.png differ diff --git a/graphics/pokemon/sableye/anim_front_gba.png b/graphics/pokemon/sableye/anim_front_gba.png new file mode 100644 index 000000000000..3b70ec40f5be Binary files /dev/null and b/graphics/pokemon/sableye/anim_front_gba.png differ diff --git a/graphics/pokemon/sableye/back_gba.png b/graphics/pokemon/sableye/back_gba.png new file mode 100644 index 000000000000..75c12743c9b6 Binary files /dev/null and b/graphics/pokemon/sableye/back_gba.png differ diff --git a/graphics/pokemon/sableye/icon_gba.png b/graphics/pokemon/sableye/icon_gba.png new file mode 100644 index 000000000000..e8ac1307edae Binary files /dev/null and b/graphics/pokemon/sableye/icon_gba.png differ diff --git a/graphics/pokemon/sableye/normal_gba.pal b/graphics/pokemon/sableye/normal_gba.pal new file mode 100644 index 000000000000..89a2bed0ab26 --- /dev/null +++ b/graphics/pokemon/sableye/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 205 205 +74 49 74 +139 98 139 +197 123 189 +213 148 213 +148 131 213 +197 222 255 +255 255 255 +197 41 32 +106 74 115 +172 180 205 +82 205 65 +32 222 255 +164 115 164 +0 0 0 +255 82 74 diff --git a/graphics/pokemon/sableye/shiny_gba.pal b/graphics/pokemon/sableye/shiny_gba.pal new file mode 100644 index 000000000000..8b03a2efea49 --- /dev/null +++ b/graphics/pokemon/sableye/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 205 205 +115 82 65 +131 82 57 +213 164 123 +246 197 164 +230 148 90 +255 230 156 +255 255 255 +82 213 74 +106 74 57 +230 164 90 +32 222 255 +255 230 106 +180 123 90 +0 0 0 +148 255 148 diff --git a/graphics/pokemon/salamence/anim_front_gba.png b/graphics/pokemon/salamence/anim_front_gba.png new file mode 100644 index 000000000000..7d1af0efbd84 Binary files /dev/null and b/graphics/pokemon/salamence/anim_front_gba.png differ diff --git a/graphics/pokemon/salamence/back_gba.png b/graphics/pokemon/salamence/back_gba.png new file mode 100644 index 000000000000..748147e777b7 Binary files /dev/null and b/graphics/pokemon/salamence/back_gba.png differ diff --git a/graphics/pokemon/salamence/icon_gba.png b/graphics/pokemon/salamence/icon_gba.png new file mode 100644 index 000000000000..b4c925502d1a Binary files /dev/null and b/graphics/pokemon/salamence/icon_gba.png differ diff --git a/graphics/pokemon/salamence/normal_gba.pal b/graphics/pokemon/salamence/normal_gba.pal new file mode 100644 index 000000000000..8ee78691f717 --- /dev/null +++ b/graphics/pokemon/salamence/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +172 222 98 +57 65 98 +82 98 148 +123 123 222 +172 172 255 +123 74 49 +189 115 74 +222 123 82 +255 148 98 +131 148 148 +172 164 189 +222 213 238 +255 255 255 +0 0 0 +255 255 41 +24 24 24 diff --git a/graphics/pokemon/salamence/shiny_gba.pal b/graphics/pokemon/salamence/shiny_gba.pal new file mode 100644 index 000000000000..bf2da08f21fd --- /dev/null +++ b/graphics/pokemon/salamence/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +172 222 98 +16 98 32 +98 156 106 +106 197 106 +148 230 148 +123 74 49 +189 115 74 +222 123 82 +255 148 98 +131 148 148 +172 164 189 +222 213 238 +255 255 255 +0 0 0 +255 255 41 +24 24 24 diff --git a/graphics/pokemon/samurott/hisuian/back.png b/graphics/pokemon/samurott/hisui/back.png similarity index 100% rename from graphics/pokemon/samurott/hisuian/back.png rename to graphics/pokemon/samurott/hisui/back.png diff --git a/graphics/pokemon/samurott/hisuian/front.png b/graphics/pokemon/samurott/hisui/front.png similarity index 100% rename from graphics/pokemon/samurott/hisuian/front.png rename to graphics/pokemon/samurott/hisui/front.png diff --git a/graphics/pokemon/samurott/hisuian/icon.png b/graphics/pokemon/samurott/hisui/icon.png similarity index 100% rename from graphics/pokemon/samurott/hisuian/icon.png rename to graphics/pokemon/samurott/hisui/icon.png diff --git a/graphics/pokemon/samurott/hisuian/normal.pal b/graphics/pokemon/samurott/hisui/normal.pal similarity index 100% rename from graphics/pokemon/samurott/hisuian/normal.pal rename to graphics/pokemon/samurott/hisui/normal.pal diff --git a/graphics/pokemon/samurott/hisuian/overworld.png b/graphics/pokemon/samurott/hisui/overworld.png similarity index 100% rename from graphics/pokemon/samurott/hisuian/overworld.png rename to graphics/pokemon/samurott/hisui/overworld.png diff --git a/graphics/pokemon/samurott/hisuian/overworld_normal.pal b/graphics/pokemon/samurott/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/samurott/hisuian/overworld_normal.pal rename to graphics/pokemon/samurott/hisui/overworld_normal.pal diff --git a/graphics/pokemon/samurott/hisuian/overworld_shiny.pal b/graphics/pokemon/samurott/hisui/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/samurott/hisuian/overworld_shiny.pal rename to graphics/pokemon/samurott/hisui/overworld_shiny.pal diff --git a/graphics/pokemon/samurott/hisuian/shiny.pal b/graphics/pokemon/samurott/hisui/shiny.pal similarity index 100% rename from graphics/pokemon/samurott/hisuian/shiny.pal rename to graphics/pokemon/samurott/hisui/shiny.pal diff --git a/graphics/pokemon/sandaconda/gigantamax/back.png b/graphics/pokemon/sandaconda/gmax/back.png similarity index 100% rename from graphics/pokemon/sandaconda/gigantamax/back.png rename to graphics/pokemon/sandaconda/gmax/back.png diff --git a/graphics/pokemon/sandaconda/gigantamax/front.png b/graphics/pokemon/sandaconda/gmax/front.png similarity index 100% rename from graphics/pokemon/sandaconda/gigantamax/front.png rename to graphics/pokemon/sandaconda/gmax/front.png diff --git a/graphics/pokemon/sandaconda/gigantamax/icon.png b/graphics/pokemon/sandaconda/gmax/icon.png similarity index 100% rename from graphics/pokemon/sandaconda/gigantamax/icon.png rename to graphics/pokemon/sandaconda/gmax/icon.png diff --git a/graphics/pokemon/sandaconda/gigantamax/normal.pal b/graphics/pokemon/sandaconda/gmax/normal.pal similarity index 100% rename from graphics/pokemon/sandaconda/gigantamax/normal.pal rename to graphics/pokemon/sandaconda/gmax/normal.pal diff --git a/graphics/pokemon/sandaconda/gigantamax/shiny.pal b/graphics/pokemon/sandaconda/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/sandaconda/gigantamax/shiny.pal rename to graphics/pokemon/sandaconda/gmax/shiny.pal diff --git a/graphics/pokemon/sandshrew/alolan/back.png b/graphics/pokemon/sandshrew/alola/back.png similarity index 100% rename from graphics/pokemon/sandshrew/alolan/back.png rename to graphics/pokemon/sandshrew/alola/back.png diff --git a/graphics/pokemon/sandshrew/alolan/front.png b/graphics/pokemon/sandshrew/alola/front.png similarity index 100% rename from graphics/pokemon/sandshrew/alolan/front.png rename to graphics/pokemon/sandshrew/alola/front.png diff --git a/graphics/pokemon/sandshrew/alolan/icon.png b/graphics/pokemon/sandshrew/alola/icon.png similarity index 100% rename from graphics/pokemon/sandshrew/alolan/icon.png rename to graphics/pokemon/sandshrew/alola/icon.png diff --git a/graphics/pokemon/sandshrew/alolan/normal.pal b/graphics/pokemon/sandshrew/alola/normal.pal similarity index 100% rename from graphics/pokemon/sandshrew/alolan/normal.pal rename to graphics/pokemon/sandshrew/alola/normal.pal diff --git a/graphics/pokemon/sandshrew/alolan/overworld.png b/graphics/pokemon/sandshrew/alola/overworld.png similarity index 100% rename from graphics/pokemon/sandshrew/alolan/overworld.png rename to graphics/pokemon/sandshrew/alola/overworld.png diff --git a/graphics/pokemon/sandshrew/alolan/overworld_normal.pal b/graphics/pokemon/sandshrew/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/sandshrew/alolan/overworld_normal.pal rename to graphics/pokemon/sandshrew/alola/overworld_normal.pal diff --git a/graphics/pokemon/sandshrew/alolan/overworld_shiny.pal b/graphics/pokemon/sandshrew/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/sandshrew/alolan/overworld_shiny.pal rename to graphics/pokemon/sandshrew/alola/overworld_shiny.pal diff --git a/graphics/pokemon/sandshrew/alolan/shiny.pal b/graphics/pokemon/sandshrew/alola/shiny.pal similarity index 100% rename from graphics/pokemon/sandshrew/alolan/shiny.pal rename to graphics/pokemon/sandshrew/alola/shiny.pal diff --git a/graphics/pokemon/sandshrew/anim_front_gba.png b/graphics/pokemon/sandshrew/anim_front_gba.png new file mode 100644 index 000000000000..8382009fdec7 Binary files /dev/null and b/graphics/pokemon/sandshrew/anim_front_gba.png differ diff --git a/graphics/pokemon/sandshrew/back_gba.png b/graphics/pokemon/sandshrew/back_gba.png new file mode 100644 index 000000000000..86fa10ec8f7f Binary files /dev/null and b/graphics/pokemon/sandshrew/back_gba.png differ diff --git a/graphics/pokemon/sandshrew/icon_gba.png b/graphics/pokemon/sandshrew/icon_gba.png new file mode 100644 index 000000000000..5919f1095013 Binary files /dev/null and b/graphics/pokemon/sandshrew/icon_gba.png differ diff --git a/graphics/pokemon/sandshrew/normal_gba.pal b/graphics/pokemon/sandshrew/normal_gba.pal new file mode 100644 index 000000000000..5f537b59101a --- /dev/null +++ b/graphics/pokemon/sandshrew/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +255 0 255 +230 230 0 +213 189 0 +172 139 0 +131 82 16 +255 0 255 +255 0 255 +255 0 255 +180 180 164 +205 205 189 +238 238 222 +139 139 139 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/sandshrew/shiny_gba.pal b/graphics/pokemon/sandshrew/shiny_gba.pal new file mode 100644 index 000000000000..ce7877a66308 --- /dev/null +++ b/graphics/pokemon/sandshrew/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +255 0 255 +213 238 123 +172 197 82 +131 156 41 +65 90 0 +255 0 255 +255 0 255 +255 0 255 +180 180 164 +205 205 189 +238 238 222 +139 139 139 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/sandslash/alolan/back.png b/graphics/pokemon/sandslash/alola/back.png similarity index 100% rename from graphics/pokemon/sandslash/alolan/back.png rename to graphics/pokemon/sandslash/alola/back.png diff --git a/graphics/pokemon/sandslash/alolan/front.png b/graphics/pokemon/sandslash/alola/front.png similarity index 100% rename from graphics/pokemon/sandslash/alolan/front.png rename to graphics/pokemon/sandslash/alola/front.png diff --git a/graphics/pokemon/sandslash/alolan/icon.png b/graphics/pokemon/sandslash/alola/icon.png similarity index 100% rename from graphics/pokemon/sandslash/alolan/icon.png rename to graphics/pokemon/sandslash/alola/icon.png diff --git a/graphics/pokemon/sandslash/alolan/normal.pal b/graphics/pokemon/sandslash/alola/normal.pal similarity index 100% rename from graphics/pokemon/sandslash/alolan/normal.pal rename to graphics/pokemon/sandslash/alola/normal.pal diff --git a/graphics/pokemon/sandslash/alolan/overworld.png b/graphics/pokemon/sandslash/alola/overworld.png similarity index 100% rename from graphics/pokemon/sandslash/alolan/overworld.png rename to graphics/pokemon/sandslash/alola/overworld.png diff --git a/graphics/pokemon/sandslash/alolan/overworld_normal.pal b/graphics/pokemon/sandslash/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/sandslash/alolan/overworld_normal.pal rename to graphics/pokemon/sandslash/alola/overworld_normal.pal diff --git a/graphics/pokemon/sandslash/alolan/overworld_shiny.pal b/graphics/pokemon/sandslash/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/sandslash/alolan/overworld_shiny.pal rename to graphics/pokemon/sandslash/alola/overworld_shiny.pal diff --git a/graphics/pokemon/sandslash/alolan/shiny.pal b/graphics/pokemon/sandslash/alola/shiny.pal similarity index 100% rename from graphics/pokemon/sandslash/alolan/shiny.pal rename to graphics/pokemon/sandslash/alola/shiny.pal diff --git a/graphics/pokemon/sandslash/anim_front_gba.png b/graphics/pokemon/sandslash/anim_front_gba.png new file mode 100644 index 000000000000..b71e3bc7d8f9 Binary files /dev/null and b/graphics/pokemon/sandslash/anim_front_gba.png differ diff --git a/graphics/pokemon/sandslash/back_gba.png b/graphics/pokemon/sandslash/back_gba.png new file mode 100644 index 000000000000..64c3050472d1 Binary files /dev/null and b/graphics/pokemon/sandslash/back_gba.png differ diff --git a/graphics/pokemon/sandslash/icon_gba.png b/graphics/pokemon/sandslash/icon_gba.png new file mode 100644 index 000000000000..08198e6b2c3f Binary files /dev/null and b/graphics/pokemon/sandslash/icon_gba.png differ diff --git a/graphics/pokemon/sandslash/normal_gba.pal b/graphics/pokemon/sandslash/normal_gba.pal new file mode 100644 index 000000000000..a9122fbf641b --- /dev/null +++ b/graphics/pokemon/sandslash/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +246 238 90 +222 197 32 +189 164 0 +131 98 0 +238 238 222 +205 205 189 +139 139 139 +74 74 74 +205 180 74 +156 123 16 +123 90 0 +90 49 0 +16 16 16 +255 0 255 diff --git a/graphics/pokemon/sandslash/shiny_gba.pal b/graphics/pokemon/sandslash/shiny_gba.pal new file mode 100644 index 000000000000..8d1cca9b27a4 --- /dev/null +++ b/graphics/pokemon/sandslash/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +246 238 156 +222 205 115 +164 148 65 +131 115 32 +98 82 0 +238 238 222 +205 205 189 +139 139 139 +74 74 74 +246 98 98 +213 65 65 +180 32 32 +123 0 0 +90 0 0 +255 0 255 diff --git a/graphics/pokemon/sceptile/anim_front_gba.png b/graphics/pokemon/sceptile/anim_front_gba.png new file mode 100644 index 000000000000..74473e2e5ad7 Binary files /dev/null and b/graphics/pokemon/sceptile/anim_front_gba.png differ diff --git a/graphics/pokemon/sceptile/back_gba.png b/graphics/pokemon/sceptile/back_gba.png new file mode 100644 index 000000000000..5b7e8696ef57 Binary files /dev/null and b/graphics/pokemon/sceptile/back_gba.png differ diff --git a/graphics/pokemon/sceptile/icon_gba.png b/graphics/pokemon/sceptile/icon_gba.png new file mode 100644 index 000000000000..d144941e0820 Binary files /dev/null and b/graphics/pokemon/sceptile/icon_gba.png differ diff --git a/graphics/pokemon/sceptile/normal_gba.pal b/graphics/pokemon/sceptile/normal_gba.pal new file mode 100644 index 000000000000..31f822b0cc54 --- /dev/null +++ b/graphics/pokemon/sceptile/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 106 156 +255 230 106 +255 197 82 +197 131 57 +255 238 180 +255 106 82 +213 82 57 +164 74 49 +57 98 32 +123 98 90 +255 255 255 +189 255 115 +156 213 74 +115 172 49 +90 123 32 +16 16 16 diff --git a/graphics/pokemon/sceptile/shiny_gba.pal b/graphics/pokemon/sceptile/shiny_gba.pal new file mode 100644 index 000000000000..9a6882bf4ca0 --- /dev/null +++ b/graphics/pokemon/sceptile/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 106 156 +255 106 82 +213 82 57 +164 74 49 +255 238 180 +255 230 106 +255 180 82 +197 131 57 +57 98 32 +123 98 90 +255 255 255 +189 246 255 +164 222 230 +90 180 164 +82 139 131 +16 16 16 diff --git a/graphics/pokemon/scizor/anim_front_gba.png b/graphics/pokemon/scizor/anim_front_gba.png new file mode 100644 index 000000000000..9005f3438d4c Binary files /dev/null and b/graphics/pokemon/scizor/anim_front_gba.png differ diff --git a/graphics/pokemon/scizor/back_gba.png b/graphics/pokemon/scizor/back_gba.png new file mode 100644 index 000000000000..b31f50da1592 Binary files /dev/null and b/graphics/pokemon/scizor/back_gba.png differ diff --git a/graphics/pokemon/scizor/icon_gba.png b/graphics/pokemon/scizor/icon_gba.png new file mode 100644 index 000000000000..0a8667832b81 Binary files /dev/null and b/graphics/pokemon/scizor/icon_gba.png differ diff --git a/graphics/pokemon/scizor/normal_gba.pal b/graphics/pokemon/scizor/normal_gba.pal new file mode 100644 index 000000000000..a9310feaeda6 --- /dev/null +++ b/graphics/pokemon/scizor/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 197 115 +255 98 16 +205 57 0 +123 32 0 +255 0 255 +255 205 16 +255 139 41 +189 139 41 +255 0 255 +255 0 255 +197 197 205 +148 148 156 +90 90 106 +16 16 16 diff --git a/graphics/pokemon/scizor/overworldf.png b/graphics/pokemon/scizor/overworldf.png new file mode 100644 index 000000000000..ee19b5565618 Binary files /dev/null and b/graphics/pokemon/scizor/overworldf.png differ diff --git a/graphics/pokemon/scizor/shiny_gba.pal b/graphics/pokemon/scizor/shiny_gba.pal new file mode 100644 index 000000000000..93e8e479b4ae --- /dev/null +++ b/graphics/pokemon/scizor/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 230 98 +180 189 65 +106 115 65 +74 82 16 +255 0 255 +255 205 16 +255 139 41 +189 139 41 +255 0 255 +255 0 255 +197 197 205 +98 197 82 +49 123 32 +16 16 16 diff --git a/graphics/pokemon/scyther/anim_front_gba.png b/graphics/pokemon/scyther/anim_front_gba.png new file mode 100644 index 000000000000..90b7ad4a8d0b Binary files /dev/null and b/graphics/pokemon/scyther/anim_front_gba.png differ diff --git a/graphics/pokemon/scyther/back_gba.png b/graphics/pokemon/scyther/back_gba.png new file mode 100644 index 000000000000..a1b9d1591b92 Binary files /dev/null and b/graphics/pokemon/scyther/back_gba.png differ diff --git a/graphics/pokemon/scyther/icon_gba.png b/graphics/pokemon/scyther/icon_gba.png new file mode 100644 index 000000000000..62f94bba6399 Binary files /dev/null and b/graphics/pokemon/scyther/icon_gba.png differ diff --git a/graphics/pokemon/scyther/normal_gba.pal b/graphics/pokemon/scyther/normal_gba.pal new file mode 100644 index 000000000000..8678b0bc3fac --- /dev/null +++ b/graphics/pokemon/scyther/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 197 +255 255 255 +222 222 222 +189 189 189 +115 115 115 +246 230 123 +205 197 90 +255 255 172 +246 230 123 +205 197 90 +156 139 49 +189 255 115 +156 222 74 +98 189 32 +74 106 32 +16 16 16 diff --git a/graphics/pokemon/scyther/overworldf.png b/graphics/pokemon/scyther/overworldf.png new file mode 100644 index 000000000000..c7a16339f97a Binary files /dev/null and b/graphics/pokemon/scyther/overworldf.png differ diff --git a/graphics/pokemon/scyther/shiny_gba.pal b/graphics/pokemon/scyther/shiny_gba.pal new file mode 100644 index 000000000000..131fff636836 --- /dev/null +++ b/graphics/pokemon/scyther/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 197 +255 255 255 +222 222 222 +189 189 189 +115 115 115 +255 123 90 +255 82 49 +255 255 172 +246 230 123 +205 197 90 +156 139 49 +164 230 49 +123 189 49 +82 148 8 +57 90 8 +16 16 16 diff --git a/graphics/pokemon/seadra/anim_front_gba.png b/graphics/pokemon/seadra/anim_front_gba.png new file mode 100644 index 000000000000..c9fc064a4170 Binary files /dev/null and b/graphics/pokemon/seadra/anim_front_gba.png differ diff --git a/graphics/pokemon/seadra/back_gba.png b/graphics/pokemon/seadra/back_gba.png new file mode 100644 index 000000000000..526d7495c091 Binary files /dev/null and b/graphics/pokemon/seadra/back_gba.png differ diff --git a/graphics/pokemon/seadra/icon_gba.png b/graphics/pokemon/seadra/icon_gba.png new file mode 100644 index 000000000000..f85ea2f326ff Binary files /dev/null and b/graphics/pokemon/seadra/icon_gba.png differ diff --git a/graphics/pokemon/seadra/normal_gba.pal b/graphics/pokemon/seadra/normal_gba.pal new file mode 100644 index 000000000000..e29e999bf0e3 --- /dev/null +++ b/graphics/pokemon/seadra/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 0 255 +164 205 230 +131 172 205 +106 131 156 +74 106 131 +32 65 90 +255 255 172 +222 197 82 +148 123 65 +255 0 255 +255 0 255 +222 222 222 +156 156 156 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/seadra/shiny_gba.pal b/graphics/pokemon/seadra/shiny_gba.pal new file mode 100644 index 000000000000..7cb7cbb5f5d3 --- /dev/null +++ b/graphics/pokemon/seadra/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 0 255 +106 164 205 +65 106 164 +41 65 98 +49 41 65 +0 0 82 +255 222 180 +255 156 123 +172 82 123 +255 0 255 +255 0 255 +222 222 222 +156 156 156 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/seaking/anim_front_gba.png b/graphics/pokemon/seaking/anim_front_gba.png new file mode 100644 index 000000000000..242f2b65f52b Binary files /dev/null and b/graphics/pokemon/seaking/anim_front_gba.png differ diff --git a/graphics/pokemon/seaking/back_gba.png b/graphics/pokemon/seaking/back_gba.png new file mode 100644 index 000000000000..eb3fbd661a95 Binary files /dev/null and b/graphics/pokemon/seaking/back_gba.png differ diff --git a/graphics/pokemon/seaking/icon_gba.png b/graphics/pokemon/seaking/icon_gba.png new file mode 100644 index 000000000000..7c3bcaec1cc3 Binary files /dev/null and b/graphics/pokemon/seaking/icon_gba.png differ diff --git a/graphics/pokemon/seaking/normal_gba.pal b/graphics/pokemon/seaking/normal_gba.pal new file mode 100644 index 000000000000..1ffe314f4972 --- /dev/null +++ b/graphics/pokemon/seaking/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +213 213 222 +172 180 189 +131 139 156 +90 90 98 +255 197 205 +246 123 90 +164 57 65 +255 0 255 +255 164 123 +246 123 90 +222 65 32 +164 49 32 +82 82 82 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/seaking/overworldf.png b/graphics/pokemon/seaking/overworldf.png new file mode 100644 index 000000000000..80590bc05341 Binary files /dev/null and b/graphics/pokemon/seaking/overworldf.png differ diff --git a/graphics/pokemon/seaking/shiny_gba.pal b/graphics/pokemon/seaking/shiny_gba.pal new file mode 100644 index 000000000000..2a4acb23d63b --- /dev/null +++ b/graphics/pokemon/seaking/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +230 246 164 +213 246 139 +131 164 57 +90 115 8 +255 197 205 +246 123 90 +164 57 65 +255 0 255 +255 246 131 +255 205 90 +213 164 49 +156 106 0 +82 82 82 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/sealeo/anim_front_gba.png b/graphics/pokemon/sealeo/anim_front_gba.png new file mode 100644 index 000000000000..01d8371a6152 Binary files /dev/null and b/graphics/pokemon/sealeo/anim_front_gba.png differ diff --git a/graphics/pokemon/sealeo/back_gba.png b/graphics/pokemon/sealeo/back_gba.png new file mode 100644 index 000000000000..302ffb7f2f02 Binary files /dev/null and b/graphics/pokemon/sealeo/back_gba.png differ diff --git a/graphics/pokemon/sealeo/icon_gba.png b/graphics/pokemon/sealeo/icon_gba.png new file mode 100644 index 000000000000..2d21e883705e Binary files /dev/null and b/graphics/pokemon/sealeo/icon_gba.png differ diff --git a/graphics/pokemon/sealeo/normal_gba.pal b/graphics/pokemon/sealeo/normal_gba.pal new file mode 100644 index 000000000000..6644440c0f6e --- /dev/null +++ b/graphics/pokemon/sealeo/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +82 139 82 +57 82 115 +65 106 164 +106 148 213 +139 172 255 +0 0 0 +156 156 180 +189 189 213 +222 222 255 +189 156 123 +213 180 148 +238 205 172 +90 123 148 +189 205 255 +255 230 189 +255 255 255 diff --git a/graphics/pokemon/sealeo/shiny_gba.pal b/graphics/pokemon/sealeo/shiny_gba.pal new file mode 100644 index 000000000000..df44748770f1 --- /dev/null +++ b/graphics/pokemon/sealeo/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +82 139 82 +90 49 139 +180 98 205 +213 148 238 +246 197 255 +0 0 0 +156 156 180 +189 189 213 +222 222 255 +189 148 82 +230 189 106 +255 222 164 +156 74 180 +255 238 255 +255 246 197 +255 255 255 diff --git a/graphics/pokemon/seedot/anim_front_gba.png b/graphics/pokemon/seedot/anim_front_gba.png new file mode 100644 index 000000000000..95007fb3ff95 Binary files /dev/null and b/graphics/pokemon/seedot/anim_front_gba.png differ diff --git a/graphics/pokemon/seedot/back_gba.png b/graphics/pokemon/seedot/back_gba.png new file mode 100644 index 000000000000..ee4017cf5a6c Binary files /dev/null and b/graphics/pokemon/seedot/back_gba.png differ diff --git a/graphics/pokemon/seedot/icon_gba.png b/graphics/pokemon/seedot/icon_gba.png new file mode 100644 index 000000000000..500a49d47fcd Binary files /dev/null and b/graphics/pokemon/seedot/icon_gba.png differ diff --git a/graphics/pokemon/seedot/normal_gba.pal b/graphics/pokemon/seedot/normal_gba.pal new file mode 100644 index 000000000000..0fc33bf9b0b5 --- /dev/null +++ b/graphics/pokemon/seedot/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +82 82 32 +131 123 115 +255 255 255 +156 90 49 +213 148 49 +213 180 82 +123 148 82 +180 205 131 +230 238 180 +246 197 98 +255 238 172 +0 0 0 +0 0 0 +0 0 0 +246 57 0 diff --git a/graphics/pokemon/seedot/shiny_gba.pal b/graphics/pokemon/seedot/shiny_gba.pal new file mode 100644 index 000000000000..0cd33d0c121e --- /dev/null +++ b/graphics/pokemon/seedot/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +82 82 32 +131 123 115 +255 255 255 +197 57 41 +230 82 32 +255 139 82 +148 139 139 +180 172 172 +222 213 213 +246 197 98 +255 238 172 +0 0 0 +0 0 0 +0 0 0 +246 57 0 diff --git a/graphics/pokemon/seel/anim_front_gba.png b/graphics/pokemon/seel/anim_front_gba.png new file mode 100644 index 000000000000..37495db717fa Binary files /dev/null and b/graphics/pokemon/seel/anim_front_gba.png differ diff --git a/graphics/pokemon/seel/back_gba.png b/graphics/pokemon/seel/back_gba.png new file mode 100644 index 000000000000..5268657f584a Binary files /dev/null and b/graphics/pokemon/seel/back_gba.png differ diff --git a/graphics/pokemon/seel/icon_gba.png b/graphics/pokemon/seel/icon_gba.png new file mode 100644 index 000000000000..9000021e992e Binary files /dev/null and b/graphics/pokemon/seel/icon_gba.png differ diff --git a/graphics/pokemon/seel/normal_gba.pal b/graphics/pokemon/seel/normal_gba.pal new file mode 100644 index 000000000000..bc38b44e51f6 --- /dev/null +++ b/graphics/pokemon/seel/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +230 230 246 +197 205 238 +156 164 189 +65 82 131 +255 255 197 +213 180 131 +115 106 49 +255 189 164 +213 131 82 +164 82 32 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/seel/shiny_gba.pal b/graphics/pokemon/seel/shiny_gba.pal new file mode 100644 index 000000000000..952eec3181ce --- /dev/null +++ b/graphics/pokemon/seel/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +238 238 213 +213 205 189 +180 172 156 +139 131 115 +255 255 197 +213 180 131 +115 106 49 +255 156 123 +238 115 82 +148 57 41 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/sentret/anim_front_gba.png b/graphics/pokemon/sentret/anim_front_gba.png new file mode 100644 index 000000000000..b1c9ec22c2dd Binary files /dev/null and b/graphics/pokemon/sentret/anim_front_gba.png differ diff --git a/graphics/pokemon/sentret/back_gba.png b/graphics/pokemon/sentret/back_gba.png new file mode 100644 index 000000000000..97ef90a8d58a Binary files /dev/null and b/graphics/pokemon/sentret/back_gba.png differ diff --git a/graphics/pokemon/sentret/icon_gba.png b/graphics/pokemon/sentret/icon_gba.png new file mode 100644 index 000000000000..560b38d44a95 Binary files /dev/null and b/graphics/pokemon/sentret/icon_gba.png differ diff --git a/graphics/pokemon/sentret/normal_gba.pal b/graphics/pokemon/sentret/normal_gba.pal new file mode 100644 index 000000000000..5591d8f1b962 --- /dev/null +++ b/graphics/pokemon/sentret/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +238 222 139 +230 197 82 +205 164 65 +180 139 57 +148 106 32 +115 65 16 +90 41 8 +57 8 0 +222 65 24 +180 32 16 +255 131 115 +115 115 115 +65 65 65 +16 16 16 diff --git a/graphics/pokemon/sentret/shiny_gba.pal b/graphics/pokemon/sentret/shiny_gba.pal new file mode 100644 index 000000000000..05c9da6f79e4 --- /dev/null +++ b/graphics/pokemon/sentret/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 246 172 +238 222 123 +205 164 65 +205 172 74 +197 82 115 +148 41 82 +82 16 65 +57 8 0 +222 65 24 +180 32 16 +255 131 115 +115 115 115 +65 65 65 +16 16 16 diff --git a/graphics/pokemon/seviper/anim_front_gba.png b/graphics/pokemon/seviper/anim_front_gba.png new file mode 100644 index 000000000000..5aafb80021e6 Binary files /dev/null and b/graphics/pokemon/seviper/anim_front_gba.png differ diff --git a/graphics/pokemon/seviper/back_gba.png b/graphics/pokemon/seviper/back_gba.png new file mode 100644 index 000000000000..b9849a6fa0e5 Binary files /dev/null and b/graphics/pokemon/seviper/back_gba.png differ diff --git a/graphics/pokemon/seviper/icon_gba.png b/graphics/pokemon/seviper/icon_gba.png new file mode 100644 index 000000000000..ce751ce33d19 Binary files /dev/null and b/graphics/pokemon/seviper/icon_gba.png differ diff --git a/graphics/pokemon/seviper/normal_gba.pal b/graphics/pokemon/seviper/normal_gba.pal new file mode 100644 index 000000000000..bdcc5e7613af --- /dev/null +++ b/graphics/pokemon/seviper/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +255 255 255 +57 49 49 +255 230 90 +222 189 65 +139 41 180 +255 189 172 +238 90 82 +205 65 57 +131 123 65 +41 32 32 +139 123 123 +82 74 74 +0 0 0 +164 49 255 +90 49 65 diff --git a/graphics/pokemon/seviper/shiny_gba.pal b/graphics/pokemon/seviper/shiny_gba.pal new file mode 100644 index 000000000000..7296a030adb3 --- /dev/null +++ b/graphics/pokemon/seviper/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +255 255 255 +57 49 49 +205 255 115 +172 222 82 +180 49 106 +255 189 172 +90 131 180 +57 90 139 +82 123 16 +41 32 32 +139 123 123 +82 74 74 +0 0 0 +213 82 139 +90 49 65 diff --git a/graphics/pokemon/sharpedo/anim_front_gba.png b/graphics/pokemon/sharpedo/anim_front_gba.png new file mode 100644 index 000000000000..644b5331bbeb Binary files /dev/null and b/graphics/pokemon/sharpedo/anim_front_gba.png differ diff --git a/graphics/pokemon/sharpedo/back_gba.png b/graphics/pokemon/sharpedo/back_gba.png new file mode 100644 index 000000000000..4e011968bdc4 Binary files /dev/null and b/graphics/pokemon/sharpedo/back_gba.png differ diff --git a/graphics/pokemon/sharpedo/icon_gba.png b/graphics/pokemon/sharpedo/icon_gba.png new file mode 100644 index 000000000000..d8dbc26b2a30 Binary files /dev/null and b/graphics/pokemon/sharpedo/icon_gba.png differ diff --git a/graphics/pokemon/sharpedo/normal_gba.pal b/graphics/pokemon/sharpedo/normal_gba.pal new file mode 100644 index 000000000000..3db40a6016db --- /dev/null +++ b/graphics/pokemon/sharpedo/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 255 156 +57 65 74 +65 98 123 +65 139 148 +148 189 189 +213 123 131 +222 189 65 +255 222 98 +172 156 180 +222 205 246 +238 230 255 +156 74 90 +238 49 24 +255 255 255 +0 0 0 +106 57 74 diff --git a/graphics/pokemon/sharpedo/shiny_gba.pal b/graphics/pokemon/sharpedo/shiny_gba.pal new file mode 100644 index 000000000000..11b98e3bd694 --- /dev/null +++ b/graphics/pokemon/sharpedo/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 255 156 +98 0 82 +131 0 115 +164 16 148 +197 49 180 +213 123 131 +222 189 65 +255 222 98 +172 156 180 +222 205 246 +238 230 255 +156 74 90 +238 49 24 +255 255 255 +0 0 0 +106 57 74 diff --git a/graphics/pokemon/shedinja/anim_front_gba.png b/graphics/pokemon/shedinja/anim_front_gba.png new file mode 100644 index 000000000000..e21ca56ce211 Binary files /dev/null and b/graphics/pokemon/shedinja/anim_front_gba.png differ diff --git a/graphics/pokemon/shedinja/back_gba.png b/graphics/pokemon/shedinja/back_gba.png new file mode 100644 index 000000000000..bb3a5be7db42 Binary files /dev/null and b/graphics/pokemon/shedinja/back_gba.png differ diff --git a/graphics/pokemon/shedinja/icon_gba.png b/graphics/pokemon/shedinja/icon_gba.png new file mode 100644 index 000000000000..9f400e33804b Binary files /dev/null and b/graphics/pokemon/shedinja/icon_gba.png differ diff --git a/graphics/pokemon/shedinja/normal_gba.pal b/graphics/pokemon/shedinja/normal_gba.pal new file mode 100644 index 000000000000..1e1eefe6b75a --- /dev/null +++ b/graphics/pokemon/shedinja/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +213 197 65 +180 164 57 +164 131 49 +139 115 41 +82 74 41 +0 0 0 +0 0 0 +0 0 0 +115 90 41 +246 230 98 +255 255 255 +222 222 222 +189 189 189 +123 123 123 +16 16 16 diff --git a/graphics/pokemon/shedinja/shiny_gba.pal b/graphics/pokemon/shedinja/shiny_gba.pal new file mode 100644 index 000000000000..7e7ae66bd1e6 --- /dev/null +++ b/graphics/pokemon/shedinja/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 230 189 +246 197 156 +213 164 123 +180 131 90 +139 106 74 +0 0 0 +255 0 255 +255 0 255 +123 82 57 +255 246 230 +255 255 255 +238 222 238 +213 180 197 +131 106 131 +16 16 16 diff --git a/graphics/pokemon/shelgon/anim_front_gba.png b/graphics/pokemon/shelgon/anim_front_gba.png new file mode 100644 index 000000000000..062ccf3a1963 Binary files /dev/null and b/graphics/pokemon/shelgon/anim_front_gba.png differ diff --git a/graphics/pokemon/shelgon/back_gba.png b/graphics/pokemon/shelgon/back_gba.png new file mode 100644 index 000000000000..9c87ad57cdbf Binary files /dev/null and b/graphics/pokemon/shelgon/back_gba.png differ diff --git a/graphics/pokemon/shelgon/icon_gba.png b/graphics/pokemon/shelgon/icon_gba.png new file mode 100644 index 000000000000..76e0c6a1f70d Binary files /dev/null and b/graphics/pokemon/shelgon/icon_gba.png differ diff --git a/graphics/pokemon/shelgon/normal_gba.pal b/graphics/pokemon/shelgon/normal_gba.pal new file mode 100644 index 000000000000..a5abe063e196 --- /dev/null +++ b/graphics/pokemon/shelgon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 246 148 +74 65 57 +98 90 74 +123 123 98 +0 0 0 +106 57 57 +189 90 32 +246 115 74 +82 82 115 +148 139 180 +205 205 205 +238 238 205 +246 246 0 +197 197 0 +180 180 189 +24 24 24 diff --git a/graphics/pokemon/shelgon/shiny_gba.pal b/graphics/pokemon/shelgon/shiny_gba.pal new file mode 100644 index 000000000000..3d1e1a361ea2 --- /dev/null +++ b/graphics/pokemon/shelgon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 246 148 +57 49 41 +82 74 57 +106 106 82 +0 0 0 +106 57 57 +172 32 0 +246 82 32 +0 115 65 +74 148 57 +189 205 180 +222 238 205 +246 246 0 +197 197 0 +156 180 164 +24 24 24 diff --git a/graphics/pokemon/shellder/anim_front_gba.png b/graphics/pokemon/shellder/anim_front_gba.png new file mode 100644 index 000000000000..99cbf9875f20 Binary files /dev/null and b/graphics/pokemon/shellder/anim_front_gba.png differ diff --git a/graphics/pokemon/shellder/back_gba.png b/graphics/pokemon/shellder/back_gba.png new file mode 100644 index 000000000000..ee53743332b7 Binary files /dev/null and b/graphics/pokemon/shellder/back_gba.png differ diff --git a/graphics/pokemon/shellder/icon_gba.png b/graphics/pokemon/shellder/icon_gba.png new file mode 100644 index 000000000000..36ad59dfa02c Binary files /dev/null and b/graphics/pokemon/shellder/icon_gba.png differ diff --git a/graphics/pokemon/shellder/normal_gba.pal b/graphics/pokemon/shellder/normal_gba.pal new file mode 100644 index 000000000000..a7c916549833 --- /dev/null +++ b/graphics/pokemon/shellder/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +213 213 238 +222 189 238 +180 139 189 +131 90 139 +90 57 98 +255 123 65 +205 74 32 +123 32 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +106 106 106 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/shellder/shiny_gba.pal b/graphics/pokemon/shellder/shiny_gba.pal new file mode 100644 index 000000000000..20f597524ad6 --- /dev/null +++ b/graphics/pokemon/shellder/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +213 213 238 +255 180 65 +255 139 24 +213 98 0 +148 32 0 +255 131 123 +238 90 82 +139 24 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +106 106 106 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/shellos/east_sea/anim_front.png b/graphics/pokemon/shellos/east/anim_front.png similarity index 100% rename from graphics/pokemon/shellos/east_sea/anim_front.png rename to graphics/pokemon/shellos/east/anim_front.png diff --git a/graphics/pokemon/shellos/east_sea/back.png b/graphics/pokemon/shellos/east/back.png similarity index 100% rename from graphics/pokemon/shellos/east_sea/back.png rename to graphics/pokemon/shellos/east/back.png diff --git a/graphics/pokemon/shellos/east_sea/icon.png b/graphics/pokemon/shellos/east/icon.png similarity index 100% rename from graphics/pokemon/shellos/east_sea/icon.png rename to graphics/pokemon/shellos/east/icon.png diff --git a/graphics/pokemon/shellos/east_sea/normal.pal b/graphics/pokemon/shellos/east/normal.pal similarity index 100% rename from graphics/pokemon/shellos/east_sea/normal.pal rename to graphics/pokemon/shellos/east/normal.pal diff --git a/graphics/pokemon/shellos/east_sea/overworld.png b/graphics/pokemon/shellos/east/overworld.png similarity index 100% rename from graphics/pokemon/shellos/east_sea/overworld.png rename to graphics/pokemon/shellos/east/overworld.png diff --git a/graphics/pokemon/shellos/east_sea/overworld_normal.pal b/graphics/pokemon/shellos/east/overworld_normal.pal similarity index 100% rename from graphics/pokemon/shellos/east_sea/overworld_normal.pal rename to graphics/pokemon/shellos/east/overworld_normal.pal diff --git a/graphics/pokemon/shellos/east_sea/overworld_shiny.pal b/graphics/pokemon/shellos/east/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/shellos/east_sea/overworld_shiny.pal rename to graphics/pokemon/shellos/east/overworld_shiny.pal diff --git a/graphics/pokemon/shellos/east_sea/shiny.pal b/graphics/pokemon/shellos/east/shiny.pal similarity index 100% rename from graphics/pokemon/shellos/east_sea/shiny.pal rename to graphics/pokemon/shellos/east/shiny.pal diff --git a/graphics/pokemon/shiftry/anim_front_gba.png b/graphics/pokemon/shiftry/anim_front_gba.png new file mode 100644 index 000000000000..70eb97348e40 Binary files /dev/null and b/graphics/pokemon/shiftry/anim_front_gba.png differ diff --git a/graphics/pokemon/shiftry/back_gba.png b/graphics/pokemon/shiftry/back_gba.png new file mode 100644 index 000000000000..17ddb24caf1f Binary files /dev/null and b/graphics/pokemon/shiftry/back_gba.png differ diff --git a/graphics/pokemon/shiftry/icon_gba.png b/graphics/pokemon/shiftry/icon_gba.png new file mode 100644 index 000000000000..c10fa772de0a Binary files /dev/null and b/graphics/pokemon/shiftry/icon_gba.png differ diff --git a/graphics/pokemon/shiftry/normal_gba.pal b/graphics/pokemon/shiftry/normal_gba.pal new file mode 100644 index 000000000000..3a91e677cb8c --- /dev/null +++ b/graphics/pokemon/shiftry/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 148 197 +82 49 49 +131 131 115 +255 255 255 +115 65 74 +156 90 98 +222 123 82 +246 197 131 +230 222 255 +189 180 197 +0 0 0 +74 123 41 +98 172 98 +131 213 98 +255 213 98 +0 0 0 diff --git a/graphics/pokemon/shiftry/overworld.png b/graphics/pokemon/shiftry/overworld.png index 0d7e72ce99ea..113383d549d9 100644 Binary files a/graphics/pokemon/shiftry/overworld.png and b/graphics/pokemon/shiftry/overworld.png differ diff --git a/graphics/pokemon/shiftry/overworldf.png b/graphics/pokemon/shiftry/overworldf.png new file mode 100644 index 000000000000..0d7e72ce99ea Binary files /dev/null and b/graphics/pokemon/shiftry/overworldf.png differ diff --git a/graphics/pokemon/shiftry/shiny_gba.pal b/graphics/pokemon/shiftry/shiny_gba.pal new file mode 100644 index 000000000000..35aca99d4c9d --- /dev/null +++ b/graphics/pokemon/shiftry/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 148 197 +82 49 49 +172 106 82 +255 255 255 +115 16 0 +180 49 32 +222 98 49 +255 139 98 +255 238 156 +222 172 74 +0 0 0 +90 131 49 +139 205 82 +189 255 115 +255 156 82 +0 0 0 diff --git a/graphics/pokemon/shinx/overworldf.png b/graphics/pokemon/shinx/overworldf.png new file mode 100644 index 000000000000..74f17d30b524 Binary files /dev/null and b/graphics/pokemon/shinx/overworldf.png differ diff --git a/graphics/pokemon/shroomish/anim_front_gba.png b/graphics/pokemon/shroomish/anim_front_gba.png new file mode 100644 index 000000000000..df403cca35d1 Binary files /dev/null and b/graphics/pokemon/shroomish/anim_front_gba.png differ diff --git a/graphics/pokemon/shroomish/back_gba.png b/graphics/pokemon/shroomish/back_gba.png new file mode 100644 index 000000000000..4812bcbcde48 Binary files /dev/null and b/graphics/pokemon/shroomish/back_gba.png differ diff --git a/graphics/pokemon/shroomish/footprint_gba.png b/graphics/pokemon/shroomish/footprint_gba.png new file mode 100644 index 000000000000..1187f2d5e784 Binary files /dev/null and b/graphics/pokemon/shroomish/footprint_gba.png differ diff --git a/graphics/pokemon/shroomish/icon_gba.png b/graphics/pokemon/shroomish/icon_gba.png new file mode 100644 index 000000000000..87dd12060086 Binary files /dev/null and b/graphics/pokemon/shroomish/icon_gba.png differ diff --git a/graphics/pokemon/shroomish/normal_gba.pal b/graphics/pokemon/shroomish/normal_gba.pal new file mode 100644 index 000000000000..97f25bdf66a5 --- /dev/null +++ b/graphics/pokemon/shroomish/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 139 +98 74 49 +148 106 49 +213 164 90 +238 197 139 +255 230 172 +255 255 213 +90 131 74 +123 172 106 +139 197 131 +164 213 148 +65 82 49 +172 197 131 +0 0 0 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/shroomish/shiny_gba.pal b/graphics/pokemon/shroomish/shiny_gba.pal new file mode 100644 index 000000000000..a0bd12821b3b --- /dev/null +++ b/graphics/pokemon/shroomish/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 139 +123 98 74 +172 123 65 +222 189 123 +246 213 164 +255 238 189 +255 255 230 +180 65 49 +222 98 49 +255 115 74 +255 189 106 +164 49 32 +255 172 98 +0 0 0 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/shuckle/anim_front_gba.png b/graphics/pokemon/shuckle/anim_front_gba.png new file mode 100644 index 000000000000..74251deb0eae Binary files /dev/null and b/graphics/pokemon/shuckle/anim_front_gba.png differ diff --git a/graphics/pokemon/shuckle/back_gba.png b/graphics/pokemon/shuckle/back_gba.png new file mode 100644 index 000000000000..1b19db0e5561 Binary files /dev/null and b/graphics/pokemon/shuckle/back_gba.png differ diff --git a/graphics/pokemon/shuckle/icon_gba.png b/graphics/pokemon/shuckle/icon_gba.png new file mode 100644 index 000000000000..aaf49345aa19 Binary files /dev/null and b/graphics/pokemon/shuckle/icon_gba.png differ diff --git a/graphics/pokemon/shuckle/normal_gba.pal b/graphics/pokemon/shuckle/normal_gba.pal new file mode 100644 index 000000000000..ea40c0be4996 --- /dev/null +++ b/graphics/pokemon/shuckle/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +148 131 115 +115 82 16 +189 139 41 +238 197 74 +255 255 90 +255 0 255 +230 156 131 +246 205 180 +255 0 255 +131 32 0 +197 57 16 +246 115 57 +255 180 123 +255 255 255 diff --git a/graphics/pokemon/shuckle/shiny_gba.pal b/graphics/pokemon/shuckle/shiny_gba.pal new file mode 100644 index 000000000000..30126f57c400 --- /dev/null +++ b/graphics/pokemon/shuckle/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +148 131 115 +115 82 16 +189 139 41 +238 197 74 +255 255 90 +255 0 255 +164 189 189 +189 213 213 +255 0 255 +24 65 115 +49 98 189 +65 156 238 +139 205 246 +255 255 255 diff --git a/graphics/pokemon/shuppet/anim_front_gba.png b/graphics/pokemon/shuppet/anim_front_gba.png new file mode 100644 index 000000000000..00629578f4e6 Binary files /dev/null and b/graphics/pokemon/shuppet/anim_front_gba.png differ diff --git a/graphics/pokemon/shuppet/back_gba.png b/graphics/pokemon/shuppet/back_gba.png new file mode 100644 index 000000000000..2c6dbdb186c0 Binary files /dev/null and b/graphics/pokemon/shuppet/back_gba.png differ diff --git a/graphics/pokemon/shuppet/icon_gba.png b/graphics/pokemon/shuppet/icon_gba.png new file mode 100644 index 000000000000..6e7087efd714 Binary files /dev/null and b/graphics/pokemon/shuppet/icon_gba.png differ diff --git a/graphics/pokemon/shuppet/normal_gba.pal b/graphics/pokemon/shuppet/normal_gba.pal new file mode 100644 index 000000000000..7dafb6a01cb9 --- /dev/null +++ b/graphics/pokemon/shuppet/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 197 197 +74 65 74 +148 131 139 +164 164 172 +172 189 197 +123 115 123 +106 213 246 +82 189 213 +246 213 49 +189 180 0 +123 180 65 +106 148 65 +0 0 0 +0 0 0 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/shuppet/shiny_gba.pal b/graphics/pokemon/shuppet/shiny_gba.pal new file mode 100644 index 000000000000..9d5557a71e5d --- /dev/null +++ b/graphics/pokemon/shuppet/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 197 197 +49 74 82 +57 123 131 +98 172 180 +139 205 213 +49 115 123 +106 213 246 +82 189 213 +246 213 49 +189 180 0 +123 180 65 +106 148 65 +0 0 0 +0 0 0 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/silcoon/anim_front_gba.png b/graphics/pokemon/silcoon/anim_front_gba.png new file mode 100644 index 000000000000..a6cc252dc402 Binary files /dev/null and b/graphics/pokemon/silcoon/anim_front_gba.png differ diff --git a/graphics/pokemon/silcoon/back_gba.png b/graphics/pokemon/silcoon/back_gba.png new file mode 100644 index 000000000000..26c8cfdafdf4 Binary files /dev/null and b/graphics/pokemon/silcoon/back_gba.png differ diff --git a/graphics/pokemon/silcoon/icon_gba.png b/graphics/pokemon/silcoon/icon_gba.png new file mode 100644 index 000000000000..0b572a20c21b Binary files /dev/null and b/graphics/pokemon/silcoon/icon_gba.png differ diff --git a/graphics/pokemon/silcoon/normal_gba.pal b/graphics/pokemon/silcoon/normal_gba.pal new file mode 100644 index 000000000000..2a48849f83d6 --- /dev/null +++ b/graphics/pokemon/silcoon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 246 197 +106 106 115 +139 139 148 +172 172 180 +0 0 0 +189 189 205 +222 213 230 +238 238 230 +255 255 255 +16 16 24 +246 164 0 +197 123 0 +0 0 0 +246 255 197 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/silcoon/shiny_gba.pal b/graphics/pokemon/silcoon/shiny_gba.pal new file mode 100644 index 000000000000..db9e98b7aca8 --- /dev/null +++ b/graphics/pokemon/silcoon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 246 197 +164 106 24 +205 148 65 +230 164 90 +0 0 0 +255 189 90 +255 222 148 +255 246 197 +255 255 255 +16 16 24 +90 131 189 +65 90 139 +0 0 0 +246 255 197 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/skarmory/anim_front_gba.png b/graphics/pokemon/skarmory/anim_front_gba.png new file mode 100644 index 000000000000..b0883329cea4 Binary files /dev/null and b/graphics/pokemon/skarmory/anim_front_gba.png differ diff --git a/graphics/pokemon/skarmory/back_gba.png b/graphics/pokemon/skarmory/back_gba.png new file mode 100644 index 000000000000..f3c8d95ccbcb Binary files /dev/null and b/graphics/pokemon/skarmory/back_gba.png differ diff --git a/graphics/pokemon/skarmory/icon_gba.png b/graphics/pokemon/skarmory/icon_gba.png new file mode 100644 index 000000000000..1eb310654063 Binary files /dev/null and b/graphics/pokemon/skarmory/icon_gba.png differ diff --git a/graphics/pokemon/skarmory/normal_gba.pal b/graphics/pokemon/skarmory/normal_gba.pal new file mode 100644 index 000000000000..d4662ab92721 --- /dev/null +++ b/graphics/pokemon/skarmory/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 230 238 +197 197 205 +164 164 172 +123 123 131 +82 82 82 +255 156 123 +246 98 82 +197 57 49 +148 32 0 +255 222 0 +205 148 0 +255 0 255 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/skarmory/shiny_gba.pal b/graphics/pokemon/skarmory/shiny_gba.pal new file mode 100644 index 000000000000..561324c82e2e --- /dev/null +++ b/graphics/pokemon/skarmory/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 230 197 +197 189 164 +148 139 123 +115 115 98 +82 90 74 +115 213 74 +74 172 41 +41 106 32 +49 74 32 +255 222 0 +205 148 0 +255 0 255 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/skiploom/anim_front_gba.png b/graphics/pokemon/skiploom/anim_front_gba.png new file mode 100644 index 000000000000..a2955bdd61c1 Binary files /dev/null and b/graphics/pokemon/skiploom/anim_front_gba.png differ diff --git a/graphics/pokemon/skiploom/back_gba.png b/graphics/pokemon/skiploom/back_gba.png new file mode 100644 index 000000000000..8f010fb4f2e5 Binary files /dev/null and b/graphics/pokemon/skiploom/back_gba.png differ diff --git a/graphics/pokemon/skiploom/icon_gba.png b/graphics/pokemon/skiploom/icon_gba.png new file mode 100644 index 000000000000..90c0c8e7c316 Binary files /dev/null and b/graphics/pokemon/skiploom/icon_gba.png differ diff --git a/graphics/pokemon/skiploom/normal_gba.pal b/graphics/pokemon/skiploom/normal_gba.pal new file mode 100644 index 000000000000..15fcce8e5e25 --- /dev/null +++ b/graphics/pokemon/skiploom/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +139 238 57 +98 205 57 +65 172 32 +24 98 0 +255 0 255 +255 238 115 +255 213 0 +246 164 0 +172 90 0 +255 0 255 +255 0 255 +213 213 213 +164 164 164 +16 16 16 diff --git a/graphics/pokemon/skiploom/shiny_gba.pal b/graphics/pokemon/skiploom/shiny_gba.pal new file mode 100644 index 000000000000..2dedaa30ec58 --- /dev/null +++ b/graphics/pokemon/skiploom/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 148 213 +222 106 189 +172 90 148 +98 49 82 +255 0 255 +255 238 115 +255 213 0 +238 156 16 +156 90 16 +255 0 255 +255 0 255 +213 213 213 +164 164 164 +16 16 16 diff --git a/graphics/pokemon/skitty/anim_front_gba.png b/graphics/pokemon/skitty/anim_front_gba.png new file mode 100644 index 000000000000..6bd564a90b3b Binary files /dev/null and b/graphics/pokemon/skitty/anim_front_gba.png differ diff --git a/graphics/pokemon/skitty/back_gba.png b/graphics/pokemon/skitty/back_gba.png new file mode 100644 index 000000000000..e7f5ebb67b4c Binary files /dev/null and b/graphics/pokemon/skitty/back_gba.png differ diff --git a/graphics/pokemon/skitty/icon_gba.png b/graphics/pokemon/skitty/icon_gba.png new file mode 100644 index 000000000000..fb41f1c0793f Binary files /dev/null and b/graphics/pokemon/skitty/icon_gba.png differ diff --git a/graphics/pokemon/skitty/normal_gba.pal b/graphics/pokemon/skitty/normal_gba.pal new file mode 100644 index 000000000000..0a12281918a8 --- /dev/null +++ b/graphics/pokemon/skitty/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +255 246 148 +255 205 98 +205 156 65 +131 106 65 +0 0 0 +0 0 0 +255 205 189 +197 106 180 +123 0 106 +0 0 0 +255 172 148 +255 131 106 +197 82 57 +131 41 49 diff --git a/graphics/pokemon/skitty/shiny_gba.pal b/graphics/pokemon/skitty/shiny_gba.pal new file mode 100644 index 000000000000..d3e9130f3a73 --- /dev/null +++ b/graphics/pokemon/skitty/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +255 246 164 +255 222 115 +213 164 65 +131 106 65 +0 0 0 +0 0 0 +255 180 98 +255 106 74 +115 24 32 +0 0 0 +255 123 82 +238 82 49 +189 65 32 +164 49 32 diff --git a/graphics/pokemon/slaking/anim_front_gba.png b/graphics/pokemon/slaking/anim_front_gba.png new file mode 100644 index 000000000000..a57d3c092eb3 Binary files /dev/null and b/graphics/pokemon/slaking/anim_front_gba.png differ diff --git a/graphics/pokemon/slaking/back_gba.png b/graphics/pokemon/slaking/back_gba.png new file mode 100644 index 000000000000..50d55a957d0e Binary files /dev/null and b/graphics/pokemon/slaking/back_gba.png differ diff --git a/graphics/pokemon/slaking/icon_gba.png b/graphics/pokemon/slaking/icon_gba.png new file mode 100644 index 000000000000..71b6c7537b84 Binary files /dev/null and b/graphics/pokemon/slaking/icon_gba.png differ diff --git a/graphics/pokemon/slaking/normal_gba.pal b/graphics/pokemon/slaking/normal_gba.pal new file mode 100644 index 000000000000..84cf081cf082 --- /dev/null +++ b/graphics/pokemon/slaking/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 156 164 +90 65 49 +139 106 82 +172 139 106 +197 172 148 +213 205 180 +246 238 213 +90 98 123 +205 205 238 +238 238 255 +255 255 255 +139 49 65 +197 82 115 +222 131 148 +16 0 0 +255 255 255 diff --git a/graphics/pokemon/slaking/shiny_gba.pal b/graphics/pokemon/slaking/shiny_gba.pal new file mode 100644 index 000000000000..1ec404cf65eb --- /dev/null +++ b/graphics/pokemon/slaking/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 156 164 +74 65 49 +106 98 74 +139 123 106 +197 172 148 +213 205 180 +246 238 213 +189 131 65 +255 197 106 +255 238 148 +255 255 255 +164 49 32 +213 82 41 +255 123 82 +16 0 0 +255 255 255 diff --git a/graphics/pokemon/slakoth/anim_front_gba.png b/graphics/pokemon/slakoth/anim_front_gba.png new file mode 100644 index 000000000000..fbbef311a916 Binary files /dev/null and b/graphics/pokemon/slakoth/anim_front_gba.png differ diff --git a/graphics/pokemon/slakoth/back_gba.png b/graphics/pokemon/slakoth/back_gba.png new file mode 100644 index 000000000000..9f82930b0bd6 Binary files /dev/null and b/graphics/pokemon/slakoth/back_gba.png differ diff --git a/graphics/pokemon/slakoth/icon_gba.png b/graphics/pokemon/slakoth/icon_gba.png new file mode 100644 index 000000000000..c04ff08a0a79 Binary files /dev/null and b/graphics/pokemon/slakoth/icon_gba.png differ diff --git a/graphics/pokemon/slakoth/normal_gba.pal b/graphics/pokemon/slakoth/normal_gba.pal new file mode 100644 index 000000000000..934fc9ae9c1e --- /dev/null +++ b/graphics/pokemon/slakoth/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 148 205 +0 0 0 +82 57 41 +115 82 41 +139 106 65 +65 65 65 +156 156 156 +205 205 205 +255 255 255 +139 49 65 +189 90 74 +213 123 106 +255 164 139 +180 148 106 +205 180 139 +230 205 164 diff --git a/graphics/pokemon/slakoth/shiny_gba.pal b/graphics/pokemon/slakoth/shiny_gba.pal new file mode 100644 index 000000000000..4f65ae8e47f7 --- /dev/null +++ b/graphics/pokemon/slakoth/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 148 205 +41 32 32 +57 49 49 +82 74 74 +156 106 139 +65 65 65 +156 156 156 +205 205 205 +255 255 255 +156 41 24 +180 65 49 +222 98 49 +255 123 82 +156 90 131 +197 123 172 +230 189 205 diff --git a/graphics/pokemon/sliggoo/hisuian/back.png b/graphics/pokemon/sliggoo/hisui/back.png similarity index 100% rename from graphics/pokemon/sliggoo/hisuian/back.png rename to graphics/pokemon/sliggoo/hisui/back.png diff --git a/graphics/pokemon/sliggoo/hisuian/front.png b/graphics/pokemon/sliggoo/hisui/front.png similarity index 100% rename from graphics/pokemon/sliggoo/hisuian/front.png rename to graphics/pokemon/sliggoo/hisui/front.png diff --git a/graphics/pokemon/sliggoo/hisuian/icon.png b/graphics/pokemon/sliggoo/hisui/icon.png similarity index 100% rename from graphics/pokemon/sliggoo/hisuian/icon.png rename to graphics/pokemon/sliggoo/hisui/icon.png diff --git a/graphics/pokemon/sliggoo/hisuian/normal.pal b/graphics/pokemon/sliggoo/hisui/normal.pal similarity index 100% rename from graphics/pokemon/sliggoo/hisuian/normal.pal rename to graphics/pokemon/sliggoo/hisui/normal.pal diff --git a/graphics/pokemon/sliggoo/hisuian/overworld.png b/graphics/pokemon/sliggoo/hisui/overworld.png similarity index 100% rename from graphics/pokemon/sliggoo/hisuian/overworld.png rename to graphics/pokemon/sliggoo/hisui/overworld.png diff --git a/graphics/pokemon/sliggoo/hisuian/overworld_normal.pal b/graphics/pokemon/sliggoo/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/sliggoo/hisuian/overworld_normal.pal rename to graphics/pokemon/sliggoo/hisui/overworld_normal.pal diff --git a/graphics/pokemon/sliggoo/hisuian/overworld_shiny.pal b/graphics/pokemon/sliggoo/hisui/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/sliggoo/hisuian/overworld_shiny.pal rename to graphics/pokemon/sliggoo/hisui/overworld_shiny.pal diff --git a/graphics/pokemon/sliggoo/hisuian/shiny.pal b/graphics/pokemon/sliggoo/hisui/shiny.pal similarity index 100% rename from graphics/pokemon/sliggoo/hisuian/shiny.pal rename to graphics/pokemon/sliggoo/hisui/shiny.pal diff --git a/graphics/pokemon/slowbro/anim_front_gba.png b/graphics/pokemon/slowbro/anim_front_gba.png new file mode 100644 index 000000000000..9bd16e4dcf58 Binary files /dev/null and b/graphics/pokemon/slowbro/anim_front_gba.png differ diff --git a/graphics/pokemon/slowbro/back_gba.png b/graphics/pokemon/slowbro/back_gba.png new file mode 100644 index 000000000000..b62c5fcf42c9 Binary files /dev/null and b/graphics/pokemon/slowbro/back_gba.png differ diff --git a/graphics/pokemon/slowbro/galarian/back.png b/graphics/pokemon/slowbro/galar/back.png similarity index 100% rename from graphics/pokemon/slowbro/galarian/back.png rename to graphics/pokemon/slowbro/galar/back.png diff --git a/graphics/pokemon/slowbro/galarian/front.png b/graphics/pokemon/slowbro/galar/front.png similarity index 100% rename from graphics/pokemon/slowbro/galarian/front.png rename to graphics/pokemon/slowbro/galar/front.png diff --git a/graphics/pokemon/slowbro/galarian/icon.png b/graphics/pokemon/slowbro/galar/icon.png similarity index 100% rename from graphics/pokemon/slowbro/galarian/icon.png rename to graphics/pokemon/slowbro/galar/icon.png diff --git a/graphics/pokemon/slowbro/galarian/normal.pal b/graphics/pokemon/slowbro/galar/normal.pal similarity index 100% rename from graphics/pokemon/slowbro/galarian/normal.pal rename to graphics/pokemon/slowbro/galar/normal.pal diff --git a/graphics/pokemon/slowbro/galarian/overworld.png b/graphics/pokemon/slowbro/galar/overworld.png similarity index 100% rename from graphics/pokemon/slowbro/galarian/overworld.png rename to graphics/pokemon/slowbro/galar/overworld.png diff --git a/graphics/pokemon/slowbro/galarian/overworld_normal.pal b/graphics/pokemon/slowbro/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/slowbro/galarian/overworld_normal.pal rename to graphics/pokemon/slowbro/galar/overworld_normal.pal diff --git a/graphics/pokemon/slowbro/galarian/overworld_shiny.pal b/graphics/pokemon/slowbro/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/slowbro/galarian/overworld_shiny.pal rename to graphics/pokemon/slowbro/galar/overworld_shiny.pal diff --git a/graphics/pokemon/slowbro/galarian/shiny.pal b/graphics/pokemon/slowbro/galar/shiny.pal similarity index 100% rename from graphics/pokemon/slowbro/galarian/shiny.pal rename to graphics/pokemon/slowbro/galar/shiny.pal diff --git a/graphics/pokemon/slowbro/icon_gba.png b/graphics/pokemon/slowbro/icon_gba.png new file mode 100644 index 000000000000..bf7ee6a3298c Binary files /dev/null and b/graphics/pokemon/slowbro/icon_gba.png differ diff --git a/graphics/pokemon/slowbro/normal_gba.pal b/graphics/pokemon/slowbro/normal_gba.pal new file mode 100644 index 000000000000..6ae68b376e5b --- /dev/null +++ b/graphics/pokemon/slowbro/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 205 +255 255 255 +255 238 156 +255 205 98 +230 172 90 +164 115 32 +230 246 189 +197 213 156 +156 172 98 +98 115 57 +230 82 41 +255 189 148 +255 139 106 +230 82 41 +148 32 16 +16 16 16 diff --git a/graphics/pokemon/slowbro/shiny_gba.pal b/graphics/pokemon/slowbro/shiny_gba.pal new file mode 100644 index 000000000000..ad1c1246df5d --- /dev/null +++ b/graphics/pokemon/slowbro/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 205 +255 255 255 +255 238 156 +255 205 98 +230 172 90 +164 115 32 +230 197 106 +189 156 65 +148 115 24 +98 65 0 +230 82 41 +205 197 255 +164 156 213 +123 115 172 +74 65 123 +16 16 16 diff --git a/graphics/pokemon/slowking/anim_front_gba.png b/graphics/pokemon/slowking/anim_front_gba.png new file mode 100644 index 000000000000..378d14e919bb Binary files /dev/null and b/graphics/pokemon/slowking/anim_front_gba.png differ diff --git a/graphics/pokemon/slowking/back_gba.png b/graphics/pokemon/slowking/back_gba.png new file mode 100644 index 000000000000..16a77950623b Binary files /dev/null and b/graphics/pokemon/slowking/back_gba.png differ diff --git a/graphics/pokemon/slowking/galarian/back.png b/graphics/pokemon/slowking/galar/back.png similarity index 100% rename from graphics/pokemon/slowking/galarian/back.png rename to graphics/pokemon/slowking/galar/back.png diff --git a/graphics/pokemon/slowking/galarian/front.png b/graphics/pokemon/slowking/galar/front.png similarity index 100% rename from graphics/pokemon/slowking/galarian/front.png rename to graphics/pokemon/slowking/galar/front.png diff --git a/graphics/pokemon/slowking/galarian/icon.png b/graphics/pokemon/slowking/galar/icon.png similarity index 100% rename from graphics/pokemon/slowking/galarian/icon.png rename to graphics/pokemon/slowking/galar/icon.png diff --git a/graphics/pokemon/slowking/galarian/normal.pal b/graphics/pokemon/slowking/galar/normal.pal similarity index 100% rename from graphics/pokemon/slowking/galarian/normal.pal rename to graphics/pokemon/slowking/galar/normal.pal diff --git a/graphics/pokemon/slowking/galarian/overworld.png b/graphics/pokemon/slowking/galar/overworld.png similarity index 100% rename from graphics/pokemon/slowking/galarian/overworld.png rename to graphics/pokemon/slowking/galar/overworld.png diff --git a/graphics/pokemon/slowking/galarian/overworld_normal.pal b/graphics/pokemon/slowking/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/slowking/galarian/overworld_normal.pal rename to graphics/pokemon/slowking/galar/overworld_normal.pal diff --git a/graphics/pokemon/slowking/galarian/overworld_shiny.pal b/graphics/pokemon/slowking/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/slowking/galarian/overworld_shiny.pal rename to graphics/pokemon/slowking/galar/overworld_shiny.pal diff --git a/graphics/pokemon/slowking/galarian/shiny.pal b/graphics/pokemon/slowking/galar/shiny.pal similarity index 100% rename from graphics/pokemon/slowking/galarian/shiny.pal rename to graphics/pokemon/slowking/galar/shiny.pal diff --git a/graphics/pokemon/slowking/icon_gba.png b/graphics/pokemon/slowking/icon_gba.png new file mode 100644 index 000000000000..04bd1a155306 Binary files /dev/null and b/graphics/pokemon/slowking/icon_gba.png differ diff --git a/graphics/pokemon/slowking/normal_gba.pal b/graphics/pokemon/slowking/normal_gba.pal new file mode 100644 index 000000000000..c3e452f0de88 --- /dev/null +++ b/graphics/pokemon/slowking/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 123 57 +205 74 32 +156 32 0 +205 74 32 +230 106 49 +255 180 115 +148 106 0 +255 189 49 +255 255 139 +82 82 65 +148 148 123 +180 180 172 +222 222 205 +255 255 255 diff --git a/graphics/pokemon/slowking/shiny_gba.pal b/graphics/pokemon/slowking/shiny_gba.pal new file mode 100644 index 000000000000..55ae2a1ee633 --- /dev/null +++ b/graphics/pokemon/slowking/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +98 164 246 +49 90 189 +131 32 74 +180 90 115 +213 123 148 +255 180 197 +148 106 0 +238 189 65 +255 255 139 +82 82 65 +148 148 123 +180 180 172 +222 222 205 +255 255 255 diff --git a/graphics/pokemon/slowpoke/anim_front_gba.png b/graphics/pokemon/slowpoke/anim_front_gba.png new file mode 100644 index 000000000000..5eae03871304 Binary files /dev/null and b/graphics/pokemon/slowpoke/anim_front_gba.png differ diff --git a/graphics/pokemon/slowpoke/back_gba.png b/graphics/pokemon/slowpoke/back_gba.png new file mode 100644 index 000000000000..62bf72f0e3bb Binary files /dev/null and b/graphics/pokemon/slowpoke/back_gba.png differ diff --git a/graphics/pokemon/slowpoke/galarian/back.png b/graphics/pokemon/slowpoke/galar/back.png similarity index 100% rename from graphics/pokemon/slowpoke/galarian/back.png rename to graphics/pokemon/slowpoke/galar/back.png diff --git a/graphics/pokemon/slowpoke/galarian/front.png b/graphics/pokemon/slowpoke/galar/front.png similarity index 100% rename from graphics/pokemon/slowpoke/galarian/front.png rename to graphics/pokemon/slowpoke/galar/front.png diff --git a/graphics/pokemon/slowpoke/galarian/icon.png b/graphics/pokemon/slowpoke/galar/icon.png similarity index 100% rename from graphics/pokemon/slowpoke/galarian/icon.png rename to graphics/pokemon/slowpoke/galar/icon.png diff --git a/graphics/pokemon/slowpoke/galarian/normal.pal b/graphics/pokemon/slowpoke/galar/normal.pal similarity index 100% rename from graphics/pokemon/slowpoke/galarian/normal.pal rename to graphics/pokemon/slowpoke/galar/normal.pal diff --git a/graphics/pokemon/slowpoke/galarian/overworld.png b/graphics/pokemon/slowpoke/galar/overworld.png similarity index 100% rename from graphics/pokemon/slowpoke/galarian/overworld.png rename to graphics/pokemon/slowpoke/galar/overworld.png diff --git a/graphics/pokemon/slowpoke/galarian/overworld_normal.pal b/graphics/pokemon/slowpoke/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/slowpoke/galarian/overworld_normal.pal rename to graphics/pokemon/slowpoke/galar/overworld_normal.pal diff --git a/graphics/pokemon/slowpoke/galarian/overworld_shiny.pal b/graphics/pokemon/slowpoke/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/slowpoke/galarian/overworld_shiny.pal rename to graphics/pokemon/slowpoke/galar/overworld_shiny.pal diff --git a/graphics/pokemon/slowpoke/galarian/shiny.pal b/graphics/pokemon/slowpoke/galar/shiny.pal similarity index 100% rename from graphics/pokemon/slowpoke/galarian/shiny.pal rename to graphics/pokemon/slowpoke/galar/shiny.pal diff --git a/graphics/pokemon/slowpoke/icon_gba.png b/graphics/pokemon/slowpoke/icon_gba.png new file mode 100644 index 000000000000..cc3123e14bac Binary files /dev/null and b/graphics/pokemon/slowpoke/icon_gba.png differ diff --git a/graphics/pokemon/slowpoke/normal_gba.pal b/graphics/pokemon/slowpoke/normal_gba.pal new file mode 100644 index 000000000000..4b3e369dd7d4 --- /dev/null +++ b/graphics/pokemon/slowpoke/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 205 205 +255 246 139 +255 205 98 +246 164 65 +156 74 32 +255 0 255 +246 65 32 +139 32 32 +106 98 98 +255 164 131 +255 131 98 +246 65 32 +139 57 0 +16 16 16 diff --git a/graphics/pokemon/slowpoke/shiny_gba.pal b/graphics/pokemon/slowpoke/shiny_gba.pal new file mode 100644 index 000000000000..628e4153ab0c --- /dev/null +++ b/graphics/pokemon/slowpoke/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 205 205 +255 255 189 +255 255 148 +238 213 106 +156 74 32 +255 0 255 +246 65 32 +139 32 32 +106 98 98 +255 222 238 +238 180 197 +197 139 156 +139 74 90 +16 16 16 diff --git a/graphics/pokemon/slugma/anim_front_gba.png b/graphics/pokemon/slugma/anim_front_gba.png new file mode 100644 index 000000000000..dd2747f5b07e Binary files /dev/null and b/graphics/pokemon/slugma/anim_front_gba.png differ diff --git a/graphics/pokemon/slugma/back_gba.png b/graphics/pokemon/slugma/back_gba.png new file mode 100644 index 000000000000..347d27ed1a2e Binary files /dev/null and b/graphics/pokemon/slugma/back_gba.png differ diff --git a/graphics/pokemon/slugma/icon_gba.png b/graphics/pokemon/slugma/icon_gba.png new file mode 100644 index 000000000000..d954c6f68c76 Binary files /dev/null and b/graphics/pokemon/slugma/icon_gba.png differ diff --git a/graphics/pokemon/slugma/normal_gba.pal b/graphics/pokemon/slugma/normal_gba.pal new file mode 100644 index 000000000000..081ae47dcbf3 --- /dev/null +++ b/graphics/pokemon/slugma/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 189 106 +255 131 74 +222 90 32 +148 32 0 +255 213 115 +255 238 156 +255 213 115 +246 164 0 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/slugma/shiny_gba.pal b/graphics/pokemon/slugma/shiny_gba.pal new file mode 100644 index 000000000000..85babdbe1aeb --- /dev/null +++ b/graphics/pokemon/slugma/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 213 213 +180 180 180 +123 123 123 +74 74 74 +230 230 230 +255 238 156 +255 213 115 +246 164 0 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/smeargle/anim_front_gba.png b/graphics/pokemon/smeargle/anim_front_gba.png new file mode 100644 index 000000000000..20db180b8492 Binary files /dev/null and b/graphics/pokemon/smeargle/anim_front_gba.png differ diff --git a/graphics/pokemon/smeargle/back_gba.png b/graphics/pokemon/smeargle/back_gba.png new file mode 100644 index 000000000000..fefbed16f691 Binary files /dev/null and b/graphics/pokemon/smeargle/back_gba.png differ diff --git a/graphics/pokemon/smeargle/icon_gba.png b/graphics/pokemon/smeargle/icon_gba.png new file mode 100644 index 000000000000..54b387b053bf Binary files /dev/null and b/graphics/pokemon/smeargle/icon_gba.png differ diff --git a/graphics/pokemon/smeargle/normal_gba.pal b/graphics/pokemon/smeargle/normal_gba.pal new file mode 100644 index 000000000000..068322e3e210 --- /dev/null +++ b/graphics/pokemon/smeargle/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 213 213 +255 255 255 +24 156 0 +222 222 189 +172 172 139 +139 131 82 +246 131 0 +180 0 0 +106 90 49 +74 57 16 +106 222 65 +65 197 24 +0 98 0 +197 197 197 +148 148 156 +16 16 16 diff --git a/graphics/pokemon/smeargle/shiny_gba.pal b/graphics/pokemon/smeargle/shiny_gba.pal new file mode 100644 index 000000000000..f5f50de2def1 --- /dev/null +++ b/graphics/pokemon/smeargle/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 213 213 +255 255 255 +197 74 65 +238 222 156 +205 172 98 +180 115 74 +246 131 0 +180 0 0 +106 65 32 +74 57 16 +255 156 131 +238 106 82 +172 49 41 +197 197 197 +148 148 156 +16 16 16 diff --git a/graphics/pokemon/smoochum/anim_front_gba.png b/graphics/pokemon/smoochum/anim_front_gba.png new file mode 100644 index 000000000000..9f2fcea052aa Binary files /dev/null and b/graphics/pokemon/smoochum/anim_front_gba.png differ diff --git a/graphics/pokemon/smoochum/back_gba.png b/graphics/pokemon/smoochum/back_gba.png new file mode 100644 index 000000000000..bad0422e52df Binary files /dev/null and b/graphics/pokemon/smoochum/back_gba.png differ diff --git a/graphics/pokemon/smoochum/icon_gba.png b/graphics/pokemon/smoochum/icon_gba.png new file mode 100644 index 000000000000..11f1e6fe7da7 Binary files /dev/null and b/graphics/pokemon/smoochum/icon_gba.png differ diff --git a/graphics/pokemon/smoochum/normal_gba.pal b/graphics/pokemon/smoochum/normal_gba.pal new file mode 100644 index 000000000000..722cd42066ca --- /dev/null +++ b/graphics/pokemon/smoochum/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 172 41 +255 148 164 +222 74 123 +139 16 90 +255 230 82 +222 205 49 +148 131 24 +255 197 164 +246 230 172 +222 197 131 +139 131 74 +213 213 213 +180 180 180 +0 0 0 diff --git a/graphics/pokemon/smoochum/shiny_gba.pal b/graphics/pokemon/smoochum/shiny_gba.pal new file mode 100644 index 000000000000..00a439312c2b --- /dev/null +++ b/graphics/pokemon/smoochum/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 189 24 +255 189 213 +230 139 123 +164 65 57 +255 255 172 +255 230 74 +172 148 16 +255 222 230 +246 246 205 +213 197 139 +139 131 74 +197 197 197 +131 131 131 +41 41 57 diff --git a/graphics/pokemon/sneasel/anim_front_gba.png b/graphics/pokemon/sneasel/anim_front_gba.png new file mode 100644 index 000000000000..38d9823387c0 Binary files /dev/null and b/graphics/pokemon/sneasel/anim_front_gba.png differ diff --git a/graphics/pokemon/sneasel/back_gba.png b/graphics/pokemon/sneasel/back_gba.png new file mode 100644 index 000000000000..5a0765cb2bb8 Binary files /dev/null and b/graphics/pokemon/sneasel/back_gba.png differ diff --git a/graphics/pokemon/sneasel/hisuian/back.png b/graphics/pokemon/sneasel/hisui/back.png similarity index 100% rename from graphics/pokemon/sneasel/hisuian/back.png rename to graphics/pokemon/sneasel/hisui/back.png diff --git a/graphics/pokemon/sneasel/hisuian/backf.png b/graphics/pokemon/sneasel/hisui/backf.png similarity index 100% rename from graphics/pokemon/sneasel/hisuian/backf.png rename to graphics/pokemon/sneasel/hisui/backf.png diff --git a/graphics/pokemon/sneasel/hisuian/front.png b/graphics/pokemon/sneasel/hisui/front.png similarity index 100% rename from graphics/pokemon/sneasel/hisuian/front.png rename to graphics/pokemon/sneasel/hisui/front.png diff --git a/graphics/pokemon/sneasel/hisuian/frontf.png b/graphics/pokemon/sneasel/hisui/frontf.png similarity index 100% rename from graphics/pokemon/sneasel/hisuian/frontf.png rename to graphics/pokemon/sneasel/hisui/frontf.png diff --git a/graphics/pokemon/sneasel/hisuian/icon.png b/graphics/pokemon/sneasel/hisui/icon.png similarity index 100% rename from graphics/pokemon/sneasel/hisuian/icon.png rename to graphics/pokemon/sneasel/hisui/icon.png diff --git a/graphics/pokemon/sneasel/hisuian/normal.pal b/graphics/pokemon/sneasel/hisui/normal.pal similarity index 100% rename from graphics/pokemon/sneasel/hisuian/normal.pal rename to graphics/pokemon/sneasel/hisui/normal.pal diff --git a/graphics/pokemon/sneasel/hisuian/overworld.png b/graphics/pokemon/sneasel/hisui/overworld.png similarity index 100% rename from graphics/pokemon/sneasel/hisuian/overworld.png rename to graphics/pokemon/sneasel/hisui/overworld.png diff --git a/graphics/pokemon/sneasel/hisuian/overworld_normal.pal b/graphics/pokemon/sneasel/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/sneasel/hisuian/overworld_normal.pal rename to graphics/pokemon/sneasel/hisui/overworld_normal.pal diff --git a/graphics/pokemon/sneasel/hisuian/overworld_shiny.pal b/graphics/pokemon/sneasel/hisui/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/sneasel/hisuian/overworld_shiny.pal rename to graphics/pokemon/sneasel/hisui/overworld_shiny.pal diff --git a/graphics/pokemon/sneasel/hisui/overworldf.png b/graphics/pokemon/sneasel/hisui/overworldf.png new file mode 100644 index 000000000000..f85e643e6259 Binary files /dev/null and b/graphics/pokemon/sneasel/hisui/overworldf.png differ diff --git a/graphics/pokemon/sneasel/hisuian/shiny.pal b/graphics/pokemon/sneasel/hisui/shiny.pal similarity index 100% rename from graphics/pokemon/sneasel/hisuian/shiny.pal rename to graphics/pokemon/sneasel/hisui/shiny.pal diff --git a/graphics/pokemon/sneasel/icon_gba.png b/graphics/pokemon/sneasel/icon_gba.png new file mode 100644 index 000000000000..95eb3e66d6ae Binary files /dev/null and b/graphics/pokemon/sneasel/icon_gba.png differ diff --git a/graphics/pokemon/sneasel/normal_gba.pal b/graphics/pokemon/sneasel/normal_gba.pal new file mode 100644 index 000000000000..076fa73009e2 --- /dev/null +++ b/graphics/pokemon/sneasel/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +139 172 156 +82 123 106 +57 90 74 +41 57 41 +255 205 213 +255 115 106 +197 74 74 +131 16 32 +230 74 74 +106 98 123 +189 180 197 +255 230 90 +205 131 0 +16 16 16 diff --git a/graphics/pokemon/sneasel/overworldf.png b/graphics/pokemon/sneasel/overworldf.png new file mode 100644 index 000000000000..0929570d64ce Binary files /dev/null and b/graphics/pokemon/sneasel/overworldf.png differ diff --git a/graphics/pokemon/sneasel/shiny_gba.pal b/graphics/pokemon/sneasel/shiny_gba.pal new file mode 100644 index 000000000000..64a502ce67c9 --- /dev/null +++ b/graphics/pokemon/sneasel/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 172 205 +238 139 180 +197 98 131 +90 49 65 +255 255 164 +255 230 74 +222 180 98 +156 98 57 +230 74 74 +106 98 123 +189 180 197 +255 255 255 +205 222 238 +16 16 16 diff --git a/graphics/pokemon/snorlax/anim_front_gba.png b/graphics/pokemon/snorlax/anim_front_gba.png new file mode 100644 index 000000000000..e23e6b52df81 Binary files /dev/null and b/graphics/pokemon/snorlax/anim_front_gba.png differ diff --git a/graphics/pokemon/snorlax/back_gba.png b/graphics/pokemon/snorlax/back_gba.png new file mode 100644 index 000000000000..da44b95aa967 Binary files /dev/null and b/graphics/pokemon/snorlax/back_gba.png differ diff --git a/graphics/pokemon/snorlax/gigantamax/back.png b/graphics/pokemon/snorlax/gmax/back.png similarity index 100% rename from graphics/pokemon/snorlax/gigantamax/back.png rename to graphics/pokemon/snorlax/gmax/back.png diff --git a/graphics/pokemon/snorlax/gigantamax/front.png b/graphics/pokemon/snorlax/gmax/front.png similarity index 100% rename from graphics/pokemon/snorlax/gigantamax/front.png rename to graphics/pokemon/snorlax/gmax/front.png diff --git a/graphics/pokemon/snorlax/gigantamax/icon.png b/graphics/pokemon/snorlax/gmax/icon.png similarity index 100% rename from graphics/pokemon/snorlax/gigantamax/icon.png rename to graphics/pokemon/snorlax/gmax/icon.png diff --git a/graphics/pokemon/snorlax/gigantamax/normal.pal b/graphics/pokemon/snorlax/gmax/normal.pal similarity index 100% rename from graphics/pokemon/snorlax/gigantamax/normal.pal rename to graphics/pokemon/snorlax/gmax/normal.pal diff --git a/graphics/pokemon/snorlax/gigantamax/shiny.pal b/graphics/pokemon/snorlax/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/snorlax/gigantamax/shiny.pal rename to graphics/pokemon/snorlax/gmax/shiny.pal diff --git a/graphics/pokemon/snorlax/icon_gba.png b/graphics/pokemon/snorlax/icon_gba.png new file mode 100644 index 000000000000..00a74b6ac1d3 Binary files /dev/null and b/graphics/pokemon/snorlax/icon_gba.png differ diff --git a/graphics/pokemon/snorlax/normal_gba.pal b/graphics/pokemon/snorlax/normal_gba.pal new file mode 100644 index 000000000000..aa61fc9e4194 --- /dev/null +++ b/graphics/pokemon/snorlax/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +139 139 180 +115 115 148 +90 90 115 +65 65 90 +255 255 205 +246 246 156 +230 222 148 +156 156 82 +238 172 115 +213 156 90 +164 106 41 +213 213 222 +106 106 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/snorlax/shiny_gba.pal b/graphics/pokemon/snorlax/shiny_gba.pal new file mode 100644 index 000000000000..8528d09246bc --- /dev/null +++ b/graphics/pokemon/snorlax/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +123 180 255 +65 115 189 +41 90 131 +41 90 98 +255 255 230 +255 238 197 +246 205 148 +156 156 82 +222 156 98 +180 123 57 +148 90 24 +213 213 222 +106 106 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/snorunt/anim_front_gba.png b/graphics/pokemon/snorunt/anim_front_gba.png new file mode 100644 index 000000000000..6ced11d08b94 Binary files /dev/null and b/graphics/pokemon/snorunt/anim_front_gba.png differ diff --git a/graphics/pokemon/snorunt/back_gba.png b/graphics/pokemon/snorunt/back_gba.png new file mode 100644 index 000000000000..53ddf9fdc90f Binary files /dev/null and b/graphics/pokemon/snorunt/back_gba.png differ diff --git a/graphics/pokemon/snorunt/icon_gba.png b/graphics/pokemon/snorunt/icon_gba.png new file mode 100644 index 000000000000..2710b9a0a019 Binary files /dev/null and b/graphics/pokemon/snorunt/icon_gba.png differ diff --git a/graphics/pokemon/snorunt/normal_gba.pal b/graphics/pokemon/snorunt/normal_gba.pal new file mode 100644 index 000000000000..25d137458e7c --- /dev/null +++ b/graphics/pokemon/snorunt/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +222 222 222 +255 123 82 +180 65 49 +180 115 49 +255 238 164 +255 213 106 +230 172 90 +139 213 255 +156 139 139 +65 148 213 +139 123 123 +82 74 74 +57 49 49 +41 32 32 +255 255 255 diff --git a/graphics/pokemon/snorunt/shiny_gba.pal b/graphics/pokemon/snorunt/shiny_gba.pal new file mode 100644 index 000000000000..b483a219f495 --- /dev/null +++ b/graphics/pokemon/snorunt/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +222 222 222 +255 205 82 +180 131 49 +148 98 16 +172 246 255 +139 213 255 +106 180 222 +255 197 180 +156 139 139 +255 57 41 +139 123 123 +82 74 74 +57 49 49 +41 32 32 +255 255 255 diff --git a/graphics/pokemon/snover/overworldf.png b/graphics/pokemon/snover/overworldf.png new file mode 100644 index 000000000000..74d3c0a15e01 Binary files /dev/null and b/graphics/pokemon/snover/overworldf.png differ diff --git a/graphics/pokemon/snubbull/anim_front_gba.png b/graphics/pokemon/snubbull/anim_front_gba.png new file mode 100644 index 000000000000..bffc3a2efe98 Binary files /dev/null and b/graphics/pokemon/snubbull/anim_front_gba.png differ diff --git a/graphics/pokemon/snubbull/back_gba.png b/graphics/pokemon/snubbull/back_gba.png new file mode 100644 index 000000000000..2b212b708777 Binary files /dev/null and b/graphics/pokemon/snubbull/back_gba.png differ diff --git a/graphics/pokemon/snubbull/icon_gba.png b/graphics/pokemon/snubbull/icon_gba.png new file mode 100644 index 000000000000..80f9b12889e9 Binary files /dev/null and b/graphics/pokemon/snubbull/icon_gba.png differ diff --git a/graphics/pokemon/snubbull/normal_gba.pal b/graphics/pokemon/snubbull/normal_gba.pal new file mode 100644 index 000000000000..dea1ea530054 --- /dev/null +++ b/graphics/pokemon/snubbull/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +164 41 41 +255 0 255 +148 41 57 +230 98 106 +238 180 164 +255 205 197 +255 131 41 +16 16 16 +65 65 82 +98 115 115 +148 164 164 +65 139 172 +172 222 246 +222 222 222 +255 255 255 diff --git a/graphics/pokemon/snubbull/shiny_gba.pal b/graphics/pokemon/snubbull/shiny_gba.pal new file mode 100644 index 000000000000..5dcc2957d674 --- /dev/null +++ b/graphics/pokemon/snubbull/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +197 49 65 +255 0 255 +90 90 139 +148 156 164 +197 205 197 +222 222 222 +255 148 74 +16 16 16 +123 49 65 +156 74 98 +205 106 139 +65 139 172 +255 197 180 +238 213 197 +255 255 255 diff --git a/graphics/pokemon/solrock/anim_front_gba.png b/graphics/pokemon/solrock/anim_front_gba.png new file mode 100644 index 000000000000..84bdfae7401c Binary files /dev/null and b/graphics/pokemon/solrock/anim_front_gba.png differ diff --git a/graphics/pokemon/solrock/back_gba.png b/graphics/pokemon/solrock/back_gba.png new file mode 100644 index 000000000000..2f6e7cb99907 Binary files /dev/null and b/graphics/pokemon/solrock/back_gba.png differ diff --git a/graphics/pokemon/solrock/icon_gba.png b/graphics/pokemon/solrock/icon_gba.png new file mode 100644 index 000000000000..f9e689424629 Binary files /dev/null and b/graphics/pokemon/solrock/icon_gba.png differ diff --git a/graphics/pokemon/solrock/normal_gba.pal b/graphics/pokemon/solrock/normal_gba.pal new file mode 100644 index 000000000000..315f49dd3491 --- /dev/null +++ b/graphics/pokemon/solrock/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 238 164 +238 213 115 +222 180 74 +180 148 82 +238 148 57 +205 123 49 +172 98 41 +139 82 32 +123 98 74 +57 41 24 +255 172 98 +213 74 82 +139 115 115 +82 82 90 +16 16 16 diff --git a/graphics/pokemon/solrock/shiny_gba.pal b/graphics/pokemon/solrock/shiny_gba.pal new file mode 100644 index 000000000000..9de01aa0b7fb --- /dev/null +++ b/graphics/pokemon/solrock/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 238 164 +238 213 115 +222 180 74 +180 148 82 +255 115 106 +255 65 57 +222 32 24 +189 0 0 +123 98 74 +57 41 24 +255 172 98 +0 205 255 +139 115 115 +82 82 90 +16 16 16 diff --git a/graphics/pokemon/spearow/anim_front_gba.png b/graphics/pokemon/spearow/anim_front_gba.png new file mode 100644 index 000000000000..4283ba2d60a0 Binary files /dev/null and b/graphics/pokemon/spearow/anim_front_gba.png differ diff --git a/graphics/pokemon/spearow/back_gba.png b/graphics/pokemon/spearow/back_gba.png new file mode 100644 index 000000000000..b630f24e0bc5 Binary files /dev/null and b/graphics/pokemon/spearow/back_gba.png differ diff --git a/graphics/pokemon/spearow/icon_gba.png b/graphics/pokemon/spearow/icon_gba.png new file mode 100644 index 000000000000..a88db9927391 Binary files /dev/null and b/graphics/pokemon/spearow/icon_gba.png differ diff --git a/graphics/pokemon/spearow/normal_gba.pal b/graphics/pokemon/spearow/normal_gba.pal new file mode 100644 index 000000000000..de6c4ce1c8ce --- /dev/null +++ b/graphics/pokemon/spearow/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 222 172 +213 197 156 +172 156 115 +106 98 82 +255 131 115 +246 82 65 +205 32 16 +123 24 0 +246 180 90 +213 156 57 +172 115 16 +123 65 0 +255 213 172 +24 24 24 diff --git a/graphics/pokemon/spearow/shiny_gba.pal b/graphics/pokemon/spearow/shiny_gba.pal new file mode 100644 index 000000000000..fd2223485234 --- /dev/null +++ b/graphics/pokemon/spearow/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 222 172 +213 197 156 +172 156 115 +106 98 82 +255 255 82 +255 222 0 +238 164 0 +131 57 0 +238 222 115 +197 180 74 +156 139 32 +98 82 0 +255 255 148 +24 24 24 diff --git a/graphics/pokemon/spheal/anim_front_gba.png b/graphics/pokemon/spheal/anim_front_gba.png new file mode 100644 index 000000000000..0bedf25fd5ea Binary files /dev/null and b/graphics/pokemon/spheal/anim_front_gba.png differ diff --git a/graphics/pokemon/spheal/back_gba.png b/graphics/pokemon/spheal/back_gba.png new file mode 100644 index 000000000000..6fb9e94437a9 Binary files /dev/null and b/graphics/pokemon/spheal/back_gba.png differ diff --git a/graphics/pokemon/spheal/icon_gba.png b/graphics/pokemon/spheal/icon_gba.png new file mode 100644 index 000000000000..fd392e19608b Binary files /dev/null and b/graphics/pokemon/spheal/icon_gba.png differ diff --git a/graphics/pokemon/spheal/normal_gba.pal b/graphics/pokemon/spheal/normal_gba.pal new file mode 100644 index 000000000000..1fa035c326b4 --- /dev/null +++ b/graphics/pokemon/spheal/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 197 98 +16 16 57 +74 82 139 +106 123 213 +156 164 255 +197 197 255 +255 255 255 +106 90 49 +164 148 106 +213 197 148 +230 213 172 +246 230 189 +222 222 255 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/spheal/shiny_gba.pal b/graphics/pokemon/spheal/shiny_gba.pal new file mode 100644 index 000000000000..14f207301d18 --- /dev/null +++ b/graphics/pokemon/spheal/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 197 98 +16 16 57 +90 49 139 +180 98 205 +213 148 238 +246 197 255 +255 255 255 +106 90 49 +164 148 106 +230 205 148 +238 222 172 +255 238 189 +255 222 255 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/spinarak/anim_front_gba.png b/graphics/pokemon/spinarak/anim_front_gba.png new file mode 100644 index 000000000000..e9f611b14f89 Binary files /dev/null and b/graphics/pokemon/spinarak/anim_front_gba.png differ diff --git a/graphics/pokemon/spinarak/back_gba.png b/graphics/pokemon/spinarak/back_gba.png new file mode 100644 index 000000000000..7c2144971e94 Binary files /dev/null and b/graphics/pokemon/spinarak/back_gba.png differ diff --git a/graphics/pokemon/spinarak/icon_gba.png b/graphics/pokemon/spinarak/icon_gba.png new file mode 100644 index 000000000000..54ec8e0fef74 Binary files /dev/null and b/graphics/pokemon/spinarak/icon_gba.png differ diff --git a/graphics/pokemon/spinarak/normal_gba.pal b/graphics/pokemon/spinarak/normal_gba.pal new file mode 100644 index 000000000000..0a09982d68a0 --- /dev/null +++ b/graphics/pokemon/spinarak/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 255 115 +148 230 65 +98 189 32 +82 123 41 +49 82 16 +255 255 90 +180 164 49 +148 123 49 +255 156 82 +238 49 0 +148 49 0 +189 189 189 +123 123 123 +16 16 16 diff --git a/graphics/pokemon/spinarak/shiny_gba.pal b/graphics/pokemon/spinarak/shiny_gba.pal new file mode 100644 index 000000000000..f2aed8e9f529 --- /dev/null +++ b/graphics/pokemon/spinarak/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +180 213 222 +139 172 189 +82 106 156 +57 74 90 +32 49 74 +230 172 205 +172 90 123 +106 65 82 +255 156 82 +238 49 0 +148 49 0 +189 189 189 +123 123 123 +16 16 16 diff --git a/graphics/pokemon/spoink/anim_front_gba.png b/graphics/pokemon/spoink/anim_front_gba.png new file mode 100644 index 000000000000..8bdf77cbde35 Binary files /dev/null and b/graphics/pokemon/spoink/anim_front_gba.png differ diff --git a/graphics/pokemon/spoink/back_gba.png b/graphics/pokemon/spoink/back_gba.png new file mode 100644 index 000000000000..7872e240c84b Binary files /dev/null and b/graphics/pokemon/spoink/back_gba.png differ diff --git a/graphics/pokemon/spoink/icon_gba.png b/graphics/pokemon/spoink/icon_gba.png new file mode 100644 index 000000000000..387d0ed000a6 Binary files /dev/null and b/graphics/pokemon/spoink/icon_gba.png differ diff --git a/graphics/pokemon/spoink/normal_gba.pal b/graphics/pokemon/spoink/normal_gba.pal new file mode 100644 index 000000000000..c1891323c0c1 --- /dev/null +++ b/graphics/pokemon/spoink/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 255 255 +172 172 164 +139 139 148 +106 115 123 +49 49 41 +255 230 255 +255 205 189 +230 172 131 +148 74 74 +197 139 90 +24 24 24 +0 0 0 +74 74 74 +255 255 255 +98 82 82 +0 0 0 diff --git a/graphics/pokemon/spoink/shiny_gba.pal b/graphics/pokemon/spoink/shiny_gba.pal new file mode 100644 index 000000000000..c8edfafd7330 --- /dev/null +++ b/graphics/pokemon/spoink/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 255 255 +255 205 172 +246 180 139 +205 164 123 +98 74 57 +172 172 172 +139 139 139 +82 82 82 +49 49 49 +106 106 106 +0 0 0 +0 0 0 +172 123 106 +255 255 255 +98 82 82 +0 0 0 diff --git a/graphics/pokemon/squawkabilly/blue_plumage/icon.png b/graphics/pokemon/squawkabilly/blue/icon.png similarity index 100% rename from graphics/pokemon/squawkabilly/blue_plumage/icon.png rename to graphics/pokemon/squawkabilly/blue/icon.png diff --git a/graphics/pokemon/squawkabilly/blue_plumage/normal.pal b/graphics/pokemon/squawkabilly/blue/normal.pal similarity index 100% rename from graphics/pokemon/squawkabilly/blue_plumage/normal.pal rename to graphics/pokemon/squawkabilly/blue/normal.pal diff --git a/graphics/pokemon/squawkabilly/blue_plumage/overworld.png b/graphics/pokemon/squawkabilly/blue/overworld.png similarity index 100% rename from graphics/pokemon/squawkabilly/blue_plumage/overworld.png rename to graphics/pokemon/squawkabilly/blue/overworld.png diff --git a/graphics/pokemon/squawkabilly/blue_plumage/overworld_normal.pal b/graphics/pokemon/squawkabilly/blue/overworld_normal.pal similarity index 100% rename from graphics/pokemon/squawkabilly/blue_plumage/overworld_normal.pal rename to graphics/pokemon/squawkabilly/blue/overworld_normal.pal diff --git a/graphics/pokemon/squawkabilly/blue_plumage/overworld_shiny.pal b/graphics/pokemon/squawkabilly/blue/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/squawkabilly/blue_plumage/overworld_shiny.pal rename to graphics/pokemon/squawkabilly/blue/overworld_shiny.pal diff --git a/graphics/pokemon/squawkabilly/blue_plumage/shiny.pal b/graphics/pokemon/squawkabilly/blue/shiny.pal similarity index 100% rename from graphics/pokemon/squawkabilly/blue_plumage/shiny.pal rename to graphics/pokemon/squawkabilly/blue/shiny.pal diff --git a/graphics/pokemon/squawkabilly/white_plumage/icon.png b/graphics/pokemon/squawkabilly/white/icon.png similarity index 100% rename from graphics/pokemon/squawkabilly/white_plumage/icon.png rename to graphics/pokemon/squawkabilly/white/icon.png diff --git a/graphics/pokemon/squawkabilly/white_plumage/normal.pal b/graphics/pokemon/squawkabilly/white/normal.pal similarity index 100% rename from graphics/pokemon/squawkabilly/white_plumage/normal.pal rename to graphics/pokemon/squawkabilly/white/normal.pal diff --git a/graphics/pokemon/squawkabilly/white_plumage/overworld.png b/graphics/pokemon/squawkabilly/white/overworld.png similarity index 100% rename from graphics/pokemon/squawkabilly/white_plumage/overworld.png rename to graphics/pokemon/squawkabilly/white/overworld.png diff --git a/graphics/pokemon/squawkabilly/white_plumage/overworld_normal.pal b/graphics/pokemon/squawkabilly/white/overworld_normal.pal similarity index 100% rename from graphics/pokemon/squawkabilly/white_plumage/overworld_normal.pal rename to graphics/pokemon/squawkabilly/white/overworld_normal.pal diff --git a/graphics/pokemon/squawkabilly/white_plumage/overworld_shiny.pal b/graphics/pokemon/squawkabilly/white/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/squawkabilly/white_plumage/overworld_shiny.pal rename to graphics/pokemon/squawkabilly/white/overworld_shiny.pal diff --git a/graphics/pokemon/squawkabilly/white_plumage/shiny.pal b/graphics/pokemon/squawkabilly/white/shiny.pal similarity index 100% rename from graphics/pokemon/squawkabilly/white_plumage/shiny.pal rename to graphics/pokemon/squawkabilly/white/shiny.pal diff --git a/graphics/pokemon/squawkabilly/yellow_plumage/icon.png b/graphics/pokemon/squawkabilly/yellow/icon.png similarity index 100% rename from graphics/pokemon/squawkabilly/yellow_plumage/icon.png rename to graphics/pokemon/squawkabilly/yellow/icon.png diff --git a/graphics/pokemon/squawkabilly/yellow_plumage/normal.pal b/graphics/pokemon/squawkabilly/yellow/normal.pal similarity index 100% rename from graphics/pokemon/squawkabilly/yellow_plumage/normal.pal rename to graphics/pokemon/squawkabilly/yellow/normal.pal diff --git a/graphics/pokemon/squawkabilly/yellow_plumage/overworld.png b/graphics/pokemon/squawkabilly/yellow/overworld.png similarity index 100% rename from graphics/pokemon/squawkabilly/yellow_plumage/overworld.png rename to graphics/pokemon/squawkabilly/yellow/overworld.png diff --git a/graphics/pokemon/squawkabilly/yellow_plumage/overworld_normal.pal b/graphics/pokemon/squawkabilly/yellow/overworld_normal.pal similarity index 100% rename from graphics/pokemon/squawkabilly/yellow_plumage/overworld_normal.pal rename to graphics/pokemon/squawkabilly/yellow/overworld_normal.pal diff --git a/graphics/pokemon/squawkabilly/yellow_plumage/overworld_shiny.pal b/graphics/pokemon/squawkabilly/yellow/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/squawkabilly/yellow_plumage/overworld_shiny.pal rename to graphics/pokemon/squawkabilly/yellow/overworld_shiny.pal diff --git a/graphics/pokemon/squawkabilly/yellow_plumage/shiny.pal b/graphics/pokemon/squawkabilly/yellow/shiny.pal similarity index 100% rename from graphics/pokemon/squawkabilly/yellow_plumage/shiny.pal rename to graphics/pokemon/squawkabilly/yellow/shiny.pal diff --git a/graphics/pokemon/squirtle/anim_front_gba.png b/graphics/pokemon/squirtle/anim_front_gba.png new file mode 100644 index 000000000000..403a786ecf5e Binary files /dev/null and b/graphics/pokemon/squirtle/anim_front_gba.png differ diff --git a/graphics/pokemon/squirtle/back_gba.png b/graphics/pokemon/squirtle/back_gba.png new file mode 100644 index 000000000000..b2fa0f37b634 Binary files /dev/null and b/graphics/pokemon/squirtle/back_gba.png differ diff --git a/graphics/pokemon/squirtle/icon_gba.png b/graphics/pokemon/squirtle/icon_gba.png new file mode 100644 index 000000000000..75a58770fc67 Binary files /dev/null and b/graphics/pokemon/squirtle/icon_gba.png differ diff --git a/graphics/pokemon/squirtle/normal_gba.pal b/graphics/pokemon/squirtle/normal_gba.pal new file mode 100644 index 000000000000..8429f3be2e77 --- /dev/null +++ b/graphics/pokemon/squirtle/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 148 82 +189 106 0 +98 41 0 +213 205 205 +255 230 156 +255 213 106 +230 172 90 +213 131 57 +148 32 0 +180 238 189 +148 213 205 +90 172 156 +65 115 98 +16 16 16 diff --git a/graphics/pokemon/squirtle/shiny_gba.pal b/graphics/pokemon/squirtle/shiny_gba.pal new file mode 100644 index 000000000000..9a41b677cbea --- /dev/null +++ b/graphics/pokemon/squirtle/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +148 205 41 +106 164 0 +65 123 0 +213 205 205 +255 230 156 +255 213 106 +230 172 90 +213 131 57 +148 32 0 +172 255 255 +123 246 255 +82 205 213 +16 115 123 +16 16 16 diff --git a/graphics/pokemon/stantler/anim_front_gba.png b/graphics/pokemon/stantler/anim_front_gba.png new file mode 100644 index 000000000000..27c482ef4697 Binary files /dev/null and b/graphics/pokemon/stantler/anim_front_gba.png differ diff --git a/graphics/pokemon/stantler/back_gba.png b/graphics/pokemon/stantler/back_gba.png new file mode 100644 index 000000000000..9ddf7a40cc2c Binary files /dev/null and b/graphics/pokemon/stantler/back_gba.png differ diff --git a/graphics/pokemon/stantler/icon_gba.png b/graphics/pokemon/stantler/icon_gba.png new file mode 100644 index 000000000000..da9e6da99c7b Binary files /dev/null and b/graphics/pokemon/stantler/icon_gba.png differ diff --git a/graphics/pokemon/stantler/normal_gba.pal b/graphics/pokemon/stantler/normal_gba.pal new file mode 100644 index 000000000000..29eeabc436e7 --- /dev/null +++ b/graphics/pokemon/stantler/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 213 115 +230 180 90 +180 131 49 +123 65 0 +255 0 255 +255 255 172 +255 222 131 +255 222 82 +230 164 32 +213 0 255 +180 180 180 +123 123 123 +74 74 74 +16 16 16 diff --git a/graphics/pokemon/stantler/shiny_gba.pal b/graphics/pokemon/stantler/shiny_gba.pal new file mode 100644 index 000000000000..18b43b3302ad --- /dev/null +++ b/graphics/pokemon/stantler/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 255 106 +197 230 90 +148 180 49 +65 90 0 +255 0 255 +255 255 172 +230 230 139 +255 222 82 +197 148 65 +213 0 255 +255 189 106 +230 115 41 +131 65 41 +16 16 16 diff --git a/graphics/pokemon/staraptor/overworldf.png b/graphics/pokemon/staraptor/overworldf.png new file mode 100644 index 000000000000..0515e2ec685e Binary files /dev/null and b/graphics/pokemon/staraptor/overworldf.png differ diff --git a/graphics/pokemon/staravia/overworldf.png b/graphics/pokemon/staravia/overworldf.png new file mode 100644 index 000000000000..0a023d81c774 Binary files /dev/null and b/graphics/pokemon/staravia/overworldf.png differ diff --git a/graphics/pokemon/starly/overworldf.png b/graphics/pokemon/starly/overworldf.png new file mode 100644 index 000000000000..feb607651504 Binary files /dev/null and b/graphics/pokemon/starly/overworldf.png differ diff --git a/graphics/pokemon/starmie/anim_front_gba.png b/graphics/pokemon/starmie/anim_front_gba.png new file mode 100644 index 000000000000..b98d2ac322a3 Binary files /dev/null and b/graphics/pokemon/starmie/anim_front_gba.png differ diff --git a/graphics/pokemon/starmie/back_gba.png b/graphics/pokemon/starmie/back_gba.png new file mode 100644 index 000000000000..62fdf3a41c46 Binary files /dev/null and b/graphics/pokemon/starmie/back_gba.png differ diff --git a/graphics/pokemon/starmie/icon_gba.png b/graphics/pokemon/starmie/icon_gba.png new file mode 100644 index 000000000000..844cae0c72d2 Binary files /dev/null and b/graphics/pokemon/starmie/icon_gba.png differ diff --git a/graphics/pokemon/starmie/normal_gba.pal b/graphics/pokemon/starmie/normal_gba.pal new file mode 100644 index 000000000000..ff0daf2182b7 --- /dev/null +++ b/graphics/pokemon/starmie/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +213 164 222 +172 123 180 +131 65 131 +82 32 90 +255 255 180 +246 213 82 +197 164 16 +115 90 0 +255 0 255 +255 213 180 +246 98 49 +205 49 16 +123 16 0 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/starmie/shiny_gba.pal b/graphics/pokemon/starmie/shiny_gba.pal new file mode 100644 index 000000000000..1f68c3476a90 --- /dev/null +++ b/graphics/pokemon/starmie/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +148 205 246 +106 164 213 +65 123 172 +0 57 106 +255 139 156 +255 98 115 +197 57 74 +131 16 32 +255 0 255 +115 189 246 +74 148 205 +8 82 139 +8 41 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/staryu/anim_front_gba.png b/graphics/pokemon/staryu/anim_front_gba.png new file mode 100644 index 000000000000..a36ec0807152 Binary files /dev/null and b/graphics/pokemon/staryu/anim_front_gba.png differ diff --git a/graphics/pokemon/staryu/back_gba.png b/graphics/pokemon/staryu/back_gba.png new file mode 100644 index 000000000000..73a2f6aad4cc Binary files /dev/null and b/graphics/pokemon/staryu/back_gba.png differ diff --git a/graphics/pokemon/staryu/icon_gba.png b/graphics/pokemon/staryu/icon_gba.png new file mode 100644 index 000000000000..b90c0b9c3d40 Binary files /dev/null and b/graphics/pokemon/staryu/icon_gba.png differ diff --git a/graphics/pokemon/staryu/normal_gba.pal b/graphics/pokemon/staryu/normal_gba.pal new file mode 100644 index 000000000000..005b36c32674 --- /dev/null +++ b/graphics/pokemon/staryu/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +16 16 16 +255 255 180 +246 213 82 +197 172 16 +115 90 0 +246 222 180 +213 180 115 +164 131 49 +123 82 41 +255 213 213 +238 156 139 +230 98 65 +172 65 32 +255 0 255 +255 255 255 diff --git a/graphics/pokemon/staryu/shiny_gba.pal b/graphics/pokemon/staryu/shiny_gba.pal new file mode 100644 index 000000000000..e48cd65106c7 --- /dev/null +++ b/graphics/pokemon/staryu/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +16 16 16 +255 255 180 +246 213 82 +197 172 16 +115 90 0 +230 230 205 +189 189 164 +148 148 123 +98 98 74 +156 255 255 +106 213 255 +65 172 222 +8 115 164 +255 0 255 +255 255 255 diff --git a/graphics/pokemon/steelix/anim_front_gba.png b/graphics/pokemon/steelix/anim_front_gba.png new file mode 100644 index 000000000000..bf4c25932176 Binary files /dev/null and b/graphics/pokemon/steelix/anim_front_gba.png differ diff --git a/graphics/pokemon/steelix/back_gba.png b/graphics/pokemon/steelix/back_gba.png new file mode 100644 index 000000000000..74cb256d0f97 Binary files /dev/null and b/graphics/pokemon/steelix/back_gba.png differ diff --git a/graphics/pokemon/steelix/icon_gba.png b/graphics/pokemon/steelix/icon_gba.png new file mode 100644 index 000000000000..c99e175817a8 Binary files /dev/null and b/graphics/pokemon/steelix/icon_gba.png differ diff --git a/graphics/pokemon/steelix/normal_gba.pal b/graphics/pokemon/steelix/normal_gba.pal new file mode 100644 index 000000000000..e18ae398c54d --- /dev/null +++ b/graphics/pokemon/steelix/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +255 0 255 +57 57 82 +74 90 123 +131 156 172 +189 205 197 +222 230 222 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +213 82 65 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/steelix/overworldf.png b/graphics/pokemon/steelix/overworldf.png new file mode 100644 index 000000000000..53a7dc53afb6 Binary files /dev/null and b/graphics/pokemon/steelix/overworldf.png differ diff --git a/graphics/pokemon/steelix/shiny_gba.pal b/graphics/pokemon/steelix/shiny_gba.pal new file mode 100644 index 000000000000..02b21c7ac341 --- /dev/null +++ b/graphics/pokemon/steelix/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +255 0 255 +98 82 57 +139 106 82 +189 156 90 +230 197 115 +255 230 139 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +213 82 65 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/stunfisk/galarian/back.png b/graphics/pokemon/stunfisk/galar/back.png similarity index 100% rename from graphics/pokemon/stunfisk/galarian/back.png rename to graphics/pokemon/stunfisk/galar/back.png diff --git a/graphics/pokemon/stunfisk/galarian/front.png b/graphics/pokemon/stunfisk/galar/front.png similarity index 100% rename from graphics/pokemon/stunfisk/galarian/front.png rename to graphics/pokemon/stunfisk/galar/front.png diff --git a/graphics/pokemon/stunfisk/galarian/icon.png b/graphics/pokemon/stunfisk/galar/icon.png similarity index 100% rename from graphics/pokemon/stunfisk/galarian/icon.png rename to graphics/pokemon/stunfisk/galar/icon.png diff --git a/graphics/pokemon/stunfisk/galarian/normal.pal b/graphics/pokemon/stunfisk/galar/normal.pal similarity index 100% rename from graphics/pokemon/stunfisk/galarian/normal.pal rename to graphics/pokemon/stunfisk/galar/normal.pal diff --git a/graphics/pokemon/stunfisk/galarian/overworld.png b/graphics/pokemon/stunfisk/galar/overworld.png similarity index 100% rename from graphics/pokemon/stunfisk/galarian/overworld.png rename to graphics/pokemon/stunfisk/galar/overworld.png diff --git a/graphics/pokemon/stunfisk/galarian/overworld_normal.pal b/graphics/pokemon/stunfisk/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/stunfisk/galarian/overworld_normal.pal rename to graphics/pokemon/stunfisk/galar/overworld_normal.pal diff --git a/graphics/pokemon/stunfisk/galarian/overworld_shiny.pal b/graphics/pokemon/stunfisk/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/stunfisk/galarian/overworld_shiny.pal rename to graphics/pokemon/stunfisk/galar/overworld_shiny.pal diff --git a/graphics/pokemon/stunfisk/galarian/shiny.pal b/graphics/pokemon/stunfisk/galar/shiny.pal similarity index 100% rename from graphics/pokemon/stunfisk/galarian/shiny.pal rename to graphics/pokemon/stunfisk/galar/shiny.pal diff --git a/graphics/pokemon/sudowoodo/anim_front_gba.png b/graphics/pokemon/sudowoodo/anim_front_gba.png new file mode 100644 index 000000000000..ed198580d963 Binary files /dev/null and b/graphics/pokemon/sudowoodo/anim_front_gba.png differ diff --git a/graphics/pokemon/sudowoodo/back_gba.png b/graphics/pokemon/sudowoodo/back_gba.png new file mode 100644 index 000000000000..befda7efca2d Binary files /dev/null and b/graphics/pokemon/sudowoodo/back_gba.png differ diff --git a/graphics/pokemon/sudowoodo/icon_gba.png b/graphics/pokemon/sudowoodo/icon_gba.png new file mode 100644 index 000000000000..4cc4afadf515 Binary files /dev/null and b/graphics/pokemon/sudowoodo/icon_gba.png differ diff --git a/graphics/pokemon/sudowoodo/normal_gba.pal b/graphics/pokemon/sudowoodo/normal_gba.pal new file mode 100644 index 000000000000..3d589fc9d245 --- /dev/null +++ b/graphics/pokemon/sudowoodo/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 197 106 +189 156 82 +148 115 49 +98 74 16 +255 0 255 +139 255 139 +41 222 49 +41 172 49 +24 106 32 +255 205 0 +222 148 0 +156 106 0 +180 180 180 +16 16 16 diff --git a/graphics/pokemon/sudowoodo/overworldf.png b/graphics/pokemon/sudowoodo/overworldf.png new file mode 100644 index 000000000000..14cea4319d23 Binary files /dev/null and b/graphics/pokemon/sudowoodo/overworldf.png differ diff --git a/graphics/pokemon/sudowoodo/shiny_gba.pal b/graphics/pokemon/sudowoodo/shiny_gba.pal new file mode 100644 index 000000000000..6344dcc53324 --- /dev/null +++ b/graphics/pokemon/sudowoodo/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 222 57 +180 189 24 +123 139 24 +82 90 24 +255 0 255 +255 205 172 +255 115 74 +205 74 49 +131 57 41 +255 205 0 +222 148 0 +156 106 0 +180 180 180 +16 16 16 diff --git a/graphics/pokemon/suicune/anim_front_gba.png b/graphics/pokemon/suicune/anim_front_gba.png new file mode 100644 index 000000000000..6eca4e01f9fe Binary files /dev/null and b/graphics/pokemon/suicune/anim_front_gba.png differ diff --git a/graphics/pokemon/suicune/back_gba.png b/graphics/pokemon/suicune/back_gba.png new file mode 100644 index 000000000000..80eef8678e50 Binary files /dev/null and b/graphics/pokemon/suicune/back_gba.png differ diff --git a/graphics/pokemon/suicune/icon_gba.png b/graphics/pokemon/suicune/icon_gba.png new file mode 100644 index 000000000000..3e4b3c695aa4 Binary files /dev/null and b/graphics/pokemon/suicune/icon_gba.png differ diff --git a/graphics/pokemon/suicune/normal_gba.pal b/graphics/pokemon/suicune/normal_gba.pal new file mode 100644 index 000000000000..3a21dbd4ddc4 --- /dev/null +++ b/graphics/pokemon/suicune/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 180 +255 255 255 +189 238 255 +123 189 255 +90 115 213 +57 74 148 +213 180 255 +172 106 255 +139 49 230 +82 57 139 +164 0 0 +213 213 213 +180 180 180 +148 148 148 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/suicune/shiny_gba.pal b/graphics/pokemon/suicune/shiny_gba.pal new file mode 100644 index 000000000000..2ee8b7a0f7e9 --- /dev/null +++ b/graphics/pokemon/suicune/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 180 +255 255 255 +238 255 255 +197 230 255 +106 164 230 +49 82 156 +106 189 255 +57 139 222 +8 90 180 +32 57 98 +164 0 0 +213 205 230 +189 172 197 +139 123 148 +98 82 106 +16 16 16 diff --git a/graphics/pokemon/sunflora/anim_front_gba.png b/graphics/pokemon/sunflora/anim_front_gba.png new file mode 100644 index 000000000000..219c076ef128 Binary files /dev/null and b/graphics/pokemon/sunflora/anim_front_gba.png differ diff --git a/graphics/pokemon/sunflora/back_gba.png b/graphics/pokemon/sunflora/back_gba.png new file mode 100644 index 000000000000..c048bebc225c Binary files /dev/null and b/graphics/pokemon/sunflora/back_gba.png differ diff --git a/graphics/pokemon/sunflora/icon_gba.png b/graphics/pokemon/sunflora/icon_gba.png new file mode 100644 index 000000000000..6493eb5100d1 Binary files /dev/null and b/graphics/pokemon/sunflora/icon_gba.png differ diff --git a/graphics/pokemon/sunflora/normal_gba.pal b/graphics/pokemon/sunflora/normal_gba.pal new file mode 100644 index 000000000000..a22ed3fe74b8 --- /dev/null +++ b/graphics/pokemon/sunflora/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +131 90 16 +197 123 32 +222 164 24 +238 205 8 +230 222 90 +255 255 164 +255 246 16 +222 57 0 +255 0 255 +82 98 41 +115 172 49 +156 213 74 +189 255 115 diff --git a/graphics/pokemon/sunflora/shiny_gba.pal b/graphics/pokemon/sunflora/shiny_gba.pal new file mode 100644 index 000000000000..ea8de6e05228 --- /dev/null +++ b/graphics/pokemon/sunflora/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +98 82 0 +148 123 0 +205 172 32 +238 222 82 +230 222 90 +255 255 164 +255 255 164 +222 57 0 +255 0 255 +82 74 0 +123 115 0 +180 172 41 +230 222 74 diff --git a/graphics/pokemon/sunkern/anim_front_gba.png b/graphics/pokemon/sunkern/anim_front_gba.png new file mode 100644 index 000000000000..167f1f37ef97 Binary files /dev/null and b/graphics/pokemon/sunkern/anim_front_gba.png differ diff --git a/graphics/pokemon/sunkern/back_gba.png b/graphics/pokemon/sunkern/back_gba.png new file mode 100644 index 000000000000..e6adde7754fd Binary files /dev/null and b/graphics/pokemon/sunkern/back_gba.png differ diff --git a/graphics/pokemon/sunkern/icon_gba.png b/graphics/pokemon/sunkern/icon_gba.png new file mode 100644 index 000000000000..60d7ea91ba7c Binary files /dev/null and b/graphics/pokemon/sunkern/icon_gba.png differ diff --git a/graphics/pokemon/sunkern/normal_gba.pal b/graphics/pokemon/sunkern/normal_gba.pal new file mode 100644 index 000000000000..7dab1246db68 --- /dev/null +++ b/graphics/pokemon/sunkern/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +74 57 41 +82 74 41 +106 98 49 +180 164 49 +180 164 57 +213 205 49 +255 255 0 +255 0 255 +32 98 16 +82 164 57 +115 213 41 +164 246 57 +16 16 16 +115 115 139 +255 255 255 diff --git a/graphics/pokemon/sunkern/shiny_gba.pal b/graphics/pokemon/sunkern/shiny_gba.pal new file mode 100644 index 000000000000..84a106f65d83 --- /dev/null +++ b/graphics/pokemon/sunkern/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +74 57 41 +82 57 41 +106 74 49 +164 106 32 +172 115 49 +213 164 49 +255 213 90 +255 0 255 +32 98 16 +82 164 57 +156 230 49 +205 255 98 +16 16 16 +115 115 139 +255 255 255 diff --git a/graphics/pokemon/surskit/anim_front_gba.png b/graphics/pokemon/surskit/anim_front_gba.png new file mode 100644 index 000000000000..187952826298 Binary files /dev/null and b/graphics/pokemon/surskit/anim_front_gba.png differ diff --git a/graphics/pokemon/surskit/back_gba.png b/graphics/pokemon/surskit/back_gba.png new file mode 100644 index 000000000000..85b8a8a4f493 Binary files /dev/null and b/graphics/pokemon/surskit/back_gba.png differ diff --git a/graphics/pokemon/surskit/icon_gba.png b/graphics/pokemon/surskit/icon_gba.png new file mode 100644 index 000000000000..a7267c21aa05 Binary files /dev/null and b/graphics/pokemon/surskit/icon_gba.png differ diff --git a/graphics/pokemon/surskit/normal_gba.pal b/graphics/pokemon/surskit/normal_gba.pal new file mode 100644 index 000000000000..7aa7f389dae8 --- /dev/null +++ b/graphics/pokemon/surskit/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +49 90 90 +90 164 213 +90 139 180 +123 197 213 +255 213 90 +205 172 49 +123 106 16 +255 255 255 +238 123 139 +230 106 90 +172 139 16 +32 115 148 +255 255 255 +255 255 255 +205 255 156 diff --git a/graphics/pokemon/surskit/shiny_gba.pal b/graphics/pokemon/surskit/shiny_gba.pal new file mode 100644 index 000000000000..71624ff69edf --- /dev/null +++ b/graphics/pokemon/surskit/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 205 255 +41 49 65 +115 106 123 +74 82 98 +148 139 156 +255 213 90 +205 172 49 +123 106 16 +255 255 255 +255 180 82 +255 115 24 +172 139 16 +74 82 98 +255 255 255 +255 255 255 +205 255 156 diff --git a/graphics/pokemon/swablu/anim_front_gba.png b/graphics/pokemon/swablu/anim_front_gba.png new file mode 100644 index 000000000000..bbe775905e69 Binary files /dev/null and b/graphics/pokemon/swablu/anim_front_gba.png differ diff --git a/graphics/pokemon/swablu/back_gba.png b/graphics/pokemon/swablu/back_gba.png new file mode 100644 index 000000000000..802a9e37c6d1 Binary files /dev/null and b/graphics/pokemon/swablu/back_gba.png differ diff --git a/graphics/pokemon/swablu/icon_gba.png b/graphics/pokemon/swablu/icon_gba.png new file mode 100644 index 000000000000..fa269d741008 Binary files /dev/null and b/graphics/pokemon/swablu/icon_gba.png differ diff --git a/graphics/pokemon/swablu/normal_gba.pal b/graphics/pokemon/swablu/normal_gba.pal new file mode 100644 index 000000000000..180dac0df61b --- /dev/null +++ b/graphics/pokemon/swablu/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 172 123 +180 180 222 +131 131 148 +90 90 115 +57 106 131 +213 213 230 +0 0 0 +156 156 197 +123 205 255 +98 172 230 +90 148 205 +213 255 255 +148 197 197 +172 230 255 +238 238 246 +255 255 255 diff --git a/graphics/pokemon/swablu/shiny_gba.pal b/graphics/pokemon/swablu/shiny_gba.pal new file mode 100644 index 000000000000..392d5a8bb476 --- /dev/null +++ b/graphics/pokemon/swablu/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 172 123 +180 180 222 +131 131 148 +90 90 115 +156 106 0 +213 213 230 +0 0 0 +156 156 197 +255 238 131 +255 205 98 +222 172 65 +213 255 255 +148 197 197 +255 238 131 +238 238 246 +255 255 255 diff --git a/graphics/pokemon/swalot/anim_front_gba.png b/graphics/pokemon/swalot/anim_front_gba.png new file mode 100644 index 000000000000..11ca0f3537b7 Binary files /dev/null and b/graphics/pokemon/swalot/anim_front_gba.png differ diff --git a/graphics/pokemon/swalot/back_gba.png b/graphics/pokemon/swalot/back_gba.png new file mode 100644 index 000000000000..acd59b1b933b Binary files /dev/null and b/graphics/pokemon/swalot/back_gba.png differ diff --git a/graphics/pokemon/swalot/icon_gba.png b/graphics/pokemon/swalot/icon_gba.png new file mode 100644 index 000000000000..9868d73d3401 Binary files /dev/null and b/graphics/pokemon/swalot/icon_gba.png differ diff --git a/graphics/pokemon/swalot/normal_gba.pal b/graphics/pokemon/swalot/normal_gba.pal new file mode 100644 index 000000000000..fcd80af0b11a --- /dev/null +++ b/graphics/pokemon/swalot/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +65 156 123 +115 90 148 +156 106 213 +189 139 255 +213 172 255 +255 255 255 +49 49 49 +82 82 82 +106 106 106 +205 205 205 +131 123 65 +255 213 90 +255 41 0 +255 238 148 +90 57 106 +0 0 0 diff --git a/graphics/pokemon/swalot/overworld.png b/graphics/pokemon/swalot/overworld.png index 0d0850d8aedc..666f56d7507e 100644 Binary files a/graphics/pokemon/swalot/overworld.png and b/graphics/pokemon/swalot/overworld.png differ diff --git a/graphics/pokemon/swalot/overworldf.png b/graphics/pokemon/swalot/overworldf.png new file mode 100644 index 000000000000..0d0850d8aedc Binary files /dev/null and b/graphics/pokemon/swalot/overworldf.png differ diff --git a/graphics/pokemon/swalot/shiny_gba.pal b/graphics/pokemon/swalot/shiny_gba.pal new file mode 100644 index 000000000000..109d19022bc0 --- /dev/null +++ b/graphics/pokemon/swalot/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 189 131 +65 74 115 +90 115 156 +98 148 197 +131 180 238 +255 255 255 +49 49 49 +82 82 82 +106 106 106 +205 205 205 +180 65 49 +222 98 49 +255 139 82 +255 148 123 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/swampert/anim_front_gba.png b/graphics/pokemon/swampert/anim_front_gba.png new file mode 100644 index 000000000000..62c207a26f57 Binary files /dev/null and b/graphics/pokemon/swampert/anim_front_gba.png differ diff --git a/graphics/pokemon/swampert/back_gba.png b/graphics/pokemon/swampert/back_gba.png new file mode 100644 index 000000000000..bb795c65f3ad Binary files /dev/null and b/graphics/pokemon/swampert/back_gba.png differ diff --git a/graphics/pokemon/swampert/icon_gba.png b/graphics/pokemon/swampert/icon_gba.png new file mode 100644 index 000000000000..5b2f04ca923f Binary files /dev/null and b/graphics/pokemon/swampert/icon_gba.png differ diff --git a/graphics/pokemon/swampert/normal_gba.pal b/graphics/pokemon/swampert/normal_gba.pal new file mode 100644 index 000000000000..149557aa4500 --- /dev/null +++ b/graphics/pokemon/swampert/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +197 230 255 +172 189 230 +131 164 197 +41 49 98 +255 213 74 +246 156 65 +205 131 65 +139 98 74 +156 74 90 +57 82 131 +139 205 255 +90 172 230 +49 131 197 +82 106 164 +16 16 16 diff --git a/graphics/pokemon/swampert/shiny_gba.pal b/graphics/pokemon/swampert/shiny_gba.pal new file mode 100644 index 000000000000..284a31508323 --- /dev/null +++ b/graphics/pokemon/swampert/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +230 246 255 +205 213 230 +180 139 230 +74 65 106 +255 197 74 +246 106 82 +222 98 49 +180 65 49 +139 65 24 +106 49 123 +246 205 246 +230 172 246 +197 115 222 +139 82 156 +16 16 16 diff --git a/graphics/pokemon/swellow/anim_front_gba.png b/graphics/pokemon/swellow/anim_front_gba.png new file mode 100644 index 000000000000..de8016b51c99 Binary files /dev/null and b/graphics/pokemon/swellow/anim_front_gba.png differ diff --git a/graphics/pokemon/swellow/back_gba.png b/graphics/pokemon/swellow/back_gba.png new file mode 100644 index 000000000000..c2c1c3ed3a8f Binary files /dev/null and b/graphics/pokemon/swellow/back_gba.png differ diff --git a/graphics/pokemon/swellow/icon_gba.png b/graphics/pokemon/swellow/icon_gba.png new file mode 100644 index 000000000000..47a2ea74d7b1 Binary files /dev/null and b/graphics/pokemon/swellow/icon_gba.png differ diff --git a/graphics/pokemon/swellow/normal_gba.pal b/graphics/pokemon/swellow/normal_gba.pal new file mode 100644 index 000000000000..cf8e9f794e3e --- /dev/null +++ b/graphics/pokemon/swellow/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 172 98 +41 49 90 +65 82 123 +90 106 172 +123 139 205 +123 90 90 +148 148 148 +205 213 213 +255 255 255 +197 49 49 +230 106 98 +255 148 139 +230 172 74 +255 238 82 +131 57 82 +0 0 0 diff --git a/graphics/pokemon/swellow/shiny_gba.pal b/graphics/pokemon/swellow/shiny_gba.pal new file mode 100644 index 000000000000..388f2b2202e4 --- /dev/null +++ b/graphics/pokemon/swellow/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 172 98 +16 82 57 +49 148 98 +90 172 148 +148 213 205 +123 90 90 +148 148 148 +205 213 213 +255 255 255 +213 123 16 +246 180 57 +255 197 115 +230 189 74 +255 238 82 +131 57 82 +0 0 0 diff --git a/graphics/pokemon/swinub/anim_front_gba.png b/graphics/pokemon/swinub/anim_front_gba.png new file mode 100644 index 000000000000..80675bd9b581 Binary files /dev/null and b/graphics/pokemon/swinub/anim_front_gba.png differ diff --git a/graphics/pokemon/swinub/back_gba.png b/graphics/pokemon/swinub/back_gba.png new file mode 100644 index 000000000000..66998faad4e6 Binary files /dev/null and b/graphics/pokemon/swinub/back_gba.png differ diff --git a/graphics/pokemon/swinub/icon_gba.png b/graphics/pokemon/swinub/icon_gba.png new file mode 100644 index 000000000000..f33656a0cff5 Binary files /dev/null and b/graphics/pokemon/swinub/icon_gba.png differ diff --git a/graphics/pokemon/swinub/normal_gba.pal b/graphics/pokemon/swinub/normal_gba.pal new file mode 100644 index 000000000000..b014d69d62e4 --- /dev/null +++ b/graphics/pokemon/swinub/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 197 115 +197 164 82 +164 131 57 +123 98 24 +90 65 0 +57 41 0 +255 189 131 +222 139 82 +180 98 41 +255 0 255 +222 222 222 +180 180 189 +123 123 139 +16 16 16 diff --git a/graphics/pokemon/swinub/shiny_gba.pal b/graphics/pokemon/swinub/shiny_gba.pal new file mode 100644 index 000000000000..9482e2d46f1e --- /dev/null +++ b/graphics/pokemon/swinub/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 230 230 +189 205 197 +148 164 164 +106 123 131 +57 65 90 +49 49 57 +246 213 131 +222 164 65 +205 123 32 +255 0 255 +222 222 222 +180 180 189 +123 123 139 +16 16 16 diff --git a/graphics/pokemon/taillow/anim_front_gba.png b/graphics/pokemon/taillow/anim_front_gba.png new file mode 100644 index 000000000000..d27e9f7687a4 Binary files /dev/null and b/graphics/pokemon/taillow/anim_front_gba.png differ diff --git a/graphics/pokemon/taillow/back_gba.png b/graphics/pokemon/taillow/back_gba.png new file mode 100644 index 000000000000..997d6db4515b Binary files /dev/null and b/graphics/pokemon/taillow/back_gba.png differ diff --git a/graphics/pokemon/taillow/icon_gba.png b/graphics/pokemon/taillow/icon_gba.png new file mode 100644 index 000000000000..a0668865b083 Binary files /dev/null and b/graphics/pokemon/taillow/icon_gba.png differ diff --git a/graphics/pokemon/taillow/normal_gba.pal b/graphics/pokemon/taillow/normal_gba.pal new file mode 100644 index 000000000000..b1777b5bec41 --- /dev/null +++ b/graphics/pokemon/taillow/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 172 98 +41 49 90 +74 90 148 +90 106 172 +123 139 205 +123 90 90 +148 148 148 +205 213 213 +255 255 255 +197 49 49 +230 106 98 +255 148 139 +230 189 74 +255 238 82 +131 57 82 +0 0 0 diff --git a/graphics/pokemon/taillow/shiny_gba.pal b/graphics/pokemon/taillow/shiny_gba.pal new file mode 100644 index 000000000000..388f2b2202e4 --- /dev/null +++ b/graphics/pokemon/taillow/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 172 98 +16 82 57 +49 148 98 +90 172 148 +148 213 205 +123 90 90 +148 148 148 +205 213 213 +255 255 255 +213 123 16 +246 180 57 +255 197 115 +230 189 74 +255 238 82 +131 57 82 +0 0 0 diff --git a/graphics/pokemon/tangela/anim_front_gba.png b/graphics/pokemon/tangela/anim_front_gba.png new file mode 100644 index 000000000000..161c7d5764ad Binary files /dev/null and b/graphics/pokemon/tangela/anim_front_gba.png differ diff --git a/graphics/pokemon/tangela/back_gba.png b/graphics/pokemon/tangela/back_gba.png new file mode 100644 index 000000000000..5a15f1b91a55 Binary files /dev/null and b/graphics/pokemon/tangela/back_gba.png differ diff --git a/graphics/pokemon/tangela/icon_gba.png b/graphics/pokemon/tangela/icon_gba.png new file mode 100644 index 000000000000..c2a8ee33f6e8 Binary files /dev/null and b/graphics/pokemon/tangela/icon_gba.png differ diff --git a/graphics/pokemon/tangela/normal_gba.pal b/graphics/pokemon/tangela/normal_gba.pal new file mode 100644 index 000000000000..91dc27d45a86 --- /dev/null +++ b/graphics/pokemon/tangela/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +172 222 246 +131 189 213 +65 123 148 +32 65 82 +255 131 131 +222 90 90 +148 41 41 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +180 180 180 +82 82 82 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/tangela/shiny_gba.pal b/graphics/pokemon/tangela/shiny_gba.pal new file mode 100644 index 000000000000..6c8c7fad526e --- /dev/null +++ b/graphics/pokemon/tangela/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +123 222 57 +82 180 16 +41 139 0 +0 74 0 +255 131 131 +222 90 90 +148 41 41 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +180 180 180 +82 82 82 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/tangrowth/overworldf.png b/graphics/pokemon/tangrowth/overworldf.png new file mode 100644 index 000000000000..b3ab26c6d8ca Binary files /dev/null and b/graphics/pokemon/tangrowth/overworldf.png differ diff --git a/graphics/pokemon/tauros/anim_front_gba.png b/graphics/pokemon/tauros/anim_front_gba.png new file mode 100644 index 000000000000..6853a31b1137 Binary files /dev/null and b/graphics/pokemon/tauros/anim_front_gba.png differ diff --git a/graphics/pokemon/tauros/back_gba.png b/graphics/pokemon/tauros/back_gba.png new file mode 100644 index 000000000000..2fac6128311b Binary files /dev/null and b/graphics/pokemon/tauros/back_gba.png differ diff --git a/graphics/pokemon/tauros/icon_gba.png b/graphics/pokemon/tauros/icon_gba.png new file mode 100644 index 000000000000..fc432dab92c0 Binary files /dev/null and b/graphics/pokemon/tauros/icon_gba.png differ diff --git a/graphics/pokemon/tauros/normal_gba.pal b/graphics/pokemon/tauros/normal_gba.pal new file mode 100644 index 000000000000..537af1b4a3eb --- /dev/null +++ b/graphics/pokemon/tauros/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +238 222 255 +205 197 255 +164 148 205 +90 74 106 +255 0 255 +205 189 123 +172 148 90 +123 98 41 +74 49 0 +255 222 106 +238 197 82 +197 156 32 +106 82 16 +16 16 16 diff --git a/graphics/pokemon/tauros/paldean_aqua_breed/back.png b/graphics/pokemon/tauros/paldea_aqua/back.png similarity index 100% rename from graphics/pokemon/tauros/paldean_aqua_breed/back.png rename to graphics/pokemon/tauros/paldea_aqua/back.png diff --git a/graphics/pokemon/tauros/paldean_aqua_breed/front.png b/graphics/pokemon/tauros/paldea_aqua/front.png similarity index 100% rename from graphics/pokemon/tauros/paldean_aqua_breed/front.png rename to graphics/pokemon/tauros/paldea_aqua/front.png diff --git a/graphics/pokemon/tauros/paldean_aqua_breed/icon.png b/graphics/pokemon/tauros/paldea_aqua/icon.png similarity index 100% rename from graphics/pokemon/tauros/paldean_aqua_breed/icon.png rename to graphics/pokemon/tauros/paldea_aqua/icon.png diff --git a/graphics/pokemon/tauros/paldean_aqua_breed/normal.pal b/graphics/pokemon/tauros/paldea_aqua/normal.pal similarity index 100% rename from graphics/pokemon/tauros/paldean_aqua_breed/normal.pal rename to graphics/pokemon/tauros/paldea_aqua/normal.pal diff --git a/graphics/pokemon/tauros/paldean_aqua_breed/overworld.png b/graphics/pokemon/tauros/paldea_aqua/overworld.png similarity index 100% rename from graphics/pokemon/tauros/paldean_aqua_breed/overworld.png rename to graphics/pokemon/tauros/paldea_aqua/overworld.png diff --git a/graphics/pokemon/tauros/paldean_aqua_breed/overworld_normal.pal b/graphics/pokemon/tauros/paldea_aqua/overworld_normal.pal similarity index 100% rename from graphics/pokemon/tauros/paldean_aqua_breed/overworld_normal.pal rename to graphics/pokemon/tauros/paldea_aqua/overworld_normal.pal diff --git a/graphics/pokemon/tauros/paldean_aqua_breed/overworld_shiny.pal b/graphics/pokemon/tauros/paldea_aqua/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/tauros/paldean_aqua_breed/overworld_shiny.pal rename to graphics/pokemon/tauros/paldea_aqua/overworld_shiny.pal diff --git a/graphics/pokemon/tauros/paldean_aqua_breed/shiny.pal b/graphics/pokemon/tauros/paldea_aqua/shiny.pal similarity index 100% rename from graphics/pokemon/tauros/paldean_aqua_breed/shiny.pal rename to graphics/pokemon/tauros/paldea_aqua/shiny.pal diff --git a/graphics/pokemon/tauros/paldean_blaze_breed/back.png b/graphics/pokemon/tauros/paldea_blaze/back.png similarity index 100% rename from graphics/pokemon/tauros/paldean_blaze_breed/back.png rename to graphics/pokemon/tauros/paldea_blaze/back.png diff --git a/graphics/pokemon/tauros/paldean_blaze_breed/front.png b/graphics/pokemon/tauros/paldea_blaze/front.png similarity index 100% rename from graphics/pokemon/tauros/paldean_blaze_breed/front.png rename to graphics/pokemon/tauros/paldea_blaze/front.png diff --git a/graphics/pokemon/tauros/paldean_blaze_breed/icon.png b/graphics/pokemon/tauros/paldea_blaze/icon.png similarity index 100% rename from graphics/pokemon/tauros/paldean_blaze_breed/icon.png rename to graphics/pokemon/tauros/paldea_blaze/icon.png diff --git a/graphics/pokemon/tauros/paldean_blaze_breed/normal.pal b/graphics/pokemon/tauros/paldea_blaze/normal.pal similarity index 100% rename from graphics/pokemon/tauros/paldean_blaze_breed/normal.pal rename to graphics/pokemon/tauros/paldea_blaze/normal.pal diff --git a/graphics/pokemon/tauros/paldean_blaze_breed/overworld.png b/graphics/pokemon/tauros/paldea_blaze/overworld.png similarity index 100% rename from graphics/pokemon/tauros/paldean_blaze_breed/overworld.png rename to graphics/pokemon/tauros/paldea_blaze/overworld.png diff --git a/graphics/pokemon/tauros/paldean_blaze_breed/overworld_normal.pal b/graphics/pokemon/tauros/paldea_blaze/overworld_normal.pal similarity index 100% rename from graphics/pokemon/tauros/paldean_blaze_breed/overworld_normal.pal rename to graphics/pokemon/tauros/paldea_blaze/overworld_normal.pal diff --git a/graphics/pokemon/tauros/paldean_blaze_breed/overworld_shiny.pal b/graphics/pokemon/tauros/paldea_blaze/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/tauros/paldean_blaze_breed/overworld_shiny.pal rename to graphics/pokemon/tauros/paldea_blaze/overworld_shiny.pal diff --git a/graphics/pokemon/tauros/paldean_blaze_breed/shiny.pal b/graphics/pokemon/tauros/paldea_blaze/shiny.pal similarity index 100% rename from graphics/pokemon/tauros/paldean_blaze_breed/shiny.pal rename to graphics/pokemon/tauros/paldea_blaze/shiny.pal diff --git a/graphics/pokemon/tauros/paldean_combat_breed/back.png b/graphics/pokemon/tauros/paldea_combat/back.png similarity index 100% rename from graphics/pokemon/tauros/paldean_combat_breed/back.png rename to graphics/pokemon/tauros/paldea_combat/back.png diff --git a/graphics/pokemon/tauros/paldean_combat_breed/front.png b/graphics/pokemon/tauros/paldea_combat/front.png similarity index 100% rename from graphics/pokemon/tauros/paldean_combat_breed/front.png rename to graphics/pokemon/tauros/paldea_combat/front.png diff --git a/graphics/pokemon/tauros/paldean_combat_breed/icon.png b/graphics/pokemon/tauros/paldea_combat/icon.png similarity index 100% rename from graphics/pokemon/tauros/paldean_combat_breed/icon.png rename to graphics/pokemon/tauros/paldea_combat/icon.png diff --git a/graphics/pokemon/tauros/paldean_combat_breed/normal.pal b/graphics/pokemon/tauros/paldea_combat/normal.pal similarity index 100% rename from graphics/pokemon/tauros/paldean_combat_breed/normal.pal rename to graphics/pokemon/tauros/paldea_combat/normal.pal diff --git a/graphics/pokemon/tauros/paldean_combat_breed/overworld.png b/graphics/pokemon/tauros/paldea_combat/overworld.png similarity index 100% rename from graphics/pokemon/tauros/paldean_combat_breed/overworld.png rename to graphics/pokemon/tauros/paldea_combat/overworld.png diff --git a/graphics/pokemon/tauros/paldean_combat_breed/overworld_normal.pal b/graphics/pokemon/tauros/paldea_combat/overworld_normal.pal similarity index 100% rename from graphics/pokemon/tauros/paldean_combat_breed/overworld_normal.pal rename to graphics/pokemon/tauros/paldea_combat/overworld_normal.pal diff --git a/graphics/pokemon/tauros/paldean_combat_breed/overworld_shiny.pal b/graphics/pokemon/tauros/paldea_combat/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/tauros/paldean_combat_breed/overworld_shiny.pal rename to graphics/pokemon/tauros/paldea_combat/overworld_shiny.pal diff --git a/graphics/pokemon/tauros/paldean_combat_breed/shiny.pal b/graphics/pokemon/tauros/paldea_combat/shiny.pal similarity index 100% rename from graphics/pokemon/tauros/paldean_combat_breed/shiny.pal rename to graphics/pokemon/tauros/paldea_combat/shiny.pal diff --git a/graphics/pokemon/tauros/shiny_gba.pal b/graphics/pokemon/tauros/shiny_gba.pal new file mode 100644 index 000000000000..68da596682f8 --- /dev/null +++ b/graphics/pokemon/tauros/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +238 222 255 +205 197 255 +164 148 205 +90 74 106 +255 0 255 +131 230 65 +82 180 24 +24 123 0 +49 74 24 +255 255 98 +255 230 82 +213 189 57 +131 106 49 +16 16 16 diff --git a/graphics/pokemon/teddiursa/anim_front_gba.png b/graphics/pokemon/teddiursa/anim_front_gba.png new file mode 100644 index 000000000000..ba5f60158cec Binary files /dev/null and b/graphics/pokemon/teddiursa/anim_front_gba.png differ diff --git a/graphics/pokemon/teddiursa/back_gba.png b/graphics/pokemon/teddiursa/back_gba.png new file mode 100644 index 000000000000..d79f39a5bad5 Binary files /dev/null and b/graphics/pokemon/teddiursa/back_gba.png differ diff --git a/graphics/pokemon/teddiursa/icon_gba.png b/graphics/pokemon/teddiursa/icon_gba.png new file mode 100644 index 000000000000..94994c86de38 Binary files /dev/null and b/graphics/pokemon/teddiursa/icon_gba.png differ diff --git a/graphics/pokemon/teddiursa/normal_gba.pal b/graphics/pokemon/teddiursa/normal_gba.pal new file mode 100644 index 000000000000..11192e2c047e --- /dev/null +++ b/graphics/pokemon/teddiursa/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 197 115 +197 164 82 +164 131 57 +123 98 24 +90 65 0 +255 246 164 +255 213 123 +213 172 82 +255 0 255 +255 0 255 +222 222 222 +180 180 189 +106 106 123 +16 16 16 diff --git a/graphics/pokemon/teddiursa/shiny_gba.pal b/graphics/pokemon/teddiursa/shiny_gba.pal new file mode 100644 index 000000000000..0be332569fd3 --- /dev/null +++ b/graphics/pokemon/teddiursa/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 246 123 +164 222 106 +123 180 74 +90 148 49 +57 98 32 +255 246 164 +238 222 123 +172 197 90 +255 0 255 +255 0 255 +222 222 222 +180 180 189 +106 106 123 +16 16 16 diff --git a/graphics/pokemon/tentacool/anim_front_gba.png b/graphics/pokemon/tentacool/anim_front_gba.png new file mode 100644 index 000000000000..6cbb2a47f431 Binary files /dev/null and b/graphics/pokemon/tentacool/anim_front_gba.png differ diff --git a/graphics/pokemon/tentacool/back_gba.png b/graphics/pokemon/tentacool/back_gba.png new file mode 100644 index 000000000000..d603ca052ac2 Binary files /dev/null and b/graphics/pokemon/tentacool/back_gba.png differ diff --git a/graphics/pokemon/tentacool/icon_gba.png b/graphics/pokemon/tentacool/icon_gba.png new file mode 100644 index 000000000000..d29ca1938fc0 Binary files /dev/null and b/graphics/pokemon/tentacool/icon_gba.png differ diff --git a/graphics/pokemon/tentacool/normal_gba.pal b/graphics/pokemon/tentacool/normal_gba.pal new file mode 100644 index 000000000000..686fea273529 --- /dev/null +++ b/graphics/pokemon/tentacool/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +255 197 189 +255 82 74 +180 41 32 +131 16 16 +213 197 148 +180 172 115 +131 131 65 +82 82 32 +213 213 213 +156 230 246 +106 180 230 +74 148 197 +32 82 131 +16 16 16 diff --git a/graphics/pokemon/tentacool/shiny_gba.pal b/graphics/pokemon/tentacool/shiny_gba.pal new file mode 100644 index 000000000000..d90b7d4a0953 --- /dev/null +++ b/graphics/pokemon/tentacool/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +115 197 139 +74 156 98 +32 115 57 +16 74 16 +213 197 148 +180 172 115 +131 131 65 +82 82 32 +213 213 213 +213 213 255 +172 172 230 +131 131 189 +74 74 131 +16 16 16 diff --git a/graphics/pokemon/tentacruel/anim_front_gba.png b/graphics/pokemon/tentacruel/anim_front_gba.png new file mode 100644 index 000000000000..999e8f7b4a55 Binary files /dev/null and b/graphics/pokemon/tentacruel/anim_front_gba.png differ diff --git a/graphics/pokemon/tentacruel/back_gba.png b/graphics/pokemon/tentacruel/back_gba.png new file mode 100644 index 000000000000..232bc9259f84 Binary files /dev/null and b/graphics/pokemon/tentacruel/back_gba.png differ diff --git a/graphics/pokemon/tentacruel/icon_gba.png b/graphics/pokemon/tentacruel/icon_gba.png new file mode 100644 index 000000000000..72b6da9b9976 Binary files /dev/null and b/graphics/pokemon/tentacruel/icon_gba.png differ diff --git a/graphics/pokemon/tentacruel/normal_gba.pal b/graphics/pokemon/tentacruel/normal_gba.pal new file mode 100644 index 000000000000..8e397af8fe7e --- /dev/null +++ b/graphics/pokemon/tentacruel/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +255 197 189 +255 82 74 +180 41 32 +131 16 16 +230 213 164 +180 172 115 +131 131 65 +82 82 32 +213 213 213 +156 230 246 +106 180 230 +74 148 197 +32 82 131 +16 16 16 diff --git a/graphics/pokemon/tentacruel/shiny_gba.pal b/graphics/pokemon/tentacruel/shiny_gba.pal new file mode 100644 index 000000000000..b53f96599671 --- /dev/null +++ b/graphics/pokemon/tentacruel/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +148 189 82 +106 148 41 +65 106 0 +8 49 0 +230 213 164 +180 172 115 +131 131 65 +82 82 32 +222 255 255 +180 222 255 +139 180 213 +98 139 172 +24 65 98 +16 16 16 diff --git a/graphics/pokemon/togepi/anim_front_gba.png b/graphics/pokemon/togepi/anim_front_gba.png new file mode 100644 index 000000000000..e0d71a63aff0 Binary files /dev/null and b/graphics/pokemon/togepi/anim_front_gba.png differ diff --git a/graphics/pokemon/togepi/back_gba.png b/graphics/pokemon/togepi/back_gba.png new file mode 100644 index 000000000000..24858fc227e9 Binary files /dev/null and b/graphics/pokemon/togepi/back_gba.png differ diff --git a/graphics/pokemon/togepi/icon_gba.png b/graphics/pokemon/togepi/icon_gba.png new file mode 100644 index 000000000000..ded646fa16c1 Binary files /dev/null and b/graphics/pokemon/togepi/icon_gba.png differ diff --git a/graphics/pokemon/togepi/normal_gba.pal b/graphics/pokemon/togepi/normal_gba.pal new file mode 100644 index 000000000000..6e9355508dc3 --- /dev/null +++ b/graphics/pokemon/togepi/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +246 246 255 +180 180 197 +106 106 123 +16 16 16 +197 24 0 +255 255 205 +255 246 172 +222 197 115 +172 148 74 +106 57 0 +222 115 115 +197 24 0 +106 131 222 +0 74 213 +205 205 205 diff --git a/graphics/pokemon/togepi/shiny_gba.pal b/graphics/pokemon/togepi/shiny_gba.pal new file mode 100644 index 000000000000..6ce2e1be71bc --- /dev/null +++ b/graphics/pokemon/togepi/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +246 246 255 +180 180 197 +106 106 123 +16 16 16 +197 24 0 +255 255 205 +255 230 172 +213 180 115 +172 131 57 +106 57 0 +106 131 222 +0 74 213 +222 115 115 +197 24 0 +205 205 205 diff --git a/graphics/pokemon/togetic/anim_front_gba.png b/graphics/pokemon/togetic/anim_front_gba.png new file mode 100644 index 000000000000..e233ea9409a4 Binary files /dev/null and b/graphics/pokemon/togetic/anim_front_gba.png differ diff --git a/graphics/pokemon/togetic/back_gba.png b/graphics/pokemon/togetic/back_gba.png new file mode 100644 index 000000000000..f5125735aab7 Binary files /dev/null and b/graphics/pokemon/togetic/back_gba.png differ diff --git a/graphics/pokemon/togetic/icon_gba.png b/graphics/pokemon/togetic/icon_gba.png new file mode 100644 index 000000000000..61e73ab3edef Binary files /dev/null and b/graphics/pokemon/togetic/icon_gba.png differ diff --git a/graphics/pokemon/togetic/normal_gba.pal b/graphics/pokemon/togetic/normal_gba.pal new file mode 100644 index 000000000000..c07ecff88019 --- /dev/null +++ b/graphics/pokemon/togetic/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 197 139 +230 230 238 +205 205 205 +172 172 189 +131 131 148 +90 90 115 +16 16 16 +255 0 255 +255 0 255 +255 0 255 +139 0 0 +222 115 115 +180 0 0 +106 131 222 +0 41 197 +255 255 255 diff --git a/graphics/pokemon/togetic/shiny_gba.pal b/graphics/pokemon/togetic/shiny_gba.pal new file mode 100644 index 000000000000..6d37ce70d0ed --- /dev/null +++ b/graphics/pokemon/togetic/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 246 +230 222 172 +189 180 139 +148 139 32 +106 90 57 +16 16 16 +255 0 255 +255 0 255 +255 0 255 +139 0 0 +106 131 222 +0 41 197 +222 115 115 +180 0 0 +255 255 230 diff --git a/graphics/pokemon/torchic/anim_front_gba.png b/graphics/pokemon/torchic/anim_front_gba.png new file mode 100644 index 000000000000..c1aa67fd13c5 Binary files /dev/null and b/graphics/pokemon/torchic/anim_front_gba.png differ diff --git a/graphics/pokemon/torchic/back_gba.png b/graphics/pokemon/torchic/back_gba.png new file mode 100644 index 000000000000..ed2c53879679 Binary files /dev/null and b/graphics/pokemon/torchic/back_gba.png differ diff --git a/graphics/pokemon/torchic/icon_gba.png b/graphics/pokemon/torchic/icon_gba.png new file mode 100644 index 000000000000..6346e2272ec9 Binary files /dev/null and b/graphics/pokemon/torchic/icon_gba.png differ diff --git a/graphics/pokemon/torchic/normal_gba.pal b/graphics/pokemon/torchic/normal_gba.pal new file mode 100644 index 000000000000..373cb59b74a6 --- /dev/null +++ b/graphics/pokemon/torchic/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 222 148 +213 189 148 +180 148 123 +123 115 123 +255 213 98 +255 197 82 +213 156 57 +139 123 90 +156 205 255 +255 255 255 +255 164 57 +255 106 57 +213 90 57 +90 57 49 +16 16 16 diff --git a/graphics/pokemon/torchic/overworld.png b/graphics/pokemon/torchic/overworld.png index 5513342c36fb..8cd550ae52ba 100644 Binary files a/graphics/pokemon/torchic/overworld.png and b/graphics/pokemon/torchic/overworld.png differ diff --git a/graphics/pokemon/torchic/overworld_normal.pal b/graphics/pokemon/torchic/overworld_normal.pal index 3fd0cd45f491..37aee0ac45d6 100644 --- a/graphics/pokemon/torchic/overworld_normal.pal +++ b/graphics/pokemon/torchic/overworld_normal.pal @@ -11,7 +11,7 @@ JASC-PAL 208 96 0 248 208 96 232 232 248 -0 0 0 +99 99 99 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/torchic/overworld_shiny.pal b/graphics/pokemon/torchic/overworld_shiny.pal index 41312ee0f967..bca621cfcb10 100644 --- a/graphics/pokemon/torchic/overworld_shiny.pal +++ b/graphics/pokemon/torchic/overworld_shiny.pal @@ -11,7 +11,7 @@ JASC-PAL 200 168 48 248 208 152 232 232 248 -0 0 0 +99 99 99 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/torchic/overworldf.png b/graphics/pokemon/torchic/overworldf.png new file mode 100644 index 000000000000..db5074b0019c Binary files /dev/null and b/graphics/pokemon/torchic/overworldf.png differ diff --git a/graphics/pokemon/torchic/shiny_gba.pal b/graphics/pokemon/torchic/shiny_gba.pal new file mode 100644 index 000000000000..368d184945f9 --- /dev/null +++ b/graphics/pokemon/torchic/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +222 180 131 +172 123 90 +123 90 74 +123 115 123 +255 164 57 +238 90 41 +189 57 24 +123 90 74 +156 205 255 +255 255 255 +255 238 172 +255 222 115 +230 164 74 +90 57 49 +16 16 16 diff --git a/graphics/pokemon/torkoal/anim_front_gba.png b/graphics/pokemon/torkoal/anim_front_gba.png new file mode 100644 index 000000000000..17ce45d87a9a Binary files /dev/null and b/graphics/pokemon/torkoal/anim_front_gba.png differ diff --git a/graphics/pokemon/torkoal/back_gba.png b/graphics/pokemon/torkoal/back_gba.png new file mode 100644 index 000000000000..4eb5c4f0e89e Binary files /dev/null and b/graphics/pokemon/torkoal/back_gba.png differ diff --git a/graphics/pokemon/torkoal/icon_gba.png b/graphics/pokemon/torkoal/icon_gba.png new file mode 100644 index 000000000000..077ce40262a2 Binary files /dev/null and b/graphics/pokemon/torkoal/icon_gba.png differ diff --git a/graphics/pokemon/torkoal/normal_gba.pal b/graphics/pokemon/torkoal/normal_gba.pal new file mode 100644 index 000000000000..85caef4913b0 --- /dev/null +++ b/graphics/pokemon/torkoal/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +238 222 213 +213 205 197 +189 172 164 +255 156 106 +230 123 74 +197 82 57 +148 74 49 +131 131 131 +90 90 90 +49 49 49 +255 156 0 +197 131 8 +255 57 0 +90 49 57 +0 0 0 diff --git a/graphics/pokemon/torkoal/shiny_gba.pal b/graphics/pokemon/torkoal/shiny_gba.pal new file mode 100644 index 000000000000..70194b9f1736 --- /dev/null +++ b/graphics/pokemon/torkoal/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +255 238 230 +222 213 205 +205 189 180 +255 230 156 +255 213 106 +222 156 74 +148 90 0 +213 123 123 +180 90 90 +123 32 32 +255 156 0 +197 131 8 +255 57 0 +82 0 0 +0 0 0 diff --git a/graphics/pokemon/totodile/anim_front_gba.png b/graphics/pokemon/totodile/anim_front_gba.png new file mode 100644 index 000000000000..387b24e4762a Binary files /dev/null and b/graphics/pokemon/totodile/anim_front_gba.png differ diff --git a/graphics/pokemon/totodile/back_gba.png b/graphics/pokemon/totodile/back_gba.png new file mode 100644 index 000000000000..1ac54c7bd16a Binary files /dev/null and b/graphics/pokemon/totodile/back_gba.png differ diff --git a/graphics/pokemon/totodile/icon_gba.png b/graphics/pokemon/totodile/icon_gba.png new file mode 100644 index 000000000000..c2bc685213a5 Binary files /dev/null and b/graphics/pokemon/totodile/icon_gba.png differ diff --git a/graphics/pokemon/totodile/normal_gba.pal b/graphics/pokemon/totodile/normal_gba.pal new file mode 100644 index 000000000000..8a68271f60b9 --- /dev/null +++ b/graphics/pokemon/totodile/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 197 164 +255 255 255 +148 213 255 +106 180 230 +49 131 197 +74 74 131 +180 180 180 +255 197 115 +255 90 32 +205 41 16 +123 0 0 +255 90 32 +205 41 16 +255 197 82 +172 131 41 +16 16 16 diff --git a/graphics/pokemon/totodile/shiny_gba.pal b/graphics/pokemon/totodile/shiny_gba.pal new file mode 100644 index 000000000000..609f22253ba1 --- /dev/null +++ b/graphics/pokemon/totodile/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 197 164 +255 255 255 +156 246 189 +106 222 180 +65 172 148 +32 106 90 +180 180 180 +131 180 255 +74 106 197 +49 74 164 +49 65 106 +255 123 74 +197 74 57 +255 197 82 +172 131 41 +16 16 16 diff --git a/graphics/pokemon/toxicroak/overworldf.png b/graphics/pokemon/toxicroak/overworldf.png new file mode 100644 index 000000000000..16c53a9b7536 Binary files /dev/null and b/graphics/pokemon/toxicroak/overworldf.png differ diff --git a/graphics/pokemon/toxtricity/gigantamax/back.png b/graphics/pokemon/toxtricity/gmax/back.png similarity index 100% rename from graphics/pokemon/toxtricity/gigantamax/back.png rename to graphics/pokemon/toxtricity/gmax/back.png diff --git a/graphics/pokemon/toxtricity/gigantamax/front.png b/graphics/pokemon/toxtricity/gmax/front.png similarity index 100% rename from graphics/pokemon/toxtricity/gigantamax/front.png rename to graphics/pokemon/toxtricity/gmax/front.png diff --git a/graphics/pokemon/toxtricity/gigantamax/icon.png b/graphics/pokemon/toxtricity/gmax/icon.png similarity index 100% rename from graphics/pokemon/toxtricity/gigantamax/icon.png rename to graphics/pokemon/toxtricity/gmax/icon.png diff --git a/graphics/pokemon/toxtricity/gigantamax/normal.pal b/graphics/pokemon/toxtricity/gmax/normal.pal similarity index 100% rename from graphics/pokemon/toxtricity/gigantamax/normal.pal rename to graphics/pokemon/toxtricity/gmax/normal.pal diff --git a/graphics/pokemon/toxtricity/gigantamax/shiny.pal b/graphics/pokemon/toxtricity/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/toxtricity/gigantamax/shiny.pal rename to graphics/pokemon/toxtricity/gmax/shiny.pal diff --git a/graphics/pokemon/trapinch/anim_front_gba.png b/graphics/pokemon/trapinch/anim_front_gba.png new file mode 100644 index 000000000000..2ee209fdf4df Binary files /dev/null and b/graphics/pokemon/trapinch/anim_front_gba.png differ diff --git a/graphics/pokemon/trapinch/back_gba.png b/graphics/pokemon/trapinch/back_gba.png new file mode 100644 index 000000000000..61eec3c92ec0 Binary files /dev/null and b/graphics/pokemon/trapinch/back_gba.png differ diff --git a/graphics/pokemon/trapinch/icon_gba.png b/graphics/pokemon/trapinch/icon_gba.png new file mode 100644 index 000000000000..731dbf569fca Binary files /dev/null and b/graphics/pokemon/trapinch/icon_gba.png differ diff --git a/graphics/pokemon/trapinch/normal_gba.pal b/graphics/pokemon/trapinch/normal_gba.pal new file mode 100644 index 000000000000..2344a7eca38d --- /dev/null +++ b/graphics/pokemon/trapinch/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 205 156 +115 65 65 +205 123 115 +238 156 74 +255 189 123 +197 74 49 +172 197 98 +222 246 115 +123 148 74 +0 0 0 +0 0 0 +0 0 0 +65 65 49 +255 255 255 +0 0 0 +32 32 32 diff --git a/graphics/pokemon/trapinch/shiny_gba.pal b/graphics/pokemon/trapinch/shiny_gba.pal new file mode 100644 index 000000000000..87ce33ef0bb4 --- /dev/null +++ b/graphics/pokemon/trapinch/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 205 156 +24 49 41 +90 131 123 +123 164 156 +156 197 189 +197 74 49 +172 197 98 +222 246 115 +123 148 74 +0 0 0 +0 0 0 +0 0 0 +65 65 49 +255 255 255 +0 0 0 +32 32 32 diff --git a/graphics/pokemon/treecko/anim_front_gba.png b/graphics/pokemon/treecko/anim_front_gba.png new file mode 100644 index 000000000000..ce98864ea087 Binary files /dev/null and b/graphics/pokemon/treecko/anim_front_gba.png differ diff --git a/graphics/pokemon/treecko/back_gba.png b/graphics/pokemon/treecko/back_gba.png new file mode 100644 index 000000000000..89e53390dc8d Binary files /dev/null and b/graphics/pokemon/treecko/back_gba.png differ diff --git a/graphics/pokemon/treecko/icon_gba.png b/graphics/pokemon/treecko/icon_gba.png new file mode 100644 index 000000000000..f51358adfe3d Binary files /dev/null and b/graphics/pokemon/treecko/icon_gba.png differ diff --git a/graphics/pokemon/treecko/normal_gba.pal b/graphics/pokemon/treecko/normal_gba.pal new file mode 100644 index 000000000000..987a3a5b9443 --- /dev/null +++ b/graphics/pokemon/treecko/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 106 156 +255 213 123 +255 197 82 +230 156 74 +74 189 131 +255 106 82 +213 82 57 +164 74 49 +24 65 57 +74 139 90 +255 255 255 +189 255 115 +156 213 74 +115 172 49 +82 98 41 +16 16 16 diff --git a/graphics/pokemon/treecko/shiny_gba.pal b/graphics/pokemon/treecko/shiny_gba.pal new file mode 100644 index 000000000000..da5dda0e4fa1 --- /dev/null +++ b/graphics/pokemon/treecko/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 106 156 +255 213 123 +255 197 82 +230 156 74 +255 106 82 +255 238 197 +238 189 156 +205 156 123 +156 65 41 +213 82 57 +255 255 255 +172 230 238 +148 205 213 +74 164 148 +82 139 131 +16 16 16 diff --git a/graphics/pokemon/tropius/anim_front_gba.png b/graphics/pokemon/tropius/anim_front_gba.png new file mode 100644 index 000000000000..62df662a2205 Binary files /dev/null and b/graphics/pokemon/tropius/anim_front_gba.png differ diff --git a/graphics/pokemon/tropius/back_gba.png b/graphics/pokemon/tropius/back_gba.png new file mode 100644 index 000000000000..d948c3dc057b Binary files /dev/null and b/graphics/pokemon/tropius/back_gba.png differ diff --git a/graphics/pokemon/tropius/icon_gba.png b/graphics/pokemon/tropius/icon_gba.png new file mode 100644 index 000000000000..dabfcd295119 Binary files /dev/null and b/graphics/pokemon/tropius/icon_gba.png differ diff --git a/graphics/pokemon/tropius/normal_gba.pal b/graphics/pokemon/tropius/normal_gba.pal new file mode 100644 index 000000000000..efe3d75ab4b2 --- /dev/null +++ b/graphics/pokemon/tropius/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +16 123 189 +32 98 32 +57 172 65 +123 222 139 +189 246 156 +106 74 41 +164 115 49 +189 139 82 +205 164 106 +238 189 57 +255 255 106 +255 255 255 +0 0 0 +230 106 139 +164 82 106 +82 197 90 diff --git a/graphics/pokemon/tropius/shiny_gba.pal b/graphics/pokemon/tropius/shiny_gba.pal new file mode 100644 index 000000000000..cb02cf449172 --- /dev/null +++ b/graphics/pokemon/tropius/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +16 123 189 +49 90 0 +106 148 0 +172 213 32 +205 246 65 +106 74 41 +222 156 8 +246 189 41 +255 222 74 +238 189 57 +255 255 106 +255 255 255 +0 0 0 +230 106 139 +164 82 106 +139 180 0 diff --git a/graphics/pokemon/typhlosion/anim_front_gba.png b/graphics/pokemon/typhlosion/anim_front_gba.png new file mode 100644 index 000000000000..e56996868156 Binary files /dev/null and b/graphics/pokemon/typhlosion/anim_front_gba.png differ diff --git a/graphics/pokemon/typhlosion/back_gba.png b/graphics/pokemon/typhlosion/back_gba.png new file mode 100644 index 000000000000..deb3ffb0da93 Binary files /dev/null and b/graphics/pokemon/typhlosion/back_gba.png differ diff --git a/graphics/pokemon/typhlosion/hisuian/back.png b/graphics/pokemon/typhlosion/hisui/back.png similarity index 100% rename from graphics/pokemon/typhlosion/hisuian/back.png rename to graphics/pokemon/typhlosion/hisui/back.png diff --git a/graphics/pokemon/typhlosion/hisuian/front.png b/graphics/pokemon/typhlosion/hisui/front.png similarity index 100% rename from graphics/pokemon/typhlosion/hisuian/front.png rename to graphics/pokemon/typhlosion/hisui/front.png diff --git a/graphics/pokemon/typhlosion/hisuian/icon.png b/graphics/pokemon/typhlosion/hisui/icon.png similarity index 100% rename from graphics/pokemon/typhlosion/hisuian/icon.png rename to graphics/pokemon/typhlosion/hisui/icon.png diff --git a/graphics/pokemon/typhlosion/hisuian/normal.pal b/graphics/pokemon/typhlosion/hisui/normal.pal similarity index 100% rename from graphics/pokemon/typhlosion/hisuian/normal.pal rename to graphics/pokemon/typhlosion/hisui/normal.pal diff --git a/graphics/pokemon/typhlosion/hisuian/overworld.png b/graphics/pokemon/typhlosion/hisui/overworld.png similarity index 100% rename from graphics/pokemon/typhlosion/hisuian/overworld.png rename to graphics/pokemon/typhlosion/hisui/overworld.png diff --git a/graphics/pokemon/typhlosion/hisuian/overworld_normal.pal b/graphics/pokemon/typhlosion/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/typhlosion/hisuian/overworld_normal.pal rename to graphics/pokemon/typhlosion/hisui/overworld_normal.pal diff --git a/graphics/pokemon/typhlosion/hisuian/overworld_shiny.pal b/graphics/pokemon/typhlosion/hisui/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/typhlosion/hisuian/overworld_shiny.pal rename to graphics/pokemon/typhlosion/hisui/overworld_shiny.pal diff --git a/graphics/pokemon/typhlosion/hisuian/shiny.pal b/graphics/pokemon/typhlosion/hisui/shiny.pal similarity index 100% rename from graphics/pokemon/typhlosion/hisuian/shiny.pal rename to graphics/pokemon/typhlosion/hisui/shiny.pal diff --git a/graphics/pokemon/typhlosion/icon_gba.png b/graphics/pokemon/typhlosion/icon_gba.png new file mode 100644 index 000000000000..e15d7b683229 Binary files /dev/null and b/graphics/pokemon/typhlosion/icon_gba.png differ diff --git a/graphics/pokemon/typhlosion/normal_gba.pal b/graphics/pokemon/typhlosion/normal_gba.pal new file mode 100644 index 000000000000..72f0c9c8c786 --- /dev/null +++ b/graphics/pokemon/typhlosion/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +98 139 180 +65 82 123 +41 57 98 +0 8 74 +255 238 148 +213 197 106 +164 139 74 +98 74 16 +255 222 0 +255 156 0 +255 98 0 +238 8 0 +16 16 16 +255 255 197 diff --git a/graphics/pokemon/typhlosion/shiny_gba.pal b/graphics/pokemon/typhlosion/shiny_gba.pal new file mode 100644 index 000000000000..42fb4ee9c002 --- /dev/null +++ b/graphics/pokemon/typhlosion/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 106 90 +172 65 74 +131 41 65 +106 32 41 +255 230 115 +222 197 82 +172 139 49 +139 82 24 +255 222 0 +255 156 0 +255 98 0 +238 0 0 +16 16 16 +255 246 156 diff --git a/graphics/pokemon/tyranitar/anim_front_gba.png b/graphics/pokemon/tyranitar/anim_front_gba.png new file mode 100644 index 000000000000..33cf099b811e Binary files /dev/null and b/graphics/pokemon/tyranitar/anim_front_gba.png differ diff --git a/graphics/pokemon/tyranitar/back_gba.png b/graphics/pokemon/tyranitar/back_gba.png new file mode 100644 index 000000000000..273318be0cea Binary files /dev/null and b/graphics/pokemon/tyranitar/back_gba.png differ diff --git a/graphics/pokemon/tyranitar/icon_gba.png b/graphics/pokemon/tyranitar/icon_gba.png new file mode 100644 index 000000000000..76113bc68ab2 Binary files /dev/null and b/graphics/pokemon/tyranitar/icon_gba.png differ diff --git a/graphics/pokemon/tyranitar/normal_gba.pal b/graphics/pokemon/tyranitar/normal_gba.pal new file mode 100644 index 000000000000..6c5e2941c3bc --- /dev/null +++ b/graphics/pokemon/tyranitar/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +197 238 197 +164 213 164 +115 164 115 +57 82 57 +255 0 255 +98 180 255 +74 156 230 +32 123 189 +0 74 139 +213 82 0 +148 41 0 +197 197 197 +115 115 115 +16 16 16 diff --git a/graphics/pokemon/tyranitar/shiny_gba.pal b/graphics/pokemon/tyranitar/shiny_gba.pal new file mode 100644 index 000000000000..3090536a94ac --- /dev/null +++ b/graphics/pokemon/tyranitar/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 213 148 +222 189 123 +172 139 82 +106 74 41 +255 0 255 +238 172 213 +213 148 197 +164 98 156 +106 49 98 +213 82 0 +148 41 0 +197 197 197 +115 115 115 +16 16 16 diff --git a/graphics/pokemon/tyrogue/anim_front_gba.png b/graphics/pokemon/tyrogue/anim_front_gba.png new file mode 100644 index 000000000000..038a2795cd92 Binary files /dev/null and b/graphics/pokemon/tyrogue/anim_front_gba.png differ diff --git a/graphics/pokemon/tyrogue/back_gba.png b/graphics/pokemon/tyrogue/back_gba.png new file mode 100644 index 000000000000..1d6b2e198f45 Binary files /dev/null and b/graphics/pokemon/tyrogue/back_gba.png differ diff --git a/graphics/pokemon/tyrogue/icon_gba.png b/graphics/pokemon/tyrogue/icon_gba.png new file mode 100644 index 000000000000..10099d5cff34 Binary files /dev/null and b/graphics/pokemon/tyrogue/icon_gba.png differ diff --git a/graphics/pokemon/tyrogue/normal_gba.pal b/graphics/pokemon/tyrogue/normal_gba.pal new file mode 100644 index 000000000000..97bff078312d --- /dev/null +++ b/graphics/pokemon/tyrogue/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 222 255 +238 172 255 +205 131 205 +172 98 156 +131 49 90 +230 139 65 +205 98 41 +180 49 0 +115 0 0 +230 139 65 +180 49 0 +213 213 213 +172 172 172 +16 16 16 diff --git a/graphics/pokemon/tyrogue/shiny_gba.pal b/graphics/pokemon/tyrogue/shiny_gba.pal new file mode 100644 index 000000000000..e8fef8a16f34 --- /dev/null +++ b/graphics/pokemon/tyrogue/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 230 205 +205 197 172 +156 148 131 +106 98 90 +90 82 65 +82 180 255 +65 139 230 +49 82 180 +32 65 131 +230 139 65 +180 49 0 +213 213 213 +172 172 172 +16 16 16 diff --git a/graphics/pokemon/umbreon/anim_front_gba.png b/graphics/pokemon/umbreon/anim_front_gba.png new file mode 100644 index 000000000000..dc73728507ec Binary files /dev/null and b/graphics/pokemon/umbreon/anim_front_gba.png differ diff --git a/graphics/pokemon/umbreon/back_gba.png b/graphics/pokemon/umbreon/back_gba.png new file mode 100644 index 000000000000..d73508aedecf Binary files /dev/null and b/graphics/pokemon/umbreon/back_gba.png differ diff --git a/graphics/pokemon/umbreon/icon_gba.png b/graphics/pokemon/umbreon/icon_gba.png new file mode 100644 index 000000000000..8d8d867c2fa3 Binary files /dev/null and b/graphics/pokemon/umbreon/icon_gba.png differ diff --git a/graphics/pokemon/umbreon/normal_gba.pal b/graphics/pokemon/umbreon/normal_gba.pal new file mode 100644 index 000000000000..dc6ec68e6f7b --- /dev/null +++ b/graphics/pokemon/umbreon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +49 41 41 +65 57 57 +90 82 82 +148 131 131 +180 164 164 +139 98 0 +205 148 41 +255 197 0 +255 238 139 +255 0 255 +16 16 16 +255 90 57 +255 255 255 diff --git a/graphics/pokemon/umbreon/shiny_gba.pal b/graphics/pokemon/umbreon/shiny_gba.pal new file mode 100644 index 000000000000..82c71e1ae5ad --- /dev/null +++ b/graphics/pokemon/umbreon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +49 41 41 +65 57 57 +90 82 82 +148 131 131 +180 164 164 +32 74 148 +41 106 230 +98 180 255 +148 230 255 +255 0 255 +16 16 16 +255 213 16 +255 255 255 diff --git a/graphics/pokemon/unfezant/overworld_normalf.pal b/graphics/pokemon/unfezant/overworld_normalf.pal new file mode 100644 index 000000000000..1d5dbfc8282e --- /dev/null +++ b/graphics/pokemon/unfezant/overworld_normalf.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +153 210 164 +36 36 36 +66 66 66 +0 0 0 +141 141 141 +207 207 207 +159 124 25 +246 187 37 +106 106 106 +51 37 25 +246 187 31 +226 226 246 +141 98 44 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/unfezant/overworld_shinyf.pal b/graphics/pokemon/unfezant/overworld_shinyf.pal new file mode 100644 index 000000000000..db2e72e0eea7 --- /dev/null +++ b/graphics/pokemon/unfezant/overworld_shinyf.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +153 210 164 +32 32 24 +88 64 40 +0 0 0 +168 160 128 +200 200 176 +160 120 64 +246 187 37 +106 106 106 +51 37 25 +248 184 0 +226 226 246 +248 152 32 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/unfezant/followerf.png b/graphics/pokemon/unfezant/overworldf.png similarity index 100% rename from graphics/pokemon/unfezant/followerf.png rename to graphics/pokemon/unfezant/overworldf.png diff --git a/graphics/pokemon/unfezant_f/overworld.png b/graphics/pokemon/unfezant_f/overworld.png deleted file mode 100644 index ae5e096b4bc2..000000000000 Binary files a/graphics/pokemon/unfezant_f/overworld.png and /dev/null differ diff --git a/graphics/pokemon/unown/exclamation_mark/back.png b/graphics/pokemon/unown/exclamation/back.png similarity index 100% rename from graphics/pokemon/unown/exclamation_mark/back.png rename to graphics/pokemon/unown/exclamation/back.png diff --git a/graphics/pokemon/unown/exclamation_mark/front.png b/graphics/pokemon/unown/exclamation/front.png similarity index 100% rename from graphics/pokemon/unown/exclamation_mark/front.png rename to graphics/pokemon/unown/exclamation/front.png diff --git a/graphics/pokemon/unown/exclamation_mark/icon.png b/graphics/pokemon/unown/exclamation/icon.png similarity index 100% rename from graphics/pokemon/unown/exclamation_mark/icon.png rename to graphics/pokemon/unown/exclamation/icon.png diff --git a/graphics/pokemon/unown/exclamation_mark/overworld.png b/graphics/pokemon/unown/exclamation/overworld.png similarity index 100% rename from graphics/pokemon/unown/exclamation_mark/overworld.png rename to graphics/pokemon/unown/exclamation/overworld.png diff --git a/graphics/pokemon/unown/question_mark/back.png b/graphics/pokemon/unown/question/back.png similarity index 100% rename from graphics/pokemon/unown/question_mark/back.png rename to graphics/pokemon/unown/question/back.png diff --git a/graphics/pokemon/unown/question_mark/front.png b/graphics/pokemon/unown/question/front.png similarity index 100% rename from graphics/pokemon/unown/question_mark/front.png rename to graphics/pokemon/unown/question/front.png diff --git a/graphics/pokemon/unown/question_mark/icon.png b/graphics/pokemon/unown/question/icon.png similarity index 100% rename from graphics/pokemon/unown/question_mark/icon.png rename to graphics/pokemon/unown/question/icon.png diff --git a/graphics/pokemon/unown/question_mark/overworld.png b/graphics/pokemon/unown/question/overworld.png similarity index 100% rename from graphics/pokemon/unown/question_mark/overworld.png rename to graphics/pokemon/unown/question/overworld.png diff --git a/graphics/pokemon/ursaring/anim_front_gba.png b/graphics/pokemon/ursaring/anim_front_gba.png new file mode 100644 index 000000000000..eb9e307ce61c Binary files /dev/null and b/graphics/pokemon/ursaring/anim_front_gba.png differ diff --git a/graphics/pokemon/ursaring/back_gba.png b/graphics/pokemon/ursaring/back_gba.png new file mode 100644 index 000000000000..4a546c055a9f Binary files /dev/null and b/graphics/pokemon/ursaring/back_gba.png differ diff --git a/graphics/pokemon/ursaring/icon_gba.png b/graphics/pokemon/ursaring/icon_gba.png new file mode 100644 index 000000000000..143353f31f1b Binary files /dev/null and b/graphics/pokemon/ursaring/icon_gba.png differ diff --git a/graphics/pokemon/ursaring/normal_gba.pal b/graphics/pokemon/ursaring/normal_gba.pal new file mode 100644 index 000000000000..6af3469ebdc2 --- /dev/null +++ b/graphics/pokemon/ursaring/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 197 115 +197 164 82 +164 131 57 +123 98 24 +74 49 0 +255 246 164 +255 213 123 +213 172 82 +180 131 41 +238 82 106 +222 222 222 +180 180 189 +123 123 139 +16 16 16 diff --git a/graphics/pokemon/ursaring/overworldf.png b/graphics/pokemon/ursaring/overworldf.png new file mode 100644 index 000000000000..f36f7c4cdeab Binary files /dev/null and b/graphics/pokemon/ursaring/overworldf.png differ diff --git a/graphics/pokemon/ursaring/shiny_gba.pal b/graphics/pokemon/ursaring/shiny_gba.pal new file mode 100644 index 000000000000..607975efae0e --- /dev/null +++ b/graphics/pokemon/ursaring/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +164 230 65 +131 205 41 +98 172 16 +65 139 0 +57 82 0 +255 246 164 +255 213 123 +213 172 82 +180 131 41 +238 82 106 +222 222 222 +180 180 189 +123 123 139 +16 16 16 diff --git a/graphics/pokemon/urshifu/rapid_strike_style/back.png b/graphics/pokemon/urshifu/rapid_strike/back.png similarity index 100% rename from graphics/pokemon/urshifu/rapid_strike_style/back.png rename to graphics/pokemon/urshifu/rapid_strike/back.png diff --git a/graphics/pokemon/urshifu/rapid_strike_style/front.png b/graphics/pokemon/urshifu/rapid_strike/front.png similarity index 100% rename from graphics/pokemon/urshifu/rapid_strike_style/front.png rename to graphics/pokemon/urshifu/rapid_strike/front.png diff --git a/graphics/pokemon/urshifu/rapid_strike_style/normal.pal b/graphics/pokemon/urshifu/rapid_strike/normal.pal similarity index 100% rename from graphics/pokemon/urshifu/rapid_strike_style/normal.pal rename to graphics/pokemon/urshifu/rapid_strike/normal.pal diff --git a/graphics/pokemon/urshifu/rapid_strike_style/shiny.pal b/graphics/pokemon/urshifu/rapid_strike/shiny.pal similarity index 100% rename from graphics/pokemon/urshifu/rapid_strike_style/shiny.pal rename to graphics/pokemon/urshifu/rapid_strike/shiny.pal diff --git a/graphics/pokemon/urshifu/rapid_strike_style_gigantamax/back.png b/graphics/pokemon/urshifu/rapid_strike_gmax/back.png similarity index 100% rename from graphics/pokemon/urshifu/rapid_strike_style_gigantamax/back.png rename to graphics/pokemon/urshifu/rapid_strike_gmax/back.png diff --git a/graphics/pokemon/urshifu/rapid_strike_style_gigantamax/front.png b/graphics/pokemon/urshifu/rapid_strike_gmax/front.png similarity index 100% rename from graphics/pokemon/urshifu/rapid_strike_style_gigantamax/front.png rename to graphics/pokemon/urshifu/rapid_strike_gmax/front.png diff --git a/graphics/pokemon/urshifu/rapid_strike_style_gigantamax/icon.png b/graphics/pokemon/urshifu/rapid_strike_gmax/icon.png similarity index 100% rename from graphics/pokemon/urshifu/rapid_strike_style_gigantamax/icon.png rename to graphics/pokemon/urshifu/rapid_strike_gmax/icon.png diff --git a/graphics/pokemon/urshifu/rapid_strike_style_gigantamax/normal.pal b/graphics/pokemon/urshifu/rapid_strike_gmax/normal.pal similarity index 100% rename from graphics/pokemon/urshifu/rapid_strike_style_gigantamax/normal.pal rename to graphics/pokemon/urshifu/rapid_strike_gmax/normal.pal diff --git a/graphics/pokemon/urshifu/rapid_strike_style_gigantamax/shiny.pal b/graphics/pokemon/urshifu/rapid_strike_gmax/shiny.pal similarity index 100% rename from graphics/pokemon/urshifu/rapid_strike_style_gigantamax/shiny.pal rename to graphics/pokemon/urshifu/rapid_strike_gmax/shiny.pal diff --git a/graphics/pokemon/urshifu/single_strike_style_gigantamax/back.png b/graphics/pokemon/urshifu/single_strike_gmax/back.png similarity index 100% rename from graphics/pokemon/urshifu/single_strike_style_gigantamax/back.png rename to graphics/pokemon/urshifu/single_strike_gmax/back.png diff --git a/graphics/pokemon/urshifu/single_strike_style_gigantamax/front.png b/graphics/pokemon/urshifu/single_strike_gmax/front.png similarity index 100% rename from graphics/pokemon/urshifu/single_strike_style_gigantamax/front.png rename to graphics/pokemon/urshifu/single_strike_gmax/front.png diff --git a/graphics/pokemon/urshifu/single_strike_style_gigantamax/icon.png b/graphics/pokemon/urshifu/single_strike_gmax/icon.png similarity index 100% rename from graphics/pokemon/urshifu/single_strike_style_gigantamax/icon.png rename to graphics/pokemon/urshifu/single_strike_gmax/icon.png diff --git a/graphics/pokemon/urshifu/single_strike_style_gigantamax/normal.pal b/graphics/pokemon/urshifu/single_strike_gmax/normal.pal similarity index 100% rename from graphics/pokemon/urshifu/single_strike_style_gigantamax/normal.pal rename to graphics/pokemon/urshifu/single_strike_gmax/normal.pal diff --git a/graphics/pokemon/urshifu/single_strike_style_gigantamax/shiny.pal b/graphics/pokemon/urshifu/single_strike_gmax/shiny.pal similarity index 100% rename from graphics/pokemon/urshifu/single_strike_style_gigantamax/shiny.pal rename to graphics/pokemon/urshifu/single_strike_gmax/shiny.pal diff --git a/graphics/pokemon/vaporeon/anim_front_gba.png b/graphics/pokemon/vaporeon/anim_front_gba.png new file mode 100644 index 000000000000..f3eb2d626f37 Binary files /dev/null and b/graphics/pokemon/vaporeon/anim_front_gba.png differ diff --git a/graphics/pokemon/vaporeon/back_gba.png b/graphics/pokemon/vaporeon/back_gba.png new file mode 100644 index 000000000000..5ac5b94fb8e4 Binary files /dev/null and b/graphics/pokemon/vaporeon/back_gba.png differ diff --git a/graphics/pokemon/vaporeon/icon_gba.png b/graphics/pokemon/vaporeon/icon_gba.png new file mode 100644 index 000000000000..d4003c2a8407 Binary files /dev/null and b/graphics/pokemon/vaporeon/icon_gba.png differ diff --git a/graphics/pokemon/vaporeon/normal_gba.pal b/graphics/pokemon/vaporeon/normal_gba.pal new file mode 100644 index 000000000000..e6a4024f1b5e --- /dev/null +++ b/graphics/pokemon/vaporeon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +230 230 230 +172 172 205 +255 238 123 +230 189 74 +139 123 41 +115 139 180 +90 115 156 +49 65 123 +90 90 115 +131 238 213 +98 205 180 +57 164 139 +16 106 82 +41 41 41 diff --git a/graphics/pokemon/vaporeon/shiny_gba.pal b/graphics/pokemon/vaporeon/shiny_gba.pal new file mode 100644 index 000000000000..1cfaae92b4c8 --- /dev/null +++ b/graphics/pokemon/vaporeon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +230 230 230 +172 172 205 +255 255 156 +230 197 74 +139 139 16 +172 90 115 +180 115 156 +131 57 90 +90 90 115 +255 197 246 +230 172 230 +189 131 197 +123 65 139 +41 41 41 diff --git a/graphics/pokemon/venomoth/anim_front_gba.png b/graphics/pokemon/venomoth/anim_front_gba.png new file mode 100644 index 000000000000..55704df3459e Binary files /dev/null and b/graphics/pokemon/venomoth/anim_front_gba.png differ diff --git a/graphics/pokemon/venomoth/back_gba.png b/graphics/pokemon/venomoth/back_gba.png new file mode 100644 index 000000000000..56b1b5b7a048 Binary files /dev/null and b/graphics/pokemon/venomoth/back_gba.png differ diff --git a/graphics/pokemon/venomoth/icon_gba.png b/graphics/pokemon/venomoth/icon_gba.png new file mode 100644 index 000000000000..d77b6dce86f8 Binary files /dev/null and b/graphics/pokemon/venomoth/icon_gba.png differ diff --git a/graphics/pokemon/venomoth/normal_gba.pal b/graphics/pokemon/venomoth/normal_gba.pal new file mode 100644 index 000000000000..c9b3d325d713 --- /dev/null +++ b/graphics/pokemon/venomoth/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +230 230 230 +172 197 197 +230 213 172 +197 172 139 +164 131 106 +98 82 57 +238 230 98 +246 213 82 +16 16 16 +255 230 255 +238 197 255 +213 172 222 +172 139 205 +106 57 148 diff --git a/graphics/pokemon/venomoth/shiny_gba.pal b/graphics/pokemon/venomoth/shiny_gba.pal new file mode 100644 index 000000000000..a490c4985f2e --- /dev/null +++ b/graphics/pokemon/venomoth/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +230 230 230 +172 197 197 +230 213 172 +197 172 139 +164 131 106 +98 82 57 +238 230 98 +246 213 82 +16 16 16 +213 238 255 +172 197 238 +131 156 197 +90 115 156 +49 74 115 diff --git a/graphics/pokemon/venonat/anim_front_gba.png b/graphics/pokemon/venonat/anim_front_gba.png new file mode 100644 index 000000000000..a8c726b2ccce Binary files /dev/null and b/graphics/pokemon/venonat/anim_front_gba.png differ diff --git a/graphics/pokemon/venonat/back_gba.png b/graphics/pokemon/venonat/back_gba.png new file mode 100644 index 000000000000..44f7f45c503e Binary files /dev/null and b/graphics/pokemon/venonat/back_gba.png differ diff --git a/graphics/pokemon/venonat/icon_gba.png b/graphics/pokemon/venonat/icon_gba.png new file mode 100644 index 000000000000..a2ed54b71724 Binary files /dev/null and b/graphics/pokemon/venonat/icon_gba.png differ diff --git a/graphics/pokemon/venonat/normal_gba.pal b/graphics/pokemon/venonat/normal_gba.pal new file mode 100644 index 000000000000..ae66984161c7 --- /dev/null +++ b/graphics/pokemon/venonat/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +148 115 164 +213 213 213 +131 131 131 +255 205 222 +255 123 82 +197 82 32 +238 189 156 +189 139 106 +139 90 57 +180 123 197 +148 82 164 +106 65 115 +65 16 82 +16 16 16 diff --git a/graphics/pokemon/venonat/shiny_gba.pal b/graphics/pokemon/venonat/shiny_gba.pal new file mode 100644 index 000000000000..88c346a27bf9 --- /dev/null +++ b/graphics/pokemon/venonat/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +148 115 164 +213 213 213 +131 131 131 +156 230 255 +106 180 255 +57 131 197 +238 189 156 +189 139 106 +139 90 57 +180 123 197 +148 82 164 +106 65 115 +65 16 82 +16 16 16 diff --git a/graphics/pokemon/venusaur/anim_front_gba.png b/graphics/pokemon/venusaur/anim_front_gba.png new file mode 100644 index 000000000000..7a1157fe34ad Binary files /dev/null and b/graphics/pokemon/venusaur/anim_front_gba.png differ diff --git a/graphics/pokemon/venusaur/back_gba.png b/graphics/pokemon/venusaur/back_gba.png new file mode 100644 index 000000000000..78649eeee2d5 Binary files /dev/null and b/graphics/pokemon/venusaur/back_gba.png differ diff --git a/graphics/pokemon/venusaur/gigantamax/back.png b/graphics/pokemon/venusaur/gmax/back.png similarity index 100% rename from graphics/pokemon/venusaur/gigantamax/back.png rename to graphics/pokemon/venusaur/gmax/back.png diff --git a/graphics/pokemon/venusaur/gigantamax/front.png b/graphics/pokemon/venusaur/gmax/front.png similarity index 100% rename from graphics/pokemon/venusaur/gigantamax/front.png rename to graphics/pokemon/venusaur/gmax/front.png diff --git a/graphics/pokemon/venusaur/gigantamax/icon.png b/graphics/pokemon/venusaur/gmax/icon.png similarity index 100% rename from graphics/pokemon/venusaur/gigantamax/icon.png rename to graphics/pokemon/venusaur/gmax/icon.png diff --git a/graphics/pokemon/venusaur/gigantamax/normal.pal b/graphics/pokemon/venusaur/gmax/normal.pal similarity index 100% rename from graphics/pokemon/venusaur/gigantamax/normal.pal rename to graphics/pokemon/venusaur/gmax/normal.pal diff --git a/graphics/pokemon/venusaur/gigantamax/shiny.pal b/graphics/pokemon/venusaur/gmax/shiny.pal similarity index 100% rename from graphics/pokemon/venusaur/gigantamax/shiny.pal rename to graphics/pokemon/venusaur/gmax/shiny.pal diff --git a/graphics/pokemon/venusaur/icon_gba.png b/graphics/pokemon/venusaur/icon_gba.png new file mode 100644 index 000000000000..fbd5380f5dc7 Binary files /dev/null and b/graphics/pokemon/venusaur/icon_gba.png differ diff --git a/graphics/pokemon/venusaur/normal_gba.pal b/graphics/pokemon/venusaur/normal_gba.pal new file mode 100644 index 000000000000..362bb6d929a5 --- /dev/null +++ b/graphics/pokemon/venusaur/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 82 32 +32 148 90 +90 205 148 +131 238 197 +131 49 0 +189 106 49 +16 16 16 +222 65 65 +255 131 115 +156 246 139 +222 205 49 +255 238 82 +65 164 24 +106 205 65 +255 255 255 diff --git a/graphics/pokemon/venusaur/overworldf.png b/graphics/pokemon/venusaur/overworldf.png new file mode 100644 index 000000000000..d58b1c7c3872 Binary files /dev/null and b/graphics/pokemon/venusaur/overworldf.png differ diff --git a/graphics/pokemon/venusaur/shiny_gba.pal b/graphics/pokemon/venusaur/shiny_gba.pal new file mode 100644 index 000000000000..5662463940a6 --- /dev/null +++ b/graphics/pokemon/venusaur/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 82 32 +131 164 0 +180 213 16 +213 246 49 +131 49 0 +189 106 49 +16 16 16 +255 148 0 +255 197 41 +156 246 139 +255 238 82 +255 255 255 +41 164 16 +82 205 57 +255 255 255 diff --git a/graphics/pokemon/vibrava/anim_front_gba.png b/graphics/pokemon/vibrava/anim_front_gba.png new file mode 100644 index 000000000000..6f58b89bbf8f Binary files /dev/null and b/graphics/pokemon/vibrava/anim_front_gba.png differ diff --git a/graphics/pokemon/vibrava/back_gba.png b/graphics/pokemon/vibrava/back_gba.png new file mode 100644 index 000000000000..c5a0eb60b184 Binary files /dev/null and b/graphics/pokemon/vibrava/back_gba.png differ diff --git a/graphics/pokemon/vibrava/icon_gba.png b/graphics/pokemon/vibrava/icon_gba.png new file mode 100644 index 000000000000..422ea2359366 Binary files /dev/null and b/graphics/pokemon/vibrava/icon_gba.png differ diff --git a/graphics/pokemon/vibrava/normal_gba.pal b/graphics/pokemon/vibrava/normal_gba.pal new file mode 100644 index 000000000000..7f40d2316346 --- /dev/null +++ b/graphics/pokemon/vibrava/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +139 238 180 +98 197 148 +49 139 98 +255 255 164 +230 213 139 +189 180 123 +222 222 255 +189 189 222 +205 205 205 +123 115 57 +0 0 0 +164 164 164 +131 131 131 +82 82 82 +255 255 255 diff --git a/graphics/pokemon/vibrava/shiny_gba.pal b/graphics/pokemon/vibrava/shiny_gba.pal new file mode 100644 index 000000000000..8da128d69fe3 --- /dev/null +++ b/graphics/pokemon/vibrava/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +255 180 123 +246 123 74 +197 82 24 +255 255 164 +230 213 139 +189 180 123 +222 222 255 +189 189 222 +205 205 205 +123 115 57 +0 0 0 +164 164 164 +131 131 131 +106 106 106 +255 255 255 diff --git a/graphics/pokemon/victreebel/anim_front_gba.png b/graphics/pokemon/victreebel/anim_front_gba.png new file mode 100644 index 000000000000..3615e31a1147 Binary files /dev/null and b/graphics/pokemon/victreebel/anim_front_gba.png differ diff --git a/graphics/pokemon/victreebel/back_gba.png b/graphics/pokemon/victreebel/back_gba.png new file mode 100644 index 000000000000..a92b61f7a205 Binary files /dev/null and b/graphics/pokemon/victreebel/back_gba.png differ diff --git a/graphics/pokemon/victreebel/icon_gba.png b/graphics/pokemon/victreebel/icon_gba.png new file mode 100644 index 000000000000..49298177ec9e Binary files /dev/null and b/graphics/pokemon/victreebel/icon_gba.png differ diff --git a/graphics/pokemon/victreebel/normal_gba.pal b/graphics/pokemon/victreebel/normal_gba.pal new file mode 100644 index 000000000000..635eae0aba18 --- /dev/null +++ b/graphics/pokemon/victreebel/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +180 131 41 +213 213 213 +255 164 115 +213 74 32 +255 230 156 +255 213 106 +230 172 90 +189 255 115 +156 213 74 +115 172 49 +82 98 41 +180 123 49 +106 65 0 +16 16 16 diff --git a/graphics/pokemon/victreebel/shiny_gba.pal b/graphics/pokemon/victreebel/shiny_gba.pal new file mode 100644 index 000000000000..2542072f3683 --- /dev/null +++ b/graphics/pokemon/victreebel/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +131 148 8 +213 213 213 +90 156 222 +49 115 180 +255 255 156 +230 255 106 +189 213 65 +238 213 115 +197 172 74 +156 131 32 +106 82 16 +180 123 49 +106 65 0 +16 16 16 diff --git a/graphics/pokemon/vigoroth/anim_front_gba.png b/graphics/pokemon/vigoroth/anim_front_gba.png new file mode 100644 index 000000000000..cbf7519a0736 Binary files /dev/null and b/graphics/pokemon/vigoroth/anim_front_gba.png differ diff --git a/graphics/pokemon/vigoroth/back_gba.png b/graphics/pokemon/vigoroth/back_gba.png new file mode 100644 index 000000000000..7d806e703c04 Binary files /dev/null and b/graphics/pokemon/vigoroth/back_gba.png differ diff --git a/graphics/pokemon/vigoroth/icon_gba.png b/graphics/pokemon/vigoroth/icon_gba.png new file mode 100644 index 000000000000..f8808cde3792 Binary files /dev/null and b/graphics/pokemon/vigoroth/icon_gba.png differ diff --git a/graphics/pokemon/vigoroth/normal_gba.pal b/graphics/pokemon/vigoroth/normal_gba.pal new file mode 100644 index 000000000000..824efe7113c2 --- /dev/null +++ b/graphics/pokemon/vigoroth/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +74 123 164 +82 65 32 +115 49 49 +115 82 41 +139 106 65 +65 65 65 +131 131 131 +205 205 205 +255 255 255 +139 65 90 +213 57 49 +255 98 98 +230 230 230 +172 131 98 +90 90 82 +0 0 0 diff --git a/graphics/pokemon/vigoroth/shiny_gba.pal b/graphics/pokemon/vigoroth/shiny_gba.pal new file mode 100644 index 000000000000..adc647979c29 --- /dev/null +++ b/graphics/pokemon/vigoroth/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +74 123 164 +82 65 32 +115 49 49 +115 82 41 +139 106 65 +65 65 65 +205 148 82 +246 213 115 +255 255 255 +172 74 0 +230 82 24 +255 164 98 +255 238 156 +172 131 98 +90 90 82 +0 0 0 diff --git a/graphics/pokemon/vileplume/anim_front_gba.png b/graphics/pokemon/vileplume/anim_front_gba.png new file mode 100644 index 000000000000..e4fffcf76be3 Binary files /dev/null and b/graphics/pokemon/vileplume/anim_front_gba.png differ diff --git a/graphics/pokemon/vileplume/back_gba.png b/graphics/pokemon/vileplume/back_gba.png new file mode 100644 index 000000000000..6c441efb3f81 Binary files /dev/null and b/graphics/pokemon/vileplume/back_gba.png differ diff --git a/graphics/pokemon/vileplume/icon_gba.png b/graphics/pokemon/vileplume/icon_gba.png new file mode 100644 index 000000000000..7009048c53e7 Binary files /dev/null and b/graphics/pokemon/vileplume/icon_gba.png differ diff --git a/graphics/pokemon/vileplume/normal_gba.pal b/graphics/pokemon/vileplume/normal_gba.pal new file mode 100644 index 000000000000..96d98b0d94d1 --- /dev/null +++ b/graphics/pokemon/vileplume/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 230 156 +230 172 90 +189 131 49 +255 172 131 +255 123 82 +222 98 49 +164 49 32 +255 222 222 +255 180 189 +148 180 197 +115 148 164 +82 115 131 +32 65 82 +16 16 16 diff --git a/graphics/pokemon/vileplume/overworldf.png b/graphics/pokemon/vileplume/overworldf.png new file mode 100644 index 000000000000..9cf8512f7dc6 Binary files /dev/null and b/graphics/pokemon/vileplume/overworldf.png differ diff --git a/graphics/pokemon/vileplume/shiny_gba.pal b/graphics/pokemon/vileplume/shiny_gba.pal new file mode 100644 index 000000000000..b0bd4468f9b5 --- /dev/null +++ b/graphics/pokemon/vileplume/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 230 156 +230 172 90 +189 131 49 +255 230 148 +255 189 106 +230 148 65 +172 90 24 +255 222 222 +255 180 189 +156 197 148 +115 156 106 +74 115 65 +32 74 24 +16 16 16 diff --git a/graphics/pokemon/volbeat/anim_front_gba.png b/graphics/pokemon/volbeat/anim_front_gba.png new file mode 100644 index 000000000000..945ed140054c Binary files /dev/null and b/graphics/pokemon/volbeat/anim_front_gba.png differ diff --git a/graphics/pokemon/volbeat/back_gba.png b/graphics/pokemon/volbeat/back_gba.png new file mode 100644 index 000000000000..217b966ed355 Binary files /dev/null and b/graphics/pokemon/volbeat/back_gba.png differ diff --git a/graphics/pokemon/volbeat/icon_gba.png b/graphics/pokemon/volbeat/icon_gba.png new file mode 100644 index 000000000000..849715d33cd6 Binary files /dev/null and b/graphics/pokemon/volbeat/icon_gba.png differ diff --git a/graphics/pokemon/volbeat/normal_gba.pal b/graphics/pokemon/volbeat/normal_gba.pal new file mode 100644 index 000000000000..8d2cedfa8de6 --- /dev/null +++ b/graphics/pokemon/volbeat/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +222 222 222 +139 139 148 +74 74 82 +0 0 0 +246 131 115 +230 82 98 +205 57 82 +139 49 74 +255 230 82 +222 189 82 +98 74 49 +164 180 197 +123 139 164 +74 82 106 +255 255 255 diff --git a/graphics/pokemon/volbeat/shiny_gba.pal b/graphics/pokemon/volbeat/shiny_gba.pal new file mode 100644 index 000000000000..106d373cf7c9 --- /dev/null +++ b/graphics/pokemon/volbeat/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +222 222 222 +139 139 148 +74 74 82 +0 0 0 +123 197 255 +90 172 230 +49 131 197 +74 74 131 +255 230 82 +222 189 82 +98 74 49 +205 139 222 +164 82 189 +65 32 82 +255 255 255 diff --git a/graphics/pokemon/voltorb/anim_front_gba.png b/graphics/pokemon/voltorb/anim_front_gba.png new file mode 100644 index 000000000000..ef550558b8d7 Binary files /dev/null and b/graphics/pokemon/voltorb/anim_front_gba.png differ diff --git a/graphics/pokemon/voltorb/back_gba.png b/graphics/pokemon/voltorb/back_gba.png new file mode 100644 index 000000000000..c379b4a8bb57 Binary files /dev/null and b/graphics/pokemon/voltorb/back_gba.png differ diff --git a/graphics/pokemon/voltorb/hisuian/back.png b/graphics/pokemon/voltorb/hisui/back.png similarity index 100% rename from graphics/pokemon/voltorb/hisuian/back.png rename to graphics/pokemon/voltorb/hisui/back.png diff --git a/graphics/pokemon/voltorb/hisuian/front.png b/graphics/pokemon/voltorb/hisui/front.png similarity index 100% rename from graphics/pokemon/voltorb/hisuian/front.png rename to graphics/pokemon/voltorb/hisui/front.png diff --git a/graphics/pokemon/voltorb/hisuian/icon.png b/graphics/pokemon/voltorb/hisui/icon.png similarity index 100% rename from graphics/pokemon/voltorb/hisuian/icon.png rename to graphics/pokemon/voltorb/hisui/icon.png diff --git a/graphics/pokemon/voltorb/hisuian/normal.pal b/graphics/pokemon/voltorb/hisui/normal.pal similarity index 100% rename from graphics/pokemon/voltorb/hisuian/normal.pal rename to graphics/pokemon/voltorb/hisui/normal.pal diff --git a/graphics/pokemon/voltorb/hisuian/overworld.png b/graphics/pokemon/voltorb/hisui/overworld.png similarity index 100% rename from graphics/pokemon/voltorb/hisuian/overworld.png rename to graphics/pokemon/voltorb/hisui/overworld.png diff --git a/graphics/pokemon/voltorb/hisuian/overworld_normal.pal b/graphics/pokemon/voltorb/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/voltorb/hisuian/overworld_normal.pal rename to graphics/pokemon/voltorb/hisui/overworld_normal.pal diff --git a/graphics/pokemon/voltorb/hisuian/overworld_shiny.pal b/graphics/pokemon/voltorb/hisui/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/voltorb/hisuian/overworld_shiny.pal rename to graphics/pokemon/voltorb/hisui/overworld_shiny.pal diff --git a/graphics/pokemon/voltorb/hisuian/shiny.pal b/graphics/pokemon/voltorb/hisui/shiny.pal similarity index 100% rename from graphics/pokemon/voltorb/hisuian/shiny.pal rename to graphics/pokemon/voltorb/hisui/shiny.pal diff --git a/graphics/pokemon/voltorb/icon_gba.png b/graphics/pokemon/voltorb/icon_gba.png new file mode 100644 index 000000000000..53d318fdbb01 Binary files /dev/null and b/graphics/pokemon/voltorb/icon_gba.png differ diff --git a/graphics/pokemon/voltorb/normal_gba.pal b/graphics/pokemon/voltorb/normal_gba.pal new file mode 100644 index 000000000000..64007ece6122 --- /dev/null +++ b/graphics/pokemon/voltorb/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 213 213 +180 172 172 +90 82 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 172 156 +255 82 32 +230 65 0 +213 49 0 +131 16 16 +16 16 16 diff --git a/graphics/pokemon/voltorb/shiny_gba.pal b/graphics/pokemon/voltorb/shiny_gba.pal new file mode 100644 index 000000000000..1ceb68b1b14e --- /dev/null +++ b/graphics/pokemon/voltorb/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 213 213 +180 172 172 +90 82 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +82 106 238 +41 65 197 +0 24 156 +0 0 115 +0 0 74 +16 16 16 diff --git a/graphics/pokemon/vulpix/alolan/back.png b/graphics/pokemon/vulpix/alola/back.png similarity index 100% rename from graphics/pokemon/vulpix/alolan/back.png rename to graphics/pokemon/vulpix/alola/back.png diff --git a/graphics/pokemon/vulpix/alolan/front.png b/graphics/pokemon/vulpix/alola/front.png similarity index 100% rename from graphics/pokemon/vulpix/alolan/front.png rename to graphics/pokemon/vulpix/alola/front.png diff --git a/graphics/pokemon/vulpix/alolan/icon.png b/graphics/pokemon/vulpix/alola/icon.png similarity index 100% rename from graphics/pokemon/vulpix/alolan/icon.png rename to graphics/pokemon/vulpix/alola/icon.png diff --git a/graphics/pokemon/vulpix/alolan/normal.pal b/graphics/pokemon/vulpix/alola/normal.pal similarity index 100% rename from graphics/pokemon/vulpix/alolan/normal.pal rename to graphics/pokemon/vulpix/alola/normal.pal diff --git a/graphics/pokemon/vulpix/alolan/overworld.png b/graphics/pokemon/vulpix/alola/overworld.png similarity index 100% rename from graphics/pokemon/vulpix/alolan/overworld.png rename to graphics/pokemon/vulpix/alola/overworld.png diff --git a/graphics/pokemon/vulpix/alolan/overworld_normal.pal b/graphics/pokemon/vulpix/alola/overworld_normal.pal similarity index 100% rename from graphics/pokemon/vulpix/alolan/overworld_normal.pal rename to graphics/pokemon/vulpix/alola/overworld_normal.pal diff --git a/graphics/pokemon/vulpix/alolan/overworld_shiny.pal b/graphics/pokemon/vulpix/alola/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/vulpix/alolan/overworld_shiny.pal rename to graphics/pokemon/vulpix/alola/overworld_shiny.pal diff --git a/graphics/pokemon/vulpix/alolan/shiny.pal b/graphics/pokemon/vulpix/alola/shiny.pal similarity index 100% rename from graphics/pokemon/vulpix/alolan/shiny.pal rename to graphics/pokemon/vulpix/alola/shiny.pal diff --git a/graphics/pokemon/vulpix/anim_front_gba.png b/graphics/pokemon/vulpix/anim_front_gba.png new file mode 100644 index 000000000000..f48618e69e91 Binary files /dev/null and b/graphics/pokemon/vulpix/anim_front_gba.png differ diff --git a/graphics/pokemon/vulpix/back_gba.png b/graphics/pokemon/vulpix/back_gba.png new file mode 100644 index 000000000000..49bad4ed6e6a Binary files /dev/null and b/graphics/pokemon/vulpix/back_gba.png differ diff --git a/graphics/pokemon/vulpix/icon_gba.png b/graphics/pokemon/vulpix/icon_gba.png new file mode 100644 index 000000000000..d998362d1a8d Binary files /dev/null and b/graphics/pokemon/vulpix/icon_gba.png differ diff --git a/graphics/pokemon/vulpix/normal_gba.pal b/graphics/pokemon/vulpix/normal_gba.pal new file mode 100644 index 000000000000..3fb9878d3cff --- /dev/null +++ b/graphics/pokemon/vulpix/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +255 230 180 +255 222 148 +16 16 16 +238 156 74 +205 123 41 +172 90 8 +255 131 74 +222 106 41 +189 74 0 +148 49 0 +246 189 123 +222 156 90 +197 123 57 +131 57 0 diff --git a/graphics/pokemon/vulpix/shiny_gba.pal b/graphics/pokemon/vulpix/shiny_gba.pal new file mode 100644 index 000000000000..7c52191ab9c8 --- /dev/null +++ b/graphics/pokemon/vulpix/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +255 230 180 +255 222 148 +16 16 16 +197 180 41 +156 139 0 +115 98 0 +255 222 41 +222 180 0 +180 139 0 +123 82 0 +255 255 98 +238 246 0 +205 197 0 +90 74 0 diff --git a/graphics/pokemon/wailmer/anim_front_gba.png b/graphics/pokemon/wailmer/anim_front_gba.png new file mode 100644 index 000000000000..f1032d0d1534 Binary files /dev/null and b/graphics/pokemon/wailmer/anim_front_gba.png differ diff --git a/graphics/pokemon/wailmer/back_gba.png b/graphics/pokemon/wailmer/back_gba.png new file mode 100644 index 000000000000..9ad9f21ea7be Binary files /dev/null and b/graphics/pokemon/wailmer/back_gba.png differ diff --git a/graphics/pokemon/wailmer/icon_gba.png b/graphics/pokemon/wailmer/icon_gba.png new file mode 100644 index 000000000000..16ba6d4b98a5 Binary files /dev/null and b/graphics/pokemon/wailmer/icon_gba.png differ diff --git a/graphics/pokemon/wailmer/normal_gba.pal b/graphics/pokemon/wailmer/normal_gba.pal new file mode 100644 index 000000000000..4e56fb42a049 --- /dev/null +++ b/graphics/pokemon/wailmer/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 172 90 +32 49 74 +49 106 156 +74 131 180 +98 156 205 +255 238 205 +238 213 164 +205 180 131 +0 0 0 +156 139 98 +148 197 238 +57 82 123 +106 98 74 +131 139 156 +180 189 197 +255 255 255 diff --git a/graphics/pokemon/wailmer/shiny_gba.pal b/graphics/pokemon/wailmer/shiny_gba.pal new file mode 100644 index 000000000000..296519dbd498 --- /dev/null +++ b/graphics/pokemon/wailmer/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 172 90 +82 41 123 +148 106 189 +180 139 222 +213 172 255 +255 238 205 +238 213 164 +205 180 131 +0 0 0 +156 139 98 +246 205 255 +115 74 156 +106 98 74 +131 139 156 +180 189 197 +255 255 255 diff --git a/graphics/pokemon/wailord/anim_front_gba.png b/graphics/pokemon/wailord/anim_front_gba.png new file mode 100644 index 000000000000..3a9ae255cef7 Binary files /dev/null and b/graphics/pokemon/wailord/anim_front_gba.png differ diff --git a/graphics/pokemon/wailord/back_gba.png b/graphics/pokemon/wailord/back_gba.png new file mode 100644 index 000000000000..7698ba500d83 Binary files /dev/null and b/graphics/pokemon/wailord/back_gba.png differ diff --git a/graphics/pokemon/wailord/icon_gba.png b/graphics/pokemon/wailord/icon_gba.png new file mode 100644 index 000000000000..f84a7ea702f3 Binary files /dev/null and b/graphics/pokemon/wailord/icon_gba.png differ diff --git a/graphics/pokemon/wailord/normal_gba.pal b/graphics/pokemon/wailord/normal_gba.pal new file mode 100644 index 000000000000..55fdf02f6a94 --- /dev/null +++ b/graphics/pokemon/wailord/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +238 230 255 +213 205 222 +180 172 180 +180 156 172 +131 115 131 +148 172 255 +82 131 255 +49 98 255 +41 82 197 +49 57 90 +123 106 98 +82 74 74 +0 0 0 +180 205 255 +41 82 123 diff --git a/graphics/pokemon/wailord/shiny_gba.pal b/graphics/pokemon/wailord/shiny_gba.pal new file mode 100644 index 000000000000..31a687fb95ac --- /dev/null +++ b/graphics/pokemon/wailord/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +238 230 255 +213 205 222 +180 172 180 +180 156 172 +131 115 131 +230 197 255 +213 172 255 +172 131 213 +131 90 172 +82 41 123 +123 106 98 +82 74 74 +0 0 0 +246 222 255 +115 74 156 diff --git a/graphics/pokemon/walrein/anim_front_gba.png b/graphics/pokemon/walrein/anim_front_gba.png new file mode 100644 index 000000000000..b809a6806a4c Binary files /dev/null and b/graphics/pokemon/walrein/anim_front_gba.png differ diff --git a/graphics/pokemon/walrein/back_gba.png b/graphics/pokemon/walrein/back_gba.png new file mode 100644 index 000000000000..c58df92b0bca Binary files /dev/null and b/graphics/pokemon/walrein/back_gba.png differ diff --git a/graphics/pokemon/walrein/icon_gba.png b/graphics/pokemon/walrein/icon_gba.png new file mode 100644 index 000000000000..f98348a54027 Binary files /dev/null and b/graphics/pokemon/walrein/icon_gba.png differ diff --git a/graphics/pokemon/walrein/normal_gba.pal b/graphics/pokemon/walrein/normal_gba.pal new file mode 100644 index 000000000000..2b4fb8ad496f --- /dev/null +++ b/graphics/pokemon/walrein/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 115 148 +49 82 123 +57 115 172 +90 139 197 +131 180 230 +164 131 90 +255 197 98 +255 222 131 +255 255 164 +197 49 49 +238 131 131 +123 180 255 +197 205 222 +0 0 0 +222 230 255 +255 255 255 diff --git a/graphics/pokemon/walrein/shiny_gba.pal b/graphics/pokemon/walrein/shiny_gba.pal new file mode 100644 index 000000000000..0d93d3e7d448 --- /dev/null +++ b/graphics/pokemon/walrein/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 115 148 +82 74 123 +164 90 189 +197 131 222 +230 180 238 +164 131 90 +255 197 98 +255 222 131 +255 255 164 +197 49 49 +238 131 131 +123 180 255 +197 205 222 +0 0 0 +222 230 255 +255 255 255 diff --git a/graphics/pokemon/wartortle/anim_front_gba.png b/graphics/pokemon/wartortle/anim_front_gba.png new file mode 100644 index 000000000000..8c484dade14f Binary files /dev/null and b/graphics/pokemon/wartortle/anim_front_gba.png differ diff --git a/graphics/pokemon/wartortle/back_gba.png b/graphics/pokemon/wartortle/back_gba.png new file mode 100644 index 000000000000..b7ccefbb506c Binary files /dev/null and b/graphics/pokemon/wartortle/back_gba.png differ diff --git a/graphics/pokemon/wartortle/icon_gba.png b/graphics/pokemon/wartortle/icon_gba.png new file mode 100644 index 000000000000..2cdfca2d9275 Binary files /dev/null and b/graphics/pokemon/wartortle/icon_gba.png differ diff --git a/graphics/pokemon/wartortle/normal_gba.pal b/graphics/pokemon/wartortle/normal_gba.pal new file mode 100644 index 000000000000..b497d87b3ae7 --- /dev/null +++ b/graphics/pokemon/wartortle/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 238 230 +255 255 255 +230 238 230 +197 213 222 +197 49 0 +205 131 32 +148 98 98 +106 74 24 +246 238 139 +222 197 139 +189 139 57 +213 189 255 +172 139 238 +123 106 197 +82 65 123 +16 16 16 diff --git a/graphics/pokemon/wartortle/shiny_gba.pal b/graphics/pokemon/wartortle/shiny_gba.pal new file mode 100644 index 000000000000..9694dfc733b5 --- /dev/null +++ b/graphics/pokemon/wartortle/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +197 238 197 +148 205 156 +197 49 0 +131 148 65 +98 115 32 +65 82 0 +255 222 115 +230 172 90 +189 139 57 +255 238 255 +230 213 255 +180 164 205 +82 65 106 +16 16 16 diff --git a/graphics/pokemon/weavile/overworldf.png b/graphics/pokemon/weavile/overworldf.png new file mode 100644 index 000000000000..4e844665065d Binary files /dev/null and b/graphics/pokemon/weavile/overworldf.png differ diff --git a/graphics/pokemon/weedle/anim_front_gba.png b/graphics/pokemon/weedle/anim_front_gba.png new file mode 100644 index 000000000000..2334ea600402 Binary files /dev/null and b/graphics/pokemon/weedle/anim_front_gba.png differ diff --git a/graphics/pokemon/weedle/back_gba.png b/graphics/pokemon/weedle/back_gba.png new file mode 100644 index 000000000000..3180bf513b6c Binary files /dev/null and b/graphics/pokemon/weedle/back_gba.png differ diff --git a/graphics/pokemon/weedle/icon_gba.png b/graphics/pokemon/weedle/icon_gba.png new file mode 100644 index 000000000000..3a36001c6864 Binary files /dev/null and b/graphics/pokemon/weedle/icon_gba.png differ diff --git a/graphics/pokemon/weedle/normal_gba.pal b/graphics/pokemon/weedle/normal_gba.pal new file mode 100644 index 000000000000..da76f3794655 --- /dev/null +++ b/graphics/pokemon/weedle/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 205 205 +131 131 148 +255 230 123 +238 172 65 +205 115 16 +139 41 16 +255 230 123 +230 106 49 +205 41 0 +139 41 16 +255 238 180 +205 156 90 +255 0 255 +24 24 24 diff --git a/graphics/pokemon/weedle/shiny_gba.pal b/graphics/pokemon/weedle/shiny_gba.pal new file mode 100644 index 000000000000..ea331921ed16 --- /dev/null +++ b/graphics/pokemon/weedle/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 205 205 +131 131 148 +255 255 106 +255 238 65 +238 180 24 +139 41 16 +255 230 123 +222 172 205 +172 123 156 +115 65 98 +255 238 180 +205 156 90 +255 0 255 +24 24 24 diff --git a/graphics/pokemon/weepinbell/anim_front_gba.png b/graphics/pokemon/weepinbell/anim_front_gba.png new file mode 100644 index 000000000000..4574d1c5d0b5 Binary files /dev/null and b/graphics/pokemon/weepinbell/anim_front_gba.png differ diff --git a/graphics/pokemon/weepinbell/back_gba.png b/graphics/pokemon/weepinbell/back_gba.png new file mode 100644 index 000000000000..aad38d1dfc05 Binary files /dev/null and b/graphics/pokemon/weepinbell/back_gba.png differ diff --git a/graphics/pokemon/weepinbell/icon_gba.png b/graphics/pokemon/weepinbell/icon_gba.png new file mode 100644 index 000000000000..eda2fd29a303 Binary files /dev/null and b/graphics/pokemon/weepinbell/icon_gba.png differ diff --git a/graphics/pokemon/weepinbell/normal_gba.pal b/graphics/pokemon/weepinbell/normal_gba.pal new file mode 100644 index 000000000000..162f84084833 --- /dev/null +++ b/graphics/pokemon/weepinbell/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +246 246 246 +255 255 255 +180 131 41 +255 164 115 +238 115 65 +189 65 16 +255 230 156 +255 213 106 +238 180 0 +189 255 115 +156 213 74 +115 172 49 +82 98 41 +172 123 41 +115 82 16 +16 16 16 diff --git a/graphics/pokemon/weepinbell/shiny_gba.pal b/graphics/pokemon/weepinbell/shiny_gba.pal new file mode 100644 index 000000000000..2c7c777e6e44 --- /dev/null +++ b/graphics/pokemon/weepinbell/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +246 246 246 +255 255 255 +106 139 16 +197 172 180 +156 131 139 +115 90 98 +255 255 115 +222 230 74 +180 189 32 +246 255 123 +205 238 82 +164 197 41 +74 106 0 +172 123 41 +115 82 16 +16 16 16 diff --git a/graphics/pokemon/weezing/anim_front_gba.png b/graphics/pokemon/weezing/anim_front_gba.png new file mode 100644 index 000000000000..c4d684163bb1 Binary files /dev/null and b/graphics/pokemon/weezing/anim_front_gba.png differ diff --git a/graphics/pokemon/weezing/back_gba.png b/graphics/pokemon/weezing/back_gba.png new file mode 100644 index 000000000000..3d38832111f4 Binary files /dev/null and b/graphics/pokemon/weezing/back_gba.png differ diff --git a/graphics/pokemon/weezing/galarian/back.png b/graphics/pokemon/weezing/galar/back.png similarity index 100% rename from graphics/pokemon/weezing/galarian/back.png rename to graphics/pokemon/weezing/galar/back.png diff --git a/graphics/pokemon/weezing/galarian/front.png b/graphics/pokemon/weezing/galar/front.png similarity index 100% rename from graphics/pokemon/weezing/galarian/front.png rename to graphics/pokemon/weezing/galar/front.png diff --git a/graphics/pokemon/weezing/galarian/icon.png b/graphics/pokemon/weezing/galar/icon.png similarity index 100% rename from graphics/pokemon/weezing/galarian/icon.png rename to graphics/pokemon/weezing/galar/icon.png diff --git a/graphics/pokemon/weezing/galarian/normal.pal b/graphics/pokemon/weezing/galar/normal.pal similarity index 100% rename from graphics/pokemon/weezing/galarian/normal.pal rename to graphics/pokemon/weezing/galar/normal.pal diff --git a/graphics/pokemon/weezing/galarian/overworld.png b/graphics/pokemon/weezing/galar/overworld.png similarity index 100% rename from graphics/pokemon/weezing/galarian/overworld.png rename to graphics/pokemon/weezing/galar/overworld.png diff --git a/graphics/pokemon/weezing/galarian/overworld_normal.pal b/graphics/pokemon/weezing/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/weezing/galarian/overworld_normal.pal rename to graphics/pokemon/weezing/galar/overworld_normal.pal diff --git a/graphics/pokemon/weezing/galarian/overworld_shiny.pal b/graphics/pokemon/weezing/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/weezing/galarian/overworld_shiny.pal rename to graphics/pokemon/weezing/galar/overworld_shiny.pal diff --git a/graphics/pokemon/weezing/galarian/shiny.pal b/graphics/pokemon/weezing/galar/shiny.pal similarity index 100% rename from graphics/pokemon/weezing/galarian/shiny.pal rename to graphics/pokemon/weezing/galar/shiny.pal diff --git a/graphics/pokemon/weezing/icon_gba.png b/graphics/pokemon/weezing/icon_gba.png new file mode 100644 index 000000000000..4ef2404a9a2b Binary files /dev/null and b/graphics/pokemon/weezing/icon_gba.png differ diff --git a/graphics/pokemon/weezing/normal_gba.pal b/graphics/pokemon/weezing/normal_gba.pal new file mode 100644 index 000000000000..2d84699105c1 --- /dev/null +++ b/graphics/pokemon/weezing/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +222 222 222 +255 0 255 +213 205 106 +222 98 32 +164 32 0 +238 213 106 +213 197 74 +197 180 41 +238 197 197 +213 164 172 +180 106 139 +139 65 98 +106 32 65 +16 16 16 diff --git a/graphics/pokemon/weezing/shiny_gba.pal b/graphics/pokemon/weezing/shiny_gba.pal new file mode 100644 index 000000000000..1f0b9347c31b --- /dev/null +++ b/graphics/pokemon/weezing/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +222 222 222 +255 0 255 +213 205 106 +222 98 32 +164 32 0 +213 139 197 +180 106 164 +139 65 123 +189 230 230 +148 189 189 +106 148 148 +41 82 82 +8 49 49 +16 16 16 diff --git a/graphics/pokemon/whiscash/anim_front_gba.png b/graphics/pokemon/whiscash/anim_front_gba.png new file mode 100644 index 000000000000..c6f1b3bcf281 Binary files /dev/null and b/graphics/pokemon/whiscash/anim_front_gba.png differ diff --git a/graphics/pokemon/whiscash/back_gba.png b/graphics/pokemon/whiscash/back_gba.png new file mode 100644 index 000000000000..6aad1817da58 Binary files /dev/null and b/graphics/pokemon/whiscash/back_gba.png differ diff --git a/graphics/pokemon/whiscash/icon_gba.png b/graphics/pokemon/whiscash/icon_gba.png new file mode 100644 index 000000000000..dcd79a540cc7 Binary files /dev/null and b/graphics/pokemon/whiscash/icon_gba.png differ diff --git a/graphics/pokemon/whiscash/normal_gba.pal b/graphics/pokemon/whiscash/normal_gba.pal new file mode 100644 index 000000000000..c6b70659b7ca --- /dev/null +++ b/graphics/pokemon/whiscash/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 156 90 +0 0 0 +82 98 148 +98 115 164 +115 139 180 +148 180 222 +222 164 57 +255 213 74 +172 238 255 +57 74 115 +139 106 49 +131 148 172 +131 197 230 +106 189 222 +131 222 255 +255 255 255 diff --git a/graphics/pokemon/whiscash/shiny_gba.pal b/graphics/pokemon/whiscash/shiny_gba.pal new file mode 100644 index 000000000000..12554c568937 --- /dev/null +++ b/graphics/pokemon/whiscash/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 156 90 +0 0 0 +57 65 82 +74 82 98 +115 106 123 +148 139 156 +222 98 49 +255 123 82 +172 238 255 +57 74 115 +180 65 49 +131 148 172 +131 197 230 +106 189 222 +131 222 255 +255 255 255 diff --git a/graphics/pokemon/whismur/anim_front_gba.png b/graphics/pokemon/whismur/anim_front_gba.png new file mode 100644 index 000000000000..0770894e4494 Binary files /dev/null and b/graphics/pokemon/whismur/anim_front_gba.png differ diff --git a/graphics/pokemon/whismur/back_gba.png b/graphics/pokemon/whismur/back_gba.png new file mode 100644 index 000000000000..f13819f15754 Binary files /dev/null and b/graphics/pokemon/whismur/back_gba.png differ diff --git a/graphics/pokemon/whismur/icon_gba.png b/graphics/pokemon/whismur/icon_gba.png new file mode 100644 index 000000000000..573dfa531981 Binary files /dev/null and b/graphics/pokemon/whismur/icon_gba.png differ diff --git a/graphics/pokemon/whismur/normal_gba.pal b/graphics/pokemon/whismur/normal_gba.pal new file mode 100644 index 000000000000..e57bb7b39192 --- /dev/null +++ b/graphics/pokemon/whismur/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 164 238 +238 148 213 +222 106 189 +189 82 139 +139 57 98 +115 8 24 +255 213 123 +246 172 57 +213 156 0 +164 115 24 +213 213 222 +156 156 164 +90 90 106 +0 0 0 diff --git a/graphics/pokemon/whismur/shiny_gba.pal b/graphics/pokemon/whismur/shiny_gba.pal new file mode 100644 index 000000000000..395867cadd8a --- /dev/null +++ b/graphics/pokemon/whismur/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 205 205 +255 172 197 +238 123 156 +222 90 115 +189 49 65 +115 8 24 +205 255 172 +148 230 148 +115 189 115 +65 139 90 +213 213 222 +156 156 164 +90 90 106 +41 41 57 diff --git a/graphics/pokemon/wigglytuff/anim_front_gba.png b/graphics/pokemon/wigglytuff/anim_front_gba.png new file mode 100644 index 000000000000..66af6ce77879 Binary files /dev/null and b/graphics/pokemon/wigglytuff/anim_front_gba.png differ diff --git a/graphics/pokemon/wigglytuff/back_gba.png b/graphics/pokemon/wigglytuff/back_gba.png new file mode 100644 index 000000000000..c57f8681fed9 Binary files /dev/null and b/graphics/pokemon/wigglytuff/back_gba.png differ diff --git a/graphics/pokemon/wigglytuff/icon_gba.png b/graphics/pokemon/wigglytuff/icon_gba.png new file mode 100644 index 000000000000..adb921150ba8 Binary files /dev/null and b/graphics/pokemon/wigglytuff/icon_gba.png differ diff --git a/graphics/pokemon/wigglytuff/normal_gba.pal b/graphics/pokemon/wigglytuff/normal_gba.pal new file mode 100644 index 000000000000..b0b85cc7926c --- /dev/null +++ b/graphics/pokemon/wigglytuff/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +148 222 205 +115 189 172 +82 156 139 +32 90 98 +156 106 32 +115 65 24 +230 230 230 +205 205 205 +16 16 16 +255 238 197 +255 197 172 +255 156 131 +255 90 74 +156 57 0 diff --git a/graphics/pokemon/wigglytuff/shiny_gba.pal b/graphics/pokemon/wigglytuff/shiny_gba.pal new file mode 100644 index 000000000000..f3d0192a29e0 --- /dev/null +++ b/graphics/pokemon/wigglytuff/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 255 164 +180 238 123 +139 197 82 +82 131 16 +156 106 32 +115 65 24 +230 230 230 +205 205 205 +16 16 16 +246 238 246 +246 197 246 +205 156 205 +164 115 164 +74 24 74 diff --git a/graphics/pokemon/wingull/anim_front_gba.png b/graphics/pokemon/wingull/anim_front_gba.png new file mode 100644 index 000000000000..69ef9d7d040d Binary files /dev/null and b/graphics/pokemon/wingull/anim_front_gba.png differ diff --git a/graphics/pokemon/wingull/back_gba.png b/graphics/pokemon/wingull/back_gba.png new file mode 100644 index 000000000000..3ea8c64740ad Binary files /dev/null and b/graphics/pokemon/wingull/back_gba.png differ diff --git a/graphics/pokemon/wingull/icon_gba.png b/graphics/pokemon/wingull/icon_gba.png new file mode 100644 index 000000000000..524ecda23d06 Binary files /dev/null and b/graphics/pokemon/wingull/icon_gba.png differ diff --git a/graphics/pokemon/wingull/normal_gba.pal b/graphics/pokemon/wingull/normal_gba.pal new file mode 100644 index 000000000000..ce58200615a4 --- /dev/null +++ b/graphics/pokemon/wingull/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 205 255 +57 57 57 +139 139 139 +222 213 255 +197 189 230 +246 238 255 +49 82 139 +222 131 0 +255 172 49 +139 90 16 +82 115 230 +115 164 255 +98 98 98 +0 0 0 +0 0 0 +255 205 106 diff --git a/graphics/pokemon/wingull/shiny_gba.pal b/graphics/pokemon/wingull/shiny_gba.pal new file mode 100644 index 000000000000..59785b7cb7e8 --- /dev/null +++ b/graphics/pokemon/wingull/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 205 255 +57 57 57 +131 156 164 +222 197 246 +205 172 230 +246 238 255 +41 106 41 +222 131 0 +255 172 49 +139 90 16 +90 156 57 +123 205 90 +98 98 98 +0 0 0 +0 0 0 +255 205 106 diff --git a/graphics/pokemon/wobbuffet/anim_front_gba.png b/graphics/pokemon/wobbuffet/anim_front_gba.png new file mode 100644 index 000000000000..f26a0406dead Binary files /dev/null and b/graphics/pokemon/wobbuffet/anim_front_gba.png differ diff --git a/graphics/pokemon/wobbuffet/back_gba.png b/graphics/pokemon/wobbuffet/back_gba.png new file mode 100644 index 000000000000..3f22dd4a1143 Binary files /dev/null and b/graphics/pokemon/wobbuffet/back_gba.png differ diff --git a/graphics/pokemon/wobbuffet/icon_gba.png b/graphics/pokemon/wobbuffet/icon_gba.png new file mode 100644 index 000000000000..14cddd18431f Binary files /dev/null and b/graphics/pokemon/wobbuffet/icon_gba.png differ diff --git a/graphics/pokemon/wobbuffet/normal_gba.pal b/graphics/pokemon/wobbuffet/normal_gba.pal new file mode 100644 index 000000000000..e83cdc8c2e10 --- /dev/null +++ b/graphics/pokemon/wobbuffet/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 0 255 +164 16 0 +197 57 0 +222 82 0 +255 139 0 +41 74 82 +32 115 148 +74 156 189 +106 189 222 +156 213 238 +255 0 255 +16 16 16 +82 82 82 +131 131 131 +255 255 255 diff --git a/graphics/pokemon/wobbuffet/overworld.png b/graphics/pokemon/wobbuffet/overworld.png index 04b136113566..eddc7af72de3 100644 Binary files a/graphics/pokemon/wobbuffet/overworld.png and b/graphics/pokemon/wobbuffet/overworld.png differ diff --git a/graphics/pokemon/wobbuffet/overworld_normal.pal b/graphics/pokemon/wobbuffet/overworld_normal.pal index 208392f976f7..393b4da868aa 100644 --- a/graphics/pokemon/wobbuffet/overworld_normal.pal +++ b/graphics/pokemon/wobbuffet/overworld_normal.pal @@ -10,8 +10,8 @@ JASC-PAL 32 48 64 56 80 112 168 184 208 -0 0 0 -0 0 0 +208 56 24 +136 24 0 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/wobbuffet/overworld_shiny.pal b/graphics/pokemon/wobbuffet/overworld_shiny.pal index 126ef8e8c9e0..4db78ef302b7 100644 --- a/graphics/pokemon/wobbuffet/overworld_shiny.pal +++ b/graphics/pokemon/wobbuffet/overworld_shiny.pal @@ -10,8 +10,8 @@ JASC-PAL 32 48 64 56 80 112 168 184 208 -0 0 0 -0 0 0 +208 56 24 +136 24 0 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/wobbuffet/overworldf.png b/graphics/pokemon/wobbuffet/overworldf.png new file mode 100644 index 000000000000..36dee1d36cd7 Binary files /dev/null and b/graphics/pokemon/wobbuffet/overworldf.png differ diff --git a/graphics/pokemon/wobbuffet/shiny_gba.pal b/graphics/pokemon/wobbuffet/shiny_gba.pal new file mode 100644 index 000000000000..0fa07755535d --- /dev/null +++ b/graphics/pokemon/wobbuffet/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 0 255 +164 16 0 +197 57 0 +222 82 0 +255 139 0 +106 57 90 +156 65 139 +205 90 189 +238 123 205 +255 164 213 +255 0 255 +16 16 16 +82 82 82 +131 131 131 +255 255 255 diff --git a/graphics/pokemon/wooper/anim_front_gba.png b/graphics/pokemon/wooper/anim_front_gba.png new file mode 100644 index 000000000000..8d6255f80581 Binary files /dev/null and b/graphics/pokemon/wooper/anim_front_gba.png differ diff --git a/graphics/pokemon/wooper/back_gba.png b/graphics/pokemon/wooper/back_gba.png new file mode 100644 index 000000000000..13cb768c1b01 Binary files /dev/null and b/graphics/pokemon/wooper/back_gba.png differ diff --git a/graphics/pokemon/wooper/icon_gba.png b/graphics/pokemon/wooper/icon_gba.png new file mode 100644 index 000000000000..26e617d33a1d Binary files /dev/null and b/graphics/pokemon/wooper/icon_gba.png differ diff --git a/graphics/pokemon/wooper/normal_gba.pal b/graphics/pokemon/wooper/normal_gba.pal new file mode 100644 index 000000000000..f364d6c711e4 --- /dev/null +++ b/graphics/pokemon/wooper/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +148 131 164 +16 41 115 +49 74 131 +74 156 213 +139 197 246 +197 230 230 +238 172 255 +197 123 197 +148 98 164 +98 57 106 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/wooper/overworldf.png b/graphics/pokemon/wooper/overworldf.png new file mode 100644 index 000000000000..50ab4d9a7008 Binary files /dev/null and b/graphics/pokemon/wooper/overworldf.png differ diff --git a/graphics/pokemon/wooper/wooper_paldean/back.png b/graphics/pokemon/wooper/paldea/back.png similarity index 100% rename from graphics/pokemon/wooper/wooper_paldean/back.png rename to graphics/pokemon/wooper/paldea/back.png diff --git a/graphics/pokemon/wooper/wooper_paldean/front.png b/graphics/pokemon/wooper/paldea/front.png similarity index 100% rename from graphics/pokemon/wooper/wooper_paldean/front.png rename to graphics/pokemon/wooper/paldea/front.png diff --git a/graphics/pokemon/wooper/wooper_paldean/icon.png b/graphics/pokemon/wooper/paldea/icon.png similarity index 100% rename from graphics/pokemon/wooper/wooper_paldean/icon.png rename to graphics/pokemon/wooper/paldea/icon.png diff --git a/graphics/pokemon/wooper/wooper_paldean/normal.pal b/graphics/pokemon/wooper/paldea/normal.pal similarity index 100% rename from graphics/pokemon/wooper/wooper_paldean/normal.pal rename to graphics/pokemon/wooper/paldea/normal.pal diff --git a/graphics/pokemon/wooper/wooper_paldean/overworld.png b/graphics/pokemon/wooper/paldea/overworld.png similarity index 100% rename from graphics/pokemon/wooper/wooper_paldean/overworld.png rename to graphics/pokemon/wooper/paldea/overworld.png diff --git a/graphics/pokemon/wooper/wooper_paldean/overworld_normal.pal b/graphics/pokemon/wooper/paldea/overworld_normal.pal similarity index 100% rename from graphics/pokemon/wooper/wooper_paldean/overworld_normal.pal rename to graphics/pokemon/wooper/paldea/overworld_normal.pal diff --git a/graphics/pokemon/wooper/wooper_paldean/overworld_shiny.pal b/graphics/pokemon/wooper/paldea/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/wooper/wooper_paldean/overworld_shiny.pal rename to graphics/pokemon/wooper/paldea/overworld_shiny.pal diff --git a/graphics/pokemon/wooper/wooper_paldean/shiny.pal b/graphics/pokemon/wooper/paldea/shiny.pal similarity index 100% rename from graphics/pokemon/wooper/wooper_paldean/shiny.pal rename to graphics/pokemon/wooper/paldea/shiny.pal diff --git a/graphics/pokemon/wooper/shiny_gba.pal b/graphics/pokemon/wooper/shiny_gba.pal new file mode 100644 index 000000000000..cf0a3ce59d28 --- /dev/null +++ b/graphics/pokemon/wooper/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +180 90 98 +123 57 49 +156 90 90 +213 156 164 +246 197 205 +255 230 213 +255 213 172 +230 148 98 +197 98 82 +131 74 74 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/wormadam/plant/footprint.png b/graphics/pokemon/wormadam/footprint.png similarity index 100% rename from graphics/pokemon/wormadam/plant/footprint.png rename to graphics/pokemon/wormadam/footprint.png diff --git a/graphics/pokemon/wormadam/sandy_cloak/anim_front.png b/graphics/pokemon/wormadam/sandy/anim_front.png similarity index 100% rename from graphics/pokemon/wormadam/sandy_cloak/anim_front.png rename to graphics/pokemon/wormadam/sandy/anim_front.png diff --git a/graphics/pokemon/wormadam/sandy_cloak/back.png b/graphics/pokemon/wormadam/sandy/back.png similarity index 100% rename from graphics/pokemon/wormadam/sandy_cloak/back.png rename to graphics/pokemon/wormadam/sandy/back.png diff --git a/graphics/pokemon/wormadam/sandy_cloak/icon.png b/graphics/pokemon/wormadam/sandy/icon.png similarity index 100% rename from graphics/pokemon/wormadam/sandy_cloak/icon.png rename to graphics/pokemon/wormadam/sandy/icon.png diff --git a/graphics/pokemon/wormadam/sandy_cloak/normal.pal b/graphics/pokemon/wormadam/sandy/normal.pal similarity index 100% rename from graphics/pokemon/wormadam/sandy_cloak/normal.pal rename to graphics/pokemon/wormadam/sandy/normal.pal diff --git a/graphics/pokemon/wormadam/sandy_cloak/overworld.png b/graphics/pokemon/wormadam/sandy/overworld.png similarity index 100% rename from graphics/pokemon/wormadam/sandy_cloak/overworld.png rename to graphics/pokemon/wormadam/sandy/overworld.png diff --git a/graphics/pokemon/wormadam/sandy_cloak/overworld_normal.pal b/graphics/pokemon/wormadam/sandy/overworld_normal.pal similarity index 100% rename from graphics/pokemon/wormadam/sandy_cloak/overworld_normal.pal rename to graphics/pokemon/wormadam/sandy/overworld_normal.pal diff --git a/graphics/pokemon/wormadam/sandy_cloak/overworld_shiny.pal b/graphics/pokemon/wormadam/sandy/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/wormadam/sandy_cloak/overworld_shiny.pal rename to graphics/pokemon/wormadam/sandy/overworld_shiny.pal diff --git a/graphics/pokemon/wormadam/sandy_cloak/shiny.pal b/graphics/pokemon/wormadam/sandy/shiny.pal similarity index 100% rename from graphics/pokemon/wormadam/sandy_cloak/shiny.pal rename to graphics/pokemon/wormadam/sandy/shiny.pal diff --git a/graphics/pokemon/wormadam/trash_cloak/anim_front.png b/graphics/pokemon/wormadam/trash/anim_front.png similarity index 100% rename from graphics/pokemon/wormadam/trash_cloak/anim_front.png rename to graphics/pokemon/wormadam/trash/anim_front.png diff --git a/graphics/pokemon/wormadam/trash_cloak/back.png b/graphics/pokemon/wormadam/trash/back.png similarity index 100% rename from graphics/pokemon/wormadam/trash_cloak/back.png rename to graphics/pokemon/wormadam/trash/back.png diff --git a/graphics/pokemon/wormadam/trash_cloak/icon.png b/graphics/pokemon/wormadam/trash/icon.png similarity index 100% rename from graphics/pokemon/wormadam/trash_cloak/icon.png rename to graphics/pokemon/wormadam/trash/icon.png diff --git a/graphics/pokemon/wormadam/trash_cloak/normal.pal b/graphics/pokemon/wormadam/trash/normal.pal similarity index 100% rename from graphics/pokemon/wormadam/trash_cloak/normal.pal rename to graphics/pokemon/wormadam/trash/normal.pal diff --git a/graphics/pokemon/wormadam/trash_cloak/overworld.png b/graphics/pokemon/wormadam/trash/overworld.png similarity index 100% rename from graphics/pokemon/wormadam/trash_cloak/overworld.png rename to graphics/pokemon/wormadam/trash/overworld.png diff --git a/graphics/pokemon/wormadam/trash_cloak/overworld_normal.pal b/graphics/pokemon/wormadam/trash/overworld_normal.pal similarity index 100% rename from graphics/pokemon/wormadam/trash_cloak/overworld_normal.pal rename to graphics/pokemon/wormadam/trash/overworld_normal.pal diff --git a/graphics/pokemon/wormadam/trash_cloak/overworld_shiny.pal b/graphics/pokemon/wormadam/trash/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/wormadam/trash_cloak/overworld_shiny.pal rename to graphics/pokemon/wormadam/trash/overworld_shiny.pal diff --git a/graphics/pokemon/wormadam/trash_cloak/shiny.pal b/graphics/pokemon/wormadam/trash/shiny.pal similarity index 100% rename from graphics/pokemon/wormadam/trash_cloak/shiny.pal rename to graphics/pokemon/wormadam/trash/shiny.pal diff --git a/graphics/pokemon/wurmple/anim_front_gba.png b/graphics/pokemon/wurmple/anim_front_gba.png new file mode 100644 index 000000000000..c79458bffc9a Binary files /dev/null and b/graphics/pokemon/wurmple/anim_front_gba.png differ diff --git a/graphics/pokemon/wurmple/back_gba.png b/graphics/pokemon/wurmple/back_gba.png new file mode 100644 index 000000000000..d6ef56dcdf35 Binary files /dev/null and b/graphics/pokemon/wurmple/back_gba.png differ diff --git a/graphics/pokemon/wurmple/icon_gba.png b/graphics/pokemon/wurmple/icon_gba.png new file mode 100644 index 000000000000..52b46b4901e5 Binary files /dev/null and b/graphics/pokemon/wurmple/icon_gba.png differ diff --git a/graphics/pokemon/wurmple/normal_gba.pal b/graphics/pokemon/wurmple/normal_gba.pal new file mode 100644 index 000000000000..2fe1fd18906b --- /dev/null +++ b/graphics/pokemon/wurmple/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 197 +98 82 82 +180 164 156 +255 255 255 +230 213 238 +205 82 90 +246 123 98 +246 189 139 +230 213 238 +222 213 164 +255 255 213 +148 148 0 +246 246 0 +197 197 90 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/wurmple/shiny_gba.pal b/graphics/pokemon/wurmple/shiny_gba.pal new file mode 100644 index 000000000000..3217ddc57eb7 --- /dev/null +++ b/graphics/pokemon/wurmple/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 197 +98 82 82 +180 164 156 +255 255 255 +230 213 238 +164 82 139 +189 131 164 +222 164 197 +230 213 238 +222 213 164 +255 255 213 +148 148 0 +246 246 0 +197 197 90 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/wynaut/anim_front_gba.png b/graphics/pokemon/wynaut/anim_front_gba.png new file mode 100644 index 000000000000..0fe27ffed3dd Binary files /dev/null and b/graphics/pokemon/wynaut/anim_front_gba.png differ diff --git a/graphics/pokemon/wynaut/back_gba.png b/graphics/pokemon/wynaut/back_gba.png new file mode 100644 index 000000000000..388b1582bac5 Binary files /dev/null and b/graphics/pokemon/wynaut/back_gba.png differ diff --git a/graphics/pokemon/wynaut/icon_gba.png b/graphics/pokemon/wynaut/icon_gba.png new file mode 100644 index 000000000000..cca26e1bb4be Binary files /dev/null and b/graphics/pokemon/wynaut/icon_gba.png differ diff --git a/graphics/pokemon/wynaut/normal_gba.pal b/graphics/pokemon/wynaut/normal_gba.pal new file mode 100644 index 000000000000..c370466343cf --- /dev/null +++ b/graphics/pokemon/wynaut/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 148 98 +41 74 82 +74 156 189 +106 189 222 +156 213 238 +164 49 65 +222 90 98 +65 57 57 +131 123 123 +106 98 98 +205 205 197 +255 255 255 +57 123 164 +123 41 57 +0 0 0 +205 246 164 diff --git a/graphics/pokemon/wynaut/shiny_gba.pal b/graphics/pokemon/wynaut/shiny_gba.pal new file mode 100644 index 000000000000..7a5032aa699f --- /dev/null +++ b/graphics/pokemon/wynaut/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 148 98 +106 57 90 +197 82 189 +238 123 205 +255 164 213 +164 49 65 +222 90 98 +65 57 57 +131 123 123 +106 98 98 +205 205 197 +255 255 255 +180 115 90 +123 41 57 +0 0 0 +205 246 164 diff --git a/graphics/pokemon/xatu/anim_front_gba.png b/graphics/pokemon/xatu/anim_front_gba.png new file mode 100644 index 000000000000..d4c3c1970721 Binary files /dev/null and b/graphics/pokemon/xatu/anim_front_gba.png differ diff --git a/graphics/pokemon/xatu/back_gba.png b/graphics/pokemon/xatu/back_gba.png new file mode 100644 index 000000000000..b66774b13799 Binary files /dev/null and b/graphics/pokemon/xatu/back_gba.png differ diff --git a/graphics/pokemon/xatu/icon_gba.png b/graphics/pokemon/xatu/icon_gba.png new file mode 100644 index 000000000000..a0e6d6fc99d4 Binary files /dev/null and b/graphics/pokemon/xatu/icon_gba.png differ diff --git a/graphics/pokemon/xatu/normal_gba.pal b/graphics/pokemon/xatu/normal_gba.pal new file mode 100644 index 000000000000..b6ab276047df --- /dev/null +++ b/graphics/pokemon/xatu/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +156 230 74 +82 205 74 +74 148 65 +49 98 41 +255 222 65 +189 148 32 +139 90 0 +238 57 0 +180 49 0 +131 41 0 +205 205 205 +148 148 148 +82 82 82 +41 41 41 diff --git a/graphics/pokemon/xatu/overworld.png b/graphics/pokemon/xatu/overworld.png index 223ef9309826..a1a6ae917632 100644 Binary files a/graphics/pokemon/xatu/overworld.png and b/graphics/pokemon/xatu/overworld.png differ diff --git a/graphics/pokemon/xatu/overworldf.png b/graphics/pokemon/xatu/overworldf.png new file mode 100644 index 000000000000..223ef9309826 Binary files /dev/null and b/graphics/pokemon/xatu/overworldf.png differ diff --git a/graphics/pokemon/xatu/shiny_gba.pal b/graphics/pokemon/xatu/shiny_gba.pal new file mode 100644 index 000000000000..2dcf957e990b --- /dev/null +++ b/graphics/pokemon/xatu/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 255 65 +164 230 49 +115 189 8 +65 106 0 +255 222 65 +189 148 32 +139 90 0 +255 164 57 +213 106 16 +115 74 0 +205 205 205 +148 148 148 +82 82 82 +41 41 41 diff --git a/graphics/pokemon/yamask/galarian/back.png b/graphics/pokemon/yamask/galar/back.png similarity index 100% rename from graphics/pokemon/yamask/galarian/back.png rename to graphics/pokemon/yamask/galar/back.png diff --git a/graphics/pokemon/yamask/galarian/front.png b/graphics/pokemon/yamask/galar/front.png similarity index 100% rename from graphics/pokemon/yamask/galarian/front.png rename to graphics/pokemon/yamask/galar/front.png diff --git a/graphics/pokemon/yamask/galarian/icon.png b/graphics/pokemon/yamask/galar/icon.png similarity index 100% rename from graphics/pokemon/yamask/galarian/icon.png rename to graphics/pokemon/yamask/galar/icon.png diff --git a/graphics/pokemon/yamask/galarian/normal.pal b/graphics/pokemon/yamask/galar/normal.pal similarity index 100% rename from graphics/pokemon/yamask/galarian/normal.pal rename to graphics/pokemon/yamask/galar/normal.pal diff --git a/graphics/pokemon/yamask/galarian/overworld.png b/graphics/pokemon/yamask/galar/overworld.png similarity index 100% rename from graphics/pokemon/yamask/galarian/overworld.png rename to graphics/pokemon/yamask/galar/overworld.png diff --git a/graphics/pokemon/yamask/galarian/overworld_normal.pal b/graphics/pokemon/yamask/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/yamask/galarian/overworld_normal.pal rename to graphics/pokemon/yamask/galar/overworld_normal.pal diff --git a/graphics/pokemon/yamask/galarian/overworld_shiny.pal b/graphics/pokemon/yamask/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/yamask/galarian/overworld_shiny.pal rename to graphics/pokemon/yamask/galar/overworld_shiny.pal diff --git a/graphics/pokemon/yamask/galarian/shiny.pal b/graphics/pokemon/yamask/galar/shiny.pal similarity index 100% rename from graphics/pokemon/yamask/galarian/shiny.pal rename to graphics/pokemon/yamask/galar/shiny.pal diff --git a/graphics/pokemon/yanma/anim_front_gba.png b/graphics/pokemon/yanma/anim_front_gba.png new file mode 100644 index 000000000000..24721e872ebb Binary files /dev/null and b/graphics/pokemon/yanma/anim_front_gba.png differ diff --git a/graphics/pokemon/yanma/back_gba.png b/graphics/pokemon/yanma/back_gba.png new file mode 100644 index 000000000000..980bc86f2b89 Binary files /dev/null and b/graphics/pokemon/yanma/back_gba.png differ diff --git a/graphics/pokemon/yanma/icon_gba.png b/graphics/pokemon/yanma/icon_gba.png new file mode 100644 index 000000000000..336841a00c3c Binary files /dev/null and b/graphics/pokemon/yanma/icon_gba.png differ diff --git a/graphics/pokemon/yanma/normal_gba.pal b/graphics/pokemon/yanma/normal_gba.pal new file mode 100644 index 000000000000..a53cd19e39f8 --- /dev/null +++ b/graphics/pokemon/yanma/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +148 49 0 +255 0 255 +213 65 0 +255 123 65 +255 222 148 +16 16 16 +49 106 0 +82 180 32 +131 238 32 +74 74 82 +255 0 255 +115 131 139 +164 180 213 +230 255 255 +255 0 255 diff --git a/graphics/pokemon/yanma/shiny_gba.pal b/graphics/pokemon/yanma/shiny_gba.pal new file mode 100644 index 000000000000..08b7c0cce571 --- /dev/null +++ b/graphics/pokemon/yanma/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +0 65 148 +255 0 255 +41 115 230 +74 180 255 +115 230 255 +16 16 16 +49 106 0 +82 180 32 +131 238 32 +74 74 82 +255 0 255 +115 131 139 +164 180 213 +230 255 255 +255 0 255 diff --git a/graphics/pokemon/zangoose/anim_front_gba.png b/graphics/pokemon/zangoose/anim_front_gba.png new file mode 100644 index 000000000000..24bb548dd260 Binary files /dev/null and b/graphics/pokemon/zangoose/anim_front_gba.png differ diff --git a/graphics/pokemon/zangoose/back_gba.png b/graphics/pokemon/zangoose/back_gba.png new file mode 100644 index 000000000000..88357e1823df Binary files /dev/null and b/graphics/pokemon/zangoose/back_gba.png differ diff --git a/graphics/pokemon/zangoose/icon_gba.png b/graphics/pokemon/zangoose/icon_gba.png new file mode 100644 index 000000000000..e0485b0b0f44 Binary files /dev/null and b/graphics/pokemon/zangoose/icon_gba.png differ diff --git a/graphics/pokemon/zangoose/normal_gba.pal b/graphics/pokemon/zangoose/normal_gba.pal new file mode 100644 index 000000000000..eb0ef7068afc --- /dev/null +++ b/graphics/pokemon/zangoose/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +255 255 255 +230 222 230 +189 172 180 +148 131 139 +106 90 98 +255 98 106 +205 90 106 +139 65 82 +255 164 148 +213 139 230 +123 106 98 +213 197 205 +0 0 0 +180 98 205 +123 57 131 diff --git a/graphics/pokemon/zangoose/shiny_gba.pal b/graphics/pokemon/zangoose/shiny_gba.pal new file mode 100644 index 000000000000..82487aa4fd86 --- /dev/null +++ b/graphics/pokemon/zangoose/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +255 255 255 +230 222 230 +189 172 180 +148 131 139 +106 90 98 +49 131 197 +74 74 131 +57 57 115 +90 172 230 +255 123 82 +123 106 98 +213 197 205 +0 0 0 +222 98 49 +180 49 32 diff --git a/graphics/pokemon/zapdos/anim_front_gba.png b/graphics/pokemon/zapdos/anim_front_gba.png new file mode 100644 index 000000000000..a27b64e0075c Binary files /dev/null and b/graphics/pokemon/zapdos/anim_front_gba.png differ diff --git a/graphics/pokemon/zapdos/back_gba.png b/graphics/pokemon/zapdos/back_gba.png new file mode 100644 index 000000000000..248366dc5dcf Binary files /dev/null and b/graphics/pokemon/zapdos/back_gba.png differ diff --git a/graphics/pokemon/zapdos/galarian/back.png b/graphics/pokemon/zapdos/galar/back.png similarity index 100% rename from graphics/pokemon/zapdos/galarian/back.png rename to graphics/pokemon/zapdos/galar/back.png diff --git a/graphics/pokemon/zapdos/galarian/front.png b/graphics/pokemon/zapdos/galar/front.png similarity index 100% rename from graphics/pokemon/zapdos/galarian/front.png rename to graphics/pokemon/zapdos/galar/front.png diff --git a/graphics/pokemon/zapdos/galarian/icon.png b/graphics/pokemon/zapdos/galar/icon.png similarity index 100% rename from graphics/pokemon/zapdos/galarian/icon.png rename to graphics/pokemon/zapdos/galar/icon.png diff --git a/graphics/pokemon/zapdos/galarian/normal.pal b/graphics/pokemon/zapdos/galar/normal.pal similarity index 100% rename from graphics/pokemon/zapdos/galarian/normal.pal rename to graphics/pokemon/zapdos/galar/normal.pal diff --git a/graphics/pokemon/zapdos/galarian/overworld.png b/graphics/pokemon/zapdos/galar/overworld.png similarity index 100% rename from graphics/pokemon/zapdos/galarian/overworld.png rename to graphics/pokemon/zapdos/galar/overworld.png diff --git a/graphics/pokemon/zapdos/galarian/overworld_normal.pal b/graphics/pokemon/zapdos/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/zapdos/galarian/overworld_normal.pal rename to graphics/pokemon/zapdos/galar/overworld_normal.pal diff --git a/graphics/pokemon/zapdos/galarian/overworld_shiny.pal b/graphics/pokemon/zapdos/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/zapdos/galarian/overworld_shiny.pal rename to graphics/pokemon/zapdos/galar/overworld_shiny.pal diff --git a/graphics/pokemon/zapdos/galarian/shiny.pal b/graphics/pokemon/zapdos/galar/shiny.pal similarity index 100% rename from graphics/pokemon/zapdos/galarian/shiny.pal rename to graphics/pokemon/zapdos/galar/shiny.pal diff --git a/graphics/pokemon/zapdos/icon_gba.png b/graphics/pokemon/zapdos/icon_gba.png new file mode 100644 index 000000000000..26fc734275a3 Binary files /dev/null and b/graphics/pokemon/zapdos/icon_gba.png differ diff --git a/graphics/pokemon/zapdos/normal_gba.pal b/graphics/pokemon/zapdos/normal_gba.pal new file mode 100644 index 000000000000..5980cfed4f1a --- /dev/null +++ b/graphics/pokemon/zapdos/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +222 222 222 +156 156 156 +90 90 90 +16 16 16 +255 0 255 +255 0 255 +255 189 57 +222 131 0 +156 98 41 +255 255 156 +255 238 0 +238 189 0 +197 139 0 +131 82 32 diff --git a/graphics/pokemon/zapdos/shiny_gba.pal b/graphics/pokemon/zapdos/shiny_gba.pal new file mode 100644 index 000000000000..fb7840ebca04 --- /dev/null +++ b/graphics/pokemon/zapdos/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +222 222 222 +156 156 156 +90 90 90 +16 16 16 +255 0 255 +255 0 255 +255 106 65 +213 65 32 +156 57 41 +255 238 32 +255 197 0 +205 148 0 +156 98 0 +115 57 0 diff --git a/graphics/pokemon/zigzagoon/anim_front_gba.png b/graphics/pokemon/zigzagoon/anim_front_gba.png new file mode 100644 index 000000000000..ba726a26606d Binary files /dev/null and b/graphics/pokemon/zigzagoon/anim_front_gba.png differ diff --git a/graphics/pokemon/zigzagoon/back_gba.png b/graphics/pokemon/zigzagoon/back_gba.png new file mode 100644 index 000000000000..cc56c5d67731 Binary files /dev/null and b/graphics/pokemon/zigzagoon/back_gba.png differ diff --git a/graphics/pokemon/zigzagoon/galarian/back.png b/graphics/pokemon/zigzagoon/galar/back.png similarity index 100% rename from graphics/pokemon/zigzagoon/galarian/back.png rename to graphics/pokemon/zigzagoon/galar/back.png diff --git a/graphics/pokemon/zigzagoon/galarian/front.png b/graphics/pokemon/zigzagoon/galar/front.png similarity index 100% rename from graphics/pokemon/zigzagoon/galarian/front.png rename to graphics/pokemon/zigzagoon/galar/front.png diff --git a/graphics/pokemon/zigzagoon/galarian/icon.png b/graphics/pokemon/zigzagoon/galar/icon.png similarity index 100% rename from graphics/pokemon/zigzagoon/galarian/icon.png rename to graphics/pokemon/zigzagoon/galar/icon.png diff --git a/graphics/pokemon/zigzagoon/galarian/normal.pal b/graphics/pokemon/zigzagoon/galar/normal.pal similarity index 100% rename from graphics/pokemon/zigzagoon/galarian/normal.pal rename to graphics/pokemon/zigzagoon/galar/normal.pal diff --git a/graphics/pokemon/zigzagoon/galarian/overworld.png b/graphics/pokemon/zigzagoon/galar/overworld.png similarity index 100% rename from graphics/pokemon/zigzagoon/galarian/overworld.png rename to graphics/pokemon/zigzagoon/galar/overworld.png diff --git a/graphics/pokemon/zigzagoon/galarian/overworld_normal.pal b/graphics/pokemon/zigzagoon/galar/overworld_normal.pal similarity index 100% rename from graphics/pokemon/zigzagoon/galarian/overworld_normal.pal rename to graphics/pokemon/zigzagoon/galar/overworld_normal.pal diff --git a/graphics/pokemon/zigzagoon/galarian/overworld_shiny.pal b/graphics/pokemon/zigzagoon/galar/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/zigzagoon/galarian/overworld_shiny.pal rename to graphics/pokemon/zigzagoon/galar/overworld_shiny.pal diff --git a/graphics/pokemon/zigzagoon/galarian/shiny.pal b/graphics/pokemon/zigzagoon/galar/shiny.pal similarity index 100% rename from graphics/pokemon/zigzagoon/galarian/shiny.pal rename to graphics/pokemon/zigzagoon/galar/shiny.pal diff --git a/graphics/pokemon/zigzagoon/icon_gba.png b/graphics/pokemon/zigzagoon/icon_gba.png new file mode 100644 index 000000000000..acd0ecc8c295 Binary files /dev/null and b/graphics/pokemon/zigzagoon/icon_gba.png differ diff --git a/graphics/pokemon/zigzagoon/normal_gba.pal b/graphics/pokemon/zigzagoon/normal_gba.pal new file mode 100644 index 000000000000..55f6178cbd50 --- /dev/null +++ b/graphics/pokemon/zigzagoon/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 189 131 +74 65 41 +172 123 90 +205 156 123 +238 189 156 +255 238 197 +65 57 49 +106 90 74 +197 172 139 +230 213 172 +255 255 255 +164 32 0 +205 57 32 +164 148 123 +123 90 74 +16 0 0 diff --git a/graphics/pokemon/zigzagoon/shiny_gba.pal b/graphics/pokemon/zigzagoon/shiny_gba.pal new file mode 100644 index 000000000000..fe2d3cbc9892 --- /dev/null +++ b/graphics/pokemon/zigzagoon/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 189 131 +74 65 41 +197 98 65 +222 131 74 +238 164 74 +255 238 197 +49 49 41 +98 57 41 +197 172 139 +230 213 172 +255 255 255 +164 32 0 +205 57 32 +164 148 123 +131 82 57 +16 0 0 diff --git a/graphics/pokemon/zoroark/hisuian/back.png b/graphics/pokemon/zoroark/hisui/back.png similarity index 100% rename from graphics/pokemon/zoroark/hisuian/back.png rename to graphics/pokemon/zoroark/hisui/back.png diff --git a/graphics/pokemon/zoroark/hisuian/front.png b/graphics/pokemon/zoroark/hisui/front.png similarity index 100% rename from graphics/pokemon/zoroark/hisuian/front.png rename to graphics/pokemon/zoroark/hisui/front.png diff --git a/graphics/pokemon/zoroark/hisuian/icon.png b/graphics/pokemon/zoroark/hisui/icon.png similarity index 100% rename from graphics/pokemon/zoroark/hisuian/icon.png rename to graphics/pokemon/zoroark/hisui/icon.png diff --git a/graphics/pokemon/zoroark/hisuian/normal.pal b/graphics/pokemon/zoroark/hisui/normal.pal similarity index 100% rename from graphics/pokemon/zoroark/hisuian/normal.pal rename to graphics/pokemon/zoroark/hisui/normal.pal diff --git a/graphics/pokemon/zoroark/hisuian/overworld.png b/graphics/pokemon/zoroark/hisui/overworld.png similarity index 100% rename from graphics/pokemon/zoroark/hisuian/overworld.png rename to graphics/pokemon/zoroark/hisui/overworld.png diff --git a/graphics/pokemon/zoroark/hisuian/overworld_normal.pal b/graphics/pokemon/zoroark/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/zoroark/hisuian/overworld_normal.pal rename to graphics/pokemon/zoroark/hisui/overworld_normal.pal diff --git a/graphics/pokemon/zoroark/hisuian/overworld_shiny.pal b/graphics/pokemon/zoroark/hisui/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/zoroark/hisuian/overworld_shiny.pal rename to graphics/pokemon/zoroark/hisui/overworld_shiny.pal diff --git a/graphics/pokemon/zoroark/hisuian/shiny.pal b/graphics/pokemon/zoroark/hisui/shiny.pal similarity index 100% rename from graphics/pokemon/zoroark/hisuian/shiny.pal rename to graphics/pokemon/zoroark/hisui/shiny.pal diff --git a/graphics/pokemon/zorua/hisuian/back.png b/graphics/pokemon/zorua/hisui/back.png similarity index 100% rename from graphics/pokemon/zorua/hisuian/back.png rename to graphics/pokemon/zorua/hisui/back.png diff --git a/graphics/pokemon/zorua/hisuian/front.png b/graphics/pokemon/zorua/hisui/front.png similarity index 100% rename from graphics/pokemon/zorua/hisuian/front.png rename to graphics/pokemon/zorua/hisui/front.png diff --git a/graphics/pokemon/zorua/hisuian/icon.png b/graphics/pokemon/zorua/hisui/icon.png similarity index 100% rename from graphics/pokemon/zorua/hisuian/icon.png rename to graphics/pokemon/zorua/hisui/icon.png diff --git a/graphics/pokemon/zorua/hisuian/normal.pal b/graphics/pokemon/zorua/hisui/normal.pal similarity index 100% rename from graphics/pokemon/zorua/hisuian/normal.pal rename to graphics/pokemon/zorua/hisui/normal.pal diff --git a/graphics/pokemon/zorua/hisuian/overworld.png b/graphics/pokemon/zorua/hisui/overworld.png similarity index 100% rename from graphics/pokemon/zorua/hisuian/overworld.png rename to graphics/pokemon/zorua/hisui/overworld.png diff --git a/graphics/pokemon/zorua/hisuian/overworld_normal.pal b/graphics/pokemon/zorua/hisui/overworld_normal.pal similarity index 100% rename from graphics/pokemon/zorua/hisuian/overworld_normal.pal rename to graphics/pokemon/zorua/hisui/overworld_normal.pal diff --git a/graphics/pokemon/zorua/hisuian/overworld_shiny.pal b/graphics/pokemon/zorua/hisui/overworld_shiny.pal similarity index 100% rename from graphics/pokemon/zorua/hisuian/overworld_shiny.pal rename to graphics/pokemon/zorua/hisui/overworld_shiny.pal diff --git a/graphics/pokemon/zorua/hisuian/shiny.pal b/graphics/pokemon/zorua/hisui/shiny.pal similarity index 100% rename from graphics/pokemon/zorua/hisuian/shiny.pal rename to graphics/pokemon/zorua/hisui/shiny.pal diff --git a/graphics/pokemon/zubat/anim_front_gba.png b/graphics/pokemon/zubat/anim_front_gba.png new file mode 100644 index 000000000000..5f98e0c13b7d Binary files /dev/null and b/graphics/pokemon/zubat/anim_front_gba.png differ diff --git a/graphics/pokemon/zubat/back_gba.png b/graphics/pokemon/zubat/back_gba.png new file mode 100644 index 000000000000..5589e57676d5 Binary files /dev/null and b/graphics/pokemon/zubat/back_gba.png differ diff --git a/graphics/pokemon/zubat/icon_gba.png b/graphics/pokemon/zubat/icon_gba.png new file mode 100644 index 000000000000..696c097e1023 Binary files /dev/null and b/graphics/pokemon/zubat/icon_gba.png differ diff --git a/graphics/pokemon/zubat/normal_gba.pal b/graphics/pokemon/zubat/normal_gba.pal new file mode 100644 index 000000000000..080a3fd93aae --- /dev/null +++ b/graphics/pokemon/zubat/normal_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +213 213 213 +98 98 98 +16 16 16 +255 0 255 +205 197 255 +172 164 238 +123 115 189 +82 74 131 +246 131 222 +213 115 189 +180 82 156 +115 32 90 +255 0 255 +255 0 255 diff --git a/graphics/pokemon/zubat/overworld.png b/graphics/pokemon/zubat/overworld.png index cd1ba2a2ca0b..ea7569268e96 100644 Binary files a/graphics/pokemon/zubat/overworld.png and b/graphics/pokemon/zubat/overworld.png differ diff --git a/graphics/pokemon/zubat/overworldf.png b/graphics/pokemon/zubat/overworldf.png new file mode 100644 index 000000000000..cd1ba2a2ca0b Binary files /dev/null and b/graphics/pokemon/zubat/overworldf.png differ diff --git a/graphics/pokemon/zubat/shiny_gba.pal b/graphics/pokemon/zubat/shiny_gba.pal new file mode 100644 index 000000000000..ab2540e88dbe --- /dev/null +++ b/graphics/pokemon/zubat/shiny_gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +213 213 213 +98 98 98 +16 16 16 +255 0 255 +148 180 98 +106 139 57 +65 98 16 +24 57 0 +238 222 213 +205 180 172 +164 139 131 +106 82 74 +255 0 255 +255 0 255 diff --git a/graphics/text_window/signpost.bin b/graphics/text_window/signpost.bin new file mode 100644 index 000000000000..6358e199db9c Binary files /dev/null and b/graphics/text_window/signpost.bin differ diff --git a/graphics/text_window/signpost.png b/graphics/text_window/signpost.png new file mode 100644 index 000000000000..45ab7c6764b4 Binary files /dev/null and b/graphics/text_window/signpost.png differ diff --git a/graphics/types/battle_icons1.pal b/graphics/types/battle_icons1.pal new file mode 100644 index 000000000000..972dfd02af2c --- /dev/null +++ b/graphics/types/battle_icons1.pal @@ -0,0 +1,15 @@ +JASC-PAL +0100 +12 +120 152 128 +49 49 49 +255 255 255 +164 82 57 +172 189 32 +184 160 90 +213 180 90 +98 98 180 +180 90 164 +172 164 148 +172 172 197 +152 172 246 diff --git a/graphics/types/battle_icons1.png b/graphics/types/battle_icons1.png new file mode 100644 index 000000000000..c47b07f1171a Binary files /dev/null and b/graphics/types/battle_icons1.png differ diff --git a/graphics/types/battle_icons2.pal b/graphics/types/battle_icons2.pal new file mode 100644 index 000000000000..bddf49ad9547 --- /dev/null +++ b/graphics/types/battle_icons2.pal @@ -0,0 +1,15 @@ +JASC-PAL +0100 +12 +120 152 128 +49 49 49 +255 255 255 +240 82 48 +120 200 80 +248 197 49 +80 120 136 +123 98 230 +248 115 164 +57 156 255 +90 205 230 +246 180 246 diff --git a/graphics/types/battle_icons2.png b/graphics/types/battle_icons2.png new file mode 100644 index 000000000000..44aa4f89547f Binary files /dev/null and b/graphics/types/battle_icons2.png differ diff --git a/include/battle.h b/include/battle.h index d32481ee4d5c..37f23596411f 100644 --- a/include/battle.h +++ b/include/battle.h @@ -42,7 +42,7 @@ // Used to exclude moves learned temporarily by Transform or Mimic #define MOVE_IS_PERMANENT(battler, moveSlot) \ (!(gBattleMons[battler].status2 & STATUS2_TRANSFORMED) \ - && !(gDisableStructs[battler].mimickedMoves & gBitTable[moveSlot])) + && !(gDisableStructs[battler].mimickedMoves & (1u << moveSlot))) // Battle Actions // These determine what each battler will do in a turn @@ -201,10 +201,13 @@ struct ProtectStruct u16 eatMirrorHerb:1; u16 activateOpportunist:2; // 2 - to copy stats. 1 - stats copied (do not repeat). 0 - no stats to copy u16 usedAllySwitch:1; + u16 padding:2; + // End of 16-bit bitfield u32 physicalDmg; u32 specialDmg; u8 physicalBattlerId; u8 specialBattlerId; + }; struct SpecialStatus @@ -247,6 +250,7 @@ struct SpecialStatus u8 emergencyExited:1; u8 afterYou:1; u8 preventLifeOrbDamage:1; // So that Life Orb doesn't activate various effects. + u8 distortedTypeMatchups:1; }; struct SideTimer @@ -358,7 +362,7 @@ struct AiLogicData u16 items[MAX_BATTLERS_COUNT]; u16 holdEffects[MAX_BATTLERS_COUNT]; u8 holdEffectParams[MAX_BATTLERS_COUNT]; - u16 predictedMoves[MAX_BATTLERS_COUNT]; + u16 lastUsedMove[MAX_BATTLERS_COUNT]; u8 hpPercents[MAX_BATTLERS_COUNT]; u16 partnerMove; u16 speedStats[MAX_BATTLERS_COUNT]; // Speed stats for all battles, calculated only once, same way as damages @@ -366,11 +370,15 @@ struct AiLogicData u8 effectiveness[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT][MAX_MON_MOVES]; // attacker, target, moveIndex u8 moveAccuracy[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT][MAX_MON_MOVES]; // attacker, target, moveIndex u8 moveLimitations[MAX_BATTLERS_COUNT]; - bool8 shouldSwitchMon; // Because all available moves have no/little effect. Each bit per battler. - u8 monToSwitchId[MAX_BATTLERS_COUNT]; // ID of the mon to switch. - bool8 weatherHasEffect; // The same as WEATHER_HAS_EFFECT. Stored here, so it's called only once. + u8 monToSwitchInId[MAX_BATTLERS_COUNT]; // ID of the mon to switch in. u8 mostSuitableMonId[MAX_BATTLERS_COUNT]; // Stores result of GetMostSuitableMonToSwitchInto, which decides which generic mon the AI would switch into if they decide to switch. This can be overruled by specific mons found in ShouldSwitch; the final resulting mon is stored in AI_monToSwitchIntoId. struct SwitchinCandidate switchinCandidate; // Struct used for deciding which mon to switch to in battle_ai_switch_items.c + u8 weatherHasEffect:1; // The same as WEATHER_HAS_EFFECT. Stored here, so it's called only once. + u8 ejectButtonSwitch:1; // Tracks whether current switch out was from Eject Button + u8 ejectPackSwitch:1; // Tracks whether current switch out was from Eject Pack + u8 padding:5; + u8 shouldSwitch; // Stores result of ShouldSwitch, which decides whether a mon should be switched out + u8 aiCalcInProgress:1; }; struct AI_ThinkingStruct @@ -600,12 +608,34 @@ struct LostItem u16 stolen:1; }; -#if HQ_RANDOM == TRUE struct BattleVideo { u32 battleTypeFlags; rng_value_t rngSeed; }; -#endif + +enum BattleIntroStates +{ + BATTLE_INTRO_STATE_GET_MON_DATA, + BATTLE_INTRO_STATE_LOOP_BATTLER_DATA, + BATTLE_INTRO_STATE_PREPARE_BG_SLIDE, + BATTLE_INTRO_STATE_WAIT_FOR_BG_SLIDE, + BATTLE_INTRO_STATE_DRAW_SPRITES, + BATTLE_INTRO_STATE_DRAW_PARTY_SUMMARY, + BATTLE_INTRO_STATE_WAIT_FOR_PARTY_SUMMARY, + BATTLE_INTRO_STATE_INTRO_TEXT, + BATTLE_INTRO_STATE_WAIT_FOR_INTRO_TEXT, + BATTLE_INTRO_STATE_TRAINER_SEND_OUT_TEXT, + BATTLE_INTRO_STATE_WAIT_FOR_TRAINER_SEND_OUT_TEXT, + BATTLE_INTRO_STATE_TRAINER_1_SEND_OUT_ANIM, + BATTLE_INTRO_STATE_TRAINER_2_SEND_OUT_ANIM, + BATTLE_INTRO_STATE_WAIT_FOR_TRAINER_2_SEND_OUT_ANIM, + BATTLE_INTRO_STATE_WAIT_FOR_WILD_BATTLE_TEXT, + BATTLE_INTRO_STATE_PRINT_PLAYER_SEND_OUT_TEXT, + BATTLE_INTRO_STATE_WAIT_FOR_PLAYER_SEND_OUT_TEXT, + BATTLE_INTRO_STATE_PRINT_PLAYER_1_SEND_OUT_TEXT, + BATTLE_INTRO_STATE_PRINT_PLAYER_2_SEND_OUT_TEXT, + BATTLE_INTRO_STATE_SET_DEX_AND_BATTLE_VARS +}; struct BattleStruct { @@ -683,21 +713,19 @@ 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; - u8 aiCalcInProgress:1; - u8 overworldWeatherDone:1; + u8 startingStatus:6; // status to apply at battle start. defined in constants/battle.h u8 startingStatusDone:1; - u8 isAtkCancelerForCalledMove:1; // Certain cases in atk canceler should only be checked once, when the original move is called, however others need to be checked the twice. u8 terrainDone:1; - u8 startingStatus; // status to apply at battle start. defined in constants/battle.h + u8 overworldWeatherDone:1; + u8 obedienceResult:3; + u8 isAtkCancelerForCalledMove:1; // Certain cases in atk canceler should only be checked once, when the original move is called, however others need to be checked the twice. + u8 friskedAbility:1; // If identifies two mons, show the ability pop-up only once. + u8 fickleBeamBoosted:1; + u8 poisonPuppeteerConfusion:1; u8 startingStatusTimer; u8 atkCancellerTracker; struct BattleTvMovePoints tvMovePoints; @@ -720,27 +748,23 @@ struct BattleStruct bool8 ateBoost[MAX_BATTLERS_COUNT]; u8 activeAbilityPopUps; // as bits for each battler u8 abilityPopUpSpriteIds[MAX_BATTLERS_COUNT][2]; // two per battler - bool8 throwingPokeBall; struct ZMoveData zmove; struct DynamaxData dynamax; struct BattleGimmickData gimmick; const u8 *trainerSlideMsg; - bool8 trainerSlideLowHpMsgDone; - u8 introState; + enum BattleIntroStates introState:8; u8 ateBerry[2]; // array id determined by side, each party pokemon as bit u8 stolenStats[NUM_BATTLE_STATS]; // hp byte is used for which stats to raise, other inform about by how many stages u8 lastMoveFailed; // as bits for each battler, for the sake of Stomping Tantrum u8 lastMoveTarget[MAX_BATTLERS_COUNT]; // The last target on which each mon used a move, for the sake of Instruct u16 tracedAbility[MAX_BATTLERS_COUNT]; u16 hpBefore[MAX_BATTLERS_COUNT]; // Hp of battlers before using a move. For Berserk and Anger Shell. - bool8 spriteIgnore0Hp; struct Illusion illusion[MAX_BATTLERS_COUNT]; s32 aiFinalScore[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT][MAX_MON_MOVES]; // AI, target, moves to make debugging easier u8 aiMoveOrAction[MAX_BATTLERS_COUNT]; u8 aiChosenTarget[MAX_BATTLERS_COUNT]; u8 soulheartBattlerId; u8 friskedBattler; // Frisk needs to identify 2 battlers in double battles. - bool8 friskedAbility; // If identifies two mons, show the ability pop-up only once. u8 sameMoveTurns[MAX_BATTLERS_COUNT]; // For Metronome, number of times the same moves has been SUCCESFULLY used. u16 moveEffect2; // For Knock Off u16 changedSpecies[NUM_BATTLE_SIDES][PARTY_SIZE]; // For forms when multiple mons can change into the same pokemon. @@ -755,14 +779,16 @@ struct BattleStruct u8 descriptionSubmenu:1; // For Move Description window in move selection screen u8 ackBallUseBtn:1; // Used for the last used ball feature u8 ballSwapped:1; // Used for the last used ball feature + u8 throwingPokeBall:1; 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. // When using a move which hits multiple opponents which is then bounced by a target, we need to make sure, the move hits both opponents, the one with bounce, and the one without. u8 attackerBeforeBounce:2; u8 beatUpSlot:3; - bool8 hitSwitchTargetFailed:1; - bool8 effectsBeforeUsingMoveDone:1; // Mega Evo and Focus Punch/Shell Trap effects. + u8 hitSwitchTargetFailed:1; + u8 effectsBeforeUsingMoveDone:1; // Mega Evo and Focus Punch/Shell Trap effects. + u8 spriteIgnore0Hp:1; u8 targetsDone[MAX_BATTLERS_COUNT]; // Each battler as a bit. u16 overwrittenAbilities[MAX_BATTLERS_COUNT]; // abilities overwritten during battle (keep separate from battle history in case of switching) u8 battleBondTransformed[NUM_BATTLE_SIDES]; // Bitfield for each party. @@ -780,9 +806,9 @@ struct BattleStruct u8 trainerSlideZMoveMsgDone:1; u8 trainerSlideBeforeFirstTurnMsgDone:1; u8 trainerSlideDynamaxMsgDone:1; + u8 trainerSlideLowHpMsgDone:1; u8 pledgeMove:1; u8 isSkyBattle:1; - u8 poisonPuppeteerConfusion:1; u32 aiDelayTimer; // Counts number of frames AI takes to choose an action. u32 aiDelayFrames; // Number of frames it took to choose an action. u8 timesGotHit[NUM_BATTLE_SIDES][PARTY_SIZE]; @@ -798,12 +824,13 @@ struct BattleStruct u8 shellSideArmCategory[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT]; u8 speedTieBreaks; // MAX_BATTLERS_COUNT! values. u8 boosterEnergyActivates; - u8 distortedTypeMatchups; u8 categoryOverride; // for Z-Moves and Max Moves + u8 commandingDondozo; + u16 commanderActive[MAX_BATTLERS_COUNT]; u32 stellarBoostFlags[NUM_BATTLE_SIDES]; // stored as a bitfield of flags for all types for each side - u8 fickleBeamBoosted:1; u8 redCardActivates:1; - u8 padding:6; + u8 padding:7; + u8 usedEjectItem; u8 usedMicleBerry; }; @@ -816,13 +843,6 @@ STATIC_ASSERT(sizeof(((struct BattleStruct *)0)->palaceFlags) * 8 >= MAX_BATTLER #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) do { \ - if (gBattleStruct->dynamicMoveType) \ - typeArg = gBattleStruct->dynamicMoveType & DYNAMIC_TYPE_MASK; \ - else \ - typeArg = gMovesInfo[move].type; \ -} while(0) - #define IS_MOVE_PHYSICAL(move)(GetBattleMoveCategory(move) == DAMAGE_CATEGORY_PHYSICAL) #define IS_MOVE_SPECIAL(move)(GetBattleMoveCategory(move) == DAMAGE_CATEGORY_SPECIAL) #define IS_MOVE_STATUS(move)(gMovesInfo[move].category == DAMAGE_CATEGORY_STATUS) @@ -830,8 +850,8 @@ STATIC_ASSERT(sizeof(((struct BattleStruct *)0)->palaceFlags) * 8 >= MAX_BATTLER #define IS_MOVE_RECOIL(move)(gMovesInfo[move].recoil > 0 || gMovesInfo[move].effect == EFFECT_RECOIL_IF_MISS) #define BATTLER_MAX_HP(battlerId)(gBattleMons[battlerId].hp == gBattleMons[battlerId].maxHP) -#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[battlerId])) +#define TARGET_TURN_DAMAGED ((gSpecialStatuses[gBattlerTarget].physicalDmg != 0 || gSpecialStatuses[gBattlerTarget].specialDmg != 0) || (gBattleStruct->enduredDamage & (1u << gBattlerTarget))) +#define BATTLER_TURN_DAMAGED(battlerId) ((gSpecialStatuses[battlerId].physicalDmg != 0 || gSpecialStatuses[battlerId].specialDmg != 0) || (gBattleStruct->enduredDamage & (1u << battler))) #define IS_BATTLER_OF_TYPE(battlerId, type)((GetBattlerType(battlerId, 0, FALSE) == type || GetBattlerType(battlerId, 1, FALSE) == type || (GetBattlerType(battlerId, 2, FALSE) != TYPE_MYSTERY && GetBattlerType(battlerId, 2, FALSE) == type))) #define IS_BATTLER_OF_BASE_TYPE(battlerId, type)((GetBattlerType(battlerId, 0, TRUE) == type || GetBattlerType(battlerId, 1, TRUE) == type || (GetBattlerType(battlerId, 2, TRUE) != TYPE_MYSTERY && GetBattlerType(battlerId, 2, TRUE) == type))) @@ -972,7 +992,10 @@ struct BattleHealthboxInfo u8 animationState; u8 partyStatusDelayTimer; u8 matrixNum; - u8 shadowSpriteId; + + u8 shadowSpriteIdPrimary; + u8 shadowSpriteIdSecondary; + u8 soundTimer; u8 introEndDelay; u8 field_A; @@ -1144,6 +1167,12 @@ static inline u32 GetBattlerSide(u32 battler) return GetBattlerPosition(battler) & BIT_SIDE; } +static inline struct Pokemon* GetPartyBattlerData(u32 battler) +{ + u32 index = gBattlerPartyIndexes[battler]; + return (GetBattlerSide(battler) == B_SIDE_OPPONENT) ? &gEnemyParty[index] : &gPlayerParty[index]; +} + static inline struct Pokemon *GetSideParty(u32 side) { return (side == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; @@ -1154,4 +1183,10 @@ static inline struct Pokemon *GetBattlerParty(u32 battler) return GetSideParty(GetBattlerSide(battler)); } +static inline bool32 IsDoubleBattle(void) +{ + return gBattleTypeFlags & BATTLE_TYPE_DOUBLE; +} + #endif // GUARD_BATTLE_H + diff --git a/include/battle_ai_main.h b/include/battle_ai_main.h index 431ed3569898..3617be910fff 100644 --- a/include/battle_ai_main.h +++ b/include/battle_ai_main.h @@ -10,7 +10,6 @@ typedef s32 (*AiScoreFunc)(u32, u32, u32, s32); // 0 - 3 are move idx #define AI_CHOICE_FLEE 4 #define AI_CHOICE_WATCH 5 -#define AI_CHOICE_SWITCH 7 // for AI_WhoStrikesFirst #define AI_IS_FASTER 1 @@ -96,7 +95,6 @@ typedef s32 (*AiScoreFunc)(u32, u32, u32, s32); return score; \ } -u32 ComputeBattleAiScores(u32 battler); void BattleAI_SetupItems(void); void BattleAI_SetupFlags(void); void BattleAI_SetupAIData(u8 defaultScoreMoves, u32 battler); diff --git a/include/battle_ai_switch_items.h b/include/battle_ai_switch_items.h index b52e792612e9..28eb318b2fc2 100644 --- a/include/battle_ai_switch_items.h +++ b/include/battle_ai_switch_items.h @@ -4,6 +4,7 @@ void GetAIPartyIndexes(u32 battlerId, s32 *firstId, s32 *lastId); void AI_TrySwitchOrUseItem(u32 battler); u32 GetMostSuitableMonToSwitchInto(u32 battler, bool32 switchAfterMonKOd); -bool32 ShouldSwitch(u32 battler, bool32 emitResult); +bool32 ShouldSwitch(u32 battler); +bool32 IsMonGrounded(u16 heldItemEffect, u32 ability, u8 type1, u8 type2); #endif // GUARD_BATTLE_AI_SWITCH_ITEMS_H diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index 94d895e8fd08..c74cad2e780e 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -15,9 +15,17 @@ enum DamageRollType DMG_ROLL_HIGHEST, }; +enum AIPivot +{ + DONT_PIVOT, + CAN_TRY_PIVOT, + SHOULD_PIVOT, +}; + bool32 AI_IsFaster(u32 battlerAi, u32 battlerDef, u32 move); bool32 AI_IsSlower(u32 battlerAi, u32 battlerDef, u32 move); bool32 AI_RandLessThan(u32 val); +u32 GetDmgRollType(u32 battlerAtk); bool32 IsAiVsAiBattle(void); bool32 BattlerHasAi(u32 battlerId); bool32 IsAiBattlerAware(u32 battlerId); @@ -31,6 +39,7 @@ void RecordItemEffectBattle(u32 battlerId, u32 itemEffect); void ClearBattlerItemEffectHistory(u32 battlerId); void SaveBattlerData(u32 battlerId); void SetBattlerData(u32 battlerId); +void SetBattlerAiData(u32 battlerId, struct AiLogicData *aiData); void RestoreBattlerData(u32 battlerId); u32 GetAIChosenMove(u32 battlerId); u32 GetTotalBaseStat(u32 species); @@ -51,8 +60,6 @@ bool32 DoesBattlerIgnoreAbilityChecks(u32 atkAbility, u32 move); u32 AI_GetWeather(struct AiLogicData *aiData); bool32 CanAIFaintTarget(u32 battlerAtk, u32 battlerDef, u32 numHits); bool32 CanIndexMoveFaintTarget(u32 battlerAtk, u32 battlerDef, u32 index, u32 numHits); -bool32 AI_IsTerrainAffected(u32 battlerId, u32 flags); -bool32 AI_IsBattlerGrounded(u32 battlerId); bool32 HasDamagingMove(u32 battlerId); bool32 HasDamagingMoveOfType(u32 battlerId, u32 type); u32 GetBattlerSecondaryDamage(u32 battlerId); @@ -64,7 +71,7 @@ u32 GetBattlerSideSpeedAverage(u32 battler); bool32 ShouldAbsorb(u32 battlerAtk, u32 battlerDef, u32 move, s32 damage); bool32 ShouldRecover(u32 battlerAtk, u32 battlerDef, u32 move, u32 healPercent); bool32 ShouldSetScreen(u32 battlerAtk, u32 battlerDef, u32 moveEffect); -bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 moveIndex); +enum AIPivot ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 moveIndex); bool32 IsRecycleEncouragedItem(u32 item); bool32 ShouldRestoreHpBerry(u32 battlerAtk, u32 item); bool32 IsStatBoostingBerry(u32 item); @@ -72,7 +79,6 @@ bool32 CanKnockOffItem(u32 battler, u32 item); bool32 IsAbilityOfRating(u32 ability, s8 rating); bool32 AI_IsAbilityOnSide(u32 battlerId, u32 ability); bool32 AI_MoveMakesContact(u32 ability, u32 holdEffect, u32 move); -u32 AI_GetBattlerMoveTargetType(u32 battlerId, u32 move); bool32 ShouldUseZMove(u32 battlerAtk, u32 battlerDef, u32 chosenMove); // stat stage checks @@ -80,7 +86,6 @@ bool32 AnyStatIsRaised(u32 battlerId); bool32 ShouldLowerStat(u32 battler, u32 battlerAbility, u32 stat); bool32 BattlerStatCanRise(u32 battler, u32 battlerAbility, u32 stat); bool32 AreBattlersStatsMaxed(u32 battler); -bool32 BattlerHasAnyStatRaised(u32 battlerId); u32 CountPositiveStatStages(u32 battlerId); u32 CountNegativeStatStages(u32 battlerId); bool32 ShouldLowerAttack(u32 battlerAtk, u32 battlerDef, u32 defAbility); @@ -115,11 +120,11 @@ bool32 HasMoveEffectANDArg(u32 battlerId, u32 effect, u32 argument); bool32 HasMoveWithAdditionalEffect(u32 battlerId, u32 moveEffect); bool32 HasMoveWithCriticalHitChance(u32 battlerId); bool32 HasMoveWithMoveEffectExcept(u32 battlerId, u32 moveEffect, u32 exception); +bool32 HasMoveThatLowersOwnStats(u32 battlerId); bool32 HasMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef, u32 accCheck, bool32 ignoreStatus, u32 atkAbility, u32 defAbility, u32 atkHoldEffect, u32 defHoldEffect); bool32 HasAnyKnownMove(u32 battlerId); bool32 IsAromaVeilProtectedMove(u32 move); bool32 IsNonVolatileStatusMoveEffect(u32 moveEffect); -bool32 IsStatLoweringMoveEffect(u32 moveEffect); bool32 IsMoveRedirectionPrevented(u32 move, u32 atkAbility); bool32 IsMoveEncouragedToHit(u32 battlerAtk, u32 battlerDef, u32 move); bool32 IsHazardMoveEffect(u32 moveEffect); @@ -139,6 +144,8 @@ bool32 ShouldFakeOut(u32 battlerAtk, u32 battlerDef, u32 move); bool32 HasThawingMove(u32 battler); bool32 IsStatRaisingEffect(u32 effect); bool32 IsStatLoweringEffect(u32 effect); +bool32 IsSelfStatLoweringEffect(u32 effect); +bool32 IsSwitchOutEffect(u32 effect); bool32 IsAttackBoostMoveEffect(u32 effect); bool32 IsUngroundingEffect(u32 effect); bool32 IsSemiInvulnerable(u32 battlerDef, u32 move); @@ -170,7 +177,6 @@ bool32 AI_IsBattlerAsleepOrComatose(u32 battlerId); #define IS_TARGETING_PARTNER(battlerAtk, battlerDef)((battlerAtk) == (battlerDef ^ BIT_FLANK)) u32 GetAllyChosenMove(u32 battlerId); bool32 IsValidDoubleBattle(u32 battlerAtk); -bool32 IsTargetingPartner(u32 battlerAtk, u32 battlerDef); bool32 DoesPartnerHaveSameMoveEffect(u32 battlerAtkPartner, u32 battlerDef, u32 move, u32 partnerMove); bool32 PartnerHasSameMoveEffectWithoutTarget(u32 battlerAtkPartner, u32 move, u32 partnerMove); bool32 PartnerMoveEffectIsStatusSameTarget(u32 battlerAtkPartner, u32 battlerDef, u32 partnerMove); @@ -200,10 +206,12 @@ void IncreaseConfusionScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score void IncreaseFrostbiteScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score); s32 AI_CalcPartyMonDamage(u32 move, u32 battlerAtk, u32 battlerDef, struct BattlePokemon switchinCandidate, bool32 isPartyMonAttacker, enum DamageRollType rollType); +u32 AI_WhoStrikesFirstPartyMon(u32 battlerAtk, u32 battlerDef, struct BattlePokemon switchinCandidate, u32 moveConsidered); s32 AI_TryToClearStats(u32 battlerAtk, u32 battlerDef, bool32 isDoubleBattle); bool32 AI_ShouldCopyStatChanges(u32 battlerAtk, u32 battlerDef); bool32 AI_ShouldSetUpHazards(u32 battlerAtk, u32 battlerDef, struct AiLogicData *aiData); void IncreaseTidyUpScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score); bool32 AI_ShouldSpicyExtract(u32 battlerAtk, u32 battlerAtkPartner, u32 move, struct AiLogicData *aiData); +void IncreaseSubstituteMoveScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score); #endif //GUARD_BATTLE_AI_UTIL_H diff --git a/include/battle_anim.h b/include/battle_anim.h index 36b21bc01289..96ba0c52ab74 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -194,7 +194,6 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId); bool8 IsBattlerSpritePresent(u8 battlerId); void ClearBattleAnimBg(u32 bgId); u8 GetAnimBattlerSpriteId(u8 wantedBattler); -bool8 IsDoubleBattle(void); u8 GetBattleBgPaletteNum(void); u8 GetBattlerSpriteBGPriorityRank(u8 battlerId); void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite *)); @@ -236,7 +235,6 @@ extern const union AffineAnimCmd *const gAffineAnims_SpinningBone[]; // battle_anim_throw.c void TryShinyAnimation(u8 battler, struct Pokemon *mon); -u8 ItemIdToBallId(u16 itemId); u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId); u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 spritePalNum, u32 selectedPalettes, u8 ballId); bool32 IsCriticalCapture(void); @@ -557,4 +555,7 @@ void CoreEnforcerLoadBeamTarget(struct Sprite *sprite); void SpriteCB_RandomCentredHits(struct Sprite *sprite); void InitSpritePosToAnimTargetsCentre(struct Sprite *sprite, bool32 respectMonPicOffsets); +// battle_anim_bug.c +void AnimTranslateStinger(struct Sprite *sprite); + #endif // GUARD_BATTLE_ANIM_H diff --git a/include/battle_anim_scripts.h b/include/battle_anim_scripts.h index d97aaa421df6..6c4978897555 100644 --- a/include/battle_anim_scripts.h +++ b/include/battle_anim_scripts.h @@ -1,940 +1,1018 @@ #ifndef GUARD_BATTLE_ANIM_SCRIPTS_H #define GUARD_BATTLE_ANIM_SCRIPTS_H -extern const u8 Move_NONE[]; -extern const u8 Move_POUND[]; -extern const u8 Move_KARATE_CHOP[]; -extern const u8 Move_DOUBLE_SLAP[]; -extern const u8 Move_COMET_PUNCH[]; -extern const u8 Move_MEGA_PUNCH[]; -extern const u8 Move_PAY_DAY[]; -extern const u8 Move_FIRE_PUNCH[]; -extern const u8 Move_ICE_PUNCH[]; -extern const u8 Move_THUNDER_PUNCH[]; -extern const u8 Move_SCRATCH[]; -extern const u8 Move_VISE_GRIP[]; -extern const u8 Move_GUILLOTINE[]; -extern const u8 Move_RAZOR_WIND[]; -extern const u8 Move_SWORDS_DANCE[]; -extern const u8 Move_CUT[]; -extern const u8 Move_GUST[]; -extern const u8 Move_WING_ATTACK[]; -extern const u8 Move_WHIRLWIND[]; -extern const u8 Move_FLY[]; -extern const u8 Move_BIND[]; -extern const u8 Move_SLAM[]; -extern const u8 Move_VINE_WHIP[]; -extern const u8 Move_STOMP[]; -extern const u8 Move_DOUBLE_KICK[]; -extern const u8 Move_MEGA_KICK[]; -extern const u8 Move_JUMP_KICK[]; -extern const u8 Move_ROLLING_KICK[]; -extern const u8 Move_SAND_ATTACK[]; -extern const u8 Move_HEADBUTT[]; -extern const u8 Move_HORN_ATTACK[]; -extern const u8 Move_FURY_ATTACK[]; -extern const u8 Move_HORN_DRILL[]; -extern const u8 Move_TACKLE[]; -extern const u8 Move_BODY_SLAM[]; -extern const u8 Move_WRAP[]; -extern const u8 Move_TAKE_DOWN[]; -extern const u8 Move_THRASH[]; -extern const u8 Move_DOUBLE_EDGE[]; -extern const u8 Move_TAIL_WHIP[]; -extern const u8 Move_POISON_STING[]; -extern const u8 Move_TWINEEDLE[]; -extern const u8 Move_PIN_MISSILE[]; -extern const u8 Move_LEER[]; -extern const u8 Move_BITE[]; -extern const u8 Move_GROWL[]; -extern const u8 Move_ROAR[]; -extern const u8 Move_SING[]; -extern const u8 Move_SUPERSONIC[]; -extern const u8 Move_SONIC_BOOM[]; -extern const u8 Move_DISABLE[]; -extern const u8 Move_ACID[]; -extern const u8 Move_EMBER[]; -extern const u8 Move_FLAMETHROWER[]; -extern const u8 Move_MIST[]; -extern const u8 Move_WATER_GUN[]; -extern const u8 Move_HYDRO_PUMP[]; -extern const u8 Move_SURF[]; -extern const u8 Move_ICE_BEAM[]; -extern const u8 Move_BLIZZARD[]; -extern const u8 Move_PSYBEAM[]; -extern const u8 Move_BUBBLE_BEAM[]; -extern const u8 Move_AURORA_BEAM[]; -extern const u8 Move_HYPER_BEAM[]; -extern const u8 Move_PECK[]; -extern const u8 Move_DRILL_PECK[]; -extern const u8 Move_SUBMISSION[]; -extern const u8 Move_LOW_KICK[]; -extern const u8 Move_COUNTER[]; -extern const u8 Move_SEISMIC_TOSS[]; -extern const u8 Move_STRENGTH[]; -extern const u8 Move_ABSORB[]; -extern const u8 Move_MEGA_DRAIN[]; -extern const u8 Move_LEECH_SEED[]; -extern const u8 Move_GROWTH[]; -extern const u8 Move_RAZOR_LEAF[]; -extern const u8 Move_SOLAR_BEAM[]; -extern const u8 Move_POISON_POWDER[]; -extern const u8 Move_STUN_SPORE[]; -extern const u8 Move_SLEEP_POWDER[]; -extern const u8 Move_PETAL_DANCE[]; -extern const u8 Move_STRING_SHOT[]; -extern const u8 Move_DRAGON_RAGE[]; -extern const u8 Move_FIRE_SPIN[]; -extern const u8 Move_THUNDER_SHOCK[]; -extern const u8 Move_THUNDERBOLT[]; -extern const u8 Move_THUNDER_WAVE[]; -extern const u8 Move_THUNDER[]; -extern const u8 Move_ROCK_THROW[]; -extern const u8 Move_EARTHQUAKE[]; -extern const u8 Move_FISSURE[]; -extern const u8 Move_DIG[]; -extern const u8 Move_TOXIC[]; -extern const u8 Move_CONFUSION[]; -extern const u8 Move_PSYCHIC[]; -extern const u8 Move_HYPNOSIS[]; -extern const u8 Move_MEDITATE[]; -extern const u8 Move_AGILITY[]; -extern const u8 Move_QUICK_ATTACK[]; -extern const u8 Move_RAGE[]; -extern const u8 Move_TELEPORT[]; -extern const u8 Move_NIGHT_SHADE[]; -extern const u8 Move_MIMIC[]; -extern const u8 Move_SCREECH[]; -extern const u8 Move_DOUBLE_TEAM[]; -extern const u8 Move_RECOVER[]; -extern const u8 Move_HARDEN[]; -extern const u8 Move_MINIMIZE[]; -extern const u8 Move_SMOKESCREEN[]; -extern const u8 Move_CONFUSE_RAY[]; -extern const u8 Move_WITHDRAW[]; -extern const u8 Move_DEFENSE_CURL[]; -extern const u8 Move_BARRIER[]; -extern const u8 Move_LIGHT_SCREEN[]; -extern const u8 Move_HAZE[]; -extern const u8 Move_REFLECT[]; -extern const u8 Move_FOCUS_ENERGY[]; -extern const u8 Move_BIDE[]; -extern const u8 Move_METRONOME[]; -extern const u8 Move_MIRROR_MOVE[]; -extern const u8 Move_SELF_DESTRUCT[]; -extern const u8 Move_EGG_BOMB[]; -extern const u8 Move_LICK[]; -extern const u8 Move_SMOG[]; -extern const u8 Move_SLUDGE[]; -extern const u8 Move_BONE_CLUB[]; -extern const u8 Move_FIRE_BLAST[]; -extern const u8 Move_WATERFALL[]; -extern const u8 Move_CLAMP[]; -extern const u8 Move_SWIFT[]; -extern const u8 Move_SKULL_BASH[]; -extern const u8 Move_SPIKE_CANNON[]; -extern const u8 Move_CONSTRICT[]; -extern const u8 Move_AMNESIA[]; -extern const u8 Move_KINESIS[]; -extern const u8 Move_SOFT_BOILED[]; -extern const u8 Move_HIGH_JUMP_KICK[]; -extern const u8 Move_GLARE[]; -extern const u8 Move_DREAM_EATER[]; -extern const u8 Move_POISON_GAS[]; -extern const u8 Move_BARRAGE[]; -extern const u8 Move_LEECH_LIFE[]; -extern const u8 Move_LOVELY_KISS[]; -extern const u8 Move_SKY_ATTACK[]; -extern const u8 Move_TRANSFORM[]; -extern const u8 Move_BUBBLE[]; -extern const u8 Move_DIZZY_PUNCH[]; -extern const u8 Move_SPORE[]; -extern const u8 Move_FLASH[]; -extern const u8 Move_PSYWAVE[]; -extern const u8 Move_SPLASH[]; -extern const u8 Move_ACID_ARMOR[]; -extern const u8 Move_CRABHAMMER[]; -extern const u8 Move_EXPLOSION[]; -extern const u8 Move_FURY_SWIPES[]; -extern const u8 Move_BONEMERANG[]; -extern const u8 Move_REST[]; -extern const u8 Move_ROCK_SLIDE[]; -extern const u8 Move_HYPER_FANG[]; -extern const u8 Move_SHARPEN[]; -extern const u8 Move_CONVERSION[]; -extern const u8 Move_TRI_ATTACK[]; -extern const u8 Move_SUPER_FANG[]; -extern const u8 Move_SLASH[]; -extern const u8 Move_SUBSTITUTE[]; -extern const u8 Move_STRUGGLE[]; -extern const u8 Move_SKETCH[]; -extern const u8 Move_TRIPLE_KICK[]; -extern const u8 Move_THIEF[]; -extern const u8 Move_SPIDER_WEB[]; -extern const u8 Move_MIND_READER[]; -extern const u8 Move_NIGHTMARE[]; -extern const u8 Move_FLAME_WHEEL[]; -extern const u8 Move_SNORE[]; -extern const u8 Move_CURSE[]; -extern const u8 Move_FLAIL[]; -extern const u8 Move_CONVERSION_2[]; -extern const u8 Move_AEROBLAST[]; -extern const u8 Move_COTTON_SPORE[]; -extern const u8 Move_REVERSAL[]; -extern const u8 Move_SPITE[]; -extern const u8 Move_POWDER_SNOW[]; -extern const u8 Move_PROTECT[]; -extern const u8 Move_MACH_PUNCH[]; -extern const u8 Move_SCARY_FACE[]; -extern const u8 Move_FEINT_ATTACK[]; -extern const u8 Move_SWEET_KISS[]; -extern const u8 Move_BELLY_DRUM[]; -extern const u8 Move_SLUDGE_BOMB[]; -extern const u8 Move_MUD_SLAP[]; -extern const u8 Move_OCTAZOOKA[]; -extern const u8 Move_SPIKES[]; -extern const u8 Move_ZAP_CANNON[]; -extern const u8 Move_FORESIGHT[]; -extern const u8 Move_DESTINY_BOND[]; -extern const u8 Move_PERISH_SONG[]; -extern const u8 Move_ICY_WIND[]; -extern const u8 Move_DETECT[]; -extern const u8 Move_BONE_RUSH[]; -extern const u8 Move_LOCK_ON[]; -extern const u8 Move_OUTRAGE[]; -extern const u8 Move_SANDSTORM[]; -extern const u8 Move_GIGA_DRAIN[]; -extern const u8 Move_ENDURE[]; -extern const u8 Move_CHARM[]; -extern const u8 Move_ROLLOUT[]; -extern const u8 Move_FALSE_SWIPE[]; -extern const u8 Move_SWAGGER[]; -extern const u8 Move_MILK_DRINK[]; -extern const u8 Move_SPARK[]; -extern const u8 Move_FURY_CUTTER[]; -extern const u8 Move_STEEL_WING[]; -extern const u8 Move_MEAN_LOOK[]; -extern const u8 Move_ATTRACT[]; -extern const u8 Move_SLEEP_TALK[]; -extern const u8 Move_HEAL_BELL[]; -extern const u8 Move_RETURN[]; -extern const u8 Move_PRESENT[]; -extern const u8 Move_FRUSTRATION[]; -extern const u8 Move_SAFEGUARD[]; -extern const u8 Move_PAIN_SPLIT[]; -extern const u8 Move_SACRED_FIRE[]; -extern const u8 Move_MAGNITUDE[]; -extern const u8 Move_DYNAMIC_PUNCH[]; -extern const u8 Move_MEGAHORN[]; -extern const u8 Move_DRAGON_BREATH[]; -extern const u8 Move_BATON_PASS[]; -extern const u8 Move_ENCORE[]; -extern const u8 Move_PURSUIT[]; -extern const u8 Move_RAPID_SPIN[]; -extern const u8 Move_SWEET_SCENT[]; -extern const u8 Move_IRON_TAIL[]; -extern const u8 Move_METAL_CLAW[]; -extern const u8 Move_VITAL_THROW[]; -extern const u8 Move_MORNING_SUN[]; -extern const u8 Move_SYNTHESIS[]; -extern const u8 Move_MOONLIGHT[]; -extern const u8 Move_HIDDEN_POWER[]; -extern const u8 Move_CROSS_CHOP[]; -extern const u8 Move_TWISTER[]; -extern const u8 Move_RAIN_DANCE[]; -extern const u8 Move_SUNNY_DAY[]; -extern const u8 Move_CRUNCH[]; -extern const u8 Move_MIRROR_COAT[]; -extern const u8 Move_PSYCH_UP[]; -extern const u8 Move_EXTREME_SPEED[]; -extern const u8 Move_ANCIENT_POWER[]; -extern const u8 Move_SHADOW_BALL[]; -extern const u8 Move_FUTURE_SIGHT[]; -extern const u8 Move_ROCK_SMASH[]; -extern const u8 Move_WHIRLPOOL[]; -extern const u8 Move_BEAT_UP[]; -extern const u8 Move_FAKE_OUT[]; -extern const u8 Move_UPROAR[]; -extern const u8 Move_STOCKPILE[]; -extern const u8 Move_SPIT_UP[]; -extern const u8 Move_SWALLOW[]; -extern const u8 Move_HEAT_WAVE[]; -extern const u8 Move_HAIL[]; -extern const u8 Move_TORMENT[]; -extern const u8 Move_FLATTER[]; -extern const u8 Move_WILL_O_WISP[]; -extern const u8 Move_MEMENTO[]; -extern const u8 Move_FACADE[]; -extern const u8 Move_FOCUS_PUNCH[]; -extern const u8 Move_SMELLING_SALTS[]; -extern const u8 Move_FOLLOW_ME[]; -extern const u8 Move_NATURE_POWER[]; -extern const u8 Move_CHARGE[]; -extern const u8 Move_TAUNT[]; -extern const u8 Move_HELPING_HAND[]; -extern const u8 Move_TRICK[]; -extern const u8 Move_ROLE_PLAY[]; -extern const u8 Move_WISH[]; -extern const u8 Move_ASSIST[]; -extern const u8 Move_INGRAIN[]; -extern const u8 Move_SUPERPOWER[]; -extern const u8 Move_MAGIC_COAT[]; -extern const u8 Move_RECYCLE[]; -extern const u8 Move_REVENGE[]; -extern const u8 Move_BRICK_BREAK[]; -extern const u8 Move_YAWN[]; -extern const u8 Move_KNOCK_OFF[]; -extern const u8 Move_ENDEAVOR[]; -extern const u8 Move_ERUPTION[]; -extern const u8 Move_SKILL_SWAP[]; -extern const u8 Move_IMPRISON[]; -extern const u8 Move_REFRESH[]; -extern const u8 Move_GRUDGE[]; -extern const u8 Move_SNATCH[]; -extern const u8 Move_SECRET_POWER[]; -extern const u8 Move_DIVE[]; -extern const u8 Move_ARM_THRUST[]; -extern const u8 Move_CAMOUFLAGE[]; -extern const u8 Move_TAIL_GLOW[]; -extern const u8 Move_LUSTER_PURGE[]; -extern const u8 Move_MIST_BALL[]; -extern const u8 Move_FEATHER_DANCE[]; -extern const u8 Move_TEETER_DANCE[]; -extern const u8 Move_BLAZE_KICK[]; -extern const u8 Move_MUD_SPORT[]; -extern const u8 Move_ICE_BALL[]; -extern const u8 Move_NEEDLE_ARM[]; -extern const u8 Move_SLACK_OFF[]; -extern const u8 Move_HYPER_VOICE[]; -extern const u8 Move_POISON_FANG[]; -extern const u8 Move_CRUSH_CLAW[]; -extern const u8 Move_BLAST_BURN[]; -extern const u8 Move_HYDRO_CANNON[]; -extern const u8 Move_METEOR_MASH[]; -extern const u8 Move_ASTONISH[]; -extern const u8 Move_WEATHER_BALL[]; -extern const u8 Move_AROMATHERAPY[]; -extern const u8 Move_FAKE_TEARS[]; -extern const u8 Move_AIR_CUTTER[]; -extern const u8 Move_OVERHEAT[]; -extern const u8 Move_ODOR_SLEUTH[]; -extern const u8 Move_ROCK_TOMB[]; -extern const u8 Move_SILVER_WIND[]; -extern const u8 Move_METAL_SOUND[]; -extern const u8 Move_GRASS_WHISTLE[]; -extern const u8 Move_TICKLE[]; -extern const u8 Move_COSMIC_POWER[]; -extern const u8 Move_WATER_SPOUT[]; -extern const u8 Move_SIGNAL_BEAM[]; -extern const u8 Move_SHADOW_PUNCH[]; -extern const u8 Move_EXTRASENSORY[]; -extern const u8 Move_SKY_UPPERCUT[]; -extern const u8 Move_SAND_TOMB[]; -extern const u8 Move_SHEER_COLD[]; -extern const u8 Move_MUDDY_WATER[]; -extern const u8 Move_BULLET_SEED[]; -extern const u8 Move_AERIAL_ACE[]; -extern const u8 Move_ICICLE_SPEAR[]; -extern const u8 Move_IRON_DEFENSE[]; -extern const u8 Move_BLOCK[]; -extern const u8 Move_HOWL[]; -extern const u8 Move_DRAGON_CLAW[]; -extern const u8 Move_FRENZY_PLANT[]; -extern const u8 Move_BULK_UP[]; -extern const u8 Move_BOUNCE[]; -extern const u8 Move_MUD_SHOT[]; -extern const u8 Move_POISON_TAIL[]; -extern const u8 Move_COVET[]; -extern const u8 Move_VOLT_TACKLE[]; -extern const u8 Move_MAGICAL_LEAF[]; -extern const u8 Move_WATER_SPORT[]; -extern const u8 Move_CALM_MIND[]; -extern const u8 Move_LEAF_BLADE[]; -extern const u8 Move_DRAGON_DANCE[]; -extern const u8 Move_ROCK_BLAST[]; -extern const u8 Move_SHOCK_WAVE[]; -extern const u8 Move_WATER_PULSE[]; -extern const u8 Move_DOOM_DESIRE[]; -extern const u8 Move_PSYCHO_BOOST[]; -extern const u8 Move_ROOST[]; -extern const u8 Move_GRAVITY[]; -extern const u8 Move_MIRACLE_EYE[]; -extern const u8 Move_WAKE_UP_SLAP[]; -extern const u8 Move_HAMMER_ARM[]; -extern const u8 Move_GYRO_BALL[]; -extern const u8 Move_HEALING_WISH[]; -extern const u8 Move_BRINE[]; -extern const u8 Move_NATURAL_GIFT[]; -extern const u8 Move_FEINT[]; -extern const u8 Move_PLUCK[]; -extern const u8 Move_TAILWIND[]; -extern const u8 Move_ACUPRESSURE[]; -extern const u8 Move_METAL_BURST[]; -extern const u8 Move_U_TURN[]; -extern const u8 Move_CLOSE_COMBAT[]; -extern const u8 Move_PAYBACK[]; -extern const u8 Move_ASSURANCE[]; -extern const u8 Move_EMBARGO[]; -extern const u8 Move_FLING[]; -extern const u8 Move_PSYCHO_SHIFT[]; -extern const u8 Move_TRUMP_CARD[]; -extern const u8 Move_HEAL_BLOCK[]; -extern const u8 Move_WRING_OUT[]; -extern const u8 Move_POWER_TRICK[]; -extern const u8 Move_GASTRO_ACID[]; -extern const u8 Move_LUCKY_CHANT[]; -extern const u8 Move_ME_FIRST[]; -extern const u8 Move_COPYCAT[]; -extern const u8 Move_POWER_SWAP[]; -extern const u8 Move_GUARD_SWAP[]; -extern const u8 Move_PUNISHMENT[]; -extern const u8 Move_LAST_RESORT[]; -extern const u8 Move_WORRY_SEED[]; -extern const u8 Move_SUCKER_PUNCH[]; -extern const u8 Move_TOXIC_SPIKES[]; -extern const u8 Move_HEART_SWAP[]; -extern const u8 Move_AQUA_RING[]; -extern const u8 Move_MAGNET_RISE[]; -extern const u8 Move_FLARE_BLITZ[]; -extern const u8 Move_FORCE_PALM[]; -extern const u8 Move_AURA_SPHERE[]; -extern const u8 Move_ROCK_POLISH[]; -extern const u8 Move_POISON_JAB[]; -extern const u8 Move_DARK_PULSE[]; -extern const u8 Move_NIGHT_SLASH[]; -extern const u8 Move_AQUA_TAIL[]; -extern const u8 Move_SEED_BOMB[]; -extern const u8 Move_AIR_SLASH[]; -extern const u8 Move_X_SCISSOR[]; -extern const u8 Move_BUG_BUZZ[]; -extern const u8 Move_DRAGON_PULSE[]; -extern const u8 Move_DRAGON_RUSH[]; -extern const u8 Move_POWER_GEM[]; -extern const u8 Move_DRAIN_PUNCH[]; -extern const u8 Move_VACUUM_WAVE[]; -extern const u8 Move_FOCUS_BLAST[]; -extern const u8 Move_ENERGY_BALL[]; -extern const u8 Move_BRAVE_BIRD[]; -extern const u8 Move_EARTH_POWER[]; -extern const u8 Move_SWITCHEROO[]; -extern const u8 Move_GIGA_IMPACT[]; -extern const u8 Move_NASTY_PLOT[]; -extern const u8 Move_BULLET_PUNCH[]; -extern const u8 Move_AVALANCHE[]; -extern const u8 Move_ICE_SHARD[]; -extern const u8 Move_SHADOW_CLAW[]; -extern const u8 Move_THUNDER_FANG[]; -extern const u8 Move_ICE_FANG[]; -extern const u8 Move_FIRE_FANG[]; -extern const u8 Move_SHADOW_SNEAK[]; -extern const u8 Move_MUD_BOMB[]; -extern const u8 Move_PSYCHO_CUT[]; -extern const u8 Move_ZEN_HEADBUTT[]; -extern const u8 Move_MIRROR_SHOT[]; -extern const u8 Move_FLASH_CANNON[]; -extern const u8 Move_ROCK_CLIMB[]; -extern const u8 Move_DEFOG[]; -extern const u8 Move_TRICK_ROOM[]; -extern const u8 Move_DRACO_METEOR[]; -extern const u8 Move_DISCHARGE[]; -extern const u8 Move_LAVA_PLUME[]; -extern const u8 Move_LEAF_STORM[]; -extern const u8 Move_POWER_WHIP[]; -extern const u8 Move_ROCK_WRECKER[]; -extern const u8 Move_CROSS_POISON[]; -extern const u8 Move_GUNK_SHOT[]; -extern const u8 Move_IRON_HEAD[]; -extern const u8 Move_MAGNET_BOMB[]; -extern const u8 Move_STONE_EDGE[]; -extern const u8 Move_CAPTIVATE[]; -extern const u8 Move_STEALTH_ROCK[]; -extern const u8 Move_GRASS_KNOT[]; -extern const u8 Move_CHATTER[]; -extern const u8 Move_JUDGMENT[]; -extern const u8 Move_BUG_BITE[]; -extern const u8 Move_CHARGE_BEAM[]; -extern const u8 Move_WOOD_HAMMER[]; -extern const u8 Move_AQUA_JET[]; -extern const u8 Move_ATTACK_ORDER[]; -extern const u8 Move_DEFEND_ORDER[]; -extern const u8 Move_HEAL_ORDER[]; -extern const u8 Move_HEAD_SMASH[]; -extern const u8 Move_DOUBLE_HIT[]; -extern const u8 Move_ROAR_OF_TIME[]; -extern const u8 Move_SPACIAL_REND[]; -extern const u8 Move_LUNAR_DANCE[]; -extern const u8 Move_CRUSH_GRIP[]; -extern const u8 Move_MAGMA_STORM[]; -extern const u8 Move_DARK_VOID[]; -extern const u8 Move_SEED_FLARE[]; -extern const u8 Move_OMINOUS_WIND[]; -extern const u8 Move_SHADOW_FORCE[]; -extern const u8 Move_HONE_CLAWS[]; -extern const u8 Move_WIDE_GUARD[]; -extern const u8 Move_GUARD_SPLIT[]; -extern const u8 Move_POWER_SPLIT[]; -extern const u8 Move_WONDER_ROOM[]; -extern const u8 Move_PSYSHOCK[]; -extern const u8 Move_VENOSHOCK[]; -extern const u8 Move_AUTOTOMIZE[]; -extern const u8 Move_RAGE_POWDER[]; -extern const u8 Move_TELEKINESIS[]; -extern const u8 Move_MAGIC_ROOM[]; -extern const u8 Move_SMACK_DOWN[]; -extern const u8 Move_STORM_THROW[]; -extern const u8 Move_FLAME_BURST[]; -extern const u8 Move_SLUDGE_WAVE[]; -extern const u8 Move_QUIVER_DANCE[]; -extern const u8 Move_HEAVY_SLAM[]; -extern const u8 Move_SYNCHRONOISE[]; -extern const u8 Move_ELECTRO_BALL[]; -extern const u8 Move_SOAK[]; -extern const u8 Move_FLAME_CHARGE[]; -extern const u8 Move_COIL[]; -extern const u8 Move_LOW_SWEEP[]; -extern const u8 Move_ACID_SPRAY[]; -extern const u8 Move_FOUL_PLAY[]; -extern const u8 Move_SIMPLE_BEAM[]; -extern const u8 Move_ENTRAINMENT[]; -extern const u8 Move_AFTER_YOU[]; -extern const u8 Move_ROUND[]; -extern const u8 Move_ECHOED_VOICE[]; -extern const u8 Move_CHIP_AWAY[]; -extern const u8 Move_CLEAR_SMOG[]; -extern const u8 Move_STORED_POWER[]; -extern const u8 Move_QUICK_GUARD[]; -extern const u8 Move_ALLY_SWITCH[]; -extern const u8 Move_SCALD[]; -extern const u8 Move_SHELL_SMASH[]; -extern const u8 Move_HEAL_PULSE[]; -extern const u8 Move_HEX[]; -extern const u8 Move_SKY_DROP[]; -extern const u8 Move_SHIFT_GEAR[]; -extern const u8 Move_CIRCLE_THROW[]; -extern const u8 Move_INCINERATE[]; -extern const u8 Move_QUASH[]; -extern const u8 Move_ACROBATICS[]; -extern const u8 Move_REFLECT_TYPE[]; -extern const u8 Move_RETALIATE[]; -extern const u8 Move_FINAL_GAMBIT[]; -extern const u8 Move_BESTOW[]; -extern const u8 Move_INFERNO[]; -extern const u8 Move_WATER_PLEDGE[]; -extern const u8 Move_FIRE_PLEDGE[]; -extern const u8 Move_GRASS_PLEDGE[]; -extern const u8 Move_VOLT_SWITCH[]; -extern const u8 Move_STRUGGLE_BUG[]; -extern const u8 Move_BULLDOZE[]; -extern const u8 Move_FROST_BREATH[]; -extern const u8 Move_DRAGON_TAIL[]; -extern const u8 Move_WORK_UP[]; -extern const u8 Move_ELECTROWEB[]; -extern const u8 Move_WILD_CHARGE[]; -extern const u8 Move_DRILL_RUN[]; -extern const u8 Move_DUAL_CHOP[]; -extern const u8 Move_HEART_STAMP[]; -extern const u8 Move_HORN_LEECH[]; -extern const u8 Move_SACRED_SWORD[]; -extern const u8 Move_RAZOR_SHELL[]; -extern const u8 Move_HEAT_CRASH[]; -extern const u8 Move_LEAF_TORNADO[]; -extern const u8 Move_STEAMROLLER[]; -extern const u8 Move_COTTON_GUARD[]; -extern const u8 Move_NIGHT_DAZE[]; -extern const u8 Move_PSYSTRIKE[]; -extern const u8 Move_TAIL_SLAP[]; -extern const u8 Move_HURRICANE[]; -extern const u8 Move_HEAD_CHARGE[]; -extern const u8 Move_GEAR_GRIND[]; -extern const u8 Move_SEARING_SHOT[]; -extern const u8 Move_TECHNO_BLAST[]; -extern const u8 Move_RELIC_SONG[]; -extern const u8 Move_SECRET_SWORD[]; -extern const u8 Move_GLACIATE[]; -extern const u8 Move_BOLT_STRIKE[]; -extern const u8 Move_BLUE_FLARE[]; -extern const u8 Move_FIERY_DANCE[]; -extern const u8 Move_FREEZE_SHOCK[]; -extern const u8 Move_ICE_BURN[]; -extern const u8 Move_SNARL[]; -extern const u8 Move_ICICLE_CRASH[]; -extern const u8 Move_V_CREATE[]; -extern const u8 Move_FUSION_FLARE[]; -extern const u8 Move_FUSION_BOLT[]; -extern const u8 Move_FLYING_PRESS[]; -extern const u8 Move_MAT_BLOCK[]; -extern const u8 Move_BELCH[]; -extern const u8 Move_ROTOTILLER[]; -extern const u8 Move_STICKY_WEB[]; -extern const u8 Move_FELL_STINGER[]; -extern const u8 Move_PHANTOM_FORCE[]; -extern const u8 Move_TRICK_OR_TREAT[]; -extern const u8 Move_NOBLE_ROAR[]; -extern const u8 Move_ION_DELUGE[]; -extern const u8 Move_PARABOLIC_CHARGE[]; -extern const u8 Move_FORESTS_CURSE[]; -extern const u8 Move_PETAL_BLIZZARD[]; -extern const u8 Move_FREEZE_DRY[]; -extern const u8 Move_DISARMING_VOICE[]; -extern const u8 Move_PARTING_SHOT[]; -extern const u8 Move_TOPSY_TURVY[]; -extern const u8 Move_DRAINING_KISS[]; -extern const u8 Move_CRAFTY_SHIELD[]; -extern const u8 Move_FLOWER_SHIELD[]; -extern const u8 Move_GRASSY_TERRAIN[]; -extern const u8 Move_MISTY_TERRAIN[]; -extern const u8 Move_ELECTRIFY[]; -extern const u8 Move_PLAY_ROUGH[]; -extern const u8 Move_FAIRY_WIND[]; -extern const u8 Move_MOONBLAST[]; -extern const u8 Move_BOOMBURST[]; -extern const u8 Move_FAIRY_LOCK[]; -extern const u8 Move_KINGS_SHIELD[]; -extern const u8 Move_PLAY_NICE[]; -extern const u8 Move_CONFIDE[]; -extern const u8 Move_DIAMOND_STORM[]; -extern const u8 Move_STEAM_ERUPTION[]; -extern const u8 Move_HYPERSPACE_HOLE[]; -extern const u8 Move_WATER_SHURIKEN[]; -extern const u8 Move_MYSTICAL_FIRE[]; -extern const u8 Move_SPIKY_SHIELD[]; -extern const u8 Move_AROMATIC_MIST[]; -extern const u8 Move_EERIE_IMPULSE[]; -extern const u8 Move_VENOM_DRENCH[]; -extern const u8 Move_POWDER[]; -extern const u8 Move_GEOMANCY[]; -extern const u8 Move_MAGNETIC_FLUX[]; -extern const u8 Move_HAPPY_HOUR[]; -extern const u8 Move_ELECTRIC_TERRAIN[]; -extern const u8 Move_DAZZLING_GLEAM[]; -extern const u8 Move_CELEBRATE[]; -extern const u8 Move_HOLD_HANDS[]; -extern const u8 Move_BABY_DOLL_EYES[]; -extern const u8 Move_NUZZLE[]; -extern const u8 Move_HOLD_BACK[]; -extern const u8 Move_INFESTATION[]; -extern const u8 Move_POWER_UP_PUNCH[]; -extern const u8 Move_OBLIVION_WING[]; -extern const u8 Move_THOUSAND_ARROWS[]; -extern const u8 Move_THOUSAND_WAVES[]; -extern const u8 Move_LANDS_WRATH[]; -extern const u8 Move_LIGHT_OF_RUIN[]; -extern const u8 Move_ORIGIN_PULSE[]; -extern const u8 Move_PRECIPICE_BLADES[]; -extern const u8 Move_DRAGON_ASCENT[]; -extern const u8 Move_HYPERSPACE_FURY[]; -extern const u8 Move_SHORE_UP[]; -extern const u8 Move_FIRST_IMPRESSION[]; -extern const u8 Move_BANEFUL_BUNKER[]; -extern const u8 Move_SPIRIT_SHACKLE[]; -extern const u8 Move_DARKEST_LARIAT[]; -extern const u8 Move_SPARKLING_ARIA[]; -extern const u8 Move_ICE_HAMMER[]; -extern const u8 Move_FLORAL_HEALING[]; -extern const u8 Move_HIGH_HORSEPOWER[]; -extern const u8 Move_STRENGTH_SAP[]; -extern const u8 Move_SOLAR_BLADE[]; -extern const u8 Move_LEAFAGE[]; -extern const u8 Move_SPOTLIGHT[]; -extern const u8 Move_TOXIC_THREAD[]; -extern const u8 Move_LASER_FOCUS[]; -extern const u8 Move_GEAR_UP[]; -extern const u8 Move_THROAT_CHOP[]; -extern const u8 Move_POLLEN_PUFF[]; -extern const u8 Move_ANCHOR_SHOT[]; -extern const u8 Move_PSYCHIC_TERRAIN[]; -extern const u8 Move_LUNGE[]; -extern const u8 Move_FIRE_LASH[]; -extern const u8 Move_POWER_TRIP[]; -extern const u8 Move_BURN_UP[]; -extern const u8 Move_SPEED_SWAP[]; -extern const u8 Move_SMART_STRIKE[]; -extern const u8 Move_PURIFY[]; -extern const u8 Move_REVELATION_DANCE[]; -extern const u8 Move_CORE_ENFORCER[]; -extern const u8 Move_TROP_KICK[]; -extern const u8 Move_INSTRUCT[]; -extern const u8 Move_BEAK_BLAST[]; -extern const u8 Move_CLANGING_SCALES[]; -extern const u8 Move_DRAGON_HAMMER[]; -extern const u8 Move_BRUTAL_SWING[]; -extern const u8 Move_AURORA_VEIL[]; -extern const u8 Move_SHELL_TRAP[]; -extern const u8 Move_FLEUR_CANNON[]; -extern const u8 Move_PSYCHIC_FANGS[]; -extern const u8 Move_STOMPING_TANTRUM[]; -extern const u8 Move_SHADOW_BONE[]; -extern const u8 Move_ACCELEROCK[]; -extern const u8 Move_LIQUIDATION[]; -extern const u8 Move_PRISMATIC_LASER[]; -extern const u8 Move_SPECTRAL_THIEF[]; -extern const u8 Move_SUNSTEEL_STRIKE[]; -extern const u8 Move_MOONGEIST_BEAM[]; -extern const u8 Move_TEARFUL_LOOK[]; -extern const u8 Move_ZING_ZAP[]; -extern const u8 Move_NATURES_MADNESS[]; -extern const u8 Move_MULTI_ATTACK[]; -extern const u8 Move_MIND_BLOWN[]; -extern const u8 Move_PLASMA_FISTS[]; -extern const u8 Move_PHOTON_GEYSER[]; -extern const u8 Move_ZIPPY_ZAP[]; -extern const u8 Move_SPLISHY_SPLASH[]; -extern const u8 Move_FLOATY_FALL[]; -extern const u8 Move_PIKA_PAPOW[]; -extern const u8 Move_BOUNCY_BUBBLE[]; -extern const u8 Move_BUZZY_BUZZ[]; -extern const u8 Move_SIZZLY_SLIDE[]; -extern const u8 Move_GLITZY_GLOW[]; -extern const u8 Move_BADDY_BAD[]; -extern const u8 Move_SAPPY_SEED[]; -extern const u8 Move_FREEZY_FROST[]; -extern const u8 Move_SPARKLY_SWIRL[]; -extern const u8 Move_VEEVEE_VOLLEY[]; -extern const u8 Move_DOUBLE_IRON_BASH[]; -extern const u8 Move_DYNAMAX_CANNON[]; -extern const u8 Move_SNIPE_SHOT[]; -extern const u8 Move_JAW_LOCK[]; -extern const u8 Move_STUFF_CHEEKS[]; -extern const u8 Move_NO_RETREAT[]; -extern const u8 Move_TAR_SHOT[]; -extern const u8 Move_MAGIC_POWDER[]; -extern const u8 Move_DRAGON_DARTS[]; -extern const u8 Move_TEATIME[]; -extern const u8 Move_OCTOLOCK[]; -extern const u8 Move_BOLT_BEAK[]; -extern const u8 Move_FISHIOUS_REND[]; -extern const u8 Move_COURT_CHANGE[]; -extern const u8 Move_CLANGOROUS_SOUL[]; -extern const u8 Move_BODY_PRESS[]; -extern const u8 Move_DECORATE[]; -extern const u8 Move_DRUM_BEATING[]; -extern const u8 Move_SNAP_TRAP[]; -extern const u8 Move_PYRO_BALL[]; -extern const u8 Move_BEHEMOTH_BLADE[]; -extern const u8 Move_BEHEMOTH_BASH[]; -extern const u8 Move_AURA_WHEEL[]; -extern const u8 Move_BREAKING_SWIPE[]; -extern const u8 Move_BRANCH_POKE[]; -extern const u8 Move_OVERDRIVE[]; -extern const u8 Move_APPLE_ACID[]; -extern const u8 Move_GRAV_APPLE[]; -extern const u8 Move_SPIRIT_BREAK[]; -extern const u8 Move_STRANGE_STEAM[]; -extern const u8 Move_LIFE_DEW[]; -extern const u8 Move_OBSTRUCT[]; -extern const u8 Move_FALSE_SURRENDER[]; -extern const u8 Move_METEOR_ASSAULT[]; -extern const u8 Move_ETERNABEAM[]; -extern const u8 Move_STEEL_BEAM[]; -extern const u8 Move_EXPANDING_FORCE[]; -extern const u8 Move_STEEL_ROLLER[]; -extern const u8 Move_SCALE_SHOT[]; -extern const u8 Move_METEOR_BEAM[]; -extern const u8 Move_SHELL_SIDE_ARM[]; -extern const u8 Move_MISTY_EXPLOSION[]; -extern const u8 Move_GRASSY_GLIDE[]; -extern const u8 Move_RISING_VOLTAGE[]; -extern const u8 Move_TERRAIN_PULSE[]; -extern const u8 Move_SKITTER_SMACK[]; -extern const u8 Move_BURNING_JEALOUSY[]; -extern const u8 Move_LASH_OUT[]; -extern const u8 Move_POLTERGEIST[]; -extern const u8 Move_CORROSIVE_GAS[]; -extern const u8 Move_COACHING[]; -extern const u8 Move_FLIP_TURN[]; -extern const u8 Move_TRIPLE_AXEL[]; -extern const u8 Move_DUAL_WINGBEAT[]; -extern const u8 Move_SCORCHING_SANDS[]; -extern const u8 Move_JUNGLE_HEALING[]; -extern const u8 Move_WICKED_BLOW[]; -extern const u8 Move_SURGING_STRIKES[]; -extern const u8 Move_THUNDER_CAGE[]; -extern const u8 Move_DRAGON_ENERGY[]; -extern const u8 Move_FREEZING_GLARE[]; -extern const u8 Move_FIERY_WRATH[]; -extern const u8 Move_THUNDEROUS_KICK[]; -extern const u8 Move_GLACIAL_LANCE[]; -extern const u8 Move_ASTRAL_BARRAGE[]; -extern const u8 Move_EERIE_SPELL[]; -extern const u8 Move_DIRE_CLAW[]; -extern const u8 Move_PSYSHIELD_BASH[]; -extern const u8 Move_POWER_SHIFT[]; -extern const u8 Move_STONE_AXE[]; -extern const u8 Move_SPRINGTIDE_STORM[]; -extern const u8 Move_MYSTICAL_POWER[]; -extern const u8 Move_RAGING_FURY[]; -extern const u8 Move_WAVE_CRASH[]; -extern const u8 Move_CHLOROBLAST[]; -extern const u8 Move_MOUNTAIN_GALE[]; -extern const u8 Move_VICTORY_DANCE[]; -extern const u8 Move_HEADLONG_RUSH[]; -extern const u8 Move_BARB_BARRAGE[]; -extern const u8 Move_ESPER_WING[]; -extern const u8 Move_BITTER_MALICE[]; -extern const u8 Move_SHELTER[]; -extern const u8 Move_TRIPLE_ARROWS[]; -extern const u8 Move_INFERNAL_PARADE[]; -extern const u8 Move_CEASELESS_EDGE[]; -extern const u8 Move_BLEAKWIND_STORM[]; -extern const u8 Move_WILDBOLT_STORM[]; -extern const u8 Move_SANDSEAR_STORM[]; -extern const u8 Move_LUNAR_BLESSING[]; -extern const u8 Move_TAKE_HEART[]; -extern const u8 Move_TERA_BLAST[]; -extern const u8 Move_SILK_TRAP[]; -extern const u8 Move_AXE_KICK[]; -extern const u8 Move_LAST_RESPECTS[]; -extern const u8 Move_LUMINA_CRASH[]; -extern const u8 Move_ORDER_UP[]; -extern const u8 Move_JET_PUNCH[]; -extern const u8 Move_SPICY_EXTRACT[]; -extern const u8 Move_SPIN_OUT[]; -extern const u8 Move_POPULATION_BOMB[]; -extern const u8 Move_ICE_SPINNER[]; -extern const u8 Move_GLAIVE_RUSH[]; -extern const u8 Move_REVIVAL_BLESSING[]; -extern const u8 Move_SALT_CURE[]; -extern const u8 Move_TRIPLE_DIVE[]; -extern const u8 Move_MORTAL_SPIN[]; -extern const u8 Move_DOODLE[]; -extern const u8 Move_FILLET_AWAY[]; -extern const u8 Move_KOWTOW_CLEAVE[]; -extern const u8 Move_FLOWER_TRICK[]; -extern const u8 Move_TORCH_SONG[]; -extern const u8 Move_AQUA_STEP[]; -extern const u8 Move_RAGING_BULL[]; -extern const u8 Move_MAKE_IT_RAIN[]; -extern const u8 Move_RUINATION[]; -extern const u8 Move_COLLISION_COURSE[]; -extern const u8 Move_ELECTRO_DRIFT[]; -extern const u8 Move_SHED_TAIL[]; -extern const u8 Move_CHILLY_RECEPTION[]; -extern const u8 Move_TIDY_UP[]; -extern const u8 Move_SNOWSCAPE[]; -extern const u8 Move_POUNCE[]; -extern const u8 Move_TRAILBLAZE[]; -extern const u8 Move_CHILLING_WATER[]; -extern const u8 Move_HYPER_DRILL[]; -extern const u8 Move_TWIN_BEAM[]; -extern const u8 Move_RAGE_FIST[]; -extern const u8 Move_ARMOR_CANNON[]; -extern const u8 Move_BITTER_BLADE[]; -extern const u8 Move_DOUBLE_SHOCK[]; -extern const u8 Move_GIGATON_HAMMER[]; -extern const u8 Move_COMEUPPANCE[]; -extern const u8 Move_AQUA_CUTTER[]; -extern const u8 Move_BLAZING_TORQUE[]; -extern const u8 Move_WICKED_TORQUE[]; -extern const u8 Move_NOXIOUS_TORQUE[]; -extern const u8 Move_COMBAT_TORQUE[]; -extern const u8 Move_MAGICAL_TORQUE[]; -extern const u8 Move_PSYBLADE[]; -extern const u8 Move_HYDRO_STEAM[]; -extern const u8 Move_BLOOD_MOON[]; -extern const u8 Move_MATCHA_GOTCHA[]; -extern const u8 Move_SYRUP_BOMB[]; -extern const u8 Move_IVY_CUDGEL[]; -extern const u8 Move_ELECTRO_SHOT[]; -extern const u8 Move_TERA_STARSTORM[]; -extern const u8 Move_FICKLE_BEAM[]; -extern const u8 Move_BURNING_BULWARK[]; -extern const u8 Move_THUNDERCLAP[]; -extern const u8 Move_MIGHTY_CLEAVE[]; -extern const u8 Move_TACHYON_CUTTER[]; -extern const u8 Move_HARD_PRESS[]; -extern const u8 Move_DRAGON_CHEER[]; -extern const u8 Move_ALLURING_VOICE[]; -extern const u8 Move_TEMPER_FLARE[]; -extern const u8 Move_SUPERCELL_SLAM[]; -extern const u8 Move_PSYCHIC_NOISE[]; -extern const u8 Move_UPPER_HAND[]; -extern const u8 Move_MALIGNANT_CHAIN[]; -extern const u8 Move_BREAKNECK_BLITZ[]; -extern const u8 Move_ALL_OUT_PUMMELING[]; -extern const u8 Move_SUPERSONIC_SKYSTRIKE[]; -extern const u8 Move_ACID_DOWNPOUR[]; -extern const u8 Move_TECTONIC_RAGE[]; -extern const u8 Move_CONTINENTAL_CRUSH[]; -extern const u8 Move_SAVAGE_SPIN_OUT[]; -extern const u8 Move_NEVER_ENDING_NIGHTMARE[]; -extern const u8 Move_CORKSCREW_CRASH[]; -extern const u8 Move_INFERNO_OVERDRIVE[]; -extern const u8 Move_HYDRO_VORTEX[]; -extern const u8 Move_BLOOM_DOOM[]; -extern const u8 Move_GIGAVOLT_HAVOC[]; -extern const u8 Move_SHATTERED_PSYCHE[]; -extern const u8 Move_SUBZERO_SLAMMER[]; -extern const u8 Move_DEVASTATING_DRAKE[]; -extern const u8 Move_BLACK_HOLE_ECLIPSE[]; -extern const u8 Move_TWINKLE_TACKLE[]; -extern const u8 Move_CATASTROPIKA[]; -extern const u8 Move_10000000_VOLT_THUNDERBOLT[]; -extern const u8 Move_STOKED_SPARKSURFER[]; -extern const u8 Move_EXTREME_EVOBOOST[]; -extern const u8 Move_PULVERIZING_PANCAKE[]; -extern const u8 Move_GENESIS_SUPERNOVA[]; -extern const u8 Move_SINISTER_ARROW_RAID[]; -extern const u8 Move_MALICIOUS_MOONSAULT[]; -extern const u8 Move_OCEANIC_OPERETTA[]; -extern const u8 Move_SPLINTERED_STORMSHARDS[]; -extern const u8 Move_LETS_SNUGGLE_FOREVER[]; -extern const u8 Move_CLANGOROUS_SOULBLAZE[]; -extern const u8 Move_GUARDIAN_OF_ALOLA[]; -extern const u8 Move_SEARING_SUNRAZE_SMASH[]; -extern const u8 Move_MENACING_MOONRAZE_MAELSTROM[]; -extern const u8 Move_LIGHT_THAT_BURNS_THE_SKY[]; -extern const u8 Move_SOUL_STEALING_7_STAR_STRIKE[]; -extern const u8 Move_MAX_GUARD[]; -extern const u8 Move_MAX_FLARE[]; -extern const u8 Move_MAX_FLUTTERBY[]; -extern const u8 Move_MAX_LIGHTNING[]; -extern const u8 Move_MAX_STRIKE[]; -extern const u8 Move_MAX_KNUCKLE[]; -extern const u8 Move_MAX_PHANTASM[]; -extern const u8 Move_MAX_HAILSTORM[]; -extern const u8 Move_MAX_OOZE[]; -extern const u8 Move_MAX_GEYSER[]; -extern const u8 Move_MAX_AIRSTREAM[]; -extern const u8 Move_MAX_STARFALL[]; -extern const u8 Move_MAX_WYRMWIND[]; -extern const u8 Move_MAX_MINDSTORM[]; -extern const u8 Move_MAX_ROCKFALL[]; -extern const u8 Move_MAX_QUAKE[]; -extern const u8 Move_MAX_DARKNESS[]; -extern const u8 Move_MAX_OVERGROWTH[]; -extern const u8 Move_MAX_STEELSPIKE[]; -extern const u8 Move_G_MAX_VINE_LASH[]; -extern const u8 Move_G_MAX_WILDFIRE[]; -extern const u8 Move_G_MAX_CANNONADE[]; -extern const u8 Move_G_MAX_BEFUDDLE[]; -extern const u8 Move_G_MAX_VOLT_CRASH[]; -extern const u8 Move_G_MAX_GOLD_RUSH[]; -extern const u8 Move_G_MAX_CHI_STRIKE[]; -extern const u8 Move_G_MAX_TERROR[]; -extern const u8 Move_G_MAX_FOAM_BURST[]; -extern const u8 Move_G_MAX_RESONANCE[]; -extern const u8 Move_G_MAX_CUDDLE[]; -extern const u8 Move_G_MAX_REPLENISH[]; -extern const u8 Move_G_MAX_MALODOR[]; -extern const u8 Move_G_MAX_MELTDOWN[]; -extern const u8 Move_G_MAX_DRUM_SOLO[]; -extern const u8 Move_G_MAX_FIREBALL[]; -extern const u8 Move_G_MAX_HYDROSNIPE[]; -extern const u8 Move_G_MAX_WIND_RAGE[]; -extern const u8 Move_G_MAX_GRAVITAS[]; -extern const u8 Move_G_MAX_STONESURGE[]; -extern const u8 Move_G_MAX_VOLCALITH[]; -extern const u8 Move_G_MAX_TARTNESS[]; -extern const u8 Move_G_MAX_SWEETNESS[]; -extern const u8 Move_G_MAX_SANDBLAST[]; -extern const u8 Move_G_MAX_STUN_SHOCK[]; -extern const u8 Move_G_MAX_CENTIFERNO[]; -extern const u8 Move_G_MAX_SMITE[]; -extern const u8 Move_G_MAX_SNOOZE[]; -extern const u8 Move_G_MAX_FINALE[]; -extern const u8 Move_G_MAX_STEELSURGE[]; -extern const u8 Move_G_MAX_DEPLETION[]; -extern const u8 Move_G_MAX_ONE_BLOW[]; -extern const u8 Move_G_MAX_RAPID_FLOW[]; +// move animations +extern const u8 gBattleAnimMove_None[]; +extern const u8 gBattleAnimMove_Pound[]; +extern const u8 gBattleAnimMove_KarateChop[]; +extern const u8 gBattleAnimMove_DoubleSlap[]; +extern const u8 gBattleAnimMove_CometPunch[]; +extern const u8 gBattleAnimMove_MegaPunch[]; +extern const u8 gBattleAnimMove_PayDay[]; +extern const u8 gBattleAnimMove_FirePunch[]; +extern const u8 gBattleAnimMove_IcePunch[]; +extern const u8 gBattleAnimMove_ThunderPunch[]; +extern const u8 gBattleAnimMove_Scratch[]; +extern const u8 gBattleAnimMove_ViseGrip[]; +extern const u8 gBattleAnimMove_Guillotine[]; +extern const u8 gBattleAnimMove_RazorWind[]; +extern const u8 gBattleAnimMove_SwordsDance[]; +extern const u8 gBattleAnimMove_Cut[]; +extern const u8 gBattleAnimMove_Gust[]; +extern const u8 gBattleAnimMove_WingAttack[]; +extern const u8 gBattleAnimMove_Whirlwind[]; +extern const u8 gBattleAnimMove_Fly[]; +extern const u8 gBattleAnimMove_Bind[]; +extern const u8 gBattleAnimMove_Slam[]; +extern const u8 gBattleAnimMove_VineWhip[]; +extern const u8 gBattleAnimMove_Stomp[]; +extern const u8 gBattleAnimMove_DoubleKick[]; +extern const u8 gBattleAnimMove_MegaKick[]; +extern const u8 gBattleAnimMove_JumpKick[]; +extern const u8 gBattleAnimMove_RollingKick[]; +extern const u8 gBattleAnimMove_SandAttack[]; +extern const u8 gBattleAnimMove_Headbutt[]; +extern const u8 gBattleAnimMove_HornAttack[]; +extern const u8 gBattleAnimMove_FuryAttack[]; +extern const u8 gBattleAnimMove_HornDrill[]; +extern const u8 gBattleAnimMove_Tackle[]; +extern const u8 gBattleAnimMove_BodySlam[]; +extern const u8 gBattleAnimMove_Wrap[]; +extern const u8 gBattleAnimMove_TakeDown[]; +extern const u8 gBattleAnimMove_Thrash[]; +extern const u8 gBattleAnimMove_DoubleEdge[]; +extern const u8 gBattleAnimMove_TailWhip[]; +extern const u8 gBattleAnimMove_PoisonSting[]; +extern const u8 gBattleAnimMove_Twineedle[]; +extern const u8 gBattleAnimMove_PinMissile[]; +extern const u8 gBattleAnimMove_Leer[]; +extern const u8 gBattleAnimMove_Bite[]; +extern const u8 gBattleAnimMove_Growl[]; +extern const u8 gBattleAnimMove_Roar[]; +extern const u8 gBattleAnimMove_Sing[]; +extern const u8 gBattleAnimMove_Supersonic[]; +extern const u8 gBattleAnimMove_SonicBoom[]; +extern const u8 gBattleAnimMove_Disable[]; +extern const u8 gBattleAnimMove_Acid[]; +extern const u8 gBattleAnimMove_Ember[]; +extern const u8 gBattleAnimMove_Flamethrower[]; +extern const u8 gBattleAnimMove_Mist[]; +extern const u8 gBattleAnimMove_WaterGun[]; +extern const u8 gBattleAnimMove_HydroPump[]; +extern const u8 gBattleAnimMove_Surf[]; +extern const u8 gBattleAnimMove_IceBeam[]; +extern const u8 gBattleAnimMove_Blizzard[]; +extern const u8 gBattleAnimMove_Psybeam[]; +extern const u8 gBattleAnimMove_BubbleBeam[]; +extern const u8 gBattleAnimMove_AuroraBeam[]; +extern const u8 gBattleAnimMove_HyperBeam[]; +extern const u8 gBattleAnimMove_Peck[]; +extern const u8 gBattleAnimMove_DrillPeck[]; +extern const u8 gBattleAnimMove_Submission[]; +extern const u8 gBattleAnimMove_LowKick[]; +extern const u8 gBattleAnimMove_Counter[]; +extern const u8 gBattleAnimMove_SeismicToss[]; +extern const u8 gBattleAnimMove_Strength[]; +extern const u8 gBattleAnimMove_Absorb[]; +extern const u8 gBattleAnimMove_MegaDrain[]; +extern const u8 gBattleAnimMove_LeechSeed[]; +extern const u8 gBattleAnimMove_Growth[]; +extern const u8 gBattleAnimMove_RazorLeaf[]; +extern const u8 gBattleAnimMove_SolarBeam[]; +extern const u8 gBattleAnimMove_PoisonPowder[]; +extern const u8 gBattleAnimMove_StunSpore[]; +extern const u8 gBattleAnimMove_SleepPowder[]; +extern const u8 gBattleAnimMove_PetalDance[]; +extern const u8 gBattleAnimMove_StringShot[]; +extern const u8 gBattleAnimMove_DragonRage[]; +extern const u8 gBattleAnimMove_FireSpin[]; +extern const u8 gBattleAnimMove_ThunderShock[]; +extern const u8 gBattleAnimMove_Thunderbolt[]; +extern const u8 gBattleAnimMove_ThunderWave[]; +extern const u8 gBattleAnimMove_Thunder[]; +extern const u8 gBattleAnimMove_RockThrow[]; +extern const u8 gBattleAnimMove_Earthquake[]; +extern const u8 gBattleAnimMove_Fissure[]; +extern const u8 gBattleAnimMove_Dig[]; +extern const u8 gBattleAnimMove_Toxic[]; +extern const u8 gBattleAnimMove_Confusion[]; +extern const u8 gBattleAnimMove_Psychic[]; +extern const u8 gBattleAnimMove_Hypnosis[]; +extern const u8 gBattleAnimMove_Meditate[]; +extern const u8 gBattleAnimMove_Agility[]; +extern const u8 gBattleAnimMove_QuickAttack[]; +extern const u8 gBattleAnimMove_Rage[]; +extern const u8 gBattleAnimMove_Teleport[]; +extern const u8 gBattleAnimMove_NightShade[]; +extern const u8 gBattleAnimMove_Mimic[]; +extern const u8 gBattleAnimMove_Screech[]; +extern const u8 gBattleAnimMove_DoubleTeam[]; +extern const u8 gBattleAnimMove_Recover[]; +extern const u8 gBattleAnimMove_Harden[]; +extern const u8 gBattleAnimMove_Minimize[]; +extern const u8 gBattleAnimMove_Smokescreen[]; +extern const u8 gBattleAnimMove_ConfuseRay[]; +extern const u8 gBattleAnimMove_Withdraw[]; +extern const u8 gBattleAnimMove_DefenseCurl[]; +extern const u8 gBattleAnimMove_Barrier[]; +extern const u8 gBattleAnimMove_LightScreen[]; +extern const u8 gBattleAnimMove_Haze[]; +extern const u8 gBattleAnimMove_Reflect[]; +extern const u8 gBattleAnimMove_FocusEnergy[]; +extern const u8 gBattleAnimMove_Bide[]; +extern const u8 gBattleAnimMove_Metronome[]; +extern const u8 gBattleAnimMove_MirrorMove[]; +extern const u8 gBattleAnimMove_SelfDestruct[]; +extern const u8 gBattleAnimMove_EggBomb[]; +extern const u8 gBattleAnimMove_Lick[]; +extern const u8 gBattleAnimMove_Smog[]; +extern const u8 gBattleAnimMove_Sludge[]; +extern const u8 gBattleAnimMove_BoneClub[]; +extern const u8 gBattleAnimMove_FireBlast[]; +extern const u8 gBattleAnimMove_Waterfall[]; +extern const u8 gBattleAnimMove_Clamp[]; +extern const u8 gBattleAnimMove_Swift[]; +extern const u8 gBattleAnimMove_SkullBash[]; +extern const u8 gBattleAnimMove_SpikeCannon[]; +extern const u8 gBattleAnimMove_Constrict[]; +extern const u8 gBattleAnimMove_Amnesia[]; +extern const u8 gBattleAnimMove_Kinesis[]; +extern const u8 gBattleAnimMove_SoftBoiled[]; +extern const u8 gBattleAnimMove_HighJumpKick[]; +extern const u8 gBattleAnimMove_Glare[]; +extern const u8 gBattleAnimMove_DreamEater[]; +extern const u8 gBattleAnimMove_PoisonGas[]; +extern const u8 gBattleAnimMove_Barrage[]; +extern const u8 gBattleAnimMove_LeechLife[]; +extern const u8 gBattleAnimMove_LovelyKiss[]; +extern const u8 gBattleAnimMove_SkyAttack[]; +extern const u8 gBattleAnimMove_Transform[]; +extern const u8 gBattleAnimMove_Bubble[]; +extern const u8 gBattleAnimMove_DizzyPunch[]; +extern const u8 gBattleAnimMove_Spore[]; +extern const u8 gBattleAnimMove_Flash[]; +extern const u8 gBattleAnimMove_Psywave[]; +extern const u8 gBattleAnimMove_Splash[]; +extern const u8 gBattleAnimMove_AcidArmor[]; +extern const u8 gBattleAnimMove_Crabhammer[]; +extern const u8 gBattleAnimMove_Explosion[]; +extern const u8 gBattleAnimMove_FurySwipes[]; +extern const u8 gBattleAnimMove_Bonemerang[]; +extern const u8 gBattleAnimMove_Rest[]; +extern const u8 gBattleAnimMove_RockSlide[]; +extern const u8 gBattleAnimMove_HyperFang[]; +extern const u8 gBattleAnimMove_Sharpen[]; +extern const u8 gBattleAnimMove_Conversion[]; +extern const u8 gBattleAnimMove_TriAttack[]; +extern const u8 gBattleAnimMove_SuperFang[]; +extern const u8 gBattleAnimMove_Slash[]; +extern const u8 gBattleAnimMove_Substitute[]; +extern const u8 gBattleAnimMove_Struggle[]; +extern const u8 gBattleAnimMove_Sketch[]; +extern const u8 gBattleAnimMove_TripleKick[]; +extern const u8 gBattleAnimMove_Thief[]; +extern const u8 gBattleAnimMove_SpiderWeb[]; +extern const u8 gBattleAnimMove_MindReader[]; +extern const u8 gBattleAnimMove_Nightmare[]; +extern const u8 gBattleAnimMove_FlameWheel[]; +extern const u8 gBattleAnimMove_Snore[]; +extern const u8 gBattleAnimMove_Curse[]; +extern const u8 gBattleAnimMove_Flail[]; +extern const u8 gBattleAnimMove_Conversion2[]; +extern const u8 gBattleAnimMove_Aeroblast[]; +extern const u8 gBattleAnimMove_CottonSpore[]; +extern const u8 gBattleAnimMove_Reversal[]; +extern const u8 gBattleAnimMove_Spite[]; +extern const u8 gBattleAnimMove_PowderSnow[]; +extern const u8 gBattleAnimMove_Protect[]; +extern const u8 gBattleAnimMove_MachPunch[]; +extern const u8 gBattleAnimMove_ScaryFace[]; +extern const u8 gBattleAnimMove_FeintAttack[]; +extern const u8 gBattleAnimMove_SweetKiss[]; +extern const u8 gBattleAnimMove_BellyDrum[]; +extern const u8 gBattleAnimMove_SludgeBomb[]; +extern const u8 gBattleAnimMove_MudSlap[]; +extern const u8 gBattleAnimMove_Octazooka[]; +extern const u8 gBattleAnimMove_Spikes[]; +extern const u8 gBattleAnimMove_ZapCannon[]; +extern const u8 gBattleAnimMove_Foresight[]; +extern const u8 gBattleAnimMove_DestinyBond[]; +extern const u8 gBattleAnimMove_PerishSong[]; +extern const u8 gBattleAnimMove_IcyWind[]; +extern const u8 gBattleAnimMove_Detect[]; +extern const u8 gBattleAnimMove_BoneRush[]; +extern const u8 gBattleAnimMove_LockOn[]; +extern const u8 gBattleAnimMove_Outrage[]; +extern const u8 gBattleAnimMove_Sandstorm[]; +extern const u8 gBattleAnimMove_GigaDrain[]; +extern const u8 gBattleAnimMove_Endure[]; +extern const u8 gBattleAnimMove_Charm[]; +extern const u8 gBattleAnimMove_Rollout[]; +extern const u8 gBattleAnimMove_FalseSwipe[]; +extern const u8 gBattleAnimMove_Swagger[]; +extern const u8 gBattleAnimMove_MilkDrink[]; +extern const u8 gBattleAnimMove_Spark[]; +extern const u8 gBattleAnimMove_FuryCutter[]; +extern const u8 gBattleAnimMove_SteelWing[]; +extern const u8 gBattleAnimMove_MeanLook[]; +extern const u8 gBattleAnimMove_Attract[]; +extern const u8 gBattleAnimMove_SleepTalk[]; +extern const u8 gBattleAnimMove_HealBell[]; +extern const u8 gBattleAnimMove_Return[]; +extern const u8 gBattleAnimMove_Present[]; +extern const u8 gBattleAnimMove_Frustration[]; +extern const u8 gBattleAnimMove_Safeguard[]; +extern const u8 gBattleAnimMove_PainSplit[]; +extern const u8 gBattleAnimMove_SacredFire[]; +extern const u8 gBattleAnimMove_Magnitude[]; +extern const u8 gBattleAnimMove_DynamicPunch[]; +extern const u8 gBattleAnimMove_Megahorn[]; +extern const u8 gBattleAnimMove_DragonBreath[]; +extern const u8 gBattleAnimMove_BatonPass[]; +extern const u8 gBattleAnimMove_Encore[]; +extern const u8 gBattleAnimMove_Pursuit[]; +extern const u8 gBattleAnimMove_RapidSpin[]; +extern const u8 gBattleAnimMove_SweetScent[]; +extern const u8 gBattleAnimMove_IronTail[]; +extern const u8 gBattleAnimMove_MetalClaw[]; +extern const u8 gBattleAnimMove_VitalThrow[]; +extern const u8 gBattleAnimMove_MorningSun[]; +extern const u8 gBattleAnimMove_Synthesis[]; +extern const u8 gBattleAnimMove_Moonlight[]; +extern const u8 gBattleAnimMove_HiddenPower[]; +extern const u8 gBattleAnimMove_CrossChop[]; +extern const u8 gBattleAnimMove_Twister[]; +extern const u8 gBattleAnimMove_RainDance[]; +extern const u8 gBattleAnimMove_SunnyDay[]; +extern const u8 gBattleAnimMove_Crunch[]; +extern const u8 gBattleAnimMove_MirrorCoat[]; +extern const u8 gBattleAnimMove_PsychUp[]; +extern const u8 gBattleAnimMove_ExtremeSpeed[]; +extern const u8 gBattleAnimMove_AncientPower[]; +extern const u8 gBattleAnimMove_ShadowBall[]; +extern const u8 gBattleAnimMove_FutureSight[]; +extern const u8 gBattleAnimMove_RockSmash[]; +extern const u8 gBattleAnimMove_Whirlpool[]; +extern const u8 gBattleAnimMove_BeatUp[]; +extern const u8 gBattleAnimMove_FakeOut[]; +extern const u8 gBattleAnimMove_Uproar[]; +extern const u8 gBattleAnimMove_Stockpile[]; +extern const u8 gBattleAnimMove_SpitUp[]; +extern const u8 gBattleAnimMove_Swallow[]; +extern const u8 gBattleAnimMove_HeatWave[]; +extern const u8 gBattleAnimMove_Hail[]; +extern const u8 gBattleAnimMove_Torment[]; +extern const u8 gBattleAnimMove_Flatter[]; +extern const u8 gBattleAnimMove_WillOWisp[]; +extern const u8 gBattleAnimMove_Memento[]; +extern const u8 gBattleAnimMove_Facade[]; +extern const u8 gBattleAnimMove_FocusPunch[]; +extern const u8 gBattleAnimMove_SmellingSalts[]; +extern const u8 gBattleAnimMove_FollowMe[]; +extern const u8 gBattleAnimMove_NaturePower[]; +extern const u8 gBattleAnimMove_Charge[]; +extern const u8 gBattleAnimMove_Taunt[]; +extern const u8 gBattleAnimMove_HelpingHand[]; +extern const u8 gBattleAnimMove_Trick[]; +extern const u8 gBattleAnimMove_RolePlay[]; +extern const u8 gBattleAnimMove_Wish[]; +extern const u8 gBattleAnimMove_Assist[]; +extern const u8 gBattleAnimMove_Ingrain[]; +extern const u8 gBattleAnimMove_Superpower[]; +extern const u8 gBattleAnimMove_MagicCoat[]; +extern const u8 gBattleAnimMove_Recycle[]; +extern const u8 gBattleAnimMove_Revenge[]; +extern const u8 gBattleAnimMove_BrickBreak[]; +extern const u8 gBattleAnimMove_Yawn[]; +extern const u8 gBattleAnimMove_KnockOff[]; +extern const u8 gBattleAnimMove_Endeavor[]; +extern const u8 gBattleAnimMove_Eruption[]; +extern const u8 gBattleAnimMove_SkillSwap[]; +extern const u8 gBattleAnimMove_Imprison[]; +extern const u8 gBattleAnimMove_Refresh[]; +extern const u8 gBattleAnimMove_Grudge[]; +extern const u8 gBattleAnimMove_Snatch[]; +extern const u8 gBattleAnimMove_SecretPower[]; +extern const u8 gBattleAnimMove_Dive[]; +extern const u8 gBattleAnimMove_ArmThrust[]; +extern const u8 gBattleAnimMove_Camouflage[]; +extern const u8 gBattleAnimMove_TailGlow[]; +extern const u8 gBattleAnimMove_LusterPurge[]; +extern const u8 gBattleAnimMove_MistBall[]; +extern const u8 gBattleAnimMove_FeatherDance[]; +extern const u8 gBattleAnimMove_TeeterDance[]; +extern const u8 gBattleAnimMove_BlazeKick[]; +extern const u8 gBattleAnimMove_MudSport[]; +extern const u8 gBattleAnimMove_IceBall[]; +extern const u8 gBattleAnimMove_NeedleArm[]; +extern const u8 gBattleAnimMove_SlackOff[]; +extern const u8 gBattleAnimMove_HyperVoice[]; +extern const u8 gBattleAnimMove_PoisonFang[]; +extern const u8 gBattleAnimMove_CrushClaw[]; +extern const u8 gBattleAnimMove_BlastBurn[]; +extern const u8 gBattleAnimMove_HydroCannon[]; +extern const u8 gBattleAnimMove_MeteorMash[]; +extern const u8 gBattleAnimMove_Astonish[]; +extern const u8 gBattleAnimMove_WeatherBall[]; +extern const u8 gBattleAnimMove_Aromatherapy[]; +extern const u8 gBattleAnimMove_FakeTears[]; +extern const u8 gBattleAnimMove_AirCutter[]; +extern const u8 gBattleAnimMove_Overheat[]; +extern const u8 gBattleAnimMove_OdorSleuth[]; +extern const u8 gBattleAnimMove_RockTomb[]; +extern const u8 gBattleAnimMove_SilverWind[]; +extern const u8 gBattleAnimMove_MetalSound[]; +extern const u8 gBattleAnimMove_GrassWhistle[]; +extern const u8 gBattleAnimMove_Tickle[]; +extern const u8 gBattleAnimMove_CosmicPower[]; +extern const u8 gBattleAnimMove_WaterSpout[]; +extern const u8 gBattleAnimMove_SignalBeam[]; +extern const u8 gBattleAnimMove_ShadowPunch[]; +extern const u8 gBattleAnimMove_Extrasensory[]; +extern const u8 gBattleAnimMove_SkyUppercut[]; +extern const u8 gBattleAnimMove_SandTomb[]; +extern const u8 gBattleAnimMove_SheerCold[]; +extern const u8 gBattleAnimMove_MuddyWater[]; +extern const u8 gBattleAnimMove_BulletSeed[]; +extern const u8 gBattleAnimMove_AerialAce[]; +extern const u8 gBattleAnimMove_IcicleSpear[]; +extern const u8 gBattleAnimMove_IronDefense[]; +extern const u8 gBattleAnimMove_Block[]; +extern const u8 gBattleAnimMove_Howl[]; +extern const u8 gBattleAnimMove_DragonClaw[]; +extern const u8 gBattleAnimMove_FrenzyPlant[]; +extern const u8 gBattleAnimMove_BulkUp[]; +extern const u8 gBattleAnimMove_Bounce[]; +extern const u8 gBattleAnimMove_MudShot[]; +extern const u8 gBattleAnimMove_PoisonTail[]; +extern const u8 gBattleAnimMove_Covet[]; +extern const u8 gBattleAnimMove_VoltTackle[]; +extern const u8 gBattleAnimMove_MagicalLeaf[]; +extern const u8 gBattleAnimMove_WaterSport[]; +extern const u8 gBattleAnimMove_CalmMind[]; +extern const u8 gBattleAnimMove_LeafBlade[]; +extern const u8 gBattleAnimMove_DragonDance[]; +extern const u8 gBattleAnimMove_RockBlast[]; +extern const u8 gBattleAnimMove_ShockWave[]; +extern const u8 gBattleAnimMove_WaterPulse[]; +extern const u8 gBattleAnimMove_DoomDesire[]; +extern const u8 gBattleAnimMove_PsychoBoost[]; +extern const u8 gBattleAnimMove_Roost[]; +extern const u8 gBattleAnimMove_Gravity[]; +extern const u8 gBattleAnimMove_MiracleEye[]; +extern const u8 gBattleAnimMove_WakeUpSlap[]; +extern const u8 gBattleAnimMove_HammerArm[]; +extern const u8 gBattleAnimMove_GyroBall[]; +extern const u8 gBattleAnimMove_HealingWish[]; +extern const u8 gBattleAnimMove_Brine[]; +extern const u8 gBattleAnimMove_NaturalGift[]; +extern const u8 gBattleAnimMove_Feint[]; +extern const u8 gBattleAnimMove_Pluck[]; +extern const u8 gBattleAnimMove_Tailwind[]; +extern const u8 gBattleAnimMove_Acupressure[]; +extern const u8 gBattleAnimMove_MetalBurst[]; +extern const u8 gBattleAnimMove_UTurn[]; +extern const u8 gBattleAnimMove_CloseCombat[]; +extern const u8 gBattleAnimMove_Payback[]; +extern const u8 gBattleAnimMove_Assurance[]; +extern const u8 gBattleAnimMove_Embargo[]; +extern const u8 gBattleAnimMove_Fling[]; +extern const u8 gBattleAnimMove_PsychoShift[]; +extern const u8 gBattleAnimMove_TrumpCard[]; +extern const u8 gBattleAnimMove_HealBlock[]; +extern const u8 gBattleAnimMove_WringOut[]; +extern const u8 gBattleAnimMove_PowerTrick[]; +extern const u8 gBattleAnimMove_GastroAcid[]; +extern const u8 gBattleAnimMove_LuckyChant[]; +extern const u8 gBattleAnimMove_MeFirst[]; +extern const u8 gBattleAnimMove_Copycat[]; +extern const u8 gBattleAnimMove_PowerSwap[]; +extern const u8 gBattleAnimMove_GuardSwap[]; +extern const u8 gBattleAnimMove_Punishment[]; +extern const u8 gBattleAnimMove_LastResort[]; +extern const u8 gBattleAnimMove_WorrySeed[]; +extern const u8 gBattleAnimMove_SuckerPunch[]; +extern const u8 gBattleAnimMove_ToxicSpikes[]; +extern const u8 gBattleAnimMove_HeartSwap[]; +extern const u8 gBattleAnimMove_AquaRing[]; +extern const u8 gBattleAnimMove_MagnetRise[]; +extern const u8 gBattleAnimMove_FlareBlitz[]; +extern const u8 gBattleAnimMove_ForcePalm[]; +extern const u8 gBattleAnimMove_AuraSphere[]; +extern const u8 gBattleAnimMove_RockPolish[]; +extern const u8 gBattleAnimMove_PoisonJab[]; +extern const u8 gBattleAnimMove_DarkPulse[]; +extern const u8 gBattleAnimMove_NightSlash[]; +extern const u8 gBattleAnimMove_AquaTail[]; +extern const u8 gBattleAnimMove_SeedBomb[]; +extern const u8 gBattleAnimMove_AirSlash[]; +extern const u8 gBattleAnimMove_XScissor[]; +extern const u8 gBattleAnimMove_BugBuzz[]; +extern const u8 gBattleAnimMove_DragonPulse[]; +extern const u8 gBattleAnimMove_DragonRush[]; +extern const u8 gBattleAnimMove_PowerGem[]; +extern const u8 gBattleAnimMove_DrainPunch[]; +extern const u8 gBattleAnimMove_VacuumWave[]; +extern const u8 gBattleAnimMove_FocusBlast[]; +extern const u8 gBattleAnimMove_EnergyBall[]; +extern const u8 gBattleAnimMove_BraveBird[]; +extern const u8 gBattleAnimMove_EarthPower[]; +extern const u8 gBattleAnimMove_Switcheroo[]; +extern const u8 gBattleAnimMove_GigaImpact[]; +extern const u8 gBattleAnimMove_NastyPlot[]; +extern const u8 gBattleAnimMove_BulletPunch[]; +extern const u8 gBattleAnimMove_Avalanche[]; +extern const u8 gBattleAnimMove_IceShard[]; +extern const u8 gBattleAnimMove_ShadowClaw[]; +extern const u8 gBattleAnimMove_ThunderFang[]; +extern const u8 gBattleAnimMove_IceFang[]; +extern const u8 gBattleAnimMove_FireFang[]; +extern const u8 gBattleAnimMove_ShadowSneak[]; +extern const u8 gBattleAnimMove_MudBomb[]; +extern const u8 gBattleAnimMove_PsychoCut[]; +extern const u8 gBattleAnimMove_ZenHeadbutt[]; +extern const u8 gBattleAnimMove_MirrorShot[]; +extern const u8 gBattleAnimMove_FlashCannon[]; +extern const u8 gBattleAnimMove_RockClimb[]; +extern const u8 gBattleAnimMove_Defog[]; +extern const u8 gBattleAnimMove_TrickRoom[]; +extern const u8 gBattleAnimMove_DracoMeteor[]; +extern const u8 gBattleAnimMove_Discharge[]; +extern const u8 gBattleAnimMove_LavaPlume[]; +extern const u8 gBattleAnimMove_LeafStorm[]; +extern const u8 gBattleAnimMove_PowerWhip[]; +extern const u8 gBattleAnimMove_RockWrecker[]; +extern const u8 gBattleAnimMove_CrossPoison[]; +extern const u8 gBattleAnimMove_GunkShot[]; +extern const u8 gBattleAnimMove_IronHead[]; +extern const u8 gBattleAnimMove_MagnetBomb[]; +extern const u8 gBattleAnimMove_StoneEdge[]; +extern const u8 gBattleAnimMove_Captivate[]; +extern const u8 gBattleAnimMove_StealthRock[]; +extern const u8 gBattleAnimMove_GrassKnot[]; +extern const u8 gBattleAnimMove_Chatter[]; +extern const u8 gBattleAnimMove_Judgment[]; +extern const u8 gBattleAnimMove_BugBite[]; +extern const u8 gBattleAnimMove_ChargeBeam[]; +extern const u8 gBattleAnimMove_WoodHammer[]; +extern const u8 gBattleAnimMove_AquaJet[]; +extern const u8 gBattleAnimMove_AttackOrder[]; +extern const u8 gBattleAnimMove_DefendOrder[]; +extern const u8 gBattleAnimMove_HealOrder[]; +extern const u8 gBattleAnimMove_HeadSmash[]; +extern const u8 gBattleAnimMove_DoubleHit[]; +extern const u8 gBattleAnimMove_RoarOfTime[]; +extern const u8 gBattleAnimMove_SpacialRend[]; +extern const u8 gBattleAnimMove_LunarDance[]; +extern const u8 gBattleAnimMove_CrushGrip[]; +extern const u8 gBattleAnimMove_MagmaStorm[]; +extern const u8 gBattleAnimMove_DarkVoid[]; +extern const u8 gBattleAnimMove_SeedFlare[]; +extern const u8 gBattleAnimMove_OminousWind[]; +extern const u8 gBattleAnimMove_ShadowForce[]; +extern const u8 gBattleAnimMove_HoneClaws[]; +extern const u8 gBattleAnimMove_WideGuard[]; +extern const u8 gBattleAnimMove_GuardSplit[]; +extern const u8 gBattleAnimMove_PowerSplit[]; +extern const u8 gBattleAnimMove_WonderRoom[]; +extern const u8 gBattleAnimMove_Psyshock[]; +extern const u8 gBattleAnimMove_Venoshock[]; +extern const u8 gBattleAnimMove_Autotomize[]; +extern const u8 gBattleAnimMove_RagePowder[]; +extern const u8 gBattleAnimMove_Telekinesis[]; +extern const u8 gBattleAnimMove_MagicRoom[]; +extern const u8 gBattleAnimMove_SmackDown[]; +extern const u8 gBattleAnimMove_StormThrow[]; +extern const u8 gBattleAnimMove_FlameBurst[]; +extern const u8 gBattleAnimMove_SludgeWave[]; +extern const u8 gBattleAnimMove_QuiverDance[]; +extern const u8 gBattleAnimMove_HeavySlam[]; +extern const u8 gBattleAnimMove_Synchronoise[]; +extern const u8 gBattleAnimMove_ElectroBall[]; +extern const u8 gBattleAnimMove_Soak[]; +extern const u8 gBattleAnimMove_FlameCharge[]; +extern const u8 gBattleAnimMove_Coil[]; +extern const u8 gBattleAnimMove_LowSweep[]; +extern const u8 gBattleAnimMove_AcidSpray[]; +extern const u8 gBattleAnimMove_FoulPlay[]; +extern const u8 gBattleAnimMove_SimpleBeam[]; +extern const u8 gBattleAnimMove_Entrainment[]; +extern const u8 gBattleAnimMove_AfterYou[]; +extern const u8 gBattleAnimMove_Round[]; +extern const u8 gBattleAnimMove_EchoedVoice[]; +extern const u8 gBattleAnimMove_ChipAway[]; +extern const u8 gBattleAnimMove_ClearSmog[]; +extern const u8 gBattleAnimMove_StoredPower[]; +extern const u8 gBattleAnimMove_QuickGuard[]; +extern const u8 gBattleAnimMove_AllySwitch[]; +extern const u8 gBattleAnimMove_Scald[]; +extern const u8 gBattleAnimMove_ShellSmash[]; +extern const u8 gBattleAnimMove_HealPulse[]; +extern const u8 gBattleAnimMove_Hex[]; +extern const u8 gBattleAnimMove_SkyDrop[]; +extern const u8 gBattleAnimMove_ShiftGear[]; +extern const u8 gBattleAnimMove_CircleThrow[]; +extern const u8 gBattleAnimMove_Incinerate[]; +extern const u8 gBattleAnimMove_Quash[]; +extern const u8 gBattleAnimMove_Acrobatics[]; +extern const u8 gBattleAnimMove_ReflectType[]; +extern const u8 gBattleAnimMove_Retaliate[]; +extern const u8 gBattleAnimMove_FinalGambit[]; +extern const u8 gBattleAnimMove_Bestow[]; +extern const u8 gBattleAnimMove_Inferno[]; +extern const u8 gBattleAnimMove_WaterPledge[]; +extern const u8 gBattleAnimMove_FirePledge[]; +extern const u8 gBattleAnimMove_GrassPledge[]; +extern const u8 gBattleAnimMove_VoltSwitch[]; +extern const u8 gBattleAnimMove_StruggleBug[]; +extern const u8 gBattleAnimMove_Bulldoze[]; +extern const u8 gBattleAnimMove_FrostBreath[]; +extern const u8 gBattleAnimMove_DragonTail[]; +extern const u8 gBattleAnimMove_WorkUp[]; +extern const u8 gBattleAnimMove_Electroweb[]; +extern const u8 gBattleAnimMove_WildCharge[]; +extern const u8 gBattleAnimMove_DrillRun[]; +extern const u8 gBattleAnimMove_DualChop[]; +extern const u8 gBattleAnimMove_HeartStamp[]; +extern const u8 gBattleAnimMove_HornLeech[]; +extern const u8 gBattleAnimMove_SacredSword[]; +extern const u8 gBattleAnimMove_RazorShell[]; +extern const u8 gBattleAnimMove_HeatCrash[]; +extern const u8 gBattleAnimMove_LeafTornado[]; +extern const u8 gBattleAnimMove_Steamroller[]; +extern const u8 gBattleAnimMove_CottonGuard[]; +extern const u8 gBattleAnimMove_NightDaze[]; +extern const u8 gBattleAnimMove_Psystrike[]; +extern const u8 gBattleAnimMove_TailSlap[]; +extern const u8 gBattleAnimMove_Hurricane[]; +extern const u8 gBattleAnimMove_HeadCharge[]; +extern const u8 gBattleAnimMove_GearGrind[]; +extern const u8 gBattleAnimMove_SearingShot[]; +extern const u8 gBattleAnimMove_TechnoBlast[]; +extern const u8 gBattleAnimMove_RelicSong[]; +extern const u8 gBattleAnimMove_SecretSword[]; +extern const u8 gBattleAnimMove_Glaciate[]; +extern const u8 gBattleAnimMove_BoltStrike[]; +extern const u8 gBattleAnimMove_BlueFlare[]; +extern const u8 gBattleAnimMove_FieryDance[]; +extern const u8 gBattleAnimMove_FreezeShock[]; +extern const u8 gBattleAnimMove_IceBurn[]; +extern const u8 gBattleAnimMove_Snarl[]; +extern const u8 gBattleAnimMove_IcicleCrash[]; +extern const u8 gBattleAnimMove_VCreate[]; +extern const u8 gBattleAnimMove_FusionFlare[]; +extern const u8 gBattleAnimMove_FusionBolt[]; +extern const u8 gBattleAnimMove_FlyingPress[]; +extern const u8 gBattleAnimMove_MatBlock[]; +extern const u8 gBattleAnimMove_Belch[]; +extern const u8 gBattleAnimMove_Rototiller[]; +extern const u8 gBattleAnimMove_StickyWeb[]; +extern const u8 gBattleAnimMove_FellStinger[]; +extern const u8 gBattleAnimMove_PhantomForce[]; +extern const u8 gBattleAnimMove_TrickOrTreat[]; +extern const u8 gBattleAnimMove_NobleRoar[]; +extern const u8 gBattleAnimMove_IonDeluge[]; +extern const u8 gBattleAnimMove_ParabolicCharge[]; +extern const u8 gBattleAnimMove_ForestsCurse[]; +extern const u8 gBattleAnimMove_PetalBlizzard[]; +extern const u8 gBattleAnimMove_FreezeDry[]; +extern const u8 gBattleAnimMove_DisarmingVoice[]; +extern const u8 gBattleAnimMove_PartingShot[]; +extern const u8 gBattleAnimMove_TopsyTurvy[]; +extern const u8 gBattleAnimMove_DrainingKiss[]; +extern const u8 gBattleAnimMove_CraftyShield[]; +extern const u8 gBattleAnimMove_FlowerShield[]; +extern const u8 gBattleAnimMove_GrassyTerrain[]; +extern const u8 gBattleAnimMove_MistyTerrain[]; +extern const u8 gBattleAnimMove_Electrify[]; +extern const u8 gBattleAnimMove_PlayRough[]; +extern const u8 gBattleAnimMove_FairyWind[]; +extern const u8 gBattleAnimMove_Moonblast[]; +extern const u8 gBattleAnimMove_Boomburst[]; +extern const u8 gBattleAnimMove_FairyLock[]; +extern const u8 gBattleAnimMove_KingsShield[]; +extern const u8 gBattleAnimMove_PlayNice[]; +extern const u8 gBattleAnimMove_Confide[]; +extern const u8 gBattleAnimMove_DiamondStorm[]; +extern const u8 gBattleAnimMove_SteamEruption[]; +extern const u8 gBattleAnimMove_HyperspaceHole[]; +extern const u8 gBattleAnimMove_WaterShuriken[]; +extern const u8 gBattleAnimMove_MysticalFire[]; +extern const u8 gBattleAnimMove_SpikyShield[]; +extern const u8 gBattleAnimMove_AromaticMist[]; +extern const u8 gBattleAnimMove_EerieImpulse[]; +extern const u8 gBattleAnimMove_VenomDrench[]; +extern const u8 gBattleAnimMove_Powder[]; +extern const u8 gBattleAnimMove_Geomancy[]; +extern const u8 gBattleAnimMove_MagneticFlux[]; +extern const u8 gBattleAnimMove_HappyHour[]; +extern const u8 gBattleAnimMove_ElectricTerrain[]; +extern const u8 gBattleAnimMove_DazzlingGleam[]; +extern const u8 gBattleAnimMove_Celebrate[]; +extern const u8 gBattleAnimMove_HoldHands[]; +extern const u8 gBattleAnimMove_BabyDollEyes[]; +extern const u8 gBattleAnimMove_Nuzzle[]; +extern const u8 gBattleAnimMove_HoldBack[]; +extern const u8 gBattleAnimMove_Infestation[]; +extern const u8 gBattleAnimMove_PowerUpPunch[]; +extern const u8 gBattleAnimMove_OblivionWing[]; +extern const u8 gBattleAnimMove_ThousandArrows[]; +extern const u8 gBattleAnimMove_ThousandWaves[]; +extern const u8 gBattleAnimMove_LandsWrath[]; +extern const u8 gBattleAnimMove_LightOfRuin[]; +extern const u8 gBattleAnimMove_OriginPulse[]; +extern const u8 gBattleAnimMove_PrecipiceBlades[]; +extern const u8 gBattleAnimMove_DragonAscent[]; +extern const u8 gBattleAnimMove_HyperspaceFury[]; +extern const u8 gBattleAnimMove_ShoreUp[]; +extern const u8 gBattleAnimMove_FirstImpression[]; +extern const u8 gBattleAnimMove_BanefulBunker[]; +extern const u8 gBattleAnimMove_SpiritShackle[]; +extern const u8 gBattleAnimMove_DarkestLariat[]; +extern const u8 gBattleAnimMove_SparklingAria[]; +extern const u8 gBattleAnimMove_IceHammer[]; +extern const u8 gBattleAnimMove_FloralHealing[]; +extern const u8 gBattleAnimMove_HighHorsepower[]; +extern const u8 gBattleAnimMove_StrengthSap[]; +extern const u8 gBattleAnimMove_SolarBlade[]; +extern const u8 gBattleAnimMove_Leafage[]; +extern const u8 gBattleAnimMove_Spotlight[]; +extern const u8 gBattleAnimMove_ToxicThread[]; +extern const u8 gBattleAnimMove_LaserFocus[]; +extern const u8 gBattleAnimMove_GearUp[]; +extern const u8 gBattleAnimMove_ThroatChop[]; +extern const u8 gBattleAnimMove_PollenPuff[]; +extern const u8 gBattleAnimMove_AnchorShot[]; +extern const u8 gBattleAnimMove_PsychicTerrain[]; +extern const u8 gBattleAnimMove_Lunge[]; +extern const u8 gBattleAnimMove_FireLash[]; +extern const u8 gBattleAnimMove_PowerTrip[]; +extern const u8 gBattleAnimMove_BurnUp[]; +extern const u8 gBattleAnimMove_SpeedSwap[]; +extern const u8 gBattleAnimMove_SmartStrike[]; +extern const u8 gBattleAnimMove_Purify[]; +extern const u8 gBattleAnimMove_RevelationDance[]; +extern const u8 gBattleAnimMove_CoreEnforcer[]; +extern const u8 gBattleAnimMove_TropKick[]; +extern const u8 gBattleAnimMove_Instruct[]; +extern const u8 gBattleAnimMove_BeakBlast[]; +extern const u8 gBattleAnimMove_ClangingScales[]; +extern const u8 gBattleAnimMove_DragonHammer[]; +extern const u8 gBattleAnimMove_BrutalSwing[]; +extern const u8 gBattleAnimMove_AuroraVeil[]; +extern const u8 gBattleAnimMove_ShellTrap[]; +extern const u8 gBattleAnimMove_FleurCannon[]; +extern const u8 gBattleAnimMove_PsychicFangs[]; +extern const u8 gBattleAnimMove_StompingTantrum[]; +extern const u8 gBattleAnimMove_ShadowBone[]; +extern const u8 gBattleAnimMove_Accelerock[]; +extern const u8 gBattleAnimMove_Liquidation[]; +extern const u8 gBattleAnimMove_PrismaticLaser[]; +extern const u8 gBattleAnimMove_SpectralThief[]; +extern const u8 gBattleAnimMove_SunsteelStrike[]; +extern const u8 gBattleAnimMove_MoongeistBeam[]; +extern const u8 gBattleAnimMove_TearfulLook[]; +extern const u8 gBattleAnimMove_ZingZap[]; +extern const u8 gBattleAnimMove_NaturesMadness[]; +extern const u8 gBattleAnimMove_MultiAttack[]; +extern const u8 gBattleAnimMove_MindBlown[]; +extern const u8 gBattleAnimMove_PlasmaFists[]; +extern const u8 gBattleAnimMove_PhotonGeyser[]; +extern const u8 gBattleAnimMove_ZippyZap[]; +extern const u8 gBattleAnimMove_SplishySplash[]; +extern const u8 gBattleAnimMove_FloatyFall[]; +extern const u8 gBattleAnimMove_PikaPapow[]; +extern const u8 gBattleAnimMove_BouncyBubble[]; +extern const u8 gBattleAnimMove_BuzzyBuzz[]; +extern const u8 gBattleAnimMove_SizzlySlide[]; +extern const u8 gBattleAnimMove_GlitzyGlow[]; +extern const u8 gBattleAnimMove_BaddyBad[]; +extern const u8 gBattleAnimMove_SappySeed[]; +extern const u8 gBattleAnimMove_FreezyFrost[]; +extern const u8 gBattleAnimMove_SparklySwirl[]; +extern const u8 gBattleAnimMove_VeeveeVolley[]; +extern const u8 gBattleAnimMove_DoubleIronBash[]; +extern const u8 gBattleAnimMove_DynamaxCannon[]; +extern const u8 gBattleAnimMove_SnipeShot[]; +extern const u8 gBattleAnimMove_JawLock[]; +extern const u8 gBattleAnimMove_StuffCheeks[]; +extern const u8 gBattleAnimMove_NoRetreat[]; +extern const u8 gBattleAnimMove_TarShot[]; +extern const u8 gBattleAnimMove_MagicPowder[]; +extern const u8 gBattleAnimMove_DragonDarts[]; +extern const u8 gBattleAnimMove_Teatime[]; +extern const u8 gBattleAnimMove_Octolock[]; +extern const u8 gBattleAnimMove_BoltBeak[]; +extern const u8 gBattleAnimMove_FishiousRend[]; +extern const u8 gBattleAnimMove_CourtChange[]; +extern const u8 gBattleAnimMove_ClangorousSoul[]; +extern const u8 gBattleAnimMove_BodyPress[]; +extern const u8 gBattleAnimMove_Decorate[]; +extern const u8 gBattleAnimMove_DrumBeating[]; +extern const u8 gBattleAnimMove_SnapTrap[]; +extern const u8 gBattleAnimMove_PyroBall[]; +extern const u8 gBattleAnimMove_BehemothBlade[]; +extern const u8 gBattleAnimMove_BehemothBash[]; +extern const u8 gBattleAnimMove_AuraWheel[]; +extern const u8 gBattleAnimMove_BreakingSwipe[]; +extern const u8 gBattleAnimMove_BranchPoke[]; +extern const u8 gBattleAnimMove_Overdrive[]; +extern const u8 gBattleAnimMove_AppleAcid[]; +extern const u8 gBattleAnimMove_GravApple[]; +extern const u8 gBattleAnimMove_SpiritBreak[]; +extern const u8 gBattleAnimMove_StrangeSteam[]; +extern const u8 gBattleAnimMove_LifeDew[]; +extern const u8 gBattleAnimMove_Obstruct[]; +extern const u8 gBattleAnimMove_FalseSurrender[]; +extern const u8 gBattleAnimMove_MeteorAssault[]; +extern const u8 gBattleAnimMove_Eternabeam[]; +extern const u8 gBattleAnimMove_SteelBeam[]; +extern const u8 gBattleAnimMove_ExpandingForce[]; +extern const u8 gBattleAnimMove_SteelRoller[]; +extern const u8 gBattleAnimMove_ScaleShot[]; +extern const u8 gBattleAnimMove_MeteorBeam[]; +extern const u8 gBattleAnimMove_ShellSideArm[]; +extern const u8 gBattleAnimMove_MistyExplosion[]; +extern const u8 gBattleAnimMove_GrassyGlide[]; +extern const u8 gBattleAnimMove_RisingVoltage[]; +extern const u8 gBattleAnimMove_TerrainPulse[]; +extern const u8 gBattleAnimMove_SkitterSmack[]; +extern const u8 gBattleAnimMove_BurningJealousy[]; +extern const u8 gBattleAnimMove_LashOut[]; +extern const u8 gBattleAnimMove_Poltergeist[]; +extern const u8 gBattleAnimMove_CorrosiveGas[]; +extern const u8 gBattleAnimMove_Coaching[]; +extern const u8 gBattleAnimMove_FlipTurn[]; +extern const u8 gBattleAnimMove_TripleAxel[]; +extern const u8 gBattleAnimMove_DualWingbeat[]; +extern const u8 gBattleAnimMove_ScorchingSands[]; +extern const u8 gBattleAnimMove_JungleHealing[]; +extern const u8 gBattleAnimMove_WickedBlow[]; +extern const u8 gBattleAnimMove_SurgingStrikes[]; +extern const u8 gBattleAnimMove_ThunderCage[]; +extern const u8 gBattleAnimMove_DragonEnergy[]; +extern const u8 gBattleAnimMove_FreezingGlare[]; +extern const u8 gBattleAnimMove_FieryWrath[]; +extern const u8 gBattleAnimMove_ThunderousKick[]; +extern const u8 gBattleAnimMove_GlacialLance[]; +extern const u8 gBattleAnimMove_AstralBarrage[]; +extern const u8 gBattleAnimMove_EerieSpell[]; +extern const u8 gBattleAnimMove_DireClaw[]; +extern const u8 gBattleAnimMove_PsyshieldBash[]; +extern const u8 gBattleAnimMove_PowerShift[]; +extern const u8 gBattleAnimMove_StoneAxe[]; +extern const u8 gBattleAnimMove_SpringtideStorm[]; +extern const u8 gBattleAnimMove_MysticalPower[]; +extern const u8 gBattleAnimMove_RagingFury[]; +extern const u8 gBattleAnimMove_WaveCrash[]; +extern const u8 gBattleAnimMove_Chloroblast[]; +extern const u8 gBattleAnimMove_MountainGale[]; +extern const u8 gBattleAnimMove_VictoryDance[]; +extern const u8 gBattleAnimMove_HeadlongRush[]; +extern const u8 gBattleAnimMove_BarbBarrage[]; +extern const u8 gBattleAnimMove_EsperWing[]; +extern const u8 gBattleAnimMove_BitterMalice[]; +extern const u8 gBattleAnimMove_Shelter[]; +extern const u8 gBattleAnimMove_TripleArrows[]; +extern const u8 gBattleAnimMove_InfernalParade[]; +extern const u8 gBattleAnimMove_CeaselessEdge[]; +extern const u8 gBattleAnimMove_BleakwindStorm[]; +extern const u8 gBattleAnimMove_WildboltStorm[]; +extern const u8 gBattleAnimMove_SandsearStorm[]; +extern const u8 gBattleAnimMove_LunarBlessing[]; +extern const u8 gBattleAnimMove_TakeHeart[]; +extern const u8 gBattleAnimMove_TeraBlast[]; +extern const u8 gBattleAnimMove_SilkTrap[]; +extern const u8 gBattleAnimMove_AxeKick[]; +extern const u8 gBattleAnimMove_LastRespects[]; +extern const u8 gBattleAnimMove_LuminaCrash[]; +extern const u8 gBattleAnimMove_OrderUp[]; +extern const u8 gBattleAnimMove_JetPunch[]; +extern const u8 gBattleAnimMove_SpicyExtract[]; +extern const u8 gBattleAnimMove_SpinOut[]; +extern const u8 gBattleAnimMove_PopulationBomb[]; +extern const u8 gBattleAnimMove_IceSpinner[]; +extern const u8 gBattleAnimMove_GlaiveRush[]; +extern const u8 gBattleAnimMove_RevivalBlessing[]; +extern const u8 gBattleAnimMove_SaltCure[]; +extern const u8 gBattleAnimMove_TripleDive[]; +extern const u8 gBattleAnimMove_MortalSpin[]; +extern const u8 gBattleAnimMove_Doodle[]; +extern const u8 gBattleAnimMove_FilletAway[]; +extern const u8 gBattleAnimMove_KowtowCleave[]; +extern const u8 gBattleAnimMove_FlowerTrick[]; +extern const u8 gBattleAnimMove_TorchSong[]; +extern const u8 gBattleAnimMove_AquaStep[]; +extern const u8 gBattleAnimMove_RagingBull[]; +extern const u8 gBattleAnimMove_MakeItRain[]; +extern const u8 gBattleAnimMove_Ruination[]; +extern const u8 gBattleAnimMove_CollisionCourse[]; +extern const u8 gBattleAnimMove_ElectroDrift[]; +extern const u8 gBattleAnimMove_ShedTail[]; +extern const u8 gBattleAnimMove_ChillyReception[]; +extern const u8 gBattleAnimMove_TidyUp[]; +extern const u8 gBattleAnimMove_Snowscape[]; +extern const u8 gBattleAnimMove_Pounce[]; +extern const u8 gBattleAnimMove_Trailblaze[]; +extern const u8 gBattleAnimMove_ChillingWater[]; +extern const u8 gBattleAnimMove_HyperDrill[]; +extern const u8 gBattleAnimMove_TwinBeam[]; +extern const u8 gBattleAnimMove_RageFist[]; +extern const u8 gBattleAnimMove_ArmorCannon[]; +extern const u8 gBattleAnimMove_BitterBlade[]; +extern const u8 gBattleAnimMove_DoubleShock[]; +extern const u8 gBattleAnimMove_GigatonHammer[]; +extern const u8 gBattleAnimMove_Comeuppance[]; +extern const u8 gBattleAnimMove_AquaCutter[]; +extern const u8 gBattleAnimMove_BlazingTorque[]; +extern const u8 gBattleAnimMove_WickedTorque[]; +extern const u8 gBattleAnimMove_NoxiousTorque[]; +extern const u8 gBattleAnimMove_CombatTorque[]; +extern const u8 gBattleAnimMove_MagicalTorque[]; +extern const u8 gBattleAnimMove_Psyblade[]; +extern const u8 gBattleAnimMove_HydroSteam[]; +extern const u8 gBattleAnimMove_BloodMoon[]; +extern const u8 gBattleAnimMove_MatchaGotcha[]; +extern const u8 gBattleAnimMove_SyrupBomb[]; +extern const u8 gBattleAnimMove_IvyCudgel[]; +extern const u8 gBattleAnimMove_ElectroShot[]; +extern const u8 gBattleAnimMove_TeraStarstorm[]; +extern const u8 gBattleAnimMove_FickleBeam[]; +extern const u8 gBattleAnimMove_BurningBulwark[]; +extern const u8 gBattleAnimMove_Thunderclap[]; +extern const u8 gBattleAnimMove_MightyCleave[]; +extern const u8 gBattleAnimMove_TachyonCutter[]; +extern const u8 gBattleAnimMove_HardPress[]; +extern const u8 gBattleAnimMove_DragonCheer[]; +extern const u8 gBattleAnimMove_AlluringVoice[]; +extern const u8 gBattleAnimMove_TemperFlare[]; +extern const u8 gBattleAnimMove_SupercellSlam[]; +extern const u8 gBattleAnimMove_PsychicNoise[]; +extern const u8 gBattleAnimMove_UpperHand[]; +extern const u8 gBattleAnimMove_MalignantChain[]; +extern const u8 gBattleAnimMove_BreakneckBlitz[]; +extern const u8 gBattleAnimMove_AllOutPummeling[]; +extern const u8 gBattleAnimMove_SupersonicSkystrike[]; +extern const u8 gBattleAnimMove_AcidDownpour[]; +extern const u8 gBattleAnimMove_TectonicRage[]; +extern const u8 gBattleAnimMove_ContinentalCrush[]; +extern const u8 gBattleAnimMove_SavageSpinOut[]; +extern const u8 gBattleAnimMove_NeverEndingNightmare[]; +extern const u8 gBattleAnimMove_CorkscrewCrash[]; +extern const u8 gBattleAnimMove_InfernoOverdrive[]; +extern const u8 gBattleAnimMove_HydroVortex[]; +extern const u8 gBattleAnimMove_BloomDoom[]; +extern const u8 gBattleAnimMove_GigavoltHavoc[]; +extern const u8 gBattleAnimMove_ShatteredPsyche[]; +extern const u8 gBattleAnimMove_SubzeroSlammer[]; +extern const u8 gBattleAnimMove_DevastatingDrake[]; +extern const u8 gBattleAnimMove_BlackHoleEclipse[]; +extern const u8 gBattleAnimMove_TwinkleTackle[]; +extern const u8 gBattleAnimMove_Catastropika[]; +extern const u8 gBattleAnimMove_10000000VoltThunderbolt[]; +extern const u8 gBattleAnimMove_StokedSparksurfer[]; +extern const u8 gBattleAnimMove_ExtremeEvoboost[]; +extern const u8 gBattleAnimMove_PulverizingPancake[]; +extern const u8 gBattleAnimMove_GenesisSupernova[]; +extern const u8 gBattleAnimMove_SinisterArrowRaid[]; +extern const u8 gBattleAnimMove_MaliciousMoonsault[]; +extern const u8 gBattleAnimMove_OceanicOperetta[]; +extern const u8 gBattleAnimMove_SplinteredStormshards[]; +extern const u8 gBattleAnimMove_LetsSnuggleForever[]; +extern const u8 gBattleAnimMove_ClangorousSoulblaze[]; +extern const u8 gBattleAnimMove_GuardianOfAlola[]; +extern const u8 gBattleAnimMove_SearingSunrazeSmash[]; +extern const u8 gBattleAnimMove_MenacingMoonrazeMaelstrom[]; +extern const u8 gBattleAnimMove_LightThatBurnsTheSky[]; +extern const u8 gBattleAnimMove_SoulStealing7StarStrike[]; +extern const u8 gBattleAnimMove_MaxGuard[]; +extern const u8 gBattleAnimMove_MaxFlare[]; +extern const u8 gBattleAnimMove_MaxFlutterby[]; +extern const u8 gBattleAnimMove_MaxLightning[]; +extern const u8 gBattleAnimMove_MaxStrike[]; +extern const u8 gBattleAnimMove_MaxKnuckle[]; +extern const u8 gBattleAnimMove_MaxPhantasm[]; +extern const u8 gBattleAnimMove_MaxHailstorm[]; +extern const u8 gBattleAnimMove_MaxOoze[]; +extern const u8 gBattleAnimMove_MaxGeyser[]; +extern const u8 gBattleAnimMove_MaxAirstream[]; +extern const u8 gBattleAnimMove_MaxStarfall[]; +extern const u8 gBattleAnimMove_MaxWyrmwind[]; +extern const u8 gBattleAnimMove_MaxMindstorm[]; +extern const u8 gBattleAnimMove_MaxRockfall[]; +extern const u8 gBattleAnimMove_MaxQuake[]; +extern const u8 gBattleAnimMove_MaxDarkness[]; +extern const u8 gBattleAnimMove_MaxOvergrowth[]; +extern const u8 gBattleAnimMove_MaxSteelspike[]; +extern const u8 gBattleAnimMove_GMaxVineLash[]; +extern const u8 gBattleAnimMove_GMaxWildfire[]; +extern const u8 gBattleAnimMove_GMaxCannonade[]; +extern const u8 gBattleAnimMove_GMaxBefuddle[]; +extern const u8 gBattleAnimMove_GMaxVoltCrash[]; +extern const u8 gBattleAnimMove_GMaxGoldRush[]; +extern const u8 gBattleAnimMove_GMaxChiStrike[]; +extern const u8 gBattleAnimMove_GMaxTerror[]; +extern const u8 gBattleAnimMove_GMaxFoamBurst[]; +extern const u8 gBattleAnimMove_GMaxResonance[]; +extern const u8 gBattleAnimMove_GMaxCuddle[]; +extern const u8 gBattleAnimMove_GMaxReplenish[]; +extern const u8 gBattleAnimMove_GMaxMalodor[]; +extern const u8 gBattleAnimMove_GMaxMeltdown[]; +extern const u8 gBattleAnimMove_GMaxDrumSolo[]; +extern const u8 gBattleAnimMove_GMaxFireball[]; +extern const u8 gBattleAnimMove_GMaxHydrosnipe[]; +extern const u8 gBattleAnimMove_GMaxWindRage[]; +extern const u8 gBattleAnimMove_GMaxGravitas[]; +extern const u8 gBattleAnimMove_GMaxStonesurge[]; +extern const u8 gBattleAnimMove_GMaxVolcalith[]; +extern const u8 gBattleAnimMove_GMaxTartness[]; +extern const u8 gBattleAnimMove_GMaxSweetness[]; +extern const u8 gBattleAnimMove_GMaxSandblast[]; +extern const u8 gBattleAnimMove_GMaxStunShock[]; +extern const u8 gBattleAnimMove_GMaxCentiferno[]; +extern const u8 gBattleAnimMove_GMaxSmite[]; +extern const u8 gBattleAnimMove_GMaxSnooze[]; +extern const u8 gBattleAnimMove_GMaxFinale[]; +extern const u8 gBattleAnimMove_GMaxSteelsurge[]; +extern const u8 gBattleAnimMove_GMaxDepletion[]; +extern const u8 gBattleAnimMove_GMaxOneBlow[]; +extern const u8 gBattleAnimMove_GMaxRapidFlow[]; + +// status animations +extern const u8 gBattleAnimStatus_Poison[]; +extern const u8 gBattleAnimStatus_Confusion[]; +extern const u8 gBattleAnimStatus_Burn[]; +extern const u8 gBattleAnimStatus_Infatuation[]; +extern const u8 gBattleAnimStatus_Sleep[]; +extern const u8 gBattleAnimStatus_Paralysis[]; +extern const u8 gBattleAnimStatus_Freeze[]; +extern const u8 gBattleAnimStatus_Curse[]; +extern const u8 gBattleAnimStatus_Nightmare[]; + +// general animations +extern const u8 gBattleAnimGeneral_StatsChange[]; +extern const u8 gBattleAnimGeneral_SubstituteFade[]; +extern const u8 gBattleAnimGeneral_SubstituteAppear[]; +extern const u8 gBattleAnimGeneral_PokeblockThrow[]; +extern const u8 gBattleAnimGeneral_ItemKnockoff[]; +extern const u8 gBattleAnimGeneral_TurnTrap[]; +extern const u8 gBattleAnimGeneral_HeldItemEffect[]; +extern const u8 gBattleAnimGeneral_SmokeballEscape[]; +extern const u8 gBattleAnimGeneral_HangedOn[]; +extern const u8 gBattleAnimGeneral_Rain[]; +extern const u8 gBattleAnimGeneral_Sun[]; +extern const u8 gBattleAnimGeneral_Sandstorm[]; +extern const u8 gBattleAnimGeneral_Hail[]; +extern const u8 gBattleAnimGeneral_LeechSeedDrain[]; +extern const u8 gBattleAnimGeneral_MonHit[]; +extern const u8 gBattleAnimGeneral_ItemSteal[]; +extern const u8 gBattleAnimGeneral_SnatchMove[]; +extern const u8 gBattleAnimGeneral_FutureSightHit[]; +extern const u8 gBattleAnimGeneral_DoomDesireHit[]; +extern const u8 gBattleAnimGeneral_FocusPunchSetUp[]; +extern const u8 gBattleAnimGeneral_IngrainHeal[]; +extern const u8 gBattleAnimGeneral_WishHeal[]; +extern const u8 gBattleAnimGeneral_MegaEvolution[]; +extern const u8 gBattleAnimGeneral_IllusionOff[]; +extern const u8 gBattleAnimGeneral_FormChange[]; +extern const u8 gBattleAnimGeneral_SlideOffScreen[]; +extern const u8 gBattleAnimGeneral_RestoreBg[]; +extern const u8 gBattleAnimGeneral_TotemFlare[]; +extern const u8 gBattleAnimGeneral_GulpMissile[]; +extern const u8 gBattleAnimGeneral_StrongWinds[]; +extern const u8 gBattleAnimGeneral_PrimalReversion[]; +extern const u8 gBattleAnimGeneral_AquaRingHeal[]; +extern const u8 gBattleAnimGeneral_BeakBlastSetUp[]; +extern const u8 gBattleAnimGeneral_ShellTrapSetUp[]; +extern const u8 gBattleAnimGeneral_ZMoveActivate[]; +extern const u8 gBattleAnimGeneral_AffectionHangedOn[]; +extern const u8 gBattleAnimGeneral_Snow[]; +extern const u8 gBattleAnimGeneral_UltraBurst[]; +extern const u8 gBattleAnimGeneral_SaltCureDamage[]; +extern const u8 gBattleAnimGeneral_DynamaxGrowth[]; +extern const u8 gBattleAnimGeneral_SetWeather[]; +extern const u8 gBattleAnimGeneral_SyrupBombSpeedDrop[]; +extern const u8 gBattleAnimGeneral_Rainbow[]; +extern const u8 gBattleAnimGeneral_SeaOfFire[]; +extern const u8 gBattleAnimGeneral_Swamp[]; +extern const u8 gBattleAnimGeneral_TrickRoom[]; +extern const u8 gBattleAnimGeneral_WonderRoom[]; +extern const u8 gBattleAnimGeneral_MagicRoom[]; +extern const u8 gBattleAnimGeneral_Tailwind[]; +extern const u8 gBattleAnimGeneral_Fog[]; +extern const u8 gBattleAnimGeneral_TeraCharge[]; +extern const u8 gBattleAnimGeneral_TeraActivate[]; +extern const u8 gBattleAnimGeneral_SimpleHeal[]; + +// special animations +extern const u8 gBattleAnimSpecial_LevelUp[]; +extern const u8 gBattleAnimSpecial_SwitchOutPlayerMon[]; +extern const u8 gBattleAnimSpecial_SwitchOutOpponentMon[]; +extern const u8 gBattleAnimSpecial_BallThrow[]; +extern const u8 gBattleAnimSpecial_BallThrowWithTrainer[]; +extern const u8 gBattleAnimSpecial_SubstituteToMon[]; +extern const u8 gBattleAnimSpecial_MonToSubstitute[]; +extern const u8 gBattleAnimSpecial_CriticalCaptureBallThrow[]; + #endif // GUARD_BATTLE_ANIM_SCRIPTS_H diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 71a769144882..5e92cac763ff 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -310,6 +310,13 @@ void ActionSelectionDestroyCursorAt(u8 cursorPos); void InitMoveSelectionsVarsAndStrings(u32 battler); void MoveSelectionCreateCursorAt(u8 cursorPos, u8 arg1); void MoveSelectionDestroyCursorAt(u8 cursorPosition); +void PlayerHandleChooseMove(u32 battler); +void HandleInputChooseMove(u32 battler); +void HandleInputChooseTarget(u32 battler); +void HandleInputShowEntireFieldTargets(u32 battler); +void HandleInputShowTargets(u32 battler); +void HandleMoveSwitching(u32 battler); +void HandleChooseMoveAfterDma3(u32 battler); // recorded player controller void SetControllerToRecordedPlayer(u32 battler); diff --git a/include/battle_interface.h b/include/battle_interface.h index 6635298dc102..3280826ff7e0 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -47,6 +47,9 @@ enum #define TAG_HEALTHBAR_PAL TAG_HEALTHBAR_PLAYER1_TILE #define TAG_HEALTHBOX_PAL TAG_HEALTHBOX_PLAYER1_TILE +#define TAG_SHADOW_PAL TAG_HEALTHBOX_PLAYER1_TILE + +#define TAG_SHADOW_TILE 0xD759 #define TAG_GIMMICK_TRIGGER_TILE 0xD777 #define TAG_MEGA_INDICATOR_TILE 0xD778 diff --git a/include/battle_main.h b/include/battle_main.h index eb0af5aa776a..7e3206c554bd 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -80,6 +80,7 @@ s32 GetWhichBattlerFaster(u32 battler1, u32 battler2, bool32 ignoreChosenMoves); void RunBattleScriptCommands_PopCallbacksStack(void); void RunBattleScriptCommands(void); void SpecialStatusesClear(void); +u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost); void SetTypeBeforeUsingMove(u32 move, u32 battlerAtk); bool32 IsWildMonSmart(void); u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer *trainer, bool32 firstTrainer, u32 battleTypeFlags); diff --git a/include/battle_message.h b/include/battle_message.h index 338712606a90..7d000d289fda 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -1,12 +1,16 @@ #ifndef GUARD_BATTLE_MESSAGE_H #define GUARD_BATTLE_MESSAGE_H +#include "constants/battle.h" + // This buffer can hold many different things. Some of the things it can hold // that have explicit sizes are listed below to ensure it can contain them. #define TEXT_BUFF_ARRAY_COUNT max(16, \ max(MOVE_NAME_LENGTH + 2, /* +2 to hold the "!" and EOS. */ \ max(POKEMON_NAME_LENGTH + 1, \ ABILITY_NAME_LENGTH + 1))) +#define BATTLE_MSG_MAX_WIDTH 208 +#define BATTLE_MSG_MAX_LINES 2 // for 0xFD #define B_TXT_BUFF1 0x0 @@ -71,20 +75,27 @@ #define B_TXT_DEF_TEAM2 0x3B // your/the opposing // #define B_TXT_SELECTION_NAME 0x3C - removed // #define B_TXT_SELECTION_NAME2 0x3D no Illusion check - removed +#define B_TXT_ATK_NAME_WITH_PREFIX2 0x3E //lowercase +#define B_TXT_DEF_NAME_WITH_PREFIX2 0x3F //lowercase +#define B_TXT_EFF_NAME_WITH_PREFIX2 0x40 //lowercase +#define B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX2 0x41 //lowercase +#define B_TXT_TRAINER1_NAME_WITH_CLASS 0x42 +#define B_TXT_TRAINER2_NAME_WITH_CLASS 0x43 +#define B_TXT_PARTNER_NAME_WITH_CLASS 0x44 +#define B_TXT_ATK_TRAINER_NAME_WITH_CLASS 0x45 -// for B_TXT_BUFF1, B_TXT_BUFF2 and B_TXT_BUFF3 - -#define B_BUFF_STRING 0 -#define B_BUFF_NUMBER 1 -#define B_BUFF_MOVE 2 -#define B_BUFF_TYPE 3 -#define B_BUFF_MON_NICK_WITH_PREFIX 4 -#define B_BUFF_STAT 5 -#define B_BUFF_SPECIES 6 -#define B_BUFF_MON_NICK 7 -#define B_BUFF_NEGATIVE_FLAVOR 8 -#define B_BUFF_ABILITY 9 -#define B_BUFF_ITEM 10 +#define B_BUFF_STRING 0 +#define B_BUFF_NUMBER 1 +#define B_BUFF_MOVE 2 +#define B_BUFF_TYPE 3 +#define B_BUFF_MON_NICK_WITH_PREFIX 4 +#define B_BUFF_STAT 5 +#define B_BUFF_SPECIES 6 +#define B_BUFF_MON_NICK 7 +#define B_BUFF_NEGATIVE_FLAVOR 8 +#define B_BUFF_ABILITY 9 +#define B_BUFF_ITEM 10 +#define B_BUFF_MON_NICK_WITH_PREFIX_LOWER 11 // lowercase prefix #define B_BUFF_PLACEHOLDER_BEGIN 0xFD #define B_BUFF_EOS 0xFF @@ -201,6 +212,15 @@ textVar[4] = B_BUFF_EOS; \ } +#define PREPARE_MON_NICK_WITH_PREFIX_LOWER_BUFFER(textVar, battler, partyId) \ +{ \ + textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ + textVar[1] = B_BUFF_MON_NICK_WITH_PREFIX_LOWER; \ + textVar[2] = battler; \ + textVar[3] = partyId; \ + textVar[4] = B_BUFF_EOS; \ +} + #define PREPARE_MON_NICK_BUFFER(textVar, battler, partyId) \ { \ textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ @@ -243,7 +263,7 @@ enum void BufferStringBattle(u16 stringID, u32 battler); u32 BattleStringExpandPlaceholdersToDisplayedString(const u8 *src); -u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst); +u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst, u32 dstSize); void BattlePutTextOnWindow(const u8 *text, u8 windowId); void SetPpNumbersPaletteInMoveSelection(u32 battler); u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp); @@ -302,6 +322,9 @@ extern const u8 gText_Loss[]; extern const u8 gText_Draw[]; extern const u8 gText_StatSharply[]; extern const u8 gText_StatRose[]; +extern const u8 gText_StatFell[]; +extern const u8 gText_drastically[]; +extern const u8 gText_severely[]; extern const u8 gText_DefendersStatRose[]; extern const u8 gText_PkmnGettingPumped[]; extern const u8 gText_PkmnShroudedInMist[]; diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index 4f1593d4d821..7326647d419d 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -57,6 +57,8 @@ bool32 IsMoveNotAllowedInSkyBattles(u32 move); bool32 DoSwitchInAbilities(u32 battlerId); u8 GetFirstFaintedPartyIndex(u8 battlerId); bool32 IsMoveAffectedByParentalBond(u32 move, u32 battler); +void SaveBattlerTarget(u32 battler); +void SaveBattlerAttacker(u32 battler); extern void (* const gBattleScriptingCommandsTable[])(void); extern const struct StatFractions gAccuracyStageRatios[]; diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 4e34a81da8f8..1148c955e5f6 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -65,7 +65,9 @@ extern const u8 BattleScript_OverworldTerrain[]; extern const u8 BattleScript_SideStatusWoreOff[]; extern const u8 BattleScript_SafeguardProtected[]; extern const u8 BattleScript_SafeguardEnds[]; -extern const u8 BattleScript_LeechSeedTurnDrain[]; +extern const u8 BattleScript_LeechSeedTurnDrainLiquidOoze[]; +extern const u8 BattleScript_LeechSeedTurnDrainHealBlock[]; +extern const u8 BattleScript_LeechSeedTurnDrainRecovery[]; extern const u8 BattleScript_BideStoringEnergy[]; extern const u8 BattleScript_BideAttack[]; extern const u8 BattleScript_BideNoEnergyToAttack[]; @@ -413,6 +415,7 @@ extern const u8 BattleScript_BattlerGotOverItsInfatuation[]; extern const u8 BattleScript_Pickpocket[]; extern const u8 BattleScript_StickyBarbTransfer[]; extern const u8 BattleScript_AttackerItemStatRaise[]; +extern const u8 BattleScript_RedCardActivationNoSwitch[]; extern const u8 BattleScript_RedCardActivates[]; extern const u8 BattleScript_EjectButtonActivates[]; extern const u8 BattleScript_EjectPackActivate_Ret[]; @@ -438,7 +441,6 @@ extern const u8 BattleScript_AttackWeakenedByStrongWinds[]; extern const u8 BattleScript_BlockedByPrimalWeatherEnd3[]; extern const u8 BattleScript_BlockedByPrimalWeatherRet[]; extern const u8 BattleScript_PrimalReversion[]; -extern const u8 BattleScript_PrimalReversionRestoreAttacker[]; extern const u8 BattleScript_HyperspaceFuryRemoveProtect[]; extern const u8 BattleScript_SelectingNotAllowedMoveGorillaTactics[]; extern const u8 BattleScript_SelectingNotAllowedMoveGorillaTacticsInPalace[]; @@ -479,6 +481,7 @@ extern const u8 BattleScript_CudChewActivates[]; extern const u8 BattleScript_SupremeOverlordActivates[]; extern const u8 BattleScript_CostarActivates[]; extern const u8 BattleScript_ZeroToHeroActivates[]; +extern const u8 BattleScript_CommanderActivates[]; extern const u8 BattleScript_HospitalityActivates[]; extern const u8 BattleScript_ToxicDebrisActivates[]; extern const u8 BattleScript_EarthEaterActivates[]; @@ -560,6 +563,7 @@ extern const u8 BattleScript_MoveBlockedByDynamax[]; // Battle move scripts extern const u8 BattleScript_EffectSleep[]; extern const u8 BattleScript_EffectAbsorb[]; +extern const u8 BattleScript_EffectAbsorbLiquidOoze[]; extern const u8 BattleScript_EffectExplosion[]; extern const u8 BattleScript_EffectDreamEater[]; extern const u8 BattleScript_EffectMirrorMove[]; diff --git a/include/battle_util.h b/include/battle_util.h index 0d73a0a9ddd6..e3fc7d869ff9 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -20,6 +20,23 @@ #define MOVE_LIMITATION_PLACEHOLDER (1 << 15) #define MOVE_LIMITATIONS_ALL 0xFFFF +enum MoveBlocked +{ + MOVE_BLOCKED_BY_NO_ABILITY, + MOVE_BLOCKED_BY_SOUNDPROOF_OR_BULLETPROOF, + MOVE_BLOCKED_BY_DAZZLING, + MOVE_BLOCKED_BY_PARTNER_DAZZLING, + MOVE_BLOCKED_BY_GOOD_AS_GOLD, +}; + +enum MoveAbsorbed +{ + MOVE_ABSORBED_BY_NO_ABILITY, + MOVE_ABSORBED_BY_DRAIN_HP_ABILITY, + MOVE_ABSORBED_BY_STAT_INCREASE_ABILITY, + MOVE_ABSORBED_BY_BOOST_FLASH_FIRE, +}; + enum { ABILITYEFFECT_ON_SWITCHIN, ABILITYEFFECT_ENDTURN, @@ -118,6 +135,18 @@ enum { extern const struct TypePower gNaturalGiftTable[]; +struct DamageCalculationData +{ + u32 battlerAtk:3; + u32 battlerDef:3; + u32 move:16; + u32 moveType:5; + u32 isCrit:1; + u32 randomFactor:1; + u32 updateFlags:1; + u32 padding:2; +}; + void HandleAction_ThrowBall(void); bool32 IsAffectedByFollowMe(u32 battlerAtk, u32 defSide, u32 move); void HandleAction_UseMove(void); @@ -162,6 +191,9 @@ void SetAtkCancellerForCalledMove(void); u8 AtkCanceller_UnableToUseMove2(void); bool32 HasNoMonsToSwitch(u32 battler, u8 r1, u8 r2); bool32 TryChangeBattleWeather(u32 battler, u32 weatherEnumId, bool32 viaAbility); +u32 CanAbilityBlockMove(u32 battlerAtk, u32 battlerDef, u32 move, u32 abilityDef); +u32 CanPartnerAbilityBlockMove(u32 battlerAtk, u32 battlerDef, u32 move, u32 abilityDef); +u32 CanAbilityAbsorbMove(u32 battlerAtk, u32 battlerDef, u32 abilityDef, u32 move, u32 moveType); u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 moveArg); bool32 TryPrimalReversion(u32 battler); bool32 IsNeutralizingGasOnField(void); @@ -193,9 +225,9 @@ u32 GetMoveSlot(u16 *moves, u32 move); u32 GetBattlerWeight(u32 battler); u32 CalcRolloutBasePower(u32 battlerAtk, u32 basePower, u32 rolloutTimer); u32 CalcFuryCutterBasePower(u32 basePower, u32 furyCutterCounter); -s32 CalculateMoveDamage(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags); -s32 CalculateMoveDamageVars(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t typeEffectivenessModifier, - u32 weather, bool32 isCrit, u32 holdEffectAtk, u32 holdEffectDef, u32 abilityAtk, u32 abilityDef); +s32 CalculateMoveDamage(struct DamageCalculationData *damageCalcData, u32 fixedBasePower); +s32 CalculateMoveDamageVars(struct DamageCalculationData *damageCalcData, u32 fixedBasePower, uq4_12_t typeEffectivenessModifier, + u32 weather, u32 holdEffectAtk, u32 holdEffectDef, u32 abilityAtk, u32 abilityDef); uq4_12_t CalcTypeEffectivenessMultiplier(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, u32 defAbility, bool32 recordAbilities); uq4_12_t CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilityDef); uq4_12_t GetTypeModifier(u32 atkType, u32 defType); @@ -281,5 +313,6 @@ u8 GetBattlerType(u32 battler, u8 typeIndex, bool32 ignoreTera); bool8 CanMonParticipateInSkyBattle(struct Pokemon *mon); bool8 IsMonBannedFromSkyBattles(u16 species); void RemoveBattlerType(u32 battler, u8 type); +u32 GetMoveType(u32 move); #endif // GUARD_BATTLE_UTIL_H diff --git a/include/level_caps.h b/include/caps.h similarity index 68% rename from include/level_caps.h rename to include/caps.h index c4554080797a..f6dd61b632fd 100644 --- a/include/level_caps.h +++ b/include/caps.h @@ -1,5 +1,5 @@ -#ifndef GUARD_LEVEL_CAP_H -#define GUARD_LEVEL_CAP_H +#ifndef GUARD_CAPS_H +#define GUARD_CAPS_H #if B_EXP_CAP_TYPE != EXP_CAP_NONE && B_EXP_CAP_TYPE != EXP_CAP_HARD && B_EXP_CAP_TYPE != EXP_CAP_SOFT #error "Invalid choice for B_EXP_CAP_TYPE, must be of [EXP_CAP_NONE, EXP_CAP_HARD, EXP_CAP_SOFT]" @@ -14,7 +14,12 @@ #endif #endif +#if B_EV_CAP_TYPE != EV_CAP_NONE && B_EV_CAP_TYPE != EV_CAP_FLAG_LIST && B_EV_CAP_TYPE != EV_CAP_VARIABLE && B_EV_CAP_TYPE != EV_CAP_NO_GAIN +#error "Invalid choice for B_EV_CAP_TYPE, must be one of [EV_CAP_NONE, EV_CAP_FLAG_LIST, EV_CAP_VARIABLE, EV_CAP_NO_GAIN]" +#endif + u32 GetCurrentLevelCap(void); u32 GetSoftLevelCapExpValue(u32 level, u32 expValue); +u32 GetCurrentEVCap(void); -#endif /* GUARD_LEVEL_CAP_H */ +#endif /* GUARD_CAPS_H */ diff --git a/include/config/battle.h b/include/config/battle.h index 1b19d0d2c9ac..b0184838cb80 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -39,7 +39,6 @@ #define B_MULTIPLE_TARGETS_DMG GEN_LATEST // In Gen4+, damage dealt by moves that hit multiple targets at once is reduced to 75%. Before, it was 50%. // Type settings -#define B_EXPANDED_TYPE_NAMES TRUE // If TRUE, type names are increased from 6 characters to 8 characters. #define B_GHOSTS_ESCAPE GEN_LATEST // In Gen6+, abilities like Shadow Tag or moves like Mean Look fail on Ghost-type Pokémon. They can also escape any Wild Battle. #define B_PARALYZE_ELECTRIC GEN_LATEST // In Gen6+, Electric-type Pokémon can't be paralyzed. #define B_POWDER_GRASS GEN_LATEST // In Gen6+, Grass-type Pokémon are immune to powder and spore moves. @@ -111,7 +110,7 @@ #define B_BURN_HIT_THAW GEN_LATEST // In Gen6+, damaging moves with a chance of burn will thaw the target, regardless if they're fire-type moves or not. #define B_HEALING_WISH_SWITCH GEN_LATEST // In Gen5+, the mon receiving Healing Wish is sent out at the end of the turn. // Additionally, in gen8+ the Healing Wish's effect will be stored until the user switches into a statused or hurt mon. -#define B_DEFOG_CLEARS_TERRAIN GEN_LATEST // In Gen8+, Defog also clears active Terrain. +#define B_DEFOG_EFFECT_CLEARING GEN_LATEST // In Gen6+, Defog clears Spikes, Toxic Spikes, Stealth Rock and Sticky Web from both sides. In Gen8+, Defog also clears active Terrain. #define B_STOCKPILE_RAISES_DEFS GEN_LATEST // In Gen4+, Stockpile also raises Defense and Sp. Defense stats. Once Spit Up / Swallow is used, these stat changes are lost. #define B_TRANSFORM_SHINY GEN_LATEST // In Gen4+, Transform will copy the shiny state of the opponent instead of maintaining its own shiny state. #define B_TRANSFORM_FORM_CHANGES GEN_LATEST // In Gen5+, Transformed Pokemon cannot change forms. @@ -128,7 +127,6 @@ #define B_QUASH_TURN_ORDER GEN_LATEST // In Gen8+, Quash-affected battlers move according to speed order. Before Gen8, Quash-affected battlers move in the order they were affected by Quash. // Ability settings -#define B_EXPANDED_ABILITY_NAMES TRUE // If TRUE, ability names are increased from 12 characters to 16 characters. #define B_ABILITY_WEATHER GEN_LATEST // In Gen6+, ability-induced weather lasts 5 turns. Before, it lasted until the battle ended or until it was changed by a move or a different weather-affecting ability. #define B_GALE_WINGS GEN_LATEST // In Gen7+ requires full HP to trigger. #define B_STANCE_CHANGE_FAIL GEN_LATEST // In Gen7+, Stance Change fails if the Pokémon is unable to use a move because of confusion, paralysis, etc. In Gen6, it doesn't. @@ -189,6 +187,7 @@ #define B_SMART_WILD_AI_FLAG 0 // If not 0, you can set this flag in a script to enable smart wild pokemon #define B_FLAG_NO_BAG_USE 0 // If this flag is set, the ability to use the bag in battle is disabled. #define B_FLAG_NO_CATCHING 0 // If this flag is set, the ability to catch wild Pokémon is disabled. +#define B_FLAG_NO_RUNNING 0 // If this flag is set, the ability to escape from wild battles is disabled. Also makes Roar/Whirlwind and Teleport (under Gen8) fail. #define B_FLAG_AI_VS_AI_BATTLE 0 // If this flag is set, the player's mons will be controlled by the ai next battles. #define B_FLAG_DYNAMAX_BATTLE 0 // If this flag is set, the ability to Dynamax in battle is enabled for all trainers. #define B_FLAG_TERA_ORB_CHARGED 0 // If this flag is set, the Tera Orb is charged. It is automatically set upon healing and cleared upon Terastallizing once configured. @@ -209,6 +208,9 @@ // Flag and Var settings #define B_RESET_FLAGS_VARS_AFTER_WHITEOUT TRUE // If TRUE, Overworld_ResetBattleFlagsAndVars will reset battle-related Flags and Vars when the player whites out. +// Ingame partner flag +#define B_SHOW_PARTNER_TARGET FALSE // Shows the battler partner will target. + // Terrain settings #define B_TERRAIN_BG_CHANGE TRUE // If set to TRUE, terrain moves permanently change the default battle background until the effect fades. #define B_THUNDERSTORM_TERRAIN TRUE // If TRUE, overworld Thunderstorm generates Rain and Electric Terrain as in Gen 8. @@ -226,7 +228,6 @@ #define B_SHOW_TARGETS TRUE // If set to TRUE, all available targets, for moves hitting 2 or 3 Pokémon, will be shown before selecting a move. #define B_SHOW_CATEGORY_ICON TRUE // If set to TRUE, it will show an icon in the summary and move relearner showing the move's category. #define B_HIDE_HEALTHBOX_IN_ANIMS TRUE // If set to TRUE, hides healthboxes during move animations. -#define B_EXPANDED_MOVE_NAMES TRUE // If set to FALSE, move names are decreased from 16 characters to 12 characters. #define B_WAIT_TIME_MULTIPLIER 16 // This determines how long text pauses in battle last. Vanilla is 16. Lower values result in faster battles. #define B_QUICK_MOVE_CURSOR_TO_RUN FALSE // If set to TRUE, pushing B in the battle options against a wild encounter will move the cursor to the run option #define B_MOVE_DESCRIPTION_BUTTON L_BUTTON // If set to a button other than B_LAST_USED_BALL_BUTTON, pressing this button will open the move description menu @@ -278,4 +279,13 @@ #define B_ENEMY_THROW_BALLS_SOUND GEN_LATEST // In GEN_5+, enemy Trainer's Poké Balls make a sound when thrown to send out a Pokémon. This can only be used when B_ENEMY_THROW_BALLS is set to GEN_6 or later. #define B_PLAYER_THROW_BALLS_SOUND GEN_LATEST // In GEN_5+, the player's Poké Balls make a sound when thrown to send out a Pokémon. +#define SHOW_TYPES_NEVER 0 +#define SHOW_TYPES_ALWAYS 1 +#define SHOW_TYPES_CAUGHT 2 +#define B_SHOW_TYPES SHOW_TYPES_NEVER // When defined as SHOW_TYPES_ALWAYS, after selecting "Fight" in battle, the types of all Pokemon are revealed. Whe defined as SHOW_TYPES_OWN, types are only revealed if the player owns the mon in question. + +// Pokémon battle sprite settings +#define B_ENEMY_MON_SHADOW_STYLE GEN_3 // In Gen4+, all enemy Pokemon will have a shadow drawn beneath them. + // Currently Gen4+ shadows don't properly work with Trainerslides + #endif // GUARD_CONFIG_BATTLE_H diff --git a/include/config/level_caps.h b/include/config/caps.h similarity index 55% rename from include/config/level_caps.h rename to include/config/caps.h index e8d7b8818e05..2debe442cf14 100644 --- a/include/config/level_caps.h +++ b/include/config/caps.h @@ -1,7 +1,7 @@ -#ifndef GUARD_CONFIG_LEVEL_CAP_H -#define GUARD_CONFIG_LEVEL_CAP_H +#ifndef GUARD_CONFIG_CAPS_H +#define GUARD_CONFIG_CAPS_H -// Constants +// Level Cap Constants #define EXP_CAP_NONE 0 // Regular behavior, no level caps are applied #define EXP_CAP_HARD 1 // Pokémon with a level >= the level cap cannot gain any experience #define EXP_CAP_SOFT 2 // Pokémon with a level >= the level cap will gain reduced experience @@ -10,7 +10,7 @@ #define LEVEL_CAP_FLAG_LIST 1 // Level cap is chosen according to the first unset flag in `sLevelCapFlagMap` #define LEVEL_CAP_VARIABLE 2 // Level cap is chosen according to the contents of the event variable specified by B_LEVEL_CAP_VARIABLE -// Configs +// Level Cap Configs #define B_EXP_CAP_TYPE EXP_CAP_NONE // [EXP_CAP_NONE, EXP_CAP_HARD, EXP_CAP_SOFT] choose the type of level cap to apply #define B_LEVEL_CAP_TYPE LEVEL_CAP_NONE // [LEVEL_CAP_NONE, LEVEL_CAP_FLAG_LIST, LEVEL_CAP_VARIABLE] choose the method to derive the level cap #define B_LEVEL_CAP_VARIABLE 0 // event variable used to derive level cap if B_LEVEL_CAP_TYPE is set to LEVEL_CAP_VARIABLE @@ -18,4 +18,16 @@ #define B_RARE_CANDY_CAP FALSE // If set to true, Rare Candies can't be used to go over the level cap #define B_LEVEL_CAP_EXP_UP FALSE // If set to true, mons under level cap will receive more experience -#endif /* GUARD_CONFIG_LEVEL_CAP_H */ +// EV Cap Constants +#define EV_CAP_NONE 0 // Regular behavior, no EV caps are applied +#define EV_CAP_FLAG_LIST 1 // EV cap is chosen according to the first unset flag in `sEVCapFlagMap` +#define EV_CAP_VARIABLE 2 // EV cap is chosen according to the contents of the event variable specified by B_EV_CAP_VARIABLE +#define EV_CAP_NO_GAIN 3 // No EVs can be gained + +// EV Cap Configs +#define B_EV_CAP_TYPE EV_CAP_NONE // [EV_CAP_NONE, EV_CAP_FLAG_LIST, EV_CAP_VARIABLE, EV_CAP_NO_GAIN] choose the type of EV cap to apply#define B_EV_CAP_VARIABLE 12 // event variable used to derive EV cap if B_EV_CAP_TYPE is set to EV_CAP_VARIABLE +#define B_EV_CAP_VARIABLE 8 // event variable used to derive EV cap if B_EV_CAP_TYPE is set to EV_CAP_VARIABLE + +#define B_EV_ITEMS_CAP FALSE // If set to true, EV-boosting items can't be used to go over the EV cap + +#endif /* GUARD_CONFIG_CAPS_H */ diff --git a/include/config/general.h b/include/config/general.h index dc39f4919a3f..cff1432bb737 100644 --- a/include/config/general.h +++ b/include/config/general.h @@ -72,6 +72,9 @@ #define SUMMARY_SCREEN_NATURE_COLORS TRUE // If TRUE, nature-based stat boosts and reductions will be red and blue in the summary screen. #define HQ_RANDOM TRUE // If TRUE, replaces the default RNG with an implementation of SFC32 RNG. May break code that relies on RNG. #define COMPETITIVE_PARTY_SYNTAX TRUE // If TRUE, parties are defined in "competitive syntax". +#define AUTO_SCROLL_TEXT FALSE // If TRUE, text will automatically scroll to the next line after NUM_FRAMES_AUTO_SCROLL_DELAY. Players can still press A_BUTTON or B_BUTTON to scroll on their own. +#define NUM_FRAMES_AUTO_SCROLL_DELAY 49 + // Measurement system constants to be used for UNITS #define UNITS_IMPERIAL 0 // Inches, feet, pounds @@ -83,4 +86,5 @@ // Naming Screen #define AUTO_LOWERCASE_KEYBOARD GEN_LATEST // Starting in GEN_6, after entering the first uppercase character, the keyboard switches to lowercase letters. +#define SAVE_TYPE_ERROR_SCREEN FALSE // When enabled, this shows an error message when the game is loaded on a cart without a flash chip or on an emulator with the wrong save type setting instead of crashing. #endif // GUARD_CONFIG_GENERAL_H diff --git a/include/config/item.h b/include/config/item.h index 644a73ade6d8..dce2682959b5 100644 --- a/include/config/item.h +++ b/include/config/item.h @@ -2,7 +2,6 @@ #define GUARD_CONFIG_ITEM_H // Item config -#define I_EXPANDED_ITEM_NAMES TRUE // If set to FALSE, item names are decreased from 20 characters to 14 characters. #define I_SHINY_CHARM_ADDITIONAL_ROLLS 2 // Amount of additional shiny rolls if the player has the Shiny Charm. Set it to 0 to disable Shiny Charm's effects. #define I_KEY_FOSSILS GEN_LATEST // In Gen4+, all Gen 3 fossils became regular items. #define I_KEY_ESCAPE_ROPE GEN_LATEST // In Gen8, Escape Rope became a Key Item. Keep in mind, this will make it free to buy in marts. @@ -19,6 +18,8 @@ #define I_BERRY_PRICE GEN_7 // Since Berries have become unplantable (Gen8+), their price has gone up. #define I_POWER_ITEM_BOOST GEN_LATEST // In Gen7+, Power Items grant 8 EVs instead of 4 EVs. #define I_PREMIER_BALL_BONUS GEN_LATEST // In LGPE onwards (Gen8+ here), you are given a Premier Ball for every 10 Poké Balls of any type and in the same purchase. Previously, it only applied to regular Poké Balls and only 1 could be obtained per purchase. +#define I_ROTOM_CATALOG_THUNDER_SHOCK GEN_LATEST // In Gen9+, reverting Rotom to its base form will teach it Thunder Shock even if it knows another move. +#define I_REPEL_INCLUDE_FAINTED GEN_LATEST // In Gen1 and Gen6+, Repels always use the level of the first member of the party to check which wild Pokémon to prevent encounters with, even if that member is fainted. In Gen2-5, it only uses the level of the first non-fainted Pokémon. // TM config #define I_REUSABLE_TMS FALSE // In Gen5-8, TMs are reusable. Setting this to TRUE will make all vanilla TMs reusable, though they can also be cherry-picked by setting their importance to 1. @@ -37,9 +38,12 @@ // Vs. Seeker #define I_VS_SEEKER_CHARGING 0 // If this flag is assigned, the Vs Seeker functionality will be enabled. When the player has the Vs. Seeker, Match Call rematch functions will stop working. -//Fishing -#define I_FISHING_CHAIN FALSE // Introduced in XY, hooking the same Pokémon repeatedly will increase the odds of that mon being shiny. NOTE: This implementation is an approximation of the actual feature, as XY have not been throughoutly documented or datamined. -#define I_FISHING_MINIGAME GEN_3 // Each generation uses a variation of reeling in Pokémon once they have been hooked. -#define I_FISHING_PROXIMITY FALSE // Introduced in XY, fishing away from other people in enclosed areas will increase the chances of a Pokémon being hooked. NOTE: This implementation is an approximation of the actual feature, as XY have not been throughoutly documented or datamined. +// Fishing +#define I_FISHING_BITE_ODDS GEN_LATEST // In Gen 1 and Gen 2, the Old Rod has a 100% chance for a bite, Good Rod has a 66% chance for a bite, and Super Rod has a 50% chance for a bite. In Gen 3, all rods have a base 50% chance for a bite. In Gen 4 onwards, the Old Rod has a base 25% chance for a bite, Good Rod has a 50% chance for a bite, and Super Rod has a 75% chance for a bite. +#define I_FISHING_MINIGAME GEN_3 // Each generation uses a variation of reeling in Pokémon once they have been hooked. NOTE: Only the Gen 1/2 and Gen 3 minigames are implemented right now! +#define I_FISHING_STICKY_BOOST GEN_LATEST // In Gen 3, a Pokemon with Suction Cups or Sticky Hold in the first slot of the party causes the chance for a bite to increase by about 35%. In Gen 4 onwards, it doubles the base bite chance. +#define I_FISHING_FOLLOWER_BOOST FALSE // In HGSS, fishing bite odds are increased depending on the friendship of the current following Pokémon. +#define I_FISHING_CHAIN FALSE // Introduced in XY, hooking the same Pokémon repeatedly will increase the odds of that mon being shiny. NOTE: This implementation is an approximation of the actual feature, as XY have not been throughoutly documented or datamined. +#define I_FISHING_PROXIMITY FALSE // Introduced in XY, fishing away from other people in enclosed areas will increase the chances of a Pokémon being hooked. NOTE: This implementation is an approximation of the actual feature, as XY have not been throughoutly documented or datamined. #endif // GUARD_CONFIG_ITEM_H diff --git a/include/config/overworld.h b/include/config/overworld.h index f88118007a92..464024025ba9 100644 --- a/include/config/overworld.h +++ b/include/config/overworld.h @@ -3,11 +3,20 @@ // Movement config #define OW_RUNNING_INDOORS GEN_LATEST // In Gen4+, players are allowed to run indoors. +#define OW_AUTO_SIGNPOST FALSE // When enabled, if the tile that the player is facing has MB_SIGNPOST, MB_POKEMART_SIGN, or MB_POKEMON_CENTER_SIGN, the player will automatically read the signpost, as seen in FRLG. +#define SLOW_MOVEMENT_ON_STAIRS FALSE // If enabled, the player will move slower up/down stairs like in FR // Other settings #define OW_POISON_DAMAGE GEN_LATEST // In Gen4, Pokémon no longer faint from Poison in the overworld. In Gen5+, they no longer take damage at all. #define OW_DOUBLE_APPROACH_WITH_ONE_MON FALSE // If enabled, you can be spotted by two trainers at the same time even if you only have one eligible Pokémon in your party. #define OW_HIDE_REPEAT_MAP_POPUP FALSE // If enabled, map popups will not appear if entering a map with the same Map Section Id as the last. +#define OW_FRLG_WHITEOUT FALSE // If enabled, shows an additional whiteout message and post whiteout event script with healing NPC. + +// Item Obtain Description Box +#define OW_ITEM_DESCRIPTIONS_OFF 0 // never show descriptions +#define OW_ITEM_DESCRIPTIONS_FIRST_TIME 1 // show first time (** SAVE-BREAKING - see struct SaveBlock3 **) +#define OW_ITEM_DESCRIPTIONS_ALWAYS 2 // always show description +#define OW_SHOW_ITEM_DESCRIPTIONS OW_ITEM_DESCRIPTIONS_OFF // If enabled, item descriptions/images will be shown when finding items. // These generational defines only make a distinction for Berries and the OW_PC_MOVE_ORDER #define GEN_6_XY GEN_6 @@ -32,6 +41,7 @@ #define OW_BERRY_GROWTH_RATE GEN_3 // Presets for how long each Berry plant takes to grow. #define OW_BERRY_YIELD_RATE GEN_3 // Presets for how many Berries each plant can yield. #define OW_BERRY_DRAIN_RATE GEN_6_ORAS // If OW_BERRY_MOISTURE is enabled, this setting changes how fast the soil dries out. GEN_4 uses a Berry-dependent drain rate, GEN_6_XY dries out in 24 hours (4 hours with the relevant Mulch) and GEN_6_ORAS dries out in 4 hours. Other values are illegal. +#define OW_BERRY_IMMORTAL FALSE // If enabled, once a Berry tree has grown a Berry, the tree will not disappear until picked by the player. // Overworld Pokémon #define OW_POKEMON_OBJECT_EVENTS TRUE // Adds Object Event fields for every species. Can be used for NPCs using the OBJ_EVENT_GFX_SPECIES macro (eg. OBJ_EVENT_GFX_SPECIES(BULBASAUR)) @@ -97,6 +107,8 @@ #define OW_POPUP_BW_ALPHA_BLEND FALSE // Enables alpha blending/transparency for the pop-ups. Mainly intended to be used with the black color option. // Pokémon Center -#define OW_IGNORE_EGGS_ON_HEAL GEN_LATEST // In Gen 4+, the nurse in the Pokémon Center does not heal Eggs on healing machine. +#define OW_IGNORE_EGGS_ON_HEAL GEN_LATEST // In Gen 4+, the nurse in the Pokémon Center does not heal Eggs on healing machine. +#define OW_UNION_DISABLE_CHECK FALSE // When TRUE, the nurse does not inform the player if there is a trainer waiting in the Union Room. This speeds up the loading of the Pokémon Center. +#define OW_FLAG_MOVE_UNION_ROOM_CHECK 0 // If this flag is set, the game will only check if players are in the Union Room while healing Pokémon, and not when players enter the Pokémon Center. This speeds up the loading of the Pokémon Center. This is ignored if OW_UNION_DISABLE_CHECK is TRUE. #endif // GUARD_CONFIG_OVERWORLD_H diff --git a/include/config/pokemon.h b/include/config/pokemon.h index 7bf9450cbbbe..23015614c0bc 100644 --- a/include/config/pokemon.h +++ b/include/config/pokemon.h @@ -22,25 +22,33 @@ #define P_FRIENDSHIP_EVO_THRESHOLD GEN_LATEST // Since Gen 8, Pokémon that evolve by friendship evolve at or above 160 friendship instead of 220. // Breeding settings -#define P_NIDORAN_M_DITTO_BREED GEN_LATEST // Since Gen 5, when Nidoran♂ breeds with Ditto it can produce Nidoran♀ offspring. Before, it would only yield male offspring. This change also applies to Volbeat. -#define P_INCENSE_BREEDING GEN_LATEST // Since Gen 9, cross-generation Baby Pokémon don't require Incense being held by the parents to be obtained via breeding. -#define P_EGG_HATCH_LEVEL GEN_LATEST // Since Gen 4, Pokémon will hatch from eggs at level 1 instead of 5. -#define P_BALL_INHERITING GEN_LATEST // Since Gen 6, Eggs from the Daycare will inherit the Poké Ball from their mother. From Gen 7 onwards, the father can pass it down as well, as long as it's of the same species as the mother. -#define P_TM_INHERITANCE GEN_LATEST // Since Gen 6, the father no longer passes down TMs to the baby. -#define P_MOTHER_EGG_MOVE_INHERITANCE GEN_LATEST // Since Gen 6, the mother can also pass down Egg Moves. -#define P_NATURE_INHERITANCE GEN_LATEST // In Gen 3, Everstone grants Ditto and mothers a 50% chance to pass on Nature. Since Gen 4, anyone can pass on nature. Since Gen 5, the chance is 100%. -#define P_ABILITY_INHERITANCE GEN_LATEST // In B2W2, a female Pokémon has an 80% chance of passing down their ability if bred with a male. Since Gen 6, the chance is 80% for normal ability and 60% for Hidden Ability, and anyone can pass down their abilities if bred with Ditto. NOTE: BW's effect: 60% chance to pass down HA and random for normal ability has been omitted. -#define P_EGG_MOVE_TRANSFER GEN_LATEST // Starting in Gen 8, if two Pokémon of the same species are together in the Daycare, one knows an Egg Move, and the other has an empty slot, the other Pokémon will receive the Egg Move in the empty slot. In Gen 9, if a Pokémon holds a Mirror Herb, it will receive Egg Moves from the other regardless of species. +#define P_NIDORAN_M_DITTO_BREED GEN_LATEST // Since Gen 5, when Nidoran♂ breeds with Ditto it can produce Nidoran♀ offspring. Before, it would only yield male offspring. This change also applies to Volbeat. +#define P_INCENSE_BREEDING GEN_LATEST // Since Gen 9, cross-generation Baby Pokémon don't require Incense being held by the parents to be obtained via breeding. +#define P_EGG_HATCH_LEVEL GEN_LATEST // Since Gen 4, Pokémon will hatch from eggs at level 1 instead of 5. +#define P_BALL_INHERITING GEN_LATEST // Since Gen 6, Eggs from the Daycare will inherit the Poké Ball from their mother. From Gen 7 onwards, the father can pass it down as well, as long as it's of the same species as the mother. +#define P_TM_INHERITANCE GEN_LATEST // Since Gen 6, the father no longer passes down TMs to the baby. +#define P_MOTHER_EGG_MOVE_INHERITANCE GEN_LATEST // Since Gen 6, the mother can also pass down Egg Moves. +#define P_NATURE_INHERITANCE GEN_LATEST // In Gen 3, Everstone grants Ditto and mothers a 50% chance to pass on Nature. Since Gen 4, anyone can pass on nature. Since Gen 5, the chance is 100%. +#define P_ABILITY_INHERITANCE GEN_LATEST // In B2W2, a female Pokémon has an 80% chance of passing down their ability if bred with a male. Since Gen 6, the chance is 80% for normal ability and 60% for Hidden Ability, and anyone can pass down their abilities if bred with Ditto. NOTE: BW's effect: 60% chance to pass down HA and random for normal ability has been omitted. +#define P_EGG_MOVE_TRANSFER GEN_LATEST // Starting in Gen 8, if two Pokémon of the same species are together in the Daycare, one knows an Egg Move, and the other has an empty slot, the other Pokémon will receive the Egg Move in the empty slot. In Gen 9, if a Pokémon holds a Mirror Herb, it will receive Egg Moves from the other regardless of species. +#define P_SCATTERBUG_LINE_FORM_BREED SPECIES_SCATTERBUG_FANCY // Choose the Scatterbug form all Vivillon/Spewpa/Scatterbug will breed into, basically aligning with the "location" of the player's game. // Species-specific settings #define P_SHEDINJA_BALL GEN_LATEST // Since Gen 4, Shedinja requires a Poké Ball for its evolution. In Gen 3, Shedinja inherits Nincada's Ball. #define P_KADABRA_EVERSTONE GEN_LATEST // Since Gen 4, Kadabra can evolve even when holding an Everstone. #define P_SHUCKLE_BERRY_JUICE GEN_LATEST // In Gen 2, Shuckle had a 1/16 chance of converting Berry that it's holding into Berry Juice. Enabling this will allow Shuckle to do this with an Oran Berry, which is the spiritual succesor of the Berry item. -#define P_ARCEUS_UNIQUE_FORM_ICONS GEN_LATEST // Since Gen 9, Arceus additionally changes its icon to reflect its current form. + +// Species graphic settings +#define P_GENDER_DIFFERENCES TRUE // If TRUE, Pokémon will have graphical-only differences when they're female. Female *forms* such as Meowstic are not affected by this. +#define P_CUSTOM_GENDER_DIFF_ICONS TRUE // If TRUE, will give more Pokémon custom icons for their female differences, i.e. Hippopotas and Hippowdon +#define P_ARCEUS_UNIQUE_FORM_ICONS GEN_LATEST // Since Gen 9, Arceus additionally changes its icon to reflect its current form. +#define P_FOOTPRINTS TRUE // If TRUE, Pokémon will have footprints (as was the case up to Gen 5 and in BDSP). Disabling this saves some ROM space. +#define P_TWO_FRAME_FRONT_SPRITES TRUE // In Pokémon Emerald, Pokémon front sprites always consist of two frames. This config can revert it to only use the first frame, as is the case in the other Gen 3 games. +#define P_GBA_STYLE_SPECIES_GFX FALSE // By default, Pokémon sprites use Gen 4/5's style. This config can revert them back to GBA-style. NOTE: B_ENEMY_MON_SHADOW_STYLE is disabled when using these sprites for now. +#define P_GBA_STYLE_SPECIES_ICONS FALSE // By default, Pokémon have their updated icons. This config can revert them back to GBA-style. +#define P_GBA_STYLE_SPECIES_FOOTPRINTS FALSE // By default, Pokémon have their updated footprints. This config can revert them back to GBA-style. // Other settings -#define P_CUSTOM_GENDER_DIFF_ICONS TRUE // If TRUE, will give more Pokémon custom icons for their female forms, i.e. Hippopotas and Hippowdon -#define P_FOOTPRINTS TRUE // If TRUE, Pokémon will have footprints (as was the case up to Gen 5 and in BDSP). Disabling this saves some ROM space. #define P_CRIES_ENABLED TRUE // If TRUE, Pokémon will have cries. Disabling this saves around a LOT of ROM space (over 25%!), but instead we recommend disabling individual unused Pokémon families in include/config/species_enabled.h. #define P_LEGENDARY_PERFECT_IVS GEN_LATEST // Since Gen 6, Legendaries, Mythicals and Ultra Beasts found in the wild or given through gifts have at least 3 perfect IVs. #define P_EV_CAP GEN_LATEST // Since Gen 6, the max EVs per stat is 252 instead of 255. @@ -48,9 +56,12 @@ #define P_TM_LITERACY GEN_LATEST // Since Gen 6, TM illiterate Pokémon can learn TMs that teach moves that are in their level-up learnsets. #define P_CAN_FORGET_HIDDEN_MOVE FALSE // If TRUE, Pokémon can forget any move, even if it is a Hidden Move. #define P_EGG_CYCLE_LENGTH GEN_LATEST // Since Gen 8, egg cycles take half as many steps as before. -#define P_TWO_FRAME_FRONT_SPRITES TRUE // In Pokémon Emerald, Pokémon front sprites always consist of two frames. This config can revert it to only use the first frame, as is the case in the other Gen 3 games. #define P_ONLY_OBTAINABLE_SHINIES FALSE // If TRUE, Pokémon encountered in the Battle Pyramid won't be shiny. #define P_NO_SHINIES_WITHOUT_POKEBALLS FALSE // If TRUE, Pokémon encountered when the player is out of Poké Balls won't be shiny +#define P_SHOW_DYNAMIC_TYPES FALSE // If TRUE, all moves with dynamic type changes will be reflected as their current type in battle/summary screens instead of just select ones like in vanilla. +#define P_SUMMARY_SCREEN_MOVE_RELEARNER TRUE // If TRUE, shows an option for Pokémon to relearn moves on the summary screen moves page. +#define P_SUMMARY_MOVE_RELEARNER_FULL_PP TRUE // If TRUE, the move relearner in the summary screen restores relearned moves' PP to full. +#define P_SUMMARY_SCREEN_RENAME TRUE // If TRUE, an option to change Pokémon nicknames replaces the cancel prompt on the summary screen info page. // Learnset helper toggles #define P_LEARNSET_HELPER_TEACHABLE TRUE // If TRUE, teachable_learnsets.h will be populated by tools/learnset_helpers/teachable.py using the included JSON files based on available TMs and tutors. diff --git a/include/config/test.h b/include/config/test.h index bd721beb9d60..708c2ca5816c 100644 --- a/include/config/test.h +++ b/include/config/test.h @@ -1,14 +1,8 @@ #ifndef GUARD_CONFIG_TEST_H #define GUARD_CONFIG_TEST_H -#undef B_EXPANDED_MOVE_NAMES -#define B_EXPANDED_MOVE_NAMES TRUE -#undef I_EXPANDED_ITEM_NAMES -#define I_EXPANDED_ITEM_NAMES TRUE #undef POKEMON_NAME_LENGTH #define POKEMON_NAME_LENGTH 12 -#undef B_EXPANDED_TYPE_NAMES -#define B_EXPANDED_TYPE_NAMES TRUE #undef P_MEGA_EVOLUTIONS #define P_MEGA_EVOLUTIONS TRUE diff --git a/include/constants/battle.h b/include/constants/battle.h index d531ea80e652..ed19a72d9ce6 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -89,7 +89,6 @@ #define BATTLE_TWO_VS_ONE_OPPONENT ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gTrainerBattleOpponent_B == 0xFFFF)) #define BATTLE_TYPE_HAS_AI (BATTLE_TYPE_TRAINER | BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_SAFARI | BATTLE_TYPE_ROAMER | BATTLE_TYPE_INGAME_PARTNER) - // Battle Outcome defines #define B_OUTCOME_WON 1 #define B_OUTCOME_LOST 2 @@ -140,7 +139,7 @@ #define STATUS2_WRAPPED (1 << 13) #define STATUS2_POWDER (1 << 14) #define STATUS2_INFATUATION (1 << 16 | 1 << 17 | 1 << 18 | 1 << 19) // 4 bits, one for every battler -#define STATUS2_INFATUATED_WITH(battler) (gBitTable[battler] << 16) +#define STATUS2_INFATUATED_WITH(battler) (1u << (battler + 16)) #define STATUS2_DEFENSE_CURL (1 << 20) #define STATUS2_TRANSFORMED (1 << 21) #define STATUS2_RECHARGE (1 << 22) @@ -169,7 +168,7 @@ #define STATUS3_YAWN_TURN(num) (((num) << 11) & STATUS3_YAWN) #define STATUS3_IMPRISONED_OTHERS (1 << 13) #define STATUS3_GRUDGE (1 << 14) -#define STATUS3___UNUSED (1 << 15) +#define STATUS3_COMMANDER (1 << 15) #define STATUS3_GASTRO_ACID (1 << 16) #define STATUS3_EMBARGO (1 << 17) #define STATUS3_UNDERWATER (1 << 18) @@ -186,7 +185,8 @@ #define STATUS3_LASER_FOCUS (1 << 29) #define STATUS3_POWER_TRICK (1 << 30) #define STATUS3_SKY_DROPPED (1 << 31) // Target of Sky Drop -#define STATUS3_SEMI_INVULNERABLE (STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER | STATUS3_PHANTOM_FORCE) +#define STATUS3_SEMI_INVULNERABLE_NO_COMMANDER (STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER | STATUS3_PHANTOM_FORCE) // Exception for Transform / Imposter +#define STATUS3_SEMI_INVULNERABLE (STATUS3_SEMI_INVULNERABLE_NO_COMMANDER | STATUS3_COMMANDER) #define STATUS4_ELECTRIFIED (1 << 0) #define STATUS4_MUD_SPORT (1 << 1) // Only used if B_SPORT_TURNS < GEN_6 @@ -220,8 +220,8 @@ #define HITMARKER_OBEYS (1 << 25) #define HITMARKER_NEVER_SET (1 << 26) // Cleared as part of a large group. Never set or checked #define HITMARKER_CHARGING (1 << 27) -#define HITMARKER_FAINTED(battler) (gBitTable[battler] << 28) -#define HITMARKER_FAINTED2(battler) ((1 << 28) << battler) +#define HITMARKER_FAINTED(battler) (1u << (battler + 28)) +#define HITMARKER_FAINTED2(battler) HITMARKER_FAINTED(battler) #define HITMARKER_STRING_PRINTED (1 << 29) // Per-side statuses that affect an entire party @@ -404,8 +404,9 @@ #define MOVE_EFFECT_SECRET_POWER 77 #define MOVE_EFFECT_PSYCHIC_NOISE 78 #define MOVE_EFFECT_TERA_BLAST 79 +#define MOVE_EFFECT_ORDER_UP 80 -#define NUM_MOVE_EFFECTS 80 +#define NUM_MOVE_EFFECTS 81 #define MOVE_EFFECT_AFFECTS_USER 0x2000 #define MOVE_EFFECT_CERTAIN 0x4000 @@ -506,7 +507,7 @@ #define MOVE_TARGET_FOES_AND_ALLY (1 << 5) #define MOVE_TARGET_OPPONENTS_FIELD (1 << 6) #define MOVE_TARGET_ALLY (1 << 7) -#define MOVE_TARGET_ALL_BATTLERS ((1 << 8) | MOVE_TARGET_USER) +#define MOVE_TARGET_ALL_BATTLERS ((1 << 8) | MOVE_TARGET_USER) // No functionality for status moves // For the second argument of GetMoveTarget, when no target override is needed #define NO_TARGET_OVERRIDE 0 diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h index 38d058a8cb9b..df6069ead9eb 100644 --- a/include/constants/battle_ai.h +++ b/include/constants/battle_ai.h @@ -25,30 +25,36 @@ #define AI_EFFECTIVENESS_x0 0 // AI Flags. Most run specific functions to update score, new flags are used for internal logic in other scripts -#define AI_FLAG_CHECK_BAD_MOVE (1 << 0) -#define AI_FLAG_TRY_TO_FAINT (1 << 1) -#define AI_FLAG_CHECK_VIABILITY (1 << 2) -#define AI_FLAG_SETUP_FIRST_TURN (1 << 3) -#define AI_FLAG_RISKY (1 << 4) -#define AI_FLAG_PREFER_STRONGEST_MOVE (1 << 5) -#define AI_FLAG_PREFER_BATON_PASS (1 << 6) -#define AI_FLAG_DOUBLE_BATTLE (1 << 7) // Automatically set for double battles, handles AI behaviour with partner -#define AI_FLAG_HP_AWARE (1 << 8) -#define AI_FLAG_POWERFUL_STATUS (1 << 9) // AI prefers moves that set up field effects or side statuses, even if the user can faint the target +// See docs/ai_flags.md for more details. +#define AI_FLAG_CHECK_BAD_MOVE (1 << 0) // AI will avoid using moves that are likely to fail or be ineffective in the current situation. +#define AI_FLAG_TRY_TO_FAINT (1 << 1) // AI will prioritize KOing the player's mon if able. +#define AI_FLAG_CHECK_VIABILITY (1 << 2) // AI damaging moves and move effects to determine the best available move in the current situation. +#define AI_FLAG_FORCE_SETUP_FIRST_TURN (1 << 3) // AI will prioritize using setup moves on the first turn at the expensve of all else. AI_FLAG_CHECK_VIABILITY will instead do this when the AI determines it makes sense. +#define AI_FLAG_RISKY (1 << 4) // AI will generally behave more recklessly, prioritizing damage over accuracy, explosions, etc. +#define AI_FLAG_PREFER_STRONGEST_MOVE (1 << 5) // AI adds score bonus to any move the AI has that either OHKOs or 2HKOs the player. +#define AI_FLAG_PREFER_BATON_PASS (1 << 6) // AI prefers raising its own stats and setting for / using Baton Pass. +#define AI_FLAG_DOUBLE_BATTLE (1 << 7) // Automatically set for double battles, handles AI behaviour with partner. +#define AI_FLAG_HP_AWARE (1 << 8) // AI will favour certain move effects based on how much remaining HP it and the player's mon have. +#define AI_FLAG_POWERFUL_STATUS (1 << 9) // AI prefers moves that set up field effects or side statuses, even if the user can faint the target. // New, Trainer Handicap Flags -#define AI_FLAG_NEGATE_UNAWARE (1 << 10) // AI is NOT aware of negating effects like wonder room, mold breaker, etc -#define AI_FLAG_WILL_SUICIDE (1 << 11) // AI will use explosion / self destruct / final gambit / etc +#define AI_FLAG_NEGATE_UNAWARE (1 << 10) // AI is NOT aware of negating effects like wonder room, mold breaker, etc. +#define AI_FLAG_WILL_SUICIDE (1 << 11) // AI will use explosion / self destruct / final gambit / etc. // New, Trainer Strategy Flags -#define AI_FLAG_PREFER_STATUS_MOVES (1 << 12) // AI gets a score bonus for status moves. Should be combined with AI_FLAG_CHECK_BAD_MOVE to prevent using only status moves -#define AI_FLAG_STALL (1 << 13) // AI stalls battle and prefers secondary damage/trapping/etc. TODO not finished +#define AI_FLAG_PREFER_STATUS_MOVES (1 << 12) // AI gets a score bonus for status moves. Should be combined with AI_FLAG_CHECK_BAD_MOVE to prevent using only status moves. +#define AI_FLAG_STALL (1 << 13) // AI stalls battle and prefers secondary damage/trapping/etc. TODO not finished. #define AI_FLAG_SMART_SWITCHING (1 << 14) // AI includes a lot more switching checks. Automatically includes AI_FLAG_SMART_MON_CHOICES. #define AI_FLAG_ACE_POKEMON (1 << 15) // AI has an Ace Pokemon. The last Pokemon in the party will not be used until it's the last one remaining. -#define AI_FLAG_OMNISCIENT (1 << 16) // AI has full knowledge of player moves, abilities, hold items +#define AI_FLAG_OMNISCIENT (1 << 16) // AI has full knowledge of player moves, abilities, hold items. #define AI_FLAG_SMART_MON_CHOICES (1 << 17) // AI will make smarter decisions when choosing which mon to send out mid-battle and after a KO, which are separate decisions. Automatically included by AI_FLAG_SMART_SWITCHING. -#define AI_FLAG_CONSERVATIVE (1 << 18) // AI assumes all moves will low roll damage -#define AI_FLAG_SEQUENCE_SWITCHING (1 << 19) // AI switches in mons in exactly party order, and never switches mid-battle +#define AI_FLAG_CONSERVATIVE (1 << 18) // AI assumes all moves will low roll damage. +#define AI_FLAG_SEQUENCE_SWITCHING (1 << 19) // AI switches in mons in exactly party order, and never switches mid-battle. +#define AI_FLAG_DOUBLE_ACE_POKEMON (1 << 20) // AI has *two* Ace Pokémon. The last two Pokémons in the party won't be used unless they're the last ones remaining. Goes well in battles where the trainer ID equals to twins, couples, etc. -#define AI_FLAG_COUNT 20 +#define AI_FLAG_COUNT 21 + +// The following options are enough to have a basic/smart trainer. Any other addtion could make the trainer worse/better depending on the flag +#define AI_FLAG_BASIC_TRAINER (AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY) +#define AI_FLAG_SMART_TRAINER (AI_FLAG_BASIC_TRAINER | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_SWITCHING | AI_FLAG_SMART_MON_CHOICES) // 'other' ai logic flags #define AI_FLAG_DYNAMIC_FUNC (1 << 28) // Create custom AI functions for specific battles via "setdynamicaifunc" cmd diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 54573a4868bc..00253642473d 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -416,6 +416,7 @@ #define ANIM_TAG_BEAM (ANIM_SPRITES_START + 402) #define ANIM_TAG_RED_EXPLOSION (ANIM_SPRITES_START + 403) #define ANIM_TAG_PURPLE_CHAIN (ANIM_SPRITES_START + 404) +#define ANIM_TAG_PINKVIO_ORB (ANIM_SPRITES_START + 405) // battlers #define ANIM_ATTACKER 0 @@ -527,8 +528,9 @@ #define BG_STEEL_BEAM_PLAYER 79 #define BG_CHLOROBLAST 80 #define BG_RAINBOW 81 +#define BG_SWAMP 82 -// table ids for general animations (gBattleAnims_General) +// table ids for general animations (sBattleAnims_General) #define B_ANIM_STATS_CHANGE 0 #define B_ANIM_SUBSTITUTE_FADE 1 #define B_ANIM_SUBSTITUTE_APPEAR 2 @@ -583,7 +585,9 @@ #define B_ANIM_TERA_ACTIVATE 51 #define B_ANIM_SIMPLE_HEAL 52 -// special animations table (gBattleAnims_Special) +#define NUM_B_ANIMS_GENERAL 53 + +// special animations table (sBattleAnims_Special) #define B_ANIM_LVL_UP 0 #define B_ANIM_SWITCH_OUT_PLAYER_MON 1 #define B_ANIM_SWITCH_OUT_OPPONENT_MON 2 @@ -593,7 +597,9 @@ #define B_ANIM_MON_TO_SUBSTITUTE 6 #define B_ANIM_CRITICAL_CAPTURE_THROW 7 -// status animation table (gBattleAnims_StatusConditions) +#define NUM_B_ANIMS_SPECIAL 8 + +// status animation table (sBattleAnims_StatusConditions) #define B_ANIM_STATUS_PSN 0 #define B_ANIM_STATUS_CONFUSION 1 #define B_ANIM_STATUS_BRN 2 @@ -603,7 +609,8 @@ #define B_ANIM_STATUS_FRZ 6 #define B_ANIM_STATUS_CURSED 7 #define B_ANIM_STATUS_NIGHTMARE 8 -#define B_ANIM_STATUS_WRAPPED 9 // does not actually exist + +#define NUM_B_ANIMS_STATUS 9 // Tasks with return values often assign them to gBattleAnimArgs[7]. #define ARG_RET_ID 7 diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 5da278110f2c..b1472d028000 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -157,7 +157,7 @@ enum { EFFECT_YAWN, EFFECT_KNOCK_OFF, EFFECT_ENDEAVOR, - EFFECT_ERUPTION, + EFFECT_POWER_BASED_ON_USER_HP, EFFECT_SKILL_SWAP, EFFECT_IMPRISON, EFFECT_REFRESH, @@ -177,7 +177,7 @@ enum { EFFECT_PLEDGE, EFFECT_FLING, EFFECT_NATURAL_GIFT, - EFFECT_VARY_POWER_BASED_ON_HP, + EFFECT_POWER_BASED_ON_TARGET_HP, EFFECT_ASSURANCE, EFFECT_TRUMP_CARD, EFFECT_ACROBATICS, @@ -354,6 +354,7 @@ enum { EFFECT_DRAGON_DARTS, EFFECT_GUARDIAN_OF_ALOLA, EFFECT_SHELL_SIDE_ARM, + EFFECT_ORDER_UP, NUM_BATTLE_MOVE_EFFECTS, }; diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 5f3feefa315f..050a20d933f7 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -191,47 +191,35 @@ #define VARIOUS_EERIE_SPELL_PP_REDUCE 99 #define VARIOUS_JUMP_IF_TEAM_HEALTHY 100 #define VARIOUS_TRY_HEAL_QUARTER_HP 101 -#define VARIOUS_REMOVE_TERRAIN 102 -#define VARIOUS_JUMP_IF_PRANKSTER_BLOCKED 103 -#define VARIOUS_TRY_TO_CLEAR_PRIMAL_WEATHER 104 -#define VARIOUS_GET_ROTOTILLER_TARGETS 105 -#define VARIOUS_JUMP_IF_NOT_ROTOTILLER_AFFECTED 106 -#define VARIOUS_TRY_ACTIVATE_BATTLE_BOND 107 -#define VARIOUS_CONSUME_BERRY 108 -#define VARIOUS_JUMP_IF_CANT_REVERT_TO_PRIMAL 109 -#define VARIOUS_JUMP_IF_SPECIES 110 -#define VARIOUS_UPDATE_ABILITY_POPUP 111 -#define VARIOUS_JUMP_IF_WEATHER_AFFECTED 112 -#define VARIOUS_JUMP_IF_LEAF_GUARD_PROTECTED 113 -#define VARIOUS_SET_ATTACKER_STICKY_WEB_USER 114 -#define VARIOUS_TRY_NO_RETREAT 115 -#define VARIOUS_TRY_TAR_SHOT 116 -#define VARIOUS_CAN_TAR_SHOT_WORK 117 -#define VARIOUS_CHECK_POLTERGEIST 118 -#define VARIOUS_CUT_1_3_HP_RAISE_STATS 119 -#define VARIOUS_TRY_END_NEUTRALIZING_GAS 120 -#define VARIOUS_JUMP_IF_UNDER_200 121 -#define VARIOUS_SET_SKY_DROP 122 -#define VARIOUS_CLEAR_SKY_DROP 123 -#define VARIOUS_SKY_DROP_YAWN 124 -#define VARIOUS_CURE_CERTAIN_STATUSES 125 -#define VARIOUS_TRY_RESET_NEGATIVE_STAT_STAGES 126 -#define VARIOUS_JUMP_IF_LAST_USED_ITEM_BERRY 127 -#define VARIOUS_JUMP_IF_LAST_USED_ITEM_HOLD_EFFECT 128 -#define VARIOUS_SAVE_BATTLER_ITEM 129 -#define VARIOUS_RESTORE_BATTLER_ITEM 130 -#define VARIOUS_BATTLER_ITEM_TO_LAST_USED_ITEM 131 -#define VARIOUS_SET_BEAK_BLAST 132 -#define VARIOUS_SWAP_SIDE_STATUSES 133 -#define VARIOUS_SWAP_STATS 134 -#define VARIOUS_TEATIME_INVUL 135 -#define VARIOUS_TEATIME_TARGETS 136 -#define VARIOUS_TRY_WIND_RIDER_POWER 137 -#define VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES 138 -#define VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES 139 -#define VARIOUS_STORE_HEALING_WISH 140 -#define VARIOUS_HIT_SWITCH_TARGET_FAILED 141 -#define VARIOUS_TRY_REVIVAL_BLESSING 142 +#define VARIOUS_JUMP_IF_PRANKSTER_BLOCKED 102 +#define VARIOUS_TRY_TO_CLEAR_PRIMAL_WEATHER 103 +#define VARIOUS_GET_ROTOTILLER_TARGETS 104 +#define VARIOUS_JUMP_IF_NOT_ROTOTILLER_AFFECTED 105 +#define VARIOUS_TRY_ACTIVATE_BATTLE_BOND 106 +#define VARIOUS_CONSUME_BERRY 107 +#define VARIOUS_JUMP_IF_CANT_REVERT_TO_PRIMAL 108 +#define VARIOUS_JUMP_IF_SPECIES 109 +#define VARIOUS_UPDATE_ABILITY_POPUP 110 +#define VARIOUS_JUMP_IF_WEATHER_AFFECTED 111 +#define VARIOUS_JUMP_IF_LEAF_GUARD_PROTECTED 112 +#define VARIOUS_SET_ATTACKER_STICKY_WEB_USER 113 +#define VARIOUS_TRY_NO_RETREAT 114 +#define VARIOUS_CHECK_POLTERGEIST 115 +#define VARIOUS_CUT_1_3_HP_RAISE_STATS 116 +#define VARIOUS_TRY_END_NEUTRALIZING_GAS 117 +#define VARIOUS_JUMP_IF_UNDER_200 118 +#define VARIOUS_SET_SKY_DROP 119 +#define VARIOUS_CLEAR_SKY_DROP 120 +#define VARIOUS_SKY_DROP_YAWN 121 +#define VARIOUS_CURE_CERTAIN_STATUSES 122 +#define VARIOUS_TRY_RESET_NEGATIVE_STAT_STAGES 123 +#define VARIOUS_JUMP_IF_LAST_USED_ITEM_BERRY 124 +#define VARIOUS_JUMP_IF_LAST_USED_ITEM_HOLD_EFFECT 125 +#define VARIOUS_SAVE_BATTLER_ITEM 126 +#define VARIOUS_RESTORE_BATTLER_ITEM 127 +#define VARIOUS_BATTLER_ITEM_TO_LAST_USED_ITEM 128 +#define VARIOUS_SWAP_SIDE_STATUSES 129 +#define VARIOUS_SWAP_STATS 130 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 @@ -275,6 +263,7 @@ enum MoveEndEffects { MOVEEND_SUM_DAMAGE, MOVEEND_PROTECT_LIKE_EFFECT, + MOVEEND_ABSORB, MOVEEND_RAGE, MOVEEND_SYNCHRONIZE_TARGET, MOVEEND_ABILITIES, diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 9fbb70a22397..563e70fc06f4 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -712,8 +712,20 @@ #define STRINGID_FOGLIFTED 710 #define STRINGID_PKMNMADESHELLGLEAM 711 #define STRINGID_FICKLEBEAMDOUBLED 712 +#define STRINGID_COMMANDERACTIVATES 713 +#define STRINGID_POKEFLUTECATCHY 714 +#define STRINGID_POKEFLUTE 715 +#define STRINGID_MONHEARINGFLUTEAWOKE 716 +#define STRINGID_SUNLIGHTISHARSH 717 +#define STRINGID_ITISHAILING 718 +#define STRINGID_ITISSNOWING 719 +#define STRINGID_ISCOVEREDWITHGRASS 720 +#define STRINGID_MISTSWIRLSAROUND 721 +#define STRINGID_ELECTRICCURRENTISRUNNING 722 +#define STRINGID_SEEMSWEIRD 723 +#define STRINGID_WAGGLINGAFINGER 724 -#define BATTLESTRINGS_COUNT 713 +#define BATTLESTRINGS_COUNT 725 // This is the string id that gBattleStringsTable starts with. // String ids before this (e.g. STRINGID_INTROMSG) are not in the table, diff --git a/include/constants/characters.h b/include/constants/characters.h index 8ed440e63a91..3725cecce080 100644 --- a/include/constants/characters.h +++ b/include/constants/characters.h @@ -53,6 +53,7 @@ #define CHAR_EQUALS 0x35 #define CHAR_SEMICOLON 0x36 #define CHAR_BARD_WORD_DELIMIT 0x37 // Empty space to separate words in Bard's song +#define CHAR_V_D_ARROW 0x38 #define CHAR_INV_QUESTION_MARK 0x51 #define CHAR_INV_EXCL_MARK 0x52 #define CHAR_PK 0x53 diff --git a/include/constants/cries.h b/include/constants/cries.h index 3213f62d3fba..554ffafc96bd 100644 --- a/include/constants/cries.h +++ b/include/constants/cries.h @@ -196,7 +196,7 @@ enum { CRY_SLOWBRO_MEGA, #endif //P_MEGA_EVOLUTIONS #if P_GALARIAN_FORMS - CRY_SLOWPOKE_GALARIAN, + CRY_SLOWPOKE_GALAR, #endif //P_GALARIAN_FORMS #endif //P_FAMILY_SLOWPOKE #if P_FAMILY_MAGNEMITE @@ -1636,7 +1636,7 @@ enum { #if P_FAMILY_FLABEBE CRY_FLABEBE, CRY_FLOETTE, - CRY_FLOETTE_ETERNAL_FLOWER, + CRY_FLOETTE_ETERNAL, CRY_FLORGES, #endif //P_FAMILY_FLABEBE #if P_FAMILY_SKIDDO @@ -2084,12 +2084,12 @@ enum { CRY_STONJOURNER, #endif //P_FAMILY_STONJOURNER #if P_FAMILY_EISCUE - CRY_EISCUE_ICE_FACE, + CRY_EISCUE_ICE, CRY_EISCUE_NOICE_FACE, #endif //P_FAMILY_EISCUE #if P_FAMILY_INDEEDEE - CRY_INDEEDEE_MALE, - CRY_INDEEDEE_FEMALE, + CRY_INDEEDEE_M, + CRY_INDEEDEE_F, #endif //P_FAMILY_INDEEDEE #if P_FAMILY_MORPEKO CRY_MORPEKO_FULL_BELLY, @@ -2123,12 +2123,12 @@ enum { CRY_DRAGAPULT, #endif //P_FAMILY_DREEPY #if P_FAMILY_ZACIAN - CRY_ZACIAN_HERO_OF_MANY_BATTLES, - CRY_ZACIAN_CROWNED_SWORD, + CRY_ZACIAN_HERO, + CRY_ZACIAN_CROWNED, #endif //P_FAMILY_ZACIAN #if P_FAMILY_ZAMAZENTA - CRY_ZAMAZENTA_HERO_OF_MANY_BATTLES, - CRY_ZAMAZENTA_CROWNED_SHIELD, + CRY_ZAMAZENTA_HERO, + CRY_ZAMAZENTA_CROWNED, #endif //P_FAMILY_ZAMAZENTA #if P_FAMILY_ETERNATUS CRY_ETERNATUS, @@ -2136,8 +2136,8 @@ enum { #endif //P_FAMILY_ETERNATUS #if P_FAMILY_KUBFU CRY_KUBFU, - CRY_URSHIFU_SINGLE_STRIKE_STYLE, - CRY_URSHIFU_RAPID_STRIKE_STYLE, + CRY_URSHIFU_SINGLE_STRIKE, + CRY_URSHIFU_RAPID_STRIKE, #endif //P_FAMILY_KUBFU #if P_FAMILY_ZARUDE CRY_ZARUDE, @@ -2157,8 +2157,8 @@ enum { #if P_FAMILY_CALYREX CRY_CALYREX, #if P_FUSION_FORMS - CRY_CALYREX_ICE_RIDER, - CRY_CALYREX_SHADOW_RIDER, + CRY_CALYREX_ICE, + CRY_CALYREX_SHADOW, #endif //P_FUSION_FORMS #endif //P_FAMILY_CALYREX #if P_FAMILY_ENAMORUS @@ -2182,8 +2182,8 @@ enum { #endif //P_FAMILY_QUAXLY #if P_FAMILY_LECHONK CRY_LECHONK, - CRY_OINKOLOGNE_MALE, - CRY_OINKOLOGNE_FEMALE, + CRY_OINKOLOGNE_M, + CRY_OINKOLOGNE_F, #endif //P_FAMILY_LECHONK #if P_FAMILY_TAROUNTULA CRY_TAROUNTULA, @@ -2200,8 +2200,8 @@ enum { #endif //P_FAMILY_PAWMI #if P_FAMILY_TANDEMAUS CRY_TANDEMAUS, - CRY_MAUSHOLD_FAMILY_OF_THREE, - CRY_MAUSHOLD_FAMILY_OF_FOUR, + CRY_MAUSHOLD_THREE, + CRY_MAUSHOLD_FOUR, #endif //P_FAMILY_TANDEMAUS #if P_FAMILY_FIDOUGH CRY_FIDOUGH, diff --git a/include/constants/event_object_movement.h b/include/constants/event_object_movement.h index e7641f982602..650a6a2357c4 100755 --- a/include/constants/event_object_movement.h +++ b/include/constants/event_object_movement.h @@ -247,6 +247,10 @@ #define MOVEMENT_ACTION_EMOTE_DOUBLE_EXCL_MARK 0x9F #define MOVEMENT_ACTION_EXIT_POKEBALL 0xA0 #define MOVEMENT_ACTION_ENTER_POKEBALL 0xA1 +#define MOVEMENT_ACTION_RUN_DOWN_SLOW 0xA2 // slow running for rocky stairs +#define MOVEMENT_ACTION_RUN_UP_SLOW 0xA3 +#define MOVEMENT_ACTION_RUN_LEFT_SLOW 0xA4 +#define MOVEMENT_ACTION_RUN_RIGHT_SLOW 0xA5 #define MOVEMENT_ACTION_STEP_END 0xFE #define MOVEMENT_ACTION_NONE 0xFF diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index 176c6d4a885b..8891ab27fbe4 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -284,10 +284,12 @@ // Whether Object Event is an OW pokemon #define IS_OW_MON_OBJ(obj) ((obj)->graphicsId >= OBJ_EVENT_GFX_MON_BASE) -#define SHADOW_SIZE_S 0 -#define SHADOW_SIZE_M 1 -#define SHADOW_SIZE_L 2 -#define SHADOW_SIZE_NONE 3 // Originally SHADOW_SIZE_XL, which went unused due to shadowSize in ObjectEventGraphicsInfo being only 2 bits. +#define SHADOW_SIZE_S 0 +#define SHADOW_SIZE_M 1 +#define SHADOW_SIZE_L 2 +#define SHADOW_SIZE_NONE 3 // Originally SHADOW_SIZE_XL, which went unused due to shadowSize in ObjectEventGraphicsInfo being only 2 bits. + +#define SHADOW_SIZE_XL_BATTLE_ONLY SHADOW_SIZE_NONE // Battle-only definition for XL shadow size. #define F_INANIMATE (1 << 6) #define F_DISABLE_REFLECTION_PALETTE_LOAD (1 << 7) diff --git a/include/constants/expansion.h b/include/constants/expansion.h index 7d883d77a8c0..c24fbeec8006 100644 --- a/include/constants/expansion.h +++ b/include/constants/expansion.h @@ -1,10 +1,10 @@ #ifndef GUARD_CONSTANTS_EXPANSION_H #define GUARD_CONSTANTS_EXPANSION_H -// Last version: 1.9.4 +// Last version: 1.10.0 #define EXPANSION_VERSION_MAJOR 1 -#define EXPANSION_VERSION_MINOR 9 -#define EXPANSION_VERSION_PATCH 4 +#define EXPANSION_VERSION_MINOR 10 +#define EXPANSION_VERSION_PATCH 0 // FALSE if this this version of Expansion is not a tagged commit, i.e. // it contains unreleased changes. diff --git a/include/constants/field_specials.h b/include/constants/field_specials.h index 1e08a47f95ee..72966adeb882 100644 --- a/include/constants/field_specials.h +++ b/include/constants/field_specials.h @@ -86,4 +86,14 @@ #define DEOXYS_ROCK_SOLVED 2 #define DEOXYS_ROCK_COMPLETE 3 +enum { + OPEN_PARTY_SCREEN, + NO_PARTY_SCREEN +}; + +enum { + CURRENT_POSITION, + TEMPLATE_POSITION +}; + #endif // GUARD_CONSTANTS_FIELD_SPECIALS_H diff --git a/include/constants/global.h b/include/constants/global.h index 6d2fbe81c73a..89508e374d82 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -5,7 +5,7 @@ #include "config/battle.h" #include "config/debug.h" #include "config/item.h" -#include "config/level_caps.h" +#include "config/caps.h" #include "config/pokemon.h" #include "config/overworld.h" @@ -103,7 +103,7 @@ #define CONTEST_CATEGORIES_COUNT 5 // string lengths -#define ITEM_NAME_LENGTH ((I_EXPANDED_ITEM_NAMES == TRUE) ? 20 : 14) +#define ITEM_NAME_LENGTH 20 #define ITEM_NAME_PLURAL_LENGTH ITEM_NAME_LENGTH + 2 // 2 is used for the instance where a word's suffix becomes y->ies #define POKEMON_NAME_LENGTH 12 #define VANILLA_POKEMON_NAME_LENGTH 10 @@ -111,15 +111,15 @@ #define PLAYER_NAME_LENGTH 7 #define MAIL_WORDS_COUNT 9 #define EASY_CHAT_BATTLE_WORDS_COUNT 6 -#define MOVE_NAME_LENGTH ((B_EXPANDED_MOVE_NAMES == TRUE) ? 16 : 12) +#define MOVE_NAME_LENGTH 16 #define NUM_QUESTIONNAIRE_WORDS 4 #define QUIZ_QUESTION_LEN 9 #define WONDER_CARD_TEXT_LENGTH 40 #define WONDER_NEWS_TEXT_LENGTH 40 #define WONDER_CARD_BODY_TEXT_LINES 4 #define WONDER_NEWS_BODY_TEXT_LINES 10 -#define TYPE_NAME_LENGTH ((B_EXPANDED_TYPE_NAMES == TRUE) ? 8 : 6) -#define ABILITY_NAME_LENGTH ((B_EXPANDED_ABILITY_NAMES == TRUE) ? 16 : 12) +#define TYPE_NAME_LENGTH 8 +#define ABILITY_NAME_LENGTH 16 #define TRAINER_NAME_LENGTH 10 #define MAX_STAMP_CARD_STAMPS 7 diff --git a/include/constants/heal_locations.h b/include/constants/heal_locations.h index d3dd8f1f1748..217594d0b7f2 100644 --- a/include/constants/heal_locations.h +++ b/include/constants/heal_locations.h @@ -24,5 +24,6 @@ #define HEAL_LOCATION_EVER_GRANDE_CITY_POKEMON_LEAGUE 20 #define HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR 21 #define HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST 22 +#define HEAL_LOCATION_COUNT 23 #endif // GUARD_CONSTANTS_HEAL_LOCATIONS_H diff --git a/include/constants/hold_effects.h b/include/constants/hold_effects.h index a1591029323b..c85ec8230203 100644 --- a/include/constants/hold_effects.h +++ b/include/constants/hold_effects.h @@ -1,171 +1,167 @@ #ifndef GUARD_HOLD_EFFECTS_H #define GUARD_HOLD_EFFECTS_H -#define HOLD_EFFECT_NONE 0 -#define HOLD_EFFECT_RESTORE_HP 1 -#define HOLD_EFFECT_CURE_PAR 2 -#define HOLD_EFFECT_CURE_SLP 3 -#define HOLD_EFFECT_CURE_PSN 4 -#define HOLD_EFFECT_CURE_BRN 5 -#define HOLD_EFFECT_CURE_FRZ 6 -#define HOLD_EFFECT_RESTORE_PP 7 -#define HOLD_EFFECT_CURE_CONFUSION 8 -#define HOLD_EFFECT_CURE_STATUS 9 -#define HOLD_EFFECT_CONFUSE_SPICY 10 -#define HOLD_EFFECT_CONFUSE_DRY 11 -#define HOLD_EFFECT_CONFUSE_SWEET 12 -#define HOLD_EFFECT_CONFUSE_BITTER 13 -#define HOLD_EFFECT_CONFUSE_SOUR 14 -#define HOLD_EFFECT_ATTACK_UP 15 -#define HOLD_EFFECT_DEFENSE_UP 16 -#define HOLD_EFFECT_SPEED_UP 17 -#define HOLD_EFFECT_SP_ATTACK_UP 18 -#define HOLD_EFFECT_SP_DEFENSE_UP 19 -#define HOLD_EFFECT_CRITICAL_UP 20 -#define HOLD_EFFECT_RANDOM_STAT_UP 21 -#define HOLD_EFFECT_EVASION_UP 22 -#define HOLD_EFFECT_RESTORE_STATS 23 -#define HOLD_EFFECT_MACHO_BRACE 24 -#define HOLD_EFFECT_EXP_SHARE 25 -#define HOLD_EFFECT_QUICK_CLAW 26 -#define HOLD_EFFECT_FRIENDSHIP_UP 27 -#define HOLD_EFFECT_MENTAL_HERB 28 -#define HOLD_EFFECT_CHOICE_BAND 29 -#define HOLD_EFFECT_FLINCH 30 -#define HOLD_EFFECT_BUG_POWER 31 -#define HOLD_EFFECT_DOUBLE_PRIZE 32 -#define HOLD_EFFECT_REPEL 33 -#define HOLD_EFFECT_SOUL_DEW 34 -#define HOLD_EFFECT_DEEP_SEA_TOOTH 35 -#define HOLD_EFFECT_DEEP_SEA_SCALE 36 -#define HOLD_EFFECT_CAN_ALWAYS_RUN 37 -#define HOLD_EFFECT_PREVENT_EVOLVE 38 -#define HOLD_EFFECT_FOCUS_BAND 39 -#define HOLD_EFFECT_LUCKY_EGG 40 -#define HOLD_EFFECT_SCOPE_LENS 41 -#define HOLD_EFFECT_STEEL_POWER 42 -#define HOLD_EFFECT_LEFTOVERS 43 -#define HOLD_EFFECT_DRAGON_SCALE 44 -#define HOLD_EFFECT_LIGHT_BALL 45 -#define HOLD_EFFECT_GROUND_POWER 46 -#define HOLD_EFFECT_ROCK_POWER 47 -#define HOLD_EFFECT_GRASS_POWER 48 -#define HOLD_EFFECT_DARK_POWER 49 -#define HOLD_EFFECT_FIGHTING_POWER 50 -#define HOLD_EFFECT_ELECTRIC_POWER 51 -#define HOLD_EFFECT_WATER_POWER 52 -#define HOLD_EFFECT_FLYING_POWER 53 -#define HOLD_EFFECT_POISON_POWER 54 -#define HOLD_EFFECT_ICE_POWER 55 -#define HOLD_EFFECT_GHOST_POWER 56 -#define HOLD_EFFECT_PSYCHIC_POWER 57 -#define HOLD_EFFECT_FIRE_POWER 58 -#define HOLD_EFFECT_DRAGON_POWER 59 -#define HOLD_EFFECT_NORMAL_POWER 60 -#define HOLD_EFFECT_UPGRADE 61 -#define HOLD_EFFECT_SHELL_BELL 62 -#define HOLD_EFFECT_LUCKY_PUNCH 63 -#define HOLD_EFFECT_METAL_POWDER 64 -#define HOLD_EFFECT_THICK_CLUB 65 -#define HOLD_EFFECT_LEEK 66 +enum ItemHoldEffect +{ + HOLD_EFFECT_NONE, + HOLD_EFFECT_RESTORE_HP, + HOLD_EFFECT_CURE_PAR, + HOLD_EFFECT_CURE_SLP, + HOLD_EFFECT_CURE_PSN, + HOLD_EFFECT_CURE_BRN, + HOLD_EFFECT_CURE_FRZ, + HOLD_EFFECT_RESTORE_PP, + HOLD_EFFECT_CURE_CONFUSION, + HOLD_EFFECT_CURE_STATUS, + HOLD_EFFECT_CONFUSE_SPICY, + HOLD_EFFECT_CONFUSE_DRY, + HOLD_EFFECT_CONFUSE_SWEET, + HOLD_EFFECT_CONFUSE_BITTER, + HOLD_EFFECT_CONFUSE_SOUR, + HOLD_EFFECT_ATTACK_UP, + HOLD_EFFECT_DEFENSE_UP, + HOLD_EFFECT_SPEED_UP, + HOLD_EFFECT_SP_ATTACK_UP, + HOLD_EFFECT_SP_DEFENSE_UP, + HOLD_EFFECT_CRITICAL_UP, + HOLD_EFFECT_RANDOM_STAT_UP, + HOLD_EFFECT_EVASION_UP, + HOLD_EFFECT_RESTORE_STATS, + HOLD_EFFECT_MACHO_BRACE, + HOLD_EFFECT_EXP_SHARE, + HOLD_EFFECT_QUICK_CLAW, + HOLD_EFFECT_FRIENDSHIP_UP, + HOLD_EFFECT_MENTAL_HERB, + HOLD_EFFECT_CHOICE_BAND, + HOLD_EFFECT_FLINCH, + HOLD_EFFECT_BUG_POWER, + HOLD_EFFECT_DOUBLE_PRIZE, + HOLD_EFFECT_REPEL, + HOLD_EFFECT_SOUL_DEW, + HOLD_EFFECT_DEEP_SEA_TOOTH, + HOLD_EFFECT_DEEP_SEA_SCALE, + HOLD_EFFECT_CAN_ALWAYS_RUN, + HOLD_EFFECT_PREVENT_EVOLVE, + HOLD_EFFECT_FOCUS_BAND, + HOLD_EFFECT_LUCKY_EGG, + HOLD_EFFECT_SCOPE_LENS, + HOLD_EFFECT_STEEL_POWER, + HOLD_EFFECT_LEFTOVERS, + HOLD_EFFECT_DRAGON_SCALE, + HOLD_EFFECT_LIGHT_BALL, + HOLD_EFFECT_GROUND_POWER, + HOLD_EFFECT_ROCK_POWER, + HOLD_EFFECT_GRASS_POWER, + HOLD_EFFECT_DARK_POWER, + HOLD_EFFECT_FIGHTING_POWER, + HOLD_EFFECT_ELECTRIC_POWER, + HOLD_EFFECT_WATER_POWER, + HOLD_EFFECT_FLYING_POWER, + HOLD_EFFECT_POISON_POWER, + HOLD_EFFECT_ICE_POWER, + HOLD_EFFECT_GHOST_POWER, + HOLD_EFFECT_PSYCHIC_POWER, + HOLD_EFFECT_FIRE_POWER, + HOLD_EFFECT_DRAGON_POWER, + HOLD_EFFECT_NORMAL_POWER, + HOLD_EFFECT_UPGRADE, + HOLD_EFFECT_SHELL_BELL, + HOLD_EFFECT_LUCKY_PUNCH, + HOLD_EFFECT_METAL_POWDER, + HOLD_EFFECT_THICK_CLUB, + HOLD_EFFECT_LEEK, + // Gen4 hold effects. + HOLD_EFFECT_CHOICE_SCARF, + HOLD_EFFECT_CHOICE_SPECS, + HOLD_EFFECT_DAMP_ROCK, + HOLD_EFFECT_GRIP_CLAW, + HOLD_EFFECT_HEAT_ROCK, + HOLD_EFFECT_ICY_ROCK, + HOLD_EFFECT_LIGHT_CLAY, + HOLD_EFFECT_SMOOTH_ROCK, + HOLD_EFFECT_POWER_HERB, + HOLD_EFFECT_BIG_ROOT, + HOLD_EFFECT_EXPERT_BELT, + HOLD_EFFECT_LIFE_ORB, + HOLD_EFFECT_METRONOME, + HOLD_EFFECT_MUSCLE_BAND, + HOLD_EFFECT_WIDE_LENS, + HOLD_EFFECT_WISE_GLASSES, + HOLD_EFFECT_ZOOM_LENS, + HOLD_EFFECT_LAGGING_TAIL, + HOLD_EFFECT_FOCUS_SASH, + HOLD_EFFECT_FLAME_ORB, + HOLD_EFFECT_TOXIC_ORB, + HOLD_EFFECT_STICKY_BARB, + HOLD_EFFECT_IRON_BALL, + HOLD_EFFECT_BLACK_SLUDGE, + HOLD_EFFECT_DESTINY_KNOT, + HOLD_EFFECT_SHED_SHELL, + HOLD_EFFECT_QUICK_POWDER, + HOLD_EFFECT_ADAMANT_ORB, + HOLD_EFFECT_LUSTROUS_ORB, + HOLD_EFFECT_GRISEOUS_ORB, + HOLD_EFFECT_ENIGMA_BERRY, + HOLD_EFFECT_RESIST_BERRY, + HOLD_EFFECT_POWER_ITEM, + HOLD_EFFECT_RESTORE_PCT_HP, + HOLD_EFFECT_MICLE_BERRY, + HOLD_EFFECT_CUSTAP_BERRY, + HOLD_EFFECT_JABOCA_BERRY, + HOLD_EFFECT_ROWAP_BERRY, + HOLD_EFFECT_KEE_BERRY, + HOLD_EFFECT_MARANGA_BERRY, + HOLD_EFFECT_PLATE, + // Gen5 hold effects + HOLD_EFFECT_FLOAT_STONE, + HOLD_EFFECT_EVIOLITE, + HOLD_EFFECT_ASSAULT_VEST, + HOLD_EFFECT_DRIVE, + HOLD_EFFECT_GEMS, + HOLD_EFFECT_ROCKY_HELMET, + HOLD_EFFECT_AIR_BALLOON, + HOLD_EFFECT_RED_CARD, + HOLD_EFFECT_RING_TARGET, + HOLD_EFFECT_BINDING_BAND, + HOLD_EFFECT_EJECT_BUTTON, + HOLD_EFFECT_ABSORB_BULB, + HOLD_EFFECT_CELL_BATTERY, + // Gen6 hold effects + HOLD_EFFECT_FAIRY_POWER, + HOLD_EFFECT_MEGA_STONE, + HOLD_EFFECT_SAFETY_GOGGLES, + HOLD_EFFECT_LUMINOUS_MOSS, + HOLD_EFFECT_SNOWBALL, + HOLD_EFFECT_WEAKNESS_POLICY, + HOLD_EFFECT_PRIMAL_ORB, + // Gen7 hold effects + HOLD_EFFECT_PROTECTIVE_PADS, + HOLD_EFFECT_TERRAIN_EXTENDER, + HOLD_EFFECT_SEEDS, + HOLD_EFFECT_ADRENALINE_ORB, + HOLD_EFFECT_MEMORY, + HOLD_EFFECT_Z_CRYSTAL, + // Gen8 hold effects + HOLD_EFFECT_UTILITY_UMBRELLA, + HOLD_EFFECT_EJECT_PACK, + HOLD_EFFECT_ROOM_SERVICE, + HOLD_EFFECT_BLUNDER_POLICY, + HOLD_EFFECT_HEAVY_DUTY_BOOTS, + HOLD_EFFECT_THROAT_SPRAY, + // Gen9 hold effects + HOLD_EFFECT_ABILITY_SHIELD, + HOLD_EFFECT_CLEAR_AMULET, + HOLD_EFFECT_MIRROR_HERB, + HOLD_EFFECT_PUNCHING_GLOVE, + HOLD_EFFECT_COVERT_CLOAK, + HOLD_EFFECT_LOADED_DICE, + HOLD_EFFECT_BOOSTER_ENERGY, + HOLD_EFFECT_OGERPON_MASK, + // Gen2 hold effect + HOLD_EFFECT_BERSERK_GENE, +}; -// Gen4 hold effects. -#define HOLD_EFFECT_CHOICE_SCARF 67 -#define HOLD_EFFECT_CHOICE_SPECS 68 -#define HOLD_EFFECT_DAMP_ROCK 69 -#define HOLD_EFFECT_GRIP_CLAW 70 -#define HOLD_EFFECT_HEAT_ROCK 71 -#define HOLD_EFFECT_ICY_ROCK 72 -#define HOLD_EFFECT_LIGHT_CLAY 73 -#define HOLD_EFFECT_SMOOTH_ROCK 74 -#define HOLD_EFFECT_POWER_HERB 75 -#define HOLD_EFFECT_BIG_ROOT 76 -#define HOLD_EFFECT_EXPERT_BELT 77 -#define HOLD_EFFECT_LIFE_ORB 78 -#define HOLD_EFFECT_METRONOME 79 -#define HOLD_EFFECT_MUSCLE_BAND 80 -#define HOLD_EFFECT_WIDE_LENS 81 -#define HOLD_EFFECT_WISE_GLASSES 82 -#define HOLD_EFFECT_ZOOM_LENS 83 -#define HOLD_EFFECT_LAGGING_TAIL 84 -#define HOLD_EFFECT_FOCUS_SASH 85 -#define HOLD_EFFECT_FLAME_ORB 86 -#define HOLD_EFFECT_TOXIC_ORB 87 -#define HOLD_EFFECT_STICKY_BARB 88 -#define HOLD_EFFECT_IRON_BALL 89 -#define HOLD_EFFECT_BLACK_SLUDGE 90 -#define HOLD_EFFECT_DESTINY_KNOT 91 -#define HOLD_EFFECT_SHED_SHELL 92 -#define HOLD_EFFECT_QUICK_POWDER 93 -#define HOLD_EFFECT_ADAMANT_ORB 94 -#define HOLD_EFFECT_LUSTROUS_ORB 95 -#define HOLD_EFFECT_GRISEOUS_ORB 96 -#define HOLD_EFFECT_ENIGMA_BERRY 97 -#define HOLD_EFFECT_RESIST_BERRY 98 -#define HOLD_EFFECT_POWER_ITEM 99 -#define HOLD_EFFECT_RESTORE_PCT_HP 100 -#define HOLD_EFFECT_MICLE_BERRY 101 -#define HOLD_EFFECT_CUSTAP_BERRY 102 -#define HOLD_EFFECT_JABOCA_BERRY 103 -#define HOLD_EFFECT_ROWAP_BERRY 104 -#define HOLD_EFFECT_KEE_BERRY 105 -#define HOLD_EFFECT_MARANGA_BERRY 106 -#define HOLD_EFFECT_PLATE 107 - -// Gen5 hold effects -#define HOLD_EFFECT_FLOAT_STONE 117 -#define HOLD_EFFECT_EVIOLITE 118 -#define HOLD_EFFECT_ASSAULT_VEST 119 -#define HOLD_EFFECT_DRIVE 120 -#define HOLD_EFFECT_GEMS 121 -#define HOLD_EFFECT_ROCKY_HELMET 122 -#define HOLD_EFFECT_AIR_BALLOON 123 -#define HOLD_EFFECT_RED_CARD 124 -#define HOLD_EFFECT_RING_TARGET 125 -#define HOLD_EFFECT_BINDING_BAND 126 -#define HOLD_EFFECT_EJECT_BUTTON 127 -#define HOLD_EFFECT_ABSORB_BULB 128 -#define HOLD_EFFECT_CELL_BATTERY 129 - -// Gen6 hold effects -#define HOLD_EFFECT_FAIRY_POWER 139 -#define HOLD_EFFECT_MEGA_STONE 140 -#define HOLD_EFFECT_SAFETY_GOGGLES 141 -#define HOLD_EFFECT_LUMINOUS_MOSS 142 -#define HOLD_EFFECT_SNOWBALL 143 -#define HOLD_EFFECT_WEAKNESS_POLICY 144 -#define HOLD_EFFECT_PRIMAL_ORB 145 - -// Gen7 hold effects -#define HOLD_EFFECT_PROTECTIVE_PADS 154 -#define HOLD_EFFECT_TERRAIN_EXTENDER 155 -#define HOLD_EFFECT_SEEDS 156 -#define HOLD_EFFECT_ADRENALINE_ORB 157 -#define HOLD_EFFECT_MEMORY 158 -#define HOLD_EFFECT_Z_CRYSTAL 159 - -// Gen8 hold effects -#define HOLD_EFFECT_UTILITY_UMBRELLA 169 -#define HOLD_EFFECT_EJECT_PACK 170 -#define HOLD_EFFECT_ROOM_SERVICE 171 -#define HOLD_EFFECT_BLUNDER_POLICY 172 -#define HOLD_EFFECT_HEAVY_DUTY_BOOTS 173 -#define HOLD_EFFECT_THROAT_SPRAY 174 - -// Gen9 hold effects -#define HOLD_EFFECT_ABILITY_SHIELD 175 -#define HOLD_EFFECT_CLEAR_AMULET 176 -#define HOLD_EFFECT_MIRROR_HERB 177 -#define HOLD_EFFECT_PUNCHING_GLOVE 178 -#define HOLD_EFFECT_COVERT_CLOAK 179 -#define HOLD_EFFECT_LOADED_DICE 180 -#define HOLD_EFFECT_BOOSTER_ENERGY 181 -#define HOLD_EFFECT_OGERPON_MASK 182 - -// Gen2 hold effect -#define HOLD_EFFECT_BERSERK_GENE 184 - -#define HOLD_EFFECT_CHOICE(holdEffect)((holdEffect == HOLD_EFFECT_CHOICE_BAND || holdEffect == HOLD_EFFECT_CHOICE_SCARF || holdEffect == HOLD_EFFECT_CHOICE_SPECS)) +#define HOLD_EFFECT_CHOICE(holdEffect) ((holdEffect == HOLD_EFFECT_CHOICE_BAND || holdEffect == HOLD_EFFECT_CHOICE_SCARF || holdEffect == HOLD_EFFECT_CHOICE_SPECS)) // Terrain seed params #define HOLD_EFFECT_PARAM_ELECTRIC_TERRAIN 0 diff --git a/include/constants/items.h b/include/constants/items.h index e26f033c09e1..0abfc31a44d7 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -32,12 +32,6 @@ #define ITEM_BEAST_BALL 26 #define ITEM_CHERISH_BALL 27 -// Note: If moving ball IDs around, updating FIRST_BALL/LAST_BALL is not sufficient -// Several places expect the ball IDs to be first and contiguous (e.g. MON_DATA_POKEBALL) -// If adding new balls, it's easiest to insert them after the last ball and increment the below IDs (and removing ITEM_034 for example) -#define FIRST_BALL ITEM_POKE_BALL -#define LAST_BALL ITEM_CHERISH_BALL - // Medicine #define ITEM_POTION 28 #define ITEM_SUPER_POTION 29 @@ -998,10 +992,12 @@ #define ITEM_TWICE_SPICED_RADISH 826 #define ITEM_POKESHI_DOLL 827 +#define ITEM_STRANGE_BALL 828 + // HOPO BERRY // LEGEND PLATE -#define ITEMS_COUNT 828 +#define ITEMS_COUNT 829 #define ITEM_FIELD_ARROW ITEMS_COUNT // A special item id associated with "Cancel"/"Exit" etc. in a list of items or decorations @@ -1077,6 +1073,7 @@ #define EFFECT_ITEM_REVIVE 9 #define EFFECT_ITEM_RESTORE_PP 10 #define EFFECT_ITEM_INCREASE_ALL_STATS 11 +#define EFFECT_ITEM_USE_POKE_FLUTE 12 // Enigma Berry dummy constant #define EFFECT_ITEM_ENIGMA_BERRY_EREADER 1 diff --git a/include/constants/metatile_behaviors.h b/include/constants/metatile_behaviors.h index 1f6d4e87cbfb..f5a8f38506a2 100755 --- a/include/constants/metatile_behaviors.h +++ b/include/constants/metatile_behaviors.h @@ -30,9 +30,9 @@ #define MB_UNUSED_SOOTOPOLIS_DEEP_WATER_2 0x1A #define MB_STAIRS_OUTSIDE_ABANDONED_SHIP 0x1B #define MB_SHOAL_CAVE_ENTRANCE 0x1C -#define MB_UNUSED_1D 0x1D -#define MB_UNUSED_1E 0x1E -#define MB_UNUSED_1F 0x1F +#define MB_SIGNPOST 0x1D +#define MB_POKEMON_CENTER_SIGN 0x1E +#define MB_POKEMART_SIGN 0x1F #define MB_ICE 0x20 #define MB_SAND 0x21 #define MB_SEAWEED 0x22 @@ -74,13 +74,13 @@ #define MB_SLIDE_NORTH 0x46 #define MB_SLIDE_SOUTH 0x47 #define MB_TRICK_HOUSE_PUZZLE_8_FLOOR 0x48 -#define MB_UNUSED_49 0x49 -#define MB_UNUSED_4A 0x4A -#define MB_UNUSED_4B 0x4B -#define MB_UNUSED_4C 0x4C -#define MB_UNUSED_4D 0x4D -#define MB_UNUSED_4E 0x4E -#define MB_UNUSED_4F 0x4F +#define MB_SIDEWAYS_STAIRS_RIGHT_SIDE 0x49 +#define MB_SIDEWAYS_STAIRS_LEFT_SIDE 0x4A +#define MB_SIDEWAYS_STAIRS_RIGHT_SIDE_TOP 0x4B +#define MB_SIDEWAYS_STAIRS_LEFT_SIDE_TOP 0x4C +#define MB_SIDEWAYS_STAIRS_RIGHT_SIDE_BOTTOM 0x4D +#define MB_SIDEWAYS_STAIRS_LEFT_SIDE_BOTTOM 0x4E +#define MB_ROCK_STAIRS 0x4F #define MB_EASTWARD_CURRENT 0x50 #define MB_WESTWARD_CURRENT 0x51 #define MB_NORTHWARD_CURRENT 0x52 @@ -236,10 +236,10 @@ #define MB_WIRELESS_BOX_RESULTS 0xE8 #define MB_TRAINER_HILL_TIMER 0xE9 #define MB_SKY_PILLAR_CLOSED_DOOR 0xEA -#define MB_UNUSED_EB 0xEB -#define MB_UNUSED_EC 0xEC -#define MB_UNUSED_ED 0xED -#define MB_UNUSED_EE 0xEE +#define MB_UP_RIGHT_STAIR_WARP 0xEB +#define MB_UP_LEFT_STAIR_WARP 0xEC +#define MB_DOWN_RIGHT_STAIR_WARP 0xED +#define MB_DOWN_LEFT_STAIR_WARP 0xEE #define MB_UNUSED_EF 0xEF #define NUM_METATILE_BEHAVIORS 0xF0 diff --git a/include/constants/pokedex.h b/include/constants/pokedex.h index 8058f01e5c97..241198e1786b 100644 --- a/include/constants/pokedex.h +++ b/include/constants/pokedex.h @@ -1327,4 +1327,18 @@ enum { #define DEX_HGSS_Y_BOTTOM_PADDING 4 #define DEX_HGSS_MEASUREMENT_X_PADDING 51 +enum +{ + DEX_MODE_HOENN, + DEX_MODE_NATIONAL +}; + +enum +{ + FLAG_GET_SEEN, + FLAG_GET_CAUGHT, + FLAG_SET_SEEN, + FLAG_SET_CAUGHT +}; + #endif // GUARD_CONSTANTS_POKEDEX_H diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index b29860812c90..ab0f6b845343 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -243,71 +243,74 @@ #define F_SUMMARY_SCREEN_FLIP_SPRITE 0x80 -// Evolution types #define EVOLUTIONS_END 0xFFFF // Not an actual evolution, used to mark the end of an evolution array. -#define EVO_NONE 0 // Not an actual evolution, used to generate offspring that can't evolve into the specified species, like regional forms. -#define EVO_FRIENDSHIP 1 // Pokémon levels up with friendship ≥ 220 -#define EVO_FRIENDSHIP_DAY 2 // Pokémon levels up during the day with friendship ≥ 220 -#define EVO_FRIENDSHIP_NIGHT 3 // Pokémon levels up at night with friendship ≥ 220 -#define EVO_LEVEL 4 // Pokémon reaches the specified level -#define EVO_TRADE 5 // Pokémon is traded -#define EVO_TRADE_ITEM 6 // Pokémon is traded while it's holding the specified item -#define EVO_ITEM 7 // specified item is used on Pokémon -#define EVO_LEVEL_ATK_GT_DEF 8 // Pokémon reaches the specified level with attack > defense -#define EVO_LEVEL_ATK_EQ_DEF 9 // Pokémon reaches the specified level with attack = defense -#define EVO_LEVEL_ATK_LT_DEF 10 // Pokémon reaches the specified level with attack < defense -#define EVO_LEVEL_SILCOON 11 // Pokémon reaches the specified level with a Silcoon personality value -#define EVO_LEVEL_CASCOON 12 // Pokémon reaches the specified level with a Cascoon personality value -#define EVO_LEVEL_NINJASK 13 // Pokémon reaches the specified level (special value for Ninjask) -#define EVO_LEVEL_SHEDINJA 14 // Pokémon reaches the specified level (special value for Shedinja) -#define EVO_BEAUTY 15 // Pokémon levels up with beauty ≥ specified value -#define EVO_LEVEL_FEMALE 16 // Pokémon reaches the specified level, is female -#define EVO_LEVEL_MALE 17 // Pokémon reaches the specified level, is male -#define EVO_LEVEL_NIGHT 18 // Pokémon reaches the specified level, is night -#define EVO_LEVEL_DAY 19 // Pokémon reaches the specified level, is day -#define EVO_LEVEL_DUSK 20 // Pokémon reaches the specified level, is dusk (5-6 P.M) -#define EVO_ITEM_HOLD_DAY 21 // Pokémon levels up, holds specified item at day -#define EVO_ITEM_HOLD_NIGHT 22 // Pokémon levels up, holds specified item at night -#define EVO_MOVE 23 // Pokémon levels up, knows specified move -#define EVO_FRIENDSHIP_MOVE_TYPE 24 // Pokémon levels up with friendship ≥ 220, knows move with specified type -#define EVO_MAPSEC 25 // Pokémon levels up on specified mapsec -#define EVO_ITEM_MALE 26 // specified item is used on a male Pokémon -#define EVO_ITEM_FEMALE 27 // specified item is used on a female Pokémon -#define EVO_LEVEL_RAIN 28 // Pokémon reaches the specified level during rain in the overworld -#define EVO_SPECIFIC_MON_IN_PARTY 29 // Pokémon levels up with a specified Pokémon in party -#define EVO_LEVEL_DARK_TYPE_MON_IN_PARTY 30 // Pokémon reaches the specified level with a Dark Type Pokémon in party -#define EVO_TRADE_SPECIFIC_MON 31 // Pokémon is traded for a specified Pokémon -#define EVO_SPECIFIC_MAP 32 // Pokémon levels up on specified map -#define EVO_LEVEL_NATURE_AMPED 33 // Pokémon reaches the specified level, it has a Hardy, Brave, Adamant, Naughty, Docile, Impish, Lax, Hasty, Jolly, Naive, Rash, Sassy, or Quirky nature. -#define EVO_LEVEL_NATURE_LOW_KEY 34 // Pokémon reaches the specified level, it has a Lonely, Bold, Relaxed, Timid, Serious, Modest, Mild, Quiet, Bashful, Calm, Gentle, or Careful nature. -#define EVO_CRITICAL_HITS 35 // Pokémon performs specified number of critical hits in one battle -#define EVO_SCRIPT_TRIGGER_DMG 36 // Pokémon has specified HP below max, then player interacts trigger -#define EVO_DARK_SCROLL 37 // interacts with Scroll of Darkness -#define EVO_WATER_SCROLL 38 // interacts with Scroll of Waters -#define EVO_ITEM_NIGHT 39 // specified item is used on Pokémon, is night -#define EVO_ITEM_DAY 40 // specified item is used on Pokémon, is day -#define EVO_ITEM_HOLD 41 // Pokémon levels up, holds specified item -#define EVO_LEVEL_FOG 42 // Pokémon reaches the specified level during fog in the overworld -#define EVO_MOVE_TWO_SEGMENT 43 // Pokémon levels up, knows specified move, has a personality value with a modulus of 0 -#define EVO_MOVE_THREE_SEGMENT 44 // Pokémon levels up, knows specified move, has a personality value with a modulus of 1-99 -#define EVO_LEVEL_FAMILY_OF_THREE 45 // Pokémon reaches the specified level in battle with a personality value with a modulus of 0 -#define EVO_LEVEL_FAMILY_OF_FOUR 46 // Pokémon reaches the specified level in battle with a personality value with a modulus of 1-99 -#define EVO_USE_MOVE_TWENTY_TIMES 47 // Pokémon levels up after having used a move for at least 20 times -#define EVO_RECOIL_DAMAGE_MALE 48 // Pokémon levels up after having suffered specified amount of non-fainting recoil damage as a male -#define EVO_RECOIL_DAMAGE_FEMALE 49 // Pokémon levels up after having suffered specified amount of non-fainting recoil damage as a female -#define EVO_ITEM_COUNT_999 50 // Pokémon levels up after trainer has collected 999 of a specific item -#define EVO_DEFEAT_THREE_WITH_ITEM 51 // Pokémon levels up after having defeat 3 Pokémon of the same species holding the specified item -#define EVO_OVERWORLD_STEPS 52 // Pokémon levels up after having taken a specific amount of steps in the overworld (or as the party lead if OW_FOLLOWERS_ENABLED is FALSE) without switching - -// Evolution 'modes,' for GetEvolutionTargetSpecies -#define EVO_MODE_NORMAL 0 -#define EVO_MODE_CANT_STOP 1 -#define EVO_MODE_TRADE 2 -#define EVO_MODE_ITEM_USE 3 -#define EVO_MODE_ITEM_CHECK 4 // If an Everstone is being held, still want to show that the stone *could* be used on that Pokémon to evolve -#define EVO_MODE_BATTLE_SPECIAL 5 -#define EVO_MODE_OVERWORLD_SPECIAL 6 -#define EVO_MODE_BATTLE_ONLY 7 // This mode is only used in battles to support Tandemaus' unique requirement + +enum EvolutionMethods { + EVO_NONE, // Not an actual evolution, used to generate offspring that can't evolve into the specified species, like regional forms. + EVO_FRIENDSHIP, // Pokémon levels up with friendship ≥ 220 + EVO_FRIENDSHIP_DAY, // Pokémon levels up during the day with friendship ≥ 220 + EVO_FRIENDSHIP_NIGHT, // Pokémon levels up at night with friendship ≥ 220 + EVO_LEVEL, // Pokémon reaches the specified level + EVO_TRADE, // Pokémon is traded + EVO_TRADE_ITEM, // Pokémon is traded while it's holding the specified item + EVO_ITEM, // specified item is used on Pokémon + EVO_LEVEL_ATK_GT_DEF, // Pokémon reaches the specified level with attack > defense + EVO_LEVEL_ATK_EQ_DEF, // Pokémon reaches the specified level with attack = defense + EVO_LEVEL_ATK_LT_DEF, // Pokémon reaches the specified level with attack < defense + EVO_LEVEL_SILCOON, // Pokémon reaches the specified level with a Silcoon personality value + EVO_LEVEL_CASCOON, // Pokémon reaches the specified level with a Cascoon personality value + EVO_LEVEL_NINJASK, // Pokémon reaches the specified level (special value for Ninjask) + EVO_LEVEL_SHEDINJA, // Pokémon reaches the specified level (special value for Shedinja) + EVO_BEAUTY, // Pokémon levels up with beauty ≥ specified value + EVO_LEVEL_FEMALE, // Pokémon reaches the specified level, is female + EVO_LEVEL_MALE, // Pokémon reaches the specified level, is male + EVO_LEVEL_NIGHT, // Pokémon reaches the specified level, is night + EVO_LEVEL_DAY, // Pokémon reaches the specified level, is day + EVO_LEVEL_DUSK, // Pokémon reaches the specified level, is dusk (5-6 P.M) + EVO_ITEM_HOLD_DAY, // Pokémon levels up, holds specified item at day + EVO_ITEM_HOLD_NIGHT, // Pokémon levels up, holds specified item at night + EVO_MOVE, // Pokémon levels up, knows specified move + EVO_FRIENDSHIP_MOVE_TYPE, // Pokémon levels up with friendship ≥ 220, knows move with specified type + EVO_MAPSEC, // Pokémon levels up on specified mapsec + EVO_ITEM_MALE, // specified item is used on a male Pokémon + EVO_ITEM_FEMALE, // specified item is used on a female Pokémon + EVO_LEVEL_RAIN, // Pokémon reaches the specified level during rain in the overworld + EVO_SPECIFIC_MON_IN_PARTY, // Pokémon levels up with a specified Pokémon in party + EVO_LEVEL_DARK_TYPE_MON_IN_PARTY, // Pokémon reaches the specified level with a Dark Type Pokémon in party + EVO_TRADE_SPECIFIC_MON, // Pokémon is traded for a specified Pokémon + EVO_SPECIFIC_MAP, // Pokémon levels up on specified map + EVO_LEVEL_NATURE_AMPED, // Pokémon reaches the specified level, it has a Hardy, Brave, Adamant, Naughty, Docile, Impish, Lax, Hasty, Jolly, Naive, Rash, Sassy, or Quirky nature. + EVO_LEVEL_NATURE_LOW_KEY, // Pokémon reaches the specified level, it has a Lonely, Bold, Relaxed, Timid, Serious, Modest, Mild, Quiet, Bashful, Calm, Gentle, or Careful nature. + EVO_CRITICAL_HITS, // Pokémon performs specified number of critical hits in one battle + EVO_SCRIPT_TRIGGER_DMG, // Pokémon has specified HP below max, then player interacts trigger + EVO_DARK_SCROLL, // interacts with Scroll of Darkness + EVO_WATER_SCROLL, // interacts with Scroll of Waters + EVO_ITEM_NIGHT, // specified item is used on Pokémon, is night + EVO_ITEM_DAY, // specified item is used on Pokémon, is day + EVO_ITEM_HOLD, // Pokémon levels up, holds specified item + EVO_LEVEL_FOG, // Pokémon reaches the specified level during fog in the overworld + EVO_MOVE_TWO_SEGMENT, // Pokémon levels up, knows specified move, has a personality value with a modulus of 0 + EVO_MOVE_THREE_SEGMENT, // Pokémon levels up, knows specified move, has a personality value with a modulus of 1-99 + EVO_LEVEL_FAMILY_OF_THREE, // Pokémon reaches the specified level in battle with a personality value with a modulus of 0 + EVO_LEVEL_FAMILY_OF_FOUR, // Pokémon reaches the specified level in battle with a personality value with a modulus of 1-99 + EVO_USE_MOVE_TWENTY_TIMES, // Pokémon levels up after having used a move for at least 20 times + EVO_RECOIL_DAMAGE_MALE, // Pokémon levels up after having suffered specified amount of non-fainting recoil damage as a male + EVO_RECOIL_DAMAGE_FEMALE, // Pokémon levels up after having suffered specified amount of non-fainting recoil damage as a female + EVO_ITEM_COUNT_999, // Pokémon levels up after trainer has collected 999 of a specific item + EVO_DEFEAT_THREE_WITH_ITEM, // Pokémon levels up after having defeat 3 Pokémon of the same species holding the specified item + EVO_OVERWORLD_STEPS, // Pokémon levels up after having taken a specific amount of steps in the overworld +}; + +enum EvolutionMode { + EVO_MODE_NORMAL, + EVO_MODE_CANT_STOP, + EVO_MODE_TRADE, + EVO_MODE_ITEM_USE, + EVO_MODE_ITEM_CHECK, // If an Everstone is being held, still want to show that the stone *could* be used on that Pokémon to evolve + EVO_MODE_BATTLE_SPECIAL, + EVO_MODE_OVERWORLD_SPECIAL, + EVO_MODE_BATTLE_ONLY, // This mode is only used in battles to support Tandemaus' unique requirement +}; #define MON_PIC_WIDTH 64 #define MON_PIC_HEIGHT 64 @@ -332,6 +335,10 @@ // Used as a signal for givemon to generate a default ability by personality. #define NUM_ABILITY_PERSONALITY 0xFF +#if P_LEGENDARY_PERFECT_IVS >= GEN_6 #define LEGENDARY_PERFECT_IV_COUNT 3 +#else +#define LEGENDARY_PERFECT_IV_COUNT 0 +#endif #endif // GUARD_CONSTANTS_POKEMON_H diff --git a/include/constants/species.h b/include/constants/species.h index a0cce513982d..b94a15a39640 100644 --- a/include/constants/species.h +++ b/include/constants/species.h @@ -1,6 +1,11 @@ #ifndef GUARD_CONSTANTS_SPECIES_H #define GUARD_CONSTANTS_SPECIES_H +// NOTE: The defines here are named in order to match Pokémon Showdown's naming conventions. This is done to avoid issues with trainerproc parsing species names. If a Pokémon does not have an entry on Showdown, use your best judgement. +// Additionally, we have tried to reduce down to as few defines as possible, because programs like porymap does not always properly handle having multiple defines. +// Discussion: https://github.com/rh-hideout/pokeemerald-expansion/pull/5075#issuecomment-2384088602 +// Showdown: https://github.com/smogon/Pokemon-Showdown/blob/master/data/pokedex.ts + #define SPECIES_NONE 0 #define SPECIES_BULBASAUR 1 #define SPECIES_IVYSAUR 2 @@ -415,12 +420,12 @@ #define SPECIES_RAMPARDOS 409 #define SPECIES_SHIELDON 410 #define SPECIES_BASTIODON 411 -#define SPECIES_BURMY SPECIES_BURMY_PLANT_CLOAK -#define SPECIES_BURMY_PLANT_CLOAK 412 -#define SPECIES_WORMADAM SPECIES_WORMADAM_PLANT_CLOAK -#define SPECIES_WORMADAM_PLANT_CLOAK 413 -#define SPECIES_MOTHIM SPECIES_MOTHIM_PLANT_CLOAK -#define SPECIES_MOTHIM_PLANT_CLOAK 414 +#define SPECIES_BURMY_PLANT 412 +#define SPECIES_BURMY SPECIES_BURMY_PLANT +#define SPECIES_WORMADAM_PLANT 413 +#define SPECIES_WORMADAM SPECIES_WORMADAM_PLANT +#define SPECIES_MOTHIM_PLANT 414 +#define SPECIES_MOTHIM SPECIES_MOTHIM_PLANT #define SPECIES_COMBEE 415 #define SPECIES_VESPIQUEN 416 #define SPECIES_PACHIRISU 417 @@ -429,10 +434,10 @@ #define SPECIES_CHERUBI 420 #define SPECIES_CHERRIM SPECIES_CHERRIM_OVERCAST #define SPECIES_CHERRIM_OVERCAST 421 -#define SPECIES_SHELLOS SPECIES_SHELLOS_WEST_SEA -#define SPECIES_SHELLOS_WEST_SEA 422 -#define SPECIES_GASTRODON SPECIES_GASTRODON_WEST_SEA -#define SPECIES_GASTRODON_WEST_SEA 423 +#define SPECIES_SHELLOS_WEST 422 +#define SPECIES_SHELLOS SPECIES_SHELLOS_WEST +#define SPECIES_GASTRODON_WEST 423 +#define SPECIES_GASTRODON SPECIES_GASTRODON_WEST #define SPECIES_AMBIPOM 424 #define SPECIES_DRIFLOON 425 #define SPECIES_DRIFBLIM 426 @@ -568,8 +573,8 @@ #define SPECIES_KROKOROK 552 #define SPECIES_KROOKODILE 553 #define SPECIES_DARUMAKA 554 -#define SPECIES_DARMANITAN SPECIES_DARMANITAN_STANDARD_MODE -#define SPECIES_DARMANITAN_STANDARD_MODE 555 +#define SPECIES_DARMANITAN SPECIES_DARMANITAN_STANDARD +#define SPECIES_DARMANITAN_STANDARD 555 #define SPECIES_MARACTUS 556 #define SPECIES_DWEBBLE 557 #define SPECIES_CRUSTLE 558 @@ -693,12 +698,12 @@ #define SPECIES_VIVILLON_ICY_SNOW 666 #define SPECIES_LITLEO 667 #define SPECIES_PYROAR 668 -#define SPECIES_FLABEBE SPECIES_FLABEBE_RED_FLOWER -#define SPECIES_FLABEBE_RED_FLOWER 669 -#define SPECIES_FLOETTE SPECIES_FLOETTE_RED_FLOWER -#define SPECIES_FLOETTE_RED_FLOWER 670 -#define SPECIES_FLORGES SPECIES_FLORGES_RED_FLOWER -#define SPECIES_FLORGES_RED_FLOWER 671 +#define SPECIES_FLABEBE SPECIES_FLABEBE_RED +#define SPECIES_FLABEBE_RED 669 +#define SPECIES_FLOETTE SPECIES_FLOETTE_RED +#define SPECIES_FLOETTE_RED 670 +#define SPECIES_FLORGES SPECIES_FLORGES_RED +#define SPECIES_FLORGES_RED 671 #define SPECIES_SKIDDO 672 #define SPECIES_GOGOAT 673 #define SPECIES_PANCHAM 674 @@ -706,8 +711,8 @@ #define SPECIES_FURFROU SPECIES_FURFROU_NATURAL #define SPECIES_FURFROU_NATURAL 676 #define SPECIES_ESPURR 677 -#define SPECIES_MEOWSTIC SPECIES_MEOWSTIC_MALE -#define SPECIES_MEOWSTIC_MALE 678 +#define SPECIES_MEOWSTIC SPECIES_MEOWSTIC_M +#define SPECIES_MEOWSTIC_M 678 #define SPECIES_HONEDGE 679 #define SPECIES_DOUBLADE 680 #define SPECIES_AEGISLASH SPECIES_AEGISLASH_SHIELD @@ -752,8 +757,7 @@ #define SPECIES_XERNEAS_NEUTRAL 716 #define SPECIES_YVELTAL 717 #define SPECIES_ZYGARDE SPECIES_ZYGARDE_50 -#define SPECIES_ZYGARDE_50 SPECIES_ZYGARDE_50_AURA_BREAK -#define SPECIES_ZYGARDE_50_AURA_BREAK 718 +#define SPECIES_ZYGARDE_50 718 #define SPECIES_DIANCIE 719 #define SPECIES_HOOPA SPECIES_HOOPA_CONFINED #define SPECIES_HOOPA_CONFINED 720 @@ -925,10 +929,10 @@ #define SPECIES_SNOM 872 #define SPECIES_FROSMOTH 873 #define SPECIES_STONJOURNER 874 -#define SPECIES_EISCUE SPECIES_EISCUE_ICE_FACE -#define SPECIES_EISCUE_ICE_FACE 875 -#define SPECIES_INDEEDEE SPECIES_INDEEDEE_MALE -#define SPECIES_INDEEDEE_MALE 876 +#define SPECIES_EISCUE SPECIES_EISCUE_ICE +#define SPECIES_EISCUE_ICE 875 +#define SPECIES_INDEEDEE SPECIES_INDEEDEE_M +#define SPECIES_INDEEDEE_M 876 #define SPECIES_MORPEKO SPECIES_MORPEKO_FULL_BELLY #define SPECIES_MORPEKO_FULL_BELLY 877 #define SPECIES_CUFANT 878 @@ -941,14 +945,14 @@ #define SPECIES_DREEPY 885 #define SPECIES_DRAKLOAK 886 #define SPECIES_DRAGAPULT 887 -#define SPECIES_ZACIAN SPECIES_ZACIAN_HERO_OF_MANY_BATTLES -#define SPECIES_ZACIAN_HERO_OF_MANY_BATTLES 888 -#define SPECIES_ZAMAZENTA SPECIES_ZAMAZENTA_HERO_OF_MANY_BATTLES -#define SPECIES_ZAMAZENTA_HERO_OF_MANY_BATTLES 889 +#define SPECIES_ZACIAN SPECIES_ZACIAN_HERO +#define SPECIES_ZACIAN_HERO 888 +#define SPECIES_ZAMAZENTA SPECIES_ZAMAZENTA_HERO +#define SPECIES_ZAMAZENTA_HERO 889 #define SPECIES_ETERNATUS 890 #define SPECIES_KUBFU 891 -#define SPECIES_URSHIFU SPECIES_URSHIFU_SINGLE_STRIKE_STYLE -#define SPECIES_URSHIFU_SINGLE_STRIKE_STYLE 892 +#define SPECIES_URSHIFU SPECIES_URSHIFU_SINGLE_STRIKE +#define SPECIES_URSHIFU_SINGLE_STRIKE 892 #define SPECIES_ZARUDE 893 #define SPECIES_REGIELEKI 894 #define SPECIES_REGIDRAGO 895 @@ -958,8 +962,8 @@ #define SPECIES_WYRDEER 899 #define SPECIES_KLEAVOR 900 #define SPECIES_URSALUNA 901 -#define SPECIES_BASCULEGION SPECIES_BASCULEGION_MALE -#define SPECIES_BASCULEGION_MALE 902 +#define SPECIES_BASCULEGION SPECIES_BASCULEGION_M +#define SPECIES_BASCULEGION_M 902 #define SPECIES_SNEASLER 903 #define SPECIES_OVERQWIL 904 #define SPECIES_ENAMORUS SPECIES_ENAMORUS_INCARNATE @@ -1014,78 +1018,78 @@ #define SPECIES_RAYQUAZA_MEGA 953 #define SPECIES_KYOGRE_PRIMAL 954 #define SPECIES_GROUDON_PRIMAL 955 -#define SPECIES_RATTATA_ALOLAN 956 -#define SPECIES_RATICATE_ALOLAN 957 -#define SPECIES_RAICHU_ALOLAN 958 -#define SPECIES_SANDSHREW_ALOLAN 959 -#define SPECIES_SANDSLASH_ALOLAN 960 -#define SPECIES_VULPIX_ALOLAN 961 -#define SPECIES_NINETALES_ALOLAN 962 -#define SPECIES_DIGLETT_ALOLAN 963 -#define SPECIES_DUGTRIO_ALOLAN 964 -#define SPECIES_MEOWTH_ALOLAN 965 -#define SPECIES_PERSIAN_ALOLAN 966 -#define SPECIES_GEODUDE_ALOLAN 967 -#define SPECIES_GRAVELER_ALOLAN 968 -#define SPECIES_GOLEM_ALOLAN 969 -#define SPECIES_GRIMER_ALOLAN 970 -#define SPECIES_MUK_ALOLAN 971 -#define SPECIES_EXEGGUTOR_ALOLAN 972 -#define SPECIES_MAROWAK_ALOLAN 973 -#define SPECIES_MEOWTH_GALARIAN 974 -#define SPECIES_PONYTA_GALARIAN 975 -#define SPECIES_RAPIDASH_GALARIAN 976 -#define SPECIES_SLOWPOKE_GALARIAN 977 -#define SPECIES_SLOWBRO_GALARIAN 978 -#define SPECIES_FARFETCHD_GALARIAN 979 -#define SPECIES_WEEZING_GALARIAN 980 -#define SPECIES_MR_MIME_GALARIAN 981 -#define SPECIES_ARTICUNO_GALARIAN 982 -#define SPECIES_ZAPDOS_GALARIAN 983 -#define SPECIES_MOLTRES_GALARIAN 984 -#define SPECIES_SLOWKING_GALARIAN 985 -#define SPECIES_CORSOLA_GALARIAN 986 -#define SPECIES_ZIGZAGOON_GALARIAN 987 -#define SPECIES_LINOONE_GALARIAN 988 -#define SPECIES_DARUMAKA_GALARIAN 989 -#define SPECIES_DARMANITAN_GALARIAN SPECIES_DARMANITAN_GALARIAN_STANDARD_MODE -#define SPECIES_DARMANITAN_GALARIAN_STANDARD_MODE 990 -#define SPECIES_YAMASK_GALARIAN 991 -#define SPECIES_STUNFISK_GALARIAN 992 +#define SPECIES_RATTATA_ALOLA 956 +#define SPECIES_RATICATE_ALOLA 957 +#define SPECIES_RAICHU_ALOLA 958 +#define SPECIES_SANDSHREW_ALOLA 959 +#define SPECIES_SANDSLASH_ALOLA 960 +#define SPECIES_VULPIX_ALOLA 961 +#define SPECIES_NINETALES_ALOLA 962 +#define SPECIES_DIGLETT_ALOLA 963 +#define SPECIES_DUGTRIO_ALOLA 964 +#define SPECIES_MEOWTH_ALOLA 965 +#define SPECIES_PERSIAN_ALOLA 966 +#define SPECIES_GEODUDE_ALOLA 967 +#define SPECIES_GRAVELER_ALOLA 968 +#define SPECIES_GOLEM_ALOLA 969 +#define SPECIES_GRIMER_ALOLA 970 +#define SPECIES_MUK_ALOLA 971 +#define SPECIES_EXEGGUTOR_ALOLA 972 +#define SPECIES_MAROWAK_ALOLA 973 +#define SPECIES_MEOWTH_GALAR 974 +#define SPECIES_PONYTA_GALAR 975 +#define SPECIES_RAPIDASH_GALAR 976 +#define SPECIES_SLOWPOKE_GALAR 977 +#define SPECIES_SLOWBRO_GALAR 978 +#define SPECIES_FARFETCHD_GALAR 979 +#define SPECIES_WEEZING_GALAR 980 +#define SPECIES_MR_MIME_GALAR 981 +#define SPECIES_ARTICUNO_GALAR 982 +#define SPECIES_ZAPDOS_GALAR 983 +#define SPECIES_MOLTRES_GALAR 984 +#define SPECIES_SLOWKING_GALAR 985 +#define SPECIES_CORSOLA_GALAR 986 +#define SPECIES_ZIGZAGOON_GALAR 987 +#define SPECIES_LINOONE_GALAR 988 +#define SPECIES_DARUMAKA_GALAR 989 +#define SPECIES_DARMANITAN_GALAR_STANDARD 990 +#define SPECIES_DARMANITAN_GALAR SPECIES_DARMANITAN_GALAR_STANDARD +#define SPECIES_YAMASK_GALAR 991 +#define SPECIES_STUNFISK_GALAR 992 //Hisuian Forms -#define SPECIES_GROWLITHE_HISUIAN 993 -#define SPECIES_ARCANINE_HISUIAN 994 -#define SPECIES_VOLTORB_HISUIAN 995 -#define SPECIES_ELECTRODE_HISUIAN 996 -#define SPECIES_TYPHLOSION_HISUIAN 997 -#define SPECIES_QWILFISH_HISUIAN 998 -#define SPECIES_SNEASEL_HISUIAN 999 -#define SPECIES_SAMUROTT_HISUIAN 1000 -#define SPECIES_LILLIGANT_HISUIAN 1001 -#define SPECIES_ZORUA_HISUIAN 1002 -#define SPECIES_ZOROARK_HISUIAN 1003 -#define SPECIES_BRAVIARY_HISUIAN 1004 -#define SPECIES_SLIGGOO_HISUIAN 1005 -#define SPECIES_GOODRA_HISUIAN 1006 -#define SPECIES_AVALUGG_HISUIAN 1007 -#define SPECIES_DECIDUEYE_HISUIAN 1008 +#define SPECIES_GROWLITHE_HISUI 993 +#define SPECIES_ARCANINE_HISUI 994 +#define SPECIES_VOLTORB_HISUI 995 +#define SPECIES_ELECTRODE_HISUI 996 +#define SPECIES_TYPHLOSION_HISUI 997 +#define SPECIES_QWILFISH_HISUI 998 +#define SPECIES_SNEASEL_HISUI 999 +#define SPECIES_SAMUROTT_HISUI 1000 +#define SPECIES_LILLIGANT_HISUI 1001 +#define SPECIES_ZORUA_HISUI 1002 +#define SPECIES_ZOROARK_HISUI 1003 +#define SPECIES_BRAVIARY_HISUI 1004 +#define SPECIES_SLIGGOO_HISUI 1005 +#define SPECIES_GOODRA_HISUI 1006 +#define SPECIES_AVALUGG_HISUI 1007 +#define SPECIES_DECIDUEYE_HISUI 1008 // Misc Forms #define SPECIES_PIKACHU_COSPLAY 1009 #define SPECIES_PIKACHU_ROCK_STAR 1010 #define SPECIES_PIKACHU_BELLE 1011 #define SPECIES_PIKACHU_POP_STAR 1012 -#define SPECIES_PIKACHU_PH_D 1013 +#define SPECIES_PIKACHU_PHD 1013 #define SPECIES_PIKACHU_LIBRE 1014 -#define SPECIES_PIKACHU_ORIGINAL_CAP 1015 -#define SPECIES_PIKACHU_HOENN_CAP 1016 -#define SPECIES_PIKACHU_SINNOH_CAP 1017 -#define SPECIES_PIKACHU_UNOVA_CAP 1018 -#define SPECIES_PIKACHU_KALOS_CAP 1019 -#define SPECIES_PIKACHU_ALOLA_CAP 1020 -#define SPECIES_PIKACHU_PARTNER_CAP 1021 -#define SPECIES_PIKACHU_WORLD_CAP 1022 +#define SPECIES_PIKACHU_ORIGINAL 1015 +#define SPECIES_PIKACHU_HOENN 1016 +#define SPECIES_PIKACHU_SINNOH 1017 +#define SPECIES_PIKACHU_UNOVA 1018 +#define SPECIES_PIKACHU_KALOS 1019 +#define SPECIES_PIKACHU_ALOLA 1020 +#define SPECIES_PIKACHU_PARTNER 1021 +#define SPECIES_PIKACHU_WORLD 1022 #define SPECIES_PICHU_SPIKY_EARED 1023 #define SPECIES_UNOWN_B 1024 #define SPECIES_UNOWN_C 1025 @@ -1112,21 +1116,21 @@ #define SPECIES_UNOWN_X 1046 #define SPECIES_UNOWN_Y 1047 #define SPECIES_UNOWN_Z 1048 -#define SPECIES_UNOWN_EMARK 1049 -#define SPECIES_UNOWN_QMARK 1050 +#define SPECIES_UNOWN_EXCLAMATION 1049 +#define SPECIES_UNOWN_QUESTION 1050 #define SPECIES_CASTFORM_SUNNY 1051 #define SPECIES_CASTFORM_RAINY 1052 #define SPECIES_CASTFORM_SNOWY 1053 #define SPECIES_DEOXYS_ATTACK 1054 #define SPECIES_DEOXYS_DEFENSE 1055 #define SPECIES_DEOXYS_SPEED 1056 -#define SPECIES_BURMY_SANDY_CLOAK 1057 -#define SPECIES_BURMY_TRASH_CLOAK 1058 -#define SPECIES_WORMADAM_SANDY_CLOAK 1059 -#define SPECIES_WORMADAM_TRASH_CLOAK 1060 +#define SPECIES_BURMY_SANDY 1057 +#define SPECIES_BURMY_TRASH 1058 +#define SPECIES_WORMADAM_SANDY 1059 +#define SPECIES_WORMADAM_TRASH 1060 #define SPECIES_CHERRIM_SUNSHINE 1061 -#define SPECIES_SHELLOS_EAST_SEA 1062 -#define SPECIES_GASTRODON_EAST_SEA 1063 +#define SPECIES_SHELLOS_EAST 1062 +#define SPECIES_GASTRODON_EAST 1063 #define SPECIES_ROTOM_HEAT 1064 #define SPECIES_ROTOM_WASH 1065 #define SPECIES_ROTOM_FROST 1066 @@ -1155,8 +1159,8 @@ #define SPECIES_ARCEUS_FAIRY 1089 #define SPECIES_BASCULIN_BLUE_STRIPED 1090 #define SPECIES_BASCULIN_WHITE_STRIPED 1091 -#define SPECIES_DARMANITAN_ZEN_MODE 1092 -#define SPECIES_DARMANITAN_GALARIAN_ZEN_MODE 1093 +#define SPECIES_DARMANITAN_ZEN 1092 +#define SPECIES_DARMANITAN_GALAR_ZEN 1093 #define SPECIES_DEERLING_SUMMER 1094 #define SPECIES_DEERLING_AUTUMN 1095 #define SPECIES_DEERLING_WINTER 1096 @@ -1171,11 +1175,12 @@ #define SPECIES_KYUREM_BLACK 1105 #define SPECIES_KELDEO_RESOLUTE 1106 #define SPECIES_MELOETTA_PIROUETTE 1107 -#define SPECIES_GENESECT_DOUSE_DRIVE 1108 -#define SPECIES_GENESECT_SHOCK_DRIVE 1109 -#define SPECIES_GENESECT_BURN_DRIVE 1110 -#define SPECIES_GENESECT_CHILL_DRIVE 1111 -#define SPECIES_GRENINJA_BATTLE_BOND 1112 +#define SPECIES_GENESECT_DOUSE 1108 +#define SPECIES_GENESECT_SHOCK 1109 +#define SPECIES_GENESECT_BURN 1110 +#define SPECIES_GENESECT_CHILL 1111 +#define SPECIES_GRENINJA_BOND 1112 +#define SPECIES_GRENINJA_BATTLE_BOND SPECIES_GRENINJA_BOND #define SPECIES_GRENINJA_ASH 1113 #define SPECIES_VIVILLON_POLAR 1114 #define SPECIES_VIVILLON_TUNDRA 1115 @@ -1195,20 +1200,20 @@ #define SPECIES_VIVILLON_OCEAN 1129 #define SPECIES_VIVILLON_JUNGLE 1130 #define SPECIES_VIVILLON_FANCY 1131 -#define SPECIES_VIVILLON_POKE_BALL 1132 -#define SPECIES_FLABEBE_YELLOW_FLOWER 1133 -#define SPECIES_FLABEBE_ORANGE_FLOWER 1134 -#define SPECIES_FLABEBE_BLUE_FLOWER 1135 -#define SPECIES_FLABEBE_WHITE_FLOWER 1136 -#define SPECIES_FLOETTE_YELLOW_FLOWER 1137 -#define SPECIES_FLOETTE_ORANGE_FLOWER 1138 -#define SPECIES_FLOETTE_BLUE_FLOWER 1139 -#define SPECIES_FLOETTE_WHITE_FLOWER 1140 -#define SPECIES_FLOETTE_ETERNAL_FLOWER 1141 -#define SPECIES_FLORGES_YELLOW_FLOWER 1142 -#define SPECIES_FLORGES_ORANGE_FLOWER 1143 -#define SPECIES_FLORGES_BLUE_FLOWER 1144 -#define SPECIES_FLORGES_WHITE_FLOWER 1145 +#define SPECIES_VIVILLON_POKEBALL 1132 +#define SPECIES_FLABEBE_YELLOW 1133 +#define SPECIES_FLABEBE_ORANGE 1134 +#define SPECIES_FLABEBE_BLUE 1135 +#define SPECIES_FLABEBE_WHITE 1136 +#define SPECIES_FLOETTE_YELLOW 1137 +#define SPECIES_FLOETTE_ORANGE 1138 +#define SPECIES_FLOETTE_BLUE 1139 +#define SPECIES_FLOETTE_WHITE 1140 +#define SPECIES_FLOETTE_ETERNAL 1141 +#define SPECIES_FLORGES_YELLOW 1142 +#define SPECIES_FLORGES_ORANGE 1143 +#define SPECIES_FLORGES_BLUE 1144 +#define SPECIES_FLORGES_WHITE 1145 #define SPECIES_FURFROU_HEART_TRIM 1146 #define SPECIES_FURFROU_STAR_TRIM 1147 #define SPECIES_FURFROU_DIAMOND_TRIM 1148 @@ -1218,7 +1223,7 @@ #define SPECIES_FURFROU_LA_REINE_TRIM 1152 #define SPECIES_FURFROU_KABUKI_TRIM 1153 #define SPECIES_FURFROU_PHARAOH_TRIM 1154 -#define SPECIES_MEOWSTIC_FEMALE 1155 +#define SPECIES_MEOWSTIC_F 1155 #define SPECIES_AEGISLASH_BLADE 1156 #define SPECIES_PUMPKABOO_SMALL 1157 #define SPECIES_PUMPKABOO_LARGE 1158 @@ -1281,7 +1286,7 @@ #define SPECIES_NECROZMA_DUSK_MANE 1207 #define SPECIES_NECROZMA_DAWN_WINGS 1208 #define SPECIES_NECROZMA_ULTRA 1209 -#define SPECIES_MAGEARNA_ORIGINAL_COLOR 1210 +#define SPECIES_MAGEARNA_ORIGINAL 1210 #define SPECIES_CRAMORANT_GULPING 1211 #define SPECIES_CRAMORANT_GORGING 1212 #define SPECIES_TOXTRICITY_LOW_KEY 1213 @@ -1303,17 +1308,17 @@ #define SPECIES_ALCREMIE_STRAWBERRY_RUBY_SWIRL 1221 #define SPECIES_ALCREMIE_STRAWBERRY_CARAMEL_SWIRL 1222 #define SPECIES_ALCREMIE_STRAWBERRY_RAINBOW_SWIRL 1223 -#define SPECIES_EISCUE_NOICE_FACE 1224 -#define SPECIES_INDEEDEE_FEMALE 1225 +#define SPECIES_EISCUE_NOICE 1224 +#define SPECIES_INDEEDEE_F 1225 #define SPECIES_MORPEKO_HANGRY 1226 -#define SPECIES_ZACIAN_CROWNED_SWORD 1227 -#define SPECIES_ZAMAZENTA_CROWNED_SHIELD 1228 +#define SPECIES_ZACIAN_CROWNED 1227 +#define SPECIES_ZAMAZENTA_CROWNED 1228 #define SPECIES_ETERNATUS_ETERNAMAX 1229 -#define SPECIES_URSHIFU_RAPID_STRIKE_STYLE 1230 +#define SPECIES_URSHIFU_RAPID_STRIKE 1230 #define SPECIES_ZARUDE_DADA 1231 -#define SPECIES_CALYREX_ICE_RIDER 1232 -#define SPECIES_CALYREX_SHADOW_RIDER 1233 -#define SPECIES_BASCULEGION_FEMALE 1234 +#define SPECIES_CALYREX_ICE 1232 +#define SPECIES_CALYREX_SHADOW 1233 +#define SPECIES_BASCULEGION_F 1234 #define SPECIES_ALCREMIE_BERRY SPECIES_ALCREMIE_BERRY_VANILLA_CREAM #define SPECIES_ALCREMIE_BERRY_VANILLA_CREAM 1235 #define SPECIES_ALCREMIE_BERRY_RUBY_CREAM 1236 @@ -1387,9 +1392,9 @@ #define SPECIES_QUAXWELL 1296 #define SPECIES_QUAQUAVAL 1297 #define SPECIES_LECHONK 1298 -#define SPECIES_OINKOLOGNE SPECIES_OINKOLOGNE_MALE -#define SPECIES_OINKOLOGNE_MALE 1299 -#define SPECIES_OINKOLOGNE_FEMALE 1300 +#define SPECIES_OINKOLOGNE SPECIES_OINKOLOGNE_M +#define SPECIES_OINKOLOGNE_M 1299 +#define SPECIES_OINKOLOGNE_F 1300 #define SPECIES_TAROUNTULA 1301 #define SPECIES_SPIDOPS 1302 #define SPECIES_NYMBLE 1303 @@ -1398,19 +1403,19 @@ #define SPECIES_PAWMO 1306 #define SPECIES_PAWMOT 1307 #define SPECIES_TANDEMAUS 1308 -#define SPECIES_MAUSHOLD SPECIES_MAUSHOLD_FAMILY_OF_THREE -#define SPECIES_MAUSHOLD_FAMILY_OF_THREE 1309 -#define SPECIES_MAUSHOLD_FAMILY_OF_FOUR 1310 +#define SPECIES_MAUSHOLD SPECIES_MAUSHOLD_THREE +#define SPECIES_MAUSHOLD_THREE 1309 +#define SPECIES_MAUSHOLD_FOUR 1310 #define SPECIES_FIDOUGH 1311 #define SPECIES_DACHSBUN 1312 #define SPECIES_SMOLIV 1313 #define SPECIES_DOLLIV 1314 #define SPECIES_ARBOLIVA 1315 -#define SPECIES_SQUAWKABILLY SPECIES_SQUAWKABILLY_GREEN_PLUMAGE -#define SPECIES_SQUAWKABILLY_GREEN_PLUMAGE 1316 -#define SPECIES_SQUAWKABILLY_BLUE_PLUMAGE 1317 -#define SPECIES_SQUAWKABILLY_YELLOW_PLUMAGE 1318 -#define SPECIES_SQUAWKABILLY_WHITE_PLUMAGE 1319 +#define SPECIES_SQUAWKABILLY SPECIES_SQUAWKABILLY_GREEN +#define SPECIES_SQUAWKABILLY_GREEN 1316 +#define SPECIES_SQUAWKABILLY_BLUE 1317 +#define SPECIES_SQUAWKABILLY_YELLOW 1318 +#define SPECIES_SQUAWKABILLY_WHITE 1319 #define SPECIES_NACLI 1320 #define SPECIES_NACLSTACK 1321 #define SPECIES_GARGANACL 1322 @@ -1498,10 +1503,10 @@ #define SPECIES_KORAIDON 1400 #define SPECIES_MIRAIDON 1401 // Paldean Forms -#define SPECIES_TAUROS_PALDEAN_COMBAT_BREED 1402 -#define SPECIES_TAUROS_PALDEAN_BLAZE_BREED 1403 -#define SPECIES_TAUROS_PALDEAN_AQUA_BREED 1404 -#define SPECIES_WOOPER_PALDEAN 1405 +#define SPECIES_TAUROS_PALDEA_COMBAT 1402 +#define SPECIES_TAUROS_PALDEA_BLAZE 1403 +#define SPECIES_TAUROS_PALDEA_AQUA 1404 +#define SPECIES_WOOPER_PALDEA 1405 // Scarlet and Violet 1.2.0 #define SPECIES_WALKING_WAKE 1406 #define SPECIES_IRON_LEAVES 1407 @@ -1516,15 +1521,15 @@ #define SPECIES_OKIDOGI 1413 #define SPECIES_MUNKIDORI 1414 #define SPECIES_FEZANDIPITI 1415 -#define SPECIES_OGERPON SPECIES_OGERPON_TEAL_MASK -#define SPECIES_OGERPON_TEAL_MASK 1416 -#define SPECIES_OGERPON_WELLSPRING_MASK 1417 -#define SPECIES_OGERPON_HEARTHFLAME_MASK 1418 -#define SPECIES_OGERPON_CORNERSTONE_MASK 1419 -#define SPECIES_OGERPON_TEAL_MASK_TERA 1420 -#define SPECIES_OGERPON_WELLSPRING_MASK_TERA 1421 -#define SPECIES_OGERPON_HEARTHFLAME_MASK_TERA 1422 -#define SPECIES_OGERPON_CORNERSTONE_MASK_TERA 1423 +#define SPECIES_OGERPON SPECIES_OGERPON_TEAL +#define SPECIES_OGERPON_TEAL 1416 +#define SPECIES_OGERPON_WELLSPRING 1417 +#define SPECIES_OGERPON_HEARTHFLAME 1418 +#define SPECIES_OGERPON_CORNERSTONE 1419 +#define SPECIES_OGERPON_TEAL_TERA 1420 +#define SPECIES_OGERPON_WELLSPRING_TERA 1421 +#define SPECIES_OGERPON_HEARTHFLAME_TERA 1422 +#define SPECIES_OGERPON_CORNERSTONE_TERA 1423 #define SPECIES_URSALUNA_BLOODMOON 1424 // Indigo Disk #define SPECIES_ARCHALUDON 1425 @@ -1539,8 +1544,8 @@ #define SPECIES_TERAPAGOS_STELLAR 1433 #define SPECIES_PECHARUNT 1434 #define SPECIES_LUGIA_SHADOW 1435 -#define SPECIES_MOTHIM_SANDY_CLOAK 1436 -#define SPECIES_MOTHIM_TRASH_CLOAK 1437 +#define SPECIES_MOTHIM_SANDY 1436 +#define SPECIES_MOTHIM_TRASH 1437 #define SPECIES_SCATTERBUG_POLAR 1438 #define SPECIES_SCATTERBUG_TUNDRA 1439 #define SPECIES_SCATTERBUG_CONTINENTAL 1440 @@ -1559,7 +1564,7 @@ #define SPECIES_SCATTERBUG_OCEAN 1453 #define SPECIES_SCATTERBUG_JUNGLE 1454 #define SPECIES_SCATTERBUG_FANCY 1455 -#define SPECIES_SCATTERBUG_POKE_BALL 1456 +#define SPECIES_SCATTERBUG_POKEBALL 1456 #define SPECIES_SPEWPA_POLAR 1457 #define SPECIES_SPEWPA_TUNDRA 1458 #define SPECIES_SPEWPA_CONTINENTAL 1459 @@ -1578,8 +1583,8 @@ #define SPECIES_SPEWPA_OCEAN 1472 #define SPECIES_SPEWPA_JUNGLE 1473 #define SPECIES_SPEWPA_FANCY 1474 -#define SPECIES_SPEWPA_POKE_BALL 1475 -#define SPECIES_RATICATE_ALOLAN_TOTEM 1476 +#define SPECIES_SPEWPA_POKEBALL 1475 +#define SPECIES_RATICATE_ALOLA_TOTEM 1476 #define SPECIES_GUMSHOOS_TOTEM 1477 #define SPECIES_VIKAVOLT_TOTEM 1478 #define SPECIES_LURANTIS_TOTEM 1479 @@ -1587,191 +1592,56 @@ #define SPECIES_MIMIKYU_TOTEM SPECIES_MIMIKYU_TOTEM_DISGUISED #define SPECIES_MIMIKYU_TOTEM_DISGUISED 1481 #define SPECIES_KOMMO_O_TOTEM 1482 -#define SPECIES_MAROWAK_ALOLAN_TOTEM 1483 +#define SPECIES_MAROWAK_ALOLA_TOTEM 1483 #define SPECIES_RIBOMBEE_TOTEM 1484 #define SPECIES_ARAQUANID_TOTEM 1485 #define SPECIES_TOGEDEMARU_TOTEM 1486 -#define SPECIES_PIKACHU_PARTNER 1487 -#define SPECIES_EEVEE_PARTNER 1488 -#define SPECIES_VENUSAUR_GIGANTAMAX 1489 -#define SPECIES_BLASTOISE_GIGANTAMAX 1490 -#define SPECIES_CHARIZARD_GIGANTAMAX 1491 -#define SPECIES_BUTTERFREE_GIGANTAMAX 1492 -#define SPECIES_PIKACHU_GIGANTAMAX 1493 -#define SPECIES_MEOWTH_GIGANTAMAX 1494 -#define SPECIES_MACHAMP_GIGANTAMAX 1495 -#define SPECIES_GENGAR_GIGANTAMAX 1496 -#define SPECIES_KINGLER_GIGANTAMAX 1497 -#define SPECIES_LAPRAS_GIGANTAMAX 1498 -#define SPECIES_EEVEE_GIGANTAMAX 1499 -#define SPECIES_SNORLAX_GIGANTAMAX 1500 -#define SPECIES_GARBODOR_GIGANTAMAX 1501 -#define SPECIES_MELMETAL_GIGANTAMAX 1502 -#define SPECIES_RILLABOOM_GIGANTAMAX 1503 -#define SPECIES_CINDERACE_GIGANTAMAX 1504 -#define SPECIES_INTELEON_GIGANTAMAX 1505 -#define SPECIES_CORVIKNIGHT_GIGANTAMAX 1506 -#define SPECIES_ORBEETLE_GIGANTAMAX 1507 -#define SPECIES_DREDNAW_GIGANTAMAX 1508 -#define SPECIES_COALOSSAL_GIGANTAMAX 1509 -#define SPECIES_FLAPPLE_GIGANTAMAX 1510 -#define SPECIES_APPLETUN_GIGANTAMAX 1511 -#define SPECIES_SANDACONDA_GIGANTAMAX 1512 -#define SPECIES_TOXTRICITY_AMPED_GIGANTAMAX 1513 -#define SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX 1514 -#define SPECIES_CENTISKORCH_GIGANTAMAX 1515 -#define SPECIES_HATTERENE_GIGANTAMAX 1516 -#define SPECIES_GRIMMSNARL_GIGANTAMAX 1517 -#define SPECIES_ALCREMIE_GIGANTAMAX 1518 -#define SPECIES_COPPERAJAH_GIGANTAMAX 1519 -#define SPECIES_DURALUDON_GIGANTAMAX 1520 -#define SPECIES_URSHIFU_SINGLE_STRIKE_STYLE_GIGANTAMAX 1521 -#define SPECIES_URSHIFU_RAPID_STRIKE_STYLE_GIGANTAMAX 1522 -#define SPECIES_MIMIKYU_TOTEM_BUSTED 1523 +#define SPECIES_PIKACHU_STARTER 1487 +#define SPECIES_EEVEE_STARTER 1488 +#define SPECIES_VENUSAUR_GMAX 1489 +#define SPECIES_BLASTOISE_GMAX 1490 +#define SPECIES_CHARIZARD_GMAX 1491 +#define SPECIES_BUTTERFREE_GMAX 1492 +#define SPECIES_PIKACHU_GMAX 1493 +#define SPECIES_MEOWTH_GMAX 1494 +#define SPECIES_MACHAMP_GMAX 1495 +#define SPECIES_GENGAR_GMAX 1496 +#define SPECIES_KINGLER_GMAX 1497 +#define SPECIES_LAPRAS_GMAX 1498 +#define SPECIES_EEVEE_GMAX 1499 +#define SPECIES_SNORLAX_GMAX 1500 +#define SPECIES_GARBODOR_GMAX 1501 +#define SPECIES_MELMETAL_GMAX 1502 +#define SPECIES_RILLABOOM_GMAX 1503 +#define SPECIES_CINDERACE_GMAX 1504 +#define SPECIES_INTELEON_GMAX 1505 +#define SPECIES_CORVIKNIGHT_GMAX 1506 +#define SPECIES_ORBEETLE_GMAX 1507 +#define SPECIES_DREDNAW_GMAX 1508 +#define SPECIES_COALOSSAL_GMAX 1509 +#define SPECIES_FLAPPLE_GMAX 1510 +#define SPECIES_APPLETUN_GMAX 1511 +#define SPECIES_SANDACONDA_GMAX 1512 +#define SPECIES_TOXTRICITY_AMPED_GMAX 1513 +#define SPECIES_TOXTRICITY_LOW_KEY_GMAX 1514 +#define SPECIES_CENTISKORCH_GMAX 1515 +#define SPECIES_HATTERENE_GMAX 1516 +#define SPECIES_GRIMMSNARL_GMAX 1517 +#define SPECIES_ALCREMIE_GMAX 1518 +#define SPECIES_COPPERAJAH_GMAX 1519 +#define SPECIES_DURALUDON_GMAX 1520 +#define SPECIES_URSHIFU_SINGLE_STRIKE_GMAX 1521 +#define SPECIES_URSHIFU_GMAX SPECIES_URSHIFU_SINGLE_STRIKE_GMAX +#define SPECIES_URSHIFU_SINGLE_STRIKE_STYLE_GMAX SPECIES_URSHIFU_SINGLE_STRIKE_GMAX +#define SPECIES_URSHIFU_RAPID_STRIKE_GMAX 1522 +#define SPECIES_URSHIFU_RAPID_STRIKE_STYLE_GMAX SPECIES_URSHIFU_RAPID_STRIKE_GMAX +#define SPECIES_MIMIKYU_BUSTED_TOTEM 1523 +#define SPECIES_MIMIKYU_TOTEM_BUSTED SPECIES_MIMIKYU_BUSTED_TOTEM -#define SPECIES_EGG (SPECIES_MIMIKYU_TOTEM_BUSTED + 1) +#define SPECIES_EGG (SPECIES_MIMIKYU_BUSTED_TOTEM + 1) #define NUM_SPECIES SPECIES_EGG #define SPECIES_SHINY_TAG 5000 -// Competitive format aliases -#define SPECIES_ALCREMIE_GMAX SPECIES_ALCREMIE_GIGANTAMAX -#define SPECIES_APPLETUN_GMAX SPECIES_APPLETUN_GIGANTAMAX -#define SPECIES_ARCANINE_HISUI SPECIES_ARCANINE_HISUIAN -#define SPECIES_ARTICUNO_GALAR SPECIES_ARTICUNO_GALARIAN -#define SPECIES_AVALUGG_HISUI SPECIES_AVALUGG_HISUIAN -#define SPECIES_BLASTOISE_GMAX SPECIES_BLASTOISE_GIGANTAMAX -#define SPECIES_BRAVIARY_HISUI SPECIES_BRAVIARY_HISUIAN -#define SPECIES_BURMY_SANDY SPECIES_BURMY_SANDY_CLOAK -#define SPECIES_BURMY_TRASH SPECIES_BURMY_TRASH_CLOAK -#define SPECIES_BUTTERFREE_GMAX SPECIES_BUTTERFREE_GIGANTAMAX -#define SPECIES_CALYREX_ICE SPECIES_CALYREX_ICE_RIDER -#define SPECIES_CALYREX_SHADOW SPECIES_CALYREX_SHADOW_RIDER -#define SPECIES_CENTISKORCH_GMAX SPECIES_CENTISKORCH_GIGANTAMAX -#define SPECIES_CHARIZARD_GMAX SPECIES_CHARIZARD_GIGANTAMAX -#define SPECIES_CINDERACE_GMAX SPECIES_CINDERACE_GIGANTAMAX -#define SPECIES_COALOSSAL_GMAX SPECIES_COALOSSAL_GIGANTAMAX -#define SPECIES_COPPERAJAH_GMAX SPECIES_COPPERAJAH_GIGANTAMAX -#define SPECIES_CORSOLA_GALAR SPECIES_CORSOLA_GALARIAN -#define SPECIES_CORVIKNIGHT_GMAX SPECIES_CORVIKNIGHT_GIGANTAMAX -#define SPECIES_DARMANITAN_GALAR SPECIES_DARMANITAN_GALARIAN_STANDARD_MODE -#define SPECIES_DARMANITAN_GALAR_ZEN SPECIES_DARMANITAN_GALARIAN_ZEN_MODE -#define SPECIES_DARMANITAN_ZEN SPECIES_DARMANITAN_ZEN_MODE -#define SPECIES_DARUMAKA_GALAR SPECIES_DARUMAKA_GALARIAN -#define SPECIES_DECIDUEYE_HISUI SPECIES_DECIDUEYE_HISUIAN -#define SPECIES_DIGLETT_ALOLA SPECIES_DIGLETT_ALOLAN -#define SPECIES_DREDNAW_GMAX SPECIES_DREDNAW_GIGANTAMAX -#define SPECIES_DUGTRIO_ALOLA SPECIES_DUGTRIO_ALOLAN -#define SPECIES_DURALUDON_GMAX SPECIES_DURALUDON_GIGANTAMAX -#define SPECIES_EEVEE_GMAX SPECIES_EEVEE_GIGANTAMAX -#define SPECIES_EEVEE_STARTER SPECIES_EEVEE_PARTNER -#define SPECIES_EISCUE_NOICE SPECIES_EISCUE_NOICE_FACE -#define SPECIES_ELECTRODE_HISUI SPECIES_ELECTRODE_HISUIAN -#define SPECIES_EXEGGUTOR_ALOLA SPECIES_EXEGGUTOR_ALOLAN -#define SPECIES_FARFETCHD_GALAR SPECIES_FARFETCHD_GALARIAN -#define SPECIES_FLAPPLE_GMAX SPECIES_FLAPPLE_GIGANTAMAX -#define SPECIES_FLOETTE_ETERNAL SPECIES_FLOETTE_ETERNAL_FLOWER -#define SPECIES_GARBODOR_GMAX SPECIES_GARBODOR_GIGANTAMAX -#define SPECIES_GASTRODON_EAST SPECIES_GASTRODON_EAST_SEA -#define SPECIES_GENESECT_BURN SPECIES_GENESECT_BURN_DRIVE -#define SPECIES_GENESECT_CHILL SPECIES_GENESECT_CHILL_DRIVE -#define SPECIES_GENESECT_DOUSE SPECIES_GENESECT_DOUSE_DRIVE -#define SPECIES_GENESECT_SHOCK SPECIES_GENESECT_SHOCK_DRIVE -#define SPECIES_GENGAR_GMAX SPECIES_GENGAR_GIGANTAMAX -#define SPECIES_GEODUDE_ALOLA SPECIES_GEODUDE_ALOLAN -#define SPECIES_GOLEM_ALOLA SPECIES_GOLEM_ALOLAN -#define SPECIES_GOODRA_HISUI SPECIES_GOODRA_HISUIAN -#define SPECIES_GRAVELER_ALOLA SPECIES_GRAVELER_ALOLAN -#define SPECIES_GRENINJA_BOND SPECIES_GRENINJA_BATTLE_BOND -#define SPECIES_GRIMER_ALOLA SPECIES_GRIMER_ALOLAN -#define SPECIES_GRIMMSNARL_GMAX SPECIES_GRIMMSNARL_GIGANTAMAX -#define SPECIES_GROWLITHE_HISUI SPECIES_GROWLITHE_HISUIAN -#define SPECIES_HATTERENE_GMAX SPECIES_HATTERENE_GIGANTAMAX -#define SPECIES_INTELEON_GMAX SPECIES_INTELEON_GIGANTAMAX -#define SPECIES_KINGLER_GMAX SPECIES_KINGLER_GIGANTAMAX -#define SPECIES_LAPRAS_GMAX SPECIES_LAPRAS_GIGANTAMAX -#define SPECIES_LILLIGANT_HISUI SPECIES_LILLIGANT_HISUIAN -#define SPECIES_LINOONE_GALAR SPECIES_LINOONE_GALARIAN -#define SPECIES_MACHAMP_GMAX SPECIES_MACHAMP_GIGANTAMAX -#define SPECIES_MAGEARNA_ORIGINAL SPECIES_MAGEARNA_ORIGINAL_COLOR -#define SPECIES_MAROWAK_ALOLA SPECIES_MAROWAK_ALOLAN -#define SPECIES_MAROWAK_ALOLA_TOTEM SPECIES_MAROWAK_ALOLAN_TOTEM -#define SPECIES_MAUSHOLD_FOUR SPECIES_MAUSHOLD_FAMILY_OF_FOUR -#define SPECIES_MELMETAL_GMAX SPECIES_MELMETAL_GIGANTAMAX -#define SPECIES_MEOWTH_ALOLA SPECIES_MEOWTH_ALOLAN -#define SPECIES_MEOWTH_GALAR SPECIES_MEOWTH_GALARIAN -#define SPECIES_MEOWTH_GMAX SPECIES_MEOWTH_GIGANTAMAX -#define SPECIES_MOLTRES_GALAR SPECIES_MOLTRES_GALARIAN -#define SPECIES_MR_MIME_GALAR SPECIES_MR_MIME_GALARIAN -#define SPECIES_MUK_ALOLA SPECIES_MUK_ALOLAN -#define SPECIES_NINETALES_ALOLA SPECIES_NINETALES_ALOLAN -#define SPECIES_OGERPON_TEAL SPECIES_OGERPON_TEAL_MASK -#define SPECIES_OGERPON_WELLSPRING SPECIES_OGERPON_WELLSPRING_MASK -#define SPECIES_OGERPON_HEARTHFLAME SPECIES_OGERPON_HEARTHFLAME_MASK -#define SPECIES_OGERPON_CORNERSTONE SPECIES_OGERPON_CORNERSTONE_MASK -#define SPECIES_ORBEETLE_GMAX SPECIES_ORBEETLE_GIGANTAMAX -#define SPECIES_PERSIAN_ALOLA SPECIES_PERSIAN_ALOLAN -#define SPECIES_PIKACHU_ALOLA SPECIES_PIKACHU_ALOLA_CAP -#define SPECIES_PIKACHU_GMAX SPECIES_PIKACHU_GIGANTAMAX -#define SPECIES_PIKACHU_HOENN SPECIES_PIKACHU_HOENN_CAP -#define SPECIES_PIKACHU_KALOS SPECIES_PIKACHU_KALOS_CAP -#define SPECIES_PIKACHU_ORIGINAL SPECIES_PIKACHU_ORIGINAL_CAP -//#define SPECIES_PIKACHU_PARTNER SPECIES_PIKACHU_PARTNER_CAP -#define SPECIES_PIKACHU_PHD SPECIES_PIKACHU_PH_D -#define SPECIES_PIKACHU_SINNOH SPECIES_PIKACHU_SINNOH_CAP -#define SPECIES_PIKACHU_STARTER SPECIES_PIKACHU_PARTNER -#define SPECIES_PIKACHU_UNOVA SPECIES_PIKACHU_UNOVA_CAP -#define SPECIES_PIKACHU_WORLD SPECIES_PIKACHU_WORLD_CAP -#define SPECIES_PONYTA_GALAR SPECIES_PONYTA_GALARIAN -#define SPECIES_QWILFISH_HISUI SPECIES_QWILFISH_HISUIAN -#define SPECIES_RAICHU_ALOLA SPECIES_RAICHU_ALOLAN -#define SPECIES_RAPIDASH_GALAR SPECIES_RAPIDASH_GALARIAN -#define SPECIES_RATICATE_ALOLA SPECIES_RATICATE_ALOLAN -#define SPECIES_RATICATE_ALOLA_TOTEM SPECIES_RATICATE_ALOLAN_TOTEM -#define SPECIES_RATTATA_ALOLA SPECIES_RATTATA_ALOLAN -#define SPECIES_RILLABOOM_GMAX SPECIES_RILLABOOM_GIGANTAMAX -#define SPECIES_SAMUROTT_HISUI SPECIES_SAMUROTT_HISUIAN -#define SPECIES_SANDACONDA_GMAX SPECIES_SANDACONDA_GIGANTAMAX -#define SPECIES_SANDSHREW_ALOLA SPECIES_SANDSHREW_ALOLAN -#define SPECIES_SANDSLASH_ALOLA SPECIES_SANDSLASH_ALOLAN -#define SPECIES_SHELLOS_EAST SPECIES_SHELLOS_EAST_SEA -#define SPECIES_SIRFETCH_D SPECIES_SIRFETCHD -#define SPECIES_SLIGGOO_HISUI SPECIES_SLIGGOO_HISUIAN -#define SPECIES_SLOWBRO_GALAR SPECIES_SLOWBRO_GALARIAN -#define SPECIES_SLOWKING_GALAR SPECIES_SLOWKING_GALARIAN -#define SPECIES_SLOWPOKE_GALAR SPECIES_SLOWPOKE_GALARIAN -#define SPECIES_SNEASEL_HISUI SPECIES_SNEASEL_HISUIAN -#define SPECIES_SNORLAX_GMAX SPECIES_SNORLAX_GIGANTAMAX -#define SPECIES_SQUAWKABILLY_BLUE SPECIES_SQUAWKABILLY_BLUE_PLUMAGE -#define SPECIES_SQUAWKABILLY_WHITE SPECIES_SQUAWKABILLY_WHITE_PLUMAGE -#define SPECIES_SQUAWKABILLY_YELLOW SPECIES_SQUAWKABILLY_YELLOW_PLUMAGE -#define SPECIES_STUNFISK_GALAR SPECIES_STUNFISK_GALARIAN -#define SPECIES_TAUROS_PALDEA_AQUA SPECIES_TAUROS_PALDEAN_AQUA_BREED -#define SPECIES_TAUROS_PALDEA_BLAZE SPECIES_TAUROS_PALDEAN_BLAZE_BREED -#define SPECIES_TAUROS_PALDEA_COMBAT SPECIES_TAUROS_PALDEAN_COMBAT_BREED -#define SPECIES_TOXTRICITY_AMPED_GMAX SPECIES_TOXTRICITY_AMPED_GIGANTAMAX -#define SPECIES_TOXTRICITY_LOW_KEY_GMAX SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX -#define SPECIES_TYPHLOSION_HISUI SPECIES_TYPHLOSION_HISUIAN -#define SPECIES_UNOWN_EXCLAMATION SPECIES_UNOWN_EMARK -#define SPECIES_UNOWN_QUESTION SPECIES_UNOWN_QMARK -#define SPECIES_URSHIFU_GMAX SPECIES_URSHIFU_SINGLE_STRIKE_STYLE_GIGANTAMAX -#define SPECIES_URSHIFU_RAPID_STRIKE SPECIES_URSHIFU_RAPID_STRIKE_STYLE -#define SPECIES_URSHIFU_RAPID_STRIKE_GMAX SPECIES_URSHIFU_RAPID_STRIKE_STYLE_GIGANTAMAX -#define SPECIES_VENUSAUR_GMAX SPECIES_VENUSAUR_GIGANTAMAX -#define SPECIES_VIVILLON_POKEBALL SPECIES_VIVILLON_POKE_BALL -#define SPECIES_VOLTORB_HISUI SPECIES_VOLTORB_HISUIAN -#define SPECIES_VULPIX_ALOLA SPECIES_VULPIX_ALOLAN -#define SPECIES_WEEZING_GALAR SPECIES_WEEZING_GALARIAN -#define SPECIES_WOOPER_PALDEA SPECIES_WOOPER_PALDEAN -#define SPECIES_WORMADAM_SANDY SPECIES_WORMADAM_SANDY_CLOAK -#define SPECIES_WORMADAM_TRASH SPECIES_WORMADAM_TRASH_CLOAK -#define SPECIES_YAMASK_GALAR SPECIES_YAMASK_GALARIAN -#define SPECIES_ZACIAN_CROWNED SPECIES_ZACIAN_CROWNED_SWORD -#define SPECIES_ZAMAZENTA_CROWNED SPECIES_ZAMAZENTA_CROWNED_SHIELD -#define SPECIES_ZAPDOS_GALAR SPECIES_ZAPDOS_GALARIAN -#define SPECIES_ZIGZAGOON_GALAR SPECIES_ZIGZAGOON_GALARIAN -#define SPECIES_ZOROARK_HISUI SPECIES_ZOROARK_HISUIAN -#define SPECIES_ZORUA_HISUI SPECIES_ZORUA_HISUIAN - #endif // GUARD_CONSTANTS_SPECIES_H diff --git a/include/data.h b/include/data.h index d635bb6af7a3..ef59aae56930 100644 --- a/include/data.h +++ b/include/data.h @@ -110,7 +110,9 @@ struct TypeInfo u16 maxMove; u16 teraTypeRGBValue; // Most values pulled from the Tera type icon palette. u16 damageCategory:2; // Used for B_PHYSICAL_SPECIAL_SPLIT <= GEN_3 - u16 padding:14; + u16 useSecondTypeIconPalette:1; + u16 isSpecialCaseType:1; + u16 padding:12; const u32 *const paletteTMHM; //u16 enhanceItem; //u16 berry; diff --git a/include/event_object_movement.h b/include/event_object_movement.h index ff132eb95d0b..4b1b3e1f9ff3 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -107,6 +107,13 @@ struct LockedAnimObjectEvents u8 count; }; +struct FollowerSpriteVisualizerData +{ + u16 currentmonId; + bool8 isShiny; + bool8 isFemale; +}; + extern const struct OamData gObjectEventBaseOam_32x8; extern const struct OamData gObjectEventBaseOam_32x32; extern const struct OamData gObjectEventBaseOam_64x64; @@ -127,6 +134,7 @@ bool8 TryGetObjectEventIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId, u u8 GetObjectEventIdByXY(s16 x, s16 y); void SetObjectEventDirection(struct ObjectEvent *objectEvent, u8 direction); u8 GetFirstInactiveObjectEventId(void); +u8 GetObjectEventIdByLocalId(u8); void RemoveObjectEventByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup); void LoadSpecialObjectReflectionPalette(u16 tag, u8 slot); void TryMoveObjectEventToMapCoords(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); @@ -145,6 +153,7 @@ void RemoveFollowingPokemon(void); struct ObjectEvent *GetFollowerObject(void); void TrySpawnObjectEvents(s16 cameraX, s16 cameraY); u8 CreateObjectGraphicsSprite(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority); +u8 CreateObjectGraphicsFollowerSpriteForVisualizer(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority, struct FollowerSpriteVisualizerData *data); u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup); u8 SpawnSpecialObjectEventParameterized(u16 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 elevation); u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *); @@ -211,6 +220,7 @@ void ObjectEventForceSetHeldMovement(struct ObjectEvent *objectEvent, u8 movemen bool8 ObjectEventIsMovementOverridden(struct ObjectEvent *objectEvent); u8 ObjectEventCheckHeldMovementStatus(struct ObjectEvent *objectEvent); u8 ObjectEventGetHeldMovementActionId(struct ObjectEvent *objectEvent); +const struct ObjectEventTemplate *FindObjectEventTemplateByLocalId(u8, const struct ObjectEventTemplate *, u8); void TryOverrideTemplateCoordsForObjectEvent(const struct ObjectEvent *objectEvent, u8 movementType); void OverrideTemplateCoordsForObjectEvent(const struct ObjectEvent *objectEvent); void ShiftStillObjectEventCoords(struct ObjectEvent *objEvent); @@ -483,6 +493,15 @@ void SetVirtualObjectInvisibility(u8 virtualObjId, bool32 invisible); bool32 IsVirtualObjectInvisible(u8 virtualObjId); void SetVirtualObjectSpriteAnim(u8 virtualObjId, u8 animNum); bool32 IsVirtualObjectAnimating(u8 virtualObjId); +u8 GetObjectEventIdByLocalId(u8 localId); +bool32 IsFollowerVisible(void); + +// run slow +u8 GetPlayerRunSlowMovementAction(u32); +//sideways stairs +u8 GetSidewaysStairsToRightDirection(s16, s16, u8); +u8 GetSidewaysStairsToLeftDirection(s16, s16, u8); +u8 GetSidewaysStairsCollision(struct ObjectEvent *objectEvent, u8 dir, u8 currentBehavior, u8 nextBehavior, u8 collision); bool8 MovementAction_EmoteX_Step0(struct ObjectEvent *, struct Sprite *); bool8 MovementAction_EmoteDoubleExclamationMark_Step0(struct ObjectEvent *, struct Sprite *); diff --git a/include/event_scripts.h b/include/event_scripts.h index 0ba3739b2040..60a8d6123e55 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -621,6 +621,8 @@ extern const u8 EventScript_SelectWithoutRegisteredItem[]; // overworld extern const u8 EventScript_WhiteOut[]; +extern const u8 EventScript_AfterWhiteOutMomHeal[]; +extern const u8 EventScript_AfterWhiteOutHeal[]; extern const u8 EventScript_ResetMrBriney[]; extern const u8 EventScript_DoLinkRoomExit[]; extern const u8 CableClub_EventScript_TooBusyToNotice[]; @@ -648,4 +650,8 @@ extern const u8 EventScript_VsSeekerChargingDone[]; extern const u8 Common_Movement_FollowerSafeStart[]; extern const u8 Common_Movement_FollowerSafeEnd[]; +extern const u8 EventScript_CancelMessageBox[]; +extern const u8 Common_EventScript_ShowPokemonCenterSign[]; +extern const u8 Common_EventScript_ShowPokemartSign[]; + #endif // GUARD_EVENT_SCRIPTS_H diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index b259eb53c1b6..da23fe433683 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -34,5 +34,9 @@ u8 TrySetDiveWarp(void); const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatileBehavior, u8 direction); const u8 *GetCoordEventScriptAtMapPosition(struct MapPosition *position); void ClearPoisonStepCounter(void); +void CancelSignPostMessageBox(struct FieldInput *input); + +#define NOT_SIGNPOST 0 +#define WALK_AWAY_SIGNPOST_FRAMES 6 #endif // GUARD_FIELDCONTROLAVATAR_H diff --git a/include/field_message_box.h b/include/field_message_box.h index 34b3324e725a..810ac0fc2068 100644 --- a/include/field_message_box.h +++ b/include/field_message_box.h @@ -19,4 +19,6 @@ u8 GetFieldMessageBoxMode(void); void StopFieldMessage(void); void InitFieldMessageBox(void); +extern u8 gWalkAwayFromSignpostTimer; + #endif // GUARD_FIELD_MESSAGE_BOX_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index caf28afb876a..12de71be8f1e 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -64,5 +64,9 @@ bool32 IsPlayerSpinExitActive(void); void SetPlayerInvisibility(bool8 invisible); u8 player_get_pos_including_state_based_drift(s16 *x, s16 *y); void StartFishing(u8 rod); +bool8 ObjectMovingOnRockStairs(struct ObjectEvent *objectEvent, u8 direction); +//sideways stairs +u8 GetRightSideStairsDirection(u8 direction); +u8 GetLeftSideStairsDirection(u8 direction); #endif // GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index 6dc9b077d219..3f120ffdeba4 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -16,6 +16,7 @@ void FieldCB_ReturnToFieldWirelessLink(void); void FieldCB_DefaultWarpExit(void); void FieldCB_WarpExitFadeFromBlack(void); void FieldCB_WarpExitFadeFromWhite(void); +void FieldCB_RushInjuredPokemonToCenter(void); bool8 FieldCB_ReturnToFieldOpenStartMenu(void); void ReturnToFieldOpenStartMenu(void); void FieldCB_ReturnToFieldNoScript(void); @@ -41,5 +42,7 @@ void DoOrbEffect(void); void FadeOutOrbEffect(void); void WriteFlashScanlineEffectBuffer(u8 flashLevel); bool8 IsPlayerStandingStill(void); +void DoStairWarp(u16 metatileBehavior, u16 delay); +bool32 IsDirectionalStairWarpMetatileBehavior(u16 metatileBehavior, u8 playerDirection); #endif // GUARD_FIELD_SCREEN_EFFECT_H diff --git a/include/field_specials.h b/include/field_specials.h index 95a91d543f06..975a57970b2a 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -33,5 +33,8 @@ void ResetFanClub(void); bool8 ShouldShowBoxWasFullMessage(void); void SetPCBoxToSendMon(u8 boxId); void PreparePartyForSkyBattle(void); +void GetObjectPosition(u16*, u16*, u32, u32); +bool32 CheckObjectAtXY(u32, u32); +bool32 CheckPartyHasSpecies(u32); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/field_weather.h b/include/field_weather.h index 9805dc491d35..ba45d161b770 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -41,8 +41,6 @@ struct Weather struct Sprite *sandstormSprites2[NUM_SWIRL_SANDSTORM_SPRITES]; } s2; } sprites; - u8 darkenedContrastColorMaps[NUM_WEATHER_COLOR_MAPS][32]; - u8 contrastColorMaps[NUM_WEATHER_COLOR_MAPS][32]; s8 colorMapIndex; s8 targetColorMapIndex; u8 colorMapStepDelay; diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 29249712b6e5..d686a624a235 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -196,7 +196,7 @@ struct ObjectEvent u32 hideReflection:1; u32 shiny:1; // OW mon shininess u32 padding:3; - /*0x04*/ u16 graphicsId; // 11 bits for species; high 5 bits for form + /*0x04*/ u16 graphicsId; // 12 bits for species; high 4 bits for form /*0x06*/ u8 movementType; /*0x07*/ u8 trainerType; /*0x08*/ u8 localId; @@ -217,7 +217,8 @@ struct ObjectEvent /*0x1D*/ u8 trainerRange_berryTreeId; /*0x1E*/ u8 currentMetatileBehavior; /*0x1F*/ u8 previousMetatileBehavior; - /*0x20*/ u8 previousMovementDirection; + /*0x20*/ u8 previousMovementDirection:4; + u8 directionOverwrite:4; /*0x21*/ u8 directionSequenceIndex; /*0x22*/ u8 playerCopyableMovement; // COPY_MOVE_* /*0x23*/ u8 spriteId; @@ -297,6 +298,9 @@ enum COLLISION_ISOLATED_HORIZONTAL_RAIL, COLLISION_VERTICAL_RAIL, COLLISION_HORIZONTAL_RAIL, + COLLISION_STAIR_WARP, + COLLISION_SIDEWAYS_STAIRS_TO_RIGHT, + COLLISION_SIDEWAYS_STAIRS_TO_LEFT }; // player running states diff --git a/include/global.h b/include/global.h index 659546886acc..5846f09359d0 100644 --- a/include/global.h +++ b/include/global.h @@ -131,6 +131,31 @@ #define FEATURE_FLAG_ASSERT(flag, id) STATIC_ASSERT(flag > TEMP_FLAGS_END || flag == 0, id) +#ifndef NDEBUG +static inline void CycleCountStart() +{ + REG_TM2CNT_H = 0; + REG_TM3CNT_H = 0; + + REG_TM2CNT_L = 0; + REG_TM3CNT_L = 0; + + // init timers (tim3 count up mode, tim2 every clock cycle) + REG_TM3CNT_H = TIMER_ENABLE | TIMER_COUNTUP; + REG_TM2CNT_H = TIMER_1CLK | TIMER_ENABLE; +} + +static inline u32 CycleCountEnd() +{ + // stop timers + REG_TM2CNT_H = 0; + REG_TM3CNT_H = 0; + + // return result + return REG_TM2CNT_L | (REG_TM3CNT_L << 16u); +} +#endif + struct Coords8 { s8 x; @@ -175,12 +200,17 @@ struct Time /*0x04*/ s8 seconds; }; +#include "constants/items.h" +#define ITEM_FLAGS_COUNT ((ITEMS_COUNT / 8) + ((ITEMS_COUNT % 8) ? 1 : 0)) struct SaveBlock3 { #if OW_USE_FAKE_RTC struct Time fakeRTC; #endif +#if OW_SHOW_ITEM_DESCRIPTIONS == OW_ITEM_DESCRIPTIONS_FIRST_TIME + u8 itemFlags[ITEM_FLAGS_COUNT]; +#endif }; extern struct SaveBlock3 *gSaveBlock3Ptr; diff --git a/include/graphics.h b/include/graphics.h index 4cb944af8a72..527f793d37bf 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2,10 +2,13 @@ #define GUARD_GRAPHICS_H // overworld +extern const u32 gSignpostWindow_Gfx[]; extern const u32 gMessageBox_Gfx[]; extern const u16 gMessageBox_Pal[]; // pokeballs +extern const u32 gBallGfx_Strange[]; +extern const u32 gBallPal_Strange[]; extern const u32 gBallGfx_Poke[]; extern const u32 gBallPal_Poke[]; extern const u32 gBallGfx_Great[]; @@ -359,6 +362,8 @@ extern const u32 gRaySceneChasesAway_Light_Gfx[]; extern const u32 gRaySceneChasesAway_Ring_Gfx[]; // Poké Balls +extern const u32 gItemIcon_StrangeBall[]; +extern const u32 gItemIconPalette_StrangeBall[]; extern const u32 gItemIcon_PokeBall[]; extern const u32 gItemIconPalette_PokeBall[]; extern const u32 gItemIcon_GreatBall[]; @@ -2886,6 +2891,8 @@ extern const u32 gBattleAnimSpritePal_IvyCudgelGrass[]; extern const u32 gBattleAnimSpritePal_IvyCudgelFire[]; extern const u32 gBattleAnimSpritePal_IvyCudgelRock[]; extern const u32 gBattleAnimSpritePal_IvyCudgelWater[]; +extern const u32 gBattleAnimSpriteGfx_PinkVioletOrb[]; +extern const u32 gBattleAnimSpritePal_PinkVioletOrb[]; extern const u32 gBattleAnimBgImage_Dark[]; extern const u32 gBattleAnimBgImage_Ghost[]; @@ -3104,6 +3111,7 @@ extern const u32 gBattleAnimBgPalette_Surf[]; extern const u32 gBattleAnimBackgroundImageMuddyWater_Pal[]; extern const u32 gEnemyMonShadow_Gfx[]; +extern const u32 gEnemyMonShadowsSized_Gfx[]; extern const u32 gBattleAnimFogTilemap[]; @@ -3180,6 +3188,11 @@ extern const u32 gBattleAnimBgImage_Rainbow[]; extern const u32 gBattleAnimBGPalette_Rainbow[]; extern const u32 gBattleAnimBgTilemap_Rainbow[]; +// Pledge Effect field status - Swamp +extern const u32 gBattleAnimBgImage_Swamp[]; +extern const u32 gBattleAnimBGPalette_Swamp[]; +extern const u32 gBattleAnimBgTilemap_Swamp[]; + // Pokédex Area Screen extern const u32 gPokedexAreaScreenAreaUnknown_Gfx[]; extern const u16 gPokedexAreaScreenAreaUnknown_Pal[]; @@ -3371,4 +3384,9 @@ extern const u8 gMailTilemap_Retro[]; extern const u8 gMonMarkingsMenu_Gfx[]; extern const u16 gMonMarkingsMenu_Pal[]; +extern const u32 gBattleIcons_Gfx1[]; +extern const u32 gBattleIcons_Gfx2[]; +extern const u32 gBattleIcons_Pal1[]; +extern const u32 gBattleIcons_Pal2[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/heal_location.h b/include/heal_location.h index 46f0d785ab7a..8c4ebae96508 100644 --- a/include/heal_location.h +++ b/include/heal_location.h @@ -10,7 +10,11 @@ struct HealLocation }; u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum); +u32 GetHealLocationIndexByWarpData(struct WarpData *warp); const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum); const struct HealLocation *GetHealLocation(u32 index); +bool32 IsLastHealLocationPlayerHouse(); +void SetWhiteoutRespawnWarpAndHealerNPC(struct WarpData * warp); +u32 GetHealNpcLocalId(u32 healLocationId); #endif // GUARD_HEAL_LOCATION_H diff --git a/include/item.h b/include/item.h index dc1efc68a54f..b99a6f30c2ea 100644 --- a/include/item.h +++ b/include/item.h @@ -18,7 +18,9 @@ struct Item u8 pluralName[ITEM_NAME_PLURAL_LENGTH]; u8 holdEffect; u8 holdEffectParam; - u8 importance; + u8 importance:2; + u8 notConsumed:1; + u8 padding:5; u8 pocket; u8 type; u8 battleUsage; @@ -73,11 +75,12 @@ u32 ItemId_GetHoldEffect(u32 itemId); u32 ItemId_GetHoldEffectParam(u32 itemId); const u8 *ItemId_GetDescription(u16 itemId); u8 ItemId_GetImportance(u16 itemId); +u8 ItemId_GetConsumability(u16 itemId); u8 ItemId_GetPocket(u16 itemId); u8 ItemId_GetType(u16 itemId); ItemUseFunc ItemId_GetFieldFunc(u16 itemId); u8 ItemId_GetBattleUsage(u16 itemId); -u8 ItemId_GetSecondaryId(u16 itemId); +u32 ItemId_GetSecondaryId(u32 itemId); u32 ItemId_GetFlingPower(u32 itemId); u32 GetItemStatus1Mask(u16 itemId); u32 GetItemStatus2Mask(u16 itemId); diff --git a/include/item_use.h b/include/item_use.h index c5a21862fd6d..d7871fd6f2c1 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -47,6 +47,8 @@ u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId); void FieldUseFunc_VsSeeker(u8 taskId); void Task_ItemUse_CloseMessageBoxAndReturnToField_VsSeeker(u8 taskId); void DisplayDadsAdviceCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField); +void ItemUseOutOfBattle_PokeFlute(u8 taskId); +void ItemUseOutOfBattle_TownMap(u8 taskId); enum { BALL_THROW_UNABLE_TWO_MONS, diff --git a/include/line_break.h b/include/line_break.h new file mode 100644 index 000000000000..c423c9bf405b --- /dev/null +++ b/include/line_break.h @@ -0,0 +1,33 @@ +#ifndef GUARD_LINE_BREAK_H +#define GUARD_LINE_BREAK_H + +#define BADNESS_UNFILLED 1 // Badness added per pixel diff from max width +#define BADNESS_JAGGED 1 // Badness added per pixel diff from longest, squared per line +#define BADNESS_RUNT 100 // Badness added if there's a runt +#define BADNESS_OVERFLOW 100 // Badness added per pixel overflow, squared per line (not used) +#define BADNESS_WIDE_SPACE 1 // Badness added per extra pixel width (not used) +#define MAX_SPACE_WIDTH 5 + +struct StringWord { + u32 startIndex:16; + u32 length:8; + u32 width:8; +}; + +struct StringLine { + struct StringWord *words; + u16 numWords; + u8 spaceWidth; + u8 extraSpaceWidth; +}; + +void StripLineBreaks(u8 *src); +void BreakStringAutomatic(u8 *src, u32 maxWidth, u32 screenLines, u8 fontId); +void BreakSubStringAutomatic(u8 *src, u32 maxWidth, u32 screenLines, u8 fontId); + +bool32 IsWordSplittingChar(const u8 *src, u32 index); +u32 GetStringBadness(struct StringLine *stringLines, u32 numLines, u32 maxWidth); +void BuildNewString(struct StringLine *stringLines, u32 numLines, u32 maxLines, u8 *str); +bool32 StringHasManualBreaks(u8 *src); + +#endif // GUARD_LINE_BREAK_H diff --git a/include/link.h b/include/link.h index 66dd5fecd2af..676306505515 100644 --- a/include/link.h +++ b/include/link.h @@ -344,5 +344,6 @@ bool8 DoesLinkPlayerCountMatchSaved(void); void SetCloseLinkCallbackAndType(u16 type); bool32 IsSendingKeysToLink(void); u32 GetLinkRecvQueueLength(void); +bool32 ShouldCheckForUnionRoom(void); #endif // GUARD_LINK_H diff --git a/include/menu.h b/include/menu.h index fac4ef1b65a5..d2190fb8540b 100644 --- a/include/menu.h +++ b/include/menu.h @@ -5,6 +5,12 @@ #include "text.h" #include "window.h" +#define DLG_WINDOW_PALETTE_NUM 15 +#define DLG_WINDOW_BASE_TILE_NUM 0x200 +#define STD_WINDOW_PALETTE_NUM 14 +#define STD_WINDOW_PALETTE_SIZE PLTT_SIZEOF(10) +#define STD_WINDOW_BASE_TILE_NUM 0x214 + #define MENU_NOTHING_CHOSEN -2 #define MENU_B_PRESSED -1 diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h index c2d0d23ee3b4..58eb83ea7b22 100644 --- a/include/metatile_behavior.h +++ b/include/metatile_behavior.h @@ -148,5 +148,22 @@ bool8 MetatileBehavior_IsQuestionnaire(u8); bool8 MetatileBehavior_IsLongGrass_Duplicate(u8); bool8 MetatileBehavior_IsLongGrassSouthEdge(u8); bool8 MetatileBehavior_IsTrainerHillTimer(u8); +bool8 MetatileBehavior_IsDirectionalUpRightStairWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsDirectionalUpLeftStairWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsDirectionalDownRightStairWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsDirectionalDownLeftStairWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsDirectionalStairWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsSignpost(u32); +bool8 MetatileBehavior_IsPokemonCenterSign(u32); +bool8 MetatileBehavior_IsPokeMartSign(u32); +bool8 MetatileBehavior_IsRockStairs(u8); +bool8 MetatileBehavior_IsSidewaysStairsRightSide(u8); +bool8 MetatileBehavior_IsSidewaysStairsLeftSide(u8); +bool8 MetatileBehavior_IsSidewaysStairsRightSideTop(u8 metatileBehavior); +bool8 MetatileBehavior_IsSidewaysStairsLeftSideTop(u8 metatileBehavior); +bool8 MetatileBehavior_IsSidewaysStairsRightSideBottom(u8 metatileBehavior); +bool8 MetatileBehavior_IsSidewaysStairsLeftSideBottom(u8 metatileBehavior); +bool8 MetatileBehavior_IsSidewaysStairsRightSideAny(u8 metatileBehavior); +bool8 MetatileBehavior_IsSidewaysStairsLeftSideAny(u8 metatileBehavior); #endif // GUARD_METATILE_BEHAVIOR_H diff --git a/include/move_relearner.h b/include/move_relearner.h index 903c80ac7a5e..c97b3894b1d0 100644 --- a/include/move_relearner.h +++ b/include/move_relearner.h @@ -4,5 +4,8 @@ void TeachMoveRelearnerMove(void); void MoveRelearnerShowHideHearts(s32); void MoveRelearnerShowHideCategoryIcon(s32); +void CB2_InitLearnMove(void); + +extern u8 gOriginSummaryScreenPage; #endif //GUARD_MOVE_RELEARNER_H diff --git a/include/overworld.h b/include/overworld.h index bda2046ec70d..28a4aa9277b7 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -51,6 +51,7 @@ extern void (*gFieldCallback)(void); extern bool8 (*gFieldCallback2)(void); extern u8 gLocalLinkPlayerId; extern u8 gFieldLinkPlayerCount; +extern bool8 gExitStairsMovementDisabled; extern const struct UCoords32 gDirectionToVectors[]; @@ -155,4 +156,12 @@ bool32 Overworld_SendKeysToLinkIsRunning(void); bool32 IsSendingKeysOverCable(void); void ClearLinkPlayerObjectEvents(void); +// Item Description Headers +enum ItemObtainFlags +{ + FLAG_GET_ITEM_OBTAINED, + FLAG_SET_ITEM_OBTAINED, +}; +bool8 GetSetItemObtained(u16 item, enum ItemObtainFlags caseId); + #endif // GUARD_OVERWORLD_H diff --git a/include/palette.h b/include/palette.h index 15c92cc2a7ad..13c06b007801 100644 --- a/include/palette.h +++ b/include/palette.h @@ -54,33 +54,31 @@ struct PaletteFadeControl extern struct PaletteFadeControl gPaletteFade; extern u32 gPlttBufferTransferPending; -extern u8 ALIGNED(4) gPaletteDecompressionBuffer[]; extern u16 ALIGNED(4) gPlttBufferUnfaded[PLTT_BUFFER_SIZE]; extern u16 ALIGNED(4) gPlttBufferFaded[PLTT_BUFFER_SIZE]; -void LoadCompressedPalette(const u32 *src, u16 offset, u16 size); -void LoadPalette(const void *src, u16 offset, u16 size); -void FillPalette(u16 value, u16 offset, u16 size); +void LoadCompressedPalette(const u32 *src, u32 offset, u32 size); +void LoadPalette(const void *src, u32 offset, u32 size); +void FillPalette(u32 value, u32 offset, u32 size); void TransferPlttBuffer(void); -u8 UpdatePaletteFade(void); +u32 UpdatePaletteFade(void); void ResetPaletteFade(void); -bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targetY, u16 blendColor); -void PaletteStruct_ResetById(u16 id); +bool32 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targetY, u32 blendColor); void ResetPaletteFadeControl(void); void InvertPlttBuffer(u32 selectedPalettes); void TintPlttBuffer(u32 selectedPalettes, s8 r, s8 g, s8 b); void UnfadePlttBuffer(u32 selectedPalettes); -void BeginFastPaletteFade(u8 submode); -void BeginHardwarePaletteFade(u8 blendCnt, u8 delay, u8 y, u8 targetY, u8 shouldResetBlendRegisters); -void BlendPalettes(u32 selectedPalettes, u8 coeff, u16 color); -void BlendPalettesUnfaded(u32 selectedPalettes, u8 coeff, u16 color); +void BeginFastPaletteFade(u32 submode); +void BeginHardwarePaletteFade(u32 blendCnt, u32 delay, u32 y, u32 targetY, u32 shouldResetBlendRegisters); +void BlendPalettes(u32 selectedPalettes, u8 coeff, u32 color); +void BlendPalettesUnfaded(u32 selectedPalettes, u8 coeff, u32 color); void BlendPalettesGradually(u32 selectedPalettes, s8 delay, u8 coeff, u8 coeffTarget, u16 color, u8 priority, u8 id); -void TintPalette_GrayScale(u16 *palette, u16 count); -void TintPalette_GrayScale2(u16 *palette, u16 count); -void TintPalette_SepiaTone(u16 *palette, u16 count); -void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 bTone); +void TintPalette_GrayScale(u16 *palette, u32 count); +void TintPalette_GrayScale2(u16 *palette, u32 count); +void TintPalette_SepiaTone(u16 *palette, u32 count); +void TintPalette_CustomTone(u16 *palette, u32 count, u16 rTone, u16 gTone, u16 bTone); -static inline void SetBackdropFromColor(u16 color) +static inline void SetBackdropFromColor(u32 color) { FillPalette(color, 0, PLTT_SIZEOF(1)); } diff --git a/include/party_menu.h b/include/party_menu.h index abea29b6bbbe..a34f06cec6bb 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -102,6 +102,5 @@ void MoveDeleterForgetMove(void); void BufferMoveDeleterNicknameAndMove(void); void GetNumMovesSelectedMonHas(void); void MoveDeleterChooseMoveToForget(void); -bool32 IsItemFlute(u16 item); #endif // GUARD_PARTY_MENU_H diff --git a/include/pokeball.h b/include/pokeball.h index 01d995a458e3..d327df5d9921 100644 --- a/include/pokeball.h +++ b/include/pokeball.h @@ -1,35 +1,36 @@ #ifndef GUARD_POKEBALL_H #define GUARD_POKEBALL_H -enum +enum PokeBall { - BALL_POKE, - BALL_GREAT, - BALL_ULTRA, - BALL_MASTER, - BALL_PREMIER, - BALL_HEAL, - BALL_NET, - BALL_NEST, - BALL_DIVE, - BALL_DUSK, - BALL_TIMER, - BALL_QUICK, - BALL_REPEAT, - BALL_LUXURY, - BALL_LEVEL, - BALL_LURE, - BALL_MOON, - BALL_FRIEND, - BALL_LOVE, - BALL_FAST, - BALL_HEAVY, - BALL_DREAM, - BALL_SAFARI, - BALL_SPORT, - BALL_PARK, - BALL_BEAST, - BALL_CHERISH, + BALL_STRANGE = 0, + BALL_POKE = 1, + BALL_GREAT = 2, + BALL_ULTRA = 3, + BALL_MASTER = 4, + BALL_PREMIER = 5, + BALL_HEAL = 6, + BALL_NET = 7, + BALL_NEST = 8, + BALL_DIVE = 9, + BALL_DUSK = 10, + BALL_TIMER = 11, + BALL_QUICK = 12, + BALL_REPEAT = 13, + BALL_LUXURY = 14, + BALL_LEVEL = 15, + BALL_LURE = 16, + BALL_MOON = 17, + BALL_FRIEND = 18, + BALL_LOVE = 19, + BALL_FAST = 20, + BALL_HEAVY = 21, + BALL_DREAM = 22, + BALL_SAFARI = 23, + BALL_SPORT = 24, + BALL_PARK = 25, + BALL_BEAST = 26, + BALL_CHERISH = 27, POKEBALL_COUNT }; @@ -56,5 +57,6 @@ void StartHealthboxSlideIn(u8 battler); void DoHitAnimHealthboxEffect(u8 battler); void LoadBallGfx(u8 ballId); void FreeBallGfx(u8 ballId); +enum PokeBall ItemIdToBallId(u32 ballItem); #endif // GUARD_POKEBALL_H diff --git a/include/pokedex.h b/include/pokedex.h index be861fe682b5..0bd91449c377 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -4,20 +4,6 @@ extern u8 gUnusedPokedexU8; extern void (*gPokedexVBlankCB)(void); -enum -{ - DEX_MODE_HOENN, - DEX_MODE_NATIONAL -}; - -enum -{ - FLAG_GET_SEEN, - FLAG_GET_CAUGHT, - FLAG_SET_SEEN, - FLAG_SET_CAUGHT -}; - void ResetPokedex(void); u16 GetNationalPokedexCount(u8); u16 GetHoennPokedexCount(u8); diff --git a/include/pokemon.h b/include/pokemon.h index 3505fd3163e3..8a618f5fe119 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -351,109 +351,130 @@ struct Evolution struct SpeciesInfo /*0xC4*/ { - /* 0x00 */ u8 baseHP; - /* 0x01 */ u8 baseAttack; - /* 0x02 */ u8 baseDefense; - /* 0x03 */ u8 baseSpeed; - /* 0x04 */ u8 baseSpAttack; - /* 0x05 */ u8 baseSpDefense; - /* 0x06 */ u8 types[2]; - /* 0x08 */ u8 catchRate; - /* 0x09 */ u8 forceTeraType; - /* 0x0A */ u16 expYield; // expYield was changed from u8 to u16 for the new Exp System. - /* 0x0C */ u16 evYield_HP:2; - u16 evYield_Attack:2; - u16 evYield_Defense:2; - u16 evYield_Speed:2; - /* 0x0D */ u16 evYield_SpAttack:2; - u16 evYield_SpDefense:2; - u16 padding2:4; - /* 0x0E */ u16 itemCommon; - /* 0x10 */ u16 itemRare; - /* 0x12 */ u8 genderRatio; - /* 0x13 */ u8 eggCycles; - /* 0x14 */ u8 friendship; - /* 0x15 */ u8 growthRate; - /* 0x16 */ u8 eggGroups[2]; - /* 0x18 */ u16 abilities[NUM_ABILITY_SLOTS]; // 3 abilities, no longer u8 because we have over 255 abilities now. - /* 0x1E */ u8 safariZoneFleeRate; - - // Pokédex data - /* 0x1F */ u8 categoryName[13]; - /* 0x1F */ u8 speciesName[POKEMON_NAME_LENGTH + 1]; - /* 0x2C */ u16 cryId; - /* 0x2E */ u16 natDexNum; - /* 0x30 */ u16 height; //in decimeters - /* 0x32 */ u16 weight; //in hectograms - /* 0x34 */ u16 pokemonScale; - /* 0x36 */ u16 pokemonOffset; - /* 0x38 */ u16 trainerScale; - /* 0x3A */ u16 trainerOffset; - /* 0x3C */ const u8 *description; - /* 0x40 */ u8 bodyColor:7; - // Graphical Data - u8 noFlip:1; - /* 0x41 */ u8 frontAnimDelay; - /* 0x42 */ u8 frontAnimId; - /* 0x43 */ u8 backAnimId; - /* 0x44 */ const union AnimCmd *const *frontAnimFrames; - /* 0x48 */ const u32 *frontPic; - /* 0x4C */ const u32 *frontPicFemale; - /* 0x50 */ const u32 *backPic; - /* 0x54 */ const u32 *backPicFemale; - /* 0x58 */ const u32 *palette; - /* 0x5C */ const u32 *paletteFemale; - /* 0x60 */ const u32 *shinyPalette; - /* 0x64 */ const u32 *shinyPaletteFemale; - /* 0x68 */ const u8 *iconSprite; - /* 0x6C */ const u8 *iconSpriteFemale; + u8 baseHP; + u8 baseAttack; + u8 baseDefense; + u8 baseSpeed; + u8 baseSpAttack; + u8 baseSpDefense; + u8 types[2]; + u8 catchRate; + u8 forceTeraType; + u16 expYield; // expYield was changed from u8 to u16 for the new Exp System. + u16 evYield_HP:2; + u16 evYield_Attack:2; + u16 evYield_Defense:2; + u16 evYield_Speed:2; + u16 evYield_SpAttack:2; + u16 evYield_SpDefense:2; + u16 padding2:4; + u16 itemCommon; + u16 itemRare; + u8 genderRatio; + u8 eggCycles; + u8 friendship; + u8 growthRate; + u8 eggGroups[2]; + u16 abilities[NUM_ABILITY_SLOTS]; // 3 abilities, no longer u8 because we have over 255 abilities now. + u8 safariZoneFleeRate; + + // Pokédex data + u8 categoryName[13]; + u8 speciesName[POKEMON_NAME_LENGTH + 1]; + u16 cryId; + u16 natDexNum; + u16 height; //in decimeters + u16 weight; //in hectograms + u16 pokemonScale; + u16 pokemonOffset; + u16 trainerScale; + u16 trainerOffset; + const u8 *description; + u8 bodyColor:7; + // Graphical Data + u8 noFlip:1; + u8 frontAnimDelay; + u8 frontAnimId; + u8 backAnimId; + const union AnimCmd *const *frontAnimFrames; + const u32 *frontPic; + const u32 *backPic; + const u32 *palette; + const u32 *shinyPalette; + const u8 *iconSprite; +#if P_GENDER_DIFFERENCES + const u32 *frontPicFemale; + const u32 *backPicFemale; + const u32 *paletteFemale; + const u32 *shinyPaletteFemale; + const u8 *iconSpriteFemale; +#endif //P_GENDER_DIFFERENCES #if P_FOOTPRINTS - /* 0x70 */ const u8 *footprint; + const u8 *footprint; #endif - // All Pokémon pics are 64x64, but this data table defines where in this 64x64 frame the sprite's non-transparent pixels actually are. - /* 0x74 */ u8 frontPicSize; // The dimensions of this drawn pixel area. - /* 0x74 */ u8 frontPicSizeFemale; // The dimensions of this drawn pixel area. - /* 0x75 */ u8 frontPicYOffset; // The number of pixels between the drawn pixel area and the bottom edge. - /* 0x76 */ u8 backPicSize; // The dimensions of this drawn pixel area. - /* 0x76 */ u8 backPicSizeFemale; // The dimensions of this drawn pixel area. - /* 0x77 */ u8 backPicYOffset; // The number of pixels between the drawn pixel area and the bottom edge. - /* 0x78 */ u8 iconPalIndex:3; - u8 iconPalIndexFemale:3; - u8 padding3:2; - /* 0x79 */ u8 enemyMonElevation; // This determines how much higher above the usual position the enemy Pokémon is during battle. Species that float or fly have nonzero values. - // Flags - /* 0x7A */ u32 isLegendary:1; - u32 isMythical:1; - u32 isUltraBeast:1; - u32 isParadox:1; - u32 isTotem:1; - u32 isMegaEvolution:1; - u32 isPrimalReversion:1; - u32 isUltraBurst:1; - u32 isGigantamax:1; - u32 isTeraForm:1; - u32 isAlolanForm:1; - u32 isGalarianForm:1; - u32 isHisuianForm:1; - u32 isPaldeanForm:1; - u32 cannotBeTraded:1; - u32 allPerfectIVs:1; - u32 dexForceRequired:1; // This species will be taken into account for Pokédex ratings even if they have the "isMythical" flag set. - u32 tmIlliterate:1; // This species will be unable to learn the universal moves. - u32 isFrontierBanned:1; // This species is not allowed to participate in Battle Frontier facilities. - u32 padding4:13; - // Move Data - /* 0x80 */ const struct LevelUpMove *levelUpLearnset; - /* 0x84 */ const u16 *teachableLearnset; - /* 0x88 */ const u16 *eggMoveLearnset; - /* 0x8C */ const struct Evolution *evolutions; - /* 0x90 */ const u16 *formSpeciesIdTable; - /* 0x94 */ const struct FormChange *formChangeTable; + // All Pokémon pics are 64x64, but this data table defines where in this 64x64 frame the sprite's non-transparent pixels actually are. + u8 frontPicSize; // The dimensions of this drawn pixel area. + u8 frontPicYOffset; // The number of pixels between the drawn pixel area and the bottom edge. + u8 backPicSize; // The dimensions of this drawn pixel area. + u8 backPicYOffset; // The number of pixels between the drawn pixel area and the bottom edge. +#if P_GENDER_DIFFERENCES + u8 frontPicSizeFemale; // The dimensions of this drawn pixel area. + u8 backPicSizeFemale; // The dimensions of this drawn pixel area. +#endif //P_GENDER_DIFFERENCES + u8 iconPalIndex:3; +#if P_GENDER_DIFFERENCES + u8 iconPalIndexFemale:3; +#else + u8 paddingF:3; +#endif //P_GENDER_DIFFERENCES + u8 padding3:2; + u8 enemyMonElevation; // This determines how much higher above the usual position the enemy Pokémon is during battle. Species that float or fly have nonzero values. + // Flags + u32 isLegendary:1; + u32 isMythical:1; + u32 isUltraBeast:1; + u32 isParadox:1; + u32 isTotem:1; + u32 isMegaEvolution:1; + u32 isPrimalReversion:1; + u32 isUltraBurst:1; + u32 isGigantamax:1; + u32 isTeraForm:1; + u32 isAlolanForm:1; + u32 isGalarianForm:1; + u32 isHisuianForm:1; + u32 isPaldeanForm:1; + u32 cannotBeTraded:1; + u32 perfectIVCount:3; // This species will always generate with the specified amount of perfect IVs. + u32 dexForceRequired:1; // This species will be taken into account for Pokédex ratings even if they have the "isMythical" flag set. + u32 tmIlliterate:1; // This species will be unable to learn the universal moves. + u32 isFrontierBanned:1; // This species is not allowed to participate in Battle Frontier facilities. + u32 padding4:11; + // Shadow settings + s8 enemyShadowXOffset; // This determines the X-offset for an enemy Pokémon's shadow during battle; negative values point left, positive values point right. + s8 enemyShadowYOffset; // This determines the Y-offset for an enemy Pokémon's shadow during battle; negative values point up, positive values point down. + u16 enemyShadowSize:3; // This determines the size of the shadow sprite used for an enemy Pokémon's front sprite during battle. + u16 suppressEnemyShadow:1; // If set to true, then a shadow will not be drawn beneath an enemy Pokémon's front sprite during battle. + u16 padding5:12; + // Move Data + const struct LevelUpMove *levelUpLearnset; + const u16 *teachableLearnset; + const u16 *eggMoveLearnset; + const struct Evolution *evolutions; + const u16 *formSpeciesIdTable; + const struct FormChange *formChangeTable; #if OW_POKEMON_OBJECT_EVENTS - /* 0x98 */ struct ObjectEventGraphicsInfo overworldData; + struct ObjectEventGraphicsInfo overworldData; +#if P_GENDER_DIFFERENCES + struct ObjectEventGraphicsInfo overworldDataFemale; +#endif //P_GENDER_DIFFERENCES #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - /* 0xBC */ const void* overworldPalette; - /* 0xC0 */ const void* overworldShinyPalette; + const void* overworldPalette; + const void* overworldShinyPalette; +#if P_GENDER_DIFFERENCES + const void* overworldPaletteFemale; + const void* overworldShinyPaletteFemale; +#endif //P_GENDER_DIFFERENCES #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS }; @@ -764,6 +785,7 @@ u8 GiveMonToPlayer(struct Pokemon *mon); u8 CopyMonToPC(struct Pokemon *mon); u8 CalculatePlayerPartyCount(void); u8 CalculateEnemyPartyCount(void); +u8 CalculateEnemyPartyCountInSide(u32 battler); u8 GetMonsStateToDoubles(void); u8 GetMonsStateToDoubles_2(void); u16 GetAbilityBySpecies(u16 species, u8 abilityNum); @@ -796,7 +818,7 @@ u8 GetItemEffectParamOffset(u32 battler, u16 itemId, u8 effectByte, u8 effectBit u8 *UseStatIncreaseItem(u16 itemId); u8 GetNature(struct Pokemon *mon); u8 GetNatureFromPersonality(u32 personality); -u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem, struct Pokemon *tradePartner); +u16 GetEvolutionTargetSpecies(struct Pokemon *mon, enum EvolutionMode mode, u16 evolutionItem, struct Pokemon *tradePartner); bool8 IsMonPastEvolutionLevel(struct Pokemon *mon); u16 NationalPokedexNumToSpecies(u16 nationalNum); u16 NationalToHoennOrder(u16 nationalNum); @@ -880,5 +902,6 @@ const u8 *GetMoveName(u16 moveId); const u8 *GetMoveAnimationScript(u16 moveId); void UpdateDaysPassedSinceFormChange(u16 days); void TrySetDayLimitToFormChange(struct Pokemon *mon); +u32 CheckDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler); #endif // GUARD_POKEMON_H diff --git a/include/pokemon_sprite_visualizer.h b/include/pokemon_sprite_visualizer.h index 946c2f37f625..fdd53d2ce898 100644 --- a/include/pokemon_sprite_visualizer.h +++ b/include/pokemon_sprite_visualizer.h @@ -1,6 +1,7 @@ #ifndef GUARD_POKEMON_SPRITE_VISUALIZER_H #define GUARD_POKEMON_SPRITE_VISUALIZER_H +#include "constants/global.h" #include "constants/pokemon_sprite_visualizer.h" //Structs @@ -43,6 +44,17 @@ struct PokemonSpriteOffsets s8 offset_front_elevation; }; +struct PokemonShadowSettings +{ + s8 definedX; + s8 definedY; + u8 definedSize; + + s8 overrideX; + s8 overrideY; + u8 overrideSize; +}; + struct PokemonSpriteVisualizer { u16 currentmonId; @@ -52,14 +64,20 @@ struct PokemonSpriteVisualizer u8 backspriteId; u8 iconspriteId; u8 followerspriteId; - u8 frontShadowSpriteId; + bool8 isShiny; bool8 isFemale; + + u8 frontShadowSpriteIdPrimary; + u8 frontShadowSpriteIdSecondary; + struct PokemonShadowSettings shadowSettings; + struct PokemonSpriteVisualizerModifyArrows modifyArrows; struct PokemonSpriteVisualizerOptionArrows optionArrows; struct PokemonSpriteVisualizerYPosModifiyArrows yPosModifyArrows; struct PokemonSpriteConstValues constSpriteValues; struct PokemonSpriteOffsets offsetsSpriteValues; + u8 animIdBack; u8 animIdFront; u8 battleBgType; diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 924702baf920..fe299c48b4bf 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -11,6 +11,7 @@ extern const struct CompressedSpriteSheet gSpriteSheet_MoveTypes; extern const struct CompressedSpriteSheet gSpriteSheet_CategoryIcons; extern const struct SpritePalette gSpritePal_CategoryIcons; extern const struct SpriteTemplate gSpriteTemplate_CategoryIcons; +extern MainCallback gInitialSummaryScreenCallback; void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void), u16 newMove); @@ -25,7 +26,19 @@ enum PokemonSummaryScreenMode SUMMARY_MODE_NORMAL, SUMMARY_MODE_LOCK_MOVES, SUMMARY_MODE_BOX, + SUMMARY_MODE_BOX_CURSOR, // mon is being moved in PC SUMMARY_MODE_SELECT_MOVE, + SUMMARY_MODE_RELEARNER_BATTLE, // returning from move relearner initiated from battle moves page + SUMMARY_MODE_RELEARNER_CONTEST, // returning from move relearner initiated from contest moves page +}; + +enum PokemonSummaryScreenPage +{ + PSS_PAGE_INFO, + PSS_PAGE_SKILLS, + PSS_PAGE_BATTLE_MOVES, + PSS_PAGE_CONTEST_MOVES, + PSS_PAGE_COUNT, }; #endif // GUARD_POKEMON_SUMMARY_SCREEN_H diff --git a/include/random.h b/include/random.h index 6d3d1adb2d9b..2409a1a883e1 100644 --- a/include/random.h +++ b/include/random.h @@ -6,25 +6,21 @@ #define ISO_RANDOMIZE1(val) (1103515245 * (val) + 24691) #define ISO_RANDOMIZE2(val) (1103515245 * (val) + 12345) -/* Some functions have been added to support HQ_RANDOM. +/* Some functions have been added to support Expansion's RNG implementation. * -* If using HQ_RANDOM, you cannot call Random() in interrupt handlers safely. -* AdvanceRandom() is provided to handle burning numbers in the VBlank handler -* if you choose to do that, and can be used regardless of HQ_RANDOM setting. +* LocalRandom(*val) provides a higher-quality replacement for uses of +* ISO_RANDOMIZE in vanilla Emerald. You can use LocalRandomSeed(u32) to +* create a local state. +* +* It is no longer possible to call Random() in interrupt handlers safely. +* AdvanceRandom() is provided to handle burning numbers in VBlank handlers. * If you need to use random numbers in the VBlank handler, a local state * should be used instead. * -* LocalRandom(*val) allows you to have local random states that are the same -* type as the global states regardless of HQ_RANDOM setting, which is useful -* if you want to be able to set them from or assign them to gRngValue. -* LocalRandomSeed(u32) returns a properly seeded rng_value_t. -* -* Random2_32() was added to HQ_RANDOM because the output of the generator is -* always 32 bits and Random()/Random2() are just wrappers in that mode. It is -* also available in non-HQ mode for consistency. +* Random2_32() was added, even though it is not used directly, because the +* underlying RNG always outputs 32 bits. */ -#if HQ_RANDOM == TRUE struct Sfc32State { u32 a; u32 b; @@ -70,40 +66,6 @@ static inline u16 Random2(void) } void AdvanceRandom(void); -#else -typedef u32 rng_value_t; - -#define RNG_VALUE_EMPTY 0 - -//Returns a 16-bit pseudorandom number -u16 Random(void); -u16 Random2(void); - -//Sets the initial seed value of the pseudorandom number generator -void SeedRng(u16 seed); -void SeedRng2(u16 seed); - -//Returns a 32-bit pseudorandom number -#define Random32() (Random() | (Random() << 16)) -#define Random2_32() (Random2() | (Random2() << 16)) - -static inline u16 LocalRandom(rng_value_t *val) -{ - *val = ISO_RANDOMIZE1(*val); - return *val >> 16; -} - -static inline void AdvanceRandom(void) -{ - Random(); -} - -static inline rng_value_t LocalRandomSeed(u32 seed) -{ - return seed; -} - -#endif extern rng_value_t gRngValue; extern rng_value_t gRng2Value; @@ -200,8 +162,19 @@ enum RandomTag RNG_FICKLE_BEAM, RNG_AI_ABILITY, RNG_AI_SWITCH_HASBADODDS, - RNG_AI_SWITCH_WONDER_GUARD, + RNG_AI_SWITCH_BADLY_POISONED, + RNG_AI_SWITCH_CURSED, + RNG_AI_SWITCH_NIGHTMARE, + RNG_AI_SWITCH_SEEDED, + RNG_AI_SWITCH_ABSORBING, + RNG_AI_SWITCH_NATURAL_CURE, + RNG_AI_SWITCH_REGENERATOR, + RNG_AI_SWITCH_ENCORE, + RNG_AI_SWITCH_STATS_LOWERED, + RNG_AI_SWITCH_SE_DEFENSIVE, RNG_SHELL_SIDE_ARM, + RNG_RANDOM_TARGET, + RNG_HEALER, }; #define RandomWeighted(tag, ...) \ diff --git a/include/script.h b/include/script.h index 4dc30ca74cfd..1f3c4f7afb95 100644 --- a/include/script.h +++ b/include/script.h @@ -63,4 +63,7 @@ void InitRamScript_NoObjectEvent(u8 *script, u16 scriptSize); // srccmd.h void SetMovingNpcId(u16 npcId); +extern u8 gMsgIsSignPost; +extern u8 gMsgBoxIsCancelable; + #endif // GUARD_SCRIPT_H diff --git a/include/sprite.h b/include/sprite.h index 6a3084add254..937ed42ced5f 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -331,5 +331,7 @@ u8 SpriteTileAllocBitmapOp(u16 bit, u8 op); void ClearSpriteCopyRequests(void); void ResetAffineAnimData(void); u32 GetSpanPerImage(u32 shape, u32 size); +void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct SpriteFrameImage *images); +void SetSpriteOamFlipBits(struct Sprite *sprite, u8 hFlip, u8 vFlip); #endif //GUARD_SPRITE_H diff --git a/include/string_util.h b/include/string_util.h index 9e5dfffd574d..d4c954bc5e95 100644 --- a/include/string_util.h +++ b/include/string_util.h @@ -21,6 +21,7 @@ u8 *StringAppend(u8 *dest, const u8 *src); u8 *StringCopyN(u8 *dest, const u8 *src, u8 n); u8 *StringAppendN(u8 *dest, const u8 *src, u8 n); u16 StringLength(const u8 *str); +u16 StringLineLength(const u8 *str); s32 StringCompare(const u8 *str1, const u8 *str2); s32 StringCompareN(const u8 *str1, const u8 *str2, u32 n); bool8 IsStringLengthAtLeast(const u8 *str, s32 n); diff --git a/include/strings.h b/include/strings.h index 2963eb96d15c..45bbeb97070a 100644 --- a/include/strings.h +++ b/include/strings.h @@ -62,15 +62,6 @@ extern const u8 gText_MultiLink[]; extern const u8 gText_Single[]; extern const u8 gText_Double[]; -extern const u8 gText_Spicy[]; -extern const u8 gText_Dry[]; -extern const u8 gText_Sweet[]; -extern const u8 gText_Bitter[]; -extern const u8 gText_Sour[]; - -extern const u8 gText_StowCase[]; -extern const u8 gText_LvVar1[]; - extern const u8 gText_Spicy2[]; extern const u8 gText_Dry2[]; extern const u8 gText_Sweet2[]; @@ -117,9 +108,6 @@ extern const u8 gText_NoDecorationsInUse[]; extern const u8 gText_Exit[]; extern const u8 gText_Cancel[]; -extern const u8 gText_ThrowAwayVar1[]; -extern const u8 gText_Var1ThrownAway[]; - extern const u8 gText_Color161Shadow161[]; extern const u8 gText_GoBackPrevMenu[]; extern const u8 gText_CantPlaceInRoom[]; @@ -184,25 +172,6 @@ extern const u8 gText_Coins[]; extern const u8 gText_Silver[]; extern const u8 gText_Gold[]; -extern const u8 gText_Var1AteTheVar2[]; -extern const u8 gText_Var1HappilyAteVar2[]; -extern const u8 gText_Var1DisdainfullyAteVar2[]; - -extern const u8 gText_RedPokeblock[]; -extern const u8 gText_BluePokeblock[]; -extern const u8 gText_PinkPokeblock[]; -extern const u8 gText_GreenPokeblock[]; -extern const u8 gText_YellowPokeblock[]; -extern const u8 gText_PurplePokeblock[]; -extern const u8 gText_IndigoPokeblock[]; -extern const u8 gText_BrownPokeblock[]; -extern const u8 gText_LiteBluePokeblock[]; -extern const u8 gText_OlivePokeblock[]; -extern const u8 gText_GrayPokeblock[]; -extern const u8 gText_BlackPokeblock[]; -extern const u8 gText_WhitePokeblock[]; -extern const u8 gText_GoldPokeblock[]; - extern const u8 gMenuText_Use[]; extern const u8 gMenuText_Toss[]; extern const u8 gMenuText_Give[]; @@ -216,17 +185,6 @@ extern const u8 gMenuText_Confirm[]; extern const u8 gMenuText_Show[]; extern const u8 gMenuText_Give2[]; -extern const u8 gText_WithdrawPokemon[]; -extern const u8 gText_WithdrawMonDescription[]; -extern const u8 gText_DepositPokemon[]; -extern const u8 gText_DepositMonDescription[]; -extern const u8 gText_MovePokemon[]; -extern const u8 gText_MoveMonDescription[]; -extern const u8 gText_MoveItems[]; -extern const u8 gText_MoveItemsDescription[]; -extern const u8 gText_SeeYa[]; -extern const u8 gText_SeeYaDescription[]; - extern const u8 gText_EggNickname[]; extern const u8 gText_Pokemon[]; extern const u8 gText_InParty[]; @@ -324,19 +282,6 @@ extern const u8 gText_SelectorArrow3[]; extern const u8 gText_YesNo[]; // main menu/birch speech text -extern const u8 gText_SaveFileErased[]; -extern const u8 gText_SaveFileCorrupted[]; -extern const u8 gJPText_No1MSubCircuit[]; -extern const u8 gText_BatteryRunDry[]; -extern const u8 gText_MainMenuNewGame[]; -extern const u8 gText_MainMenuOption[]; -extern const u8 gText_MainMenuContinue[]; -extern const u8 gText_MainMenuMysteryGift2[]; -extern const u8 gText_MainMenuMysteryEvents[]; -extern const u8 gText_MainMenuMysteryGift[]; -extern const u8 gText_WirelessNotConnected[]; -extern const u8 gText_MysteryGiftCantUse[]; -extern const u8 gText_MysteryEventsCantUse[]; extern const u8 gText_Birch_Welcome[]; extern const u8 gText_ThisIsAPokemon[]; extern const u8 gText_Birch_MainSpeech[]; @@ -346,52 +291,6 @@ extern const u8 gText_Birch_WhatsYourName[]; extern const u8 gText_Birch_SoItsPlayer[]; extern const u8 gText_Birch_YourePlayer[]; extern const u8 gText_Birch_AreYouReady[]; -extern const u8 gText_ContinueMenuPlayer[]; -extern const u8 gText_ContinueMenuTime[]; -extern const u8 gText_ContinueMenuPokedex[]; -extern const u8 gText_ContinueMenuBadges[]; -extern const u8 gText_BirchBoy[]; -extern const u8 gText_BirchGirl[]; -extern const u8 gText_DefaultNameStu[]; -extern const u8 gText_DefaultNameMilton[]; -extern const u8 gText_DefaultNameTom[]; -extern const u8 gText_DefaultNameKenny[]; -extern const u8 gText_DefaultNameReid[]; -extern const u8 gText_DefaultNameJude[]; -extern const u8 gText_DefaultNameJaxson[]; -extern const u8 gText_DefaultNameEaston[]; -extern const u8 gText_DefaultNameWalker[]; -extern const u8 gText_DefaultNameTeru[]; -extern const u8 gText_DefaultNameJohnny[]; -extern const u8 gText_DefaultNameBrett[]; -extern const u8 gText_DefaultNameSeth[]; -extern const u8 gText_DefaultNameTerry[]; -extern const u8 gText_DefaultNameCasey[]; -extern const u8 gText_DefaultNameDarren[]; -extern const u8 gText_DefaultNameLandon[]; -extern const u8 gText_DefaultNameCollin[]; -extern const u8 gText_DefaultNameStanley[]; -extern const u8 gText_DefaultNameQuincy[]; -extern const u8 gText_DefaultNameKimmy[]; -extern const u8 gText_DefaultNameTiara[]; -extern const u8 gText_DefaultNameBella[]; -extern const u8 gText_DefaultNameJayla[]; -extern const u8 gText_DefaultNameAllie[]; -extern const u8 gText_DefaultNameLianna[]; -extern const u8 gText_DefaultNameSara[]; -extern const u8 gText_DefaultNameMonica[]; -extern const u8 gText_DefaultNameCamila[]; -extern const u8 gText_DefaultNameAubree[]; -extern const u8 gText_DefaultNameRuthie[]; -extern const u8 gText_DefaultNameHazel[]; -extern const u8 gText_DefaultNameNadine[]; -extern const u8 gText_DefaultNameTanja[]; -extern const u8 gText_DefaultNameYasmin[]; -extern const u8 gText_DefaultNameNicola[]; -extern const u8 gText_DefaultNameLillie[]; -extern const u8 gText_DefaultNameTerra[]; -extern const u8 gText_DefaultNameLucy[]; -extern const u8 gText_DefaultNameHalie[]; extern const u8 gText_BirchInTrouble[]; extern const u8 gText_ConfirmStarterChoice[]; @@ -404,19 +303,6 @@ extern const u8 gText_LoadingEvent[]; extern const u8 gText_DontRemoveCableTurnOff[]; extern const u8 gText_LinkStandby2[]; -// berry tag screen text -extern const u8 gBerryFirmnessString_VerySoft[]; -extern const u8 gBerryFirmnessString_Soft[]; -extern const u8 gBerryFirmnessString_Hard[]; -extern const u8 gBerryFirmnessString_VeryHard[]; -extern const u8 gBerryFirmnessString_SuperHard[]; -extern const u8 gText_BerryTag[]; -extern const u8 gText_NumberVar1Var2[]; -extern const u8 gText_SizeSlash[]; -extern const u8 gText_Var1DotVar2[]; -extern const u8 gText_ThreeMarks[]; -extern const u8 gText_FirmSlash[]; - // item menu screen text extern const u8 gText_CloseBag[]; extern const u8 gText_NumberItem_HM[]; @@ -947,6 +833,9 @@ extern const u8 gText_UsedVar2WildRepelled[]; extern const u8 gText_BoxFull[]; extern const u8 gText_WontHaveEffect[]; extern const u8 gText_NextFusionMon[]; +extern const u8 gText_PlayedPokeFluteCatchy[]; +extern const u8 gText_PlayedPokeFlute[]; +extern const u8 gText_PokeFluteAwakenedMon[]; extern const u8 gText_LevelSymbol[]; extern const u8 gText_PkmnInfo[]; @@ -1045,23 +934,6 @@ extern const u8 gText_SomeonesPC[]; extern const u8 gText_PlayersPC[]; extern const u8 gText_WhichPCShouldBeAccessed[]; -extern const u8 gText_PokenavMatchCall_Strategy[]; -extern const u8 gText_PokenavMatchCall_TrainerPokemon[]; -extern const u8 gText_PokenavMatchCall_SelfIntroduction[]; -extern const u8 gText_Pokenav_ClearButtonList[]; -extern const u8 gText_PokenavMap_ZoomedOutButtons[]; -extern const u8 gText_PokenavMap_ZoomedInButtons[]; -extern const u8 gText_PokenavCondition_MonListButtons[]; -extern const u8 gText_PokenavCondition_MonStatusButtons[]; -extern const u8 gText_PokenavCondition_MarkingButtons[]; -extern const u8 gText_PokenavMatchCall_TrainerListButtons[]; -extern const u8 gText_PokenavMatchCall_CallMenuButtons[]; -extern const u8 gText_PokenavMatchCall_CheckTrainerButtons[]; -extern const u8 gText_PokenavRibbons_MonListButtons[]; -extern const u8 gText_PokenavRibbons_RibbonListButtons[]; -extern const u8 gText_PokenavRibbons_RibbonCheckButtons[]; -extern const u8 gText_Number2[]; - extern const u8 gText_Petalburg[]; extern const u8 gText_Slateport[]; extern const u8 gText_Enter2[]; @@ -1087,51 +959,6 @@ extern const u8 gText_Yes[]; extern const u8 gText_No[]; extern const u8 gText_Challenge[]; extern const u8 gText_Info3[]; -extern const u8 gTrickHouse_Mechadoll_Oddish[]; -extern const u8 gTrickHouse_Mechadoll_Poochyena[]; -extern const u8 gTrickHouse_Mechadoll_Taillow[]; -extern const u8 gTrickHouse_Mechadoll_Azurill[]; -extern const u8 gTrickHouse_Mechadoll_Lotad[]; -extern const u8 gTrickHouse_Mechadoll_Wingull[]; -extern const u8 gTrickHouse_Mechadoll_Dustox[]; -extern const u8 gTrickHouse_Mechadoll_Zubat[]; -extern const u8 gTrickHouse_Mechadoll_Nincada[]; -extern const u8 gTrickHouse_Mechadoll_Ralts[]; -extern const u8 gTrickHouse_Mechadoll_Zigzagoon[]; -extern const u8 gTrickHouse_Mechadoll_Slakoth[]; -extern const u8 gTrickHouse_Mechadoll_Poochyena2[]; -extern const u8 gTrickHouse_Mechadoll_Shroomish[]; -extern const u8 gTrickHouse_Mechadoll_Zigzagoon2[]; -extern const u8 gTrickHouse_Mechadoll_Poochyena3[]; -extern const u8 gTrickHouse_Mechadoll_Zubat2[]; -extern const u8 gTrickHouse_Mechadoll_Carvanha[]; -extern const u8 gTrickHouse_Mechadoll_BurnHeal[]; -extern const u8 gTrickHouse_Mechadoll_HarborMail[]; -extern const u8 gTrickHouse_Mechadoll_SamePrice[]; -extern const u8 gTrickHouse_Mechadoll_60Yen[]; -extern const u8 gTrickHouse_Mechadoll_55Yen[]; -extern const u8 gTrickHouse_Mechadoll_Nothing[]; -extern const u8 gTrickHouse_Mechadoll_CostMore[]; -extern const u8 gTrickHouse_Mechadoll_CostLess[]; -extern const u8 gTrickHouse_Mechadoll_SamePrice2[]; -extern const u8 gTrickHouse_Mechadoll_Male[]; -extern const u8 gTrickHouse_Mechadoll_Female[]; -extern const u8 gTrickHouse_Mechadoll_Neither[]; -extern const u8 gTrickHouse_Mechadoll_ElderlyMen[]; -extern const u8 gTrickHouse_Mechadoll_ElderlyLadies[]; -extern const u8 gTrickHouse_Mechadoll_SameNumber[]; -extern const u8 gTrickHouse_Mechadoll_None[]; -extern const u8 gTrickHouse_Mechadoll_One[]; -extern const u8 gTrickHouse_Mechadoll_Two[]; -extern const u8 gTrickHouse_Mechadoll_Two2[]; -extern const u8 gTrickHouse_Mechadoll_Three[]; -extern const u8 gTrickHouse_Mechadoll_Four[]; -extern const u8 gTrickHouse_Mechadoll_Six[]; -extern const u8 gTrickHouse_Mechadoll_Seven[]; -extern const u8 gTrickHouse_Mechadoll_Eight[]; -extern const u8 gTrickHouse_Mechadoll_Six2[]; -extern const u8 gTrickHouse_Mechadoll_Seven2[]; -extern const u8 gTrickHouse_Mechadoll_Eight2[]; // Pokédex strings extern const u8 gText_SearchForPkmnBasedOnParameters[]; @@ -1395,36 +1222,6 @@ extern const u8 gText_FrontierFacilityRoomsCleared[]; extern const u8 gText_FrontierFacilityKOsStreak[]; extern const u8 gText_FrontierFacilityFloorsCleared[]; -// Frontier Brain -extern const u8 gText_AnabelWonSilver[]; -extern const u8 gText_TuckerWonSilver[]; -extern const u8 gText_SpenserWonSilver[]; -extern const u8 gText_GretaWonSilver[]; -extern const u8 gText_NolandWonSilver[]; -extern const u8 gText_LucyWonSilver[]; -extern const u8 gText_BrandonWonSilver[]; -extern const u8 gText_AnabelDefeatSilver[]; -extern const u8 gText_TuckerDefeatSilver[]; -extern const u8 gText_SpenserDefeatSilver[]; -extern const u8 gText_GretaDefeatSilver[]; -extern const u8 gText_NolandDefeatSilver[]; -extern const u8 gText_LucyDefeatSilver[]; -extern const u8 gText_BrandonDefeatSilver[]; -extern const u8 gText_AnabelWonGold[]; -extern const u8 gText_TuckerWonGold[]; -extern const u8 gText_SpenserWonGold[]; -extern const u8 gText_GretaWonGold[]; -extern const u8 gText_NolandWonGold[]; -extern const u8 gText_LucyWonGold[]; -extern const u8 gText_BrandonWonGold[]; -extern const u8 gText_AnabelDefeatGold[]; -extern const u8 gText_TuckerDefeatGold[]; -extern const u8 gText_SpenserDefeatGold[]; -extern const u8 gText_GretaDefeatGold[]; -extern const u8 gText_NolandDefeatGold[]; -extern const u8 gText_LucyDefeatGold[]; -extern const u8 gText_BrandonDefeatGold[]; - // Battle Tower. extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Intro[]; extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Mon1[]; @@ -2002,78 +1799,7 @@ extern const u8 BattlePyramid_Text_SixTrainersRemaining6[]; extern const u8 BattlePyramid_Text_SevenTrainersRemaining6[]; // PC strings -extern const u8 gText_ExitFromBox[]; -extern const u8 gText_WhatDoYouWantToDo[]; -extern const u8 gText_PleasePickATheme[]; -extern const u8 gText_PickTheWallpaper[]; -extern const u8 gText_PkmnIsSelected[]; -extern const u8 gText_JumpToWhichBox[]; -extern const u8 gText_DepositInWhichBox[]; -extern const u8 gText_PkmnWasDeposited[]; -extern const u8 gText_BoxIsFull2[]; -extern const u8 gText_ReleaseThisPokemon[]; -extern const u8 gText_PkmnWasReleased[]; -extern const u8 gText_ByeByePkmn[]; -extern const u8 gText_MarkYourPkmn[]; -extern const u8 gText_ThatsYourLastPkmn[]; extern const u8 gText_YourPartysFull[]; -extern const u8 gText_YoureHoldingAPkmn[]; -extern const u8 gText_WhichOneWillYouTake[]; -extern const u8 gText_YouCantReleaseAnEgg[]; -extern const u8 gText_ContinueBoxOperations[]; -extern const u8 gText_PkmnCameBack[]; -extern const u8 gText_WasItWorriedAboutYou[]; -extern const u8 gText_FourEllipsesExclamation[]; -extern const u8 gText_PleaseRemoveTheMail[]; -extern const u8 gText_GiveToAPkmn[]; -extern const u8 gText_PlacedItemInBag[]; -extern const u8 gText_BagIsFull2[]; -extern const u8 gText_PutItemInBag[]; -extern const u8 gText_ItemIsNowHeld[]; -extern const u8 gText_ChangedToNewItem[]; -extern const u8 gText_MailCantBeStored[]; -extern const u8 gPCText_Cancel[]; -extern const u8 gPCText_Store[]; -extern const u8 gPCText_Withdraw[]; -extern const u8 gPCText_Move[]; -extern const u8 gPCText_Shift[]; -extern const u8 gPCText_Place[]; -extern const u8 gPCText_Summary[]; -extern const u8 gPCText_Release[]; -extern const u8 gPCText_Mark[]; -extern const u8 gPCText_Jump[]; -extern const u8 gPCText_Wallpaper[]; -extern const u8 gPCText_Name[]; -extern const u8 gPCText_Take[]; -extern const u8 gPCText_Give[]; -extern const u8 gPCText_Give[]; -extern const u8 gPCText_Switch[]; -extern const u8 gPCText_Bag[]; -extern const u8 gPCText_Info[]; -extern const u8 gPCText_Scenery1[]; -extern const u8 gPCText_Scenery2[]; -extern const u8 gPCText_Scenery3[]; -extern const u8 gPCText_Etcetera[]; -extern const u8 gPCText_Friends[]; -extern const u8 gPCText_Forest[]; -extern const u8 gPCText_City[]; -extern const u8 gPCText_Desert[]; -extern const u8 gPCText_Savanna[]; -extern const u8 gPCText_Crag[]; -extern const u8 gPCText_Volcano[]; -extern const u8 gPCText_Snow[]; -extern const u8 gPCText_Cave[]; -extern const u8 gPCText_Beach[]; -extern const u8 gPCText_Seafloor[]; -extern const u8 gPCText_River[]; -extern const u8 gPCText_Sky[]; -extern const u8 gPCText_PolkaDot[]; -extern const u8 gPCText_Pokecenter[]; -extern const u8 gPCText_Machine[]; -extern const u8 gPCText_Simple[]; -extern const u8 gText_PartyFull[]; -extern const u8 gText_Box[]; -extern const u8 gText_JustOnePkmn[]; // battle main extern const u8 gText_LinkStandby3[]; @@ -2502,43 +2228,6 @@ extern const u8 MatchCall_Text_Phoebe[]; extern const u8 MatchCall_Text_Glacia[]; extern const u8 MatchCall_Text_Drake[]; extern const u8 MatchCall_Text_Wallace[]; -extern const u8 gText_MrStoneMatchCallDesc[]; -extern const u8 gText_MrStoneMatchCallName[]; -extern const u8 gText_StevenMatchCallDesc[]; -extern const u8 gText_StevenMatchCallName[]; -extern const u8 gText_MayBrendanMatchCallDesc[]; -extern const u8 gText_WallyMatchCallDesc[]; -extern const u8 gText_NormanMatchCallDesc[]; -extern const u8 gText_NormanMatchCallName[]; -extern const u8 gText_MomMatchCallDesc[]; -extern const u8 gText_MomMatchCallName[]; -extern const u8 gText_ScottMatchCallDesc[]; -extern const u8 gText_ScottMatchCallName[]; -extern const u8 gText_RoxanneMatchCallDesc[]; -extern const u8 gText_BrawlyMatchCallDesc[]; -extern const u8 gText_WattsonMatchCallDesc[]; -extern const u8 gText_FlanneryMatchCallDesc[]; -extern const u8 gText_WinonaMatchCallDesc[]; -extern const u8 gText_TateLizaMatchCallDesc[]; -extern const u8 gText_JuanMatchCallDesc[]; -extern const u8 gText_EliteFourMatchCallDesc[]; -extern const u8 gText_ChampionMatchCallDesc[]; -extern const u8 gText_ProfBirchMatchCallDesc[]; -extern const u8 gText_ProfBirchMatchCallName[]; -extern const u8 gText_MatchCallSteven_Strategy[]; -extern const u8 gText_MatchCallSteven_Pokemon[]; -extern const u8 gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle[]; -extern const u8 gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle[]; -extern const u8 gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle[]; -extern const u8 gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle[]; -extern const u8 gText_MatchCallBrendan_Strategy[]; -extern const u8 gText_MatchCallBrendan_Pokemon[]; -extern const u8 gText_MatchCallBrendan_Intro1[]; -extern const u8 gText_MatchCallBrendan_Intro2[]; -extern const u8 gText_MatchCallMay_Strategy[]; -extern const u8 gText_MatchCallMay_Pokemon[]; -extern const u8 gText_MatchCallMay_Intro1[]; -extern const u8 gText_MatchCallMay_Intro2[]; // Contest Link extern const u8 gText_ColorDarkGray[]; @@ -2956,37 +2645,6 @@ extern const u8 gText_CutenessContest[]; extern const u8 gText_SmartnessContest[]; extern const u8 gText_ToughnessContest[]; -// PokéNav Match Call -extern const u8 gText_CallCantBeMadeHere[]; -extern const u8 gText_NumberRegistered[]; -extern const u8 gText_NumberOfBattles[]; -extern const u8 gText_Unknown[]; -extern const u8 gText_TrainerCloseBy[]; -extern const u8 gText_Call[]; -extern const u8 gText_Check[]; -extern const u8 gText_Cancel6[]; - -// PokéNav Menu Handler -extern const u8 gText_CheckMapOfHoenn[]; -extern const u8 gText_CheckPokemonInDetail[]; -extern const u8 gText_CallRegisteredTrainer[]; -extern const u8 gText_CheckObtainedRibbons[]; -extern const u8 gText_PutAwayPokenav[]; -extern const u8 gText_CheckPartyPokemonInDetail[]; -extern const u8 gText_CheckAllPokemonInDetail[]; -extern const u8 gText_ReturnToPokenavMenu[]; -extern const u8 gText_FindCoolPokemon[]; -extern const u8 gText_FindBeautifulPokemon[]; -extern const u8 gText_FindCutePokemon[]; -extern const u8 gText_FindSmartPokemon[]; -extern const u8 gText_FindToughPokemon[]; -extern const u8 gText_ReturnToConditionMenu[]; -extern const u8 gText_NoRibbonWinners[]; - -// PokéNav -extern const u8 gText_NumberIndex[]; -extern const u8 gText_RibbonsF700[]; - // use_pokeblock extern const u8 gText_Coolness[]; extern const u8 gText_Toughness[]; @@ -3046,4 +2704,11 @@ extern const u8 gText_PlantBerry[]; extern const u8 gText_AM[]; extern const u8 gText_PM[]; +// FRLG whiteout +extern const u8 gText_PlayerScurriedToCenter[]; +extern const u8 gText_PlayerScurriedBackHome[]; + +extern const u8 gText_Relearn[]; // move relearner from summary screen +extern const u8 gText_Rename[]; // change nickname from summary screen + #endif // GUARD_STRINGS_H diff --git a/include/test/battle.h b/include/test/battle.h index 0b33cd1ec78d..7cf70539881a 100644 --- a/include/test/battle.h +++ b/include/test/battle.h @@ -41,7 +41,7 @@ * TURN { MOVE(player, MOVE_STUN_SPORE); } // 3. * } SCENE { * ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, player); - * MESSAGE("Foe Wobbuffet is paralyzed! It may be unable to move!"); // 4 + * MESSAGE("The opposing Wobbuffet is paralyzed, so it may be unable to move!"); // 4 * STATUS_ICON(opponent, paralysis: TRUE); // 4. * } * } @@ -95,7 +95,7 @@ * TURN { MOVE(player, MOVE_STUN_SPORE); } // 3. * } SCENE { * NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, player); // 4. - * MESSAGE("It doesn't affect Foe Oddish…"); // 5. + * MESSAGE("It doesn't affect the opposing Oddish…"); // 5. * } * } * @@ -256,7 +256,7 @@ * } WHEN { * TURN { MOVE(player, MOVE_CELEBRATE); } * } SCENE { - * MESSAGE("Wobbuffet is paralyzed! It can't move!"); + * MESSAGE("Wobbuffet is paralyzed, so it may be unable to move!"); * } * } * All BattleRandom calls involving tag will return the same number, so @@ -413,7 +413,7 @@ * Spaces in pattern match newlines (\n, \l, and \p) in the message. * Often used to check that a battler took its turn but it failed, e.g.: * MESSAGE("Wobbuffet used Dream Eater!"); - * MESSAGE("Foe Wobbuffet wasn't affected!"); + * MESSAGE("The opposing Wobbuffet wasn't affected!"); * * STATUS_ICON(battler, status1 | none: | sleep: | poison: | burn: | freeze: | paralysis:, badPoison:) * Causes the test to fail if the battler's status is not changed to the @@ -432,7 +432,7 @@ * following command succeeds. * // Our Wobbuffet does not Celebrate before the foe's. * NOT MESSAGE("Wobbuffet used Celebrate!"); - * MESSAGE("Foe Wobbuffet used Celebrate!"); + * MESSAGE("The opposing Wobbuffet used Celebrate!"); * WARNING: NOT is an alias of NONE_OF, so it behaves surprisingly when * applied to multiple commands wrapped in braces. * @@ -440,7 +440,7 @@ * Causes the test to fail unless one of the SCENE commands succeeds. * ONE_OF { * MESSAGE("Wobbuffet used Celebrate!"); - * MESSAGE("Wobbuffet is paralyzed! It can't move!"); + * MESSAGE("Wobbuffet is paralyzed, so it may be unable to move!"); * } * * NONE_OF @@ -449,9 +449,9 @@ * // Our Wobbuffet does not move before the foe's. * NONE_OF { * MESSAGE("Wobbuffet used Celebrate!"); - * MESSAGE("Wobbuffet is paralyzed! It can't move!"); + * MESSAGE("Wobbuffet is paralyzed, so it may be unable to move!"); * } - * MESSAGE("Foe Wobbuffet used Celebrate!"); + * MESSAGE("The opposing Wobbuffet used Celebrate!"); * * PLAYER_PARTY and OPPONENT_PARTY * Refer to the party members defined in GIVEN, e.g.: @@ -750,7 +750,7 @@ extern struct BattleTestRunnerState *const gBattleTestRunnerState; #define BATTLE_TEST_ARGS_SINGLE(_name, _type, ...) \ struct CAT(Result, __LINE__) { RECURSIVELY(R_FOR_EACH(APPEND_SEMICOLON, __VA_ARGS__)) }; \ static void CAT(Test, __LINE__)(struct CAT(Result, __LINE__) *, const u32, struct BattlePokemon *, struct BattlePokemon *); \ - __attribute__((section(".tests"))) static const struct Test CAT(sTest, __LINE__) = \ + __attribute__((section(".tests"), used)) static const struct Test CAT(sTest, __LINE__) = \ { \ .name = _name, \ .filename = __FILE__, \ @@ -768,7 +768,7 @@ extern struct BattleTestRunnerState *const gBattleTestRunnerState; #define BATTLE_TEST_ARGS_DOUBLE(_name, _type, ...) \ struct CAT(Result, __LINE__) { RECURSIVELY(R_FOR_EACH(APPEND_SEMICOLON, __VA_ARGS__)) }; \ static void CAT(Test, __LINE__)(struct CAT(Result, __LINE__) *, const u32, struct BattlePokemon *, struct BattlePokemon *, struct BattlePokemon *, struct BattlePokemon *); \ - __attribute__((section(".tests"))) static const struct Test CAT(sTest, __LINE__) = \ + __attribute__((section(".tests"), used)) static const struct Test CAT(sTest, __LINE__) = \ { \ .name = _name, \ .filename = __FILE__, \ @@ -1019,11 +1019,11 @@ void SendOut(u32 sourceLine, struct BattlePokemon *, u32 partyIndex); MESSAGE(name ", good! Come back!"); \ } -#define SEND_IN_MESSAGE(name) ONE_OF { \ - MESSAGE("Go! " name "!"); \ - MESSAGE("Do it! " name "!"); \ - MESSAGE("Go for it, " name "!"); \ - MESSAGE("Your foe's weak! Get 'em, " name "!"); \ +#define SEND_IN_MESSAGE(name) ONE_OF { \ + MESSAGE("Go! " name "!"); \ + MESSAGE("You're in charge, " name "!"); \ + MESSAGE("Go for it, " name "!"); \ + MESSAGE("Your opponent's weak! Get 'em, " name "!"); \ } enum QueueGroupType diff --git a/include/test/test.h b/include/test/test.h index 401c65ce9ef7..1a9d8a237ef6 100644 --- a/include/test/test.h +++ b/include/test/test.h @@ -83,7 +83,7 @@ s32 Test_MgbaPrintf(const char *fmt, ...); #define TEST(_name) \ static void CAT(Test, __LINE__)(void); \ - __attribute__((section(".tests"))) static const struct Test CAT(sTest, __LINE__) = \ + __attribute__((section(".tests"), used)) static const struct Test CAT(sTest, __LINE__) = \ { \ .name = _name, \ .filename = __FILE__, \ @@ -95,7 +95,7 @@ s32 Test_MgbaPrintf(const char *fmt, ...); #define ASSUMPTIONS \ static void Assumptions(void); \ - __attribute__((section(".tests"))) static const struct Test sAssumptions = \ + __attribute__((section(".tests"), used)) static const struct Test sAssumptions = \ { \ .name = "ASSUMPTIONS: " __FILE__, \ .filename = __FILE__, \ diff --git a/include/text.h b/include/text.h index 7be070252831..55500868dcbd 100644 --- a/include/text.h +++ b/include/text.h @@ -157,7 +157,9 @@ bool32 TextPrinterWaitAutoMode(struct TextPrinter *textPrinter); bool32 TextPrinterWaitWithDownArrow(struct TextPrinter *textPrinter); bool32 TextPrinterWait(struct TextPrinter *textPrinter); void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool32 drawArrow, u8 *counter, u8 *yCoordIndex); +s32 GetGlyphWidth(u16 glyphId, bool32 isJapanese, u8 fontId); s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing); +s32 GetStringLineWidth(u8 fontId, const u8 *str, s16 letterSpacing, u32 lineNum, u32 strSize); u8 RenderTextHandleBold(u8 *pixels, u8 fontId, u8 *str); u8 DrawKeypadIcon(u8 windowId, u8 keypadIconId, u16 x, u16 y); u8 GetKeypadIconTileOffset(u8 keypadIconId); diff --git a/include/text_window.h b/include/text_window.h index aa7798c35847..a292d1309e71 100644 --- a/include/text_window.h +++ b/include/text_window.h @@ -14,6 +14,7 @@ extern const u16 gTextWindowFrame1_Pal[]; const struct TilesPal *GetWindowFrameTilesPal(u8 id); void LoadMessageBoxGfx(u8 windowId, u16 destOffset, u8 palOffset); +void LoadSignBoxGfx(u8 windowId, u16 destOffset, u8 palOffset); void LoadWindowGfx(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset); void LoadUserWindowBorderGfx(u8 windowId, u16 destOffset, u8 palOffset); void LoadUserWindowBorderGfx_(u8 windowId, u16 destOffset, u8 palOffset); @@ -23,5 +24,6 @@ void DrawTextBorderInner(u8 windowId, u16 tileNum, u8 palNum); void rbox_fill_rectangle(u8 windowId); const u16 *GetTextWindowPalette(u8 id); const u16 *GetOverworldTextboxPalettePtr(void); +void LoadSignPostWindowFrameGfx(void); #endif // GUARD_TEXT_WINDOW_H diff --git a/include/type_icons.h b/include/type_icons.h new file mode 100644 index 000000000000..1d6a312f072e --- /dev/null +++ b/include/type_icons.h @@ -0,0 +1,18 @@ +#ifndef GUARD_TYPE_ICONS_H +#define GUARD_TYPE_ICONS_H + +void LoadTypeIcons(u32); + +#define TYPE_ICON_TAG 0x2720 +#define TYPE_ICON_TAG_2 0x2721 +#define NUM_FRAMES_HIDE_TYPE_ICON 10 + +#define tMonPosition data[0] +#define tBattlerId data[1] +#define tHideIconTimer data[2] +#define tVerticalPosition data[3] + +#define TYPE_ICON_1_FRAME(monType) ((monType - 1) * 2) +#define TYPE_ICON_2_FRAME(monType) ((monType - 11) * 2) + +#endif // GUARD_TYPE_ICONS_H diff --git a/include/util.h b/include/util.h index 3c90f136a60d..fcc4e37bb1b7 100644 --- a/include/util.h +++ b/include/util.h @@ -4,7 +4,6 @@ #include "sprite.h" extern const u8 gMiscBlank_Gfx[]; // unused in Emerald -extern const u32 gBitTable[]; u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *)); void StoreWordInTwoHalfwords(u16 *, u32); diff --git a/ld_script.ld b/ld_script.ld deleted file mode 100644 index 4e7a368fc38b..000000000000 --- a/ld_script.ld +++ /dev/null @@ -1,1390 +0,0 @@ -ENTRY(Start) - -gNumMusicPlayers = 4; -gMaxLines = 0; -gInitialMainCB2 = CB2_InitCopyrightScreenAfterBootup; - -MEMORY -{ - EWRAM (rwx) : ORIGIN = 0x2000000, LENGTH = 256K - IWRAM (rwx) : ORIGIN = 0x3000000, LENGTH = 32K - ROM (rx) : ORIGIN = 0x8000000, LENGTH = 32M -} - -SECTIONS { - - .ewram ORIGIN(EWRAM) : AT (__ewram_lma) - ALIGN(4) - { - __ewram_start = .; - *(.ewram*) - . = ALIGN(4); - __ewram_end = .; - } > EWRAM - - .ewram.sbss (NOLOAD) : - ALIGN(4) - { - INCLUDE "sym_ewram.ld" - src/*.o(.sbss); - - *libc.a:impure.o(.data); - *libc.a:locale.o(.data); - *libc.a:mallocr.o(.data); - } > EWRAM - - .iwram ORIGIN(IWRAM) : AT (__iwram_lma) - ALIGN(4) - { - __iwram_start = .; - *(.iwram*); - . = ALIGN(4); - __iwram_end = .; - } > IWRAM - - .iwram.bss (NOLOAD) : - ALIGN(4) - { - /* .bss starts at 0x3000000 */ - INCLUDE "sym_bss.ld" - src/*.o(.bss); - data/*.o(.bss); - - /* .bss.code starts at 0x3001AA8 */ - src/m4a.o(.bss.code); - - /* COMMON starts at 0x30022A8 */ - INCLUDE "sym_common.ld" - src/*.o(COMMON); - *libc.a:sbrkr.o(COMMON); - } > IWRAM - - /* BEGIN ROM DATA */ - . = 0x8000000; - - .text : - ALIGN(4) - { - src/rom_header.o(.text); - src/rom_header_gf.o(.text.*); - src/rom_header_rhh.o(.text.*); - src/crt0.o(.text); - src/main.o(.text); - src/malloc.o(.text); - src/dma3_manager.o(.text); - src/gpu_regs.o(.text); - src/bg.o(.text); - src/blit.o(.text); - src/window.o(.text); - src/text.o(.text); - src/sprite.o(.text); - src/string_util.o(.text); - src/link.o(.text); - src/AgbRfu_LinkManager.o(.text); - src/link_rfu_3.o(.text); - src/link_rfu_2.o(.text); - src/union_room.o(.text); - src/mystery_gift_menu.o(.text); - src/union_room_player_avatar.o(.text); - src/wireless_communication_status_screen.o(.text); - src/union_room_battle.o(.text); - src/mystery_gift.o(.text); - src/mystery_gift_view.o(.text); - src/mystery_gift_server.o(.text); - src/mystery_gift_client.o(.text); - src/mystery_gift_link.o(.text); - src/wonder_news.o(.text); - src/union_room_chat.o(.text); - src/berry_crush.o(.text); - src/berry_powder.o(.text); - src/dodrio_berry_picking.o(.text); - src/pokemon_jump.o(.text); - src/minigame_countdown.o(.text); - src/rtc.o(.text); - src/main_menu.o(.text); - src/battle_controllers.o(.text); - src/decompress.o(.text); - src/digit_obj_util.o(.text); - src/battle_bg.o(.text); - src/battle_main.o(.text); - src/battle_util.o(.text); - src/battle_z_move.o(.text); - src/battle_script_commands.o(.text); - src/battle_util2.o(.text); - src/battle_controller_player.o(.text); - src/battle_gfx_sfx_util.o(.text); - src/battle_controller_opponent.o(.text); - src/battle_ai_switch_items.o(.text); - src/battle_controller_link_opponent.o(.text); - src/battle_debug.o(.text); - src/pokemon.o(.text); - src/trig.o(.text); - src/random.o(.text); - src/util.o(.text); - src/daycare.o(.text); - src/egg_hatch.o(.text); - src/battle_interface.o(.text); - src/battle_anim_smokescreen.o(.text); - src/pokeball.o(.text); - src/load_save.o(.text); - src/trade.o(.text); - src/berry_blender.o(.text); - src/play_time.o(.text); - src/new_game.o(.text); - src/overworld.o(.text); - src/fieldmap.o(.text); - src/metatile_behavior.o(.text); - src/field_camera.o(.text); - src/field_door.o(.text); - src/field_player_avatar.o(.text); - src/event_object_movement.o(.text); - src/follower_helper.o(.text); - src/field_message_box.o(.text); - src/event_object_lock.o(.text); - src/text_window.o(.text); - src/script.o(.text); - src/scrcmd.o(.text); - src/field_control_avatar.o(.text); - src/event_data.o(.text); - src/coord_event_weather.o(.text); - src/field_tasks.o(.text); - src/clock.o(.text); - src/reset_rtc_screen.o(.text); - src/start_menu.o(.text); - src/tileset_anims.o(.text); - src/palette.o(.text); - src/sound.o(.text); - src/battle_anim.o(.text); - src/battle_anim_mons.o(.text); - src/task.o(.text); - src/reshow_battle_screen.o(.text); - src/battle_anim_status_effects.o(.text); - src/title_screen.o(.text); - src/field_weather.o(.text); - src/field_weather_effect.o(.text); - src/field_screen_effect.o(.text); - src/battle_setup.o(.text); - src/cable_club.o(.text); - src/trainer_see.o(.text); - src/wild_encounter.o(.text); - src/field_effect.o(.text); - src/scanline_effect.o(.text); - src/option_menu.o(.text); - src/pokedex.o(.text); - src/trainer_card.o(.text); - src/frontier_pass.o(.text); - src/pokemon_storage_system.o(.text); - src/pokemon_icon.o(.text); - src/script_movement.o(.text); - src/fldeff_cut.o(.text); - src/mail_data.o(.text); - src/map_name_popup.o(.text); - src/item_menu_icons.o(.text); - src/battle_anim_mon_movement.o(.text); - src/item.o(.text); - src/contest.o(.text); - src/shop.o(.text); - src/fldeff_escalator.o(.text); - src/berry.o(.text); - src/script_menu.o(.text); - src/naming_screen.o(.text); - src/money.o(.text); - src/contest_effect.o(.text); - src/record_mixing.o(.text); - src/secret_base.o(.text); - src/tv.o(.text); - src/contest_util.o(.text); - src/script_pokemon_util.o(.text); - src/field_poison.o(.text); - src/pokemon_size_record.o(.text); - src/fldeff_misc.o(.text); - src/field_special_scene.o(.text); - src/rotating_gate.o(.text); - src/safari_zone.o(.text); - src/contest_link.o(.text); - src/item_use.o(.text); - src/battle_anim_effects_1.o(.text); - src/battle_anim_effects_2.o(.text); - src/battle_anim_water.o(.text); - src/battle_anim_fire.o(.text); - src/battle_anim_electric.o(.text); - src/battle_anim_ice.o(.text); - src/battle_anim_fight.o(.text); - src/battle_anim_poison.o(.text); - src/battle_anim_flying.o(.text); - src/battle_anim_psychic.o(.text); - src/battle_anim_bug.o(.text); - src/battle_anim_rock.o(.text); - src/battle_anim_ghost.o(.text); - src/battle_anim_dragon.o(.text); - src/battle_anim_dark.o(.text); - src/battle_anim_ground.o(.text); - src/battle_anim_normal.o(.text); - src/battle_anim_utility_funcs.o(.text); - src/battle_anim_new.o(.text); - src/battle_intro.o(.text); - src/bike.o(.text); - src/easy_chat.o(.text); - src/mon_markings.o(.text); - src/mauville_old_man.o(.text); - src/mail.o(.text); - src/menu_helpers.o(.text); - src/dewford_trend.o(.text); - src/heal_location.o(.text); - src/region_map.o(.text); - src/image_processing_effects.o(.text); - src/decoration.o(.text); - src/slot_machine.o(.text); - src/contest_painting.o(.text); - src/battle_ai_main.o(.text); - src/battle_ai_util.o(.text); - src/trader.o(.text); - src/starter_choose.o(.text); - src/wallclock.o(.text); - src/fldeff_rocksmash.o(.text); - src/fldeff_dig.o(.text); - src/pokeblock.o(.text); - src/fldeff_flash.o(.text); - src/post_battle_event_funcs.o(.text); - src/time_events.o(.text); - src/birch_pc.o(.text); - src/hof_pc.o(.text); - src/field_specials.o(.text); - src/battle_records.o(.text); - src/pokedex_area_screen.o(.text); - src/evolution_scene.o(.text); - src/roulette.o(.text); - src/pokedex_cry_screen.o(.text); - src/coins.o(.text); - src/landmark.o(.text); - src/fldeff_strength.o(.text); - src/battle_transition.o(.text); - src/battle_controller_link_partner.o(.text); - src/battle_message.o(.text); - src/cable_car.o(.text); - src/math_util.o(.text); - src/palette_util.o(.text); - src/confetti_util.o(.text); - src/save.o(.text); - src/mystery_event_script.o(.text); - src/field_effect_helpers.o(.text); - src/contest_ai.o(.text); - src/battle_anim_sound_tasks.o(.text); - src/battle_controller_safari.o(.text); - src/fldeff_sweetscent.o(.text); - src/battle_anim_effects_3.o(.text); - src/move_relearner.o(.text); - src/fldeff_softboiled.o(.text); - src/decoration_inventory.o(.text); - src/roamer.o(.text); - src/battle_tower.o(.text); - src/use_pokeblock.o(.text); - src/battle_controller_wally.o(.text); - src/player_pc.o(.text); - src/intro.o(.text); - src/reload_save.o(.text); - src/field_region_map.o(.text); - src/battle_anim_throw.o(.text); - src/hall_of_fame.o(.text); - src/credits.o(.text); - src/lottery_corner.o(.text); - src/diploma.o(.text); - src/berry_tag_screen.o(.text); - src/mystery_event_menu.o(.text); - src/save_failed_screen.o(.text); - src/braille_puzzles.o(.text); - src/pokeblock_feed.o(.text); - src/clear_save_data_screen.o(.text); - src/intro_credits_graphics.o(.text); - src/evolution_graphics.o(.text); - src/bard_music.o(.text); - src/fldeff_teleport.o(.text); - src/battle_tv.o(.text); - src/pokemon_animation.o(.text); - src/recorded_battle.o(.text); - src/battle_controller_recorded_opponent.o(.text); - src/battle_controller_recorded_player.o(.text); - src/trainer_pokemon_sprites.o(.text); - src/lilycove_lady.o(.text); - src/battle_dome.o(.text); - src/battle_palace.o(.text); - src/match_call.o(.text); - src/menu.o(.text); - src/battle_factory_screen.o(.text); - src/apprentice.o(.text); - src/frontier_util.o(.text); - src/battle_arena.o(.text); - src/battle_factory.o(.text); - src/battle_pike.o(.text); - src/rotating_tile_puzzle.o(.text); - src/battle_pyramid.o(.text); - src/item_menu.o(.text); - src/list_menu.o(.text); - src/dynamic_placeholder_text_util.o(.text); - src/save_location.o(.text); - src/item_icon.o(.text); - src/party_menu.o(.text); - src/battle_tent.o(.text); - src/braille.o(.text); - src/multiboot.o(.text); - src/berry_fix_graphics.o(.text); - src/battle_controller_player_partner.o(.text); - src/mirage_tower.o(.text); - src/berry_fix_program.o(.text); - src/pokemon_summary_screen.o(.text); - src/pokedex_area_region_map.o(.text); - src/battle_pyramid_bag.o(.text); - src/pokenav.o(.text); - src/pokenav_main_menu.o(.text); - src/pokenav_list.o(.text); - src/pokenav_menu_handler.o(.text); - src/pokenav_menu_handler_gfx.o(.text); - src/pokenav_match_call_list.o(.text); - src/pokenav_match_call_gfx.o(.text); - src/pokenav_region_map.o(.text); - src/pokenav_conditions.o(.text); - src/pokenav_conditions_gfx.o(.text); - src/pokenav_conditions_search_results.o(.text); - src/pokenav_ribbons_list.o(.text); - src/pokenav_ribbons_summary.o(.text); - src/pokenav_match_call_data.o(.text); - src/menu_specialized.o(.text); - src/ereader_helpers.o(.text); - src/faraway_island.o(.text); - src/ereader_screen.o(.text); - src/trainer_hill.o(.text); - src/rayquaza_scene.o(.text); - src/walda_phrase.o(.text); - src/contest_link_util.o(.text); - src/gym_leader_rematch.o(.text); - src/battle_transition_frontier.o(.text); - src/international_string_util.o(.text); - src/pokemon_sprite_visualizer.o(.text); - src/expansion_intro.o(.text); - } > ROM =0 - - script_data : - ALIGN(4) - { - data/event_scripts.o(script_data); - data/battle_anim_scripts.o(script_data); - data/battle_scripts_1.o(script_data); - data/field_effect_scripts.o(script_data); - data/battle_scripts_2.o(script_data); - data/contest_ai_scripts.o(script_data); - data/mystery_event_script_cmd_table.o(script_data); - } > ROM =0 - - lib_text : - ALIGN(4) - { - src/libgcnmultiboot.o(.text); - src/m4a_1.o(.text); - src/m4a.o(.text); - src/agb_flash.o(.text); - src/agb_flash_1m.o(.text); - src/agb_flash_mx.o(.text); - src/siirtc.o(.text); - src/librfu_stwi.o(.text); - src/librfu_intr.o(.text); - src/librfu_rfu.o(.text); - src/librfu_sio32id.o(.text); - src/libisagbprn.o(.text); - *libagbsyscall.a:ArcTan2.o(.text); - *libagbsyscall.a:BgAffineSet.o(.text); - *libagbsyscall.a:CpuFastSet.o(.text); - *libagbsyscall.a:CpuSet.o(.text); - *libagbsyscall.a:Div.o(.text); - *libagbsyscall.a:LZ77UnCompVram.o(.text); - *libagbsyscall.a:LZ77UnCompWram.o(.text); - *libagbsyscall.a:MultiBoot.o(.text); - *libagbsyscall.a:ObjAffineSet.o(.text); - *libagbsyscall.a:RLUnCompVram.o(.text); - *libagbsyscall.a:RLUnCompWram.o(.text); - *libagbsyscall.a:RegisterRamReset.o(.text); - *libagbsyscall.a:SoftReset.o(.text); - *libagbsyscall.a:Sqrt.o(.text); - *libagbsyscall.a:VBlankIntrWait.o(.text); - *libgcc.a:_call_via_rX.o(.text); - *libgcc.a:_divdi3.o(.text); - *libgcc.a:_divsi3.o(.text); - *libgcc.a:_dvmd_tls.o(.text); - *libgcc.a:_fixunsdfsi.o(.text); - *libgcc.a:_fixunssfsi.o(.text); - *libgcc.a:_modsi3.o(.text); - *libgcc.a:_muldi3.o(.text); - *libgcc.a:_udivdi3.o(.text); - *libgcc.a:_udivsi3.o(.text); - *libgcc.a:_umodsi3.o(.text); - *libgcc.a:dp-bit.o(.text); - *libgcc.a:fp-bit.o(.text); - *libgcc.a:_lshrdi3.o(.text); - *libgcc.a:_negdi2.o(.text); - *libc.a:memcpy.o(.text); - *libc.a:memset.o(.text); - *libc.a:strcmp.o(.text); - *libc.a:strcpy.o(.text); - *libc.a:impure.o(.text); - *libc.a:vsprintf.o(.text); - *libc.a:vfprintf.o(.text); - *libc.a:wsetup.o(.text); - *libc.a:dtoa.o(.text); - *libc.a:fflush.o(.text); - *libc.a:findfp.o(.text); - *libc.a:freer.o(.text); - *libc.a:mtrim.o(.text); - *libc.a:fvwrite.o(.text); - *libc.a:fwalk.o(.text); - *libc.a:locale.o(.text); - *libc.a:makebuf.o(.text); - *libc.a:mallocr.o(.text); - *libc.a:mbtowc_r.o(.text); - *libc.a:memchr.o(.text); - *libc.a:memmove.o(.text); - *libc.a:mlock.o(.text); - *libc.a:mprec.o(.text); - *libc.a:s_isinf.o(.text); - *libc.a:s_isnan.o(.text); - *libc.a:sbrkr.o(.text); - *libc.a:stdio.o(.text); - *libc.a:strlen.o(.text); - *libc.a:syscalls.o(.text); - *libc.a:writer.o(.text); - *libc.a:callocr.o(.text); - *libc.a:closer.o(.text); - *libc.a:errno.o(.text); - *libc.a:fstatr.o(.text); - *libc.a:libcfunc.o(.text); - *libc.a:lseekr.o(.text); - *libc.a:readr.o(.text); - } > ROM =0 - - .rodata : - ALIGN(4) - { - src/rom_header.o(.rodata); - src/rom_header_gf.o(.rodata); - src/main.o(.rodata); - src/bg.o(.rodata); - src/window.o(.rodata); - src/text.o(.rodata); - src/sprite.o(.rodata); - src/io_reg.o(.rodata); - src/string_util.o(.rodata); - src/link.o(.rodata); - src/link.o(.rodata.str1.4); - src/AgbRfu_LinkManager.o(.rodata); - src/link_rfu_3.o(.rodata); - src/link_rfu_2.o(.rodata); - src/link_rfu_2.o(.rodata.str1.4); - src/union_room.o(.rodata); - src/mystery_gift_menu.o(.rodata); - src/union_room_player_avatar.o(.rodata); - src/wireless_communication_status_screen.o(.rodata); - src/union_room_battle.o(.rodata); - src/mystery_gift.o(.rodata); - src/mystery_gift_view.o(.rodata); - src/mystery_gift_server.o(.rodata); - src/mystery_gift_client.o(.rodata); - src/mystery_gift_scripts.o(.rodata); - src/wonder_news.o(.rodata); - src/union_room_chat.o(.rodata); - src/berry_crush.o(.rodata); - src/berry_powder.o(.rodata); - src/dodrio_berry_picking.o(.rodata); - src/pokemon_jump.o(.rodata); - src/minigame_countdown.o(.rodata); - src/rtc.o(.rodata); - src/main_menu.o(.rodata); - src/battle_controllers.o(.rodata); - src/digit_obj_util.o(.rodata); - src/data.o(.rodata); - src/battle_bg.o(.rodata); - src/battle_main.o(.rodata); - src/battle_util.o(.rodata); - src/battle_z_move.o(.rodata); - src/battle_script_commands.o(.rodata); - src/battle_controller_player.o(.rodata); - src/battle_anim_smokescreen.o(.rodata); - src/battle_controller_opponent.o(.rodata); - src/battle_ai_switch_items.o(.rodata); - src/battle_controller_link_opponent.o(.rodata); - src/battle_debug.o(.rodata); - src/pokemon.o(.rodata); - src/trig.o(.rodata); - src/util.o(.rodata); - src/daycare.o(.rodata); - src/egg_hatch.o(.rodata); - src/battle_gfx_sfx_util.o(.rodata); - src/battle_interface.o(.rodata); - src/pokeball.o(.rodata); - src/trade.o(.rodata); - src/berry_blender.o(.rodata); - src/new_game.o(.rodata); - src/overworld.o(.rodata); - src/tilesets.o(.rodata); - data/maps.o(.rodata); - src/fieldmap.o(.rodata); - src/metatile_behavior.o(.rodata); - src/field_door.o(.rodata); - src/field_player_avatar.o(.rodata); - src/event_object_movement.o(.rodata); - src/follower_helper.o(.rodata); - src/text_window.o(.rodata); - src/scrcmd.o(.rodata); - src/field_control_avatar.o(.rodata); - src/coord_event_weather.o(.rodata); - src/field_tasks.o(.rodata); - src/reset_rtc_screen.o(.rodata); - src/start_menu.o(.rodata); - src/tileset_anims.o(.rodata); - src/palette.o(.rodata); - src/sound.o(.rodata); - src/battle_anim.o(.rodata); - src/battle_anim_mons.o(.rodata); - data/map_events.o(.rodata); - src/reshow_battle_screen.o(.rodata); - src/battle_anim_status_effects.o(.rodata); - src/title_screen.o(.rodata); - src/field_weather.o(.rodata); - src/field_weather_effect.o(.rodata); - src/field_screen_effect.o(.rodata); - src/battle_setup.o(.rodata); - src/cable_club.o(.rodata); - src/trainer_see.o(.rodata); - src/wild_encounter.o(.rodata); - src/field_effect.o(.rodata); - src/scanline_effect.o(.rodata); - src/option_menu.o(.rodata); - src/pokedex.o(.rodata); - src/trainer_card.o(.rodata); - src/frontier_pass.o(.rodata); - src/pokemon_storage_system.o(.rodata); - src/pokemon_icon.o(.rodata); - src/fldeff_cut.o(.rodata); - src/map_name_popup.o(.rodata); - src/item_menu_icons.o(.rodata); - src/battle_anim_mon_movement.o(.rodata); - src/item.o(.rodata); - src/contest.o(.rodata); - src/shop.o(.rodata); - src/fldeff_escalator.o(.rodata); - src/berry.o(.rodata); - src/script_menu.o(.rodata); - src/naming_screen.o(.rodata); - src/money.o(.rodata); - src/contest_effect.o(.rodata); - src/record_mixing.o(.rodata); - src/secret_base.o(.rodata); - src/tv.o(.rodata); - src/contest_util.o(.rodata); - src/script_pokemon_util.o(.rodata); - src/pokemon_size_record.o(.rodata) - src/fldeff_misc.o(.rodata); - src/field_special_scene.o(.rodata); - src/rotating_gate.o(.rodata); - src/contest_link.o(.rodata); - src/item_use.o(.rodata); - src/battle_anim_effects_1.o(.rodata); - src/battle_anim_effects_2.o(.rodata); - src/battle_anim_water.o(.rodata); - src/battle_anim_fire.o(.rodata); - src/battle_anim_electric.o(.rodata); - src/battle_anim_ice.o(.rodata); - src/battle_anim_fight.o(.rodata); - src/battle_anim_poison.o(.rodata); - src/battle_anim_flying.o(.rodata); - src/battle_anim_psychic.o(.rodata); - src/battle_anim_bug.o(.rodata); - src/battle_anim_rock.o(.rodata); - src/battle_anim_ghost.o(.rodata); - src/battle_anim_dragon.o(.rodata); - src/battle_anim_dark.o(.rodata); - src/battle_anim_ground.o(.rodata); - src/battle_anim_normal.o(.rodata); - src/battle_anim_utility_funcs.o(.rodata); - src/battle_anim_new.o(.rodata); - src/battle_intro.o(.rodata); - src/bike.o(.rodata); - src/easy_chat.o(.rodata); - src/mon_markings.o(.rodata); - src/mauville_old_man.o(.rodata); - src/mail.o(.rodata); - src/menu_helpers.o(.rodata); - src/heal_location.o(.rodata); - src/region_map.o(.rodata); - src/image_processing_effects.o(.rodata); - src/decoration.o(.rodata); - src/slot_machine.o(.rodata); - src/contest_painting.o(.rodata); - src/battle_ai_main.o(.rodata); - src/battle_ai_util.o(.rodata); - src/trader.o(.rodata); - src/starter_choose.o(.rodata); - src/wallclock.o(.rodata); - src/pokeblock.o(.rodata); - src/fldeff_flash.o(.rodata); - src/time_events.o(.rodata); - src/field_specials.o(.rodata); - src/battle_records.o(.rodata); - src/pokedex_area_screen.o(.rodata); - src/evolution_scene.o(.rodata); - src/roulette.o(.rodata); - src/pokedex_cry_screen.o(.rodata); - src/landmark.o(.rodata); - src/battle_transition.o(.rodata); - src/battle_controller_link_partner.o(.rodata); - src/battle_message.o(.rodata); - src/cable_car.o(.rodata); - src/save.o(.rodata); - src/field_effect_helpers.o(.rodata); - src/contest_ai.o(.rodata); - src/battle_anim_sound_tasks.o(.rodata); - src/battle_controller_safari.o(.rodata); - src/battle_anim_effects_3.o(.rodata); - src/move_relearner.o(.rodata); - src/roamer.o(.rodata); - src/battle_tower.o(.rodata); - src/use_pokeblock.o(.rodata); - src/battle_controller_wally.o(.rodata); - src/player_pc.o(.rodata); - src/intro.o(.rodata); - src/field_region_map.o(.rodata); - src/battle_anim_throw.o(.rodata); - src/hall_of_fame.o(.rodata); - src/credits.o(.rodata); - src/lottery_corner.o(.rodata); - src/diploma.o(.rodata); - src/strings.o(.rodata); - src/berry_tag_screen.o(.rodata); - src/mystery_event_menu.o(.rodata); - src/save_failed_screen.o(.rodata); - src/braille_puzzles.o(.rodata); - src/pokeblock_feed.o(.rodata); - src/clear_save_data_screen.o(.rodata); - src/intro_credits_graphics.o(.rodata); - src/evolution_graphics.o(.rodata); - src/bard_music.o(.rodata); - src/battle_tv.o(.rodata); - src/pokemon_animation.o(.rodata); - src/battle_controller_recorded_opponent.o(.rodata); - src/battle_controller_recorded_player.o(.rodata); - src/trainer_pokemon_sprites.o(.rodata); - src/lilycove_lady.o(.rodata); - src/battle_dome.o(.rodata); - src/battle_palace.o(.rodata); - src/match_call.o(.rodata); - src/menu.o(.rodata); - src/battle_factory_screen.o(.rodata); - src/apprentice.o(.rodata); - src/frontier_util.o(.rodata); - src/battle_arena.o(.rodata); - src/battle_factory.o(.rodata); - src/battle_pike.o(.rodata); - src/rotating_tile_puzzle.o(.rodata); - src/battle_pyramid.o(.rodata); - src/item_menu.o(.rodata); - src/list_menu.o(.rodata); - src/save_location.o(.rodata); - src/item_icon.o(.rodata); - src/party_menu.o(.rodata); - src/battle_tent.o(.rodata); - src/braille.o(.rodata); - src/multiboot.o(.rodata); - src/berry_fix_graphics.o(.rodata); - src/battle_controller_player_partner.o(.rodata); - src/mirage_tower.o(.rodata); - src/berry_fix_program.o(.rodata); - src/pokemon_summary_screen.o(.rodata); - src/pokedex_area_region_map.o(.rodata); - src/battle_pyramid_bag.o(.rodata); - src/pokenav.o(.rodata); - src/pokenav_main_menu.o(.rodata); - src/pokenav_list.o(.rodata); - src/pokenav_menu_handler.o(.rodata); - src/pokenav_menu_handler_gfx.o(.rodata); - src/pokenav_match_call_list.o(.rodata); - src/pokenav_match_call_gfx.o(.rodata); - src/pokenav_region_map.o(.rodata); - src/pokenav_conditions_gfx.o(.rodata); - src/pokenav_conditions_search_results.o(.rodata); - src/pokenav_ribbons_list.o(.rodata); - src/pokenav_ribbons_summary.o(.rodata); - src/pokenav_match_call_data.o(.rodata); - src/menu_specialized.o(.rodata); - src/ereader_helpers.o(.rodata); - src/faraway_island.o(.rodata); - src/ereader_screen.o(.rodata); - src/trainer_hill.o(.rodata); - src/rayquaza_scene.o(.rodata); - src/walda_phrase.o(.rodata); - src/gym_leader_rematch.o(.rodata); - src/battle_transition_frontier.o(.rodata); - src/text_input_strings.o(.rodata); - src/fonts.o(.rodata); - src/international_string_util.o(.rodata); - src/mystery_event_msg.o(.rodata); - data/mystery_gift.o(.rodata); - src/m4a_tables.o(.rodata); - data/sound_data.o(.rodata); - src/pokemon_sprite_visualizer.o(.rodata); - src/expansion_intro.o(.rodata); - } > ROM =0 - - song_data : - ALIGN(4) - { - sound/songs/midi/mus_dummy.o(.rodata); - sound/songs/midi/se_use_item.o(.rodata); - sound/songs/midi/se_pc_login.o(.rodata); - sound/songs/midi/se_pc_off.o(.rodata); - sound/songs/midi/se_pc_on.o(.rodata); - sound/songs/midi/se_select.o(.rodata); - sound/songs/se_win_open.o(.rodata); - sound/songs/se_wall_hit.o(.rodata); - sound/songs/midi/se_door.o(.rodata); - sound/songs/midi/se_exit.o(.rodata); - sound/songs/midi/se_ledge.o(.rodata); - sound/songs/midi/se_bike_bell.o(.rodata); - sound/songs/midi/se_not_effective.o(.rodata); - sound/songs/midi/se_effective.o(.rodata); - sound/songs/midi/se_super_effective.o(.rodata); - sound/songs/midi/se_ball_open.o(.rodata); - sound/songs/midi/se_faint.o(.rodata); - sound/songs/midi/se_flee.o(.rodata); - sound/songs/midi/se_sliding_door.o(.rodata); - sound/songs/midi/se_ship.o(.rodata); - sound/songs/midi/se_bang.o(.rodata); - sound/songs/midi/se_pin.o(.rodata); - sound/songs/midi/se_boo.o(.rodata); - sound/songs/midi/se_ball.o(.rodata); - sound/songs/midi/se_contest_place.o(.rodata); - sound/songs/midi/se_a.o(.rodata); - sound/songs/midi/se_i.o(.rodata); - sound/songs/midi/se_u.o(.rodata); - sound/songs/midi/se_e.o(.rodata); - sound/songs/midi/se_o.o(.rodata); - sound/songs/midi/se_n.o(.rodata); - sound/songs/midi/se_success.o(.rodata); - sound/songs/midi/se_failure.o(.rodata); - sound/songs/midi/se_exp.o(.rodata); - sound/songs/midi/se_bike_hop.o(.rodata); - sound/songs/midi/se_switch.o(.rodata); - sound/songs/midi/se_click.o(.rodata); - sound/songs/midi/se_fu_zaku.o(.rodata); - sound/songs/midi/se_contest_condition_lose.o(.rodata); - sound/songs/midi/se_lavaridge_fall_warp.o(.rodata); - sound/songs/midi/se_ice_stairs.o(.rodata); - sound/songs/midi/se_ice_break.o(.rodata); - sound/songs/midi/se_ice_crack.o(.rodata); - sound/songs/midi/se_fall.o(.rodata); - sound/songs/midi/se_unlock.o(.rodata); - sound/songs/midi/se_warp_in.o(.rodata); - sound/songs/midi/se_warp_out.o(.rodata); - sound/songs/midi/se_repel.o(.rodata); - sound/songs/midi/se_rotating_gate.o(.rodata); - sound/songs/midi/se_truck_move.o(.rodata); - sound/songs/midi/se_truck_stop.o(.rodata); - sound/songs/midi/se_truck_unload.o(.rodata); - sound/songs/midi/se_truck_door.o(.rodata); - sound/songs/midi/se_berry_blender.o(.rodata); - sound/songs/midi/se_card.o(.rodata); - sound/songs/midi/se_save.o(.rodata); - sound/songs/midi/se_ball_bounce_1.o(.rodata); - sound/songs/midi/se_ball_bounce_2.o(.rodata); - sound/songs/midi/se_ball_bounce_3.o(.rodata); - sound/songs/midi/se_ball_bounce_4.o(.rodata); - sound/songs/midi/se_ball_trade.o(.rodata); - sound/songs/midi/se_ball_throw.o(.rodata); - sound/songs/midi/se_note_c.o(.rodata); - sound/songs/midi/se_note_d.o(.rodata); - sound/songs/midi/se_note_e.o(.rodata); - sound/songs/midi/se_note_f.o(.rodata); - sound/songs/midi/se_note_g.o(.rodata); - sound/songs/midi/se_note_a.o(.rodata); - sound/songs/midi/se_note_b.o(.rodata); - sound/songs/midi/se_note_c_high.o(.rodata); - sound/songs/midi/se_puddle.o(.rodata); - sound/songs/midi/se_bridge_walk.o(.rodata); - sound/songs/midi/se_itemfinder.o(.rodata); - sound/songs/midi/se_ding_dong.o(.rodata); - sound/songs/midi/se_balloon_red.o(.rodata); - sound/songs/midi/se_balloon_blue.o(.rodata); - sound/songs/midi/se_balloon_yellow.o(.rodata); - sound/songs/midi/se_breakable_door.o(.rodata); - sound/songs/midi/se_mud_ball.o(.rodata); - sound/songs/midi/se_field_poison.o(.rodata); - sound/songs/midi/se_escalator.o(.rodata); - sound/songs/midi/se_thunderstorm.o(.rodata); - sound/songs/midi/se_thunderstorm_stop.o(.rodata); - sound/songs/midi/se_downpour.o(.rodata); - sound/songs/midi/se_downpour_stop.o(.rodata); - sound/songs/midi/se_rain.o(.rodata); - sound/songs/midi/se_rain_stop.o(.rodata); - sound/songs/midi/se_thunder.o(.rodata); - sound/songs/midi/se_thunder2.o(.rodata); - sound/songs/midi/se_elevator.o(.rodata); - sound/songs/midi/se_low_health.o(.rodata); - sound/songs/midi/se_exp_max.o(.rodata); - sound/songs/midi/se_roulette_ball.o(.rodata); - sound/songs/midi/se_roulette_ball2.o(.rodata); - sound/songs/midi/se_taillow_wing_flap.o(.rodata); - sound/songs/midi/se_shop.o(.rodata); - sound/songs/midi/se_contest_heart.o(.rodata); - sound/songs/midi/se_contest_curtain_rise.o(.rodata); - sound/songs/midi/se_contest_curtain_fall.o(.rodata); - sound/songs/midi/se_contest_icon_change.o(.rodata); - sound/songs/midi/se_contest_icon_clear.o(.rodata); - sound/songs/midi/se_contest_mons_turn.o(.rodata); - sound/songs/midi/se_shiny.o(.rodata); - sound/songs/midi/se_intro_blast.o(.rodata); - sound/songs/midi/se_mugshot.o(.rodata); - sound/songs/midi/se_applause.o(.rodata); - sound/songs/midi/se_vend.o(.rodata); - sound/songs/midi/se_orb.o(.rodata); - sound/songs/se_dex_scroll.o(.rodata); - sound/songs/se_dex_page.o(.rodata); - sound/songs/midi/se_pokenav_on.o(.rodata); - sound/songs/midi/se_pokenav_off.o(.rodata); - sound/songs/midi/se_dex_search.o(.rodata); - sound/songs/midi/se_egg_hatch.o(.rodata); - sound/songs/midi/se_ball_tray_enter.o(.rodata); - sound/songs/midi/se_ball_tray_ball.o(.rodata); - sound/songs/midi/se_ball_tray_exit.o(.rodata); - sound/songs/midi/se_glass_flute.o(.rodata); - sound/songs/se_m_thunderbolt.o(.rodata); - sound/songs/se_m_thunderbolt2.o(.rodata); - sound/songs/se_m_harden.o(.rodata); - sound/songs/se_m_nightmare.o(.rodata); - sound/songs/se_m_vital_throw.o(.rodata); - sound/songs/se_m_vital_throw2.o(.rodata); - sound/songs/se_m_bubble.o(.rodata); - sound/songs/se_m_bubble2.o(.rodata); - sound/songs/se_m_bubble3.o(.rodata); - sound/songs/se_m_rain_dance.o(.rodata); - sound/songs/midi/se_m_cut.o(.rodata); - sound/songs/se_m_string_shot.o(.rodata); - sound/songs/se_m_string_shot2.o(.rodata); - sound/songs/se_m_rock_throw.o(.rodata); - sound/songs/midi/se_m_gust.o(.rodata); - sound/songs/midi/se_m_gust2.o(.rodata); - sound/songs/midi/se_m_double_slap.o(.rodata); - sound/songs/se_m_double_team.o(.rodata); - sound/songs/midi/se_m_razor_wind.o(.rodata); - sound/songs/se_m_icy_wind.o(.rodata); - sound/songs/se_m_thunder_wave.o(.rodata); - sound/songs/midi/se_m_comet_punch.o(.rodata); - sound/songs/midi/se_m_mega_kick.o(.rodata); - sound/songs/midi/se_m_mega_kick2.o(.rodata); - sound/songs/se_m_crabhammer.o(.rodata); - sound/songs/midi/se_m_jump_kick.o(.rodata); - sound/songs/se_m_flame_wheel.o(.rodata); - sound/songs/se_m_flame_wheel2.o(.rodata); - sound/songs/se_m_flamethrower.o(.rodata); - sound/songs/midi/se_m_fire_punch.o(.rodata); - sound/songs/se_m_toxic.o(.rodata); - sound/songs/se_m_sacred_fire.o(.rodata); - sound/songs/se_m_sacred_fire2.o(.rodata); - sound/songs/se_m_ember.o(.rodata); - sound/songs/midi/se_m_take_down.o(.rodata); - sound/songs/se_m_blizzard.o(.rodata); - sound/songs/se_m_blizzard2.o(.rodata); - sound/songs/midi/se_m_scratch.o(.rodata); - sound/songs/midi/se_m_vicegrip.o(.rodata); - sound/songs/midi/se_m_wing_attack.o(.rodata); - sound/songs/midi/se_m_fly.o(.rodata); - sound/songs/midi/se_m_sand_attack.o(.rodata); - sound/songs/midi/se_m_razor_wind2.o(.rodata); - sound/songs/se_m_bite.o(.rodata); - sound/songs/midi/se_m_headbutt.o(.rodata); - sound/songs/se_m_surf.o(.rodata); - sound/songs/se_m_hydro_pump.o(.rodata); - sound/songs/se_m_whirlpool.o(.rodata); - sound/songs/midi/se_m_horn_attack.o(.rodata); - sound/songs/midi/se_m_tail_whip.o(.rodata); - sound/songs/se_m_mist.o(.rodata); - sound/songs/se_m_poison_powder.o(.rodata); - sound/songs/midi/se_m_bind.o(.rodata); - sound/songs/se_m_dragon_rage.o(.rodata); - sound/songs/se_m_sing.o(.rodata); - sound/songs/se_m_perish_song.o(.rodata); - sound/songs/midi/se_m_pay_day.o(.rodata); - sound/songs/se_m_dig.o(.rodata); - sound/songs/se_m_dizzy_punch.o(.rodata); - sound/songs/se_m_self_destruct.o(.rodata); - sound/songs/se_m_explosion.o(.rodata); - sound/songs/se_m_absorb_2.o(.rodata); - sound/songs/se_m_absorb.o(.rodata); - sound/songs/se_m_screech.o(.rodata); - sound/songs/se_m_bubble_beam.o(.rodata); - sound/songs/se_m_bubble_beam2.o(.rodata); - sound/songs/se_m_supersonic.o(.rodata); - sound/songs/se_m_belly_drum.o(.rodata); - sound/songs/se_m_metronome.o(.rodata); - sound/songs/se_m_bonemerang.o(.rodata); - sound/songs/se_m_lick.o(.rodata); - sound/songs/se_m_psybeam.o(.rodata); - sound/songs/se_m_faint_attack.o(.rodata); - sound/songs/midi/se_m_swords_dance.o(.rodata); - sound/songs/midi/se_m_leer.o(.rodata); - sound/songs/se_m_swagger.o(.rodata); - sound/songs/se_m_swagger2.o(.rodata); - sound/songs/se_m_heal_bell.o(.rodata); - sound/songs/se_m_confuse_ray.o(.rodata); - sound/songs/se_m_snore.o(.rodata); - sound/songs/se_m_brick_break.o(.rodata); - sound/songs/se_m_giga_drain.o(.rodata); - sound/songs/se_m_psybeam2.o(.rodata); - sound/songs/se_m_solar_beam.o(.rodata); - sound/songs/se_m_petal_dance.o(.rodata); - sound/songs/se_m_teleport.o(.rodata); - sound/songs/se_m_minimize.o(.rodata); - sound/songs/se_m_sketch.o(.rodata); - sound/songs/se_m_swift.o(.rodata); - sound/songs/se_m_reflect.o(.rodata); - sound/songs/se_m_barrier.o(.rodata); - sound/songs/se_m_detect.o(.rodata); - sound/songs/se_m_lock_on.o(.rodata); - sound/songs/se_m_moonlight.o(.rodata); - sound/songs/se_m_charm.o(.rodata); - sound/songs/se_m_charge.o(.rodata); - sound/songs/se_m_strength.o(.rodata); - sound/songs/se_m_hyper_beam.o(.rodata); - sound/songs/se_m_waterfall.o(.rodata); - sound/songs/se_m_reversal.o(.rodata); - sound/songs/se_m_acid_armor.o(.rodata); - sound/songs/se_m_sandstorm.o(.rodata); - sound/songs/se_m_tri_attack.o(.rodata); - sound/songs/se_m_tri_attack2.o(.rodata); - sound/songs/se_m_encore.o(.rodata); - sound/songs/se_m_encore2.o(.rodata); - sound/songs/se_m_baton_pass.o(.rodata); - sound/songs/se_m_milk_drink.o(.rodata); - sound/songs/se_m_attract.o(.rodata); - sound/songs/se_m_attract2.o(.rodata); - sound/songs/se_m_morning_sun.o(.rodata); - sound/songs/se_m_flatter.o(.rodata); - sound/songs/se_m_sand_tomb.o(.rodata); - sound/songs/se_m_grasswhistle.o(.rodata); - sound/songs/se_m_spit_up.o(.rodata); - sound/songs/se_m_dive.o(.rodata); - sound/songs/se_m_earthquake.o(.rodata); - sound/songs/se_m_twister.o(.rodata); - sound/songs/se_m_sweet_scent.o(.rodata); - sound/songs/se_m_yawn.o(.rodata); - sound/songs/se_m_sky_uppercut.o(.rodata); - sound/songs/se_m_stat_increase.o(.rodata); - sound/songs/se_m_heat_wave.o(.rodata); - sound/songs/se_m_uproar.o(.rodata); - sound/songs/se_m_hail.o(.rodata); - sound/songs/se_m_cosmic_power.o(.rodata); - sound/songs/se_m_teeter_dance.o(.rodata); - sound/songs/se_m_stat_decrease.o(.rodata); - sound/songs/se_m_haze.o(.rodata); - sound/songs/se_m_hyper_beam2.o(.rodata); - sound/songs/midi/se_rg_door.o(.rodata); - sound/songs/midi/se_rg_card_flip.o(.rodata); - sound/songs/midi/se_rg_card_flipping.o(.rodata); - sound/songs/midi/se_rg_card_open.o(.rodata); - sound/songs/midi/se_rg_bag_cursor.o(.rodata); - sound/songs/midi/se_rg_bag_pocket.o(.rodata); - sound/songs/midi/se_rg_ball_click.o(.rodata); - sound/songs/midi/se_rg_shop.o(.rodata); - sound/songs/midi/se_rg_ss_anne_horn.o(.rodata); - sound/songs/midi/se_rg_help_open.o(.rodata); - sound/songs/midi/se_rg_help_close.o(.rodata); - sound/songs/midi/se_rg_help_error.o(.rodata); - sound/songs/midi/se_rg_deoxys_move.o(.rodata); - sound/songs/midi/se_rg_poke_jump_success.o(.rodata); - sound/songs/midi/se_rg_poke_jump_failure.o(.rodata); - sound/songs/midi/se_pokenav_call.o(.rodata); - sound/songs/midi/se_pokenav_hang_up.o(.rodata); - sound/songs/midi/se_arena_timeup1.o(.rodata); - sound/songs/midi/se_arena_timeup2.o(.rodata); - sound/songs/midi/se_pike_curtain_close.o(.rodata); - sound/songs/midi/se_pike_curtain_open.o(.rodata); - sound/songs/midi/se_sudowoodo_shake.o(.rodata); - sound/songs/midi/mus_littleroot_test.o(.rodata); - sound/songs/midi/mus_gsc_route38.o(.rodata); - sound/songs/midi/mus_caught.o(.rodata); - sound/songs/midi/mus_victory_wild.o(.rodata); - sound/songs/midi/mus_victory_gym_leader.o(.rodata); - sound/songs/midi/mus_victory_league.o(.rodata); - sound/songs/midi/mus_c_comm_center.o(.rodata); - sound/songs/midi/mus_gsc_pewter.o(.rodata); - sound/songs/midi/mus_c_vs_legend_beast.o(.rodata); - sound/songs/midi/mus_route101.o(.rodata); - sound/songs/midi/mus_route110.o(.rodata); - sound/songs/midi/mus_route120.o(.rodata); - sound/songs/midi/mus_petalburg.o(.rodata); - sound/songs/midi/mus_oldale.o(.rodata); - sound/songs/midi/mus_gym.o(.rodata); - sound/songs/midi/mus_surf.o(.rodata); - sound/songs/midi/mus_petalburg_woods.o(.rodata); - sound/songs/midi/mus_level_up.o(.rodata); - sound/songs/midi/mus_heal.o(.rodata); - sound/songs/midi/mus_obtain_badge.o(.rodata); - sound/songs/midi/mus_obtain_item.o(.rodata); - sound/songs/midi/mus_evolved.o(.rodata); - sound/songs/midi/mus_obtain_tmhm.o(.rodata); - sound/songs/midi/mus_lilycove_museum.o(.rodata); - sound/songs/midi/mus_route122.o(.rodata); - sound/songs/midi/mus_oceanic_museum.o(.rodata); - sound/songs/midi/mus_evolution_intro.o(.rodata); - sound/songs/midi/mus_evolution.o(.rodata); - sound/songs/midi/mus_move_deleted.o(.rodata); - sound/songs/midi/mus_encounter_girl.o(.rodata); - sound/songs/midi/mus_encounter_male.o(.rodata); - sound/songs/midi/mus_abandoned_ship.o(.rodata); - sound/songs/midi/mus_fortree.o(.rodata); - sound/songs/midi/mus_birch_lab.o(.rodata); - sound/songs/midi/mus_b_tower_rs.o(.rodata); - sound/songs/midi/mus_encounter_swimmer.o(.rodata); - sound/songs/midi/mus_cave_of_origin.o(.rodata); - sound/songs/midi/mus_obtain_berry.o(.rodata); - sound/songs/midi/mus_awaken_legend.o(.rodata); - sound/songs/midi/mus_slots_jackpot.o(.rodata); - sound/songs/midi/mus_slots_win.o(.rodata); - sound/songs/midi/mus_too_bad.o(.rodata); - sound/songs/midi/mus_roulette.o(.rodata); - sound/songs/midi/mus_link_contest_p1.o(.rodata); - sound/songs/midi/mus_link_contest_p2.o(.rodata); - sound/songs/midi/mus_link_contest_p3.o(.rodata); - sound/songs/midi/mus_link_contest_p4.o(.rodata); - sound/songs/midi/mus_encounter_rich.o(.rodata); - sound/songs/midi/mus_verdanturf.o(.rodata); - sound/songs/midi/mus_rustboro.o(.rodata); - sound/songs/midi/mus_poke_center.o(.rodata); - sound/songs/midi/mus_route104.o(.rodata); - sound/songs/midi/mus_route119.o(.rodata); - sound/songs/midi/mus_cycling.o(.rodata); - sound/songs/midi/mus_poke_mart.o(.rodata); - sound/songs/midi/mus_littleroot.o(.rodata); - sound/songs/midi/mus_mt_chimney.o(.rodata); - sound/songs/midi/mus_encounter_female.o(.rodata); - sound/songs/midi/mus_lilycove.o(.rodata); - sound/songs/midi/mus_route111.o(.rodata); - sound/songs/midi/mus_help.o(.rodata); - sound/songs/midi/mus_underwater.o(.rodata); - sound/songs/midi/mus_victory_trainer.o(.rodata); - sound/songs/midi/mus_title.o(.rodata); - sound/songs/midi/mus_intro.o(.rodata); - sound/songs/midi/mus_encounter_may.o(.rodata); - sound/songs/midi/mus_encounter_intense.o(.rodata); - sound/songs/midi/mus_encounter_cool.o(.rodata); - sound/songs/midi/mus_route113.o(.rodata); - sound/songs/midi/mus_encounter_aqua.o(.rodata); - sound/songs/midi/mus_follow_me.o(.rodata); - sound/songs/midi/mus_encounter_brendan.o(.rodata); - sound/songs/midi/mus_ever_grande.o(.rodata); - sound/songs/midi/mus_encounter_suspicious.o(.rodata); - sound/songs/midi/mus_victory_aqua_magma.o(.rodata); - sound/songs/midi/mus_cable_car.o(.rodata); - sound/songs/midi/mus_game_corner.o(.rodata); - sound/songs/midi/mus_dewford.o(.rodata); - sound/songs/midi/mus_safari_zone.o(.rodata); - sound/songs/midi/mus_victory_road.o(.rodata); - sound/songs/midi/mus_aqua_magma_hideout.o(.rodata); - sound/songs/midi/mus_sailing.o(.rodata); - sound/songs/midi/mus_mt_pyre.o(.rodata); - sound/songs/midi/mus_slateport.o(.rodata); - sound/songs/midi/mus_mt_pyre_exterior.o(.rodata); - sound/songs/midi/mus_school.o(.rodata); - sound/songs/midi/mus_hall_of_fame.o(.rodata); - sound/songs/midi/mus_fallarbor.o(.rodata); - sound/songs/midi/mus_sealed_chamber.o(.rodata); - sound/songs/midi/mus_contest_winner.o(.rodata); - sound/songs/midi/mus_contest.o(.rodata); - sound/songs/midi/mus_encounter_magma.o(.rodata); - sound/songs/midi/mus_intro_battle.o(.rodata); - sound/songs/midi/mus_abnormal_weather.o(.rodata); - sound/songs/midi/mus_weather_groudon.o(.rodata); - sound/songs/midi/mus_sootopolis.o(.rodata); - sound/songs/midi/mus_contest_results.o(.rodata); - sound/songs/midi/mus_hall_of_fame_room.o(.rodata); - sound/songs/midi/mus_trick_house.o(.rodata); - sound/songs/midi/mus_encounter_twins.o(.rodata); - sound/songs/midi/mus_encounter_elite_four.o(.rodata); - sound/songs/midi/mus_encounter_hiker.o(.rodata); - sound/songs/midi/mus_contest_lobby.o(.rodata); - sound/songs/midi/mus_encounter_interviewer.o(.rodata); - sound/songs/midi/mus_encounter_champion.o(.rodata); - sound/songs/midi/mus_credits.o(.rodata); - sound/songs/midi/mus_end.o(.rodata); - sound/songs/midi/mus_b_frontier.o(.rodata); - sound/songs/midi/mus_b_arena.o(.rodata); - sound/songs/midi/mus_obtain_b_points.o(.rodata); - sound/songs/midi/mus_register_match_call.o(.rodata); - sound/songs/midi/mus_b_pyramid.o(.rodata); - sound/songs/midi/mus_b_pyramid_top.o(.rodata); - sound/songs/midi/mus_b_palace.o(.rodata); - sound/songs/midi/mus_rayquaza_appears.o(.rodata); - sound/songs/midi/mus_b_tower.o(.rodata); - sound/songs/midi/mus_obtain_symbol.o(.rodata); - sound/songs/midi/mus_b_dome.o(.rodata); - sound/songs/midi/mus_b_pike.o(.rodata); - sound/songs/midi/mus_b_factory.o(.rodata); - sound/songs/midi/mus_vs_rayquaza.o(.rodata); - sound/songs/midi/mus_vs_frontier_brain.o(.rodata); - sound/songs/midi/mus_vs_mew.o(.rodata); - sound/songs/midi/mus_b_dome_lobby.o(.rodata); - sound/songs/midi/mus_vs_wild.o(.rodata); - sound/songs/midi/mus_vs_aqua_magma.o(.rodata); - sound/songs/midi/mus_vs_trainer.o(.rodata); - sound/songs/midi/mus_vs_gym_leader.o(.rodata); - sound/songs/midi/mus_vs_champion.o(.rodata); - sound/songs/midi/mus_vs_regi.o(.rodata); - sound/songs/midi/mus_vs_kyogre_groudon.o(.rodata); - sound/songs/midi/mus_vs_rival.o(.rodata); - sound/songs/midi/mus_vs_elite_four.o(.rodata); - sound/songs/midi/mus_vs_aqua_magma_leader.o(.rodata); - sound/songs/midi/mus_rg_follow_me.o(.rodata); - sound/songs/midi/mus_rg_game_corner.o(.rodata); - sound/songs/midi/mus_rg_rocket_hideout.o(.rodata); - sound/songs/midi/mus_rg_gym.o(.rodata); - sound/songs/midi/mus_rg_jigglypuff.o(.rodata); - sound/songs/midi/mus_rg_intro_fight.o(.rodata); - sound/songs/midi/mus_rg_title.o(.rodata); - sound/songs/midi/mus_rg_cinnabar.o(.rodata); - sound/songs/midi/mus_rg_lavender.o(.rodata); - sound/songs/midi/mus_rg_heal.o(.rodata); - sound/songs/midi/mus_rg_cycling.o(.rodata); - sound/songs/midi/mus_rg_encounter_rocket.o(.rodata); - sound/songs/midi/mus_rg_encounter_girl.o(.rodata); - sound/songs/midi/mus_rg_encounter_boy.o(.rodata); - sound/songs/midi/mus_rg_hall_of_fame.o(.rodata); - sound/songs/midi/mus_rg_viridian_forest.o(.rodata); - sound/songs/midi/mus_rg_mt_moon.o(.rodata); - sound/songs/midi/mus_rg_poke_mansion.o(.rodata); - sound/songs/midi/mus_rg_credits.o(.rodata); - sound/songs/midi/mus_rg_route1.o(.rodata); - sound/songs/midi/mus_rg_route24.o(.rodata); - sound/songs/midi/mus_rg_route3.o(.rodata); - sound/songs/midi/mus_rg_route11.o(.rodata); - sound/songs/midi/mus_rg_victory_road.o(.rodata); - sound/songs/midi/mus_rg_vs_gym_leader.o(.rodata); - sound/songs/midi/mus_rg_vs_trainer.o(.rodata); - sound/songs/midi/mus_rg_vs_wild.o(.rodata); - sound/songs/midi/mus_rg_vs_champion.o(.rodata); - sound/songs/midi/mus_rg_pallet.o(.rodata); - sound/songs/midi/mus_rg_oak_lab.o(.rodata); - sound/songs/midi/mus_rg_oak.o(.rodata); - sound/songs/midi/mus_rg_poke_center.o(.rodata); - sound/songs/midi/mus_rg_ss_anne.o(.rodata); - sound/songs/midi/mus_rg_surf.o(.rodata); - sound/songs/midi/mus_rg_poke_tower.o(.rodata); - sound/songs/midi/mus_rg_silph.o(.rodata); - sound/songs/midi/mus_rg_fuchsia.o(.rodata); - sound/songs/midi/mus_rg_celadon.o(.rodata); - sound/songs/midi/mus_rg_victory_trainer.o(.rodata); - sound/songs/midi/mus_rg_victory_wild.o(.rodata); - sound/songs/midi/mus_rg_victory_gym_leader.o(.rodata); - sound/songs/midi/mus_rg_vermillion.o(.rodata); - sound/songs/midi/mus_rg_pewter.o(.rodata); - sound/songs/midi/mus_rg_encounter_rival.o(.rodata); - sound/songs/midi/mus_rg_rival_exit.o(.rodata); - sound/songs/midi/mus_rg_dex_rating.o(.rodata); - sound/songs/midi/mus_rg_obtain_key_item.o(.rodata); - sound/songs/midi/mus_rg_caught_intro.o(.rodata); - sound/songs/midi/mus_rg_photo.o(.rodata); - sound/songs/midi/mus_rg_game_freak.o(.rodata); - sound/songs/midi/mus_rg_caught.o(.rodata); - sound/songs/midi/mus_rg_new_game_instruct.o(.rodata); - sound/songs/midi/mus_rg_new_game_intro.o(.rodata); - sound/songs/midi/mus_rg_new_game_exit.o(.rodata); - sound/songs/midi/mus_rg_poke_jump.o(.rodata); - sound/songs/midi/mus_rg_union_room.o(.rodata); - sound/songs/midi/mus_rg_net_center.o(.rodata); - sound/songs/midi/mus_rg_mystery_gift.o(.rodata); - sound/songs/midi/mus_rg_berry_pick.o(.rodata); - sound/songs/midi/mus_rg_sevii_cave.o(.rodata); - sound/songs/midi/mus_rg_teachy_tv_show.o(.rodata); - sound/songs/midi/mus_rg_sevii_route.o(.rodata); - sound/songs/midi/mus_rg_sevii_dungeon.o(.rodata); - sound/songs/midi/mus_rg_sevii_123.o(.rodata); - sound/songs/midi/mus_rg_sevii_45.o(.rodata); - sound/songs/midi/mus_rg_sevii_67.o(.rodata); - sound/songs/midi/mus_rg_poke_flute.o(.rodata); - sound/songs/midi/mus_rg_vs_deoxys.o(.rodata); - sound/songs/midi/mus_rg_vs_mewtwo.o(.rodata); - sound/songs/midi/mus_rg_vs_legend.o(.rodata); - sound/songs/midi/mus_rg_encounter_gym_leader.o(.rodata); - sound/songs/midi/mus_rg_encounter_deoxys.o(.rodata); - sound/songs/midi/mus_rg_trainer_tower.o(.rodata); - sound/songs/midi/mus_rg_slow_pallet.o(.rodata); - sound/songs/midi/mus_rg_teachy_tv_menu.o(.rodata); - sound/songs/midi/ph_trap_blend.o(.rodata); - sound/songs/midi/ph_trap_held.o(.rodata); - sound/songs/midi/ph_trap_solo.o(.rodata); - sound/songs/midi/ph_face_blend.o(.rodata); - sound/songs/midi/ph_face_held.o(.rodata); - sound/songs/midi/ph_face_solo.o(.rodata); - sound/songs/midi/ph_cloth_blend.o(.rodata); - sound/songs/midi/ph_cloth_held.o(.rodata); - sound/songs/midi/ph_cloth_solo.o(.rodata); - sound/songs/midi/ph_dress_blend.o(.rodata); - sound/songs/midi/ph_dress_held.o(.rodata); - sound/songs/midi/ph_dress_solo.o(.rodata); - sound/songs/midi/ph_fleece_blend.o(.rodata); - sound/songs/midi/ph_fleece_held.o(.rodata); - sound/songs/midi/ph_fleece_solo.o(.rodata); - sound/songs/midi/ph_kit_blend.o(.rodata); - sound/songs/midi/ph_kit_held.o(.rodata); - sound/songs/midi/ph_kit_solo.o(.rodata); - sound/songs/midi/ph_price_blend.o(.rodata); - sound/songs/midi/ph_price_held.o(.rodata); - sound/songs/midi/ph_price_solo.o(.rodata); - sound/songs/midi/ph_lot_blend.o(.rodata); - sound/songs/midi/ph_lot_held.o(.rodata); - sound/songs/midi/ph_lot_solo.o(.rodata); - sound/songs/midi/ph_goat_blend.o(.rodata); - sound/songs/midi/ph_goat_held.o(.rodata); - sound/songs/midi/ph_goat_solo.o(.rodata); - sound/songs/midi/ph_thought_blend.o(.rodata); - sound/songs/midi/ph_thought_held.o(.rodata); - sound/songs/midi/ph_thought_solo.o(.rodata); - sound/songs/midi/ph_choice_blend.o(.rodata); - sound/songs/midi/ph_choice_held.o(.rodata); - sound/songs/midi/ph_choice_solo.o(.rodata); - sound/songs/midi/ph_mouth_blend.o(.rodata); - sound/songs/midi/ph_mouth_held.o(.rodata); - sound/songs/midi/ph_mouth_solo.o(.rodata); - sound/songs/midi/ph_foot_blend.o(.rodata); - sound/songs/midi/ph_foot_held.o(.rodata); - sound/songs/midi/ph_foot_solo.o(.rodata); - sound/songs/midi/ph_goose_blend.o(.rodata); - sound/songs/midi/ph_goose_held.o(.rodata); - sound/songs/midi/ph_goose_solo.o(.rodata); - sound/songs/midi/ph_strut_blend.o(.rodata); - sound/songs/midi/ph_strut_held.o(.rodata); - sound/songs/midi/ph_strut_solo.o(.rodata); - sound/songs/midi/ph_cure_blend.o(.rodata); - sound/songs/midi/ph_cure_held.o(.rodata); - sound/songs/midi/ph_cure_solo.o(.rodata); - sound/songs/midi/ph_nurse_blend.o(.rodata); - sound/songs/midi/ph_nurse_held.o(.rodata); - sound/songs/midi/ph_nurse_solo.o(.rodata); - } > ROM =0 - - lib_rodata : - SUBALIGN(4) - { - src/m4a.o(.rodata); - src/agb_flash.o(.rodata); - src/agb_flash_1m.o(.rodata); - src/agb_flash_mx.o(.rodata); - src/agb_flash_le.o(.rodata); - src/siirtc.o(.rodata); - src/librfu_rfu.o(.rodata); - src/librfu_sio32id.o(.rodata); - *libgcc.a:_divdi3.o(.rodata); - *libgcc.a:_udivdi3.o(.rodata); - *libc.a:memcpy.o(.rodata); - *libc.a:memset.o(.rodata); - *libc.a:strcmp.o(.rodata); - *libc.a:strcpy.o(.rodata); - *libc.a:impure.o(.rodata); - *libc.a:vsprintf.o(.rodata); - *libc.a:vfprintf.o(.rodata); - *libc.a:wsetup.o(.rodata); - *libc.a:dtoa.o(.rodata); - *libc.a:fflush.o(.rodata); - *libc.a:findfp.o(.rodata); - *libc.a:freer.o(.rodata); - *libc.a:mtrim.o(.rodata); - *libc.a:fvwrite.o(.rodata); - *libc.a:fwalk.o(.rodata); - *libc.a:locale.o(.rodata); - *libc.a:makebuf.o(.rodata); - *libc.a:mallocr.o(.rodata); - *libc.a:mbtowc_r.o(.rodata); - *libc.a:memchr.o(.rodata); - *libc.a:memmove.o(.rodata); - *libc.a:mlock.o(.rodata); - *libc.a:mprec.o(.rodata); - *libc.a:s_isinf.o(.rodata); - *libc.a:s_isnan.o(.rodata); - *libc.a:sbrkr.o(.rodata); - *libc.a:stdio.o(.rodata); - *libc.a:strlen.o(.rodata); - *libc.a:syscalls.o(.rodata); - *libc.a:writer.o(.rodata); - *libc.a:callocr.o(.rodata); - *libc.a:closer.o(.rodata); - *libc.a:errno.o(.rodata); - *libc.a:fstatr.o(.rodata); - *libc.a:libcfunc.o(.rodata); - *libc.a:lseekr.o(.rodata); - *libc.a:readr.o(.rodata); - src/libisagbprn.o(.rodata); - } > ROM =0 - - multiboot_data : - ALIGN(4) - { - data/multiboot_ereader.o(.rodata); - data/multiboot_berry_glitch_fix.o(.rodata); - data/multiboot_pokemon_colosseum.o(.rodata); - } > ROM =0 - - gfx_data : - ALIGN(4) - { - src/graphics.o(.rodata); - } > ROM =0 - - extra : - ALIGN(4) - { - src/*.o(.text); - src/*.o(.rodata); - data/*.o(.rodata); - } > ROM = 0 - - .data.iwram : - ALIGN(4) - { - __iwram_lma = .; - . = . + (__iwram_end - __iwram_start); - } > ROM = 0 - - .data.ewram : - ALIGN(4) - { - __ewram_lma = .; - . = . + (__ewram_end - __ewram_start); - } > ROM = 0 - - __rom_end = .; - - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - - /* Discard everything not specifically mentioned above. */ - /DISCARD/ : - { - *(*); - } -} diff --git a/migration_scripts/README.md b/migration_scripts/README.md index 5ff925d8ef2e..696f146f14a2 100644 --- a/migration_scripts/README.md +++ b/migration_scripts/README.md @@ -88,7 +88,7 @@ Moves all information from `gItemIconTable` to `gItemsInfo`. .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_POKE_BALL - FIRST_BALL, + .secondaryId = BALL_POKE, + .iconSprite = gItemIcon_PokeBall, + .iconPalette = gItemIconPalette_PokeBall, }, diff --git a/sound/cry_tables.inc b/sound/cry_tables.inc index a6533157ff49..050fdac57a64 100644 --- a/sound/cry_tables.inc +++ b/sound/cry_tables.inc @@ -194,7 +194,7 @@ gCryTable:: cry Cry_SlowbroMega .endif @ P_MEGA_EVOLUTIONS .if P_GALARIAN_FORMS == TRUE - cry Cry_SlowpokeGalarian + cry Cry_SlowpokeGalar .endif @ P_GALARIAN_FORMS .endif @ P_FAMILY_SLOWPOKE .if P_FAMILY_MAGNEMITE == TRUE @@ -1634,7 +1634,7 @@ gCryTable:: .if P_FAMILY_FLABEBE == TRUE cry Cry_Flabebe cry Cry_Floette - cry Cry_FloetteEternalFlower + cry Cry_FloetteEternal cry Cry_Florges .endif @ P_FAMILY_FLABEBE .if P_FAMILY_SKIDDO == TRUE @@ -2082,12 +2082,12 @@ gCryTable:: cry Cry_Stonjourner .endif @ P_FAMILY_STONJOURNER .if P_FAMILY_EISCUE == TRUE - cry Cry_EiscueIceFace - cry Cry_EiscueNoiceFace + cry Cry_EiscueIce + cry Cry_EiscueNoice .endif @ P_FAMILY_EISCUE .if P_FAMILY_INDEEDEE == TRUE - cry Cry_IndeedeeMale - cry Cry_IndeedeeFemale + cry Cry_IndeedeeM + cry Cry_IndeedeeF .endif @ P_FAMILY_INDEEDEE .if P_FAMILY_MORPEKO == TRUE cry Cry_MorpekoFullBelly @@ -2121,12 +2121,12 @@ gCryTable:: cry Cry_Dragapult .endif @ P_FAMILY_DREEPY .if P_FAMILY_ZACIAN == TRUE - cry Cry_ZacianHeroOfManyBattles - cry Cry_ZacianCrownedSword + cry Cry_ZacianHero + cry Cry_ZacianCrowned .endif @ P_FAMILY_ZACIAN .if P_FAMILY_ZAMAZENTA == TRUE - cry Cry_ZamazentaHeroOfManyBattles - cry Cry_ZamazentaCrownedShield + cry Cry_ZamazentaHero + cry Cry_ZamazentaCrowned .endif @ P_FAMILY_ZAMAZENTA .if P_FAMILY_ETERNATUS == TRUE cry Cry_Eternatus @@ -2134,8 +2134,8 @@ gCryTable:: .endif @ P_FAMILY_ETERNATUS .if P_FAMILY_KUBFU == TRUE cry Cry_Kubfu - cry Cry_UrshifuSingleStrikeStyle - cry Cry_UrshifuRapidStrikeStyle + cry Cry_UrshifuSingleStrike + cry Cry_UrshifuRapidStrike .endif @ P_FAMILY_KUBFU .if P_FAMILY_ZARUDE == TRUE cry Cry_Zarude @@ -2155,8 +2155,8 @@ gCryTable:: .if P_FAMILY_CALYREX == TRUE cry Cry_Calyrex .if P_FUSION_FORMS == TRUE - cry Cry_CalyrexIceRider - cry Cry_CalyrexShadowRider + cry Cry_CalyrexIce + cry Cry_CalyrexShadow .endif @ P_FUSION_FORMS .endif @ P_FAMILY_CALYREX .if P_FAMILY_ENAMORUS == TRUE @@ -2180,8 +2180,8 @@ gCryTable:: .endif @ P_FAMILY_QUAXLY .if P_FAMILY_LECHONK == TRUE cry Cry_Lechonk - cry Cry_OinkologneMale - cry Cry_OinkologneFemale + cry Cry_OinkologneM + cry Cry_OinkologneF .endif @ P_FAMILY_LECHONK .if P_FAMILY_TAROUNTULA == TRUE cry Cry_Tarountula @@ -2198,8 +2198,8 @@ gCryTable:: .endif @ P_FAMILY_PAWMI .if P_FAMILY_TANDEMAUS == TRUE cry Cry_Tandemaus - cry Cry_MausholdFamilyOfThree - cry Cry_MausholdFamilyOfFour + cry Cry_MausholdThree + cry Cry_MausholdFour .endif @ P_FAMILY_TANDEMAUS .if P_FAMILY_FIDOUGH == TRUE cry Cry_Fidough @@ -2622,7 +2622,7 @@ gCryTable_Reverse:: cry_reverse Cry_SlowbroMega .endif @ P_MEGA_EVOLUTIONS .if P_GALARIAN_FORMS == TRUE - cry_reverse Cry_SlowpokeGalarian + cry_reverse Cry_SlowpokeGalar .endif @ P_GALARIAN_FORMS .endif @ P_FAMILY_SLOWPOKE .if P_FAMILY_MAGNEMITE == TRUE @@ -4062,7 +4062,7 @@ gCryTable_Reverse:: .if P_FAMILY_FLABEBE == TRUE cry_reverse Cry_Flabebe cry_reverse Cry_Floette - cry_reverse Cry_FloetteEternalFlower + cry_reverse Cry_FloetteEternal cry_reverse Cry_Florges .endif @ P_FAMILY_FLABEBE .if P_FAMILY_SKIDDO == TRUE @@ -4510,12 +4510,12 @@ gCryTable_Reverse:: cry_reverse Cry_Stonjourner .endif @ P_FAMILY_STONJOURNER .if P_FAMILY_EISCUE == TRUE - cry_reverse Cry_EiscueIceFace - cry_reverse Cry_EiscueNoiceFace + cry_reverse Cry_EiscueIce + cry_reverse Cry_EiscueNoice .endif @ P_FAMILY_EISCUE .if P_FAMILY_INDEEDEE == TRUE - cry_reverse Cry_IndeedeeMale - cry_reverse Cry_IndeedeeFemale + cry_reverse Cry_IndeedeeM + cry_reverse Cry_IndeedeeF .endif @ P_FAMILY_INDEEDEE .if P_FAMILY_MORPEKO == TRUE cry_reverse Cry_MorpekoFullBelly @@ -4549,12 +4549,12 @@ gCryTable_Reverse:: cry_reverse Cry_Dragapult .endif @ P_FAMILY_DREEPY .if P_FAMILY_ZACIAN == TRUE - cry_reverse Cry_ZacianHeroOfManyBattles - cry_reverse Cry_ZacianCrownedSword + cry_reverse Cry_ZacianHero + cry_reverse Cry_ZacianCrowned .endif @ P_FAMILY_ZACIAN .if P_FAMILY_ZAMAZENTA == TRUE - cry_reverse Cry_ZamazentaHeroOfManyBattles - cry_reverse Cry_ZamazentaCrownedShield + cry_reverse Cry_ZamazentaHero + cry_reverse Cry_ZamazentaCrowned .endif @ P_FAMILY_ZAMAZENTA .if P_FAMILY_ETERNATUS == TRUE cry_reverse Cry_Eternatus @@ -4562,8 +4562,8 @@ gCryTable_Reverse:: .endif @ P_FAMILY_ETERNATUS .if P_FAMILY_KUBFU == TRUE cry_reverse Cry_Kubfu - cry_reverse Cry_UrshifuSingleStrikeStyle - cry_reverse Cry_UrshifuRapidStrikeStyle + cry_reverse Cry_UrshifuSingleStrike + cry_reverse Cry_UrshifuRapidStrike .endif @ P_FAMILY_KUBFU .if P_FAMILY_ZARUDE == TRUE cry_reverse Cry_Zarude @@ -4583,8 +4583,8 @@ gCryTable_Reverse:: .if P_FAMILY_CALYREX == TRUE cry_reverse Cry_Calyrex .if P_FUSION_FORMS == TRUE - cry_reverse Cry_CalyrexIceRider - cry_reverse Cry_CalyrexShadowRider + cry_reverse Cry_CalyrexIce + cry_reverse Cry_CalyrexShadow .endif @ P_FUSION_FORMS .endif @ P_FAMILY_CALYREX .if P_FAMILY_ENAMORUS == TRUE @@ -4608,8 +4608,8 @@ gCryTable_Reverse:: .endif @ P_FAMILY_QUAXLY .if P_FAMILY_LECHONK == TRUE cry_reverse Cry_Lechonk - cry_reverse Cry_OinkologneMale - cry_reverse Cry_OinkologneFemale + cry_reverse Cry_OinkologneM + cry_reverse Cry_OinkologneF .endif @ P_FAMILY_LECHONK .if P_FAMILY_TAROUNTULA == TRUE cry_reverse Cry_Tarountula @@ -4626,8 +4626,8 @@ gCryTable_Reverse:: .endif @ P_FAMILY_PAWMI .if P_FAMILY_TANDEMAUS == TRUE cry_reverse Cry_Tandemaus - cry_reverse Cry_MausholdFamilyOfThree - cry_reverse Cry_MausholdFamilyOfFour + cry_reverse Cry_MausholdThree + cry_reverse Cry_MausholdFour .endif @ P_FAMILY_TANDEMAUS .if P_FAMILY_FIDOUGH == TRUE cry_reverse Cry_Fidough diff --git a/sound/direct_sound_data.inc b/sound/direct_sound_data.inc index b1cf174150ae..0e4980667c6b 100644 --- a/sound/direct_sound_data.inc +++ b/sound/direct_sound_data.inc @@ -871,8 +871,8 @@ Cry_SlowbroMega:: .endif @ P_MEGA_EVOLUTIONS .if P_GALARIAN_FORMS == TRUE .align 2 -Cry_SlowpokeGalarian:: - .incbin "sound/direct_sound_samples/cries/slowpoke_galarian.bin" +Cry_SlowpokeGalar:: + .incbin "sound/direct_sound_samples/cries/slowpoke_galar.bin" .endif @ P_GALARIAN_FORMS .endif @ P_FAMILY_SLOWPOKE @@ -4259,8 +4259,8 @@ Cry_Floette:: .incbin "sound/direct_sound_samples/cries/floette.bin" .align 2 -Cry_FloetteEternalFlower:: - .incbin "sound/direct_sound_samples/cries/floette_eternal_flower.bin" +Cry_FloetteEternal:: + .incbin "sound/direct_sound_samples/cries/floette_eternal.bin" .align 2 Cry_Florges:: @@ -5356,21 +5356,21 @@ Cry_Stonjourner:: .if P_FAMILY_EISCUE == TRUE .align 2 -Cry_EiscueIceFace:: +Cry_EiscueIce:: .incbin "sound/direct_sound_samples/cries/eiscue_ice_face.bin" .align 2 -Cry_EiscueNoiceFace:: +Cry_EiscueNoice:: .incbin "sound/direct_sound_samples/cries/eiscue_noice_face.bin" .endif @ P_FAMILY_EISCUE .if P_FAMILY_INDEEDEE == TRUE .align 2 -Cry_IndeedeeMale:: +Cry_IndeedeeM:: .incbin "sound/direct_sound_samples/cries/indeedee_male.bin" .align 2 -Cry_IndeedeeFemale:: +Cry_IndeedeeF:: .incbin "sound/direct_sound_samples/cries/indeedee_female.bin" .endif @ P_FAMILY_INDEEDEE @@ -5444,21 +5444,21 @@ Cry_Dragapult:: .if P_FAMILY_ZACIAN == TRUE .align 2 -Cry_ZacianHeroOfManyBattles:: +Cry_ZacianHero:: .incbin "sound/direct_sound_samples/cries/zacian_hero_of_many_battles.bin" .align 2 -Cry_ZacianCrownedSword:: +Cry_ZacianCrowned:: .incbin "sound/direct_sound_samples/cries/zacian_crowned_sword.bin" .endif @ P_FAMILY_ZACIAN .if P_FAMILY_ZAMAZENTA == TRUE .align 2 -Cry_ZamazentaHeroOfManyBattles:: +Cry_ZamazentaHero:: .incbin "sound/direct_sound_samples/cries/zamazenta_hero_of_many_battles.bin" .align 2 -Cry_ZamazentaCrownedShield:: +Cry_ZamazentaCrowned:: .incbin "sound/direct_sound_samples/cries/zamazenta_crowned_shield.bin" .endif @ P_FAMILY_ZAMAZENTA @@ -5478,12 +5478,12 @@ Cry_Kubfu:: .incbin "sound/direct_sound_samples/cries/kubfu.bin" .align 2 -Cry_UrshifuSingleStrikeStyle:: - .incbin "sound/direct_sound_samples/cries/urshifu_single_strike_style.bin" +Cry_UrshifuSingleStrike:: + .incbin "sound/direct_sound_samples/cries/urshifu_single_strike.bin" .align 2 -Cry_UrshifuRapidStrikeStyle:: - .incbin "sound/direct_sound_samples/cries/urshifu_rapid_strike_style.bin" +Cry_UrshifuRapidStrike:: + .incbin "sound/direct_sound_samples/cries/urshifu_rapid_strike.bin" .endif @ P_FAMILY_KUBFU .if P_FAMILY_ZARUDE == TRUE @@ -5523,12 +5523,12 @@ Cry_Calyrex:: .if P_FUSION_FORMS == TRUE .align 2 -Cry_CalyrexIceRider:: - .incbin "sound/direct_sound_samples/cries/calyrex_ice_rider.bin" +Cry_CalyrexIce:: + .incbin "sound/direct_sound_samples/cries/calyrex_ice.bin" .align 2 -Cry_CalyrexShadowRider:: - .incbin "sound/direct_sound_samples/cries/calyrex_shadow_rider.bin" +Cry_CalyrexShadow:: + .incbin "sound/direct_sound_samples/cries/calyrex_shadow.bin" .endif @ P_FUSION_FORMS .endif @ P_FAMILY_CALYREX @@ -5591,12 +5591,12 @@ Cry_Lechonk:: .incbin "sound/direct_sound_samples/cries/lechonk.bin" .align 2 -Cry_OinkologneMale:: - .incbin "sound/direct_sound_samples/cries/oinkologne_male.bin" +Cry_OinkologneM:: + .incbin "sound/direct_sound_samples/cries/oinkologne_m.bin" .align 2 -Cry_OinkologneFemale:: - .incbin "sound/direct_sound_samples/cries/oinkologne_female.bin" +Cry_OinkologneF:: + .incbin "sound/direct_sound_samples/cries/oinkologne_f.bin" .endif @ P_FAMILY_LECHONK .if P_FAMILY_TAROUNTULA == TRUE @@ -5639,12 +5639,12 @@ Cry_Tandemaus:: .incbin "sound/direct_sound_samples/cries/tandemaus.bin" .align 2 -Cry_MausholdFamilyOfThree:: - .incbin "sound/direct_sound_samples/cries/maushold_family_of_three.bin" +Cry_MausholdThree:: + .incbin "sound/direct_sound_samples/cries/maushold_three.bin" .align 2 -Cry_MausholdFamilyOfFour:: - .incbin "sound/direct_sound_samples/cries/maushold_family_of_four.bin" +Cry_MausholdFour:: + .incbin "sound/direct_sound_samples/cries/maushold_four.bin" .endif @ P_FAMILY_TANDEMAUS .if P_FAMILY_FIDOUGH == TRUE diff --git a/sound/direct_sound_samples/cries/abomasnow.aif b/sound/direct_sound_samples/cries/abomasnow.aif index dce794161735..83ef6b33aca9 100644 Binary files a/sound/direct_sound_samples/cries/abomasnow.aif and b/sound/direct_sound_samples/cries/abomasnow.aif differ diff --git a/sound/direct_sound_samples/cries/abomasnow_mega.aif b/sound/direct_sound_samples/cries/abomasnow_mega.aif index 11a0aec05927..1b6b0684cf76 100644 Binary files a/sound/direct_sound_samples/cries/abomasnow_mega.aif and b/sound/direct_sound_samples/cries/abomasnow_mega.aif differ diff --git a/sound/direct_sound_samples/cries/abra.aif b/sound/direct_sound_samples/cries/abra.aif index 153f4982e519..5c96619143a0 100644 Binary files a/sound/direct_sound_samples/cries/abra.aif and b/sound/direct_sound_samples/cries/abra.aif differ diff --git a/sound/direct_sound_samples/cries/absol.aif b/sound/direct_sound_samples/cries/absol.aif index f21d3138c048..81e81350d5e6 100644 Binary files a/sound/direct_sound_samples/cries/absol.aif and b/sound/direct_sound_samples/cries/absol.aif differ diff --git a/sound/direct_sound_samples/cries/accelgor.aif b/sound/direct_sound_samples/cries/accelgor.aif index 39efe9c55e9f..209c309c1efb 100644 Binary files a/sound/direct_sound_samples/cries/accelgor.aif and b/sound/direct_sound_samples/cries/accelgor.aif differ diff --git a/sound/direct_sound_samples/cries/aegislash.aif b/sound/direct_sound_samples/cries/aegislash.aif index a1013785731d..d2c48b5d6213 100644 Binary files a/sound/direct_sound_samples/cries/aegislash.aif and b/sound/direct_sound_samples/cries/aegislash.aif differ diff --git a/sound/direct_sound_samples/cries/aerodactyl.aif b/sound/direct_sound_samples/cries/aerodactyl.aif index bbf19e00b369..d4bf14946de2 100644 Binary files a/sound/direct_sound_samples/cries/aerodactyl.aif and b/sound/direct_sound_samples/cries/aerodactyl.aif differ diff --git a/sound/direct_sound_samples/cries/aerodactyl_mega.aif b/sound/direct_sound_samples/cries/aerodactyl_mega.aif index 9aa15062ce4f..d323b09c593f 100644 Binary files a/sound/direct_sound_samples/cries/aerodactyl_mega.aif and b/sound/direct_sound_samples/cries/aerodactyl_mega.aif differ diff --git a/sound/direct_sound_samples/cries/aggron.aif b/sound/direct_sound_samples/cries/aggron.aif index ed0afaa997ff..a87adf8f841f 100644 Binary files a/sound/direct_sound_samples/cries/aggron.aif and b/sound/direct_sound_samples/cries/aggron.aif differ diff --git a/sound/direct_sound_samples/cries/aggron_mega.aif b/sound/direct_sound_samples/cries/aggron_mega.aif index 0e1778509fa1..6772bdd5ee80 100644 Binary files a/sound/direct_sound_samples/cries/aggron_mega.aif and b/sound/direct_sound_samples/cries/aggron_mega.aif differ diff --git a/sound/direct_sound_samples/cries/aipom.aif b/sound/direct_sound_samples/cries/aipom.aif index c1e643890b27..e40107f78709 100644 Binary files a/sound/direct_sound_samples/cries/aipom.aif and b/sound/direct_sound_samples/cries/aipom.aif differ diff --git a/sound/direct_sound_samples/cries/alakazam.aif b/sound/direct_sound_samples/cries/alakazam.aif index 4ecfcf5fc78e..d6b0126112a5 100644 Binary files a/sound/direct_sound_samples/cries/alakazam.aif and b/sound/direct_sound_samples/cries/alakazam.aif differ diff --git a/sound/direct_sound_samples/cries/alomomola.aif b/sound/direct_sound_samples/cries/alomomola.aif index 8f9ee13a3b58..2e47a4083ae5 100644 Binary files a/sound/direct_sound_samples/cries/alomomola.aif and b/sound/direct_sound_samples/cries/alomomola.aif differ diff --git a/sound/direct_sound_samples/cries/altaria.aif b/sound/direct_sound_samples/cries/altaria.aif index f59364a9cd5b..0aa89c8fcba7 100644 Binary files a/sound/direct_sound_samples/cries/altaria.aif and b/sound/direct_sound_samples/cries/altaria.aif differ diff --git a/sound/direct_sound_samples/cries/amaura.aif b/sound/direct_sound_samples/cries/amaura.aif index 291567cb8974..813fcadddede 100644 Binary files a/sound/direct_sound_samples/cries/amaura.aif and b/sound/direct_sound_samples/cries/amaura.aif differ diff --git a/sound/direct_sound_samples/cries/ambipom.aif b/sound/direct_sound_samples/cries/ambipom.aif index 77f2e45e8c93..a767329e07ed 100644 Binary files a/sound/direct_sound_samples/cries/ambipom.aif and b/sound/direct_sound_samples/cries/ambipom.aif differ diff --git a/sound/direct_sound_samples/cries/amoonguss.aif b/sound/direct_sound_samples/cries/amoonguss.aif index ddc8c6114b4a..d476e670bd61 100644 Binary files a/sound/direct_sound_samples/cries/amoonguss.aif and b/sound/direct_sound_samples/cries/amoonguss.aif differ diff --git a/sound/direct_sound_samples/cries/ampharos.aif b/sound/direct_sound_samples/cries/ampharos.aif index 3c41f7634d15..7eed0aa9f6b9 100644 Binary files a/sound/direct_sound_samples/cries/ampharos.aif and b/sound/direct_sound_samples/cries/ampharos.aif differ diff --git a/sound/direct_sound_samples/cries/anorith.aif b/sound/direct_sound_samples/cries/anorith.aif index cb0d37b581e0..ac6c774e5da6 100644 Binary files a/sound/direct_sound_samples/cries/anorith.aif and b/sound/direct_sound_samples/cries/anorith.aif differ diff --git a/sound/direct_sound_samples/cries/applin.aif b/sound/direct_sound_samples/cries/applin.aif index 828eeaeafada..9e9a1de275d0 100644 Binary files a/sound/direct_sound_samples/cries/applin.aif and b/sound/direct_sound_samples/cries/applin.aif differ diff --git a/sound/direct_sound_samples/cries/araquanid.aif b/sound/direct_sound_samples/cries/araquanid.aif index 0efccf6a4e8d..86aac62b8002 100644 Binary files a/sound/direct_sound_samples/cries/araquanid.aif and b/sound/direct_sound_samples/cries/araquanid.aif differ diff --git a/sound/direct_sound_samples/cries/arbok.aif b/sound/direct_sound_samples/cries/arbok.aif index 0e7b0b964402..0be4b7e62464 100644 Binary files a/sound/direct_sound_samples/cries/arbok.aif and b/sound/direct_sound_samples/cries/arbok.aif differ diff --git a/sound/direct_sound_samples/cries/arboliva.aif b/sound/direct_sound_samples/cries/arboliva.aif index 1b73da2ec97c..641491ff0e89 100644 Binary files a/sound/direct_sound_samples/cries/arboliva.aif and b/sound/direct_sound_samples/cries/arboliva.aif differ diff --git a/sound/direct_sound_samples/cries/arcanine.aif b/sound/direct_sound_samples/cries/arcanine.aif index 17a7b3c6bbdf..cdc942c49ab2 100644 Binary files a/sound/direct_sound_samples/cries/arcanine.aif and b/sound/direct_sound_samples/cries/arcanine.aif differ diff --git a/sound/direct_sound_samples/cries/arceus.aif b/sound/direct_sound_samples/cries/arceus.aif index 5db8a3c27a9d..8496de2a173b 100644 Binary files a/sound/direct_sound_samples/cries/arceus.aif and b/sound/direct_sound_samples/cries/arceus.aif differ diff --git a/sound/direct_sound_samples/cries/archaludon.aif b/sound/direct_sound_samples/cries/archaludon.aif index 8fbf45fdec71..470afe8348a9 100644 Binary files a/sound/direct_sound_samples/cries/archaludon.aif and b/sound/direct_sound_samples/cries/archaludon.aif differ diff --git a/sound/direct_sound_samples/cries/archen.aif b/sound/direct_sound_samples/cries/archen.aif index fd5b7729b2a1..b1b2be3eadcc 100644 Binary files a/sound/direct_sound_samples/cries/archen.aif and b/sound/direct_sound_samples/cries/archen.aif differ diff --git a/sound/direct_sound_samples/cries/archeops.aif b/sound/direct_sound_samples/cries/archeops.aif index 7b65583da9b3..6555f0ce3a39 100644 Binary files a/sound/direct_sound_samples/cries/archeops.aif and b/sound/direct_sound_samples/cries/archeops.aif differ diff --git a/sound/direct_sound_samples/cries/arctibax.aif b/sound/direct_sound_samples/cries/arctibax.aif index e0b31b19aba6..a18bc7808104 100644 Binary files a/sound/direct_sound_samples/cries/arctibax.aif and b/sound/direct_sound_samples/cries/arctibax.aif differ diff --git a/sound/direct_sound_samples/cries/arctovish.aif b/sound/direct_sound_samples/cries/arctovish.aif index 02d83dbb553e..281c88f8d322 100644 Binary files a/sound/direct_sound_samples/cries/arctovish.aif and b/sound/direct_sound_samples/cries/arctovish.aif differ diff --git a/sound/direct_sound_samples/cries/ariados.aif b/sound/direct_sound_samples/cries/ariados.aif index de9057b45be9..343879d70a28 100644 Binary files a/sound/direct_sound_samples/cries/ariados.aif and b/sound/direct_sound_samples/cries/ariados.aif differ diff --git a/sound/direct_sound_samples/cries/armaldo.aif b/sound/direct_sound_samples/cries/armaldo.aif index 574a3d7539aa..23add2fec8dd 100644 Binary files a/sound/direct_sound_samples/cries/armaldo.aif and b/sound/direct_sound_samples/cries/armaldo.aif differ diff --git a/sound/direct_sound_samples/cries/aromatisse.aif b/sound/direct_sound_samples/cries/aromatisse.aif index 3e8da86c5bef..4880d14946b0 100644 Binary files a/sound/direct_sound_samples/cries/aromatisse.aif and b/sound/direct_sound_samples/cries/aromatisse.aif differ diff --git a/sound/direct_sound_samples/cries/aron.aif b/sound/direct_sound_samples/cries/aron.aif index da82823e24a2..d246b4c22b04 100644 Binary files a/sound/direct_sound_samples/cries/aron.aif and b/sound/direct_sound_samples/cries/aron.aif differ diff --git a/sound/direct_sound_samples/cries/articuno.aif b/sound/direct_sound_samples/cries/articuno.aif index e3975a17caf6..212114537f43 100644 Binary files a/sound/direct_sound_samples/cries/articuno.aif and b/sound/direct_sound_samples/cries/articuno.aif differ diff --git a/sound/direct_sound_samples/cries/audino.aif b/sound/direct_sound_samples/cries/audino.aif index 7430d0b6801b..873d4c947b91 100644 Binary files a/sound/direct_sound_samples/cries/audino.aif and b/sound/direct_sound_samples/cries/audino.aif differ diff --git a/sound/direct_sound_samples/cries/aurorus.aif b/sound/direct_sound_samples/cries/aurorus.aif index f396174ad29b..9483e1b6371b 100644 Binary files a/sound/direct_sound_samples/cries/aurorus.aif and b/sound/direct_sound_samples/cries/aurorus.aif differ diff --git a/sound/direct_sound_samples/cries/avalugg.aif b/sound/direct_sound_samples/cries/avalugg.aif index 7fa8af72cf26..95c9d7a1749e 100644 Binary files a/sound/direct_sound_samples/cries/avalugg.aif and b/sound/direct_sound_samples/cries/avalugg.aif differ diff --git a/sound/direct_sound_samples/cries/axew.aif b/sound/direct_sound_samples/cries/axew.aif index 1dbe950c3839..f642085f67d9 100644 Binary files a/sound/direct_sound_samples/cries/axew.aif and b/sound/direct_sound_samples/cries/axew.aif differ diff --git a/sound/direct_sound_samples/cries/azelf.aif b/sound/direct_sound_samples/cries/azelf.aif index 79761d6102c3..ad2e96c8f9bf 100644 Binary files a/sound/direct_sound_samples/cries/azelf.aif and b/sound/direct_sound_samples/cries/azelf.aif differ diff --git a/sound/direct_sound_samples/cries/azumarill.aif b/sound/direct_sound_samples/cries/azumarill.aif index 5d4d994f76d8..99a497e20569 100644 Binary files a/sound/direct_sound_samples/cries/azumarill.aif and b/sound/direct_sound_samples/cries/azumarill.aif differ diff --git a/sound/direct_sound_samples/cries/azurill.aif b/sound/direct_sound_samples/cries/azurill.aif index 538001ec41a2..401385cafb59 100644 Binary files a/sound/direct_sound_samples/cries/azurill.aif and b/sound/direct_sound_samples/cries/azurill.aif differ diff --git a/sound/direct_sound_samples/cries/bagon.aif b/sound/direct_sound_samples/cries/bagon.aif index 76ec8243ad9f..f7c5c3b59e02 100644 Binary files a/sound/direct_sound_samples/cries/bagon.aif and b/sound/direct_sound_samples/cries/bagon.aif differ diff --git a/sound/direct_sound_samples/cries/baltoy.aif b/sound/direct_sound_samples/cries/baltoy.aif index 9c9771924d27..7900eb1d64c2 100644 Binary files a/sound/direct_sound_samples/cries/baltoy.aif and b/sound/direct_sound_samples/cries/baltoy.aif differ diff --git a/sound/direct_sound_samples/cries/banette.aif b/sound/direct_sound_samples/cries/banette.aif index e00d6a0ac6a2..587b307e27ec 100644 Binary files a/sound/direct_sound_samples/cries/banette.aif and b/sound/direct_sound_samples/cries/banette.aif differ diff --git a/sound/direct_sound_samples/cries/barbaracle.aif b/sound/direct_sound_samples/cries/barbaracle.aif index 9effada12344..3f724127bddc 100644 Binary files a/sound/direct_sound_samples/cries/barbaracle.aif and b/sound/direct_sound_samples/cries/barbaracle.aif differ diff --git a/sound/direct_sound_samples/cries/barboach.aif b/sound/direct_sound_samples/cries/barboach.aif index 0f1a355befa3..926e7fc05002 100644 Binary files a/sound/direct_sound_samples/cries/barboach.aif and b/sound/direct_sound_samples/cries/barboach.aif differ diff --git a/sound/direct_sound_samples/cries/basculegion.aif b/sound/direct_sound_samples/cries/basculegion.aif index 80551d79043f..28a8349a5109 100644 Binary files a/sound/direct_sound_samples/cries/basculegion.aif and b/sound/direct_sound_samples/cries/basculegion.aif differ diff --git a/sound/direct_sound_samples/cries/basculin.aif b/sound/direct_sound_samples/cries/basculin.aif index cb2184d82d76..dfa6db25f1c1 100644 Binary files a/sound/direct_sound_samples/cries/basculin.aif and b/sound/direct_sound_samples/cries/basculin.aif differ diff --git a/sound/direct_sound_samples/cries/bastiodon.aif b/sound/direct_sound_samples/cries/bastiodon.aif index 9c87d2e589d5..5f5646f7879d 100644 Binary files a/sound/direct_sound_samples/cries/bastiodon.aif and b/sound/direct_sound_samples/cries/bastiodon.aif differ diff --git a/sound/direct_sound_samples/cries/bayleef.aif b/sound/direct_sound_samples/cries/bayleef.aif index b1ff0088de09..1b38f322a945 100644 Binary files a/sound/direct_sound_samples/cries/bayleef.aif and b/sound/direct_sound_samples/cries/bayleef.aif differ diff --git a/sound/direct_sound_samples/cries/beartic.aif b/sound/direct_sound_samples/cries/beartic.aif index 45d1e8bc5ee3..1c7635357ab4 100644 Binary files a/sound/direct_sound_samples/cries/beartic.aif and b/sound/direct_sound_samples/cries/beartic.aif differ diff --git a/sound/direct_sound_samples/cries/beautifly.aif b/sound/direct_sound_samples/cries/beautifly.aif index be81439f169d..5b31f73c3166 100644 Binary files a/sound/direct_sound_samples/cries/beautifly.aif and b/sound/direct_sound_samples/cries/beautifly.aif differ diff --git a/sound/direct_sound_samples/cries/beedrill.aif b/sound/direct_sound_samples/cries/beedrill.aif index 0a31a19743e2..888e1e637dec 100644 Binary files a/sound/direct_sound_samples/cries/beedrill.aif and b/sound/direct_sound_samples/cries/beedrill.aif differ diff --git a/sound/direct_sound_samples/cries/beedrill_mega.aif b/sound/direct_sound_samples/cries/beedrill_mega.aif index 8072fef185be..cea7ca52d569 100644 Binary files a/sound/direct_sound_samples/cries/beedrill_mega.aif and b/sound/direct_sound_samples/cries/beedrill_mega.aif differ diff --git a/sound/direct_sound_samples/cries/beheeyem.aif b/sound/direct_sound_samples/cries/beheeyem.aif index 3ddec74ab6a7..fb7ce7067721 100644 Binary files a/sound/direct_sound_samples/cries/beheeyem.aif and b/sound/direct_sound_samples/cries/beheeyem.aif differ diff --git a/sound/direct_sound_samples/cries/beldum.aif b/sound/direct_sound_samples/cries/beldum.aif index 7b7b10c2e06e..626f94fc1c5c 100644 Binary files a/sound/direct_sound_samples/cries/beldum.aif and b/sound/direct_sound_samples/cries/beldum.aif differ diff --git a/sound/direct_sound_samples/cries/bellossom.aif b/sound/direct_sound_samples/cries/bellossom.aif index 06ba8737428c..ffe452fc5a8f 100644 Binary files a/sound/direct_sound_samples/cries/bellossom.aif and b/sound/direct_sound_samples/cries/bellossom.aif differ diff --git a/sound/direct_sound_samples/cries/bellsprout.aif b/sound/direct_sound_samples/cries/bellsprout.aif index b47ef6023f0a..40e12f8e8b63 100644 Binary files a/sound/direct_sound_samples/cries/bellsprout.aif and b/sound/direct_sound_samples/cries/bellsprout.aif differ diff --git a/sound/direct_sound_samples/cries/bergmite.aif b/sound/direct_sound_samples/cries/bergmite.aif index 199ccc2fa0eb..9dbcb7dd0884 100644 Binary files a/sound/direct_sound_samples/cries/bergmite.aif and b/sound/direct_sound_samples/cries/bergmite.aif differ diff --git a/sound/direct_sound_samples/cries/bewear.aif b/sound/direct_sound_samples/cries/bewear.aif index baada6e00de0..00979e4542a7 100644 Binary files a/sound/direct_sound_samples/cries/bewear.aif and b/sound/direct_sound_samples/cries/bewear.aif differ diff --git a/sound/direct_sound_samples/cries/bibarel.aif b/sound/direct_sound_samples/cries/bibarel.aif index 2c7ea81bbb35..64b3f5e0ec94 100644 Binary files a/sound/direct_sound_samples/cries/bibarel.aif and b/sound/direct_sound_samples/cries/bibarel.aif differ diff --git a/sound/direct_sound_samples/cries/bidoof.aif b/sound/direct_sound_samples/cries/bidoof.aif index d61765511f93..4da8f32adede 100644 Binary files a/sound/direct_sound_samples/cries/bidoof.aif and b/sound/direct_sound_samples/cries/bidoof.aif differ diff --git a/sound/direct_sound_samples/cries/binacle.aif b/sound/direct_sound_samples/cries/binacle.aif index 3694f34dde17..168952c84bdb 100644 Binary files a/sound/direct_sound_samples/cries/binacle.aif and b/sound/direct_sound_samples/cries/binacle.aif differ diff --git a/sound/direct_sound_samples/cries/bisharp.aif b/sound/direct_sound_samples/cries/bisharp.aif index edbcc7b296e7..dd1d4c4229da 100644 Binary files a/sound/direct_sound_samples/cries/bisharp.aif and b/sound/direct_sound_samples/cries/bisharp.aif differ diff --git a/sound/direct_sound_samples/cries/blacephalon.aif b/sound/direct_sound_samples/cries/blacephalon.aif index 9cacb4f71ea8..f1308e13449c 100644 Binary files a/sound/direct_sound_samples/cries/blacephalon.aif and b/sound/direct_sound_samples/cries/blacephalon.aif differ diff --git a/sound/direct_sound_samples/cries/blastoise.aif b/sound/direct_sound_samples/cries/blastoise.aif index ed03bd447c27..c3ae9294f243 100644 Binary files a/sound/direct_sound_samples/cries/blastoise.aif and b/sound/direct_sound_samples/cries/blastoise.aif differ diff --git a/sound/direct_sound_samples/cries/blaziken.aif b/sound/direct_sound_samples/cries/blaziken.aif index b316a85658b6..fa8a46ba9c24 100644 Binary files a/sound/direct_sound_samples/cries/blaziken.aif and b/sound/direct_sound_samples/cries/blaziken.aif differ diff --git a/sound/direct_sound_samples/cries/blissey.aif b/sound/direct_sound_samples/cries/blissey.aif index 58d3b926c957..6cb483ae72bf 100644 Binary files a/sound/direct_sound_samples/cries/blissey.aif and b/sound/direct_sound_samples/cries/blissey.aif differ diff --git a/sound/direct_sound_samples/cries/blitzle.aif b/sound/direct_sound_samples/cries/blitzle.aif index 40e4672af7cc..d730da670f2c 100644 Binary files a/sound/direct_sound_samples/cries/blitzle.aif and b/sound/direct_sound_samples/cries/blitzle.aif differ diff --git a/sound/direct_sound_samples/cries/boldore.aif b/sound/direct_sound_samples/cries/boldore.aif index 436cb1219f69..9dbee0011504 100644 Binary files a/sound/direct_sound_samples/cries/boldore.aif and b/sound/direct_sound_samples/cries/boldore.aif differ diff --git a/sound/direct_sound_samples/cries/bonsly.aif b/sound/direct_sound_samples/cries/bonsly.aif index 251865909cc8..15bd56f23270 100644 Binary files a/sound/direct_sound_samples/cries/bonsly.aif and b/sound/direct_sound_samples/cries/bonsly.aif differ diff --git a/sound/direct_sound_samples/cries/bouffalant.aif b/sound/direct_sound_samples/cries/bouffalant.aif index fbca85e639f4..e9502a94b655 100644 Binary files a/sound/direct_sound_samples/cries/bouffalant.aif and b/sound/direct_sound_samples/cries/bouffalant.aif differ diff --git a/sound/direct_sound_samples/cries/bounsweet.aif b/sound/direct_sound_samples/cries/bounsweet.aif index 3054997d7ff5..b1d21fb39072 100644 Binary files a/sound/direct_sound_samples/cries/bounsweet.aif and b/sound/direct_sound_samples/cries/bounsweet.aif differ diff --git a/sound/direct_sound_samples/cries/braixen.aif b/sound/direct_sound_samples/cries/braixen.aif index bf1cae32f1bc..d5d9e800b076 100644 Binary files a/sound/direct_sound_samples/cries/braixen.aif and b/sound/direct_sound_samples/cries/braixen.aif differ diff --git a/sound/direct_sound_samples/cries/bramblin.aif b/sound/direct_sound_samples/cries/bramblin.aif index 0c8a4a5dab92..b55e43fe77ad 100644 Binary files a/sound/direct_sound_samples/cries/bramblin.aif and b/sound/direct_sound_samples/cries/bramblin.aif differ diff --git a/sound/direct_sound_samples/cries/braviary.aif b/sound/direct_sound_samples/cries/braviary.aif index 8c20dd2b73e6..0cf3fc403ef3 100644 Binary files a/sound/direct_sound_samples/cries/braviary.aif and b/sound/direct_sound_samples/cries/braviary.aif differ diff --git a/sound/direct_sound_samples/cries/breloom.aif b/sound/direct_sound_samples/cries/breloom.aif index 2f549c4e6c0a..aa6e22f1b916 100644 Binary files a/sound/direct_sound_samples/cries/breloom.aif and b/sound/direct_sound_samples/cries/breloom.aif differ diff --git a/sound/direct_sound_samples/cries/brionne.aif b/sound/direct_sound_samples/cries/brionne.aif index 76e37dddfcbe..ac026ada8824 100644 Binary files a/sound/direct_sound_samples/cries/brionne.aif and b/sound/direct_sound_samples/cries/brionne.aif differ diff --git a/sound/direct_sound_samples/cries/bronzong.aif b/sound/direct_sound_samples/cries/bronzong.aif index 16e171e4f8f2..628ec30895c3 100644 Binary files a/sound/direct_sound_samples/cries/bronzong.aif and b/sound/direct_sound_samples/cries/bronzong.aif differ diff --git a/sound/direct_sound_samples/cries/bronzor.aif b/sound/direct_sound_samples/cries/bronzor.aif index f9007186b071..857bef1056e7 100644 Binary files a/sound/direct_sound_samples/cries/bronzor.aif and b/sound/direct_sound_samples/cries/bronzor.aif differ diff --git a/sound/direct_sound_samples/cries/bruxish.aif b/sound/direct_sound_samples/cries/bruxish.aif index 30a281d4ccf1..f725043bc712 100644 Binary files a/sound/direct_sound_samples/cries/bruxish.aif and b/sound/direct_sound_samples/cries/bruxish.aif differ diff --git a/sound/direct_sound_samples/cries/budew.aif b/sound/direct_sound_samples/cries/budew.aif index 82e036502d37..bebc52a8dfeb 100644 Binary files a/sound/direct_sound_samples/cries/budew.aif and b/sound/direct_sound_samples/cries/budew.aif differ diff --git a/sound/direct_sound_samples/cries/buizel.aif b/sound/direct_sound_samples/cries/buizel.aif index 910a6b14553f..b138be7a4f36 100644 Binary files a/sound/direct_sound_samples/cries/buizel.aif and b/sound/direct_sound_samples/cries/buizel.aif differ diff --git a/sound/direct_sound_samples/cries/bulbasaur.aif b/sound/direct_sound_samples/cries/bulbasaur.aif index bc49f1617ddf..cff5d718b311 100644 Binary files a/sound/direct_sound_samples/cries/bulbasaur.aif and b/sound/direct_sound_samples/cries/bulbasaur.aif differ diff --git a/sound/direct_sound_samples/cries/buneary.aif b/sound/direct_sound_samples/cries/buneary.aif index 5ce292967606..f02bf1b46560 100644 Binary files a/sound/direct_sound_samples/cries/buneary.aif and b/sound/direct_sound_samples/cries/buneary.aif differ diff --git a/sound/direct_sound_samples/cries/bunnelby.aif b/sound/direct_sound_samples/cries/bunnelby.aif index 22001a64e7d9..7588776e93be 100644 Binary files a/sound/direct_sound_samples/cries/bunnelby.aif and b/sound/direct_sound_samples/cries/bunnelby.aif differ diff --git a/sound/direct_sound_samples/cries/burmy.aif b/sound/direct_sound_samples/cries/burmy.aif index ea15d0c71a32..80478166f5e3 100644 Binary files a/sound/direct_sound_samples/cries/burmy.aif and b/sound/direct_sound_samples/cries/burmy.aif differ diff --git a/sound/direct_sound_samples/cries/butterfree.aif b/sound/direct_sound_samples/cries/butterfree.aif index 1ce2383467e9..e59865ae5af7 100644 Binary files a/sound/direct_sound_samples/cries/butterfree.aif and b/sound/direct_sound_samples/cries/butterfree.aif differ diff --git a/sound/direct_sound_samples/cries/buzzwole.aif b/sound/direct_sound_samples/cries/buzzwole.aif index 239b8fa0f246..242edabdce22 100644 Binary files a/sound/direct_sound_samples/cries/buzzwole.aif and b/sound/direct_sound_samples/cries/buzzwole.aif differ diff --git a/sound/direct_sound_samples/cries/cacnea.aif b/sound/direct_sound_samples/cries/cacnea.aif index ece82d34c012..4d1771b18df1 100644 Binary files a/sound/direct_sound_samples/cries/cacnea.aif and b/sound/direct_sound_samples/cries/cacnea.aif differ diff --git a/sound/direct_sound_samples/cries/cacturne.aif b/sound/direct_sound_samples/cries/cacturne.aif index 76e8f3aa9672..d81f86d9fc9d 100644 Binary files a/sound/direct_sound_samples/cries/cacturne.aif and b/sound/direct_sound_samples/cries/cacturne.aif differ diff --git a/sound/direct_sound_samples/cries/calyrex.aif b/sound/direct_sound_samples/cries/calyrex.aif index 895f37d41e16..59c41a4fdb76 100644 Binary files a/sound/direct_sound_samples/cries/calyrex.aif and b/sound/direct_sound_samples/cries/calyrex.aif differ diff --git a/sound/direct_sound_samples/cries/calyrex_ice_rider.aif b/sound/direct_sound_samples/cries/calyrex_ice.aif similarity index 99% rename from sound/direct_sound_samples/cries/calyrex_ice_rider.aif rename to sound/direct_sound_samples/cries/calyrex_ice.aif index 2a278279084b..a6be291e1dc0 100644 Binary files a/sound/direct_sound_samples/cries/calyrex_ice_rider.aif and b/sound/direct_sound_samples/cries/calyrex_ice.aif differ diff --git a/sound/direct_sound_samples/cries/calyrex_shadow_rider.aif b/sound/direct_sound_samples/cries/calyrex_shadow.aif similarity index 99% rename from sound/direct_sound_samples/cries/calyrex_shadow_rider.aif rename to sound/direct_sound_samples/cries/calyrex_shadow.aif index 07cc384332f9..2d3c43d978bb 100644 Binary files a/sound/direct_sound_samples/cries/calyrex_shadow_rider.aif and b/sound/direct_sound_samples/cries/calyrex_shadow.aif differ diff --git a/sound/direct_sound_samples/cries/camerupt.aif b/sound/direct_sound_samples/cries/camerupt.aif index f47ce498e515..82a7f237cf07 100644 Binary files a/sound/direct_sound_samples/cries/camerupt.aif and b/sound/direct_sound_samples/cries/camerupt.aif differ diff --git a/sound/direct_sound_samples/cries/capsakid.aif b/sound/direct_sound_samples/cries/capsakid.aif index 7a906ead56f9..a93a531cdb0c 100644 Binary files a/sound/direct_sound_samples/cries/capsakid.aif and b/sound/direct_sound_samples/cries/capsakid.aif differ diff --git a/sound/direct_sound_samples/cries/carbink.aif b/sound/direct_sound_samples/cries/carbink.aif index 79a934fcdc7e..dfdc907bd7b0 100644 Binary files a/sound/direct_sound_samples/cries/carbink.aif and b/sound/direct_sound_samples/cries/carbink.aif differ diff --git a/sound/direct_sound_samples/cries/carnivine.aif b/sound/direct_sound_samples/cries/carnivine.aif index edc8bb049ffb..491e846a1a44 100644 Binary files a/sound/direct_sound_samples/cries/carnivine.aif and b/sound/direct_sound_samples/cries/carnivine.aif differ diff --git a/sound/direct_sound_samples/cries/carracosta.aif b/sound/direct_sound_samples/cries/carracosta.aif index dc379b5fab25..f75692c3a132 100644 Binary files a/sound/direct_sound_samples/cries/carracosta.aif and b/sound/direct_sound_samples/cries/carracosta.aif differ diff --git a/sound/direct_sound_samples/cries/carvanha.aif b/sound/direct_sound_samples/cries/carvanha.aif index 8ae11271db6c..2c0a6a5d8ccc 100644 Binary files a/sound/direct_sound_samples/cries/carvanha.aif and b/sound/direct_sound_samples/cries/carvanha.aif differ diff --git a/sound/direct_sound_samples/cries/cascoon.aif b/sound/direct_sound_samples/cries/cascoon.aif index 3390ff0dbf1a..a256131caff5 100644 Binary files a/sound/direct_sound_samples/cries/cascoon.aif and b/sound/direct_sound_samples/cries/cascoon.aif differ diff --git a/sound/direct_sound_samples/cries/castform.aif b/sound/direct_sound_samples/cries/castform.aif index 23c0c39b5d2a..4fce6e5075e8 100644 Binary files a/sound/direct_sound_samples/cries/castform.aif and b/sound/direct_sound_samples/cries/castform.aif differ diff --git a/sound/direct_sound_samples/cries/caterpie.aif b/sound/direct_sound_samples/cries/caterpie.aif index c3b599d7d442..4ce12c5fb7d8 100644 Binary files a/sound/direct_sound_samples/cries/caterpie.aif and b/sound/direct_sound_samples/cries/caterpie.aif differ diff --git a/sound/direct_sound_samples/cries/celebi.aif b/sound/direct_sound_samples/cries/celebi.aif index 068046dbe17b..df1c4cd19504 100644 Binary files a/sound/direct_sound_samples/cries/celebi.aif and b/sound/direct_sound_samples/cries/celebi.aif differ diff --git a/sound/direct_sound_samples/cries/celesteela.aif b/sound/direct_sound_samples/cries/celesteela.aif index f09fe03c3024..acab333235df 100644 Binary files a/sound/direct_sound_samples/cries/celesteela.aif and b/sound/direct_sound_samples/cries/celesteela.aif differ diff --git a/sound/direct_sound_samples/cries/ceruledge.aif b/sound/direct_sound_samples/cries/ceruledge.aif index 86048249dd20..de4b1bb7c89d 100644 Binary files a/sound/direct_sound_samples/cries/ceruledge.aif and b/sound/direct_sound_samples/cries/ceruledge.aif differ diff --git a/sound/direct_sound_samples/cries/chandelure.aif b/sound/direct_sound_samples/cries/chandelure.aif index de25ee852e65..29cd52e1c1fd 100644 Binary files a/sound/direct_sound_samples/cries/chandelure.aif and b/sound/direct_sound_samples/cries/chandelure.aif differ diff --git a/sound/direct_sound_samples/cries/chansey.aif b/sound/direct_sound_samples/cries/chansey.aif index b641fd3a9404..b6a8a2902038 100644 Binary files a/sound/direct_sound_samples/cries/chansey.aif and b/sound/direct_sound_samples/cries/chansey.aif differ diff --git a/sound/direct_sound_samples/cries/charizard.aif b/sound/direct_sound_samples/cries/charizard.aif index 36e10511a254..cc5f2bdd33f8 100644 Binary files a/sound/direct_sound_samples/cries/charizard.aif and b/sound/direct_sound_samples/cries/charizard.aif differ diff --git a/sound/direct_sound_samples/cries/charizard_mega_x.aif b/sound/direct_sound_samples/cries/charizard_mega_x.aif index 5f88d123554e..f9c0f7659752 100644 Binary files a/sound/direct_sound_samples/cries/charizard_mega_x.aif and b/sound/direct_sound_samples/cries/charizard_mega_x.aif differ diff --git a/sound/direct_sound_samples/cries/charizard_mega_y.aif b/sound/direct_sound_samples/cries/charizard_mega_y.aif index e04d518ee1ef..2cf5b3ea7fc6 100644 Binary files a/sound/direct_sound_samples/cries/charizard_mega_y.aif and b/sound/direct_sound_samples/cries/charizard_mega_y.aif differ diff --git a/sound/direct_sound_samples/cries/charjabug.aif b/sound/direct_sound_samples/cries/charjabug.aif index 6bf60778c4b8..ed5bd7d88be8 100644 Binary files a/sound/direct_sound_samples/cries/charjabug.aif and b/sound/direct_sound_samples/cries/charjabug.aif differ diff --git a/sound/direct_sound_samples/cries/charmander.aif b/sound/direct_sound_samples/cries/charmander.aif index 3c96777b6a31..dda65af54992 100644 Binary files a/sound/direct_sound_samples/cries/charmander.aif and b/sound/direct_sound_samples/cries/charmander.aif differ diff --git a/sound/direct_sound_samples/cries/charmeleon.aif b/sound/direct_sound_samples/cries/charmeleon.aif index 0cf2f47a1baf..9a9a14e3bb81 100644 Binary files a/sound/direct_sound_samples/cries/charmeleon.aif and b/sound/direct_sound_samples/cries/charmeleon.aif differ diff --git a/sound/direct_sound_samples/cries/chatot.aif b/sound/direct_sound_samples/cries/chatot.aif index 6dc58e519cfb..62a961a82f4e 100644 Binary files a/sound/direct_sound_samples/cries/chatot.aif and b/sound/direct_sound_samples/cries/chatot.aif differ diff --git a/sound/direct_sound_samples/cries/cherrim.aif b/sound/direct_sound_samples/cries/cherrim.aif index fee1212784aa..d70cf77b0228 100644 Binary files a/sound/direct_sound_samples/cries/cherrim.aif and b/sound/direct_sound_samples/cries/cherrim.aif differ diff --git a/sound/direct_sound_samples/cries/cherubi.aif b/sound/direct_sound_samples/cries/cherubi.aif index 02fd6d6dd089..703c1d5f8b81 100644 Binary files a/sound/direct_sound_samples/cries/cherubi.aif and b/sound/direct_sound_samples/cries/cherubi.aif differ diff --git a/sound/direct_sound_samples/cries/chesnaught.aif b/sound/direct_sound_samples/cries/chesnaught.aif index aea55fe6927b..80cff836982e 100644 Binary files a/sound/direct_sound_samples/cries/chesnaught.aif and b/sound/direct_sound_samples/cries/chesnaught.aif differ diff --git a/sound/direct_sound_samples/cries/chespin.aif b/sound/direct_sound_samples/cries/chespin.aif index 2ee520a0e74f..48136a98a0d5 100644 Binary files a/sound/direct_sound_samples/cries/chespin.aif and b/sound/direct_sound_samples/cries/chespin.aif differ diff --git a/sound/direct_sound_samples/cries/chi_yu.aif b/sound/direct_sound_samples/cries/chi_yu.aif index 55ca0598b712..60131a9e4637 100644 Binary files a/sound/direct_sound_samples/cries/chi_yu.aif and b/sound/direct_sound_samples/cries/chi_yu.aif differ diff --git a/sound/direct_sound_samples/cries/chien_pao.aif b/sound/direct_sound_samples/cries/chien_pao.aif index 1e3d57388187..c598dac8d23d 100644 Binary files a/sound/direct_sound_samples/cries/chien_pao.aif and b/sound/direct_sound_samples/cries/chien_pao.aif differ diff --git a/sound/direct_sound_samples/cries/chikorita.aif b/sound/direct_sound_samples/cries/chikorita.aif index b5ccaf7cbfa9..63d5c9503373 100644 Binary files a/sound/direct_sound_samples/cries/chikorita.aif and b/sound/direct_sound_samples/cries/chikorita.aif differ diff --git a/sound/direct_sound_samples/cries/chimchar.aif b/sound/direct_sound_samples/cries/chimchar.aif index 95c90b6331a7..06514a4d9040 100644 Binary files a/sound/direct_sound_samples/cries/chimchar.aif and b/sound/direct_sound_samples/cries/chimchar.aif differ diff --git a/sound/direct_sound_samples/cries/chimecho.aif b/sound/direct_sound_samples/cries/chimecho.aif index b7aacc8bf3c3..7b2b45fac202 100644 Binary files a/sound/direct_sound_samples/cries/chimecho.aif and b/sound/direct_sound_samples/cries/chimecho.aif differ diff --git a/sound/direct_sound_samples/cries/chinchou.aif b/sound/direct_sound_samples/cries/chinchou.aif index 889cea6c2294..846df5079cde 100644 Binary files a/sound/direct_sound_samples/cries/chinchou.aif and b/sound/direct_sound_samples/cries/chinchou.aif differ diff --git a/sound/direct_sound_samples/cries/chingling.aif b/sound/direct_sound_samples/cries/chingling.aif index 8154abc5caeb..dd3b00915b2b 100644 Binary files a/sound/direct_sound_samples/cries/chingling.aif and b/sound/direct_sound_samples/cries/chingling.aif differ diff --git a/sound/direct_sound_samples/cries/cinccino.aif b/sound/direct_sound_samples/cries/cinccino.aif index b4df2ea07673..6205aaf2b07b 100644 Binary files a/sound/direct_sound_samples/cries/cinccino.aif and b/sound/direct_sound_samples/cries/cinccino.aif differ diff --git a/sound/direct_sound_samples/cries/clamperl.aif b/sound/direct_sound_samples/cries/clamperl.aif index 9046fa0c2ced..186a1f9b408d 100644 Binary files a/sound/direct_sound_samples/cries/clamperl.aif and b/sound/direct_sound_samples/cries/clamperl.aif differ diff --git a/sound/direct_sound_samples/cries/clauncher.aif b/sound/direct_sound_samples/cries/clauncher.aif index b05ec5db787a..ab9cbf9ce1bb 100644 Binary files a/sound/direct_sound_samples/cries/clauncher.aif and b/sound/direct_sound_samples/cries/clauncher.aif differ diff --git a/sound/direct_sound_samples/cries/clawitzer.aif b/sound/direct_sound_samples/cries/clawitzer.aif index f6c209edd15e..bd14270c3821 100644 Binary files a/sound/direct_sound_samples/cries/clawitzer.aif and b/sound/direct_sound_samples/cries/clawitzer.aif differ diff --git a/sound/direct_sound_samples/cries/claydol.aif b/sound/direct_sound_samples/cries/claydol.aif index 07cac57a7678..9da5f5bbb76b 100644 Binary files a/sound/direct_sound_samples/cries/claydol.aif and b/sound/direct_sound_samples/cries/claydol.aif differ diff --git a/sound/direct_sound_samples/cries/clefable.aif b/sound/direct_sound_samples/cries/clefable.aif index 8ebb7f340028..e04bf536ad3b 100644 Binary files a/sound/direct_sound_samples/cries/clefable.aif and b/sound/direct_sound_samples/cries/clefable.aif differ diff --git a/sound/direct_sound_samples/cries/clefairy.aif b/sound/direct_sound_samples/cries/clefairy.aif index eff944e76b1b..b38fa6e9d7d9 100644 Binary files a/sound/direct_sound_samples/cries/clefairy.aif and b/sound/direct_sound_samples/cries/clefairy.aif differ diff --git a/sound/direct_sound_samples/cries/cleffa.aif b/sound/direct_sound_samples/cries/cleffa.aif index c060d6bc16fc..e3243d0998de 100644 Binary files a/sound/direct_sound_samples/cries/cleffa.aif and b/sound/direct_sound_samples/cries/cleffa.aif differ diff --git a/sound/direct_sound_samples/cries/clobbopus.aif b/sound/direct_sound_samples/cries/clobbopus.aif index 886a5208be83..ebce642966d2 100644 Binary files a/sound/direct_sound_samples/cries/clobbopus.aif and b/sound/direct_sound_samples/cries/clobbopus.aif differ diff --git a/sound/direct_sound_samples/cries/clodsire.aif b/sound/direct_sound_samples/cries/clodsire.aif index bdbadd64fbaa..17aea97e46d9 100644 Binary files a/sound/direct_sound_samples/cries/clodsire.aif and b/sound/direct_sound_samples/cries/clodsire.aif differ diff --git a/sound/direct_sound_samples/cries/cloyster.aif b/sound/direct_sound_samples/cries/cloyster.aif index d93f93d8be44..b69d0478bf51 100644 Binary files a/sound/direct_sound_samples/cries/cloyster.aif and b/sound/direct_sound_samples/cries/cloyster.aif differ diff --git a/sound/direct_sound_samples/cries/cobalion.aif b/sound/direct_sound_samples/cries/cobalion.aif index e53ea9b030a7..4a21505b5b50 100644 Binary files a/sound/direct_sound_samples/cries/cobalion.aif and b/sound/direct_sound_samples/cries/cobalion.aif differ diff --git a/sound/direct_sound_samples/cries/cofagrigus.aif b/sound/direct_sound_samples/cries/cofagrigus.aif index 5c5c426e3713..6fbf1c16f87b 100644 Binary files a/sound/direct_sound_samples/cries/cofagrigus.aif and b/sound/direct_sound_samples/cries/cofagrigus.aif differ diff --git a/sound/direct_sound_samples/cries/combee.aif b/sound/direct_sound_samples/cries/combee.aif index d07abbb15cb1..6aaedb642d12 100644 Binary files a/sound/direct_sound_samples/cries/combee.aif and b/sound/direct_sound_samples/cries/combee.aif differ diff --git a/sound/direct_sound_samples/cries/combusken.aif b/sound/direct_sound_samples/cries/combusken.aif index 2f53b8f838f5..58707c30b8bb 100644 Binary files a/sound/direct_sound_samples/cries/combusken.aif and b/sound/direct_sound_samples/cries/combusken.aif differ diff --git a/sound/direct_sound_samples/cries/comfey.aif b/sound/direct_sound_samples/cries/comfey.aif index 8b07ec989105..cb91d0cbd72d 100644 Binary files a/sound/direct_sound_samples/cries/comfey.aif and b/sound/direct_sound_samples/cries/comfey.aif differ diff --git a/sound/direct_sound_samples/cries/conkeldurr.aif b/sound/direct_sound_samples/cries/conkeldurr.aif index 96e991d49393..09885ab2ef05 100644 Binary files a/sound/direct_sound_samples/cries/conkeldurr.aif and b/sound/direct_sound_samples/cries/conkeldurr.aif differ diff --git a/sound/direct_sound_samples/cries/corphish.aif b/sound/direct_sound_samples/cries/corphish.aif index 2605e1fd260f..9bc708e2fb41 100644 Binary files a/sound/direct_sound_samples/cries/corphish.aif and b/sound/direct_sound_samples/cries/corphish.aif differ diff --git a/sound/direct_sound_samples/cries/corsola.aif b/sound/direct_sound_samples/cries/corsola.aif index 6eae55ea726e..087308d8fd9c 100644 Binary files a/sound/direct_sound_samples/cries/corsola.aif and b/sound/direct_sound_samples/cries/corsola.aif differ diff --git a/sound/direct_sound_samples/cries/corvisquire.aif b/sound/direct_sound_samples/cries/corvisquire.aif index 3c786aca4c27..a18e64c9c07d 100644 Binary files a/sound/direct_sound_samples/cries/corvisquire.aif and b/sound/direct_sound_samples/cries/corvisquire.aif differ diff --git a/sound/direct_sound_samples/cries/cosmoem.aif b/sound/direct_sound_samples/cries/cosmoem.aif index bd081f7c34b8..f2c8c0e2b49f 100644 Binary files a/sound/direct_sound_samples/cries/cosmoem.aif and b/sound/direct_sound_samples/cries/cosmoem.aif differ diff --git a/sound/direct_sound_samples/cries/cosmog.aif b/sound/direct_sound_samples/cries/cosmog.aif index 729d5e790ac1..deeb60b94d7c 100644 Binary files a/sound/direct_sound_samples/cries/cosmog.aif and b/sound/direct_sound_samples/cries/cosmog.aif differ diff --git a/sound/direct_sound_samples/cries/cottonee.aif b/sound/direct_sound_samples/cries/cottonee.aif index a459a62f726a..207ac9d12df9 100644 Binary files a/sound/direct_sound_samples/cries/cottonee.aif and b/sound/direct_sound_samples/cries/cottonee.aif differ diff --git a/sound/direct_sound_samples/cries/crabominable.aif b/sound/direct_sound_samples/cries/crabominable.aif index e83c4e1d5f06..1d6b3d4caf24 100644 Binary files a/sound/direct_sound_samples/cries/crabominable.aif and b/sound/direct_sound_samples/cries/crabominable.aif differ diff --git a/sound/direct_sound_samples/cries/crabrawler.aif b/sound/direct_sound_samples/cries/crabrawler.aif index c5014e239d7a..8c42fb18e57a 100644 Binary files a/sound/direct_sound_samples/cries/crabrawler.aif and b/sound/direct_sound_samples/cries/crabrawler.aif differ diff --git a/sound/direct_sound_samples/cries/cradily.aif b/sound/direct_sound_samples/cries/cradily.aif index 695f4c36fe84..3fa5e006f99d 100644 Binary files a/sound/direct_sound_samples/cries/cradily.aif and b/sound/direct_sound_samples/cries/cradily.aif differ diff --git a/sound/direct_sound_samples/cries/cranidos.aif b/sound/direct_sound_samples/cries/cranidos.aif index 4e0c32b7ad4f..dc67035a766a 100644 Binary files a/sound/direct_sound_samples/cries/cranidos.aif and b/sound/direct_sound_samples/cries/cranidos.aif differ diff --git a/sound/direct_sound_samples/cries/crawdaunt.aif b/sound/direct_sound_samples/cries/crawdaunt.aif index 091e34fbd5f9..7f8ee48bebf6 100644 Binary files a/sound/direct_sound_samples/cries/crawdaunt.aif and b/sound/direct_sound_samples/cries/crawdaunt.aif differ diff --git a/sound/direct_sound_samples/cries/cresselia.aif b/sound/direct_sound_samples/cries/cresselia.aif index e7f25b717dd8..5edd1b01948a 100644 Binary files a/sound/direct_sound_samples/cries/cresselia.aif and b/sound/direct_sound_samples/cries/cresselia.aif differ diff --git a/sound/direct_sound_samples/cries/croagunk.aif b/sound/direct_sound_samples/cries/croagunk.aif index 6ebc6cc8b179..c5d42a42bf25 100644 Binary files a/sound/direct_sound_samples/cries/croagunk.aif and b/sound/direct_sound_samples/cries/croagunk.aif differ diff --git a/sound/direct_sound_samples/cries/crobat.aif b/sound/direct_sound_samples/cries/crobat.aif index f3f458171c8a..956be378c7e0 100644 Binary files a/sound/direct_sound_samples/cries/crobat.aif and b/sound/direct_sound_samples/cries/crobat.aif differ diff --git a/sound/direct_sound_samples/cries/crocalor.aif b/sound/direct_sound_samples/cries/crocalor.aif index 897aaa860d83..9a622026df37 100644 Binary files a/sound/direct_sound_samples/cries/crocalor.aif and b/sound/direct_sound_samples/cries/crocalor.aif differ diff --git a/sound/direct_sound_samples/cries/croconaw.aif b/sound/direct_sound_samples/cries/croconaw.aif index 791eb366dee8..b72db75f3ffd 100644 Binary files a/sound/direct_sound_samples/cries/croconaw.aif and b/sound/direct_sound_samples/cries/croconaw.aif differ diff --git a/sound/direct_sound_samples/cries/crustle.aif b/sound/direct_sound_samples/cries/crustle.aif index 92cc8ec07ba0..62014a79c8e4 100644 Binary files a/sound/direct_sound_samples/cries/crustle.aif and b/sound/direct_sound_samples/cries/crustle.aif differ diff --git a/sound/direct_sound_samples/cries/cryogonal.aif b/sound/direct_sound_samples/cries/cryogonal.aif index 1f8255f7a0df..b2f551274ea8 100644 Binary files a/sound/direct_sound_samples/cries/cryogonal.aif and b/sound/direct_sound_samples/cries/cryogonal.aif differ diff --git a/sound/direct_sound_samples/cries/cubchoo.aif b/sound/direct_sound_samples/cries/cubchoo.aif index a4c7f2cf8ed7..e10ca5a0ccf6 100644 Binary files a/sound/direct_sound_samples/cries/cubchoo.aif and b/sound/direct_sound_samples/cries/cubchoo.aif differ diff --git a/sound/direct_sound_samples/cries/cubone.aif b/sound/direct_sound_samples/cries/cubone.aif index 2c00dd2ea5d4..1ebc283ef899 100644 Binary files a/sound/direct_sound_samples/cries/cubone.aif and b/sound/direct_sound_samples/cries/cubone.aif differ diff --git a/sound/direct_sound_samples/cries/cutiefly.aif b/sound/direct_sound_samples/cries/cutiefly.aif index f113d98a196f..61535bbdd8e4 100644 Binary files a/sound/direct_sound_samples/cries/cutiefly.aif and b/sound/direct_sound_samples/cries/cutiefly.aif differ diff --git a/sound/direct_sound_samples/cries/cyclizar.aif b/sound/direct_sound_samples/cries/cyclizar.aif index 1d145154ec4d..eb32c91d5994 100644 Binary files a/sound/direct_sound_samples/cries/cyclizar.aif and b/sound/direct_sound_samples/cries/cyclizar.aif differ diff --git a/sound/direct_sound_samples/cries/cyndaquil.aif b/sound/direct_sound_samples/cries/cyndaquil.aif index 4f0b5481f1b1..287c6496add7 100644 Binary files a/sound/direct_sound_samples/cries/cyndaquil.aif and b/sound/direct_sound_samples/cries/cyndaquil.aif differ diff --git a/sound/direct_sound_samples/cries/dachsbun.aif b/sound/direct_sound_samples/cries/dachsbun.aif index 492020a716be..8e3ddbd781f6 100644 Binary files a/sound/direct_sound_samples/cries/dachsbun.aif and b/sound/direct_sound_samples/cries/dachsbun.aif differ diff --git a/sound/direct_sound_samples/cries/darkrai.aif b/sound/direct_sound_samples/cries/darkrai.aif index db14a0ad7503..bfb37fca5b41 100644 Binary files a/sound/direct_sound_samples/cries/darkrai.aif and b/sound/direct_sound_samples/cries/darkrai.aif differ diff --git a/sound/direct_sound_samples/cries/darmanitan.aif b/sound/direct_sound_samples/cries/darmanitan.aif index 9ea80bd5df3a..902fdb69b4eb 100644 Binary files a/sound/direct_sound_samples/cries/darmanitan.aif and b/sound/direct_sound_samples/cries/darmanitan.aif differ diff --git a/sound/direct_sound_samples/cries/dartrix.aif b/sound/direct_sound_samples/cries/dartrix.aif index 2a8e24d87811..894fefb3311c 100644 Binary files a/sound/direct_sound_samples/cries/dartrix.aif and b/sound/direct_sound_samples/cries/dartrix.aif differ diff --git a/sound/direct_sound_samples/cries/darumaka.aif b/sound/direct_sound_samples/cries/darumaka.aif index 9c58dda4114c..849f0f1dab7e 100644 Binary files a/sound/direct_sound_samples/cries/darumaka.aif and b/sound/direct_sound_samples/cries/darumaka.aif differ diff --git a/sound/direct_sound_samples/cries/decidueye.aif b/sound/direct_sound_samples/cries/decidueye.aif index 13af14497e51..dde3a574a9e9 100644 Binary files a/sound/direct_sound_samples/cries/decidueye.aif and b/sound/direct_sound_samples/cries/decidueye.aif differ diff --git a/sound/direct_sound_samples/cries/dedenne.aif b/sound/direct_sound_samples/cries/dedenne.aif index 8e5ec29bec80..843f5cf38fe9 100644 Binary files a/sound/direct_sound_samples/cries/dedenne.aif and b/sound/direct_sound_samples/cries/dedenne.aif differ diff --git a/sound/direct_sound_samples/cries/deerling.aif b/sound/direct_sound_samples/cries/deerling.aif index 50cf0bfc502c..9a4e8809b9e7 100644 Binary files a/sound/direct_sound_samples/cries/deerling.aif and b/sound/direct_sound_samples/cries/deerling.aif differ diff --git a/sound/direct_sound_samples/cries/deino.aif b/sound/direct_sound_samples/cries/deino.aif index 583747a615d4..e5074d082162 100644 Binary files a/sound/direct_sound_samples/cries/deino.aif and b/sound/direct_sound_samples/cries/deino.aif differ diff --git a/sound/direct_sound_samples/cries/delcatty.aif b/sound/direct_sound_samples/cries/delcatty.aif index a30321a9fc03..d4fe6c5c5912 100644 Binary files a/sound/direct_sound_samples/cries/delcatty.aif and b/sound/direct_sound_samples/cries/delcatty.aif differ diff --git a/sound/direct_sound_samples/cries/delibird.aif b/sound/direct_sound_samples/cries/delibird.aif index 618bca94b07a..f2e0d4464237 100644 Binary files a/sound/direct_sound_samples/cries/delibird.aif and b/sound/direct_sound_samples/cries/delibird.aif differ diff --git a/sound/direct_sound_samples/cries/delphox.aif b/sound/direct_sound_samples/cries/delphox.aif index 95fcf181109e..857af9f0ad20 100644 Binary files a/sound/direct_sound_samples/cries/delphox.aif and b/sound/direct_sound_samples/cries/delphox.aif differ diff --git a/sound/direct_sound_samples/cries/deoxys.aif b/sound/direct_sound_samples/cries/deoxys.aif index d39b565a0ec3..d9e3976e3c79 100644 Binary files a/sound/direct_sound_samples/cries/deoxys.aif and b/sound/direct_sound_samples/cries/deoxys.aif differ diff --git a/sound/direct_sound_samples/cries/dewgong.aif b/sound/direct_sound_samples/cries/dewgong.aif index 52c8b6f9b35c..daa3e5fd5ce7 100644 Binary files a/sound/direct_sound_samples/cries/dewgong.aif and b/sound/direct_sound_samples/cries/dewgong.aif differ diff --git a/sound/direct_sound_samples/cries/dewott.aif b/sound/direct_sound_samples/cries/dewott.aif index 3f7724df600f..e654be2372c5 100644 Binary files a/sound/direct_sound_samples/cries/dewott.aif and b/sound/direct_sound_samples/cries/dewott.aif differ diff --git a/sound/direct_sound_samples/cries/dewpider.aif b/sound/direct_sound_samples/cries/dewpider.aif index ec3266ceba69..0d8ade106b89 100644 Binary files a/sound/direct_sound_samples/cries/dewpider.aif and b/sound/direct_sound_samples/cries/dewpider.aif differ diff --git a/sound/direct_sound_samples/cries/dhelmise.aif b/sound/direct_sound_samples/cries/dhelmise.aif index 09e0b93a6680..892faf19094d 100644 Binary files a/sound/direct_sound_samples/cries/dhelmise.aif and b/sound/direct_sound_samples/cries/dhelmise.aif differ diff --git a/sound/direct_sound_samples/cries/dialga.aif b/sound/direct_sound_samples/cries/dialga.aif index 3bc128ec2dd4..ead8acb9a1bf 100644 Binary files a/sound/direct_sound_samples/cries/dialga.aif and b/sound/direct_sound_samples/cries/dialga.aif differ diff --git a/sound/direct_sound_samples/cries/diancie.aif b/sound/direct_sound_samples/cries/diancie.aif index 4969546ae8c2..a32ad4ff93d1 100644 Binary files a/sound/direct_sound_samples/cries/diancie.aif and b/sound/direct_sound_samples/cries/diancie.aif differ diff --git a/sound/direct_sound_samples/cries/diggersby.aif b/sound/direct_sound_samples/cries/diggersby.aif index 411040e593ac..10dffad8eeed 100644 Binary files a/sound/direct_sound_samples/cries/diggersby.aif and b/sound/direct_sound_samples/cries/diggersby.aif differ diff --git a/sound/direct_sound_samples/cries/diglett.aif b/sound/direct_sound_samples/cries/diglett.aif index dac924fb810c..cd212878fd77 100644 Binary files a/sound/direct_sound_samples/cries/diglett.aif and b/sound/direct_sound_samples/cries/diglett.aif differ diff --git a/sound/direct_sound_samples/cries/dipplin.aif b/sound/direct_sound_samples/cries/dipplin.aif index 61df2de5236d..5591528f9bf9 100644 Binary files a/sound/direct_sound_samples/cries/dipplin.aif and b/sound/direct_sound_samples/cries/dipplin.aif differ diff --git a/sound/direct_sound_samples/cries/ditto.aif b/sound/direct_sound_samples/cries/ditto.aif index b73fcb764334..8a1de24b254f 100644 Binary files a/sound/direct_sound_samples/cries/ditto.aif and b/sound/direct_sound_samples/cries/ditto.aif differ diff --git a/sound/direct_sound_samples/cries/dodrio.aif b/sound/direct_sound_samples/cries/dodrio.aif index 222eb72521f1..507e4ef8762e 100644 Binary files a/sound/direct_sound_samples/cries/dodrio.aif and b/sound/direct_sound_samples/cries/dodrio.aif differ diff --git a/sound/direct_sound_samples/cries/doduo.aif b/sound/direct_sound_samples/cries/doduo.aif index 5a3a8252792a..02c736d5a0c2 100644 Binary files a/sound/direct_sound_samples/cries/doduo.aif and b/sound/direct_sound_samples/cries/doduo.aif differ diff --git a/sound/direct_sound_samples/cries/donphan.aif b/sound/direct_sound_samples/cries/donphan.aif index 76f1dfaca85e..795cdaef4529 100644 Binary files a/sound/direct_sound_samples/cries/donphan.aif and b/sound/direct_sound_samples/cries/donphan.aif differ diff --git a/sound/direct_sound_samples/cries/doublade.aif b/sound/direct_sound_samples/cries/doublade.aif index 70a0499e5366..d931b3de0ad5 100644 Binary files a/sound/direct_sound_samples/cries/doublade.aif and b/sound/direct_sound_samples/cries/doublade.aif differ diff --git a/sound/direct_sound_samples/cries/dragalge.aif b/sound/direct_sound_samples/cries/dragalge.aif index be411ddb8e1d..a9d11e9b65d2 100644 Binary files a/sound/direct_sound_samples/cries/dragalge.aif and b/sound/direct_sound_samples/cries/dragalge.aif differ diff --git a/sound/direct_sound_samples/cries/dragonair.aif b/sound/direct_sound_samples/cries/dragonair.aif index 3e0f81d146d1..6cdc594f6374 100644 Binary files a/sound/direct_sound_samples/cries/dragonair.aif and b/sound/direct_sound_samples/cries/dragonair.aif differ diff --git a/sound/direct_sound_samples/cries/dragonite.aif b/sound/direct_sound_samples/cries/dragonite.aif index 3719c9932708..ab1a7af1c17e 100644 Binary files a/sound/direct_sound_samples/cries/dragonite.aif and b/sound/direct_sound_samples/cries/dragonite.aif differ diff --git a/sound/direct_sound_samples/cries/drakloak.aif b/sound/direct_sound_samples/cries/drakloak.aif index 3b19d4768735..7b9beaad8978 100644 Binary files a/sound/direct_sound_samples/cries/drakloak.aif and b/sound/direct_sound_samples/cries/drakloak.aif differ diff --git a/sound/direct_sound_samples/cries/drampa.aif b/sound/direct_sound_samples/cries/drampa.aif index e8c6dfbdda78..81e185711e18 100644 Binary files a/sound/direct_sound_samples/cries/drampa.aif and b/sound/direct_sound_samples/cries/drampa.aif differ diff --git a/sound/direct_sound_samples/cries/drapion.aif b/sound/direct_sound_samples/cries/drapion.aif index a5418de2bdd5..4ce0382fdc46 100644 Binary files a/sound/direct_sound_samples/cries/drapion.aif and b/sound/direct_sound_samples/cries/drapion.aif differ diff --git a/sound/direct_sound_samples/cries/dratini.aif b/sound/direct_sound_samples/cries/dratini.aif index 8de5583f0e69..d79420d9c60a 100644 Binary files a/sound/direct_sound_samples/cries/dratini.aif and b/sound/direct_sound_samples/cries/dratini.aif differ diff --git a/sound/direct_sound_samples/cries/dreepy.aif b/sound/direct_sound_samples/cries/dreepy.aif index b79126b119f1..12217a7f49c2 100644 Binary files a/sound/direct_sound_samples/cries/dreepy.aif and b/sound/direct_sound_samples/cries/dreepy.aif differ diff --git a/sound/direct_sound_samples/cries/drifblim.aif b/sound/direct_sound_samples/cries/drifblim.aif index a1afbdc71bf5..891c49f2053d 100644 Binary files a/sound/direct_sound_samples/cries/drifblim.aif and b/sound/direct_sound_samples/cries/drifblim.aif differ diff --git a/sound/direct_sound_samples/cries/drifloon.aif b/sound/direct_sound_samples/cries/drifloon.aif index bf5b8b20efda..ba4c94e979ad 100644 Binary files a/sound/direct_sound_samples/cries/drifloon.aif and b/sound/direct_sound_samples/cries/drifloon.aif differ diff --git a/sound/direct_sound_samples/cries/drilbur.aif b/sound/direct_sound_samples/cries/drilbur.aif index 25314b0aecb7..105867ee08e3 100644 Binary files a/sound/direct_sound_samples/cries/drilbur.aif and b/sound/direct_sound_samples/cries/drilbur.aif differ diff --git a/sound/direct_sound_samples/cries/drowzee.aif b/sound/direct_sound_samples/cries/drowzee.aif index 8b50dbd4a9a0..d25203e123a0 100644 Binary files a/sound/direct_sound_samples/cries/drowzee.aif and b/sound/direct_sound_samples/cries/drowzee.aif differ diff --git a/sound/direct_sound_samples/cries/druddigon.aif b/sound/direct_sound_samples/cries/druddigon.aif index 7467ee40b0aa..01bed53f9200 100644 Binary files a/sound/direct_sound_samples/cries/druddigon.aif and b/sound/direct_sound_samples/cries/druddigon.aif differ diff --git a/sound/direct_sound_samples/cries/ducklett.aif b/sound/direct_sound_samples/cries/ducklett.aif index 837566a018df..a95520506b76 100644 Binary files a/sound/direct_sound_samples/cries/ducklett.aif and b/sound/direct_sound_samples/cries/ducklett.aif differ diff --git a/sound/direct_sound_samples/cries/dudunsparce.aif b/sound/direct_sound_samples/cries/dudunsparce.aif index 1adc2bb7c989..faec8aae5390 100644 Binary files a/sound/direct_sound_samples/cries/dudunsparce.aif and b/sound/direct_sound_samples/cries/dudunsparce.aif differ diff --git a/sound/direct_sound_samples/cries/dugtrio.aif b/sound/direct_sound_samples/cries/dugtrio.aif index 875e4638e299..1a0a05ecd01e 100644 Binary files a/sound/direct_sound_samples/cries/dugtrio.aif and b/sound/direct_sound_samples/cries/dugtrio.aif differ diff --git a/sound/direct_sound_samples/cries/dunsparce.aif b/sound/direct_sound_samples/cries/dunsparce.aif index b2e246eeefe5..da70bedf0876 100644 Binary files a/sound/direct_sound_samples/cries/dunsparce.aif and b/sound/direct_sound_samples/cries/dunsparce.aif differ diff --git a/sound/direct_sound_samples/cries/duosion.aif b/sound/direct_sound_samples/cries/duosion.aif index 7f931b961c9a..4022984f1ae3 100644 Binary files a/sound/direct_sound_samples/cries/duosion.aif and b/sound/direct_sound_samples/cries/duosion.aif differ diff --git a/sound/direct_sound_samples/cries/durant.aif b/sound/direct_sound_samples/cries/durant.aif index c60490fd6b14..c0b19642c1da 100644 Binary files a/sound/direct_sound_samples/cries/durant.aif and b/sound/direct_sound_samples/cries/durant.aif differ diff --git a/sound/direct_sound_samples/cries/dusclops.aif b/sound/direct_sound_samples/cries/dusclops.aif index d25405b2bcd8..084c74ee8729 100644 Binary files a/sound/direct_sound_samples/cries/dusclops.aif and b/sound/direct_sound_samples/cries/dusclops.aif differ diff --git a/sound/direct_sound_samples/cries/dusknoir.aif b/sound/direct_sound_samples/cries/dusknoir.aif index 7bbc50d1627e..bb1d60567121 100644 Binary files a/sound/direct_sound_samples/cries/dusknoir.aif and b/sound/direct_sound_samples/cries/dusknoir.aif differ diff --git a/sound/direct_sound_samples/cries/duskull.aif b/sound/direct_sound_samples/cries/duskull.aif index 71535909c87d..523997cbf0a9 100644 Binary files a/sound/direct_sound_samples/cries/duskull.aif and b/sound/direct_sound_samples/cries/duskull.aif differ diff --git a/sound/direct_sound_samples/cries/dustox.aif b/sound/direct_sound_samples/cries/dustox.aif index 94f22ae63201..5ab919b520f2 100644 Binary files a/sound/direct_sound_samples/cries/dustox.aif and b/sound/direct_sound_samples/cries/dustox.aif differ diff --git a/sound/direct_sound_samples/cries/dwebble.aif b/sound/direct_sound_samples/cries/dwebble.aif index 687cf87450b6..1aff10332332 100644 Binary files a/sound/direct_sound_samples/cries/dwebble.aif and b/sound/direct_sound_samples/cries/dwebble.aif differ diff --git a/sound/direct_sound_samples/cries/eelektrik.aif b/sound/direct_sound_samples/cries/eelektrik.aif index 4739bd80dbe6..d39453bc0d83 100644 Binary files a/sound/direct_sound_samples/cries/eelektrik.aif and b/sound/direct_sound_samples/cries/eelektrik.aif differ diff --git a/sound/direct_sound_samples/cries/eelektross.aif b/sound/direct_sound_samples/cries/eelektross.aif index b8e362b75471..b618fa5e9775 100644 Binary files a/sound/direct_sound_samples/cries/eelektross.aif and b/sound/direct_sound_samples/cries/eelektross.aif differ diff --git a/sound/direct_sound_samples/cries/eevee.aif b/sound/direct_sound_samples/cries/eevee.aif index ce8bf61af7a9..0706209843d8 100644 Binary files a/sound/direct_sound_samples/cries/eevee.aif and b/sound/direct_sound_samples/cries/eevee.aif differ diff --git a/sound/direct_sound_samples/cries/ekans.aif b/sound/direct_sound_samples/cries/ekans.aif index 6d933819d84c..80bc2fdfec2a 100644 Binary files a/sound/direct_sound_samples/cries/ekans.aif and b/sound/direct_sound_samples/cries/ekans.aif differ diff --git a/sound/direct_sound_samples/cries/eldegoss.aif b/sound/direct_sound_samples/cries/eldegoss.aif index 6c7bbe5129d7..56f9419b369f 100644 Binary files a/sound/direct_sound_samples/cries/eldegoss.aif and b/sound/direct_sound_samples/cries/eldegoss.aif differ diff --git a/sound/direct_sound_samples/cries/electabuzz.aif b/sound/direct_sound_samples/cries/electabuzz.aif index a57bdf37eb00..6071f1d4a920 100644 Binary files a/sound/direct_sound_samples/cries/electabuzz.aif and b/sound/direct_sound_samples/cries/electabuzz.aif differ diff --git a/sound/direct_sound_samples/cries/electivire.aif b/sound/direct_sound_samples/cries/electivire.aif index 1cabc64357a2..9b9c17907d23 100644 Binary files a/sound/direct_sound_samples/cries/electivire.aif and b/sound/direct_sound_samples/cries/electivire.aif differ diff --git a/sound/direct_sound_samples/cries/electrike.aif b/sound/direct_sound_samples/cries/electrike.aif index d446cd634bc2..e7dcc6424840 100644 Binary files a/sound/direct_sound_samples/cries/electrike.aif and b/sound/direct_sound_samples/cries/electrike.aif differ diff --git a/sound/direct_sound_samples/cries/electrode.aif b/sound/direct_sound_samples/cries/electrode.aif index 19a982d1ec10..96e627bba50c 100644 Binary files a/sound/direct_sound_samples/cries/electrode.aif and b/sound/direct_sound_samples/cries/electrode.aif differ diff --git a/sound/direct_sound_samples/cries/elekid.aif b/sound/direct_sound_samples/cries/elekid.aif index 4afbde5cc1da..99b3f959d5ed 100644 Binary files a/sound/direct_sound_samples/cries/elekid.aif and b/sound/direct_sound_samples/cries/elekid.aif differ diff --git a/sound/direct_sound_samples/cries/elgyem.aif b/sound/direct_sound_samples/cries/elgyem.aif index f1e94c136494..04e9ec7ab66c 100644 Binary files a/sound/direct_sound_samples/cries/elgyem.aif and b/sound/direct_sound_samples/cries/elgyem.aif differ diff --git a/sound/direct_sound_samples/cries/emboar.aif b/sound/direct_sound_samples/cries/emboar.aif index 4cdd5e0afc56..7bf61d285eb4 100644 Binary files a/sound/direct_sound_samples/cries/emboar.aif and b/sound/direct_sound_samples/cries/emboar.aif differ diff --git a/sound/direct_sound_samples/cries/emolga.aif b/sound/direct_sound_samples/cries/emolga.aif index c32a7274513a..20172f144692 100644 Binary files a/sound/direct_sound_samples/cries/emolga.aif and b/sound/direct_sound_samples/cries/emolga.aif differ diff --git a/sound/direct_sound_samples/cries/empoleon.aif b/sound/direct_sound_samples/cries/empoleon.aif index 26648ca34cc6..742bdf812473 100644 Binary files a/sound/direct_sound_samples/cries/empoleon.aif and b/sound/direct_sound_samples/cries/empoleon.aif differ diff --git a/sound/direct_sound_samples/cries/entei.aif b/sound/direct_sound_samples/cries/entei.aif index 63fdcc783829..1e5eff687675 100644 Binary files a/sound/direct_sound_samples/cries/entei.aif and b/sound/direct_sound_samples/cries/entei.aif differ diff --git a/sound/direct_sound_samples/cries/escavalier.aif b/sound/direct_sound_samples/cries/escavalier.aif index 513f53d41563..7ef48d2293e2 100644 Binary files a/sound/direct_sound_samples/cries/escavalier.aif and b/sound/direct_sound_samples/cries/escavalier.aif differ diff --git a/sound/direct_sound_samples/cries/espeon.aif b/sound/direct_sound_samples/cries/espeon.aif index 51f96c911bfa..bf1f52c94dd2 100644 Binary files a/sound/direct_sound_samples/cries/espeon.aif and b/sound/direct_sound_samples/cries/espeon.aif differ diff --git a/sound/direct_sound_samples/cries/espurr.aif b/sound/direct_sound_samples/cries/espurr.aif index d395bea397e2..6d82769b36af 100644 Binary files a/sound/direct_sound_samples/cries/espurr.aif and b/sound/direct_sound_samples/cries/espurr.aif differ diff --git a/sound/direct_sound_samples/cries/eternatus.aif b/sound/direct_sound_samples/cries/eternatus.aif index 1dede8fdc4a8..235bba61f9b1 100644 Binary files a/sound/direct_sound_samples/cries/eternatus.aif and b/sound/direct_sound_samples/cries/eternatus.aif differ diff --git a/sound/direct_sound_samples/cries/excadrill.aif b/sound/direct_sound_samples/cries/excadrill.aif index 8b2ef0869e8e..cd372dffdb38 100644 Binary files a/sound/direct_sound_samples/cries/excadrill.aif and b/sound/direct_sound_samples/cries/excadrill.aif differ diff --git a/sound/direct_sound_samples/cries/exeggcute.aif b/sound/direct_sound_samples/cries/exeggcute.aif index 384b9990940c..bd634c757040 100644 Binary files a/sound/direct_sound_samples/cries/exeggcute.aif and b/sound/direct_sound_samples/cries/exeggcute.aif differ diff --git a/sound/direct_sound_samples/cries/exeggutor.aif b/sound/direct_sound_samples/cries/exeggutor.aif index 15ddbbdfaa9a..094b27bc6f30 100644 Binary files a/sound/direct_sound_samples/cries/exeggutor.aif and b/sound/direct_sound_samples/cries/exeggutor.aif differ diff --git a/sound/direct_sound_samples/cries/exploud.aif b/sound/direct_sound_samples/cries/exploud.aif index 7b97db232dce..98dafb1ee19e 100644 Binary files a/sound/direct_sound_samples/cries/exploud.aif and b/sound/direct_sound_samples/cries/exploud.aif differ diff --git a/sound/direct_sound_samples/cries/farfetchd.aif b/sound/direct_sound_samples/cries/farfetchd.aif index d3838c6762d7..5a710ed7de15 100644 Binary files a/sound/direct_sound_samples/cries/farfetchd.aif and b/sound/direct_sound_samples/cries/farfetchd.aif differ diff --git a/sound/direct_sound_samples/cries/farigiraf.aif b/sound/direct_sound_samples/cries/farigiraf.aif index 573520315de0..d862b0d30e2f 100644 Binary files a/sound/direct_sound_samples/cries/farigiraf.aif and b/sound/direct_sound_samples/cries/farigiraf.aif differ diff --git a/sound/direct_sound_samples/cries/fearow.aif b/sound/direct_sound_samples/cries/fearow.aif index f111ca15a697..792269848223 100644 Binary files a/sound/direct_sound_samples/cries/fearow.aif and b/sound/direct_sound_samples/cries/fearow.aif differ diff --git a/sound/direct_sound_samples/cries/feebas.aif b/sound/direct_sound_samples/cries/feebas.aif index 7cc5452a4e33..fc6e757134e6 100644 Binary files a/sound/direct_sound_samples/cries/feebas.aif and b/sound/direct_sound_samples/cries/feebas.aif differ diff --git a/sound/direct_sound_samples/cries/fennekin.aif b/sound/direct_sound_samples/cries/fennekin.aif index a559267a27d3..3feb83cdf8df 100644 Binary files a/sound/direct_sound_samples/cries/fennekin.aif and b/sound/direct_sound_samples/cries/fennekin.aif differ diff --git a/sound/direct_sound_samples/cries/feraligatr.aif b/sound/direct_sound_samples/cries/feraligatr.aif index 070e204c3513..c71d66722bf0 100644 Binary files a/sound/direct_sound_samples/cries/feraligatr.aif and b/sound/direct_sound_samples/cries/feraligatr.aif differ diff --git a/sound/direct_sound_samples/cries/ferroseed.aif b/sound/direct_sound_samples/cries/ferroseed.aif index 24856cdd24ef..1acd8342d0c3 100644 Binary files a/sound/direct_sound_samples/cries/ferroseed.aif and b/sound/direct_sound_samples/cries/ferroseed.aif differ diff --git a/sound/direct_sound_samples/cries/ferrothorn.aif b/sound/direct_sound_samples/cries/ferrothorn.aif index 5e2d7a25794a..7e7f1ad3ad7b 100644 Binary files a/sound/direct_sound_samples/cries/ferrothorn.aif and b/sound/direct_sound_samples/cries/ferrothorn.aif differ diff --git a/sound/direct_sound_samples/cries/fidough.aif b/sound/direct_sound_samples/cries/fidough.aif index 44609a2dd7a6..f2063bc79b4a 100644 Binary files a/sound/direct_sound_samples/cries/fidough.aif and b/sound/direct_sound_samples/cries/fidough.aif differ diff --git a/sound/direct_sound_samples/cries/finneon.aif b/sound/direct_sound_samples/cries/finneon.aif index d6eb52466d1e..c2fe2f38bac7 100644 Binary files a/sound/direct_sound_samples/cries/finneon.aif and b/sound/direct_sound_samples/cries/finneon.aif differ diff --git a/sound/direct_sound_samples/cries/flaaffy.aif b/sound/direct_sound_samples/cries/flaaffy.aif index a9f809d533cd..068e82e76c05 100644 Binary files a/sound/direct_sound_samples/cries/flaaffy.aif and b/sound/direct_sound_samples/cries/flaaffy.aif differ diff --git a/sound/direct_sound_samples/cries/flabebe.aif b/sound/direct_sound_samples/cries/flabebe.aif index e309ae8c6274..a6dbe0321c6f 100644 Binary files a/sound/direct_sound_samples/cries/flabebe.aif and b/sound/direct_sound_samples/cries/flabebe.aif differ diff --git a/sound/direct_sound_samples/cries/flamigo.aif b/sound/direct_sound_samples/cries/flamigo.aif index bed56a7f3131..2b022da5b07f 100644 Binary files a/sound/direct_sound_samples/cries/flamigo.aif and b/sound/direct_sound_samples/cries/flamigo.aif differ diff --git a/sound/direct_sound_samples/cries/flareon.aif b/sound/direct_sound_samples/cries/flareon.aif index d8e70213df9f..b8d33df49e57 100644 Binary files a/sound/direct_sound_samples/cries/flareon.aif and b/sound/direct_sound_samples/cries/flareon.aif differ diff --git a/sound/direct_sound_samples/cries/fletchinder.aif b/sound/direct_sound_samples/cries/fletchinder.aif index 40623fbf323d..2267e3fdfcc1 100644 Binary files a/sound/direct_sound_samples/cries/fletchinder.aif and b/sound/direct_sound_samples/cries/fletchinder.aif differ diff --git a/sound/direct_sound_samples/cries/fletchling.aif b/sound/direct_sound_samples/cries/fletchling.aif index 6ee80237dfe9..ce9085845fc0 100644 Binary files a/sound/direct_sound_samples/cries/fletchling.aif and b/sound/direct_sound_samples/cries/fletchling.aif differ diff --git a/sound/direct_sound_samples/cries/floatzel.aif b/sound/direct_sound_samples/cries/floatzel.aif index 60424b3679c8..36f34f5e9038 100644 Binary files a/sound/direct_sound_samples/cries/floatzel.aif and b/sound/direct_sound_samples/cries/floatzel.aif differ diff --git a/sound/direct_sound_samples/cries/floette.aif b/sound/direct_sound_samples/cries/floette.aif index c55d10fb7542..4244ce8eda6f 100644 Binary files a/sound/direct_sound_samples/cries/floette.aif and b/sound/direct_sound_samples/cries/floette.aif differ diff --git a/sound/direct_sound_samples/cries/floette_eternal_flower.aif b/sound/direct_sound_samples/cries/floette_eternal.aif similarity index 98% rename from sound/direct_sound_samples/cries/floette_eternal_flower.aif rename to sound/direct_sound_samples/cries/floette_eternal.aif index d6b9452b4530..386815f08208 100644 Binary files a/sound/direct_sound_samples/cries/floette_eternal_flower.aif and b/sound/direct_sound_samples/cries/floette_eternal.aif differ diff --git a/sound/direct_sound_samples/cries/florges.aif b/sound/direct_sound_samples/cries/florges.aif index 36b504932f6e..e652e68fa931 100644 Binary files a/sound/direct_sound_samples/cries/florges.aif and b/sound/direct_sound_samples/cries/florges.aif differ diff --git a/sound/direct_sound_samples/cries/flygon.aif b/sound/direct_sound_samples/cries/flygon.aif index 06abfcf26864..c8b793f4f971 100644 Binary files a/sound/direct_sound_samples/cries/flygon.aif and b/sound/direct_sound_samples/cries/flygon.aif differ diff --git a/sound/direct_sound_samples/cries/fomantis.aif b/sound/direct_sound_samples/cries/fomantis.aif index 9690a53ee136..a82e4d45249b 100644 Binary files a/sound/direct_sound_samples/cries/fomantis.aif and b/sound/direct_sound_samples/cries/fomantis.aif differ diff --git a/sound/direct_sound_samples/cries/foongus.aif b/sound/direct_sound_samples/cries/foongus.aif index dbd6f9c5cd79..ca83e1b475f7 100644 Binary files a/sound/direct_sound_samples/cries/foongus.aif and b/sound/direct_sound_samples/cries/foongus.aif differ diff --git a/sound/direct_sound_samples/cries/forretress.aif b/sound/direct_sound_samples/cries/forretress.aif index 4fae6d0378c4..9b8af8baa4b9 100644 Binary files a/sound/direct_sound_samples/cries/forretress.aif and b/sound/direct_sound_samples/cries/forretress.aif differ diff --git a/sound/direct_sound_samples/cries/fraxure.aif b/sound/direct_sound_samples/cries/fraxure.aif index 25464a1ff70a..4586702b00f4 100644 Binary files a/sound/direct_sound_samples/cries/fraxure.aif and b/sound/direct_sound_samples/cries/fraxure.aif differ diff --git a/sound/direct_sound_samples/cries/frigibax.aif b/sound/direct_sound_samples/cries/frigibax.aif index 10c5b819aaf0..e8318a0cf123 100644 Binary files a/sound/direct_sound_samples/cries/frigibax.aif and b/sound/direct_sound_samples/cries/frigibax.aif differ diff --git a/sound/direct_sound_samples/cries/frillish.aif b/sound/direct_sound_samples/cries/frillish.aif index c59a0a542fe9..71511b8bcf9e 100644 Binary files a/sound/direct_sound_samples/cries/frillish.aif and b/sound/direct_sound_samples/cries/frillish.aif differ diff --git a/sound/direct_sound_samples/cries/froakie.aif b/sound/direct_sound_samples/cries/froakie.aif index 240992ff354e..d6955de8bc9f 100644 Binary files a/sound/direct_sound_samples/cries/froakie.aif and b/sound/direct_sound_samples/cries/froakie.aif differ diff --git a/sound/direct_sound_samples/cries/frogadier.aif b/sound/direct_sound_samples/cries/frogadier.aif index fa0c54c3f350..918abc5d845a 100644 Binary files a/sound/direct_sound_samples/cries/frogadier.aif and b/sound/direct_sound_samples/cries/frogadier.aif differ diff --git a/sound/direct_sound_samples/cries/froslass.aif b/sound/direct_sound_samples/cries/froslass.aif index 2c6a0be00193..75febf4311c9 100644 Binary files a/sound/direct_sound_samples/cries/froslass.aif and b/sound/direct_sound_samples/cries/froslass.aif differ diff --git a/sound/direct_sound_samples/cries/fuecoco.aif b/sound/direct_sound_samples/cries/fuecoco.aif index 4c0d7eb07a5f..ee40234e0b1f 100644 Binary files a/sound/direct_sound_samples/cries/fuecoco.aif and b/sound/direct_sound_samples/cries/fuecoco.aif differ diff --git a/sound/direct_sound_samples/cries/furfrou.aif b/sound/direct_sound_samples/cries/furfrou.aif index bbddc63c06c2..d989bde3d394 100644 Binary files a/sound/direct_sound_samples/cries/furfrou.aif and b/sound/direct_sound_samples/cries/furfrou.aif differ diff --git a/sound/direct_sound_samples/cries/furret.aif b/sound/direct_sound_samples/cries/furret.aif index 6ce107b10f3e..cdf9447d734e 100644 Binary files a/sound/direct_sound_samples/cries/furret.aif and b/sound/direct_sound_samples/cries/furret.aif differ diff --git a/sound/direct_sound_samples/cries/gabite.aif b/sound/direct_sound_samples/cries/gabite.aif index 17226eb28306..5ca21cec7ae9 100644 Binary files a/sound/direct_sound_samples/cries/gabite.aif and b/sound/direct_sound_samples/cries/gabite.aif differ diff --git a/sound/direct_sound_samples/cries/gallade.aif b/sound/direct_sound_samples/cries/gallade.aif index 7de776bd19fd..1eb55aeed9c1 100644 Binary files a/sound/direct_sound_samples/cries/gallade.aif and b/sound/direct_sound_samples/cries/gallade.aif differ diff --git a/sound/direct_sound_samples/cries/gallade_mega.aif b/sound/direct_sound_samples/cries/gallade_mega.aif index 0af522f68f94..5b0d5eb5cca2 100644 Binary files a/sound/direct_sound_samples/cries/gallade_mega.aif and b/sound/direct_sound_samples/cries/gallade_mega.aif differ diff --git a/sound/direct_sound_samples/cries/galvantula.aif b/sound/direct_sound_samples/cries/galvantula.aif index d6823775657a..8d890a246365 100644 Binary files a/sound/direct_sound_samples/cries/galvantula.aif and b/sound/direct_sound_samples/cries/galvantula.aif differ diff --git a/sound/direct_sound_samples/cries/garbodor.aif b/sound/direct_sound_samples/cries/garbodor.aif index ed906101f30f..09cad5cd7f9a 100644 Binary files a/sound/direct_sound_samples/cries/garbodor.aif and b/sound/direct_sound_samples/cries/garbodor.aif differ diff --git a/sound/direct_sound_samples/cries/garchomp.aif b/sound/direct_sound_samples/cries/garchomp.aif index a5165a73381b..f96c62f93bdf 100644 Binary files a/sound/direct_sound_samples/cries/garchomp.aif and b/sound/direct_sound_samples/cries/garchomp.aif differ diff --git a/sound/direct_sound_samples/cries/gardevoir.aif b/sound/direct_sound_samples/cries/gardevoir.aif index f7cd7d523993..9285affb9d3b 100644 Binary files a/sound/direct_sound_samples/cries/gardevoir.aif and b/sound/direct_sound_samples/cries/gardevoir.aif differ diff --git a/sound/direct_sound_samples/cries/gastly.aif b/sound/direct_sound_samples/cries/gastly.aif index 8dd90bff4d75..5174cabffd5a 100644 Binary files a/sound/direct_sound_samples/cries/gastly.aif and b/sound/direct_sound_samples/cries/gastly.aif differ diff --git a/sound/direct_sound_samples/cries/gastrodon.aif b/sound/direct_sound_samples/cries/gastrodon.aif index 7c33ebd99ba3..d564820e832b 100644 Binary files a/sound/direct_sound_samples/cries/gastrodon.aif and b/sound/direct_sound_samples/cries/gastrodon.aif differ diff --git a/sound/direct_sound_samples/cries/genesect.aif b/sound/direct_sound_samples/cries/genesect.aif index e088634591c1..49e430ee9aed 100644 Binary files a/sound/direct_sound_samples/cries/genesect.aif and b/sound/direct_sound_samples/cries/genesect.aif differ diff --git a/sound/direct_sound_samples/cries/gengar.aif b/sound/direct_sound_samples/cries/gengar.aif index 0f7a59c33c8b..3c5e291ba30e 100644 Binary files a/sound/direct_sound_samples/cries/gengar.aif and b/sound/direct_sound_samples/cries/gengar.aif differ diff --git a/sound/direct_sound_samples/cries/geodude.aif b/sound/direct_sound_samples/cries/geodude.aif index 6c8e1779f20d..a09b2ca345b8 100644 Binary files a/sound/direct_sound_samples/cries/geodude.aif and b/sound/direct_sound_samples/cries/geodude.aif differ diff --git a/sound/direct_sound_samples/cries/gible.aif b/sound/direct_sound_samples/cries/gible.aif index 47b8635e9691..f3d4b4882f64 100644 Binary files a/sound/direct_sound_samples/cries/gible.aif and b/sound/direct_sound_samples/cries/gible.aif differ diff --git a/sound/direct_sound_samples/cries/gigalith.aif b/sound/direct_sound_samples/cries/gigalith.aif index e5c2f6419eb7..00ad607cc677 100644 Binary files a/sound/direct_sound_samples/cries/gigalith.aif and b/sound/direct_sound_samples/cries/gigalith.aif differ diff --git a/sound/direct_sound_samples/cries/gimmighoul.aif b/sound/direct_sound_samples/cries/gimmighoul.aif index dac736784eb7..fe8db162c9b0 100644 Binary files a/sound/direct_sound_samples/cries/gimmighoul.aif and b/sound/direct_sound_samples/cries/gimmighoul.aif differ diff --git a/sound/direct_sound_samples/cries/girafarig.aif b/sound/direct_sound_samples/cries/girafarig.aif index ff56ab97cddd..af5af89268d7 100644 Binary files a/sound/direct_sound_samples/cries/girafarig.aif and b/sound/direct_sound_samples/cries/girafarig.aif differ diff --git a/sound/direct_sound_samples/cries/giratina.aif b/sound/direct_sound_samples/cries/giratina.aif index 105a24de0f9f..319e2c132324 100644 Binary files a/sound/direct_sound_samples/cries/giratina.aif and b/sound/direct_sound_samples/cries/giratina.aif differ diff --git a/sound/direct_sound_samples/cries/glaceon.aif b/sound/direct_sound_samples/cries/glaceon.aif index fc7cc9f8952c..e38ebdef914f 100644 Binary files a/sound/direct_sound_samples/cries/glaceon.aif and b/sound/direct_sound_samples/cries/glaceon.aif differ diff --git a/sound/direct_sound_samples/cries/glalie.aif b/sound/direct_sound_samples/cries/glalie.aif index 233515b6aa43..38291bef49af 100644 Binary files a/sound/direct_sound_samples/cries/glalie.aif and b/sound/direct_sound_samples/cries/glalie.aif differ diff --git a/sound/direct_sound_samples/cries/glalie_mega.aif b/sound/direct_sound_samples/cries/glalie_mega.aif index 44261f52713e..cae5ba57f107 100644 Binary files a/sound/direct_sound_samples/cries/glalie_mega.aif and b/sound/direct_sound_samples/cries/glalie_mega.aif differ diff --git a/sound/direct_sound_samples/cries/glameow.aif b/sound/direct_sound_samples/cries/glameow.aif index ad1d87353c2c..a2d7ab1fa3cc 100644 Binary files a/sound/direct_sound_samples/cries/glameow.aif and b/sound/direct_sound_samples/cries/glameow.aif differ diff --git a/sound/direct_sound_samples/cries/glastrier.aif b/sound/direct_sound_samples/cries/glastrier.aif index 6109f1ca0b60..80c44e0b764a 100644 Binary files a/sound/direct_sound_samples/cries/glastrier.aif and b/sound/direct_sound_samples/cries/glastrier.aif differ diff --git a/sound/direct_sound_samples/cries/gligar.aif b/sound/direct_sound_samples/cries/gligar.aif index 4908fb6b0996..e2103c2ff846 100644 Binary files a/sound/direct_sound_samples/cries/gligar.aif and b/sound/direct_sound_samples/cries/gligar.aif differ diff --git a/sound/direct_sound_samples/cries/glimmet.aif b/sound/direct_sound_samples/cries/glimmet.aif index 38fc118b26ab..e89ac2ea59cd 100644 Binary files a/sound/direct_sound_samples/cries/glimmet.aif and b/sound/direct_sound_samples/cries/glimmet.aif differ diff --git a/sound/direct_sound_samples/cries/gliscor.aif b/sound/direct_sound_samples/cries/gliscor.aif index ccd116c29198..1df92dc9a932 100644 Binary files a/sound/direct_sound_samples/cries/gliscor.aif and b/sound/direct_sound_samples/cries/gliscor.aif differ diff --git a/sound/direct_sound_samples/cries/gloom.aif b/sound/direct_sound_samples/cries/gloom.aif index d15e3cca7548..bcedd48d5ea3 100644 Binary files a/sound/direct_sound_samples/cries/gloom.aif and b/sound/direct_sound_samples/cries/gloom.aif differ diff --git a/sound/direct_sound_samples/cries/gogoat.aif b/sound/direct_sound_samples/cries/gogoat.aif index ee505f6756ac..6717a2ff2668 100644 Binary files a/sound/direct_sound_samples/cries/gogoat.aif and b/sound/direct_sound_samples/cries/gogoat.aif differ diff --git a/sound/direct_sound_samples/cries/golbat.aif b/sound/direct_sound_samples/cries/golbat.aif index b08da62f5656..2e91f76966fc 100644 Binary files a/sound/direct_sound_samples/cries/golbat.aif and b/sound/direct_sound_samples/cries/golbat.aif differ diff --git a/sound/direct_sound_samples/cries/goldeen.aif b/sound/direct_sound_samples/cries/goldeen.aif index 2c93ba759e72..687f8d3920ae 100644 Binary files a/sound/direct_sound_samples/cries/goldeen.aif and b/sound/direct_sound_samples/cries/goldeen.aif differ diff --git a/sound/direct_sound_samples/cries/golduck.aif b/sound/direct_sound_samples/cries/golduck.aif index 68645c9df7d0..bc6c5f5b1626 100644 Binary files a/sound/direct_sound_samples/cries/golduck.aif and b/sound/direct_sound_samples/cries/golduck.aif differ diff --git a/sound/direct_sound_samples/cries/golem.aif b/sound/direct_sound_samples/cries/golem.aif index 06451cdf1bf7..95fbef9c47c6 100644 Binary files a/sound/direct_sound_samples/cries/golem.aif and b/sound/direct_sound_samples/cries/golem.aif differ diff --git a/sound/direct_sound_samples/cries/golett.aif b/sound/direct_sound_samples/cries/golett.aif index f0f31bda7e33..58c6f09cd8e8 100644 Binary files a/sound/direct_sound_samples/cries/golett.aif and b/sound/direct_sound_samples/cries/golett.aif differ diff --git a/sound/direct_sound_samples/cries/golisopod.aif b/sound/direct_sound_samples/cries/golisopod.aif index 7b3f85220d04..429f445ede68 100644 Binary files a/sound/direct_sound_samples/cries/golisopod.aif and b/sound/direct_sound_samples/cries/golisopod.aif differ diff --git a/sound/direct_sound_samples/cries/golurk.aif b/sound/direct_sound_samples/cries/golurk.aif index 1795ca8f4a09..abc95bd80802 100644 Binary files a/sound/direct_sound_samples/cries/golurk.aif and b/sound/direct_sound_samples/cries/golurk.aif differ diff --git a/sound/direct_sound_samples/cries/goodra.aif b/sound/direct_sound_samples/cries/goodra.aif index 0ec7cb4da90e..b2f407cc94d1 100644 Binary files a/sound/direct_sound_samples/cries/goodra.aif and b/sound/direct_sound_samples/cries/goodra.aif differ diff --git a/sound/direct_sound_samples/cries/goomy.aif b/sound/direct_sound_samples/cries/goomy.aif index a35a42f53fed..bd2524ebe1e9 100644 Binary files a/sound/direct_sound_samples/cries/goomy.aif and b/sound/direct_sound_samples/cries/goomy.aif differ diff --git a/sound/direct_sound_samples/cries/gorebyss.aif b/sound/direct_sound_samples/cries/gorebyss.aif index 48277537ac90..a93b1aa6fc89 100644 Binary files a/sound/direct_sound_samples/cries/gorebyss.aif and b/sound/direct_sound_samples/cries/gorebyss.aif differ diff --git a/sound/direct_sound_samples/cries/gothita.aif b/sound/direct_sound_samples/cries/gothita.aif index 93089d6200ba..00476d94bd77 100644 Binary files a/sound/direct_sound_samples/cries/gothita.aif and b/sound/direct_sound_samples/cries/gothita.aif differ diff --git a/sound/direct_sound_samples/cries/gothitelle.aif b/sound/direct_sound_samples/cries/gothitelle.aif index f7f12020708e..d8f334784ad4 100644 Binary files a/sound/direct_sound_samples/cries/gothitelle.aif and b/sound/direct_sound_samples/cries/gothitelle.aif differ diff --git a/sound/direct_sound_samples/cries/gothorita.aif b/sound/direct_sound_samples/cries/gothorita.aif index d0b1217c18b0..d5491f83b51b 100644 Binary files a/sound/direct_sound_samples/cries/gothorita.aif and b/sound/direct_sound_samples/cries/gothorita.aif differ diff --git a/sound/direct_sound_samples/cries/gourgeist.aif b/sound/direct_sound_samples/cries/gourgeist.aif index 7a88b5f06b57..b1790cdd3c1d 100644 Binary files a/sound/direct_sound_samples/cries/gourgeist.aif and b/sound/direct_sound_samples/cries/gourgeist.aif differ diff --git a/sound/direct_sound_samples/cries/gourgeist_super.aif b/sound/direct_sound_samples/cries/gourgeist_super.aif index 5f3000605414..cdf93aca5815 100644 Binary files a/sound/direct_sound_samples/cries/gourgeist_super.aif and b/sound/direct_sound_samples/cries/gourgeist_super.aif differ diff --git a/sound/direct_sound_samples/cries/granbull.aif b/sound/direct_sound_samples/cries/granbull.aif index 6c4563fb3895..87ed96a84273 100644 Binary files a/sound/direct_sound_samples/cries/granbull.aif and b/sound/direct_sound_samples/cries/granbull.aif differ diff --git a/sound/direct_sound_samples/cries/graveler.aif b/sound/direct_sound_samples/cries/graveler.aif index 84828f10f8f6..fbf463c4fd2e 100644 Binary files a/sound/direct_sound_samples/cries/graveler.aif and b/sound/direct_sound_samples/cries/graveler.aif differ diff --git a/sound/direct_sound_samples/cries/greninja.aif b/sound/direct_sound_samples/cries/greninja.aif index 3050e4c5d9d4..988d66b06282 100644 Binary files a/sound/direct_sound_samples/cries/greninja.aif and b/sound/direct_sound_samples/cries/greninja.aif differ diff --git a/sound/direct_sound_samples/cries/grimer.aif b/sound/direct_sound_samples/cries/grimer.aif index 160cfe766ce9..050fb9620c35 100644 Binary files a/sound/direct_sound_samples/cries/grimer.aif and b/sound/direct_sound_samples/cries/grimer.aif differ diff --git a/sound/direct_sound_samples/cries/grotle.aif b/sound/direct_sound_samples/cries/grotle.aif index 71a2d7d1a8ce..2b08bca67e7a 100644 Binary files a/sound/direct_sound_samples/cries/grotle.aif and b/sound/direct_sound_samples/cries/grotle.aif differ diff --git a/sound/direct_sound_samples/cries/groudon.aif b/sound/direct_sound_samples/cries/groudon.aif index f8056c54b347..9fe253745ae2 100644 Binary files a/sound/direct_sound_samples/cries/groudon.aif and b/sound/direct_sound_samples/cries/groudon.aif differ diff --git a/sound/direct_sound_samples/cries/groudon_primal.aif b/sound/direct_sound_samples/cries/groudon_primal.aif index c88326947000..a93d06a3fe93 100644 Binary files a/sound/direct_sound_samples/cries/groudon_primal.aif and b/sound/direct_sound_samples/cries/groudon_primal.aif differ diff --git a/sound/direct_sound_samples/cries/grovyle.aif b/sound/direct_sound_samples/cries/grovyle.aif index 7015e6430974..c21c58ad0906 100644 Binary files a/sound/direct_sound_samples/cries/grovyle.aif and b/sound/direct_sound_samples/cries/grovyle.aif differ diff --git a/sound/direct_sound_samples/cries/growlithe.aif b/sound/direct_sound_samples/cries/growlithe.aif index 1f98002d9b36..37b7233c2967 100644 Binary files a/sound/direct_sound_samples/cries/growlithe.aif and b/sound/direct_sound_samples/cries/growlithe.aif differ diff --git a/sound/direct_sound_samples/cries/grubbin.aif b/sound/direct_sound_samples/cries/grubbin.aif index f94371c468ff..8e071f78154b 100644 Binary files a/sound/direct_sound_samples/cries/grubbin.aif and b/sound/direct_sound_samples/cries/grubbin.aif differ diff --git a/sound/direct_sound_samples/cries/grumpig.aif b/sound/direct_sound_samples/cries/grumpig.aif index 009cf05257d0..d5b766f43e98 100644 Binary files a/sound/direct_sound_samples/cries/grumpig.aif and b/sound/direct_sound_samples/cries/grumpig.aif differ diff --git a/sound/direct_sound_samples/cries/gulpin.aif b/sound/direct_sound_samples/cries/gulpin.aif index 47a26e9b4f34..4b0bc89b96fe 100644 Binary files a/sound/direct_sound_samples/cries/gulpin.aif and b/sound/direct_sound_samples/cries/gulpin.aif differ diff --git a/sound/direct_sound_samples/cries/gumshoos.aif b/sound/direct_sound_samples/cries/gumshoos.aif index 82cbbfb72a0e..9f078f85dbd2 100644 Binary files a/sound/direct_sound_samples/cries/gumshoos.aif and b/sound/direct_sound_samples/cries/gumshoos.aif differ diff --git a/sound/direct_sound_samples/cries/gurdurr.aif b/sound/direct_sound_samples/cries/gurdurr.aif index 8cb56e5a702b..055d366a91b2 100644 Binary files a/sound/direct_sound_samples/cries/gurdurr.aif and b/sound/direct_sound_samples/cries/gurdurr.aif differ diff --git a/sound/direct_sound_samples/cries/guzzlord.aif b/sound/direct_sound_samples/cries/guzzlord.aif index ed99b290182d..958e0b7ed367 100644 Binary files a/sound/direct_sound_samples/cries/guzzlord.aif and b/sound/direct_sound_samples/cries/guzzlord.aif differ diff --git a/sound/direct_sound_samples/cries/gyarados.aif b/sound/direct_sound_samples/cries/gyarados.aif index 8747ee1f2d95..f4b5dbf94584 100644 Binary files a/sound/direct_sound_samples/cries/gyarados.aif and b/sound/direct_sound_samples/cries/gyarados.aif differ diff --git a/sound/direct_sound_samples/cries/gyarados_mega.aif b/sound/direct_sound_samples/cries/gyarados_mega.aif index 5e310a46382f..33f9eadc3b00 100644 Binary files a/sound/direct_sound_samples/cries/gyarados_mega.aif and b/sound/direct_sound_samples/cries/gyarados_mega.aif differ diff --git a/sound/direct_sound_samples/cries/hakamo_o.aif b/sound/direct_sound_samples/cries/hakamo_o.aif index 59ad764972ab..03d2ff241ad4 100644 Binary files a/sound/direct_sound_samples/cries/hakamo_o.aif and b/sound/direct_sound_samples/cries/hakamo_o.aif differ diff --git a/sound/direct_sound_samples/cries/happiny.aif b/sound/direct_sound_samples/cries/happiny.aif index 90d8ccb015bd..bee72680ac18 100644 Binary files a/sound/direct_sound_samples/cries/happiny.aif and b/sound/direct_sound_samples/cries/happiny.aif differ diff --git a/sound/direct_sound_samples/cries/hariyama.aif b/sound/direct_sound_samples/cries/hariyama.aif index 3455304fb1bd..0a61e0d8ae75 100644 Binary files a/sound/direct_sound_samples/cries/hariyama.aif and b/sound/direct_sound_samples/cries/hariyama.aif differ diff --git a/sound/direct_sound_samples/cries/hattrem.aif b/sound/direct_sound_samples/cries/hattrem.aif index 57f46a497920..444c77028352 100644 Binary files a/sound/direct_sound_samples/cries/hattrem.aif and b/sound/direct_sound_samples/cries/hattrem.aif differ diff --git a/sound/direct_sound_samples/cries/haunter.aif b/sound/direct_sound_samples/cries/haunter.aif index 83dd20697fc0..c9192cf9bcd1 100644 Binary files a/sound/direct_sound_samples/cries/haunter.aif and b/sound/direct_sound_samples/cries/haunter.aif differ diff --git a/sound/direct_sound_samples/cries/hawlucha.aif b/sound/direct_sound_samples/cries/hawlucha.aif index 5729c1d86b4c..0e4d9c78d15b 100644 Binary files a/sound/direct_sound_samples/cries/hawlucha.aif and b/sound/direct_sound_samples/cries/hawlucha.aif differ diff --git a/sound/direct_sound_samples/cries/haxorus.aif b/sound/direct_sound_samples/cries/haxorus.aif index 7fc4043d3603..8414951d49fe 100644 Binary files a/sound/direct_sound_samples/cries/haxorus.aif and b/sound/direct_sound_samples/cries/haxorus.aif differ diff --git a/sound/direct_sound_samples/cries/heatmor.aif b/sound/direct_sound_samples/cries/heatmor.aif index a73dd97e4a01..2a254ef0d96e 100644 Binary files a/sound/direct_sound_samples/cries/heatmor.aif and b/sound/direct_sound_samples/cries/heatmor.aif differ diff --git a/sound/direct_sound_samples/cries/heatran.aif b/sound/direct_sound_samples/cries/heatran.aif index d6bab9fbb9a8..56c373d8d862 100644 Binary files a/sound/direct_sound_samples/cries/heatran.aif and b/sound/direct_sound_samples/cries/heatran.aif differ diff --git a/sound/direct_sound_samples/cries/heliolisk.aif b/sound/direct_sound_samples/cries/heliolisk.aif index 4116c27df501..d87e7bfd2a94 100644 Binary files a/sound/direct_sound_samples/cries/heliolisk.aif and b/sound/direct_sound_samples/cries/heliolisk.aif differ diff --git a/sound/direct_sound_samples/cries/helioptile.aif b/sound/direct_sound_samples/cries/helioptile.aif index cb935b70ae80..aa1a9fb3a60d 100644 Binary files a/sound/direct_sound_samples/cries/helioptile.aif and b/sound/direct_sound_samples/cries/helioptile.aif differ diff --git a/sound/direct_sound_samples/cries/heracross.aif b/sound/direct_sound_samples/cries/heracross.aif index e5347faf2413..1fe12ed52498 100644 Binary files a/sound/direct_sound_samples/cries/heracross.aif and b/sound/direct_sound_samples/cries/heracross.aif differ diff --git a/sound/direct_sound_samples/cries/heracross_mega.aif b/sound/direct_sound_samples/cries/heracross_mega.aif index 67faa6f196d2..e1993473c20a 100644 Binary files a/sound/direct_sound_samples/cries/heracross_mega.aif and b/sound/direct_sound_samples/cries/heracross_mega.aif differ diff --git a/sound/direct_sound_samples/cries/herdier.aif b/sound/direct_sound_samples/cries/herdier.aif index e57234c8b0fa..bc798f60b5c9 100644 Binary files a/sound/direct_sound_samples/cries/herdier.aif and b/sound/direct_sound_samples/cries/herdier.aif differ diff --git a/sound/direct_sound_samples/cries/hippopotas.aif b/sound/direct_sound_samples/cries/hippopotas.aif index 83deb1c6187d..a8828805fe93 100644 Binary files a/sound/direct_sound_samples/cries/hippopotas.aif and b/sound/direct_sound_samples/cries/hippopotas.aif differ diff --git a/sound/direct_sound_samples/cries/hippowdon.aif b/sound/direct_sound_samples/cries/hippowdon.aif index 42f2860c81a2..94649f3f2503 100644 Binary files a/sound/direct_sound_samples/cries/hippowdon.aif and b/sound/direct_sound_samples/cries/hippowdon.aif differ diff --git a/sound/direct_sound_samples/cries/hitmonchan.aif b/sound/direct_sound_samples/cries/hitmonchan.aif index a0b974db92e7..279370fc9c12 100644 Binary files a/sound/direct_sound_samples/cries/hitmonchan.aif and b/sound/direct_sound_samples/cries/hitmonchan.aif differ diff --git a/sound/direct_sound_samples/cries/hitmonlee.aif b/sound/direct_sound_samples/cries/hitmonlee.aif index 5fda33b99db2..d388565df85f 100644 Binary files a/sound/direct_sound_samples/cries/hitmonlee.aif and b/sound/direct_sound_samples/cries/hitmonlee.aif differ diff --git a/sound/direct_sound_samples/cries/hitmontop.aif b/sound/direct_sound_samples/cries/hitmontop.aif index 57f6101c9174..237e0a6b0fcd 100644 Binary files a/sound/direct_sound_samples/cries/hitmontop.aif and b/sound/direct_sound_samples/cries/hitmontop.aif differ diff --git a/sound/direct_sound_samples/cries/ho_oh.aif b/sound/direct_sound_samples/cries/ho_oh.aif index 0c561242a714..886d66813ab2 100644 Binary files a/sound/direct_sound_samples/cries/ho_oh.aif and b/sound/direct_sound_samples/cries/ho_oh.aif differ diff --git a/sound/direct_sound_samples/cries/honchkrow.aif b/sound/direct_sound_samples/cries/honchkrow.aif index 424689f0dd1d..ae3ceda67194 100644 Binary files a/sound/direct_sound_samples/cries/honchkrow.aif and b/sound/direct_sound_samples/cries/honchkrow.aif differ diff --git a/sound/direct_sound_samples/cries/honedge.aif b/sound/direct_sound_samples/cries/honedge.aif index 75e95b0738d7..e1204fddfecb 100644 Binary files a/sound/direct_sound_samples/cries/honedge.aif and b/sound/direct_sound_samples/cries/honedge.aif differ diff --git a/sound/direct_sound_samples/cries/hoopa_confined.aif b/sound/direct_sound_samples/cries/hoopa_confined.aif index 39a8d0256518..2d91b4982afa 100644 Binary files a/sound/direct_sound_samples/cries/hoopa_confined.aif and b/sound/direct_sound_samples/cries/hoopa_confined.aif differ diff --git a/sound/direct_sound_samples/cries/hoopa_unbound.aif b/sound/direct_sound_samples/cries/hoopa_unbound.aif index 8867fe42a3d4..2b4d84015b03 100644 Binary files a/sound/direct_sound_samples/cries/hoopa_unbound.aif and b/sound/direct_sound_samples/cries/hoopa_unbound.aif differ diff --git a/sound/direct_sound_samples/cries/hoothoot.aif b/sound/direct_sound_samples/cries/hoothoot.aif index 46dcbdddfdb0..52bccc8e9103 100644 Binary files a/sound/direct_sound_samples/cries/hoothoot.aif and b/sound/direct_sound_samples/cries/hoothoot.aif differ diff --git a/sound/direct_sound_samples/cries/hoppip.aif b/sound/direct_sound_samples/cries/hoppip.aif index 9eba0a749570..e715705f0899 100644 Binary files a/sound/direct_sound_samples/cries/hoppip.aif and b/sound/direct_sound_samples/cries/hoppip.aif differ diff --git a/sound/direct_sound_samples/cries/horsea.aif b/sound/direct_sound_samples/cries/horsea.aif index 7382a8a69fcd..12801a2076ed 100644 Binary files a/sound/direct_sound_samples/cries/horsea.aif and b/sound/direct_sound_samples/cries/horsea.aif differ diff --git a/sound/direct_sound_samples/cries/houndoom.aif b/sound/direct_sound_samples/cries/houndoom.aif index a9c4d2d122c0..09c6e4957f48 100644 Binary files a/sound/direct_sound_samples/cries/houndoom.aif and b/sound/direct_sound_samples/cries/houndoom.aif differ diff --git a/sound/direct_sound_samples/cries/houndoom_mega.aif b/sound/direct_sound_samples/cries/houndoom_mega.aif index 7bf51ba800f4..102f822cc69f 100644 Binary files a/sound/direct_sound_samples/cries/houndoom_mega.aif and b/sound/direct_sound_samples/cries/houndoom_mega.aif differ diff --git a/sound/direct_sound_samples/cries/houndour.aif b/sound/direct_sound_samples/cries/houndour.aif index b366e0d06896..352d8fd897c6 100644 Binary files a/sound/direct_sound_samples/cries/houndour.aif and b/sound/direct_sound_samples/cries/houndour.aif differ diff --git a/sound/direct_sound_samples/cries/houndstone.aif b/sound/direct_sound_samples/cries/houndstone.aif index 145cc7968284..99e699b7bab6 100644 Binary files a/sound/direct_sound_samples/cries/houndstone.aif and b/sound/direct_sound_samples/cries/houndstone.aif differ diff --git a/sound/direct_sound_samples/cries/huntail.aif b/sound/direct_sound_samples/cries/huntail.aif index 2b930a3eb0d5..b520d2b7a8c3 100644 Binary files a/sound/direct_sound_samples/cries/huntail.aif and b/sound/direct_sound_samples/cries/huntail.aif differ diff --git a/sound/direct_sound_samples/cries/hydrapple.aif b/sound/direct_sound_samples/cries/hydrapple.aif index a9d306e93ca2..45f5fd9ca019 100644 Binary files a/sound/direct_sound_samples/cries/hydrapple.aif and b/sound/direct_sound_samples/cries/hydrapple.aif differ diff --git a/sound/direct_sound_samples/cries/hydreigon.aif b/sound/direct_sound_samples/cries/hydreigon.aif index 66342c066dd8..8227c6d21f63 100644 Binary files a/sound/direct_sound_samples/cries/hydreigon.aif and b/sound/direct_sound_samples/cries/hydreigon.aif differ diff --git a/sound/direct_sound_samples/cries/hypno.aif b/sound/direct_sound_samples/cries/hypno.aif index 8569a4f98153..7c4bde193683 100644 Binary files a/sound/direct_sound_samples/cries/hypno.aif and b/sound/direct_sound_samples/cries/hypno.aif differ diff --git a/sound/direct_sound_samples/cries/igglybuff.aif b/sound/direct_sound_samples/cries/igglybuff.aif index 3a8d6e81ef77..0f2db1e52c6c 100644 Binary files a/sound/direct_sound_samples/cries/igglybuff.aif and b/sound/direct_sound_samples/cries/igglybuff.aif differ diff --git a/sound/direct_sound_samples/cries/illumise.aif b/sound/direct_sound_samples/cries/illumise.aif index 350288991d93..26807295bd8a 100644 Binary files a/sound/direct_sound_samples/cries/illumise.aif and b/sound/direct_sound_samples/cries/illumise.aif differ diff --git a/sound/direct_sound_samples/cries/incineroar.aif b/sound/direct_sound_samples/cries/incineroar.aif index 6689c101738a..b7f3e2201efb 100644 Binary files a/sound/direct_sound_samples/cries/incineroar.aif and b/sound/direct_sound_samples/cries/incineroar.aif differ diff --git a/sound/direct_sound_samples/cries/indeedee_female.aif b/sound/direct_sound_samples/cries/indeedee_female.aif index 3edae13bad09..b5e5fe454739 100644 Binary files a/sound/direct_sound_samples/cries/indeedee_female.aif and b/sound/direct_sound_samples/cries/indeedee_female.aif differ diff --git a/sound/direct_sound_samples/cries/infernape.aif b/sound/direct_sound_samples/cries/infernape.aif index b36008eeea3d..d4570a8f3a60 100644 Binary files a/sound/direct_sound_samples/cries/infernape.aif and b/sound/direct_sound_samples/cries/infernape.aif differ diff --git a/sound/direct_sound_samples/cries/inkay.aif b/sound/direct_sound_samples/cries/inkay.aif index a28ee83866c6..04753026e065 100644 Binary files a/sound/direct_sound_samples/cries/inkay.aif and b/sound/direct_sound_samples/cries/inkay.aif differ diff --git a/sound/direct_sound_samples/cries/inteleon.aif b/sound/direct_sound_samples/cries/inteleon.aif index d5c6d367f789..8153b02889b4 100644 Binary files a/sound/direct_sound_samples/cries/inteleon.aif and b/sound/direct_sound_samples/cries/inteleon.aif differ diff --git a/sound/direct_sound_samples/cries/iron_boulder.aif b/sound/direct_sound_samples/cries/iron_boulder.aif index 15c1b632b533..0ffdefdffb35 100644 Binary files a/sound/direct_sound_samples/cries/iron_boulder.aif and b/sound/direct_sound_samples/cries/iron_boulder.aif differ diff --git a/sound/direct_sound_samples/cries/iron_bundle.aif b/sound/direct_sound_samples/cries/iron_bundle.aif index 59af7aa5041e..51c9e0b60cee 100644 Binary files a/sound/direct_sound_samples/cries/iron_bundle.aif and b/sound/direct_sound_samples/cries/iron_bundle.aif differ diff --git a/sound/direct_sound_samples/cries/iron_crown.aif b/sound/direct_sound_samples/cries/iron_crown.aif index b67a9c7089ac..8c310455dcd2 100644 Binary files a/sound/direct_sound_samples/cries/iron_crown.aif and b/sound/direct_sound_samples/cries/iron_crown.aif differ diff --git a/sound/direct_sound_samples/cries/iron_hands.aif b/sound/direct_sound_samples/cries/iron_hands.aif index d9e5b995f0a5..621e4fdc19fb 100644 Binary files a/sound/direct_sound_samples/cries/iron_hands.aif and b/sound/direct_sound_samples/cries/iron_hands.aif differ diff --git a/sound/direct_sound_samples/cries/iron_thorns.aif b/sound/direct_sound_samples/cries/iron_thorns.aif index e73b9d553e73..ac88055c6d39 100644 Binary files a/sound/direct_sound_samples/cries/iron_thorns.aif and b/sound/direct_sound_samples/cries/iron_thorns.aif differ diff --git a/sound/direct_sound_samples/cries/ivysaur.aif b/sound/direct_sound_samples/cries/ivysaur.aif index 3d998bf671b7..40ee462805e9 100644 Binary files a/sound/direct_sound_samples/cries/ivysaur.aif and b/sound/direct_sound_samples/cries/ivysaur.aif differ diff --git a/sound/direct_sound_samples/cries/jangmo_o.aif b/sound/direct_sound_samples/cries/jangmo_o.aif index 083522cf8573..29f8f86b51ce 100644 Binary files a/sound/direct_sound_samples/cries/jangmo_o.aif and b/sound/direct_sound_samples/cries/jangmo_o.aif differ diff --git a/sound/direct_sound_samples/cries/jellicent.aif b/sound/direct_sound_samples/cries/jellicent.aif index 4c75c484f26b..33f6cf5aeabe 100644 Binary files a/sound/direct_sound_samples/cries/jellicent.aif and b/sound/direct_sound_samples/cries/jellicent.aif differ diff --git a/sound/direct_sound_samples/cries/jigglypuff.aif b/sound/direct_sound_samples/cries/jigglypuff.aif index d42f2dbdb40c..09249f6dd65d 100644 Binary files a/sound/direct_sound_samples/cries/jigglypuff.aif and b/sound/direct_sound_samples/cries/jigglypuff.aif differ diff --git a/sound/direct_sound_samples/cries/jirachi.aif b/sound/direct_sound_samples/cries/jirachi.aif index 40f3a76c1cf5..0da759794c88 100644 Binary files a/sound/direct_sound_samples/cries/jirachi.aif and b/sound/direct_sound_samples/cries/jirachi.aif differ diff --git a/sound/direct_sound_samples/cries/jolteon.aif b/sound/direct_sound_samples/cries/jolteon.aif index be9c81d62ec5..acd96714aeb2 100644 Binary files a/sound/direct_sound_samples/cries/jolteon.aif and b/sound/direct_sound_samples/cries/jolteon.aif differ diff --git a/sound/direct_sound_samples/cries/joltik.aif b/sound/direct_sound_samples/cries/joltik.aif index cd1fa592c957..a67354d74ce5 100644 Binary files a/sound/direct_sound_samples/cries/joltik.aif and b/sound/direct_sound_samples/cries/joltik.aif differ diff --git a/sound/direct_sound_samples/cries/jumpluff.aif b/sound/direct_sound_samples/cries/jumpluff.aif index 69b4a7207426..2b93dad55868 100644 Binary files a/sound/direct_sound_samples/cries/jumpluff.aif and b/sound/direct_sound_samples/cries/jumpluff.aif differ diff --git a/sound/direct_sound_samples/cries/jynx.aif b/sound/direct_sound_samples/cries/jynx.aif index 41630677b7b1..cbcd7ee99de6 100644 Binary files a/sound/direct_sound_samples/cries/jynx.aif and b/sound/direct_sound_samples/cries/jynx.aif differ diff --git a/sound/direct_sound_samples/cries/kabuto.aif b/sound/direct_sound_samples/cries/kabuto.aif index aad4f3266cee..2ed73716cbf5 100644 Binary files a/sound/direct_sound_samples/cries/kabuto.aif and b/sound/direct_sound_samples/cries/kabuto.aif differ diff --git a/sound/direct_sound_samples/cries/kabutops.aif b/sound/direct_sound_samples/cries/kabutops.aif index 015bacaca99a..79a4b304a821 100644 Binary files a/sound/direct_sound_samples/cries/kabutops.aif and b/sound/direct_sound_samples/cries/kabutops.aif differ diff --git a/sound/direct_sound_samples/cries/kadabra.aif b/sound/direct_sound_samples/cries/kadabra.aif index 4c847cb4e853..3f03ee03f0f1 100644 Binary files a/sound/direct_sound_samples/cries/kadabra.aif and b/sound/direct_sound_samples/cries/kadabra.aif differ diff --git a/sound/direct_sound_samples/cries/kakuna.aif b/sound/direct_sound_samples/cries/kakuna.aif index 088b51965c5e..8331b0b0e580 100644 Binary files a/sound/direct_sound_samples/cries/kakuna.aif and b/sound/direct_sound_samples/cries/kakuna.aif differ diff --git a/sound/direct_sound_samples/cries/kangaskhan.aif b/sound/direct_sound_samples/cries/kangaskhan.aif index 1e57639531d2..26a8ac43a404 100644 Binary files a/sound/direct_sound_samples/cries/kangaskhan.aif and b/sound/direct_sound_samples/cries/kangaskhan.aif differ diff --git a/sound/direct_sound_samples/cries/kangaskhan_mega.aif b/sound/direct_sound_samples/cries/kangaskhan_mega.aif index cd95a87d3994..417cb04f49e5 100644 Binary files a/sound/direct_sound_samples/cries/kangaskhan_mega.aif and b/sound/direct_sound_samples/cries/kangaskhan_mega.aif differ diff --git a/sound/direct_sound_samples/cries/karrablast.aif b/sound/direct_sound_samples/cries/karrablast.aif index cf06ec45a885..7b5a2c3948a6 100644 Binary files a/sound/direct_sound_samples/cries/karrablast.aif and b/sound/direct_sound_samples/cries/karrablast.aif differ diff --git a/sound/direct_sound_samples/cries/kartana.aif b/sound/direct_sound_samples/cries/kartana.aif index f17c69912d83..b43fa40d7833 100644 Binary files a/sound/direct_sound_samples/cries/kartana.aif and b/sound/direct_sound_samples/cries/kartana.aif differ diff --git a/sound/direct_sound_samples/cries/kecleon.aif b/sound/direct_sound_samples/cries/kecleon.aif index b6dd7e91f37c..51dae2935044 100644 Binary files a/sound/direct_sound_samples/cries/kecleon.aif and b/sound/direct_sound_samples/cries/kecleon.aif differ diff --git a/sound/direct_sound_samples/cries/keldeo.aif b/sound/direct_sound_samples/cries/keldeo.aif index 4f73fc22da4a..6f23ad088557 100644 Binary files a/sound/direct_sound_samples/cries/keldeo.aif and b/sound/direct_sound_samples/cries/keldeo.aif differ diff --git a/sound/direct_sound_samples/cries/kingdra.aif b/sound/direct_sound_samples/cries/kingdra.aif index 2d68f6a6f1a8..a9cc1d9fe489 100644 Binary files a/sound/direct_sound_samples/cries/kingdra.aif and b/sound/direct_sound_samples/cries/kingdra.aif differ diff --git a/sound/direct_sound_samples/cries/kingler.aif b/sound/direct_sound_samples/cries/kingler.aif index 752b660659ab..b8368297313b 100644 Binary files a/sound/direct_sound_samples/cries/kingler.aif and b/sound/direct_sound_samples/cries/kingler.aif differ diff --git a/sound/direct_sound_samples/cries/kirlia.aif b/sound/direct_sound_samples/cries/kirlia.aif index 0ef923020383..0beaebf16f38 100644 Binary files a/sound/direct_sound_samples/cries/kirlia.aif and b/sound/direct_sound_samples/cries/kirlia.aif differ diff --git a/sound/direct_sound_samples/cries/klang.aif b/sound/direct_sound_samples/cries/klang.aif index bb17984d2cec..13b28861f4ae 100644 Binary files a/sound/direct_sound_samples/cries/klang.aif and b/sound/direct_sound_samples/cries/klang.aif differ diff --git a/sound/direct_sound_samples/cries/kleavor.aif b/sound/direct_sound_samples/cries/kleavor.aif index cf23d5b623ee..c84a31cf2ff4 100644 Binary files a/sound/direct_sound_samples/cries/kleavor.aif and b/sound/direct_sound_samples/cries/kleavor.aif differ diff --git a/sound/direct_sound_samples/cries/klink.aif b/sound/direct_sound_samples/cries/klink.aif index 21076028de58..0bd6b65f7461 100644 Binary files a/sound/direct_sound_samples/cries/klink.aif and b/sound/direct_sound_samples/cries/klink.aif differ diff --git a/sound/direct_sound_samples/cries/klinklang.aif b/sound/direct_sound_samples/cries/klinklang.aif index 2f2edf0f5591..35117bf30a5b 100644 Binary files a/sound/direct_sound_samples/cries/klinklang.aif and b/sound/direct_sound_samples/cries/klinklang.aif differ diff --git a/sound/direct_sound_samples/cries/koffing.aif b/sound/direct_sound_samples/cries/koffing.aif index 6def9ad0c157..50d5bc978bb5 100644 Binary files a/sound/direct_sound_samples/cries/koffing.aif and b/sound/direct_sound_samples/cries/koffing.aif differ diff --git a/sound/direct_sound_samples/cries/komala.aif b/sound/direct_sound_samples/cries/komala.aif index 414d0c053b86..e084c9a7c4e0 100644 Binary files a/sound/direct_sound_samples/cries/komala.aif and b/sound/direct_sound_samples/cries/komala.aif differ diff --git a/sound/direct_sound_samples/cries/kommo_o.aif b/sound/direct_sound_samples/cries/kommo_o.aif index d9a12af24144..057153e907df 100644 Binary files a/sound/direct_sound_samples/cries/kommo_o.aif and b/sound/direct_sound_samples/cries/kommo_o.aif differ diff --git a/sound/direct_sound_samples/cries/krabby.aif b/sound/direct_sound_samples/cries/krabby.aif index 033e148f3823..33b8ea294b6b 100644 Binary files a/sound/direct_sound_samples/cries/krabby.aif and b/sound/direct_sound_samples/cries/krabby.aif differ diff --git a/sound/direct_sound_samples/cries/kricketot.aif b/sound/direct_sound_samples/cries/kricketot.aif index c441b00cd95f..7b301cc485a0 100644 Binary files a/sound/direct_sound_samples/cries/kricketot.aif and b/sound/direct_sound_samples/cries/kricketot.aif differ diff --git a/sound/direct_sound_samples/cries/kricketune.aif b/sound/direct_sound_samples/cries/kricketune.aif index a11390f3f762..b3ebcbf8ae25 100644 Binary files a/sound/direct_sound_samples/cries/kricketune.aif and b/sound/direct_sound_samples/cries/kricketune.aif differ diff --git a/sound/direct_sound_samples/cries/krokorok.aif b/sound/direct_sound_samples/cries/krokorok.aif index 2cf4ceff1fb1..39765627ece1 100644 Binary files a/sound/direct_sound_samples/cries/krokorok.aif and b/sound/direct_sound_samples/cries/krokorok.aif differ diff --git a/sound/direct_sound_samples/cries/krookodile.aif b/sound/direct_sound_samples/cries/krookodile.aif index 4aa7ea4aedf7..4b532b3bd1e2 100644 Binary files a/sound/direct_sound_samples/cries/krookodile.aif and b/sound/direct_sound_samples/cries/krookodile.aif differ diff --git a/sound/direct_sound_samples/cries/kyogre.aif b/sound/direct_sound_samples/cries/kyogre.aif index 57790d75faf4..c20d2cf3240e 100644 Binary files a/sound/direct_sound_samples/cries/kyogre.aif and b/sound/direct_sound_samples/cries/kyogre.aif differ diff --git a/sound/direct_sound_samples/cries/kyogre_primal.aif b/sound/direct_sound_samples/cries/kyogre_primal.aif index 605b8944ce48..b7999915b34a 100644 Binary files a/sound/direct_sound_samples/cries/kyogre_primal.aif and b/sound/direct_sound_samples/cries/kyogre_primal.aif differ diff --git a/sound/direct_sound_samples/cries/kyurem.aif b/sound/direct_sound_samples/cries/kyurem.aif index 036d6cf689fa..0345a0c17597 100644 Binary files a/sound/direct_sound_samples/cries/kyurem.aif and b/sound/direct_sound_samples/cries/kyurem.aif differ diff --git a/sound/direct_sound_samples/cries/kyurem_black.aif b/sound/direct_sound_samples/cries/kyurem_black.aif index f5bd0cb4e7e0..9b5320bd63f2 100644 Binary files a/sound/direct_sound_samples/cries/kyurem_black.aif and b/sound/direct_sound_samples/cries/kyurem_black.aif differ diff --git a/sound/direct_sound_samples/cries/kyurem_white.aif b/sound/direct_sound_samples/cries/kyurem_white.aif index a9d7a5e58df4..1e6f0283ec74 100644 Binary files a/sound/direct_sound_samples/cries/kyurem_white.aif and b/sound/direct_sound_samples/cries/kyurem_white.aif differ diff --git a/sound/direct_sound_samples/cries/lairon.aif b/sound/direct_sound_samples/cries/lairon.aif index b1cf60b8aff4..44bc57df17be 100644 Binary files a/sound/direct_sound_samples/cries/lairon.aif and b/sound/direct_sound_samples/cries/lairon.aif differ diff --git a/sound/direct_sound_samples/cries/lampent.aif b/sound/direct_sound_samples/cries/lampent.aif index 2f11c2ecfbf1..9d5a8a3c0196 100644 Binary files a/sound/direct_sound_samples/cries/lampent.aif and b/sound/direct_sound_samples/cries/lampent.aif differ diff --git a/sound/direct_sound_samples/cries/landorus_incarnate.aif b/sound/direct_sound_samples/cries/landorus_incarnate.aif index 189c77666870..03111963d7e2 100644 Binary files a/sound/direct_sound_samples/cries/landorus_incarnate.aif and b/sound/direct_sound_samples/cries/landorus_incarnate.aif differ diff --git a/sound/direct_sound_samples/cries/landorus_therian.aif b/sound/direct_sound_samples/cries/landorus_therian.aif index edd6fa349b23..6a641cf6f4ba 100644 Binary files a/sound/direct_sound_samples/cries/landorus_therian.aif and b/sound/direct_sound_samples/cries/landorus_therian.aif differ diff --git a/sound/direct_sound_samples/cries/lanturn.aif b/sound/direct_sound_samples/cries/lanturn.aif index 11405a96db67..e88570f68dfa 100644 Binary files a/sound/direct_sound_samples/cries/lanturn.aif and b/sound/direct_sound_samples/cries/lanturn.aif differ diff --git a/sound/direct_sound_samples/cries/lapras.aif b/sound/direct_sound_samples/cries/lapras.aif index 0725bcecb687..9bc9023730e1 100644 Binary files a/sound/direct_sound_samples/cries/lapras.aif and b/sound/direct_sound_samples/cries/lapras.aif differ diff --git a/sound/direct_sound_samples/cries/larvesta.aif b/sound/direct_sound_samples/cries/larvesta.aif index 4f3e484c8e1e..a025df32bf53 100644 Binary files a/sound/direct_sound_samples/cries/larvesta.aif and b/sound/direct_sound_samples/cries/larvesta.aif differ diff --git a/sound/direct_sound_samples/cries/larvitar.aif b/sound/direct_sound_samples/cries/larvitar.aif index 45ad2c048804..fd91d5bc7d28 100644 Binary files a/sound/direct_sound_samples/cries/larvitar.aif and b/sound/direct_sound_samples/cries/larvitar.aif differ diff --git a/sound/direct_sound_samples/cries/latias.aif b/sound/direct_sound_samples/cries/latias.aif index 546fe15971a0..90f558abc8b3 100644 Binary files a/sound/direct_sound_samples/cries/latias.aif and b/sound/direct_sound_samples/cries/latias.aif differ diff --git a/sound/direct_sound_samples/cries/latios.aif b/sound/direct_sound_samples/cries/latios.aif index f86a56fd884d..f42446256c15 100644 Binary files a/sound/direct_sound_samples/cries/latios.aif and b/sound/direct_sound_samples/cries/latios.aif differ diff --git a/sound/direct_sound_samples/cries/leafeon.aif b/sound/direct_sound_samples/cries/leafeon.aif index 048bfc8173ad..b3e7494b69f3 100644 Binary files a/sound/direct_sound_samples/cries/leafeon.aif and b/sound/direct_sound_samples/cries/leafeon.aif differ diff --git a/sound/direct_sound_samples/cries/leavanny.aif b/sound/direct_sound_samples/cries/leavanny.aif index 8399bb1cf326..503a08ffe809 100644 Binary files a/sound/direct_sound_samples/cries/leavanny.aif and b/sound/direct_sound_samples/cries/leavanny.aif differ diff --git a/sound/direct_sound_samples/cries/ledian.aif b/sound/direct_sound_samples/cries/ledian.aif index d659df61327a..cbc86ba6ac0b 100644 Binary files a/sound/direct_sound_samples/cries/ledian.aif and b/sound/direct_sound_samples/cries/ledian.aif differ diff --git a/sound/direct_sound_samples/cries/ledyba.aif b/sound/direct_sound_samples/cries/ledyba.aif index 44e882cbdce2..d90f6844018d 100644 Binary files a/sound/direct_sound_samples/cries/ledyba.aif and b/sound/direct_sound_samples/cries/ledyba.aif differ diff --git a/sound/direct_sound_samples/cries/lickilicky.aif b/sound/direct_sound_samples/cries/lickilicky.aif index 61b2c0f38296..542bbcaf8b3c 100644 Binary files a/sound/direct_sound_samples/cries/lickilicky.aif and b/sound/direct_sound_samples/cries/lickilicky.aif differ diff --git a/sound/direct_sound_samples/cries/lickitung.aif b/sound/direct_sound_samples/cries/lickitung.aif index 0f4e697e5b7e..c21d1b036548 100644 Binary files a/sound/direct_sound_samples/cries/lickitung.aif and b/sound/direct_sound_samples/cries/lickitung.aif differ diff --git a/sound/direct_sound_samples/cries/liepard.aif b/sound/direct_sound_samples/cries/liepard.aif index 7432857bc14d..eec210c0e7c4 100644 Binary files a/sound/direct_sound_samples/cries/liepard.aif and b/sound/direct_sound_samples/cries/liepard.aif differ diff --git a/sound/direct_sound_samples/cries/lileep.aif b/sound/direct_sound_samples/cries/lileep.aif index a178e72bf54b..e1b750ba9480 100644 Binary files a/sound/direct_sound_samples/cries/lileep.aif and b/sound/direct_sound_samples/cries/lileep.aif differ diff --git a/sound/direct_sound_samples/cries/lilligant.aif b/sound/direct_sound_samples/cries/lilligant.aif index 311c5affa81c..e00b1aafc417 100644 Binary files a/sound/direct_sound_samples/cries/lilligant.aif and b/sound/direct_sound_samples/cries/lilligant.aif differ diff --git a/sound/direct_sound_samples/cries/lillipup.aif b/sound/direct_sound_samples/cries/lillipup.aif index 9a77e2596ded..825f5054cf8c 100644 Binary files a/sound/direct_sound_samples/cries/lillipup.aif and b/sound/direct_sound_samples/cries/lillipup.aif differ diff --git a/sound/direct_sound_samples/cries/linoone.aif b/sound/direct_sound_samples/cries/linoone.aif index 326eca324cc5..1db1958d4cc4 100644 Binary files a/sound/direct_sound_samples/cries/linoone.aif and b/sound/direct_sound_samples/cries/linoone.aif differ diff --git a/sound/direct_sound_samples/cries/litleo.aif b/sound/direct_sound_samples/cries/litleo.aif index bb203758d617..417d3d470892 100644 Binary files a/sound/direct_sound_samples/cries/litleo.aif and b/sound/direct_sound_samples/cries/litleo.aif differ diff --git a/sound/direct_sound_samples/cries/litten.aif b/sound/direct_sound_samples/cries/litten.aif index 613be44f76af..c2c486dd98a7 100644 Binary files a/sound/direct_sound_samples/cries/litten.aif and b/sound/direct_sound_samples/cries/litten.aif differ diff --git a/sound/direct_sound_samples/cries/litwick.aif b/sound/direct_sound_samples/cries/litwick.aif index 6759c29beb38..c13b74920011 100644 Binary files a/sound/direct_sound_samples/cries/litwick.aif and b/sound/direct_sound_samples/cries/litwick.aif differ diff --git a/sound/direct_sound_samples/cries/lokix.aif b/sound/direct_sound_samples/cries/lokix.aif index c323e2658cc5..739ae1ad5647 100644 Binary files a/sound/direct_sound_samples/cries/lokix.aif and b/sound/direct_sound_samples/cries/lokix.aif differ diff --git a/sound/direct_sound_samples/cries/lombre.aif b/sound/direct_sound_samples/cries/lombre.aif index 04f7b6e77f58..3839f7a32790 100644 Binary files a/sound/direct_sound_samples/cries/lombre.aif and b/sound/direct_sound_samples/cries/lombre.aif differ diff --git a/sound/direct_sound_samples/cries/lopunny.aif b/sound/direct_sound_samples/cries/lopunny.aif index 1db6d7641c88..f79379078500 100644 Binary files a/sound/direct_sound_samples/cries/lopunny.aif and b/sound/direct_sound_samples/cries/lopunny.aif differ diff --git a/sound/direct_sound_samples/cries/lopunny_mega.aif b/sound/direct_sound_samples/cries/lopunny_mega.aif index 1331ca106b9d..212df776de8a 100644 Binary files a/sound/direct_sound_samples/cries/lopunny_mega.aif and b/sound/direct_sound_samples/cries/lopunny_mega.aif differ diff --git a/sound/direct_sound_samples/cries/lotad.aif b/sound/direct_sound_samples/cries/lotad.aif index a8071ef96f94..290ec548596b 100644 Binary files a/sound/direct_sound_samples/cries/lotad.aif and b/sound/direct_sound_samples/cries/lotad.aif differ diff --git a/sound/direct_sound_samples/cries/loudred.aif b/sound/direct_sound_samples/cries/loudred.aif index 2ac4687cf0ae..d9c7465573f9 100644 Binary files a/sound/direct_sound_samples/cries/loudred.aif and b/sound/direct_sound_samples/cries/loudred.aif differ diff --git a/sound/direct_sound_samples/cries/lucario.aif b/sound/direct_sound_samples/cries/lucario.aif index fece38421906..80064d64fba4 100644 Binary files a/sound/direct_sound_samples/cries/lucario.aif and b/sound/direct_sound_samples/cries/lucario.aif differ diff --git a/sound/direct_sound_samples/cries/ludicolo.aif b/sound/direct_sound_samples/cries/ludicolo.aif index a4e773e9012b..690cf75fe486 100644 Binary files a/sound/direct_sound_samples/cries/ludicolo.aif and b/sound/direct_sound_samples/cries/ludicolo.aif differ diff --git a/sound/direct_sound_samples/cries/lugia.aif b/sound/direct_sound_samples/cries/lugia.aif index 6c96ba141e04..884b48591e54 100644 Binary files a/sound/direct_sound_samples/cries/lugia.aif and b/sound/direct_sound_samples/cries/lugia.aif differ diff --git a/sound/direct_sound_samples/cries/lumineon.aif b/sound/direct_sound_samples/cries/lumineon.aif index a6a2cca2c2b8..0577fb557539 100644 Binary files a/sound/direct_sound_samples/cries/lumineon.aif and b/sound/direct_sound_samples/cries/lumineon.aif differ diff --git a/sound/direct_sound_samples/cries/lunala.aif b/sound/direct_sound_samples/cries/lunala.aif index 5786ac42c0a5..d95185de7997 100644 Binary files a/sound/direct_sound_samples/cries/lunala.aif and b/sound/direct_sound_samples/cries/lunala.aif differ diff --git a/sound/direct_sound_samples/cries/lunatone.aif b/sound/direct_sound_samples/cries/lunatone.aif index 468e60bc9688..e27d7f2f6017 100644 Binary files a/sound/direct_sound_samples/cries/lunatone.aif and b/sound/direct_sound_samples/cries/lunatone.aif differ diff --git a/sound/direct_sound_samples/cries/lurantis.aif b/sound/direct_sound_samples/cries/lurantis.aif index f6a8019b6815..36ab7d71e226 100644 Binary files a/sound/direct_sound_samples/cries/lurantis.aif and b/sound/direct_sound_samples/cries/lurantis.aif differ diff --git a/sound/direct_sound_samples/cries/luvdisc.aif b/sound/direct_sound_samples/cries/luvdisc.aif index 72aa538f1848..396aceff5e34 100644 Binary files a/sound/direct_sound_samples/cries/luvdisc.aif and b/sound/direct_sound_samples/cries/luvdisc.aif differ diff --git a/sound/direct_sound_samples/cries/luxio.aif b/sound/direct_sound_samples/cries/luxio.aif index 50019c217ed4..f56ffe1ea0f2 100644 Binary files a/sound/direct_sound_samples/cries/luxio.aif and b/sound/direct_sound_samples/cries/luxio.aif differ diff --git a/sound/direct_sound_samples/cries/luxray.aif b/sound/direct_sound_samples/cries/luxray.aif index 2401fe11e26a..76bf5cb5d115 100644 Binary files a/sound/direct_sound_samples/cries/luxray.aif and b/sound/direct_sound_samples/cries/luxray.aif differ diff --git a/sound/direct_sound_samples/cries/lycanroc_midday.aif b/sound/direct_sound_samples/cries/lycanroc_midday.aif index 0f117bc947a6..380d192c2216 100644 Binary files a/sound/direct_sound_samples/cries/lycanroc_midday.aif and b/sound/direct_sound_samples/cries/lycanroc_midday.aif differ diff --git a/sound/direct_sound_samples/cries/lycanroc_midnight.aif b/sound/direct_sound_samples/cries/lycanroc_midnight.aif index f470d006b5d8..e81dac8c3e4c 100644 Binary files a/sound/direct_sound_samples/cries/lycanroc_midnight.aif and b/sound/direct_sound_samples/cries/lycanroc_midnight.aif differ diff --git a/sound/direct_sound_samples/cries/mabosstiff.aif b/sound/direct_sound_samples/cries/mabosstiff.aif index ccf661e6cabc..b66bbf731f81 100644 Binary files a/sound/direct_sound_samples/cries/mabosstiff.aif and b/sound/direct_sound_samples/cries/mabosstiff.aif differ diff --git a/sound/direct_sound_samples/cries/machamp.aif b/sound/direct_sound_samples/cries/machamp.aif index 7337dc341d9f..99bcfea8983e 100644 Binary files a/sound/direct_sound_samples/cries/machamp.aif and b/sound/direct_sound_samples/cries/machamp.aif differ diff --git a/sound/direct_sound_samples/cries/machoke.aif b/sound/direct_sound_samples/cries/machoke.aif index 6b590cdd0b74..241731b6fe09 100644 Binary files a/sound/direct_sound_samples/cries/machoke.aif and b/sound/direct_sound_samples/cries/machoke.aif differ diff --git a/sound/direct_sound_samples/cries/machop.aif b/sound/direct_sound_samples/cries/machop.aif index 28e749a3a7dc..c878dfe99f01 100644 Binary files a/sound/direct_sound_samples/cries/machop.aif and b/sound/direct_sound_samples/cries/machop.aif differ diff --git a/sound/direct_sound_samples/cries/magby.aif b/sound/direct_sound_samples/cries/magby.aif index 0b6a5c8cf0ad..69f77a3b356c 100644 Binary files a/sound/direct_sound_samples/cries/magby.aif and b/sound/direct_sound_samples/cries/magby.aif differ diff --git a/sound/direct_sound_samples/cries/magcargo.aif b/sound/direct_sound_samples/cries/magcargo.aif index 10c2a34515f9..f1127dabc4a2 100644 Binary files a/sound/direct_sound_samples/cries/magcargo.aif and b/sound/direct_sound_samples/cries/magcargo.aif differ diff --git a/sound/direct_sound_samples/cries/magearna.aif b/sound/direct_sound_samples/cries/magearna.aif index f07533638af4..2e01fe5aa356 100644 Binary files a/sound/direct_sound_samples/cries/magearna.aif and b/sound/direct_sound_samples/cries/magearna.aif differ diff --git a/sound/direct_sound_samples/cries/magikarp.aif b/sound/direct_sound_samples/cries/magikarp.aif index f5f9ce213c83..71bdbf393973 100644 Binary files a/sound/direct_sound_samples/cries/magikarp.aif and b/sound/direct_sound_samples/cries/magikarp.aif differ diff --git a/sound/direct_sound_samples/cries/magmar.aif b/sound/direct_sound_samples/cries/magmar.aif index 1dfa93acda58..c2a6a171aeb5 100644 Binary files a/sound/direct_sound_samples/cries/magmar.aif and b/sound/direct_sound_samples/cries/magmar.aif differ diff --git a/sound/direct_sound_samples/cries/magmortar.aif b/sound/direct_sound_samples/cries/magmortar.aif index 3c1916ab309f..ae7f0ea50290 100644 Binary files a/sound/direct_sound_samples/cries/magmortar.aif and b/sound/direct_sound_samples/cries/magmortar.aif differ diff --git a/sound/direct_sound_samples/cries/magnemite.aif b/sound/direct_sound_samples/cries/magnemite.aif index 52de6ab69c38..d468102ac934 100644 Binary files a/sound/direct_sound_samples/cries/magnemite.aif and b/sound/direct_sound_samples/cries/magnemite.aif differ diff --git a/sound/direct_sound_samples/cries/magneton.aif b/sound/direct_sound_samples/cries/magneton.aif index e9ab131cf946..30327cdbc363 100644 Binary files a/sound/direct_sound_samples/cries/magneton.aif and b/sound/direct_sound_samples/cries/magneton.aif differ diff --git a/sound/direct_sound_samples/cries/magnezone.aif b/sound/direct_sound_samples/cries/magnezone.aif index db1a6b5f059a..750cbd3ac4a3 100644 Binary files a/sound/direct_sound_samples/cries/magnezone.aif and b/sound/direct_sound_samples/cries/magnezone.aif differ diff --git a/sound/direct_sound_samples/cries/makuhita.aif b/sound/direct_sound_samples/cries/makuhita.aif index 8445adf5df70..2dffab4bcc17 100644 Binary files a/sound/direct_sound_samples/cries/makuhita.aif and b/sound/direct_sound_samples/cries/makuhita.aif differ diff --git a/sound/direct_sound_samples/cries/malamar.aif b/sound/direct_sound_samples/cries/malamar.aif index f5b63bc52d73..80428bfb1674 100644 Binary files a/sound/direct_sound_samples/cries/malamar.aif and b/sound/direct_sound_samples/cries/malamar.aif differ diff --git a/sound/direct_sound_samples/cries/mamoswine.aif b/sound/direct_sound_samples/cries/mamoswine.aif index 034df6a61bf2..48625c1a6f90 100644 Binary files a/sound/direct_sound_samples/cries/mamoswine.aif and b/sound/direct_sound_samples/cries/mamoswine.aif differ diff --git a/sound/direct_sound_samples/cries/manaphy.aif b/sound/direct_sound_samples/cries/manaphy.aif index d7f80902b5c3..7df4dc833885 100644 Binary files a/sound/direct_sound_samples/cries/manaphy.aif and b/sound/direct_sound_samples/cries/manaphy.aif differ diff --git a/sound/direct_sound_samples/cries/mandibuzz.aif b/sound/direct_sound_samples/cries/mandibuzz.aif index 3f12088d0a52..1a3a3afec3b6 100644 Binary files a/sound/direct_sound_samples/cries/mandibuzz.aif and b/sound/direct_sound_samples/cries/mandibuzz.aif differ diff --git a/sound/direct_sound_samples/cries/manectric.aif b/sound/direct_sound_samples/cries/manectric.aif index a96712010a6e..cb0783a0c92d 100644 Binary files a/sound/direct_sound_samples/cries/manectric.aif and b/sound/direct_sound_samples/cries/manectric.aif differ diff --git a/sound/direct_sound_samples/cries/manectric_mega.aif b/sound/direct_sound_samples/cries/manectric_mega.aif index ad38ec0ffceb..6e9717fe893e 100644 Binary files a/sound/direct_sound_samples/cries/manectric_mega.aif and b/sound/direct_sound_samples/cries/manectric_mega.aif differ diff --git a/sound/direct_sound_samples/cries/mankey.aif b/sound/direct_sound_samples/cries/mankey.aif index 3a94289acb69..b2634d3f7b84 100644 Binary files a/sound/direct_sound_samples/cries/mankey.aif and b/sound/direct_sound_samples/cries/mankey.aif differ diff --git a/sound/direct_sound_samples/cries/mantine.aif b/sound/direct_sound_samples/cries/mantine.aif index 62c3b4096d82..f3f6af321339 100644 Binary files a/sound/direct_sound_samples/cries/mantine.aif and b/sound/direct_sound_samples/cries/mantine.aif differ diff --git a/sound/direct_sound_samples/cries/mantyke.aif b/sound/direct_sound_samples/cries/mantyke.aif index bbb805e7eb7d..edf6a76ef1f5 100644 Binary files a/sound/direct_sound_samples/cries/mantyke.aif and b/sound/direct_sound_samples/cries/mantyke.aif differ diff --git a/sound/direct_sound_samples/cries/maractus.aif b/sound/direct_sound_samples/cries/maractus.aif index 16058d97cc8c..ad2488ec8677 100644 Binary files a/sound/direct_sound_samples/cries/maractus.aif and b/sound/direct_sound_samples/cries/maractus.aif differ diff --git a/sound/direct_sound_samples/cries/mareanie.aif b/sound/direct_sound_samples/cries/mareanie.aif index de6c86b21379..75a73d5edb28 100644 Binary files a/sound/direct_sound_samples/cries/mareanie.aif and b/sound/direct_sound_samples/cries/mareanie.aif differ diff --git a/sound/direct_sound_samples/cries/mareep.aif b/sound/direct_sound_samples/cries/mareep.aif index f47b4170184d..2dfc9e88bcac 100644 Binary files a/sound/direct_sound_samples/cries/mareep.aif and b/sound/direct_sound_samples/cries/mareep.aif differ diff --git a/sound/direct_sound_samples/cries/marill.aif b/sound/direct_sound_samples/cries/marill.aif index 2483f62db331..1c3b6bc41fc0 100644 Binary files a/sound/direct_sound_samples/cries/marill.aif and b/sound/direct_sound_samples/cries/marill.aif differ diff --git a/sound/direct_sound_samples/cries/marowak.aif b/sound/direct_sound_samples/cries/marowak.aif index a8567b32d036..c081ba9f9d88 100644 Binary files a/sound/direct_sound_samples/cries/marowak.aif and b/sound/direct_sound_samples/cries/marowak.aif differ diff --git a/sound/direct_sound_samples/cries/marshadow.aif b/sound/direct_sound_samples/cries/marshadow.aif index a763d4abb8f9..3092b639f24e 100644 Binary files a/sound/direct_sound_samples/cries/marshadow.aif and b/sound/direct_sound_samples/cries/marshadow.aif differ diff --git a/sound/direct_sound_samples/cries/marshtomp.aif b/sound/direct_sound_samples/cries/marshtomp.aif index 11ea04d0cd67..79728eb0876e 100644 Binary files a/sound/direct_sound_samples/cries/marshtomp.aif and b/sound/direct_sound_samples/cries/marshtomp.aif differ diff --git a/sound/direct_sound_samples/cries/masquerain.aif b/sound/direct_sound_samples/cries/masquerain.aif index 34f079f152b1..e3ef3b9d81d6 100644 Binary files a/sound/direct_sound_samples/cries/masquerain.aif and b/sound/direct_sound_samples/cries/masquerain.aif differ diff --git a/sound/direct_sound_samples/cries/maushold_family_of_four.aif b/sound/direct_sound_samples/cries/maushold_four.aif similarity index 100% rename from sound/direct_sound_samples/cries/maushold_family_of_four.aif rename to sound/direct_sound_samples/cries/maushold_four.aif diff --git a/sound/direct_sound_samples/cries/maushold_family_of_three.aif b/sound/direct_sound_samples/cries/maushold_three.aif similarity index 99% rename from sound/direct_sound_samples/cries/maushold_family_of_three.aif rename to sound/direct_sound_samples/cries/maushold_three.aif index 7412a1af6a87..0e771535ea3e 100644 Binary files a/sound/direct_sound_samples/cries/maushold_family_of_three.aif and b/sound/direct_sound_samples/cries/maushold_three.aif differ diff --git a/sound/direct_sound_samples/cries/mawile.aif b/sound/direct_sound_samples/cries/mawile.aif index e14dd5a4e463..8374bf4797fd 100644 Binary files a/sound/direct_sound_samples/cries/mawile.aif and b/sound/direct_sound_samples/cries/mawile.aif differ diff --git a/sound/direct_sound_samples/cries/medicham.aif b/sound/direct_sound_samples/cries/medicham.aif index d081dc9002f3..02818ba0dd2d 100644 Binary files a/sound/direct_sound_samples/cries/medicham.aif and b/sound/direct_sound_samples/cries/medicham.aif differ diff --git a/sound/direct_sound_samples/cries/medicham_mega.aif b/sound/direct_sound_samples/cries/medicham_mega.aif index f00672f3cba0..36db11b2f72b 100644 Binary files a/sound/direct_sound_samples/cries/medicham_mega.aif and b/sound/direct_sound_samples/cries/medicham_mega.aif differ diff --git a/sound/direct_sound_samples/cries/meditite.aif b/sound/direct_sound_samples/cries/meditite.aif index a82eb8422091..e3dc9dd802f8 100644 Binary files a/sound/direct_sound_samples/cries/meditite.aif and b/sound/direct_sound_samples/cries/meditite.aif differ diff --git a/sound/direct_sound_samples/cries/meganium.aif b/sound/direct_sound_samples/cries/meganium.aif index b06ad52c2201..abada3548239 100644 Binary files a/sound/direct_sound_samples/cries/meganium.aif and b/sound/direct_sound_samples/cries/meganium.aif differ diff --git a/sound/direct_sound_samples/cries/melmetal.aif b/sound/direct_sound_samples/cries/melmetal.aif index d9a2e0928bda..5590164d1eb9 100644 Binary files a/sound/direct_sound_samples/cries/melmetal.aif and b/sound/direct_sound_samples/cries/melmetal.aif differ diff --git a/sound/direct_sound_samples/cries/meloetta.aif b/sound/direct_sound_samples/cries/meloetta.aif index d2be5ac97f03..298a5214be53 100644 Binary files a/sound/direct_sound_samples/cries/meloetta.aif and b/sound/direct_sound_samples/cries/meloetta.aif differ diff --git a/sound/direct_sound_samples/cries/meltan.aif b/sound/direct_sound_samples/cries/meltan.aif index c3bd648e3a9c..42b258f517d4 100644 Binary files a/sound/direct_sound_samples/cries/meltan.aif and b/sound/direct_sound_samples/cries/meltan.aif differ diff --git a/sound/direct_sound_samples/cries/meowstic.aif b/sound/direct_sound_samples/cries/meowstic.aif index 0d356edeb180..a8536832b263 100644 Binary files a/sound/direct_sound_samples/cries/meowstic.aif and b/sound/direct_sound_samples/cries/meowstic.aif differ diff --git a/sound/direct_sound_samples/cries/meowth.aif b/sound/direct_sound_samples/cries/meowth.aif index 9ba028cfb734..d919e99e63d9 100644 Binary files a/sound/direct_sound_samples/cries/meowth.aif and b/sound/direct_sound_samples/cries/meowth.aif differ diff --git a/sound/direct_sound_samples/cries/mesprit.aif b/sound/direct_sound_samples/cries/mesprit.aif index 4996d3f4b713..0c76a7f0f47e 100644 Binary files a/sound/direct_sound_samples/cries/mesprit.aif and b/sound/direct_sound_samples/cries/mesprit.aif differ diff --git a/sound/direct_sound_samples/cries/metagross.aif b/sound/direct_sound_samples/cries/metagross.aif index f4a0f99acd26..bb3bc21c67cd 100644 Binary files a/sound/direct_sound_samples/cries/metagross.aif and b/sound/direct_sound_samples/cries/metagross.aif differ diff --git a/sound/direct_sound_samples/cries/metagross_mega.aif b/sound/direct_sound_samples/cries/metagross_mega.aif index 3f9ca589cf8b..e1125b659f50 100644 Binary files a/sound/direct_sound_samples/cries/metagross_mega.aif and b/sound/direct_sound_samples/cries/metagross_mega.aif differ diff --git a/sound/direct_sound_samples/cries/metang.aif b/sound/direct_sound_samples/cries/metang.aif index df249ec540ef..225cdfbfe1ea 100644 Binary files a/sound/direct_sound_samples/cries/metang.aif and b/sound/direct_sound_samples/cries/metang.aif differ diff --git a/sound/direct_sound_samples/cries/metapod.aif b/sound/direct_sound_samples/cries/metapod.aif index de04d69de6a7..e875755db0a6 100644 Binary files a/sound/direct_sound_samples/cries/metapod.aif and b/sound/direct_sound_samples/cries/metapod.aif differ diff --git a/sound/direct_sound_samples/cries/mew.aif b/sound/direct_sound_samples/cries/mew.aif index 166a0a8e95a6..f0649ee6f847 100644 Binary files a/sound/direct_sound_samples/cries/mew.aif and b/sound/direct_sound_samples/cries/mew.aif differ diff --git a/sound/direct_sound_samples/cries/mewtwo.aif b/sound/direct_sound_samples/cries/mewtwo.aif index c5a5309ba615..2bafa470830d 100644 Binary files a/sound/direct_sound_samples/cries/mewtwo.aif and b/sound/direct_sound_samples/cries/mewtwo.aif differ diff --git a/sound/direct_sound_samples/cries/mienfoo.aif b/sound/direct_sound_samples/cries/mienfoo.aif index f948e6f3d930..5f9525d87eb0 100644 Binary files a/sound/direct_sound_samples/cries/mienfoo.aif and b/sound/direct_sound_samples/cries/mienfoo.aif differ diff --git a/sound/direct_sound_samples/cries/mienshao.aif b/sound/direct_sound_samples/cries/mienshao.aif index 652be5733938..da04c18fc9cd 100644 Binary files a/sound/direct_sound_samples/cries/mienshao.aif and b/sound/direct_sound_samples/cries/mienshao.aif differ diff --git a/sound/direct_sound_samples/cries/mightyena.aif b/sound/direct_sound_samples/cries/mightyena.aif index 7c7f74d1f176..099c8b9c7b10 100644 Binary files a/sound/direct_sound_samples/cries/mightyena.aif and b/sound/direct_sound_samples/cries/mightyena.aif differ diff --git a/sound/direct_sound_samples/cries/milotic.aif b/sound/direct_sound_samples/cries/milotic.aif index be1e64eacbab..796a87f35802 100644 Binary files a/sound/direct_sound_samples/cries/milotic.aif and b/sound/direct_sound_samples/cries/milotic.aif differ diff --git a/sound/direct_sound_samples/cries/miltank.aif b/sound/direct_sound_samples/cries/miltank.aif index db64e8867d0c..cb8ad93ce966 100644 Binary files a/sound/direct_sound_samples/cries/miltank.aif and b/sound/direct_sound_samples/cries/miltank.aif differ diff --git a/sound/direct_sound_samples/cries/mime_jr.aif b/sound/direct_sound_samples/cries/mime_jr.aif index 1b12debbc33a..604c678fae99 100644 Binary files a/sound/direct_sound_samples/cries/mime_jr.aif and b/sound/direct_sound_samples/cries/mime_jr.aif differ diff --git a/sound/direct_sound_samples/cries/mimikyu.aif b/sound/direct_sound_samples/cries/mimikyu.aif index b86eaedaa56b..15f3720dc75b 100644 Binary files a/sound/direct_sound_samples/cries/mimikyu.aif and b/sound/direct_sound_samples/cries/mimikyu.aif differ diff --git a/sound/direct_sound_samples/cries/minccino.aif b/sound/direct_sound_samples/cries/minccino.aif index c10f3f7c9f2e..d49eb07414ad 100644 Binary files a/sound/direct_sound_samples/cries/minccino.aif and b/sound/direct_sound_samples/cries/minccino.aif differ diff --git a/sound/direct_sound_samples/cries/minior.aif b/sound/direct_sound_samples/cries/minior.aif index 0fa7d903c927..d739824e04e4 100644 Binary files a/sound/direct_sound_samples/cries/minior.aif and b/sound/direct_sound_samples/cries/minior.aif differ diff --git a/sound/direct_sound_samples/cries/minun.aif b/sound/direct_sound_samples/cries/minun.aif index fe1a72aacf9a..1b0d3405b99e 100644 Binary files a/sound/direct_sound_samples/cries/minun.aif and b/sound/direct_sound_samples/cries/minun.aif differ diff --git a/sound/direct_sound_samples/cries/misdreavus.aif b/sound/direct_sound_samples/cries/misdreavus.aif index a501b547b6ed..774a832ea114 100644 Binary files a/sound/direct_sound_samples/cries/misdreavus.aif and b/sound/direct_sound_samples/cries/misdreavus.aif differ diff --git a/sound/direct_sound_samples/cries/mismagius.aif b/sound/direct_sound_samples/cries/mismagius.aif index f010b493168b..a9146205ba8f 100644 Binary files a/sound/direct_sound_samples/cries/mismagius.aif and b/sound/direct_sound_samples/cries/mismagius.aif differ diff --git a/sound/direct_sound_samples/cries/moltres.aif b/sound/direct_sound_samples/cries/moltres.aif index 5549bf5cb715..39570a316c87 100644 Binary files a/sound/direct_sound_samples/cries/moltres.aif and b/sound/direct_sound_samples/cries/moltres.aif differ diff --git a/sound/direct_sound_samples/cries/monferno.aif b/sound/direct_sound_samples/cries/monferno.aif index 8b8d670505ec..4f34c1de9121 100644 Binary files a/sound/direct_sound_samples/cries/monferno.aif and b/sound/direct_sound_samples/cries/monferno.aif differ diff --git a/sound/direct_sound_samples/cries/morelull.aif b/sound/direct_sound_samples/cries/morelull.aif index 78ee2ffc63ad..0b38baf6a496 100644 Binary files a/sound/direct_sound_samples/cries/morelull.aif and b/sound/direct_sound_samples/cries/morelull.aif differ diff --git a/sound/direct_sound_samples/cries/mothim.aif b/sound/direct_sound_samples/cries/mothim.aif index 82a42bce3471..d2a2c7b8c30a 100644 Binary files a/sound/direct_sound_samples/cries/mothim.aif and b/sound/direct_sound_samples/cries/mothim.aif differ diff --git a/sound/direct_sound_samples/cries/mr_mime.aif b/sound/direct_sound_samples/cries/mr_mime.aif index ca89f4bc2ed3..991eeb9d1cdc 100644 Binary files a/sound/direct_sound_samples/cries/mr_mime.aif and b/sound/direct_sound_samples/cries/mr_mime.aif differ diff --git a/sound/direct_sound_samples/cries/mudbray.aif b/sound/direct_sound_samples/cries/mudbray.aif index 3874a9c2a88e..f7d0c8b28758 100644 Binary files a/sound/direct_sound_samples/cries/mudbray.aif and b/sound/direct_sound_samples/cries/mudbray.aif differ diff --git a/sound/direct_sound_samples/cries/mudkip.aif b/sound/direct_sound_samples/cries/mudkip.aif index adbdda2906df..0162f94001dd 100644 Binary files a/sound/direct_sound_samples/cries/mudkip.aif and b/sound/direct_sound_samples/cries/mudkip.aif differ diff --git a/sound/direct_sound_samples/cries/mudsdale.aif b/sound/direct_sound_samples/cries/mudsdale.aif index 564019f27eea..2776ec02dadb 100644 Binary files a/sound/direct_sound_samples/cries/mudsdale.aif and b/sound/direct_sound_samples/cries/mudsdale.aif differ diff --git a/sound/direct_sound_samples/cries/muk.aif b/sound/direct_sound_samples/cries/muk.aif index 557bb84ec7a4..2abfd59591b2 100644 Binary files a/sound/direct_sound_samples/cries/muk.aif and b/sound/direct_sound_samples/cries/muk.aif differ diff --git a/sound/direct_sound_samples/cries/munchlax.aif b/sound/direct_sound_samples/cries/munchlax.aif index befbcdb5899f..ce347a32f472 100644 Binary files a/sound/direct_sound_samples/cries/munchlax.aif and b/sound/direct_sound_samples/cries/munchlax.aif differ diff --git a/sound/direct_sound_samples/cries/munna.aif b/sound/direct_sound_samples/cries/munna.aif index 35167be4a23e..443bb808998c 100644 Binary files a/sound/direct_sound_samples/cries/munna.aif and b/sound/direct_sound_samples/cries/munna.aif differ diff --git a/sound/direct_sound_samples/cries/murkrow.aif b/sound/direct_sound_samples/cries/murkrow.aif index ab42b84a955c..1e7c6dd79266 100644 Binary files a/sound/direct_sound_samples/cries/murkrow.aif and b/sound/direct_sound_samples/cries/murkrow.aif differ diff --git a/sound/direct_sound_samples/cries/musharna.aif b/sound/direct_sound_samples/cries/musharna.aif index 406f56576fd1..69dd2800cf36 100644 Binary files a/sound/direct_sound_samples/cries/musharna.aif and b/sound/direct_sound_samples/cries/musharna.aif differ diff --git a/sound/direct_sound_samples/cries/naclstack.aif b/sound/direct_sound_samples/cries/naclstack.aif index 973fb822815f..31eca0bd4991 100644 Binary files a/sound/direct_sound_samples/cries/naclstack.aif and b/sound/direct_sound_samples/cries/naclstack.aif differ diff --git a/sound/direct_sound_samples/cries/naganadel.aif b/sound/direct_sound_samples/cries/naganadel.aif index b8c34ce627c4..4cd829612baf 100644 Binary files a/sound/direct_sound_samples/cries/naganadel.aif and b/sound/direct_sound_samples/cries/naganadel.aif differ diff --git a/sound/direct_sound_samples/cries/natu.aif b/sound/direct_sound_samples/cries/natu.aif index a492cc5d3950..760943988892 100644 Binary files a/sound/direct_sound_samples/cries/natu.aif and b/sound/direct_sound_samples/cries/natu.aif differ diff --git a/sound/direct_sound_samples/cries/necrozma.aif b/sound/direct_sound_samples/cries/necrozma.aif index ecd5cb79c0b2..db81bc135a5b 100644 Binary files a/sound/direct_sound_samples/cries/necrozma.aif and b/sound/direct_sound_samples/cries/necrozma.aif differ diff --git a/sound/direct_sound_samples/cries/necrozma_dawn_wings.aif b/sound/direct_sound_samples/cries/necrozma_dawn_wings.aif index c5cc9c4fb036..f33539121eed 100644 Binary files a/sound/direct_sound_samples/cries/necrozma_dawn_wings.aif and b/sound/direct_sound_samples/cries/necrozma_dawn_wings.aif differ diff --git a/sound/direct_sound_samples/cries/necrozma_dusk_mane.aif b/sound/direct_sound_samples/cries/necrozma_dusk_mane.aif index 3a31dc8e59a5..fce3fb2f61df 100644 Binary files a/sound/direct_sound_samples/cries/necrozma_dusk_mane.aif and b/sound/direct_sound_samples/cries/necrozma_dusk_mane.aif differ diff --git a/sound/direct_sound_samples/cries/necrozma_ultra.aif b/sound/direct_sound_samples/cries/necrozma_ultra.aif index e9fb9a564705..cfc9c5f27b3d 100644 Binary files a/sound/direct_sound_samples/cries/necrozma_ultra.aif and b/sound/direct_sound_samples/cries/necrozma_ultra.aif differ diff --git a/sound/direct_sound_samples/cries/nidoking.aif b/sound/direct_sound_samples/cries/nidoking.aif index 43fadf98977d..5a645ca83a4f 100644 Binary files a/sound/direct_sound_samples/cries/nidoking.aif and b/sound/direct_sound_samples/cries/nidoking.aif differ diff --git a/sound/direct_sound_samples/cries/nidoqueen.aif b/sound/direct_sound_samples/cries/nidoqueen.aif index 6f1c4ef167d5..878570d3f68b 100644 Binary files a/sound/direct_sound_samples/cries/nidoqueen.aif and b/sound/direct_sound_samples/cries/nidoqueen.aif differ diff --git a/sound/direct_sound_samples/cries/nidoran_f.aif b/sound/direct_sound_samples/cries/nidoran_f.aif index a8ecf4b4a00d..cf0213394974 100644 Binary files a/sound/direct_sound_samples/cries/nidoran_f.aif and b/sound/direct_sound_samples/cries/nidoran_f.aif differ diff --git a/sound/direct_sound_samples/cries/nidoran_m.aif b/sound/direct_sound_samples/cries/nidoran_m.aif index bb2de057e4c0..2e691595bf73 100644 Binary files a/sound/direct_sound_samples/cries/nidoran_m.aif and b/sound/direct_sound_samples/cries/nidoran_m.aif differ diff --git a/sound/direct_sound_samples/cries/nidorina.aif b/sound/direct_sound_samples/cries/nidorina.aif index ce56909917cb..3f73fd947f5c 100644 Binary files a/sound/direct_sound_samples/cries/nidorina.aif and b/sound/direct_sound_samples/cries/nidorina.aif differ diff --git a/sound/direct_sound_samples/cries/nidorino.aif b/sound/direct_sound_samples/cries/nidorino.aif index dcc1629e4bdf..75e48cc72136 100644 Binary files a/sound/direct_sound_samples/cries/nidorino.aif and b/sound/direct_sound_samples/cries/nidorino.aif differ diff --git a/sound/direct_sound_samples/cries/nihilego.aif b/sound/direct_sound_samples/cries/nihilego.aif index 1e428ec28a7d..17c56e8cbf46 100644 Binary files a/sound/direct_sound_samples/cries/nihilego.aif and b/sound/direct_sound_samples/cries/nihilego.aif differ diff --git a/sound/direct_sound_samples/cries/nincada.aif b/sound/direct_sound_samples/cries/nincada.aif index 0897f56df4ab..d4695111cd89 100644 Binary files a/sound/direct_sound_samples/cries/nincada.aif and b/sound/direct_sound_samples/cries/nincada.aif differ diff --git a/sound/direct_sound_samples/cries/ninetales.aif b/sound/direct_sound_samples/cries/ninetales.aif index aa31af7a8c0e..51a260f9e92a 100644 Binary files a/sound/direct_sound_samples/cries/ninetales.aif and b/sound/direct_sound_samples/cries/ninetales.aif differ diff --git a/sound/direct_sound_samples/cries/ninjask.aif b/sound/direct_sound_samples/cries/ninjask.aif index f5b32b13ed2a..06693156a76d 100644 Binary files a/sound/direct_sound_samples/cries/ninjask.aif and b/sound/direct_sound_samples/cries/ninjask.aif differ diff --git a/sound/direct_sound_samples/cries/noctowl.aif b/sound/direct_sound_samples/cries/noctowl.aif index 9cb1b31653ae..2a96488f28f4 100644 Binary files a/sound/direct_sound_samples/cries/noctowl.aif and b/sound/direct_sound_samples/cries/noctowl.aif differ diff --git a/sound/direct_sound_samples/cries/noibat.aif b/sound/direct_sound_samples/cries/noibat.aif index a00200aab060..6f3c18f40dc0 100644 Binary files a/sound/direct_sound_samples/cries/noibat.aif and b/sound/direct_sound_samples/cries/noibat.aif differ diff --git a/sound/direct_sound_samples/cries/noivern.aif b/sound/direct_sound_samples/cries/noivern.aif index aaf03806d72f..5806e6971361 100644 Binary files a/sound/direct_sound_samples/cries/noivern.aif and b/sound/direct_sound_samples/cries/noivern.aif differ diff --git a/sound/direct_sound_samples/cries/nosepass.aif b/sound/direct_sound_samples/cries/nosepass.aif index f45dc7578f9c..04c28caa6bbe 100644 Binary files a/sound/direct_sound_samples/cries/nosepass.aif and b/sound/direct_sound_samples/cries/nosepass.aif differ diff --git a/sound/direct_sound_samples/cries/numel.aif b/sound/direct_sound_samples/cries/numel.aif index e81623531ecd..9d6c2e051783 100644 Binary files a/sound/direct_sound_samples/cries/numel.aif and b/sound/direct_sound_samples/cries/numel.aif differ diff --git a/sound/direct_sound_samples/cries/nuzleaf.aif b/sound/direct_sound_samples/cries/nuzleaf.aif index 275b4d178293..2d836705befe 100644 Binary files a/sound/direct_sound_samples/cries/nuzleaf.aif and b/sound/direct_sound_samples/cries/nuzleaf.aif differ diff --git a/sound/direct_sound_samples/cries/nymble.aif b/sound/direct_sound_samples/cries/nymble.aif index b74a198b2bd1..bc41462fb658 100644 Binary files a/sound/direct_sound_samples/cries/nymble.aif and b/sound/direct_sound_samples/cries/nymble.aif differ diff --git a/sound/direct_sound_samples/cries/octillery.aif b/sound/direct_sound_samples/cries/octillery.aif index f52b7978e598..196400455137 100644 Binary files a/sound/direct_sound_samples/cries/octillery.aif and b/sound/direct_sound_samples/cries/octillery.aif differ diff --git a/sound/direct_sound_samples/cries/oddish.aif b/sound/direct_sound_samples/cries/oddish.aif index 2c9902bb20e0..4f30f7ddb452 100644 Binary files a/sound/direct_sound_samples/cries/oddish.aif and b/sound/direct_sound_samples/cries/oddish.aif differ diff --git a/sound/direct_sound_samples/cries/ogerpon.aif b/sound/direct_sound_samples/cries/ogerpon.aif index e5cb2f7badee..17b9d94d62fd 100644 Binary files a/sound/direct_sound_samples/cries/ogerpon.aif and b/sound/direct_sound_samples/cries/ogerpon.aif differ diff --git a/sound/direct_sound_samples/cries/oinkologne_female.aif b/sound/direct_sound_samples/cries/oinkologne_f.aif similarity index 100% rename from sound/direct_sound_samples/cries/oinkologne_female.aif rename to sound/direct_sound_samples/cries/oinkologne_f.aif diff --git a/sound/direct_sound_samples/cries/oinkologne_male.aif b/sound/direct_sound_samples/cries/oinkologne_m.aif similarity index 100% rename from sound/direct_sound_samples/cries/oinkologne_male.aif rename to sound/direct_sound_samples/cries/oinkologne_m.aif diff --git a/sound/direct_sound_samples/cries/okidogi.aif b/sound/direct_sound_samples/cries/okidogi.aif index afa9cfbddd88..f22f3ba3358b 100644 Binary files a/sound/direct_sound_samples/cries/okidogi.aif and b/sound/direct_sound_samples/cries/okidogi.aif differ diff --git a/sound/direct_sound_samples/cries/omanyte.aif b/sound/direct_sound_samples/cries/omanyte.aif index 7ee0a8e3fe2f..eeedac34db7e 100644 Binary files a/sound/direct_sound_samples/cries/omanyte.aif and b/sound/direct_sound_samples/cries/omanyte.aif differ diff --git a/sound/direct_sound_samples/cries/omastar.aif b/sound/direct_sound_samples/cries/omastar.aif index 4c110a3fad24..9d4f738efd1a 100644 Binary files a/sound/direct_sound_samples/cries/omastar.aif and b/sound/direct_sound_samples/cries/omastar.aif differ diff --git a/sound/direct_sound_samples/cries/onix.aif b/sound/direct_sound_samples/cries/onix.aif index 2f7c050e8301..6203ce568969 100644 Binary files a/sound/direct_sound_samples/cries/onix.aif and b/sound/direct_sound_samples/cries/onix.aif differ diff --git a/sound/direct_sound_samples/cries/oranguru.aif b/sound/direct_sound_samples/cries/oranguru.aif index feee530798a1..ec919ba93c69 100644 Binary files a/sound/direct_sound_samples/cries/oranguru.aif and b/sound/direct_sound_samples/cries/oranguru.aif differ diff --git a/sound/direct_sound_samples/cries/orbeetle.aif b/sound/direct_sound_samples/cries/orbeetle.aif index e1ede8361a8e..4b99afad159d 100644 Binary files a/sound/direct_sound_samples/cries/orbeetle.aif and b/sound/direct_sound_samples/cries/orbeetle.aif differ diff --git a/sound/direct_sound_samples/cries/oricorio_baile.aif b/sound/direct_sound_samples/cries/oricorio_baile.aif index 9a95eacd4683..c5ec5af19b4a 100644 Binary files a/sound/direct_sound_samples/cries/oricorio_baile.aif and b/sound/direct_sound_samples/cries/oricorio_baile.aif differ diff --git a/sound/direct_sound_samples/cries/oricorio_pau.aif b/sound/direct_sound_samples/cries/oricorio_pau.aif index 69933407e0fe..4faa6cc083c8 100644 Binary files a/sound/direct_sound_samples/cries/oricorio_pau.aif and b/sound/direct_sound_samples/cries/oricorio_pau.aif differ diff --git a/sound/direct_sound_samples/cries/oricorio_sensu.aif b/sound/direct_sound_samples/cries/oricorio_sensu.aif index f9208250b4d3..bdc25a774970 100644 Binary files a/sound/direct_sound_samples/cries/oricorio_sensu.aif and b/sound/direct_sound_samples/cries/oricorio_sensu.aif differ diff --git a/sound/direct_sound_samples/cries/orthworm.aif b/sound/direct_sound_samples/cries/orthworm.aif index a3be4aecc073..f88eec62f097 100644 Binary files a/sound/direct_sound_samples/cries/orthworm.aif and b/sound/direct_sound_samples/cries/orthworm.aif differ diff --git a/sound/direct_sound_samples/cries/oshawott.aif b/sound/direct_sound_samples/cries/oshawott.aif index 87b28da48473..81bf2917ed81 100644 Binary files a/sound/direct_sound_samples/cries/oshawott.aif and b/sound/direct_sound_samples/cries/oshawott.aif differ diff --git a/sound/direct_sound_samples/cries/overqwil.aif b/sound/direct_sound_samples/cries/overqwil.aif index b5428ce9448c..8b9a8a2dffce 100644 Binary files a/sound/direct_sound_samples/cries/overqwil.aif and b/sound/direct_sound_samples/cries/overqwil.aif differ diff --git a/sound/direct_sound_samples/cries/pachirisu.aif b/sound/direct_sound_samples/cries/pachirisu.aif index 7f540482d95a..6471363ee686 100644 Binary files a/sound/direct_sound_samples/cries/pachirisu.aif and b/sound/direct_sound_samples/cries/pachirisu.aif differ diff --git a/sound/direct_sound_samples/cries/palafin_hero.aif b/sound/direct_sound_samples/cries/palafin_hero.aif index ff02e6a0e0e0..5ef87ddeb8d4 100644 Binary files a/sound/direct_sound_samples/cries/palafin_hero.aif and b/sound/direct_sound_samples/cries/palafin_hero.aif differ diff --git a/sound/direct_sound_samples/cries/palafin_zero.aif b/sound/direct_sound_samples/cries/palafin_zero.aif index 3ee6bdb32195..16051848beb8 100644 Binary files a/sound/direct_sound_samples/cries/palafin_zero.aif and b/sound/direct_sound_samples/cries/palafin_zero.aif differ diff --git a/sound/direct_sound_samples/cries/palkia.aif b/sound/direct_sound_samples/cries/palkia.aif index e755ceace0b8..dee52b9a5966 100644 Binary files a/sound/direct_sound_samples/cries/palkia.aif and b/sound/direct_sound_samples/cries/palkia.aif differ diff --git a/sound/direct_sound_samples/cries/palossand.aif b/sound/direct_sound_samples/cries/palossand.aif index 028df4fad71f..a4a1da4feeec 100644 Binary files a/sound/direct_sound_samples/cries/palossand.aif and b/sound/direct_sound_samples/cries/palossand.aif differ diff --git a/sound/direct_sound_samples/cries/palpitoad.aif b/sound/direct_sound_samples/cries/palpitoad.aif index a22b007bf0d1..054d2dba0bb1 100644 Binary files a/sound/direct_sound_samples/cries/palpitoad.aif and b/sound/direct_sound_samples/cries/palpitoad.aif differ diff --git a/sound/direct_sound_samples/cries/pancham.aif b/sound/direct_sound_samples/cries/pancham.aif index 581e0a34005b..5a986eddf471 100644 Binary files a/sound/direct_sound_samples/cries/pancham.aif and b/sound/direct_sound_samples/cries/pancham.aif differ diff --git a/sound/direct_sound_samples/cries/pangoro.aif b/sound/direct_sound_samples/cries/pangoro.aif index cdbb8d211180..47f7bcf2d055 100644 Binary files a/sound/direct_sound_samples/cries/pangoro.aif and b/sound/direct_sound_samples/cries/pangoro.aif differ diff --git a/sound/direct_sound_samples/cries/panpour.aif b/sound/direct_sound_samples/cries/panpour.aif index 080e974b09cb..18b65158eb2f 100644 Binary files a/sound/direct_sound_samples/cries/panpour.aif and b/sound/direct_sound_samples/cries/panpour.aif differ diff --git a/sound/direct_sound_samples/cries/pansage.aif b/sound/direct_sound_samples/cries/pansage.aif index f5cd1a8b6ce8..a4d277230f73 100644 Binary files a/sound/direct_sound_samples/cries/pansage.aif and b/sound/direct_sound_samples/cries/pansage.aif differ diff --git a/sound/direct_sound_samples/cries/pansear.aif b/sound/direct_sound_samples/cries/pansear.aif index 204046866e97..4d76d6089cb9 100644 Binary files a/sound/direct_sound_samples/cries/pansear.aif and b/sound/direct_sound_samples/cries/pansear.aif differ diff --git a/sound/direct_sound_samples/cries/paras.aif b/sound/direct_sound_samples/cries/paras.aif index a865d25b6866..fbfbfaf07b18 100644 Binary files a/sound/direct_sound_samples/cries/paras.aif and b/sound/direct_sound_samples/cries/paras.aif differ diff --git a/sound/direct_sound_samples/cries/parasect.aif b/sound/direct_sound_samples/cries/parasect.aif index 0e3338a603a2..1251cbabefb8 100644 Binary files a/sound/direct_sound_samples/cries/parasect.aif and b/sound/direct_sound_samples/cries/parasect.aif differ diff --git a/sound/direct_sound_samples/cries/passimian.aif b/sound/direct_sound_samples/cries/passimian.aif index 0aab355729be..ac824012e5f6 100644 Binary files a/sound/direct_sound_samples/cries/passimian.aif and b/sound/direct_sound_samples/cries/passimian.aif differ diff --git a/sound/direct_sound_samples/cries/patrat.aif b/sound/direct_sound_samples/cries/patrat.aif index 1bfddd3f9f44..f1e17939ab10 100644 Binary files a/sound/direct_sound_samples/cries/patrat.aif and b/sound/direct_sound_samples/cries/patrat.aif differ diff --git a/sound/direct_sound_samples/cries/pawmot.aif b/sound/direct_sound_samples/cries/pawmot.aif index 6175b505423a..40ad2d5bf27b 100644 Binary files a/sound/direct_sound_samples/cries/pawmot.aif and b/sound/direct_sound_samples/cries/pawmot.aif differ diff --git a/sound/direct_sound_samples/cries/pawniard.aif b/sound/direct_sound_samples/cries/pawniard.aif index db95da2044cc..61968928374f 100644 Binary files a/sound/direct_sound_samples/cries/pawniard.aif and b/sound/direct_sound_samples/cries/pawniard.aif differ diff --git a/sound/direct_sound_samples/cries/pelipper.aif b/sound/direct_sound_samples/cries/pelipper.aif index efe9f28ec211..64a008036064 100644 Binary files a/sound/direct_sound_samples/cries/pelipper.aif and b/sound/direct_sound_samples/cries/pelipper.aif differ diff --git a/sound/direct_sound_samples/cries/persian.aif b/sound/direct_sound_samples/cries/persian.aif index 2b46dffd21b9..d87fe2cbe1d1 100644 Binary files a/sound/direct_sound_samples/cries/persian.aif and b/sound/direct_sound_samples/cries/persian.aif differ diff --git a/sound/direct_sound_samples/cries/petilil.aif b/sound/direct_sound_samples/cries/petilil.aif index ce243e499ef2..6252c7624704 100644 Binary files a/sound/direct_sound_samples/cries/petilil.aif and b/sound/direct_sound_samples/cries/petilil.aif differ diff --git a/sound/direct_sound_samples/cries/phanpy.aif b/sound/direct_sound_samples/cries/phanpy.aif index 6f95e2907861..0c541c3bf155 100644 Binary files a/sound/direct_sound_samples/cries/phanpy.aif and b/sound/direct_sound_samples/cries/phanpy.aif differ diff --git a/sound/direct_sound_samples/cries/phantump.aif b/sound/direct_sound_samples/cries/phantump.aif index 14951a8acfac..1afccc074c53 100644 Binary files a/sound/direct_sound_samples/cries/phantump.aif and b/sound/direct_sound_samples/cries/phantump.aif differ diff --git a/sound/direct_sound_samples/cries/pheromosa.aif b/sound/direct_sound_samples/cries/pheromosa.aif index b4093eb594bb..bcf57050d3e6 100644 Binary files a/sound/direct_sound_samples/cries/pheromosa.aif and b/sound/direct_sound_samples/cries/pheromosa.aif differ diff --git a/sound/direct_sound_samples/cries/phione.aif b/sound/direct_sound_samples/cries/phione.aif index ee295292d972..ba31bd9a5d6d 100644 Binary files a/sound/direct_sound_samples/cries/phione.aif and b/sound/direct_sound_samples/cries/phione.aif differ diff --git a/sound/direct_sound_samples/cries/pichu.aif b/sound/direct_sound_samples/cries/pichu.aif index 6ef7547f9fb8..a0cff3f6f388 100644 Binary files a/sound/direct_sound_samples/cries/pichu.aif and b/sound/direct_sound_samples/cries/pichu.aif differ diff --git a/sound/direct_sound_samples/cries/pidgeot.aif b/sound/direct_sound_samples/cries/pidgeot.aif index 2e29607ad0dd..67f49406a94a 100644 Binary files a/sound/direct_sound_samples/cries/pidgeot.aif and b/sound/direct_sound_samples/cries/pidgeot.aif differ diff --git a/sound/direct_sound_samples/cries/pidgeot_mega.aif b/sound/direct_sound_samples/cries/pidgeot_mega.aif index 89b846a1cc3b..a1639ba4e913 100644 Binary files a/sound/direct_sound_samples/cries/pidgeot_mega.aif and b/sound/direct_sound_samples/cries/pidgeot_mega.aif differ diff --git a/sound/direct_sound_samples/cries/pidgeotto.aif b/sound/direct_sound_samples/cries/pidgeotto.aif index 102e3afb5cee..f31d3df8cf8b 100644 Binary files a/sound/direct_sound_samples/cries/pidgeotto.aif and b/sound/direct_sound_samples/cries/pidgeotto.aif differ diff --git a/sound/direct_sound_samples/cries/pidgey.aif b/sound/direct_sound_samples/cries/pidgey.aif index 14d8284b976f..3b4b6ece2757 100644 Binary files a/sound/direct_sound_samples/cries/pidgey.aif and b/sound/direct_sound_samples/cries/pidgey.aif differ diff --git a/sound/direct_sound_samples/cries/pidove.aif b/sound/direct_sound_samples/cries/pidove.aif index faec9a046c22..b2bd5590bc8d 100644 Binary files a/sound/direct_sound_samples/cries/pidove.aif and b/sound/direct_sound_samples/cries/pidove.aif differ diff --git a/sound/direct_sound_samples/cries/pignite.aif b/sound/direct_sound_samples/cries/pignite.aif index 3cb8d0a850ef..8e1f78ae2f3e 100644 Binary files a/sound/direct_sound_samples/cries/pignite.aif and b/sound/direct_sound_samples/cries/pignite.aif differ diff --git a/sound/direct_sound_samples/cries/pikachu.aif b/sound/direct_sound_samples/cries/pikachu.aif index 30c770165947..4a7b27024562 100644 Binary files a/sound/direct_sound_samples/cries/pikachu.aif and b/sound/direct_sound_samples/cries/pikachu.aif differ diff --git a/sound/direct_sound_samples/cries/pikipek.aif b/sound/direct_sound_samples/cries/pikipek.aif index ee55aca4cefd..04efe56a4cb7 100644 Binary files a/sound/direct_sound_samples/cries/pikipek.aif and b/sound/direct_sound_samples/cries/pikipek.aif differ diff --git a/sound/direct_sound_samples/cries/piloswine.aif b/sound/direct_sound_samples/cries/piloswine.aif index 6b6fd0a2d4c2..2511d3fd701b 100644 Binary files a/sound/direct_sound_samples/cries/piloswine.aif and b/sound/direct_sound_samples/cries/piloswine.aif differ diff --git a/sound/direct_sound_samples/cries/pineco.aif b/sound/direct_sound_samples/cries/pineco.aif index 6f02c13690d9..acb6de8a0c67 100644 Binary files a/sound/direct_sound_samples/cries/pineco.aif and b/sound/direct_sound_samples/cries/pineco.aif differ diff --git a/sound/direct_sound_samples/cries/pinsir.aif b/sound/direct_sound_samples/cries/pinsir.aif index 995999b6849a..bfbb268d68ce 100644 Binary files a/sound/direct_sound_samples/cries/pinsir.aif and b/sound/direct_sound_samples/cries/pinsir.aif differ diff --git a/sound/direct_sound_samples/cries/pinsir_mega.aif b/sound/direct_sound_samples/cries/pinsir_mega.aif index f6f2b6649f95..c2e57d2a39ea 100644 Binary files a/sound/direct_sound_samples/cries/pinsir_mega.aif and b/sound/direct_sound_samples/cries/pinsir_mega.aif differ diff --git a/sound/direct_sound_samples/cries/piplup.aif b/sound/direct_sound_samples/cries/piplup.aif index 1f7da9b20812..e8c161eb3518 100644 Binary files a/sound/direct_sound_samples/cries/piplup.aif and b/sound/direct_sound_samples/cries/piplup.aif differ diff --git a/sound/direct_sound_samples/cries/plusle.aif b/sound/direct_sound_samples/cries/plusle.aif index 2c023697f64d..e584201a8f38 100644 Binary files a/sound/direct_sound_samples/cries/plusle.aif and b/sound/direct_sound_samples/cries/plusle.aif differ diff --git a/sound/direct_sound_samples/cries/poipole.aif b/sound/direct_sound_samples/cries/poipole.aif index b9f9fce1d065..c2a141ac85ef 100644 Binary files a/sound/direct_sound_samples/cries/poipole.aif and b/sound/direct_sound_samples/cries/poipole.aif differ diff --git a/sound/direct_sound_samples/cries/politoed.aif b/sound/direct_sound_samples/cries/politoed.aif index 75e7f20efeba..2739c2a4282d 100644 Binary files a/sound/direct_sound_samples/cries/politoed.aif and b/sound/direct_sound_samples/cries/politoed.aif differ diff --git a/sound/direct_sound_samples/cries/poliwag.aif b/sound/direct_sound_samples/cries/poliwag.aif index f4ee1617450b..d76e2094953e 100644 Binary files a/sound/direct_sound_samples/cries/poliwag.aif and b/sound/direct_sound_samples/cries/poliwag.aif differ diff --git a/sound/direct_sound_samples/cries/poliwhirl.aif b/sound/direct_sound_samples/cries/poliwhirl.aif index 31ffeb044d66..4aee053d7f8f 100644 Binary files a/sound/direct_sound_samples/cries/poliwhirl.aif and b/sound/direct_sound_samples/cries/poliwhirl.aif differ diff --git a/sound/direct_sound_samples/cries/poliwrath.aif b/sound/direct_sound_samples/cries/poliwrath.aif index ba1aac528d66..bb9d78f3c39f 100644 Binary files a/sound/direct_sound_samples/cries/poliwrath.aif and b/sound/direct_sound_samples/cries/poliwrath.aif differ diff --git a/sound/direct_sound_samples/cries/poltchageist.aif b/sound/direct_sound_samples/cries/poltchageist.aif index d861a0022b4a..855eb010cebf 100644 Binary files a/sound/direct_sound_samples/cries/poltchageist.aif and b/sound/direct_sound_samples/cries/poltchageist.aif differ diff --git a/sound/direct_sound_samples/cries/ponyta.aif b/sound/direct_sound_samples/cries/ponyta.aif index 121dbb39487d..ec66a33faf46 100644 Binary files a/sound/direct_sound_samples/cries/ponyta.aif and b/sound/direct_sound_samples/cries/ponyta.aif differ diff --git a/sound/direct_sound_samples/cries/poochyena.aif b/sound/direct_sound_samples/cries/poochyena.aif index d7bad7c909cc..bfa6a00ae20a 100644 Binary files a/sound/direct_sound_samples/cries/poochyena.aif and b/sound/direct_sound_samples/cries/poochyena.aif differ diff --git a/sound/direct_sound_samples/cries/popplio.aif b/sound/direct_sound_samples/cries/popplio.aif index 4b5571a17cba..cbb3a0ff30e0 100644 Binary files a/sound/direct_sound_samples/cries/popplio.aif and b/sound/direct_sound_samples/cries/popplio.aif differ diff --git a/sound/direct_sound_samples/cries/porygon.aif b/sound/direct_sound_samples/cries/porygon.aif index 9179a9d7545e..79160cdbbb45 100644 Binary files a/sound/direct_sound_samples/cries/porygon.aif and b/sound/direct_sound_samples/cries/porygon.aif differ diff --git a/sound/direct_sound_samples/cries/porygon2.aif b/sound/direct_sound_samples/cries/porygon2.aif index 2e6ae0b1f207..94237057b1ab 100644 Binary files a/sound/direct_sound_samples/cries/porygon2.aif and b/sound/direct_sound_samples/cries/porygon2.aif differ diff --git a/sound/direct_sound_samples/cries/porygon_z.aif b/sound/direct_sound_samples/cries/porygon_z.aif index d969b5f1d4d1..55448d13c056 100644 Binary files a/sound/direct_sound_samples/cries/porygon_z.aif and b/sound/direct_sound_samples/cries/porygon_z.aif differ diff --git a/sound/direct_sound_samples/cries/primarina.aif b/sound/direct_sound_samples/cries/primarina.aif index c5161df5f169..7952fda82e79 100644 Binary files a/sound/direct_sound_samples/cries/primarina.aif and b/sound/direct_sound_samples/cries/primarina.aif differ diff --git a/sound/direct_sound_samples/cries/primeape.aif b/sound/direct_sound_samples/cries/primeape.aif index ef53c2146171..35898bf2e64e 100644 Binary files a/sound/direct_sound_samples/cries/primeape.aif and b/sound/direct_sound_samples/cries/primeape.aif differ diff --git a/sound/direct_sound_samples/cries/prinplup.aif b/sound/direct_sound_samples/cries/prinplup.aif index 2550fd01c691..62311c1cbf2c 100644 Binary files a/sound/direct_sound_samples/cries/prinplup.aif and b/sound/direct_sound_samples/cries/prinplup.aif differ diff --git a/sound/direct_sound_samples/cries/probopass.aif b/sound/direct_sound_samples/cries/probopass.aif index a8307da81a4a..ac831dbf2032 100644 Binary files a/sound/direct_sound_samples/cries/probopass.aif and b/sound/direct_sound_samples/cries/probopass.aif differ diff --git a/sound/direct_sound_samples/cries/psyduck.aif b/sound/direct_sound_samples/cries/psyduck.aif index 881b55b60b84..e99270f05fd4 100644 Binary files a/sound/direct_sound_samples/cries/psyduck.aif and b/sound/direct_sound_samples/cries/psyduck.aif differ diff --git a/sound/direct_sound_samples/cries/pumpkaboo.aif b/sound/direct_sound_samples/cries/pumpkaboo.aif index 5f7d92b4bdb6..6960875e58b8 100644 Binary files a/sound/direct_sound_samples/cries/pumpkaboo.aif and b/sound/direct_sound_samples/cries/pumpkaboo.aif differ diff --git a/sound/direct_sound_samples/cries/pumpkaboo_super.aif b/sound/direct_sound_samples/cries/pumpkaboo_super.aif index 11d1ebf22335..f6c7500f68ab 100644 Binary files a/sound/direct_sound_samples/cries/pumpkaboo_super.aif and b/sound/direct_sound_samples/cries/pumpkaboo_super.aif differ diff --git a/sound/direct_sound_samples/cries/pupitar.aif b/sound/direct_sound_samples/cries/pupitar.aif index dbbe3bbaf041..eb4674d5214c 100644 Binary files a/sound/direct_sound_samples/cries/pupitar.aif and b/sound/direct_sound_samples/cries/pupitar.aif differ diff --git a/sound/direct_sound_samples/cries/purrloin.aif b/sound/direct_sound_samples/cries/purrloin.aif index 23791edb2b83..ceb00874c529 100644 Binary files a/sound/direct_sound_samples/cries/purrloin.aif and b/sound/direct_sound_samples/cries/purrloin.aif differ diff --git a/sound/direct_sound_samples/cries/purugly.aif b/sound/direct_sound_samples/cries/purugly.aif index d06f74fa5a3a..9f6460a63078 100644 Binary files a/sound/direct_sound_samples/cries/purugly.aif and b/sound/direct_sound_samples/cries/purugly.aif differ diff --git a/sound/direct_sound_samples/cries/pyroar.aif b/sound/direct_sound_samples/cries/pyroar.aif index d54a45de0b32..7bf77d50cb6e 100644 Binary files a/sound/direct_sound_samples/cries/pyroar.aif and b/sound/direct_sound_samples/cries/pyroar.aif differ diff --git a/sound/direct_sound_samples/cries/pyukumuku.aif b/sound/direct_sound_samples/cries/pyukumuku.aif index 1a8f25b1116f..ad1d740c31d4 100644 Binary files a/sound/direct_sound_samples/cries/pyukumuku.aif and b/sound/direct_sound_samples/cries/pyukumuku.aif differ diff --git a/sound/direct_sound_samples/cries/quagsire.aif b/sound/direct_sound_samples/cries/quagsire.aif index 84330f4de54c..7373b6bb0c9c 100644 Binary files a/sound/direct_sound_samples/cries/quagsire.aif and b/sound/direct_sound_samples/cries/quagsire.aif differ diff --git a/sound/direct_sound_samples/cries/quilava.aif b/sound/direct_sound_samples/cries/quilava.aif index 7b3e35ffb584..40d3db5594d4 100644 Binary files a/sound/direct_sound_samples/cries/quilava.aif and b/sound/direct_sound_samples/cries/quilava.aif differ diff --git a/sound/direct_sound_samples/cries/quilladin.aif b/sound/direct_sound_samples/cries/quilladin.aif index 9a4ca6e1f723..9b6dfabdc603 100644 Binary files a/sound/direct_sound_samples/cries/quilladin.aif and b/sound/direct_sound_samples/cries/quilladin.aif differ diff --git a/sound/direct_sound_samples/cries/qwilfish.aif b/sound/direct_sound_samples/cries/qwilfish.aif index 59d4c6db4492..a5a56480f18d 100644 Binary files a/sound/direct_sound_samples/cries/qwilfish.aif and b/sound/direct_sound_samples/cries/qwilfish.aif differ diff --git a/sound/direct_sound_samples/cries/rabsca.aif b/sound/direct_sound_samples/cries/rabsca.aif index 9d36d01cdca5..5665f798656a 100644 Binary files a/sound/direct_sound_samples/cries/rabsca.aif and b/sound/direct_sound_samples/cries/rabsca.aif differ diff --git a/sound/direct_sound_samples/cries/raichu.aif b/sound/direct_sound_samples/cries/raichu.aif index b8ed0d4b3776..001dcba62708 100644 Binary files a/sound/direct_sound_samples/cries/raichu.aif and b/sound/direct_sound_samples/cries/raichu.aif differ diff --git a/sound/direct_sound_samples/cries/raikou.aif b/sound/direct_sound_samples/cries/raikou.aif index 941cfca0f1ed..ac1e84669110 100644 Binary files a/sound/direct_sound_samples/cries/raikou.aif and b/sound/direct_sound_samples/cries/raikou.aif differ diff --git a/sound/direct_sound_samples/cries/ralts.aif b/sound/direct_sound_samples/cries/ralts.aif index de75400e15c4..660438548c8b 100644 Binary files a/sound/direct_sound_samples/cries/ralts.aif and b/sound/direct_sound_samples/cries/ralts.aif differ diff --git a/sound/direct_sound_samples/cries/rampardos.aif b/sound/direct_sound_samples/cries/rampardos.aif index 7134c57dd63a..edec1aac4f34 100644 Binary files a/sound/direct_sound_samples/cries/rampardos.aif and b/sound/direct_sound_samples/cries/rampardos.aif differ diff --git a/sound/direct_sound_samples/cries/rapidash.aif b/sound/direct_sound_samples/cries/rapidash.aif index 2dd536735b6f..c070475d183d 100644 Binary files a/sound/direct_sound_samples/cries/rapidash.aif and b/sound/direct_sound_samples/cries/rapidash.aif differ diff --git a/sound/direct_sound_samples/cries/raticate.aif b/sound/direct_sound_samples/cries/raticate.aif index f7d60550261b..fd726b655f33 100644 Binary files a/sound/direct_sound_samples/cries/raticate.aif and b/sound/direct_sound_samples/cries/raticate.aif differ diff --git a/sound/direct_sound_samples/cries/rattata.aif b/sound/direct_sound_samples/cries/rattata.aif index 73d2a718bc89..af6a4f246822 100644 Binary files a/sound/direct_sound_samples/cries/rattata.aif and b/sound/direct_sound_samples/cries/rattata.aif differ diff --git a/sound/direct_sound_samples/cries/rayquaza.aif b/sound/direct_sound_samples/cries/rayquaza.aif index 41fb48561dcf..ba7a73c7eece 100644 Binary files a/sound/direct_sound_samples/cries/rayquaza.aif and b/sound/direct_sound_samples/cries/rayquaza.aif differ diff --git a/sound/direct_sound_samples/cries/regice.aif b/sound/direct_sound_samples/cries/regice.aif index 488f06aa6c72..812737a80575 100644 Binary files a/sound/direct_sound_samples/cries/regice.aif and b/sound/direct_sound_samples/cries/regice.aif differ diff --git a/sound/direct_sound_samples/cries/regidrago.aif b/sound/direct_sound_samples/cries/regidrago.aif index ea725dfab5f3..d67dbe0ce3a5 100644 Binary files a/sound/direct_sound_samples/cries/regidrago.aif and b/sound/direct_sound_samples/cries/regidrago.aif differ diff --git a/sound/direct_sound_samples/cries/regigigas.aif b/sound/direct_sound_samples/cries/regigigas.aif index 87ba6eda574d..9de9e451d832 100644 Binary files a/sound/direct_sound_samples/cries/regigigas.aif and b/sound/direct_sound_samples/cries/regigigas.aif differ diff --git a/sound/direct_sound_samples/cries/regirock.aif b/sound/direct_sound_samples/cries/regirock.aif index 7540aa5860c0..b9c294809599 100644 Binary files a/sound/direct_sound_samples/cries/regirock.aif and b/sound/direct_sound_samples/cries/regirock.aif differ diff --git a/sound/direct_sound_samples/cries/registeel.aif b/sound/direct_sound_samples/cries/registeel.aif index 95e783ff4ba2..5afe87279e47 100644 Binary files a/sound/direct_sound_samples/cries/registeel.aif and b/sound/direct_sound_samples/cries/registeel.aif differ diff --git a/sound/direct_sound_samples/cries/relicanth.aif b/sound/direct_sound_samples/cries/relicanth.aif index 6af29ea3d130..a9c2b69e607e 100644 Binary files a/sound/direct_sound_samples/cries/relicanth.aif and b/sound/direct_sound_samples/cries/relicanth.aif differ diff --git a/sound/direct_sound_samples/cries/remoraid.aif b/sound/direct_sound_samples/cries/remoraid.aif index 5016ec78132e..f879cf28350e 100644 Binary files a/sound/direct_sound_samples/cries/remoraid.aif and b/sound/direct_sound_samples/cries/remoraid.aif differ diff --git a/sound/direct_sound_samples/cries/reshiram.aif b/sound/direct_sound_samples/cries/reshiram.aif index e8e187d65cc1..870d3cf515d8 100644 Binary files a/sound/direct_sound_samples/cries/reshiram.aif and b/sound/direct_sound_samples/cries/reshiram.aif differ diff --git a/sound/direct_sound_samples/cries/reuniclus.aif b/sound/direct_sound_samples/cries/reuniclus.aif index 75d92858c498..ab22f0f97e5f 100644 Binary files a/sound/direct_sound_samples/cries/reuniclus.aif and b/sound/direct_sound_samples/cries/reuniclus.aif differ diff --git a/sound/direct_sound_samples/cries/revavroom.aif b/sound/direct_sound_samples/cries/revavroom.aif index 731e2496c7c0..e52bf1c6fe7b 100644 Binary files a/sound/direct_sound_samples/cries/revavroom.aif and b/sound/direct_sound_samples/cries/revavroom.aif differ diff --git a/sound/direct_sound_samples/cries/rhydon.aif b/sound/direct_sound_samples/cries/rhydon.aif index 7e862c560c65..c02623703d4c 100644 Binary files a/sound/direct_sound_samples/cries/rhydon.aif and b/sound/direct_sound_samples/cries/rhydon.aif differ diff --git a/sound/direct_sound_samples/cries/rhyhorn.aif b/sound/direct_sound_samples/cries/rhyhorn.aif index f1eac45f0874..9a80e08f0163 100644 Binary files a/sound/direct_sound_samples/cries/rhyhorn.aif and b/sound/direct_sound_samples/cries/rhyhorn.aif differ diff --git a/sound/direct_sound_samples/cries/rhyperior.aif b/sound/direct_sound_samples/cries/rhyperior.aif index 1cc41c14c2bb..210a7c8fd3f2 100644 Binary files a/sound/direct_sound_samples/cries/rhyperior.aif and b/sound/direct_sound_samples/cries/rhyperior.aif differ diff --git a/sound/direct_sound_samples/cries/ribombee.aif b/sound/direct_sound_samples/cries/ribombee.aif index e5110c80b840..fb7dcd1f87ca 100644 Binary files a/sound/direct_sound_samples/cries/ribombee.aif and b/sound/direct_sound_samples/cries/ribombee.aif differ diff --git a/sound/direct_sound_samples/cries/rillaboom.aif b/sound/direct_sound_samples/cries/rillaboom.aif index c6a8b8932d76..f7e4624e8807 100644 Binary files a/sound/direct_sound_samples/cries/rillaboom.aif and b/sound/direct_sound_samples/cries/rillaboom.aif differ diff --git a/sound/direct_sound_samples/cries/riolu.aif b/sound/direct_sound_samples/cries/riolu.aif index c8fcaf0345da..cd25b09faf4f 100644 Binary files a/sound/direct_sound_samples/cries/riolu.aif and b/sound/direct_sound_samples/cries/riolu.aif differ diff --git a/sound/direct_sound_samples/cries/rockruff.aif b/sound/direct_sound_samples/cries/rockruff.aif index e0a5ffa7c072..90f6bed36b2d 100644 Binary files a/sound/direct_sound_samples/cries/rockruff.aif and b/sound/direct_sound_samples/cries/rockruff.aif differ diff --git a/sound/direct_sound_samples/cries/roggenrola.aif b/sound/direct_sound_samples/cries/roggenrola.aif index c4764dc82bf0..8f2f7c8fa0d3 100644 Binary files a/sound/direct_sound_samples/cries/roggenrola.aif and b/sound/direct_sound_samples/cries/roggenrola.aif differ diff --git a/sound/direct_sound_samples/cries/rookidee.aif b/sound/direct_sound_samples/cries/rookidee.aif index 036d3e2f1718..6fba48730a5a 100644 Binary files a/sound/direct_sound_samples/cries/rookidee.aif and b/sound/direct_sound_samples/cries/rookidee.aif differ diff --git a/sound/direct_sound_samples/cries/roselia.aif b/sound/direct_sound_samples/cries/roselia.aif index 146771f8ce5f..c6c53f3c1f8d 100644 Binary files a/sound/direct_sound_samples/cries/roselia.aif and b/sound/direct_sound_samples/cries/roselia.aif differ diff --git a/sound/direct_sound_samples/cries/roserade.aif b/sound/direct_sound_samples/cries/roserade.aif index 00a9430f2d5b..7c9de96a0e1c 100644 Binary files a/sound/direct_sound_samples/cries/roserade.aif and b/sound/direct_sound_samples/cries/roserade.aif differ diff --git a/sound/direct_sound_samples/cries/rotom.aif b/sound/direct_sound_samples/cries/rotom.aif index 41468228d1cb..81080115c2ee 100644 Binary files a/sound/direct_sound_samples/cries/rotom.aif and b/sound/direct_sound_samples/cries/rotom.aif differ diff --git a/sound/direct_sound_samples/cries/rowlet.aif b/sound/direct_sound_samples/cries/rowlet.aif index e14b229c210b..c201336015f3 100644 Binary files a/sound/direct_sound_samples/cries/rowlet.aif and b/sound/direct_sound_samples/cries/rowlet.aif differ diff --git a/sound/direct_sound_samples/cries/rufflet.aif b/sound/direct_sound_samples/cries/rufflet.aif index 2aff67b5cf6a..b7cc6cab12eb 100644 Binary files a/sound/direct_sound_samples/cries/rufflet.aif and b/sound/direct_sound_samples/cries/rufflet.aif differ diff --git a/sound/direct_sound_samples/cries/sableye.aif b/sound/direct_sound_samples/cries/sableye.aif index fb31e329d129..885a3b0b35c3 100644 Binary files a/sound/direct_sound_samples/cries/sableye.aif and b/sound/direct_sound_samples/cries/sableye.aif differ diff --git a/sound/direct_sound_samples/cries/sableye_mega.aif b/sound/direct_sound_samples/cries/sableye_mega.aif index 47d4a869ec00..7f869cd7b813 100644 Binary files a/sound/direct_sound_samples/cries/sableye_mega.aif and b/sound/direct_sound_samples/cries/sableye_mega.aif differ diff --git a/sound/direct_sound_samples/cries/salamence.aif b/sound/direct_sound_samples/cries/salamence.aif index 6a2d63ca5b16..f733e098dd9a 100644 Binary files a/sound/direct_sound_samples/cries/salamence.aif and b/sound/direct_sound_samples/cries/salamence.aif differ diff --git a/sound/direct_sound_samples/cries/salandit.aif b/sound/direct_sound_samples/cries/salandit.aif index 23872d7c0e23..90de8f0573a5 100644 Binary files a/sound/direct_sound_samples/cries/salandit.aif and b/sound/direct_sound_samples/cries/salandit.aif differ diff --git a/sound/direct_sound_samples/cries/salazzle.aif b/sound/direct_sound_samples/cries/salazzle.aif index 427bf8905af8..7447bfc0bf15 100644 Binary files a/sound/direct_sound_samples/cries/salazzle.aif and b/sound/direct_sound_samples/cries/salazzle.aif differ diff --git a/sound/direct_sound_samples/cries/samurott.aif b/sound/direct_sound_samples/cries/samurott.aif index 96691f6459d5..fc8aa1c7c8cf 100644 Binary files a/sound/direct_sound_samples/cries/samurott.aif and b/sound/direct_sound_samples/cries/samurott.aif differ diff --git a/sound/direct_sound_samples/cries/sandaconda.aif b/sound/direct_sound_samples/cries/sandaconda.aif index 13dd2b5ec246..3fd1b08d960d 100644 Binary files a/sound/direct_sound_samples/cries/sandaconda.aif and b/sound/direct_sound_samples/cries/sandaconda.aif differ diff --git a/sound/direct_sound_samples/cries/sandile.aif b/sound/direct_sound_samples/cries/sandile.aif index 9e52575b7cd0..316b66aec954 100644 Binary files a/sound/direct_sound_samples/cries/sandile.aif and b/sound/direct_sound_samples/cries/sandile.aif differ diff --git a/sound/direct_sound_samples/cries/sandshrew.aif b/sound/direct_sound_samples/cries/sandshrew.aif index b9a73351b6c1..02dd3c11822a 100644 Binary files a/sound/direct_sound_samples/cries/sandshrew.aif and b/sound/direct_sound_samples/cries/sandshrew.aif differ diff --git a/sound/direct_sound_samples/cries/sandslash.aif b/sound/direct_sound_samples/cries/sandslash.aif index 29950ff0ca84..59304e2dfea9 100644 Binary files a/sound/direct_sound_samples/cries/sandslash.aif and b/sound/direct_sound_samples/cries/sandslash.aif differ diff --git a/sound/direct_sound_samples/cries/sandygast.aif b/sound/direct_sound_samples/cries/sandygast.aif index 330cf75551d7..b99472bbaf34 100644 Binary files a/sound/direct_sound_samples/cries/sandygast.aif and b/sound/direct_sound_samples/cries/sandygast.aif differ diff --git a/sound/direct_sound_samples/cries/sawk.aif b/sound/direct_sound_samples/cries/sawk.aif index ebfe11e4a825..c040994edcde 100644 Binary files a/sound/direct_sound_samples/cries/sawk.aif and b/sound/direct_sound_samples/cries/sawk.aif differ diff --git a/sound/direct_sound_samples/cries/sawsbuck.aif b/sound/direct_sound_samples/cries/sawsbuck.aif index 745d3761d31f..9dcc4f927c8f 100644 Binary files a/sound/direct_sound_samples/cries/sawsbuck.aif and b/sound/direct_sound_samples/cries/sawsbuck.aif differ diff --git a/sound/direct_sound_samples/cries/scatterbug.aif b/sound/direct_sound_samples/cries/scatterbug.aif index 9fba052198bb..c553fb4771ab 100644 Binary files a/sound/direct_sound_samples/cries/scatterbug.aif and b/sound/direct_sound_samples/cries/scatterbug.aif differ diff --git a/sound/direct_sound_samples/cries/sceptile.aif b/sound/direct_sound_samples/cries/sceptile.aif index 6c8820d17ee0..c460e445d513 100644 Binary files a/sound/direct_sound_samples/cries/sceptile.aif and b/sound/direct_sound_samples/cries/sceptile.aif differ diff --git a/sound/direct_sound_samples/cries/scizor.aif b/sound/direct_sound_samples/cries/scizor.aif index 87305f608d4c..eb423f61ddc1 100644 Binary files a/sound/direct_sound_samples/cries/scizor.aif and b/sound/direct_sound_samples/cries/scizor.aif differ diff --git a/sound/direct_sound_samples/cries/scolipede.aif b/sound/direct_sound_samples/cries/scolipede.aif index 687402d8cafe..0372641b70b6 100644 Binary files a/sound/direct_sound_samples/cries/scolipede.aif and b/sound/direct_sound_samples/cries/scolipede.aif differ diff --git a/sound/direct_sound_samples/cries/scorbunny.aif b/sound/direct_sound_samples/cries/scorbunny.aif index 120dd0f88898..c0963bbc1cca 100644 Binary files a/sound/direct_sound_samples/cries/scorbunny.aif and b/sound/direct_sound_samples/cries/scorbunny.aif differ diff --git a/sound/direct_sound_samples/cries/scrafty.aif b/sound/direct_sound_samples/cries/scrafty.aif index 218c897f4aa4..bc351aa3de3d 100644 Binary files a/sound/direct_sound_samples/cries/scrafty.aif and b/sound/direct_sound_samples/cries/scrafty.aif differ diff --git a/sound/direct_sound_samples/cries/scraggy.aif b/sound/direct_sound_samples/cries/scraggy.aif index 5b6958fcafdf..bd836ebc465d 100644 Binary files a/sound/direct_sound_samples/cries/scraggy.aif and b/sound/direct_sound_samples/cries/scraggy.aif differ diff --git a/sound/direct_sound_samples/cries/scyther.aif b/sound/direct_sound_samples/cries/scyther.aif index 441612854d50..88bc85cdbbaf 100644 Binary files a/sound/direct_sound_samples/cries/scyther.aif and b/sound/direct_sound_samples/cries/scyther.aif differ diff --git a/sound/direct_sound_samples/cries/seadra.aif b/sound/direct_sound_samples/cries/seadra.aif index 68bbc8745c72..19852ad2312f 100644 Binary files a/sound/direct_sound_samples/cries/seadra.aif and b/sound/direct_sound_samples/cries/seadra.aif differ diff --git a/sound/direct_sound_samples/cries/seaking.aif b/sound/direct_sound_samples/cries/seaking.aif index e4d56b9b0695..f572ce5dd421 100644 Binary files a/sound/direct_sound_samples/cries/seaking.aif and b/sound/direct_sound_samples/cries/seaking.aif differ diff --git a/sound/direct_sound_samples/cries/sealeo.aif b/sound/direct_sound_samples/cries/sealeo.aif index 9cb4058c8bbf..9a0aedda624e 100644 Binary files a/sound/direct_sound_samples/cries/sealeo.aif and b/sound/direct_sound_samples/cries/sealeo.aif differ diff --git a/sound/direct_sound_samples/cries/seedot.aif b/sound/direct_sound_samples/cries/seedot.aif index 410e98328036..eac082184f33 100644 Binary files a/sound/direct_sound_samples/cries/seedot.aif and b/sound/direct_sound_samples/cries/seedot.aif differ diff --git a/sound/direct_sound_samples/cries/seel.aif b/sound/direct_sound_samples/cries/seel.aif index 927a8fd6c9b2..1cc31998f2df 100644 Binary files a/sound/direct_sound_samples/cries/seel.aif and b/sound/direct_sound_samples/cries/seel.aif differ diff --git a/sound/direct_sound_samples/cries/seismitoad.aif b/sound/direct_sound_samples/cries/seismitoad.aif index 267979cc0bbb..521f9b741b9b 100644 Binary files a/sound/direct_sound_samples/cries/seismitoad.aif and b/sound/direct_sound_samples/cries/seismitoad.aif differ diff --git a/sound/direct_sound_samples/cries/sentret.aif b/sound/direct_sound_samples/cries/sentret.aif index 91b5fc4561c8..ffbce9c7c57d 100644 Binary files a/sound/direct_sound_samples/cries/sentret.aif and b/sound/direct_sound_samples/cries/sentret.aif differ diff --git a/sound/direct_sound_samples/cries/serperior.aif b/sound/direct_sound_samples/cries/serperior.aif index 73ea832cd49f..9a2eb0baadca 100644 Binary files a/sound/direct_sound_samples/cries/serperior.aif and b/sound/direct_sound_samples/cries/serperior.aif differ diff --git a/sound/direct_sound_samples/cries/servine.aif b/sound/direct_sound_samples/cries/servine.aif index aa687c02d6ea..7098f526d9f9 100644 Binary files a/sound/direct_sound_samples/cries/servine.aif and b/sound/direct_sound_samples/cries/servine.aif differ diff --git a/sound/direct_sound_samples/cries/seviper.aif b/sound/direct_sound_samples/cries/seviper.aif index 32b069f068b9..5e3968db6d2a 100644 Binary files a/sound/direct_sound_samples/cries/seviper.aif and b/sound/direct_sound_samples/cries/seviper.aif differ diff --git a/sound/direct_sound_samples/cries/sewaddle.aif b/sound/direct_sound_samples/cries/sewaddle.aif index 9918b44645dc..9a3ac1272149 100644 Binary files a/sound/direct_sound_samples/cries/sewaddle.aif and b/sound/direct_sound_samples/cries/sewaddle.aif differ diff --git a/sound/direct_sound_samples/cries/sharpedo.aif b/sound/direct_sound_samples/cries/sharpedo.aif index 2f01fa058501..b68c24bb812a 100644 Binary files a/sound/direct_sound_samples/cries/sharpedo.aif and b/sound/direct_sound_samples/cries/sharpedo.aif differ diff --git a/sound/direct_sound_samples/cries/sharpedo_mega.aif b/sound/direct_sound_samples/cries/sharpedo_mega.aif index 454ec15892ea..3fa5b49e9223 100644 Binary files a/sound/direct_sound_samples/cries/sharpedo_mega.aif and b/sound/direct_sound_samples/cries/sharpedo_mega.aif differ diff --git a/sound/direct_sound_samples/cries/shaymin_land.aif b/sound/direct_sound_samples/cries/shaymin_land.aif index f26ff71788a7..ab0c40f156d0 100644 Binary files a/sound/direct_sound_samples/cries/shaymin_land.aif and b/sound/direct_sound_samples/cries/shaymin_land.aif differ diff --git a/sound/direct_sound_samples/cries/shaymin_sky.aif b/sound/direct_sound_samples/cries/shaymin_sky.aif index 3a340b56ec5d..ee3dfa8457f4 100644 Binary files a/sound/direct_sound_samples/cries/shaymin_sky.aif and b/sound/direct_sound_samples/cries/shaymin_sky.aif differ diff --git a/sound/direct_sound_samples/cries/shedinja.aif b/sound/direct_sound_samples/cries/shedinja.aif index ad19071a6527..d891bd382c39 100644 Binary files a/sound/direct_sound_samples/cries/shedinja.aif and b/sound/direct_sound_samples/cries/shedinja.aif differ diff --git a/sound/direct_sound_samples/cries/shelgon.aif b/sound/direct_sound_samples/cries/shelgon.aif index 8df317b3a650..b202dc037625 100644 Binary files a/sound/direct_sound_samples/cries/shelgon.aif and b/sound/direct_sound_samples/cries/shelgon.aif differ diff --git a/sound/direct_sound_samples/cries/shellder.aif b/sound/direct_sound_samples/cries/shellder.aif index 51513ae6a369..3f2df4a82ca5 100644 Binary files a/sound/direct_sound_samples/cries/shellder.aif and b/sound/direct_sound_samples/cries/shellder.aif differ diff --git a/sound/direct_sound_samples/cries/shellos.aif b/sound/direct_sound_samples/cries/shellos.aif index 2f6f095d05da..f59073120229 100644 Binary files a/sound/direct_sound_samples/cries/shellos.aif and b/sound/direct_sound_samples/cries/shellos.aif differ diff --git a/sound/direct_sound_samples/cries/shelmet.aif b/sound/direct_sound_samples/cries/shelmet.aif index b65d435f532c..472b6658c07e 100644 Binary files a/sound/direct_sound_samples/cries/shelmet.aif and b/sound/direct_sound_samples/cries/shelmet.aif differ diff --git a/sound/direct_sound_samples/cries/shieldon.aif b/sound/direct_sound_samples/cries/shieldon.aif index 44b564ccf0b1..5ea98bf1748a 100644 Binary files a/sound/direct_sound_samples/cries/shieldon.aif and b/sound/direct_sound_samples/cries/shieldon.aif differ diff --git a/sound/direct_sound_samples/cries/shiftry.aif b/sound/direct_sound_samples/cries/shiftry.aif index 970d5ef11654..dbc65b749ed5 100644 Binary files a/sound/direct_sound_samples/cries/shiftry.aif and b/sound/direct_sound_samples/cries/shiftry.aif differ diff --git a/sound/direct_sound_samples/cries/shiinotic.aif b/sound/direct_sound_samples/cries/shiinotic.aif index 6d275d9376c7..972aef0769fe 100644 Binary files a/sound/direct_sound_samples/cries/shiinotic.aif and b/sound/direct_sound_samples/cries/shiinotic.aif differ diff --git a/sound/direct_sound_samples/cries/shinx.aif b/sound/direct_sound_samples/cries/shinx.aif index fcdae1cb70b3..08f7ad8a4caf 100644 Binary files a/sound/direct_sound_samples/cries/shinx.aif and b/sound/direct_sound_samples/cries/shinx.aif differ diff --git a/sound/direct_sound_samples/cries/shroomish.aif b/sound/direct_sound_samples/cries/shroomish.aif index 587cf6188270..9c092ae07231 100644 Binary files a/sound/direct_sound_samples/cries/shroomish.aif and b/sound/direct_sound_samples/cries/shroomish.aif differ diff --git a/sound/direct_sound_samples/cries/shuckle.aif b/sound/direct_sound_samples/cries/shuckle.aif index 0844390f9de1..a5523506b571 100644 Binary files a/sound/direct_sound_samples/cries/shuckle.aif and b/sound/direct_sound_samples/cries/shuckle.aif differ diff --git a/sound/direct_sound_samples/cries/shuppet.aif b/sound/direct_sound_samples/cries/shuppet.aif index 642123c46d54..8f48e8b5fd19 100644 Binary files a/sound/direct_sound_samples/cries/shuppet.aif and b/sound/direct_sound_samples/cries/shuppet.aif differ diff --git a/sound/direct_sound_samples/cries/sigilyph.aif b/sound/direct_sound_samples/cries/sigilyph.aif index cce44936cf02..cf84e7dcf9eb 100644 Binary files a/sound/direct_sound_samples/cries/sigilyph.aif and b/sound/direct_sound_samples/cries/sigilyph.aif differ diff --git a/sound/direct_sound_samples/cries/silcoon.aif b/sound/direct_sound_samples/cries/silcoon.aif index b00697830216..89cd186676b6 100644 Binary files a/sound/direct_sound_samples/cries/silcoon.aif and b/sound/direct_sound_samples/cries/silcoon.aif differ diff --git a/sound/direct_sound_samples/cries/silvally.aif b/sound/direct_sound_samples/cries/silvally.aif index eb2e2e225dc1..48856c7d1647 100644 Binary files a/sound/direct_sound_samples/cries/silvally.aif and b/sound/direct_sound_samples/cries/silvally.aif differ diff --git a/sound/direct_sound_samples/cries/simipour.aif b/sound/direct_sound_samples/cries/simipour.aif index 47ac114690cc..91e891b63fbf 100644 Binary files a/sound/direct_sound_samples/cries/simipour.aif and b/sound/direct_sound_samples/cries/simipour.aif differ diff --git a/sound/direct_sound_samples/cries/simisage.aif b/sound/direct_sound_samples/cries/simisage.aif index 0117cf73fc34..944f5ff83101 100644 Binary files a/sound/direct_sound_samples/cries/simisage.aif and b/sound/direct_sound_samples/cries/simisage.aif differ diff --git a/sound/direct_sound_samples/cries/simisear.aif b/sound/direct_sound_samples/cries/simisear.aif index c6f9ec22972a..e3e8eb860aa8 100644 Binary files a/sound/direct_sound_samples/cries/simisear.aif and b/sound/direct_sound_samples/cries/simisear.aif differ diff --git a/sound/direct_sound_samples/cries/skarmory.aif b/sound/direct_sound_samples/cries/skarmory.aif index 10d36503767b..56414862344a 100644 Binary files a/sound/direct_sound_samples/cries/skarmory.aif and b/sound/direct_sound_samples/cries/skarmory.aif differ diff --git a/sound/direct_sound_samples/cries/skiddo.aif b/sound/direct_sound_samples/cries/skiddo.aif index 2e655c797115..5b2dc104f73c 100644 Binary files a/sound/direct_sound_samples/cries/skiddo.aif and b/sound/direct_sound_samples/cries/skiddo.aif differ diff --git a/sound/direct_sound_samples/cries/skiploom.aif b/sound/direct_sound_samples/cries/skiploom.aif index 04c3a438e942..4517e39c7a70 100644 Binary files a/sound/direct_sound_samples/cries/skiploom.aif and b/sound/direct_sound_samples/cries/skiploom.aif differ diff --git a/sound/direct_sound_samples/cries/skitty.aif b/sound/direct_sound_samples/cries/skitty.aif index f200d7fae48a..0f903b53779e 100644 Binary files a/sound/direct_sound_samples/cries/skitty.aif and b/sound/direct_sound_samples/cries/skitty.aif differ diff --git a/sound/direct_sound_samples/cries/skorupi.aif b/sound/direct_sound_samples/cries/skorupi.aif index 22e22b6d42ea..a638cb464532 100644 Binary files a/sound/direct_sound_samples/cries/skorupi.aif and b/sound/direct_sound_samples/cries/skorupi.aif differ diff --git a/sound/direct_sound_samples/cries/skrelp.aif b/sound/direct_sound_samples/cries/skrelp.aif index 4fd1178d9ab0..12bb27c043b2 100644 Binary files a/sound/direct_sound_samples/cries/skrelp.aif and b/sound/direct_sound_samples/cries/skrelp.aif differ diff --git a/sound/direct_sound_samples/cries/skuntank.aif b/sound/direct_sound_samples/cries/skuntank.aif index 90a00511e2ed..354f2af92ca0 100644 Binary files a/sound/direct_sound_samples/cries/skuntank.aif and b/sound/direct_sound_samples/cries/skuntank.aif differ diff --git a/sound/direct_sound_samples/cries/slaking.aif b/sound/direct_sound_samples/cries/slaking.aif index 287b5a3b6b8f..d023af76817e 100644 Binary files a/sound/direct_sound_samples/cries/slaking.aif and b/sound/direct_sound_samples/cries/slaking.aif differ diff --git a/sound/direct_sound_samples/cries/slakoth.aif b/sound/direct_sound_samples/cries/slakoth.aif index 67bc28459641..54248b2d8545 100644 Binary files a/sound/direct_sound_samples/cries/slakoth.aif and b/sound/direct_sound_samples/cries/slakoth.aif differ diff --git a/sound/direct_sound_samples/cries/sliggoo.aif b/sound/direct_sound_samples/cries/sliggoo.aif index f4351dd99972..ed141e69c576 100644 Binary files a/sound/direct_sound_samples/cries/sliggoo.aif and b/sound/direct_sound_samples/cries/sliggoo.aif differ diff --git a/sound/direct_sound_samples/cries/slither_wing.aif b/sound/direct_sound_samples/cries/slither_wing.aif index d61cadb5eb9e..699f74f2f956 100644 Binary files a/sound/direct_sound_samples/cries/slither_wing.aif and b/sound/direct_sound_samples/cries/slither_wing.aif differ diff --git a/sound/direct_sound_samples/cries/slowbro.aif b/sound/direct_sound_samples/cries/slowbro.aif index b7d3821897d8..c3778734e395 100644 Binary files a/sound/direct_sound_samples/cries/slowbro.aif and b/sound/direct_sound_samples/cries/slowbro.aif differ diff --git a/sound/direct_sound_samples/cries/slowking.aif b/sound/direct_sound_samples/cries/slowking.aif index 20008c627059..e135c9e0db95 100644 Binary files a/sound/direct_sound_samples/cries/slowking.aif and b/sound/direct_sound_samples/cries/slowking.aif differ diff --git a/sound/direct_sound_samples/cries/slowpoke.aif b/sound/direct_sound_samples/cries/slowpoke.aif index ab7f5d6bc9f2..e92ed0c20883 100644 Binary files a/sound/direct_sound_samples/cries/slowpoke.aif and b/sound/direct_sound_samples/cries/slowpoke.aif differ diff --git a/sound/direct_sound_samples/cries/slowpoke_galarian.aif b/sound/direct_sound_samples/cries/slowpoke_galar.aif similarity index 99% rename from sound/direct_sound_samples/cries/slowpoke_galarian.aif rename to sound/direct_sound_samples/cries/slowpoke_galar.aif index 2cb7b8a5f383..30251a2e8c7b 100644 Binary files a/sound/direct_sound_samples/cries/slowpoke_galarian.aif and b/sound/direct_sound_samples/cries/slowpoke_galar.aif differ diff --git a/sound/direct_sound_samples/cries/slugma.aif b/sound/direct_sound_samples/cries/slugma.aif index d89032e4dc62..3526b7f6e7bd 100644 Binary files a/sound/direct_sound_samples/cries/slugma.aif and b/sound/direct_sound_samples/cries/slugma.aif differ diff --git a/sound/direct_sound_samples/cries/slurpuff.aif b/sound/direct_sound_samples/cries/slurpuff.aif index c741a553de37..93b59e8e3527 100644 Binary files a/sound/direct_sound_samples/cries/slurpuff.aif and b/sound/direct_sound_samples/cries/slurpuff.aif differ diff --git a/sound/direct_sound_samples/cries/smeargle.aif b/sound/direct_sound_samples/cries/smeargle.aif index f59d7bb8a277..76cc479ccccb 100644 Binary files a/sound/direct_sound_samples/cries/smeargle.aif and b/sound/direct_sound_samples/cries/smeargle.aif differ diff --git a/sound/direct_sound_samples/cries/smoliv.aif b/sound/direct_sound_samples/cries/smoliv.aif index f30f88a1c3b3..44b688aff915 100644 Binary files a/sound/direct_sound_samples/cries/smoliv.aif and b/sound/direct_sound_samples/cries/smoliv.aif differ diff --git a/sound/direct_sound_samples/cries/smoochum.aif b/sound/direct_sound_samples/cries/smoochum.aif index 90253fcc3a59..812586940cfb 100644 Binary files a/sound/direct_sound_samples/cries/smoochum.aif and b/sound/direct_sound_samples/cries/smoochum.aif differ diff --git a/sound/direct_sound_samples/cries/sneasel.aif b/sound/direct_sound_samples/cries/sneasel.aif index ba0e84c044fb..e4bf7129c444 100644 Binary files a/sound/direct_sound_samples/cries/sneasel.aif and b/sound/direct_sound_samples/cries/sneasel.aif differ diff --git a/sound/direct_sound_samples/cries/sneasler.aif b/sound/direct_sound_samples/cries/sneasler.aif index 77b4f99a213f..b8537fef07cf 100644 Binary files a/sound/direct_sound_samples/cries/sneasler.aif and b/sound/direct_sound_samples/cries/sneasler.aif differ diff --git a/sound/direct_sound_samples/cries/snivy.aif b/sound/direct_sound_samples/cries/snivy.aif index f7f9790a168d..cd0335decbd2 100644 Binary files a/sound/direct_sound_samples/cries/snivy.aif and b/sound/direct_sound_samples/cries/snivy.aif differ diff --git a/sound/direct_sound_samples/cries/snom.aif b/sound/direct_sound_samples/cries/snom.aif index 5166e1a3847d..9591fa1d7d60 100644 Binary files a/sound/direct_sound_samples/cries/snom.aif and b/sound/direct_sound_samples/cries/snom.aif differ diff --git a/sound/direct_sound_samples/cries/snorlax.aif b/sound/direct_sound_samples/cries/snorlax.aif index d099fbf70978..d65557c79867 100644 Binary files a/sound/direct_sound_samples/cries/snorlax.aif and b/sound/direct_sound_samples/cries/snorlax.aif differ diff --git a/sound/direct_sound_samples/cries/snorunt.aif b/sound/direct_sound_samples/cries/snorunt.aif index 1c29a200d777..21bae9fc67a7 100644 Binary files a/sound/direct_sound_samples/cries/snorunt.aif and b/sound/direct_sound_samples/cries/snorunt.aif differ diff --git a/sound/direct_sound_samples/cries/snover.aif b/sound/direct_sound_samples/cries/snover.aif index bd4f1a415d5b..d02aceda4cb4 100644 Binary files a/sound/direct_sound_samples/cries/snover.aif and b/sound/direct_sound_samples/cries/snover.aif differ diff --git a/sound/direct_sound_samples/cries/snubbull.aif b/sound/direct_sound_samples/cries/snubbull.aif index ff2e104b9881..5e2ca9adb0da 100644 Binary files a/sound/direct_sound_samples/cries/snubbull.aif and b/sound/direct_sound_samples/cries/snubbull.aif differ diff --git a/sound/direct_sound_samples/cries/solgaleo.aif b/sound/direct_sound_samples/cries/solgaleo.aif index 9f176d6f435e..8cb9ad0cb5a3 100644 Binary files a/sound/direct_sound_samples/cries/solgaleo.aif and b/sound/direct_sound_samples/cries/solgaleo.aif differ diff --git a/sound/direct_sound_samples/cries/solosis.aif b/sound/direct_sound_samples/cries/solosis.aif index 875f608407b2..701424bbd6dc 100644 Binary files a/sound/direct_sound_samples/cries/solosis.aif and b/sound/direct_sound_samples/cries/solosis.aif differ diff --git a/sound/direct_sound_samples/cries/solrock.aif b/sound/direct_sound_samples/cries/solrock.aif index 2dc614c92a50..ed58aeecaec6 100644 Binary files a/sound/direct_sound_samples/cries/solrock.aif and b/sound/direct_sound_samples/cries/solrock.aif differ diff --git a/sound/direct_sound_samples/cries/spearow.aif b/sound/direct_sound_samples/cries/spearow.aif index beb87568ef5b..9fb8d0cc8f10 100644 Binary files a/sound/direct_sound_samples/cries/spearow.aif and b/sound/direct_sound_samples/cries/spearow.aif differ diff --git a/sound/direct_sound_samples/cries/spectrier.aif b/sound/direct_sound_samples/cries/spectrier.aif index 058cc9f8c5c4..a43dc77a6cde 100644 Binary files a/sound/direct_sound_samples/cries/spectrier.aif and b/sound/direct_sound_samples/cries/spectrier.aif differ diff --git a/sound/direct_sound_samples/cries/spewpa.aif b/sound/direct_sound_samples/cries/spewpa.aif index 1a9fce278118..34cd82b98983 100644 Binary files a/sound/direct_sound_samples/cries/spewpa.aif and b/sound/direct_sound_samples/cries/spewpa.aif differ diff --git a/sound/direct_sound_samples/cries/spheal.aif b/sound/direct_sound_samples/cries/spheal.aif index eee9b636c3ed..44d21a97390d 100644 Binary files a/sound/direct_sound_samples/cries/spheal.aif and b/sound/direct_sound_samples/cries/spheal.aif differ diff --git a/sound/direct_sound_samples/cries/spidops.aif b/sound/direct_sound_samples/cries/spidops.aif index e1f2c3271588..626aa0c3f547 100644 Binary files a/sound/direct_sound_samples/cries/spidops.aif and b/sound/direct_sound_samples/cries/spidops.aif differ diff --git a/sound/direct_sound_samples/cries/spinarak.aif b/sound/direct_sound_samples/cries/spinarak.aif index 880e81df6fbe..f49c856acacd 100644 Binary files a/sound/direct_sound_samples/cries/spinarak.aif and b/sound/direct_sound_samples/cries/spinarak.aif differ diff --git a/sound/direct_sound_samples/cries/spinda.aif b/sound/direct_sound_samples/cries/spinda.aif index e5984de5bb28..01914a5d09d3 100644 Binary files a/sound/direct_sound_samples/cries/spinda.aif and b/sound/direct_sound_samples/cries/spinda.aif differ diff --git a/sound/direct_sound_samples/cries/spiritomb.aif b/sound/direct_sound_samples/cries/spiritomb.aif index 2f5621b7c2df..7a504adfb096 100644 Binary files a/sound/direct_sound_samples/cries/spiritomb.aif and b/sound/direct_sound_samples/cries/spiritomb.aif differ diff --git a/sound/direct_sound_samples/cries/spoink.aif b/sound/direct_sound_samples/cries/spoink.aif index af9e1a1ebc9e..102f53d8f1ff 100644 Binary files a/sound/direct_sound_samples/cries/spoink.aif and b/sound/direct_sound_samples/cries/spoink.aif differ diff --git a/sound/direct_sound_samples/cries/sprigatito.aif b/sound/direct_sound_samples/cries/sprigatito.aif index 5d6b5c966d7d..13616f9686e6 100644 Binary files a/sound/direct_sound_samples/cries/sprigatito.aif and b/sound/direct_sound_samples/cries/sprigatito.aif differ diff --git a/sound/direct_sound_samples/cries/spritzee.aif b/sound/direct_sound_samples/cries/spritzee.aif index 9c451c63ff89..3bf2499d72e1 100644 Binary files a/sound/direct_sound_samples/cries/spritzee.aif and b/sound/direct_sound_samples/cries/spritzee.aif differ diff --git a/sound/direct_sound_samples/cries/squawkabilly.aif b/sound/direct_sound_samples/cries/squawkabilly.aif index 140243d8026d..0c88f36f7414 100644 Binary files a/sound/direct_sound_samples/cries/squawkabilly.aif and b/sound/direct_sound_samples/cries/squawkabilly.aif differ diff --git a/sound/direct_sound_samples/cries/squirtle.aif b/sound/direct_sound_samples/cries/squirtle.aif index e570bc18342a..8e6cf8644d18 100644 Binary files a/sound/direct_sound_samples/cries/squirtle.aif and b/sound/direct_sound_samples/cries/squirtle.aif differ diff --git a/sound/direct_sound_samples/cries/stakataka.aif b/sound/direct_sound_samples/cries/stakataka.aif index 41f9336a7442..cabe903b43b4 100644 Binary files a/sound/direct_sound_samples/cries/stakataka.aif and b/sound/direct_sound_samples/cries/stakataka.aif differ diff --git a/sound/direct_sound_samples/cries/stantler.aif b/sound/direct_sound_samples/cries/stantler.aif index 502840a83c9c..231466ebea8d 100644 Binary files a/sound/direct_sound_samples/cries/stantler.aif and b/sound/direct_sound_samples/cries/stantler.aif differ diff --git a/sound/direct_sound_samples/cries/staraptor.aif b/sound/direct_sound_samples/cries/staraptor.aif index 764a9d663929..05ccd1f0246e 100644 Binary files a/sound/direct_sound_samples/cries/staraptor.aif and b/sound/direct_sound_samples/cries/staraptor.aif differ diff --git a/sound/direct_sound_samples/cries/staravia.aif b/sound/direct_sound_samples/cries/staravia.aif index 3326b33006f4..235d14eaf813 100644 Binary files a/sound/direct_sound_samples/cries/staravia.aif and b/sound/direct_sound_samples/cries/staravia.aif differ diff --git a/sound/direct_sound_samples/cries/starly.aif b/sound/direct_sound_samples/cries/starly.aif index 00457fe6a42f..2b0dd3960af4 100644 Binary files a/sound/direct_sound_samples/cries/starly.aif and b/sound/direct_sound_samples/cries/starly.aif differ diff --git a/sound/direct_sound_samples/cries/starmie.aif b/sound/direct_sound_samples/cries/starmie.aif index 3dea58cecbb8..a2daf8680075 100644 Binary files a/sound/direct_sound_samples/cries/starmie.aif and b/sound/direct_sound_samples/cries/starmie.aif differ diff --git a/sound/direct_sound_samples/cries/staryu.aif b/sound/direct_sound_samples/cries/staryu.aif index 60b416a1ccf8..cd0cbc6b2b53 100644 Binary files a/sound/direct_sound_samples/cries/staryu.aif and b/sound/direct_sound_samples/cries/staryu.aif differ diff --git a/sound/direct_sound_samples/cries/steelix.aif b/sound/direct_sound_samples/cries/steelix.aif index 75836d1433db..060cd00be473 100644 Binary files a/sound/direct_sound_samples/cries/steelix.aif and b/sound/direct_sound_samples/cries/steelix.aif differ diff --git a/sound/direct_sound_samples/cries/steenee.aif b/sound/direct_sound_samples/cries/steenee.aif index 27233d2c26d6..54b9df83b76d 100644 Binary files a/sound/direct_sound_samples/cries/steenee.aif and b/sound/direct_sound_samples/cries/steenee.aif differ diff --git a/sound/direct_sound_samples/cries/stoutland.aif b/sound/direct_sound_samples/cries/stoutland.aif index 3175b64767c6..5479323d49d8 100644 Binary files a/sound/direct_sound_samples/cries/stoutland.aif and b/sound/direct_sound_samples/cries/stoutland.aif differ diff --git a/sound/direct_sound_samples/cries/stufful.aif b/sound/direct_sound_samples/cries/stufful.aif index f471a443b34c..abd70624f062 100644 Binary files a/sound/direct_sound_samples/cries/stufful.aif and b/sound/direct_sound_samples/cries/stufful.aif differ diff --git a/sound/direct_sound_samples/cries/stunfisk.aif b/sound/direct_sound_samples/cries/stunfisk.aif index 5dbdb6dc9cf8..3d7f116cfd33 100644 Binary files a/sound/direct_sound_samples/cries/stunfisk.aif and b/sound/direct_sound_samples/cries/stunfisk.aif differ diff --git a/sound/direct_sound_samples/cries/stunky.aif b/sound/direct_sound_samples/cries/stunky.aif index 41923bd96e84..bb9a34bc6254 100644 Binary files a/sound/direct_sound_samples/cries/stunky.aif and b/sound/direct_sound_samples/cries/stunky.aif differ diff --git a/sound/direct_sound_samples/cries/sudowoodo.aif b/sound/direct_sound_samples/cries/sudowoodo.aif index c81a09531baa..64ef66ef0c23 100644 Binary files a/sound/direct_sound_samples/cries/sudowoodo.aif and b/sound/direct_sound_samples/cries/sudowoodo.aif differ diff --git a/sound/direct_sound_samples/cries/suicune.aif b/sound/direct_sound_samples/cries/suicune.aif index 863d4adedc88..10840f92c190 100644 Binary files a/sound/direct_sound_samples/cries/suicune.aif and b/sound/direct_sound_samples/cries/suicune.aif differ diff --git a/sound/direct_sound_samples/cries/sunflora.aif b/sound/direct_sound_samples/cries/sunflora.aif index c14458082570..e64c7ab4e4b7 100644 Binary files a/sound/direct_sound_samples/cries/sunflora.aif and b/sound/direct_sound_samples/cries/sunflora.aif differ diff --git a/sound/direct_sound_samples/cries/sunkern.aif b/sound/direct_sound_samples/cries/sunkern.aif index 54ab4fba5d43..ecead99e9919 100644 Binary files a/sound/direct_sound_samples/cries/sunkern.aif and b/sound/direct_sound_samples/cries/sunkern.aif differ diff --git a/sound/direct_sound_samples/cries/surskit.aif b/sound/direct_sound_samples/cries/surskit.aif index 9898e58f1e8c..445daa612950 100644 Binary files a/sound/direct_sound_samples/cries/surskit.aif and b/sound/direct_sound_samples/cries/surskit.aif differ diff --git a/sound/direct_sound_samples/cries/swablu.aif b/sound/direct_sound_samples/cries/swablu.aif index 75e1555b7432..0940910ce3bd 100644 Binary files a/sound/direct_sound_samples/cries/swablu.aif and b/sound/direct_sound_samples/cries/swablu.aif differ diff --git a/sound/direct_sound_samples/cries/swadloon.aif b/sound/direct_sound_samples/cries/swadloon.aif index 5de03159209a..d2606953b2cb 100644 Binary files a/sound/direct_sound_samples/cries/swadloon.aif and b/sound/direct_sound_samples/cries/swadloon.aif differ diff --git a/sound/direct_sound_samples/cries/swalot.aif b/sound/direct_sound_samples/cries/swalot.aif index 45c0b0b85dc0..87e57c9b70ef 100644 Binary files a/sound/direct_sound_samples/cries/swalot.aif and b/sound/direct_sound_samples/cries/swalot.aif differ diff --git a/sound/direct_sound_samples/cries/swampert.aif b/sound/direct_sound_samples/cries/swampert.aif index 613e75261cbd..132844c70517 100644 Binary files a/sound/direct_sound_samples/cries/swampert.aif and b/sound/direct_sound_samples/cries/swampert.aif differ diff --git a/sound/direct_sound_samples/cries/swanna.aif b/sound/direct_sound_samples/cries/swanna.aif index d7b01aed3bbb..9b2ef724f6c7 100644 Binary files a/sound/direct_sound_samples/cries/swanna.aif and b/sound/direct_sound_samples/cries/swanna.aif differ diff --git a/sound/direct_sound_samples/cries/swellow.aif b/sound/direct_sound_samples/cries/swellow.aif index 9ddeec7057c1..a5bf66627d1e 100644 Binary files a/sound/direct_sound_samples/cries/swellow.aif and b/sound/direct_sound_samples/cries/swellow.aif differ diff --git a/sound/direct_sound_samples/cries/swinub.aif b/sound/direct_sound_samples/cries/swinub.aif index 375f1b60a0da..7b2a08bf6fae 100644 Binary files a/sound/direct_sound_samples/cries/swinub.aif and b/sound/direct_sound_samples/cries/swinub.aif differ diff --git a/sound/direct_sound_samples/cries/swirlix.aif b/sound/direct_sound_samples/cries/swirlix.aif index b08e684fa723..89fa6ecd16b3 100644 Binary files a/sound/direct_sound_samples/cries/swirlix.aif and b/sound/direct_sound_samples/cries/swirlix.aif differ diff --git a/sound/direct_sound_samples/cries/swoobat.aif b/sound/direct_sound_samples/cries/swoobat.aif index c5b530b7144e..32f8d406c56d 100644 Binary files a/sound/direct_sound_samples/cries/swoobat.aif and b/sound/direct_sound_samples/cries/swoobat.aif differ diff --git a/sound/direct_sound_samples/cries/sylveon.aif b/sound/direct_sound_samples/cries/sylveon.aif index 8d21184dc5a2..0ded5d19d187 100644 Binary files a/sound/direct_sound_samples/cries/sylveon.aif and b/sound/direct_sound_samples/cries/sylveon.aif differ diff --git a/sound/direct_sound_samples/cries/tadbulb.aif b/sound/direct_sound_samples/cries/tadbulb.aif index 6944fa31dcc6..4680059cde52 100644 Binary files a/sound/direct_sound_samples/cries/tadbulb.aif and b/sound/direct_sound_samples/cries/tadbulb.aif differ diff --git a/sound/direct_sound_samples/cries/taillow.aif b/sound/direct_sound_samples/cries/taillow.aif index 9cbf5bcd6a4b..c30cdb275bc4 100644 Binary files a/sound/direct_sound_samples/cries/taillow.aif and b/sound/direct_sound_samples/cries/taillow.aif differ diff --git a/sound/direct_sound_samples/cries/talonflame.aif b/sound/direct_sound_samples/cries/talonflame.aif index ac86007040ba..d16a4a2128c6 100644 Binary files a/sound/direct_sound_samples/cries/talonflame.aif and b/sound/direct_sound_samples/cries/talonflame.aif differ diff --git a/sound/direct_sound_samples/cries/tangela.aif b/sound/direct_sound_samples/cries/tangela.aif index a3962027c254..e463f2b7e621 100644 Binary files a/sound/direct_sound_samples/cries/tangela.aif and b/sound/direct_sound_samples/cries/tangela.aif differ diff --git a/sound/direct_sound_samples/cries/tangrowth.aif b/sound/direct_sound_samples/cries/tangrowth.aif index 0f3ca54902ef..23e3d995b798 100644 Binary files a/sound/direct_sound_samples/cries/tangrowth.aif and b/sound/direct_sound_samples/cries/tangrowth.aif differ diff --git a/sound/direct_sound_samples/cries/tapu_bulu.aif b/sound/direct_sound_samples/cries/tapu_bulu.aif index 36d31a68d7a0..ab84791fa7b1 100644 Binary files a/sound/direct_sound_samples/cries/tapu_bulu.aif and b/sound/direct_sound_samples/cries/tapu_bulu.aif differ diff --git a/sound/direct_sound_samples/cries/tapu_fini.aif b/sound/direct_sound_samples/cries/tapu_fini.aif index 203ca8d9c8d9..301b0a70b8a5 100644 Binary files a/sound/direct_sound_samples/cries/tapu_fini.aif and b/sound/direct_sound_samples/cries/tapu_fini.aif differ diff --git a/sound/direct_sound_samples/cries/tapu_koko.aif b/sound/direct_sound_samples/cries/tapu_koko.aif index b8b71fcf096f..2fae1a3b0b75 100644 Binary files a/sound/direct_sound_samples/cries/tapu_koko.aif and b/sound/direct_sound_samples/cries/tapu_koko.aif differ diff --git a/sound/direct_sound_samples/cries/tapu_lele.aif b/sound/direct_sound_samples/cries/tapu_lele.aif index 8b13f0ddf014..c15bb3186275 100644 Binary files a/sound/direct_sound_samples/cries/tapu_lele.aif and b/sound/direct_sound_samples/cries/tapu_lele.aif differ diff --git a/sound/direct_sound_samples/cries/tarountula.aif b/sound/direct_sound_samples/cries/tarountula.aif index a08f51ee202e..d8d24385657b 100644 Binary files a/sound/direct_sound_samples/cries/tarountula.aif and b/sound/direct_sound_samples/cries/tarountula.aif differ diff --git a/sound/direct_sound_samples/cries/tatsugiri_curly.aif b/sound/direct_sound_samples/cries/tatsugiri_curly.aif index ad84b372853c..16c03553abc2 100644 Binary files a/sound/direct_sound_samples/cries/tatsugiri_curly.aif and b/sound/direct_sound_samples/cries/tatsugiri_curly.aif differ diff --git a/sound/direct_sound_samples/cries/tatsugiri_droopy.aif b/sound/direct_sound_samples/cries/tatsugiri_droopy.aif index 38b0a7949a5b..20131039e5a6 100644 Binary files a/sound/direct_sound_samples/cries/tatsugiri_droopy.aif and b/sound/direct_sound_samples/cries/tatsugiri_droopy.aif differ diff --git a/sound/direct_sound_samples/cries/tatsugiri_stretchy.aif b/sound/direct_sound_samples/cries/tatsugiri_stretchy.aif index ad1fbe930b10..08e568043354 100644 Binary files a/sound/direct_sound_samples/cries/tatsugiri_stretchy.aif and b/sound/direct_sound_samples/cries/tatsugiri_stretchy.aif differ diff --git a/sound/direct_sound_samples/cries/tauros.aif b/sound/direct_sound_samples/cries/tauros.aif index fb79a648aee9..1b4bdfa5c438 100644 Binary files a/sound/direct_sound_samples/cries/tauros.aif and b/sound/direct_sound_samples/cries/tauros.aif differ diff --git a/sound/direct_sound_samples/cries/teddiursa.aif b/sound/direct_sound_samples/cries/teddiursa.aif index dc99db734b58..19ba558c3b94 100644 Binary files a/sound/direct_sound_samples/cries/teddiursa.aif and b/sound/direct_sound_samples/cries/teddiursa.aif differ diff --git a/sound/direct_sound_samples/cries/tentacool.aif b/sound/direct_sound_samples/cries/tentacool.aif index f3b32c741e90..8918f25627f7 100644 Binary files a/sound/direct_sound_samples/cries/tentacool.aif and b/sound/direct_sound_samples/cries/tentacool.aif differ diff --git a/sound/direct_sound_samples/cries/tentacruel.aif b/sound/direct_sound_samples/cries/tentacruel.aif index 13b91bbd3e6e..2497d178df3c 100644 Binary files a/sound/direct_sound_samples/cries/tentacruel.aif and b/sound/direct_sound_samples/cries/tentacruel.aif differ diff --git a/sound/direct_sound_samples/cries/tepig.aif b/sound/direct_sound_samples/cries/tepig.aif index fa226ef1f174..45b7b4ecdaf4 100644 Binary files a/sound/direct_sound_samples/cries/tepig.aif and b/sound/direct_sound_samples/cries/tepig.aif differ diff --git a/sound/direct_sound_samples/cries/terrakion.aif b/sound/direct_sound_samples/cries/terrakion.aif index 77e5c71ca280..e567be0f1eed 100644 Binary files a/sound/direct_sound_samples/cries/terrakion.aif and b/sound/direct_sound_samples/cries/terrakion.aif differ diff --git a/sound/direct_sound_samples/cries/throh.aif b/sound/direct_sound_samples/cries/throh.aif index 176d1065d6c1..eeeba64e4b29 100644 Binary files a/sound/direct_sound_samples/cries/throh.aif and b/sound/direct_sound_samples/cries/throh.aif differ diff --git a/sound/direct_sound_samples/cries/thundurus_incarnate.aif b/sound/direct_sound_samples/cries/thundurus_incarnate.aif index 75a1af958a47..8b1c81b9f94a 100644 Binary files a/sound/direct_sound_samples/cries/thundurus_incarnate.aif and b/sound/direct_sound_samples/cries/thundurus_incarnate.aif differ diff --git a/sound/direct_sound_samples/cries/thundurus_therian.aif b/sound/direct_sound_samples/cries/thundurus_therian.aif index 318201f1b896..f5ac69f17725 100644 Binary files a/sound/direct_sound_samples/cries/thundurus_therian.aif and b/sound/direct_sound_samples/cries/thundurus_therian.aif differ diff --git a/sound/direct_sound_samples/cries/thwackey.aif b/sound/direct_sound_samples/cries/thwackey.aif index dff37f5c806a..579df5c965b0 100644 Binary files a/sound/direct_sound_samples/cries/thwackey.aif and b/sound/direct_sound_samples/cries/thwackey.aif differ diff --git a/sound/direct_sound_samples/cries/timburr.aif b/sound/direct_sound_samples/cries/timburr.aif index 839bfb59b734..49edb74efb85 100644 Binary files a/sound/direct_sound_samples/cries/timburr.aif and b/sound/direct_sound_samples/cries/timburr.aif differ diff --git a/sound/direct_sound_samples/cries/ting_lu.aif b/sound/direct_sound_samples/cries/ting_lu.aif index 82cbff16f33e..a4a5ed211847 100644 Binary files a/sound/direct_sound_samples/cries/ting_lu.aif and b/sound/direct_sound_samples/cries/ting_lu.aif differ diff --git a/sound/direct_sound_samples/cries/tinkatink.aif b/sound/direct_sound_samples/cries/tinkatink.aif index 24b50dbbf041..a6229c133856 100644 Binary files a/sound/direct_sound_samples/cries/tinkatink.aif and b/sound/direct_sound_samples/cries/tinkatink.aif differ diff --git a/sound/direct_sound_samples/cries/tinkaton.aif b/sound/direct_sound_samples/cries/tinkaton.aif index c48068f69263..fd88cb84596c 100644 Binary files a/sound/direct_sound_samples/cries/tinkaton.aif and b/sound/direct_sound_samples/cries/tinkaton.aif differ diff --git a/sound/direct_sound_samples/cries/tirtouga.aif b/sound/direct_sound_samples/cries/tirtouga.aif index d32ec5ef3c13..2233557d229c 100644 Binary files a/sound/direct_sound_samples/cries/tirtouga.aif and b/sound/direct_sound_samples/cries/tirtouga.aif differ diff --git a/sound/direct_sound_samples/cries/toedscruel.aif b/sound/direct_sound_samples/cries/toedscruel.aif index 87fc37decde4..1f2fade60c6f 100644 Binary files a/sound/direct_sound_samples/cries/toedscruel.aif and b/sound/direct_sound_samples/cries/toedscruel.aif differ diff --git a/sound/direct_sound_samples/cries/togedemaru.aif b/sound/direct_sound_samples/cries/togedemaru.aif index 1ac46d6f97a9..366ce2be960c 100644 Binary files a/sound/direct_sound_samples/cries/togedemaru.aif and b/sound/direct_sound_samples/cries/togedemaru.aif differ diff --git a/sound/direct_sound_samples/cries/togekiss.aif b/sound/direct_sound_samples/cries/togekiss.aif index a365ddd94dd5..c66baeaf552f 100644 Binary files a/sound/direct_sound_samples/cries/togekiss.aif and b/sound/direct_sound_samples/cries/togekiss.aif differ diff --git a/sound/direct_sound_samples/cries/togepi.aif b/sound/direct_sound_samples/cries/togepi.aif index 351fea00fc50..0785a662ab91 100644 Binary files a/sound/direct_sound_samples/cries/togepi.aif and b/sound/direct_sound_samples/cries/togepi.aif differ diff --git a/sound/direct_sound_samples/cries/togetic.aif b/sound/direct_sound_samples/cries/togetic.aif index 6fd29b73d5bc..f577120c6d39 100644 Binary files a/sound/direct_sound_samples/cries/togetic.aif and b/sound/direct_sound_samples/cries/togetic.aif differ diff --git a/sound/direct_sound_samples/cries/torchic.aif b/sound/direct_sound_samples/cries/torchic.aif index 0f39232bff96..3accc1b3c880 100644 Binary files a/sound/direct_sound_samples/cries/torchic.aif and b/sound/direct_sound_samples/cries/torchic.aif differ diff --git a/sound/direct_sound_samples/cries/torkoal.aif b/sound/direct_sound_samples/cries/torkoal.aif index cfdcd3971e7e..b73d06ef5e44 100644 Binary files a/sound/direct_sound_samples/cries/torkoal.aif and b/sound/direct_sound_samples/cries/torkoal.aif differ diff --git a/sound/direct_sound_samples/cries/tornadus_incarnate.aif b/sound/direct_sound_samples/cries/tornadus_incarnate.aif index 30f96ec8fe50..b980ce2bb5c3 100644 Binary files a/sound/direct_sound_samples/cries/tornadus_incarnate.aif and b/sound/direct_sound_samples/cries/tornadus_incarnate.aif differ diff --git a/sound/direct_sound_samples/cries/tornadus_therian.aif b/sound/direct_sound_samples/cries/tornadus_therian.aif index ff5993e9622f..a1d98062b688 100644 Binary files a/sound/direct_sound_samples/cries/tornadus_therian.aif and b/sound/direct_sound_samples/cries/tornadus_therian.aif differ diff --git a/sound/direct_sound_samples/cries/torracat.aif b/sound/direct_sound_samples/cries/torracat.aif index 7b9d9bd5741b..44bb00137593 100644 Binary files a/sound/direct_sound_samples/cries/torracat.aif and b/sound/direct_sound_samples/cries/torracat.aif differ diff --git a/sound/direct_sound_samples/cries/torterra.aif b/sound/direct_sound_samples/cries/torterra.aif index 3f0960d9a219..e659181e2383 100644 Binary files a/sound/direct_sound_samples/cries/torterra.aif and b/sound/direct_sound_samples/cries/torterra.aif differ diff --git a/sound/direct_sound_samples/cries/totodile.aif b/sound/direct_sound_samples/cries/totodile.aif index d87de7d52269..98fbb528bead 100644 Binary files a/sound/direct_sound_samples/cries/totodile.aif and b/sound/direct_sound_samples/cries/totodile.aif differ diff --git a/sound/direct_sound_samples/cries/toucannon.aif b/sound/direct_sound_samples/cries/toucannon.aif index e83fe24fe8f6..83a90bab9cdb 100644 Binary files a/sound/direct_sound_samples/cries/toucannon.aif and b/sound/direct_sound_samples/cries/toucannon.aif differ diff --git a/sound/direct_sound_samples/cries/toxapex.aif b/sound/direct_sound_samples/cries/toxapex.aif index 226a666b71a2..3369da2f70f7 100644 Binary files a/sound/direct_sound_samples/cries/toxapex.aif and b/sound/direct_sound_samples/cries/toxapex.aif differ diff --git a/sound/direct_sound_samples/cries/toxel.aif b/sound/direct_sound_samples/cries/toxel.aif index 2f1304295b2f..0f917edddb81 100644 Binary files a/sound/direct_sound_samples/cries/toxel.aif and b/sound/direct_sound_samples/cries/toxel.aif differ diff --git a/sound/direct_sound_samples/cries/toxicroak.aif b/sound/direct_sound_samples/cries/toxicroak.aif index 676e53276ccc..ada83b0a2b0b 100644 Binary files a/sound/direct_sound_samples/cries/toxicroak.aif and b/sound/direct_sound_samples/cries/toxicroak.aif differ diff --git a/sound/direct_sound_samples/cries/tranquill.aif b/sound/direct_sound_samples/cries/tranquill.aif index e11795686b7d..6a4e8a7661ca 100644 Binary files a/sound/direct_sound_samples/cries/tranquill.aif and b/sound/direct_sound_samples/cries/tranquill.aif differ diff --git a/sound/direct_sound_samples/cries/trapinch.aif b/sound/direct_sound_samples/cries/trapinch.aif index 03e1b1a94621..cc27653fd44d 100644 Binary files a/sound/direct_sound_samples/cries/trapinch.aif and b/sound/direct_sound_samples/cries/trapinch.aif differ diff --git a/sound/direct_sound_samples/cries/treecko.aif b/sound/direct_sound_samples/cries/treecko.aif index 5ee12d7b92ca..e9a47979e0e0 100644 Binary files a/sound/direct_sound_samples/cries/treecko.aif and b/sound/direct_sound_samples/cries/treecko.aif differ diff --git a/sound/direct_sound_samples/cries/trevenant.aif b/sound/direct_sound_samples/cries/trevenant.aif index 164253fd1669..018a80e8c2de 100644 Binary files a/sound/direct_sound_samples/cries/trevenant.aif and b/sound/direct_sound_samples/cries/trevenant.aif differ diff --git a/sound/direct_sound_samples/cries/tropius.aif b/sound/direct_sound_samples/cries/tropius.aif index 17359795eaa4..81046fe1cfdb 100644 Binary files a/sound/direct_sound_samples/cries/tropius.aif and b/sound/direct_sound_samples/cries/tropius.aif differ diff --git a/sound/direct_sound_samples/cries/trubbish.aif b/sound/direct_sound_samples/cries/trubbish.aif index 7bde68d8ca74..09c1aac572b8 100644 Binary files a/sound/direct_sound_samples/cries/trubbish.aif and b/sound/direct_sound_samples/cries/trubbish.aif differ diff --git a/sound/direct_sound_samples/cries/trumbeak.aif b/sound/direct_sound_samples/cries/trumbeak.aif index 73fdb3f838ed..c6e477c4017a 100644 Binary files a/sound/direct_sound_samples/cries/trumbeak.aif and b/sound/direct_sound_samples/cries/trumbeak.aif differ diff --git a/sound/direct_sound_samples/cries/tsareena.aif b/sound/direct_sound_samples/cries/tsareena.aif index 92d7ad1b93e0..bff64b0f3f7b 100644 Binary files a/sound/direct_sound_samples/cries/tsareena.aif and b/sound/direct_sound_samples/cries/tsareena.aif differ diff --git a/sound/direct_sound_samples/cries/turtonator.aif b/sound/direct_sound_samples/cries/turtonator.aif index a15a2bb13047..b5d27b630f43 100644 Binary files a/sound/direct_sound_samples/cries/turtonator.aif and b/sound/direct_sound_samples/cries/turtonator.aif differ diff --git a/sound/direct_sound_samples/cries/turtwig.aif b/sound/direct_sound_samples/cries/turtwig.aif index 3de56621bb09..a2e4ad60b378 100644 Binary files a/sound/direct_sound_samples/cries/turtwig.aif and b/sound/direct_sound_samples/cries/turtwig.aif differ diff --git a/sound/direct_sound_samples/cries/tympole.aif b/sound/direct_sound_samples/cries/tympole.aif index 172aab0560ef..d643216736d1 100644 Binary files a/sound/direct_sound_samples/cries/tympole.aif and b/sound/direct_sound_samples/cries/tympole.aif differ diff --git a/sound/direct_sound_samples/cries/tynamo.aif b/sound/direct_sound_samples/cries/tynamo.aif index 647040c17aca..ca9e2962fcb8 100644 Binary files a/sound/direct_sound_samples/cries/tynamo.aif and b/sound/direct_sound_samples/cries/tynamo.aif differ diff --git a/sound/direct_sound_samples/cries/type_null.aif b/sound/direct_sound_samples/cries/type_null.aif index e1d46c83e44c..6b6be2dcfb15 100644 Binary files a/sound/direct_sound_samples/cries/type_null.aif and b/sound/direct_sound_samples/cries/type_null.aif differ diff --git a/sound/direct_sound_samples/cries/typhlosion.aif b/sound/direct_sound_samples/cries/typhlosion.aif index c0f4f7de3c75..cc993c805223 100644 Binary files a/sound/direct_sound_samples/cries/typhlosion.aif and b/sound/direct_sound_samples/cries/typhlosion.aif differ diff --git a/sound/direct_sound_samples/cries/tyranitar.aif b/sound/direct_sound_samples/cries/tyranitar.aif index 54fcd8796390..3572da76678c 100644 Binary files a/sound/direct_sound_samples/cries/tyranitar.aif and b/sound/direct_sound_samples/cries/tyranitar.aif differ diff --git a/sound/direct_sound_samples/cries/tyrantrum.aif b/sound/direct_sound_samples/cries/tyrantrum.aif index 7bb4825a0f8e..88e9506129d0 100644 Binary files a/sound/direct_sound_samples/cries/tyrantrum.aif and b/sound/direct_sound_samples/cries/tyrantrum.aif differ diff --git a/sound/direct_sound_samples/cries/tyrogue.aif b/sound/direct_sound_samples/cries/tyrogue.aif index 5cbb4792f0c0..7caea851b3f9 100644 Binary files a/sound/direct_sound_samples/cries/tyrogue.aif and b/sound/direct_sound_samples/cries/tyrogue.aif differ diff --git a/sound/direct_sound_samples/cries/tyrunt.aif b/sound/direct_sound_samples/cries/tyrunt.aif index 5f8599dbfbfc..e69373600537 100644 Binary files a/sound/direct_sound_samples/cries/tyrunt.aif and b/sound/direct_sound_samples/cries/tyrunt.aif differ diff --git a/sound/direct_sound_samples/cries/umbreon.aif b/sound/direct_sound_samples/cries/umbreon.aif index b28a8602a858..93c739dd7477 100644 Binary files a/sound/direct_sound_samples/cries/umbreon.aif and b/sound/direct_sound_samples/cries/umbreon.aif differ diff --git a/sound/direct_sound_samples/cries/uncomp_klefki.aif b/sound/direct_sound_samples/cries/uncomp_klefki.aif index 4af6a9d6d18b..c059b5662890 100644 Binary files a/sound/direct_sound_samples/cries/uncomp_klefki.aif and b/sound/direct_sound_samples/cries/uncomp_klefki.aif differ diff --git a/sound/direct_sound_samples/cries/uncomp_oricorio_pom_pom.aif b/sound/direct_sound_samples/cries/uncomp_oricorio_pom_pom.aif index a37b0537ecf8..aa5fce23b6a3 100644 Binary files a/sound/direct_sound_samples/cries/uncomp_oricorio_pom_pom.aif and b/sound/direct_sound_samples/cries/uncomp_oricorio_pom_pom.aif differ diff --git a/sound/direct_sound_samples/cries/unfezant.aif b/sound/direct_sound_samples/cries/unfezant.aif index 4a3a8a9b0714..1fde88bf0eeb 100644 Binary files a/sound/direct_sound_samples/cries/unfezant.aif and b/sound/direct_sound_samples/cries/unfezant.aif differ diff --git a/sound/direct_sound_samples/cries/unown.aif b/sound/direct_sound_samples/cries/unown.aif index 86a836135d46..0b3edf577fb2 100644 Binary files a/sound/direct_sound_samples/cries/unown.aif and b/sound/direct_sound_samples/cries/unown.aif differ diff --git a/sound/direct_sound_samples/cries/ursaluna.aif b/sound/direct_sound_samples/cries/ursaluna.aif index f2e96997f135..7ce14c630e5b 100644 Binary files a/sound/direct_sound_samples/cries/ursaluna.aif and b/sound/direct_sound_samples/cries/ursaluna.aif differ diff --git a/sound/direct_sound_samples/cries/ursaring.aif b/sound/direct_sound_samples/cries/ursaring.aif index 643738f83935..7837ba65973d 100644 Binary files a/sound/direct_sound_samples/cries/ursaring.aif and b/sound/direct_sound_samples/cries/ursaring.aif differ diff --git a/sound/direct_sound_samples/cries/urshifu_rapid_strike_style.aif b/sound/direct_sound_samples/cries/urshifu_rapid_strike.aif similarity index 100% rename from sound/direct_sound_samples/cries/urshifu_rapid_strike_style.aif rename to sound/direct_sound_samples/cries/urshifu_rapid_strike.aif diff --git a/sound/direct_sound_samples/cries/urshifu_single_strike_style.aif b/sound/direct_sound_samples/cries/urshifu_single_strike.aif similarity index 100% rename from sound/direct_sound_samples/cries/urshifu_single_strike_style.aif rename to sound/direct_sound_samples/cries/urshifu_single_strike.aif diff --git a/sound/direct_sound_samples/cries/uxie.aif b/sound/direct_sound_samples/cries/uxie.aif index 34745ddd9b9f..da67cfc9960b 100644 Binary files a/sound/direct_sound_samples/cries/uxie.aif and b/sound/direct_sound_samples/cries/uxie.aif differ diff --git a/sound/direct_sound_samples/cries/vanillish.aif b/sound/direct_sound_samples/cries/vanillish.aif index 07fe3555e453..625921a24b60 100644 Binary files a/sound/direct_sound_samples/cries/vanillish.aif and b/sound/direct_sound_samples/cries/vanillish.aif differ diff --git a/sound/direct_sound_samples/cries/vanillite.aif b/sound/direct_sound_samples/cries/vanillite.aif index e982d31bee80..03d25f96154e 100644 Binary files a/sound/direct_sound_samples/cries/vanillite.aif and b/sound/direct_sound_samples/cries/vanillite.aif differ diff --git a/sound/direct_sound_samples/cries/vanilluxe.aif b/sound/direct_sound_samples/cries/vanilluxe.aif index 94b6f0349209..e515359ee0ab 100644 Binary files a/sound/direct_sound_samples/cries/vanilluxe.aif and b/sound/direct_sound_samples/cries/vanilluxe.aif differ diff --git a/sound/direct_sound_samples/cries/vaporeon.aif b/sound/direct_sound_samples/cries/vaporeon.aif index 937ad74ce11e..3c9bf7ee8b79 100644 Binary files a/sound/direct_sound_samples/cries/vaporeon.aif and b/sound/direct_sound_samples/cries/vaporeon.aif differ diff --git a/sound/direct_sound_samples/cries/veluza.aif b/sound/direct_sound_samples/cries/veluza.aif index 9bcf8974ff37..d76ed74b6698 100644 Binary files a/sound/direct_sound_samples/cries/veluza.aif and b/sound/direct_sound_samples/cries/veluza.aif differ diff --git a/sound/direct_sound_samples/cries/venipede.aif b/sound/direct_sound_samples/cries/venipede.aif index 4ccde9b76874..d1c1e04e7bad 100644 Binary files a/sound/direct_sound_samples/cries/venipede.aif and b/sound/direct_sound_samples/cries/venipede.aif differ diff --git a/sound/direct_sound_samples/cries/venomoth.aif b/sound/direct_sound_samples/cries/venomoth.aif index 0ae031bb93b7..eb4ad02af793 100644 Binary files a/sound/direct_sound_samples/cries/venomoth.aif and b/sound/direct_sound_samples/cries/venomoth.aif differ diff --git a/sound/direct_sound_samples/cries/venonat.aif b/sound/direct_sound_samples/cries/venonat.aif index f490a4445b81..5bf36808c417 100644 Binary files a/sound/direct_sound_samples/cries/venonat.aif and b/sound/direct_sound_samples/cries/venonat.aif differ diff --git a/sound/direct_sound_samples/cries/venusaur.aif b/sound/direct_sound_samples/cries/venusaur.aif index 6e890f73b76d..91386c177ddc 100644 Binary files a/sound/direct_sound_samples/cries/venusaur.aif and b/sound/direct_sound_samples/cries/venusaur.aif differ diff --git a/sound/direct_sound_samples/cries/vespiquen.aif b/sound/direct_sound_samples/cries/vespiquen.aif index 5fdbd5e2f10c..c86e9a403bbb 100644 Binary files a/sound/direct_sound_samples/cries/vespiquen.aif and b/sound/direct_sound_samples/cries/vespiquen.aif differ diff --git a/sound/direct_sound_samples/cries/vibrava.aif b/sound/direct_sound_samples/cries/vibrava.aif index 7470142647b2..7e0a13c6df52 100644 Binary files a/sound/direct_sound_samples/cries/vibrava.aif and b/sound/direct_sound_samples/cries/vibrava.aif differ diff --git a/sound/direct_sound_samples/cries/victini.aif b/sound/direct_sound_samples/cries/victini.aif index 4bd7d7c1caea..cada6fbf078f 100644 Binary files a/sound/direct_sound_samples/cries/victini.aif and b/sound/direct_sound_samples/cries/victini.aif differ diff --git a/sound/direct_sound_samples/cries/victreebel.aif b/sound/direct_sound_samples/cries/victreebel.aif index d16996bb8681..62bb048d4c70 100644 Binary files a/sound/direct_sound_samples/cries/victreebel.aif and b/sound/direct_sound_samples/cries/victreebel.aif differ diff --git a/sound/direct_sound_samples/cries/vigoroth.aif b/sound/direct_sound_samples/cries/vigoroth.aif index 4f6e00a1372a..8e3560ab1dfc 100644 Binary files a/sound/direct_sound_samples/cries/vigoroth.aif and b/sound/direct_sound_samples/cries/vigoroth.aif differ diff --git a/sound/direct_sound_samples/cries/vikavolt.aif b/sound/direct_sound_samples/cries/vikavolt.aif index e92d6fdd41a3..badd95c3c51a 100644 Binary files a/sound/direct_sound_samples/cries/vikavolt.aif and b/sound/direct_sound_samples/cries/vikavolt.aif differ diff --git a/sound/direct_sound_samples/cries/vileplume.aif b/sound/direct_sound_samples/cries/vileplume.aif index f182cf99da42..e190e2151172 100644 Binary files a/sound/direct_sound_samples/cries/vileplume.aif and b/sound/direct_sound_samples/cries/vileplume.aif differ diff --git a/sound/direct_sound_samples/cries/virizion.aif b/sound/direct_sound_samples/cries/virizion.aif index 06cf7a86f3ca..7f1d8292b022 100644 Binary files a/sound/direct_sound_samples/cries/virizion.aif and b/sound/direct_sound_samples/cries/virizion.aif differ diff --git a/sound/direct_sound_samples/cries/vivillon.aif b/sound/direct_sound_samples/cries/vivillon.aif index 303834d8a1c4..bf7474dd9544 100644 Binary files a/sound/direct_sound_samples/cries/vivillon.aif and b/sound/direct_sound_samples/cries/vivillon.aif differ diff --git a/sound/direct_sound_samples/cries/volbeat.aif b/sound/direct_sound_samples/cries/volbeat.aif index 90e5e66ca04d..8d73e2c21db4 100644 Binary files a/sound/direct_sound_samples/cries/volbeat.aif and b/sound/direct_sound_samples/cries/volbeat.aif differ diff --git a/sound/direct_sound_samples/cries/volcanion.aif b/sound/direct_sound_samples/cries/volcanion.aif index 3d4ecd09a8ad..72c78807a6ee 100644 Binary files a/sound/direct_sound_samples/cries/volcanion.aif and b/sound/direct_sound_samples/cries/volcanion.aif differ diff --git a/sound/direct_sound_samples/cries/volcarona.aif b/sound/direct_sound_samples/cries/volcarona.aif index 8d34404dc02b..f62e6e9e38a1 100644 Binary files a/sound/direct_sound_samples/cries/volcarona.aif and b/sound/direct_sound_samples/cries/volcarona.aif differ diff --git a/sound/direct_sound_samples/cries/voltorb.aif b/sound/direct_sound_samples/cries/voltorb.aif index 54a3597708d0..832429cbf2cb 100644 Binary files a/sound/direct_sound_samples/cries/voltorb.aif and b/sound/direct_sound_samples/cries/voltorb.aif differ diff --git a/sound/direct_sound_samples/cries/vullaby.aif b/sound/direct_sound_samples/cries/vullaby.aif index 97df0d14f9e6..49d0648e9ff8 100644 Binary files a/sound/direct_sound_samples/cries/vullaby.aif and b/sound/direct_sound_samples/cries/vullaby.aif differ diff --git a/sound/direct_sound_samples/cries/vulpix.aif b/sound/direct_sound_samples/cries/vulpix.aif index 04a60e27ea1d..32b149999e29 100644 Binary files a/sound/direct_sound_samples/cries/vulpix.aif and b/sound/direct_sound_samples/cries/vulpix.aif differ diff --git a/sound/direct_sound_samples/cries/wailmer.aif b/sound/direct_sound_samples/cries/wailmer.aif index e21c05c4b299..8bada495e4c4 100644 Binary files a/sound/direct_sound_samples/cries/wailmer.aif and b/sound/direct_sound_samples/cries/wailmer.aif differ diff --git a/sound/direct_sound_samples/cries/wailord.aif b/sound/direct_sound_samples/cries/wailord.aif index 40c331d40d8b..ea0f553cf843 100644 Binary files a/sound/direct_sound_samples/cries/wailord.aif and b/sound/direct_sound_samples/cries/wailord.aif differ diff --git a/sound/direct_sound_samples/cries/walrein.aif b/sound/direct_sound_samples/cries/walrein.aif index 475a874ef93a..2843617fbfe0 100644 Binary files a/sound/direct_sound_samples/cries/walrein.aif and b/sound/direct_sound_samples/cries/walrein.aif differ diff --git a/sound/direct_sound_samples/cries/wartortle.aif b/sound/direct_sound_samples/cries/wartortle.aif index aa664369d70e..de2aa254805b 100644 Binary files a/sound/direct_sound_samples/cries/wartortle.aif and b/sound/direct_sound_samples/cries/wartortle.aif differ diff --git a/sound/direct_sound_samples/cries/watchog.aif b/sound/direct_sound_samples/cries/watchog.aif index a3bd8a0f7ed0..df08e7a29649 100644 Binary files a/sound/direct_sound_samples/cries/watchog.aif and b/sound/direct_sound_samples/cries/watchog.aif differ diff --git a/sound/direct_sound_samples/cries/wattrel.aif b/sound/direct_sound_samples/cries/wattrel.aif index 7390eea50a78..361ead83565c 100644 Binary files a/sound/direct_sound_samples/cries/wattrel.aif and b/sound/direct_sound_samples/cries/wattrel.aif differ diff --git a/sound/direct_sound_samples/cries/weavile.aif b/sound/direct_sound_samples/cries/weavile.aif index 2a1ff90b56c7..5bfb5019dfd7 100644 Binary files a/sound/direct_sound_samples/cries/weavile.aif and b/sound/direct_sound_samples/cries/weavile.aif differ diff --git a/sound/direct_sound_samples/cries/weedle.aif b/sound/direct_sound_samples/cries/weedle.aif index 06a26f3d7676..ac5b0eb76524 100644 Binary files a/sound/direct_sound_samples/cries/weedle.aif and b/sound/direct_sound_samples/cries/weedle.aif differ diff --git a/sound/direct_sound_samples/cries/weepinbell.aif b/sound/direct_sound_samples/cries/weepinbell.aif index b5df3f600260..0b20df8089fe 100644 Binary files a/sound/direct_sound_samples/cries/weepinbell.aif and b/sound/direct_sound_samples/cries/weepinbell.aif differ diff --git a/sound/direct_sound_samples/cries/weezing.aif b/sound/direct_sound_samples/cries/weezing.aif index 42c3d4a5bba5..b7b8d93da517 100644 Binary files a/sound/direct_sound_samples/cries/weezing.aif and b/sound/direct_sound_samples/cries/weezing.aif differ diff --git a/sound/direct_sound_samples/cries/whimsicott.aif b/sound/direct_sound_samples/cries/whimsicott.aif index 806904d0d855..873d8a1b4197 100644 Binary files a/sound/direct_sound_samples/cries/whimsicott.aif and b/sound/direct_sound_samples/cries/whimsicott.aif differ diff --git a/sound/direct_sound_samples/cries/whirlipede.aif b/sound/direct_sound_samples/cries/whirlipede.aif index f2b6c5fa69e9..c9b64404b8af 100644 Binary files a/sound/direct_sound_samples/cries/whirlipede.aif and b/sound/direct_sound_samples/cries/whirlipede.aif differ diff --git a/sound/direct_sound_samples/cries/whiscash.aif b/sound/direct_sound_samples/cries/whiscash.aif index 9d3a28786f46..71cd9fd00a8b 100644 Binary files a/sound/direct_sound_samples/cries/whiscash.aif and b/sound/direct_sound_samples/cries/whiscash.aif differ diff --git a/sound/direct_sound_samples/cries/whismur.aif b/sound/direct_sound_samples/cries/whismur.aif index 272a9f8654ea..c5a2369ba9d5 100644 Binary files a/sound/direct_sound_samples/cries/whismur.aif and b/sound/direct_sound_samples/cries/whismur.aif differ diff --git a/sound/direct_sound_samples/cries/wigglytuff.aif b/sound/direct_sound_samples/cries/wigglytuff.aif index 468dcc2066e7..07fcc8ebd318 100644 Binary files a/sound/direct_sound_samples/cries/wigglytuff.aif and b/sound/direct_sound_samples/cries/wigglytuff.aif differ diff --git a/sound/direct_sound_samples/cries/wimpod.aif b/sound/direct_sound_samples/cries/wimpod.aif index 07242eeebbf1..5b7596409657 100644 Binary files a/sound/direct_sound_samples/cries/wimpod.aif and b/sound/direct_sound_samples/cries/wimpod.aif differ diff --git a/sound/direct_sound_samples/cries/wingull.aif b/sound/direct_sound_samples/cries/wingull.aif index f1965f663574..49b04d9d96ca 100644 Binary files a/sound/direct_sound_samples/cries/wingull.aif and b/sound/direct_sound_samples/cries/wingull.aif differ diff --git a/sound/direct_sound_samples/cries/wishiwashi_school.aif b/sound/direct_sound_samples/cries/wishiwashi_school.aif index ab0ac985354e..e63ce913a26a 100644 Binary files a/sound/direct_sound_samples/cries/wishiwashi_school.aif and b/sound/direct_sound_samples/cries/wishiwashi_school.aif differ diff --git a/sound/direct_sound_samples/cries/wishiwashi_solo.aif b/sound/direct_sound_samples/cries/wishiwashi_solo.aif index 9a9d1aae7159..e6e26b75c6b9 100644 Binary files a/sound/direct_sound_samples/cries/wishiwashi_solo.aif and b/sound/direct_sound_samples/cries/wishiwashi_solo.aif differ diff --git a/sound/direct_sound_samples/cries/wo_chien.aif b/sound/direct_sound_samples/cries/wo_chien.aif index fa201694ebe5..f50bd73e8d42 100644 Binary files a/sound/direct_sound_samples/cries/wo_chien.aif and b/sound/direct_sound_samples/cries/wo_chien.aif differ diff --git a/sound/direct_sound_samples/cries/wobbuffet.aif b/sound/direct_sound_samples/cries/wobbuffet.aif index 2c8193908aa6..8e50da47bbf5 100644 Binary files a/sound/direct_sound_samples/cries/wobbuffet.aif and b/sound/direct_sound_samples/cries/wobbuffet.aif differ diff --git a/sound/direct_sound_samples/cries/woobat.aif b/sound/direct_sound_samples/cries/woobat.aif index d66f5bd15719..db8ae140e219 100644 Binary files a/sound/direct_sound_samples/cries/woobat.aif and b/sound/direct_sound_samples/cries/woobat.aif differ diff --git a/sound/direct_sound_samples/cries/wooper.aif b/sound/direct_sound_samples/cries/wooper.aif index c2d80b32c466..d4b9ea1b4a25 100644 Binary files a/sound/direct_sound_samples/cries/wooper.aif and b/sound/direct_sound_samples/cries/wooper.aif differ diff --git a/sound/direct_sound_samples/cries/wormadam.aif b/sound/direct_sound_samples/cries/wormadam.aif index 633aeeafc311..364510820687 100644 Binary files a/sound/direct_sound_samples/cries/wormadam.aif and b/sound/direct_sound_samples/cries/wormadam.aif differ diff --git a/sound/direct_sound_samples/cries/wurmple.aif b/sound/direct_sound_samples/cries/wurmple.aif index e75a6e237fb3..1754d7e2b7e2 100644 Binary files a/sound/direct_sound_samples/cries/wurmple.aif and b/sound/direct_sound_samples/cries/wurmple.aif differ diff --git a/sound/direct_sound_samples/cries/wynaut.aif b/sound/direct_sound_samples/cries/wynaut.aif index f7563a8ebb0e..ddd289f9a485 100644 Binary files a/sound/direct_sound_samples/cries/wynaut.aif and b/sound/direct_sound_samples/cries/wynaut.aif differ diff --git a/sound/direct_sound_samples/cries/wyrdeer.aif b/sound/direct_sound_samples/cries/wyrdeer.aif index 4d0c83dc517f..597df62ab82e 100644 Binary files a/sound/direct_sound_samples/cries/wyrdeer.aif and b/sound/direct_sound_samples/cries/wyrdeer.aif differ diff --git a/sound/direct_sound_samples/cries/xatu.aif b/sound/direct_sound_samples/cries/xatu.aif index 8a4f2369d866..da4afe62caf5 100644 Binary files a/sound/direct_sound_samples/cries/xatu.aif and b/sound/direct_sound_samples/cries/xatu.aif differ diff --git a/sound/direct_sound_samples/cries/xerneas.aif b/sound/direct_sound_samples/cries/xerneas.aif index 88cace168bbe..4745e8e68568 100644 Binary files a/sound/direct_sound_samples/cries/xerneas.aif and b/sound/direct_sound_samples/cries/xerneas.aif differ diff --git a/sound/direct_sound_samples/cries/xurkitree.aif b/sound/direct_sound_samples/cries/xurkitree.aif index 917348ac0bae..3b0f5f381258 100644 Binary files a/sound/direct_sound_samples/cries/xurkitree.aif and b/sound/direct_sound_samples/cries/xurkitree.aif differ diff --git a/sound/direct_sound_samples/cries/yamask.aif b/sound/direct_sound_samples/cries/yamask.aif index 8d44817f7b1a..51f07034b860 100644 Binary files a/sound/direct_sound_samples/cries/yamask.aif and b/sound/direct_sound_samples/cries/yamask.aif differ diff --git a/sound/direct_sound_samples/cries/yanma.aif b/sound/direct_sound_samples/cries/yanma.aif index 5f373734a47c..3d8354bb5921 100644 Binary files a/sound/direct_sound_samples/cries/yanma.aif and b/sound/direct_sound_samples/cries/yanma.aif differ diff --git a/sound/direct_sound_samples/cries/yanmega.aif b/sound/direct_sound_samples/cries/yanmega.aif index daf0c0d9f0ed..6f3a3eb2dd93 100644 Binary files a/sound/direct_sound_samples/cries/yanmega.aif and b/sound/direct_sound_samples/cries/yanmega.aif differ diff --git a/sound/direct_sound_samples/cries/yungoos.aif b/sound/direct_sound_samples/cries/yungoos.aif index 7fe144860bb2..13b633a98af8 100644 Binary files a/sound/direct_sound_samples/cries/yungoos.aif and b/sound/direct_sound_samples/cries/yungoos.aif differ diff --git a/sound/direct_sound_samples/cries/yveltal.aif b/sound/direct_sound_samples/cries/yveltal.aif index 4112426bd9d4..3c2bbcb02116 100644 Binary files a/sound/direct_sound_samples/cries/yveltal.aif and b/sound/direct_sound_samples/cries/yveltal.aif differ diff --git a/sound/direct_sound_samples/cries/zacian_crowned_sword.aif b/sound/direct_sound_samples/cries/zacian_crowned_sword.aif index 5e47f9275b54..597c5ddd2661 100644 Binary files a/sound/direct_sound_samples/cries/zacian_crowned_sword.aif and b/sound/direct_sound_samples/cries/zacian_crowned_sword.aif differ diff --git a/sound/direct_sound_samples/cries/zamazenta_crowned_shield.aif b/sound/direct_sound_samples/cries/zamazenta_crowned_shield.aif index 1e7eae771ba5..05d170baba4a 100644 Binary files a/sound/direct_sound_samples/cries/zamazenta_crowned_shield.aif and b/sound/direct_sound_samples/cries/zamazenta_crowned_shield.aif differ diff --git a/sound/direct_sound_samples/cries/zangoose.aif b/sound/direct_sound_samples/cries/zangoose.aif index f82cd235d015..dc6182b784c0 100644 Binary files a/sound/direct_sound_samples/cries/zangoose.aif and b/sound/direct_sound_samples/cries/zangoose.aif differ diff --git a/sound/direct_sound_samples/cries/zapdos.aif b/sound/direct_sound_samples/cries/zapdos.aif index 88dcb48cc8a3..83bbd043e427 100644 Binary files a/sound/direct_sound_samples/cries/zapdos.aif and b/sound/direct_sound_samples/cries/zapdos.aif differ diff --git a/sound/direct_sound_samples/cries/zebstrika.aif b/sound/direct_sound_samples/cries/zebstrika.aif index 74ef8d943aff..0609b145b21e 100644 Binary files a/sound/direct_sound_samples/cries/zebstrika.aif and b/sound/direct_sound_samples/cries/zebstrika.aif differ diff --git a/sound/direct_sound_samples/cries/zekrom.aif b/sound/direct_sound_samples/cries/zekrom.aif index e3fc0cc74b2e..dd74f8091109 100644 Binary files a/sound/direct_sound_samples/cries/zekrom.aif and b/sound/direct_sound_samples/cries/zekrom.aif differ diff --git a/sound/direct_sound_samples/cries/zeraora.aif b/sound/direct_sound_samples/cries/zeraora.aif index 880fc7203317..b1455a010052 100644 Binary files a/sound/direct_sound_samples/cries/zeraora.aif and b/sound/direct_sound_samples/cries/zeraora.aif differ diff --git a/sound/direct_sound_samples/cries/zigzagoon.aif b/sound/direct_sound_samples/cries/zigzagoon.aif index c477208d13ff..8f7b32f8189a 100644 Binary files a/sound/direct_sound_samples/cries/zigzagoon.aif and b/sound/direct_sound_samples/cries/zigzagoon.aif differ diff --git a/sound/direct_sound_samples/cries/zoroark.aif b/sound/direct_sound_samples/cries/zoroark.aif index 7cd45de062c1..91e7ab0ce97f 100644 Binary files a/sound/direct_sound_samples/cries/zoroark.aif and b/sound/direct_sound_samples/cries/zoroark.aif differ diff --git a/sound/direct_sound_samples/cries/zorua.aif b/sound/direct_sound_samples/cries/zorua.aif index 039955ac19d8..674681f5bc46 100644 Binary files a/sound/direct_sound_samples/cries/zorua.aif and b/sound/direct_sound_samples/cries/zorua.aif differ diff --git a/sound/direct_sound_samples/cries/zubat.aif b/sound/direct_sound_samples/cries/zubat.aif index 4b2d1a1cc95d..9ba4d364891c 100644 Binary files a/sound/direct_sound_samples/cries/zubat.aif and b/sound/direct_sound_samples/cries/zubat.aif differ diff --git a/sound/direct_sound_samples/cries/zweilous.aif b/sound/direct_sound_samples/cries/zweilous.aif index 987f436d9a81..fc9a366ce9e9 100644 Binary files a/sound/direct_sound_samples/cries/zweilous.aif and b/sound/direct_sound_samples/cries/zweilous.aif differ diff --git a/sound/direct_sound_samples/cries/zygarde_10.aif b/sound/direct_sound_samples/cries/zygarde_10.aif index 45b0cd0c8deb..a8301cdc16ba 100644 Binary files a/sound/direct_sound_samples/cries/zygarde_10.aif and b/sound/direct_sound_samples/cries/zygarde_10.aif differ diff --git a/sound/direct_sound_samples/cries/zygarde_50.aif b/sound/direct_sound_samples/cries/zygarde_50.aif index 1b403fcfe3a6..92daba8bcb0b 100644 Binary files a/sound/direct_sound_samples/cries/zygarde_50.aif and b/sound/direct_sound_samples/cries/zygarde_50.aif differ diff --git a/sound/direct_sound_samples/cries/zygarde_complete.aif b/sound/direct_sound_samples/cries/zygarde_complete.aif index 0d0797ebbbbc..2eae63203b66 100644 Binary files a/sound/direct_sound_samples/cries/zygarde_complete.aif and b/sound/direct_sound_samples/cries/zygarde_complete.aif differ diff --git a/spritesheet_rules.mk b/spritesheet_rules.mk index 7855bf8d21e1..88725dda66d7 100644 --- a/spritesheet_rules.mk +++ b/spritesheet_rules.mk @@ -744,6 +744,9 @@ $(POKEMONGFXDIR)/ivysaur/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/venusaur/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/venusaur/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/charmander/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -771,6 +774,9 @@ $(POKEMONGFXDIR)/metapod/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/butterfree/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/butterfree/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/weedle/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -792,9 +798,15 @@ $(POKEMONGFXDIR)/pidgeot/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/rattata/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/rattata/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/raticate/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/raticate/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/spearow/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -810,9 +822,15 @@ $(POKEMONGFXDIR)/arbok/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/pikachu/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/pikachu/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/raichu/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/raichu/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/sandshrew/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -858,18 +876,30 @@ $(POKEMONGFXDIR)/wigglytuff/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/zubat/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/zubat/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/golbat/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/golbat/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/oddish/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/gloom/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/gloom/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/vileplume/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/vileplume/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/paras/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -927,9 +957,15 @@ $(POKEMONGFXDIR)/abra/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/kadabra/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/kadabra/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/alakazam/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/alakazam/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/machop/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -987,9 +1023,15 @@ $(POKEMONGFXDIR)/farfetchd/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/doduo/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/doduo/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/dodrio/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/dodrio/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/seel/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1026,6 +1068,9 @@ $(POKEMONGFXDIR)/drowzee/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/hypno/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/hypno/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/krabby/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1068,9 +1113,15 @@ $(POKEMONGFXDIR)/weezing/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/rhyhorn/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/rhyhorn/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/rhydon/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/rhydon/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/chansey/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1089,9 +1140,15 @@ $(POKEMONGFXDIR)/seadra/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/goldeen/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/goldeen/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/seaking/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/seaking/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/staryu/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1104,6 +1161,9 @@ $(POKEMONGFXDIR)/mr_mime/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/scyther/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/scyther/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/jynx/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1122,9 +1182,15 @@ $(POKEMONGFXDIR)/tauros/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/magikarp/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/magikarp/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/gyarados/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/gyarados/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/lapras/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1134,6 +1200,9 @@ $(POKEMONGFXDIR)/ditto/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/eevee/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/eevee/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/vaporeon/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1197,6 +1266,9 @@ $(POKEMONGFXDIR)/bayleef/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/meganium/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/meganium/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/cyndaquil/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1230,9 +1302,15 @@ $(POKEMONGFXDIR)/noctowl/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/ledyba/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/ledyba/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/ledian/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/ledian/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/spinarak/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1269,6 +1347,9 @@ $(POKEMONGFXDIR)/natu/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/xatu/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/xatu/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/mareep/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1290,9 +1371,15 @@ $(POKEMONGFXDIR)/azumarill/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/sudowoodo/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/sudowoodo/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/politoed/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/politoed/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/hoppip/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1305,6 +1392,9 @@ $(POKEMONGFXDIR)/jumpluff/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/aipom/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/aipom/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/sunkern/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1317,9 +1407,15 @@ $(POKEMONGFXDIR)/yanma/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/wooper/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/wooper/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/quagsire/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/quagsire/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/espeon/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1329,6 +1425,9 @@ $(POKEMONGFXDIR)/umbreon/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/murkrow/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/murkrow/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/slowking/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1413,18 +1512,24 @@ $(POKEMONGFXDIR)/unown/y/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/unown/z/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/unown/exclamation_mark/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/unown/exclamation/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/unown/question_mark/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/unown/question/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/wobbuffet/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/wobbuffet/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/girafarig/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/girafarig/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/pineco/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1437,9 +1542,15 @@ $(POKEMONGFXDIR)/dunsparce/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/gligar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/gligar/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/steelix/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 8 -mheight 8 +$(POKEMONGFXDIR)/steelix/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 8 -mheight 8 + $(POKEMONGFXDIR)/snubbull/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1452,21 +1563,33 @@ $(POKEMONGFXDIR)/qwilfish/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/scizor/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/scizor/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/shuckle/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/heracross/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/heracross/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/sneasel/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/sneasel/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/teddiursa/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/ursaring/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/ursaring/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/slugma/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1479,6 +1602,9 @@ $(POKEMONGFXDIR)/swinub/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/piloswine/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/piloswine/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/corsola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1488,6 +1614,9 @@ $(POKEMONGFXDIR)/remoraid/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/octillery/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/octillery/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/delibird/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1503,6 +1632,9 @@ $(POKEMONGFXDIR)/houndour/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/houndoom/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/houndoom/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/kingdra/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1512,6 +1644,9 @@ $(POKEMONGFXDIR)/phanpy/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/donphan/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/donphan/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/porygon2/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1581,12 +1716,21 @@ $(POKEMONGFXDIR)/sceptile/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/torchic/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/torchic/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/combusken/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/combusken/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/blaziken/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/blaziken/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/mudkip/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1617,12 +1761,18 @@ $(POKEMONGFXDIR)/silcoon/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/beautifly/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/beautifly/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/cascoon/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/dustox/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/dustox/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/lotad/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1632,15 +1782,24 @@ $(POKEMONGFXDIR)/lombre/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/ludicolo/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/ludicolo/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/seedot/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/nuzleaf/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/nuzleaf/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/shiftry/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/shiftry/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/taillow/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1737,9 +1896,15 @@ $(POKEMONGFXDIR)/aggron/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/meditite/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/meditite/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/medicham/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/medicham/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/electrike/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1761,12 +1926,21 @@ $(POKEMONGFXDIR)/illumise/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/roselia/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/roselia/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/gulpin/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/gulpin/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/swalot/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/swalot/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/carvanha/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1782,9 +1956,15 @@ $(POKEMONGFXDIR)/wailord/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/numel/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/numel/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/camerupt/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/camerupt/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/torkoal/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1812,6 +1992,9 @@ $(POKEMONGFXDIR)/cacnea/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/cacturne/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/cacturne/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/swablu/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1866,6 +2049,9 @@ $(POKEMONGFXDIR)/feebas/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/milotic/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/milotic/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/castform/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -1932,6 +2118,9 @@ $(POKEMONGFXDIR)/gorebyss/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/relicanth/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/relicanth/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/luvdisc/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -2013,39 +2202,72 @@ $(POKEMONGFXDIR)/empoleon/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/starly/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/starly/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/staravia/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/staravia/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/staraptor/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/staraptor/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/bidoof/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/bidoof/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/bibarel/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/bibarel/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/kricketot/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/kricketot/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/kricketune/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/kricketune/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/shinx/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/shinx/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/luxio/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/luxio/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/luxray/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/luxray/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/budew/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/roserade/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/roserade/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/cranidos/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -2070,18 +2292,30 @@ $(POKEMONGFXDIR)/mothim/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/combee/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/combee/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/vespiquen/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/pachirisu/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/pachirisu/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/buizel/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/buizel/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/floatzel/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/floatzel/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/cherubi/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -2097,6 +2331,9 @@ $(POKEMONGFXDIR)/gastrodon/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/ambipom/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/ambipom/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/drifloon/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -2154,12 +2391,21 @@ $(POKEMONGFXDIR)/spiritomb/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/gible/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/gible/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/gabite/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/gabite/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/garchomp/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/garchomp/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/munchlax/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -2172,9 +2418,15 @@ $(POKEMONGFXDIR)/lucario/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/hippopotas/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/hippopotas/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/hippowdon/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/hippowdon/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/skorupi/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -2184,30 +2436,51 @@ $(POKEMONGFXDIR)/drapion/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/croagunk/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/croagunk/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/toxicroak/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/toxicroak/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/carnivine/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/finneon/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/finneon/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/lumineon/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/lumineon/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/mantyke/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/snover/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/snover/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/abomasnow/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/abomasnow/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/weavile/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/weavile/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/magnezone/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -2217,9 +2490,15 @@ $(POKEMONGFXDIR)/lickilicky/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/rhyperior/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/rhyperior/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/tangrowth/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/tangrowth/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/electivire/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -2244,6 +2523,9 @@ $(POKEMONGFXDIR)/gliscor/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/mamoswine/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/mamoswine/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/porygon_z/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -2388,6 +2670,9 @@ $(POKEMONGFXDIR)/tranquill/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/unfezant/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/unfezant/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/blitzle/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -2601,9 +2886,15 @@ $(POKEMONGFXDIR)/amoonguss/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/frillish/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/frillish/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/jellicent/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/jellicent/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/alomomola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -2829,6 +3120,9 @@ $(POKEMONGFXDIR)/litleo/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/pyroar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/pyroar/overworldf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/flabebe/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 @@ -2859,7 +3153,7 @@ $(POKEMONGFXDIR)/espurr/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/meowstic/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/meowstic/female/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/meowstic/f/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/honedge/overworld.4bpp: %.4bpp: %.png @@ -3474,7 +3768,7 @@ $(POKEMONGFXDIR)/eiscue/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/indeedee/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/indeedee/female/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/indeedee/f/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/morpeko/overworld.4bpp: %.4bpp: %.png @@ -3549,115 +3843,118 @@ $(POKEMONGFXDIR)/spectrier/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/calyrex/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/calyrex/shadow_rider/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/calyrex/shadow/overworld.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(POKEMONGFXDIR)/calyrex/ice/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/calyrex/ice_rider/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/zapdos/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/zapdos/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/meowth/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/meowth/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/ponyta/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/ponyta/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/rapidash/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/rapidash/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/slowpoke/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/slowpoke/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/slowbro/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/slowbro/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/farfetchd/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/farfetchd/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/weezing/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/weezing/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/mr_mime/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/mr_mime/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/articuno/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/articuno/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/moltres/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/moltres/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/slowking/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/slowking/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/corsola/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/corsola/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/zigzagoon/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/zigzagoon/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/linoone/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/linoone/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/darumaka/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/darumaka/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/darmanitan/galar_standard/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/darmanitan/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/yamask/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/yamask/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/stunfisk/galar/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/stunfisk/galarian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/growlithe/hisui/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/growlithe/hisuian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/arcanine/hisui/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/arcanine/hisuian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/voltorb/hisui/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/voltorb/hisuian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/electrode/hisui/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/electrode/hisuian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/braviary/hisui/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/braviary/hisuian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/qwilfish/hisui/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/qwilfish/hisuian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/sneasel/hisui/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/sneasel/hisuian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/sneasel/hisui/overworldf.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/zorua/hisuian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/zorua/hisui/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/zoroark/hisuian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/zoroark/hisui/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/samurott/hisuian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/samurott/hisui/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/lilligant/hisuian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/lilligant/hisui/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/sliggoo/hisuian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/sliggoo/hisui/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/goodra/hisuian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/goodra/hisui/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/avalugg/hisuian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/avalugg/hisui/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/decidueye/hisuian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/decidueye/hisui/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/typhlosion/hisuian/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/typhlosion/hisui/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/dialga/origin/overworld.4bpp: %.4bpp: %.png @@ -3678,7 +3975,7 @@ $(POKEMONGFXDIR)/basculin/white_striped/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/basculegion/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/basculegion/female/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/basculegion/f/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/ursaluna/overworld.4bpp: %.4bpp: %.png @@ -3708,22 +4005,22 @@ $(POKEMONGFXDIR)/deoxys/defense/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/deoxys/speed/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/burmy/sandy_cloak/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/burmy/sandy/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/burmy/trash_cloak/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/burmy/trash/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/wormadam/sandy_cloak/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/wormadam/sandy/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/wormadam/trash_cloak/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/wormadam/trash/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/shellos/east_sea/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/shellos/east/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/gastrodon/east_sea/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/gastrodon/east/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/rotom/heat/overworld.4bpp: %.4bpp: %.png @@ -3876,43 +4173,43 @@ $(POKEMONGFXDIR)/vivillon/poke_ball/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/vivillon/meadow/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/flabebe/yellow_flower/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/flabebe/yellow/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/flabebe/blue_flower/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/flabebe/blue/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/flabebe/orange_flower/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/flabebe/orange/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/flabebe/white_flower/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/flabebe/white/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/floette/yellow_flower/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/floette/yellow/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/floette/blue_flower/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/floette/blue/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/floette/orange_flower/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/floette/orange/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/floette/white_flower/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/floette/white/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/floette/eternal_flower/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/floette/eternal/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/florges/yellow_flower/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/florges/yellow/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/florges/blue_flower/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/florges/blue/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/florges/orange_flower/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/florges/orange/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/florges/white_flower/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/florges/white/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/furfrou/heart_trim/overworld.4bpp: %.4bpp: %.png @@ -3945,61 +4242,61 @@ $(POKEMONGFXDIR)/furfrou/pharaoh_trim/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/hoopa/unbound/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 8 -mheight 8 -$(POKEMONGFXDIR)/rattata/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/rattata/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/raticate/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/raticate/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/raichu/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/raichu/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/sandshrew/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/sandshrew/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/sandslash/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/sandslash/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/vulpix/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/vulpix/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/ninetales/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/ninetales/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/diglett/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/diglett/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/dugtrio/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/dugtrio/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/meowth/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/meowth/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/persian/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/persian/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/geodude/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/geodude/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/graveler/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/graveler/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/golem/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/golem/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/grimer/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/grimer/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/muk/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/muk/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/exeggutor/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/exeggutor/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 8 -mheight 8 -$(POKEMONGFXDIR)/marowak/alolan/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/marowak/alola/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/wooper/wooper_paldean/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/wooper/paldea/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/clodsire/overworld.4bpp: %.4bpp: %.png @@ -4038,7 +4335,7 @@ $(POKEMONGFXDIR)/lechonk/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/oinkologne/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/oinkologne/female/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/oinkologne/f/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/tarountula/overworld.4bpp: %.4bpp: %.png @@ -4089,13 +4386,13 @@ $(POKEMONGFXDIR)/arboliva/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/squawkabilly/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/squawkabilly/blue_plumage/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/squawkabilly/blue/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/squawkabilly/white_plumage/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/squawkabilly/white/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/squawkabilly/yellow_plumage/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/squawkabilly/yellow/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/nacli/overworld.4bpp: %.4bpp: %.png @@ -4401,13 +4698,13 @@ $(POKEMONGFXDIR)/terapagos/terastal/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/pecharunt/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/tauros/paldean_aqua_breed/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/tauros/paldea_aqua/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/tauros/paldean_blaze_breed/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/tauros/paldea_blaze/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 -$(POKEMONGFXDIR)/tauros/paldean_combat_breed/overworld.4bpp: %.4bpp: %.png +$(POKEMONGFXDIR)/tauros/paldea_combat/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 $(POKEMONGFXDIR)/ursaluna/bloodmoon/overworld.4bpp: %.4bpp: %.png diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index e41be6971c98..3c031de092c7 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -46,7 +46,7 @@ EWRAM_DATA AiScoreFunc sDynamicAiFunc = NULL; static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); static s32 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); -static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); +static s32 AI_ForceSetupFirstTurn(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); static s32 AI_Risky(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); static s32 AI_PreferStrongestMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); static s32 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); @@ -64,7 +64,7 @@ static s32 (*const sBattleAiFuncTable[])(u32, u32, u32, s32) = [0] = AI_CheckBadMove, // AI_FLAG_CHECK_BAD_MOVE [1] = AI_TryToFaint, // AI_FLAG_TRY_TO_FAINT [2] = AI_CheckViability, // AI_FLAG_CHECK_VIABILITY - [3] = AI_SetupFirstTurn, // AI_FLAG_SETUP_FIRST_TURN + [3] = AI_ForceSetupFirstTurn, // AI_FLAG_FORCE_SETUP_FIRST_TURN [4] = AI_Risky, // AI_FLAG_RISKY [5] = AI_PreferStrongestMove, // AI_FLAG_PREFER_STRONGEST_MOVE [6] = AI_PreferBatonPass, // AI_FLAG_PREFER_BATON_PASS @@ -174,7 +174,7 @@ static u32 GetAiFlags(u16 trainerId) flags = GetTrainerAIFlagsFromId(trainerId); } - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { flags |= AI_FLAG_DOUBLE_BATTLE; } @@ -196,14 +196,12 @@ void BattleAI_SetupFlags(void) else AI_THINKING_STRUCT->aiFlags[B_POSITION_PLAYER_LEFT] = 0; // player has no AI -#if DEBUG_OVERWORLD_MENU == TRUE - if (gIsDebugBattle) + if (DEBUG_OVERWORLD_MENU && gIsDebugBattle) { AI_THINKING_STRUCT->aiFlags[B_POSITION_OPPONENT_LEFT] = gDebugAIFlags; AI_THINKING_STRUCT->aiFlags[B_POSITION_OPPONENT_RIGHT] = gDebugAIFlags; return; } -#endif if (IsWildMonSmart() && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER))) { @@ -224,7 +222,7 @@ void BattleAI_SetupFlags(void) { AI_THINKING_STRUCT->aiFlags[B_POSITION_PLAYER_RIGHT] = GetAiFlags(gPartnerTrainerId - TRAINER_PARTNER(PARTNER_NONE)); } - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && IsAiVsAiBattle()) + else if (IsDoubleBattle() && IsAiVsAiBattle()) { AI_THINKING_STRUCT->aiFlags[B_POSITION_PLAYER_RIGHT] = AI_THINKING_STRUCT->aiFlags[B_POSITION_PLAYER_LEFT]; } @@ -234,7 +232,6 @@ void BattleAI_SetupFlags(void) } } -// sBattler_AI set in ComputeBattleAiScores void BattleAI_SetupAIData(u8 defaultScoreMoves, u32 battler) { s32 i; @@ -262,7 +259,7 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves, u32 battler) // Ignore moves that aren't possible to use. for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBitTable[i] & moveLimitations) + if ((1u << i) & moveLimitations) SET_SCORE(battler, i, 0); } @@ -275,7 +272,7 @@ u32 BattleAI_ChooseMoveOrAction(void) { u32 ret; - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if (!IsDoubleBattle()) ret = ChooseMoveOrAction_Singles(sBattler_AI); else ret = ChooseMoveOrAction_Doubles(sBattler_AI); @@ -289,14 +286,6 @@ u32 BattleAI_ChooseMoveOrAction(void) return ret; } -// damages/other info computed in GetAIDataAndCalcDmg -u32 ComputeBattleAiScores(u32 battler) -{ - sBattler_AI = battler; - BattleAI_SetupAIData(0xF, sBattler_AI); - return BattleAI_ChooseMoveOrAction(); -} - static void CopyBattlerDataToAIParty(u32 bPosition, u32 side) { u32 battler = GetBattlerAtPosition(bPosition); @@ -323,7 +312,7 @@ void Ai_InitPartyStruct(void) // Save first 2 or 4(in doubles) mons CopyBattlerDataToAIParty(B_POSITION_PLAYER_LEFT, B_SIDE_PLAYER); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) CopyBattlerDataToAIParty(B_POSITION_PLAYER_RIGHT, B_SIDE_PLAYER); // If player's partner is AI, save opponent mons @@ -391,7 +380,7 @@ void Ai_UpdateFaintData(u32 battler) aiMon->isFainted = TRUE; } -static void SetBattlerAiData(u32 battler, struct AiLogicData *aiData) +void SetBattlerAiData(u32 battler, struct AiLogicData *aiData) { u32 ability, holdEffect; @@ -399,7 +388,7 @@ static void SetBattlerAiData(u32 battler, struct AiLogicData *aiData) aiData->items[battler] = gBattleMons[battler].item; holdEffect = aiData->holdEffects[battler] = AI_DecideHoldEffectForTurn(battler); aiData->holdEffectParams[battler] = GetBattlerHoldEffectParam(battler); - aiData->predictedMoves[battler] = gLastMoves[battler]; + aiData->lastUsedMove[battler] = gLastMoves[battler]; aiData->hpPercents[battler] = GetHealthPercentage(battler); aiData->moveLimitations[battler] = CheckMoveLimitations(battler, 0, MOVE_LIMITATIONS_ALL); aiData->speedStats[battler] = GetBattlerTotalSpeedStatArgs(battler, ability, holdEffect); @@ -418,14 +407,13 @@ static u32 Ai_SetMoveAccuracy(struct AiLogicData *aiData, u32 battlerAtk, u32 ba return accuracy; } -static void SetBattlerAiMovesData(struct AiLogicData *aiData, u32 battlerAtk, u32 battlersCount) +static void SetBattlerAiMovesData(struct AiLogicData *aiData, u32 battlerAtk, u32 battlersCount, u32 weather) { - u32 battlerDef, i, weather; u16 *moves; - + u32 battlerDef, moveIndex, move; + u32 rollType = GetDmgRollType(battlerAtk); SaveBattlerData(battlerAtk); moves = GetMovesArray(battlerAtk); - weather = AI_GetWeather(aiData); SetBattlerData(battlerAtk); @@ -437,27 +425,22 @@ static void SetBattlerAiMovesData(struct AiLogicData *aiData, u32 battlerAtk, u3 SaveBattlerData(battlerDef); SetBattlerData(battlerDef); - for (i = 0; i < MAX_MON_MOVES; i++) + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) { struct SimulatedDamage dmg = {0}; u8 effectiveness = AI_EFFECTIVENESS_x0; - u32 move = moves[i]; + move = moves[moveIndex]; if (move != 0 && move != 0xFFFF //&& gMovesInfo[move].power != 0 /* we want to get effectiveness and accuracy of status moves */ - && !(aiData->moveLimitations[battlerAtk] & gBitTable[i])) + && !(aiData->moveLimitations[battlerAtk] & (1u << moveIndex))) { - if (AI_THINKING_STRUCT->aiFlags[battlerAtk] & AI_FLAG_RISKY) - dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, TRUE, weather, DMG_ROLL_HIGHEST); - else if (AI_THINKING_STRUCT->aiFlags[battlerAtk] & AI_FLAG_CONSERVATIVE) - dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, TRUE, weather, DMG_ROLL_LOWEST); - else - dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, TRUE, weather, DMG_ROLL_DEFAULT); - aiData->moveAccuracy[battlerAtk][battlerDef][i] = Ai_SetMoveAccuracy(aiData, battlerAtk, battlerDef, move); + dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, TRUE, weather, rollType); + aiData->moveAccuracy[battlerAtk][battlerDef][moveIndex] = Ai_SetMoveAccuracy(aiData, battlerAtk, battlerDef, move); } - aiData->simulatedDmg[battlerAtk][battlerDef][i] = dmg; - aiData->effectiveness[battlerAtk][battlerDef][i] = effectiveness; + aiData->simulatedDmg[battlerAtk][battlerDef][moveIndex] = dmg; + aiData->effectiveness[battlerAtk][battlerDef][moveIndex] = effectiveness; } RestoreBattlerData(battlerDef); } @@ -466,7 +449,7 @@ static void SetBattlerAiMovesData(struct AiLogicData *aiData, u32 battlerAtk, u3 void SetAiLogicDataForTurn(struct AiLogicData *aiData) { - u32 battlerAtk, battlersCount; + u32 battlerAtk, battlersCount, weather; memset(aiData, 0, sizeof(struct AiLogicData)); if (!(gBattleTypeFlags & BATTLE_TYPE_HAS_AI) && !IsWildMonSmart()) @@ -476,9 +459,12 @@ void SetAiLogicDataForTurn(struct AiLogicData *aiData) gBattleStruct->aiDelayTimer = gMain.vblankCounter1; aiData->weatherHasEffect = WEATHER_HAS_EFFECT; + weather = AI_GetWeather(aiData); + // get/assume all battler data and simulate AI damage battlersCount = gBattlersCount; + AI_DATA->aiCalcInProgress = TRUE; for (battlerAtk = 0; battlerAtk < battlersCount; battlerAtk++) { if (!IsBattlerAlive(battlerAtk)) @@ -492,91 +478,9 @@ void SetAiLogicDataForTurn(struct AiLogicData *aiData) if (!IsBattlerAlive(battlerAtk)) continue; - SetBattlerAiMovesData(aiData, battlerAtk, battlersCount); - } -} - -static bool32 AI_SwitchMonIfSuitable(u32 battler, bool32 doubleBattle) -{ - u32 monToSwitchId = AI_DATA->mostSuitableMonId[battler]; - if (monToSwitchId != PARTY_SIZE && IsValidForBattle(&GetBattlerParty(battler)[monToSwitchId])) - { - gBattleMoveDamage = monToSwitchId; - // Edge case: See if partner already chose to switch into the same mon - if (doubleBattle) - { - u32 partner = BATTLE_PARTNER(battler); - if (AI_DATA->shouldSwitchMon & gBitTable[partner] && AI_DATA->monToSwitchId[partner] == monToSwitchId) - { - return FALSE; - } - } - AI_DATA->shouldSwitchMon |= gBitTable[battler]; - AI_DATA->monToSwitchId[battler] = monToSwitchId; - return TRUE; + SetBattlerAiMovesData(aiData, battlerAtk, battlersCount, weather); } - return FALSE; -} - -static bool32 AI_ShouldSwitchIfBadMoves(u32 battler, bool32 doubleBattle) -{ - u32 i, j; - // If can switch. - if (CountUsablePartyMons(battler) > 0 - && !IsBattlerTrapped(battler, TRUE) - && !(gBattleTypeFlags & (BATTLE_TYPE_ARENA | BATTLE_TYPE_PALACE)) - && AI_THINKING_STRUCT->aiFlags[battler] & (AI_FLAG_CHECK_VIABILITY | AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_PREFER_BATON_PASS) - && !(AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_SEQUENCE_SWITCHING)) - { - // Consider switching if all moves are worthless to use. - if (GetTotalBaseStat(gBattleMons[battler].species) >= 310 // Mon is not weak. - && gBattleMons[battler].hp >= gBattleMons[battler].maxHP / 2) // Mon has more than 50% of its HP - { - s32 cap = AI_THINKING_STRUCT->aiFlags[battler] & (AI_FLAG_CHECK_VIABILITY) ? 95 : 93; - if (doubleBattle) - { - for (i = 0; i < MAX_BATTLERS_COUNT; i++) - { - if (i != battler && IsBattlerAlive(i)) - { - for (j = 0; j < MAX_MON_MOVES; j++) - { - if (gBattleStruct->aiFinalScore[battler][i][j] > cap) - break; - } - if (j != MAX_MON_MOVES) - break; - } - } - if (i == MAX_BATTLERS_COUNT && AI_SwitchMonIfSuitable(battler, doubleBattle)) - return TRUE; - } - else - { - for (i = 0; i < MAX_MON_MOVES; i++) - { - if (AI_THINKING_STRUCT->score[i] > cap) - break; - } - - if (i == MAX_MON_MOVES && AI_SwitchMonIfSuitable(battler, doubleBattle)) - return TRUE; - } - - } - - // Consider switching if your mon with truant is bodied by Protect spam. - // Or is using a double turn semi invulnerable move(such as Fly) and is faster. - if (AI_DATA->abilities[battler] == ABILITY_TRUANT - && IsTruantMonVulnerable(battler, gBattlerTarget) - && gDisableStructs[battler].truantCounter - && gBattleMons[battler].hp >= gBattleMons[battler].maxHP / 2 - && AI_SwitchMonIfSuitable(battler, doubleBattle)) - { - return TRUE; - } - } - return FALSE; + AI_DATA->aiCalcInProgress = FALSE; } static u32 ChooseMoveOrAction_Singles(u32 battlerAi) @@ -609,10 +513,6 @@ static u32 ChooseMoveOrAction_Singles(u32 battlerAi) if (AI_THINKING_STRUCT->aiAction & AI_ACTION_WATCH) return AI_CHOICE_WATCH; - // Switch mon if there are no good moves to use. - if (AI_ShouldSwitchIfBadMoves(battlerAi, FALSE)) - return AI_CHOICE_SWITCH; - numOfBestMoves = 1; currentMoveArray[0] = AI_THINKING_STRUCT->score[0]; consideredMoveArray[0] = 0; @@ -733,10 +633,6 @@ static u32 ChooseMoveOrAction_Doubles(u32 battlerAi) } } - // Switch mon if all of the moves are bad to use against any of the target. - if (AI_ShouldSwitchIfBadMoves(battlerAi, TRUE)) - return AI_CHOICE_SWITCH; - mostMovePoints = bestMovePointsForTarget[0]; mostViableTargetsArray[0] = 0; mostViableTargetsNo = 1; @@ -814,19 +710,19 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) s8 atkPriority = GetMovePriority(battlerAtk, move); u32 moveEffect = gMovesInfo[move].effect; s32 moveType; - u32 moveTarget = AI_GetBattlerMoveTargetType(battlerAtk, move); + u32 moveTarget = GetBattlerMoveTargetType(battlerAtk, move); struct AiLogicData *aiData = AI_DATA; u32 effectiveness = aiData->effectiveness[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex]; bool32 isDoubleBattle = IsValidDoubleBattle(battlerAtk); u32 i; u32 weather; - u32 predictedMove = aiData->predictedMoves[battlerDef]; + u32 predictedMove = aiData->lastUsedMove[battlerDef]; if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) return score; SetTypeBeforeUsingMove(move, battlerAtk); - GET_MOVE_TYPE(move, moveType); + moveType = GetMoveType(move); if (gMovesInfo[move].powderMove && !IsAffectedByPowder(battlerDef, aiData->abilities[battlerDef], aiData->holdEffects[battlerDef])) RETURN_SCORE_MINUS(10); @@ -837,6 +733,9 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) if (IsTwoTurnNotSemiInvulnerableMove(battlerAtk, move) && CanTargetFaintAi(battlerDef, battlerAtk)) RETURN_SCORE_MINUS(10); + if (gBattleStruct->commandingDondozo & (1u << battlerDef)) + RETURN_SCORE_MINUS(20); + // check if negates type switch (effectiveness) { @@ -857,6 +756,8 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) case EFFECT_COUNTER: case EFFECT_MIRROR_COAT: case EFFECT_METAL_BURST: + case EFFECT_FINAL_GAMBIT: + case EFFECT_GUARDIAN_OF_ALOLA: break; default: RETURN_SCORE_MINUS(10); @@ -870,6 +771,12 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) // target ability checks if (!DoesBattlerIgnoreAbilityChecks(aiData->abilities[battlerAtk], move)) { + if (CanAbilityBlockMove(battlerAtk, battlerDef, move, aiData->abilities[battlerDef])) + RETURN_SCORE_MINUS(20); + + if (CanAbilityAbsorbMove(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, moveType)) + RETURN_SCORE_MINUS(20); + switch (aiData->abilities[battlerDef]) { case ABILITY_MAGIC_GUARD: @@ -900,12 +807,6 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) && (moveType == TYPE_DARK || moveType == TYPE_GHOST || moveType == TYPE_BUG)) RETURN_SCORE_MINUS(10); break; - case ABILITY_DAZZLING: - case ABILITY_QUEENLY_MAJESTY: - case ABILITY_ARMOR_TAIL: - if (atkPriority > 0) - RETURN_SCORE_MINUS(10); - break; case ABILITY_AROMA_VEIL: if (IsAromaVeilProtectedMove(move)) RETURN_SCORE_MINUS(10); @@ -969,37 +870,14 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) && IsNonVolatileStatusMoveEffect(moveEffect)) RETURN_SCORE_MINUS(10); break; - case ABILITY_LIGHTNING_ROD: - if (B_REDIRECT_ABILITY_IMMUNITY < GEN_5) - break; - // Fallthrough - case ABILITY_MOTOR_DRIVE: - case ABILITY_VOLT_ABSORB: - if (moveType == TYPE_ELECTRIC) - RETURN_SCORE_MINUS(20); - break; - case ABILITY_STORM_DRAIN: - if (B_REDIRECT_ABILITY_IMMUNITY < GEN_5) - break; - // Fallthrough - case ABILITY_WATER_ABSORB: - case ABILITY_DRY_SKIN: - if (moveType == TYPE_WATER) - RETURN_SCORE_MINUS(20); - break; - case ABILITY_FLASH_FIRE: - if (moveType == TYPE_FIRE) - RETURN_SCORE_MINUS(20); - break; - case ABILITY_EARTH_EATER: - if (moveType == TYPE_GROUND) - RETURN_SCORE_MINUS(20); - break; } // def ability checks // target partner ability checks & not attacking partner if (isDoubleBattle) { + if (CanPartnerAbilityBlockMove(battlerAtk, battlerDef, move, aiData->abilities[BATTLE_PARTNER(battlerDef)])) + RETURN_SCORE_MINUS(20); + switch (aiData->abilities[BATTLE_PARTNER(battlerDef)]) { case ABILITY_LIGHTNING_ROD: @@ -1026,12 +904,6 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) if (IsAromaVeilProtectedMove(move)) RETURN_SCORE_MINUS(10); break; - case ABILITY_DAZZLING: - case ABILITY_QUEENLY_MAJESTY: - case ABILITY_ARMOR_TAIL: - if (atkPriority > 0) - RETURN_SCORE_MINUS(10); - break; } } // def partner ability checks } // ignore def ability check @@ -1043,19 +915,19 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) RETURN_SCORE_MINUS(10); // terrain & effect checks - if (AI_IsTerrainAffected(battlerDef, STATUS_FIELD_ELECTRIC_TERRAIN)) + if (IsBattlerTerrainAffected(battlerDef, STATUS_FIELD_ELECTRIC_TERRAIN)) { if (moveEffect == EFFECT_SLEEP || moveEffect == EFFECT_YAWN) RETURN_SCORE_MINUS(20); } - if (AI_IsTerrainAffected(battlerDef, STATUS_FIELD_MISTY_TERRAIN)) + if (IsBattlerTerrainAffected(battlerDef, STATUS_FIELD_MISTY_TERRAIN)) { if (IsNonVolatileStatusMoveEffect(moveEffect) || IsConfusionMoveEffect(moveEffect)) RETURN_SCORE_MINUS(20); } - if (AI_IsTerrainAffected(battlerAtk, STATUS_FIELD_PSYCHIC_TERRAIN) && atkPriority > 0) + if (IsBattlerTerrainAffected(battlerAtk, STATUS_FIELD_PSYCHIC_TERRAIN) && atkPriority > 0) { RETURN_SCORE_MINUS(20); } @@ -1276,10 +1148,10 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) if (isDoubleBattle) { if (!(IS_BATTLER_OF_TYPE(battlerAtk, TYPE_GRASS) - && AI_IsBattlerGrounded(battlerAtk) + && IsBattlerGrounded(battlerAtk) && (BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_ATK) || BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPATK))) && !(IS_BATTLER_OF_TYPE(BATTLE_PARTNER(battlerAtk), TYPE_GRASS) - && AI_IsBattlerGrounded(BATTLE_PARTNER(battlerAtk)) + && IsBattlerGrounded(BATTLE_PARTNER(battlerAtk)) && aiData->abilities[BATTLE_PARTNER(battlerAtk)] != ABILITY_CONTRARY && (BattlerStatCanRise(BATTLE_PARTNER(battlerAtk), aiData->abilities[BATTLE_PARTNER(battlerAtk)], STAT_ATK) || BattlerStatCanRise(BATTLE_PARTNER(battlerAtk), aiData->abilities[BATTLE_PARTNER(battlerAtk)], STAT_SPATK)))) @@ -1288,7 +1160,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) } } else if (!(IS_BATTLER_OF_TYPE(battlerAtk, TYPE_GRASS) - && AI_IsBattlerGrounded(battlerAtk) + && IsBattlerGrounded(battlerAtk) && (BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_ATK) || BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPATK)))) { ADJUST_SCORE(-10); @@ -1531,6 +1403,16 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) else if (HasSubstituteIgnoringMove(battlerDef)) ADJUST_SCORE(-8); break; + case EFFECT_SHED_TAIL: + if (CountUsablePartyMons(battlerAtk) == 0) + ADJUST_SCORE(-10); + if (gBattleMons[battlerAtk].status2 & STATUS2_SUBSTITUTE || aiData->abilities[battlerDef] == ABILITY_INFILTRATOR) + ADJUST_SCORE(-8); + else if (aiData->hpPercents[battlerAtk] <= 50) + ADJUST_SCORE(-10); + else if (HasSubstituteIgnoringMove(battlerDef)) + ADJUST_SCORE(-8); + break; case EFFECT_LEECH_SEED: if (gStatuses3[battlerDef] & STATUS3_LEECHSEED || IS_BATTLER_OF_TYPE(battlerDef, TYPE_GRASS) @@ -1739,6 +1621,14 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) break; case EFFECT_HIT_ESCAPE: break; + case EFFECT_CHILLY_RECEPTION: + if (CountUsablePartyMons(battlerAtk) == 0) + ADJUST_SCORE(-10); + else if (weather & (B_WEATHER_SNOW | B_WEATHER_PRIMAL_ANY) || IsMoveEffectWeather(aiData->partnerMove)) + ADJUST_SCORE(-8); + else if (weather & B_WEATHER_HAIL) + ADJUST_SCORE(-2); // mainly to prevent looping between hail and snow + break; case EFFECT_BELLY_DRUM: case EFFECT_FILLET_AWAY: if (aiData->abilities[battlerAtk] == ABILITY_CONTRARY) @@ -1810,6 +1700,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) break; case EFFECT_TRICK: case EFFECT_KNOCK_OFF: + case EFFECT_CORROSIVE_GAS: if (aiData->abilities[battlerDef] == ABILITY_STICKY_HOLD) ADJUST_SCORE(-10); break; @@ -2050,7 +1941,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) } /*if (AI_THINKING_STRUCT->aiFlags[battlerAtk] == AI_SCRIPT_CHECK_BAD_MOVE //Only basic AI - && IS_DOUBLE_BATTLE) //Make the regular AI know how to use Protect minimally in Doubles + && IsDoubleBattle()) //Make the regular AI know how to use Protect minimally in Doubles { u8 shouldProtect = ShouldProtect(battlerAtk, battlerDef, move); if (shouldProtect == USE_PROTECT || shouldProtect == PROTECT_FROM_FOES) @@ -2158,6 +2049,17 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) else if (IsAbilityOfRating(aiData->abilities[battlerAtk], 5)) ADJUST_SCORE(-4); break; + case EFFECT_DOODLE: // Same as Role Play, but also check if the partner's ability should be replaced + if (aiData->abilities[battlerAtk] == aiData->abilities[battlerDef] + || aiData->abilities[BATTLE_PARTNER(battlerAtk)] == aiData->abilities[battlerDef] + || aiData->abilities[battlerDef] == ABILITY_NONE + || gAbilitiesInfo[aiData->abilities[battlerAtk]].cantBeSuppressed + || gAbilitiesInfo[aiData->abilities[BATTLE_PARTNER(battlerAtk)]].cantBeSuppressed + || gAbilitiesInfo[aiData->abilities[battlerDef]].cantBeCopied) + ADJUST_SCORE(-10); + else if (IsAbilityOfRating(aiData->abilities[battlerAtk], 5) || IsAbilityOfRating(aiData->abilities[BATTLE_PARTNER(battlerAtk)], 5)) + ADJUST_SCORE(-4); + break; case EFFECT_WISH: if (gWishFutureKnock.wishCounter[battlerAtk] != 0) ADJUST_SCORE(-10); @@ -2539,7 +2441,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) } else { - if (AI_GetBattlerMoveTargetType(battlerDef, instructedMove) & (MOVE_TARGET_SELECTED + if (GetBattlerMoveTargetType(battlerDef, instructedMove) & (MOVE_TARGET_SELECTED | MOVE_TARGET_DEPENDS | MOVE_TARGET_RANDOM | MOVE_TARGET_BOTH @@ -2603,12 +2505,6 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) else ADJUST_SCORE(-10); break; - case EFFECT_ERUPTION: - if (effectiveness <= AI_EFFECTIVENESS_x0_5) - ADJUST_SCORE(-1); - if (aiData->hpPercents[battlerDef] < 50) - ADJUST_SCORE(-1); - break; case EFFECT_FLAIL: if (AI_IsSlower(battlerAtk, battlerDef, move) // Opponent should go first || aiData->hpPercents[battlerAtk] > 50) @@ -2737,7 +2633,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) // move data u32 moveType = gMovesInfo[move].type; u32 effect = gMovesInfo[move].effect; - u32 moveTarget = AI_GetBattlerMoveTargetType(battlerAtk, move); + u32 moveTarget = GetBattlerMoveTargetType(battlerAtk, move); // ally data u32 battlerAtkPartner = BATTLE_PARTNER(battlerAtk); struct AiLogicData *aiData = AI_DATA; @@ -2746,10 +2642,10 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) bool32 partnerProtecting = (gMovesInfo[aiData->partnerMove].effect == EFFECT_PROTECT); bool32 attackerHasBadAbility = (gAbilitiesInfo[aiData->abilities[battlerAtk]].aiRating < 0); bool32 partnerHasBadAbility = (gAbilitiesInfo[atkPartnerAbility].aiRating < 0); - u32 predictedMove = aiData->predictedMoves[battlerDef]; + u32 predictedMove = aiData->lastUsedMove[battlerDef]; SetTypeBeforeUsingMove(move, battlerAtk); - GET_MOVE_TYPE(move, moveType); + moveType = GetMoveType(move); // check what effect partner is using if (aiData->partnerMove != 0) @@ -2773,6 +2669,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) case EFFECT_SNOWSCAPE: case EFFECT_RAIN_DANCE: case EFFECT_SANDSTORM: + case EFFECT_CHILLY_RECEPTION: if (IsMoveEffectWeather(move)) ADJUST_SCORE(-10); break; @@ -2852,6 +2749,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) } break; case EFFECT_SNOWSCAPE: + case EFFECT_CHILLY_RECEPTION: if (IsBattlerAlive(battlerAtkPartner) && ShouldSetSnow(battlerAtkPartner, atkPartnerAbility, atkPartnerHoldEffect)) { @@ -3017,15 +2915,26 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) case EFFECT_SKILL_SWAP: if (aiData->abilities[battlerAtk] != aiData->abilities[BATTLE_PARTNER(battlerAtk)] && !attackerHasBadAbility) { + // Partner abilities if (aiData->abilities[BATTLE_PARTNER(battlerAtk)] == ABILITY_TRUANT) { - RETURN_SCORE_PLUS(10); + ADJUST_SCORE(10); } - else if (aiData->abilities[battlerAtk] == ABILITY_COMPOUND_EYES - && HasMoveWithLowAccuracy(battlerAtkPartner, FOE(battlerAtkPartner), 90, TRUE, atkPartnerAbility, aiData->abilities[FOE(battlerAtkPartner)], atkPartnerHoldEffect, aiData->holdEffects[FOE(battlerAtkPartner)])) + else if (aiData->abilities[BATTLE_PARTNER(battlerAtk)] == ABILITY_INTIMIDATE) { - RETURN_SCORE_PLUS(3); + ADJUST_SCORE(DECENT_EFFECT); } + // Active mon abilities + if (aiData->abilities[battlerAtk] == ABILITY_COMPOUND_EYES + && HasMoveWithLowAccuracy(battlerAtkPartner, FOE(battlerAtkPartner), 90, TRUE, atkPartnerAbility, aiData->abilities[FOE(battlerAtkPartner)], atkPartnerHoldEffect, aiData->holdEffects[FOE(battlerAtkPartner)])) + { + ADJUST_SCORE(GOOD_EFFECT); + } + else if (aiData->abilities[battlerAtk] == ABILITY_CONTRARY && HasMoveThatLowersOwnStats(battlerAtkPartner)) + { + ADJUST_SCORE(GOOD_EFFECT); + } + return score; } break; case EFFECT_ROLE_PLAY: @@ -3066,7 +2975,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) if (instructedMove != MOVE_NONE && !IS_MOVE_STATUS(instructedMove) - && (AI_GetBattlerMoveTargetType(battlerAtkPartner, instructedMove) & (MOVE_TARGET_BOTH | MOVE_TARGET_FOES_AND_ALLY))) // Use instruct on multi-target moves + && (GetBattlerMoveTargetType(battlerAtkPartner, instructedMove) & (MOVE_TARGET_BOTH | MOVE_TARGET_FOES_AND_ALLY))) // Use instruct on multi-target moves { RETURN_SCORE_PLUS(WEAK_EFFECT); } @@ -3267,7 +3176,7 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) u32 effectiveness = aiData->effectiveness[battlerAtk][battlerDef][movesetIndex]; s32 score = 0; - u32 predictedMove = aiData->predictedMoves[battlerDef]; + u32 predictedMove = aiData->lastUsedMove[battlerDef]; u32 predictedMoveSlot = GetMoveSlot(GetMovesArray(battlerDef), predictedMove); bool32 isDoubleBattle = IsValidDoubleBattle(battlerAtk); u32 i; @@ -3479,6 +3388,7 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) break; case EFFECT_MULTI_HIT: case EFFECT_TRIPLE_KICK: + case EFFECT_POPULATION_BOMB: if (AI_MoveMakesContact(aiData->abilities[battlerAtk], aiData->holdEffects[battlerAtk], move) && aiData->abilities[battlerAtk] != ABILITY_MAGIC_GUARD && aiData->holdEffects[battlerDef] == HOLD_EFFECT_ROCKY_HELMET) @@ -3582,28 +3492,8 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) IncreaseParalyzeScore(battlerAtk, battlerDef, move, &score); break; case EFFECT_SUBSTITUTE: - if (HasAnyKnownMove(battlerDef) && GetBestDmgFromBattler(battlerDef, battlerAtk) < gBattleMons[battlerAtk].maxHP / 4) - ADJUST_SCORE(GOOD_EFFECT); - if (gStatuses3[battlerDef] & STATUS3_PERISH_SONG) - ADJUST_SCORE(GOOD_EFFECT); - if (gBattleMons[battlerDef].status1 & STATUS1_SLEEP) - ADJUST_SCORE(GOOD_EFFECT); - else if (gBattleMons[battlerDef].status1 & (STATUS1_BURN | STATUS1_PSN_ANY | STATUS1_FROSTBITE)) - ADJUST_SCORE(DECENT_EFFECT); - // TODO: - // if (IsPredictedToSwitch(battlerDef, battlerAtk) - // ADJUST_SCORE(DECENT_EFFECT); - if (HasMoveEffect(battlerDef, EFFECT_SLEEP) - || HasMoveEffect(battlerDef, EFFECT_TOXIC) - || HasMoveEffect(battlerDef, EFFECT_POISON) - || HasMoveEffect(battlerDef, EFFECT_PARALYZE) - || HasMoveEffect(battlerDef, EFFECT_WILL_O_WISP) - || HasMoveEffect(battlerDef, EFFECT_CONFUSE) - || HasMoveEffect(battlerDef, EFFECT_LEECH_SEED)) - ADJUST_SCORE(GOOD_EFFECT); - if (!gBattleMons[battlerDef].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION && aiData->hpPercents[battlerAtk] > 70)) - ADJUST_SCORE(WEAK_EFFECT); - break; + case EFFECT_SHED_TAIL: + IncreaseSubstituteMoveScore(battlerAtk, battlerDef, move, &score); case EFFECT_MIMIC: if (AI_IsFaster(battlerAtk, battlerDef, move)) { @@ -3631,16 +3521,17 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) //fallthrough case EFFECT_HIT_ESCAPE: case EFFECT_PARTING_SHOT: + case EFFECT_CHILLY_RECEPTION: if (!IsDoubleBattle()) { switch (ShouldPivot(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, movesetIndex)) { - case 0: // no + case DONT_PIVOT: ADJUST_SCORE(-10); // technically should go in CheckBadMove, but this is easier/less computationally demanding break; - case 1: // maybe + case CAN_TRY_PIVOT: break; - case 2: // yes + case SHOULD_PIVOT: ADJUST_SCORE(BEST_EFFECT); break; } @@ -3655,7 +3546,7 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) } break; case EFFECT_BATON_PASS: - if (ShouldSwitch(battlerAtk, FALSE) && (gBattleMons[battlerAtk].status2 & STATUS2_SUBSTITUTE + if ((AI_DATA->shouldSwitch & (1u << battlerAtk)) && (gBattleMons[battlerAtk].status2 & STATUS2_SUBSTITUTE || (gStatuses3[battlerAtk] & (STATUS3_ROOTED | STATUS3_AQUA_RING | STATUS3_MAGNET_RISE | STATUS3_POWER_TRICK)) || AnyStatIsRaised(battlerAtk))) ADJUST_SCORE(BEST_EFFECT); @@ -3730,24 +3621,24 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) ProtectChecks(battlerAtk, battlerDef, move, predictedMove, &score); break; case MOVE_WIDE_GUARD: - if (predictedMove != MOVE_NONE && AI_GetBattlerMoveTargetType(battlerDef, predictedMove) & (MOVE_TARGET_FOES_AND_ALLY | MOVE_TARGET_BOTH)) + if (predictedMove != MOVE_NONE && GetBattlerMoveTargetType(battlerDef, predictedMove) & (MOVE_TARGET_FOES_AND_ALLY | MOVE_TARGET_BOTH)) { ProtectChecks(battlerAtk, battlerDef, move, predictedMove, &score); } - else if (isDoubleBattle && AI_GetBattlerMoveTargetType(BATTLE_PARTNER(battlerAtk), aiData->partnerMove) & MOVE_TARGET_FOES_AND_ALLY) + else if (isDoubleBattle && GetBattlerMoveTargetType(BATTLE_PARTNER(battlerAtk), aiData->partnerMove) & MOVE_TARGET_FOES_AND_ALLY) { if (aiData->abilities[battlerAtk] != ABILITY_TELEPATHY) ProtectChecks(battlerAtk, battlerDef, move, predictedMove, &score); } break; case MOVE_CRAFTY_SHIELD: - if (predictedMove != MOVE_NONE && IS_MOVE_STATUS(predictedMove) && !(AI_GetBattlerMoveTargetType(battlerDef, predictedMove) & MOVE_TARGET_USER)) + if (predictedMove != MOVE_NONE && IS_MOVE_STATUS(predictedMove) && !(GetBattlerMoveTargetType(battlerDef, predictedMove) & MOVE_TARGET_USER)) ProtectChecks(battlerAtk, battlerDef, move, predictedMove, &score); break; case MOVE_MAT_BLOCK: if (gDisableStructs[battlerAtk].isFirstTurn && predictedMove != MOVE_NONE - && !IS_MOVE_STATUS(predictedMove) && !(AI_GetBattlerMoveTargetType(battlerDef, predictedMove) & MOVE_TARGET_USER)) + && !IS_MOVE_STATUS(predictedMove) && !(GetBattlerMoveTargetType(battlerDef, predictedMove) & MOVE_TARGET_USER)) ProtectChecks(battlerAtk, battlerDef, move, predictedMove, &score); break; case MOVE_KINGS_SHIELD: @@ -3948,7 +3839,7 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) ADJUST_SCORE(DECENT_EFFECT); break; case EFFECT_SAFEGUARD: - if (!AI_IsTerrainAffected(battlerAtk, STATUS_FIELD_MISTY_TERRAIN) || !IsBattlerGrounded(battlerAtk)) + if (!IsBattlerTerrainAffected(battlerAtk, STATUS_FIELD_MISTY_TERRAIN) || !IsBattlerGrounded(battlerAtk)) ADJUST_SCORE(DECENT_EFFECT); // TODO: check if opp has status move? //if (CountUsablePartyMons(battlerDef) != 0) //ADJUST_SCORE(8); @@ -4066,7 +3957,7 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) ADJUST_SCORE(DECENT_EFFECT); // Force 'em out next turn break; default: - if (move != MOVE_BESTOW && aiData->items[battlerAtk] == ITEM_NONE && aiData->items[battlerDef] != ITEM_NONE) + if (gMovesInfo[move].effect != EFFECT_BESTOW && aiData->items[battlerAtk] == ITEM_NONE && aiData->items[battlerDef] != ITEM_NONE) { switch (aiData->holdEffects[battlerDef]) { @@ -4098,11 +3989,27 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) } } break; + case EFFECT_CORROSIVE_GAS: + if (CanKnockOffItem(battlerDef, aiData->items[battlerDef])) + { + switch (aiData->holdEffects[battlerDef]) + { + case HOLD_EFFECT_IRON_BALL: + if (HasMoveEffect(battlerDef, EFFECT_FLING)) + ADJUST_SCORE(DECENT_EFFECT); + break; + case HOLD_EFFECT_LAGGING_TAIL: + case HOLD_EFFECT_STICKY_BARB: + break; + default: + ADJUST_SCORE(DECENT_EFFECT); + break; + } + } + break; case EFFECT_ROLE_PLAY: - if (!gAbilitiesInfo[aiData->abilities[battlerAtk]].cantBeSuppressed - && !gAbilitiesInfo[aiData->abilities[battlerDef]].cantBeCopied - && !IsAbilityOfRating(aiData->abilities[battlerAtk], 5) - && IsAbilityOfRating(aiData->abilities[battlerDef], 5)) + case EFFECT_DOODLE: + if (IsAbilityOfRating(aiData->abilities[battlerDef], 5)) ADJUST_SCORE(DECENT_EFFECT); break; case EFFECT_INGRAIN: @@ -4111,7 +4018,7 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) ADJUST_SCORE(GOOD_EFFECT); break; case EFFECT_MAGIC_COAT: - if (IS_MOVE_STATUS(predictedMove) && AI_GetBattlerMoveTargetType(battlerDef, predictedMove) & (MOVE_TARGET_SELECTED | MOVE_TARGET_OPPONENTS_FIELD | MOVE_TARGET_BOTH)) + if (IS_MOVE_STATUS(predictedMove) && GetBattlerMoveTargetType(battlerDef, predictedMove) & (MOVE_TARGET_SELECTED | MOVE_TARGET_OPPONENTS_FIELD | MOVE_TARGET_BOTH)) ADJUST_SCORE(GOOD_EFFECT); break; case EFFECT_RECYCLE: @@ -4443,7 +4350,7 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) break; case EFFECT_MAGNET_RISE: if (IsBattlerGrounded(battlerAtk) && HasDamagingMoveOfType(battlerDef, TYPE_ELECTRIC) - && !(AI_GetTypeEffectiveness(MOVE_EARTHQUAKE, battlerDef, battlerAtk) == AI_EFFECTIVENESS_x0)) // Doesn't resist ground move + && !(AI_GetMoveEffectiveness(MOVE_EARTHQUAKE, battlerDef, battlerAtk) == AI_EFFECTIVENESS_x0)) // Doesn't resist ground move { if (AI_IsFaster(battlerAtk, battlerDef, move)) // Attacker goes first { @@ -4461,7 +4368,7 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) break; case EFFECT_CAMOUFLAGE: if (predictedMove != MOVE_NONE && AI_IsFaster(battlerAtk, battlerDef, move) // Attacker goes first - && !IS_MOVE_STATUS(move) && AI_GetTypeEffectiveness(predictedMove, battlerDef, battlerAtk) != AI_EFFECTIVENESS_x0) + && !IS_MOVE_STATUS(move) && AI_GetMoveEffectiveness(predictedMove, battlerDef, battlerAtk) != AI_EFFECTIVENESS_x0) ADJUST_SCORE(DECENT_EFFECT); break; case EFFECT_TOXIC_THREAD: @@ -4790,7 +4697,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score } // Effects that are encouraged on the first turn of battle -static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) +static s32 AI_ForceSetupFirstTurn(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { u8 i; if (IS_TARGETING_PARTNER(battlerAtk, battlerDef) @@ -4889,6 +4796,7 @@ static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u32 move, s32 score case EFFECT_SANDSTORM: case EFFECT_HAIL: case EFFECT_SNOWSCAPE: + case EFFECT_CHILLY_RECEPTION: case EFFECT_GEOMANCY: case EFFECT_VICTORY_DANCE: ADJUST_SCORE(DECENT_EFFECT); @@ -5057,10 +4965,10 @@ static s32 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u32 move, s32 scor static s32 AI_HPAware(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { u32 effect = gMovesInfo[move].effect; - u32 moveType = gMovesInfo[move].type; + u32 moveType = 0; SetTypeBeforeUsingMove(move, battlerAtk); - GET_MOVE_TYPE(move, moveType); + moveType = GetMoveType(move); if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) { diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index c959e996749f..47f5cae7408e 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -23,7 +23,7 @@ // this file's functions static bool32 HasSuperEffectiveMoveAgainstOpponents(u32 battler, bool32 noRng); -static bool32 FindMonWithFlagsAndSuperEffective(u32 battler, u16 flags, u32 moduloPercent, bool32 emitResult); +static bool32 FindMonWithFlagsAndSuperEffective(u32 battler, u16 flags, u32 moduloPercent); static bool32 ShouldUseItem(u32 battler); static bool32 AiExpectsToFaintPlayer(u32 battler); static bool32 AI_ShouldHeal(u32 battler, u32 healAmount); @@ -40,8 +40,12 @@ static void InitializeSwitchinCandidate(struct Pokemon *mon) static bool32 IsAceMon(u32 battler, u32 monPartyId) { if (AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_ACE_POKEMON - && !(gBattleStruct->forcedSwitch & gBitTable[battler]) - && monPartyId == CalculateEnemyPartyCount()-1) + && !(gBattleStruct->forcedSwitch & (1u << battler)) + && monPartyId == CalculateEnemyPartyCountInSide(battler)-1) + return TRUE; + if (AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_DOUBLE_ACE_POKEMON + && !(gBattleStruct->forcedSwitch & (1u << battler)) + && (monPartyId == CalculateEnemyPartyCount()-1 || monPartyId == CalculateEnemyPartyCount()-2)) return TRUE; return FALSE; } @@ -65,10 +69,16 @@ void GetAIPartyIndexes(u32 battler, s32 *firstId, s32 *lastId) } } +static inline bool32 SetSwitchinAndSwitch(u32 battler, u32 switchinId) +{ + gBattleStruct->AI_monToSwitchIntoId[battler] = switchinId; + return TRUE; +} + // Note that as many return statements as possible are INTENTIONALLY put after all of the loops; // the function can take a max of about 0.06s to run, and this prevents the player from identifying // whether the mon will switch or not by seeing how long the delay is before they select a move -static bool32 HasBadOdds(u32 battler, bool32 emitResult) +static bool32 ShouldSwitchIfHasBadOdds(u32 battler) { //Variable initialization u8 opposingPosition, atkType1, atkType2, defType1, defType2, effectiveness; @@ -82,7 +92,7 @@ static bool32 HasBadOdds(u32 battler, bool32 emitResult) return FALSE; // Double Battles aren't included in AI_FLAG_SMART_MON_CHOICE. Defaults to regular switch in logic - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) return FALSE; opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(battler)); @@ -116,7 +126,7 @@ static bool32 HasBadOdds(u32 battler, bool32 emitResult) if (gMovesInfo[aiMove].power != 0) { // Check if mon has a super effective move - if (AI_GetTypeEffectiveness(aiMove, battler, opposingBattler) >= UQ_4_12(2.0)) + if (AI_GetMoveEffectiveness(aiMove, battler, opposingBattler) >= AI_EFFECTIVENESS_x2) hasSuperEffectiveMove = TRUE; // Get maximum damage mon can deal @@ -180,14 +190,11 @@ static bool32 HasBadOdds(u32 battler, bool32 emitResult) && gBattleMons[battler].hp >= gBattleMons[battler].maxHP / 4))) { // 50% chance to stay in regardless - if (!RandomPercentage(RNG_AI_SWITCH_HASBADODDS, 50)) + if (RandomPercentage(RNG_AI_SWITCH_HASBADODDS, 50)) return FALSE; // Switch mon out - gBattleStruct->AI_monToSwitchIntoId[battler] = PARTY_SIZE; - if (emitResult) - BtlController_EmitTwoReturnValues(battler, 1, B_ACTION_SWITCH, 0); - return TRUE; + return SetSwitchinAndSwitch(battler, PARTY_SIZE); } // General bad type matchups have more wiggle room @@ -203,71 +210,91 @@ static bool32 HasBadOdds(u32 battler, bool32 emitResult) return FALSE; // 50% chance to stay in regardless - if (!RandomPercentage(RNG_AI_SWITCH_HASBADODDS, 50)) + if (RandomPercentage(RNG_AI_SWITCH_HASBADODDS, 50)) return FALSE; // Switch mon out - gBattleStruct->AI_monToSwitchIntoId[battler] = PARTY_SIZE; - if (emitResult) - BtlController_EmitTwoReturnValues(battler, 1, B_ACTION_SWITCH, 0); - return TRUE; + return SetSwitchinAndSwitch(battler, PARTY_SIZE); } } return FALSE; } -static bool32 ShouldSwitchIfAllBadMoves(u32 battler, bool32 emitResult) +static bool32 ShouldSwitchIfTruant(u32 battler) { - if (AI_DATA->shouldSwitchMon & gBitTable[battler]) + // Switch if mon with truant is bodied by Protect or invulnerability spam + if (AI_DATA->abilities[battler] == ABILITY_TRUANT + && IsTruantMonVulnerable(battler, gBattlerTarget) + && gDisableStructs[battler].truantCounter + && gBattleMons[battler].hp >= gBattleMons[battler].maxHP / 2 + && AI_DATA->mostSuitableMonId[battler] != PARTY_SIZE) { - AI_DATA->shouldSwitchMon &= ~(gBitTable[battler]); - gBattleStruct->AI_monToSwitchIntoId[battler] = AI_DATA->monToSwitchId[battler]; - if (emitResult) - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SWITCH, 0); - return TRUE; + return SetSwitchinAndSwitch(battler, PARTY_SIZE); + } + return FALSE; +} + +static bool32 ShouldSwitchIfAllMovesBad(u32 battler) +{ + u32 moveIndex; + u32 opposingBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battler))); + u32 aiMove; + + // Switch if no moves affect opponents + if (IsDoubleBattle()) + { + u32 opposingPartner = GetBattlerAtPosition(BATTLE_PARTNER(opposingBattler)); + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) + { + aiMove = gBattleMons[battler].moves[moveIndex]; + if ((AI_GetMoveEffectiveness(aiMove, battler, opposingBattler) > AI_EFFECTIVENESS_x0 + || AI_GetMoveEffectiveness(aiMove, battler, opposingPartner) > AI_EFFECTIVENESS_x0) + && aiMove != MOVE_NONE) + return FALSE; + } } else { - return FALSE; + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) + { + aiMove = gBattleMons[battler].moves[moveIndex]; + if (AI_GetMoveEffectiveness(aiMove, battler, opposingBattler) > AI_EFFECTIVENESS_x0 && aiMove != MOVE_NONE) + return FALSE; + } } + + return SetSwitchinAndSwitch(battler, PARTY_SIZE); } -static bool32 ShouldSwitchIfWonderGuard(u32 battler, bool32 emitResult) +static bool32 FindMonThatHitsWonderGuard(u32 battler) { - u8 opposingPosition; - u8 opposingBattler; + u32 opposingBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battler))); s32 i, j; s32 firstId; s32 lastId; // + 1 struct Pokemon *party = NULL; u16 move; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) return FALSE; - opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(battler)); - - if (AI_DATA->abilities[GetBattlerAtPosition(opposingPosition)] != ABILITY_WONDER_GUARD) + if (AI_DATA->abilities[opposingBattler] != ABILITY_WONDER_GUARD) return FALSE; // Check if Pokémon has a super effective move. - for (opposingBattler = GetBattlerAtPosition(opposingPosition), i = 0; i < MAX_MON_MOVES; i++) + for (i = 0; i < MAX_MON_MOVES; i++) { move = gBattleMons[battler].moves[i]; if (move != MOVE_NONE) { - if (AI_GetTypeEffectiveness(move, battler, opposingBattler) >= UQ_4_12(2.0)) + if (AI_GetMoveEffectiveness(move, battler, opposingBattler) >= AI_EFFECTIVENESS_x2) return FALSE; } } // Get party information. GetAIPartyIndexes(battler, &firstId, &lastId); - - if (GetBattlerSide(battler) == B_SIDE_PLAYER) - party = gPlayerParty; - else - party = gEnemyParty; + party = GetBattlerParty(battler); // Find a Pokémon in the party that has a super effective move. for (i = firstId; i < lastId; i++) @@ -279,19 +306,14 @@ static bool32 ShouldSwitchIfWonderGuard(u32 battler, bool32 emitResult) if (IsAceMon(battler, i)) continue; - for (opposingBattler = GetBattlerAtPosition(opposingPosition), j = 0; j < MAX_MON_MOVES; j++) + for (j = 0; j < MAX_MON_MOVES; j++) { move = GetMonData(&party[i], MON_DATA_MOVE1 + j); if (move != MOVE_NONE) { - if (AI_GetTypeEffectiveness(move, battler, opposingBattler) >= UQ_4_12(2.0) && (RandomPercentage(RNG_AI_SWITCH_WONDER_GUARD, 66) || ((AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_SMART_SWITCHING)))) - { - // We found a mon. - gBattleStruct->AI_monToSwitchIntoId[battler] = i; - if (emitResult) - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SWITCH, 0); - return TRUE; - } + // Found a mon + if (AI_GetMoveEffectiveness(move, battler, opposingBattler) >= AI_EFFECTIVENESS_x2) + return SetSwitchinAndSwitch(battler, i); } } } @@ -299,29 +321,30 @@ static bool32 ShouldSwitchIfWonderGuard(u32 battler, bool32 emitResult) return FALSE; // There is not a single Pokémon in the party that has a super effective move against a mon with Wonder Guard. } -static bool32 FindMonThatAbsorbsOpponentsMove(u32 battler, bool32 emitResult) +static bool32 FindMonThatAbsorbsOpponentsMove(u32 battler) { u8 battlerIn1, battlerIn2; u8 numAbsorbingAbilities = 0; u16 absorbingTypeAbilities[3]; // Array size is maximum number of absorbing abilities for a single type s32 firstId; - s32 lastId; // + 1 + s32 lastId; struct Pokemon *party; + u16 monAbility; + u32 opposingBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battler))); + u32 incomingMove = AI_DATA->lastUsedMove[opposingBattler]; + u32 predictedMove = incomingMove; // Update for move prediction + bool32 isOpposingBattlerChargingOrInvulnerable = (IsSemiInvulnerable(opposingBattler, incomingMove) || IsTwoTurnNotSemiInvulnerableMove(opposingBattler, incomingMove)); s32 i, j; - if (HasSuperEffectiveMoveAgainstOpponents(battler, TRUE) && Random() % 3 != 0) - return FALSE; - if (gLastLandedMoves[battler] == MOVE_NONE) + if (!(AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_SMART_SWITCHING)) return FALSE; - if (gLastLandedMoves[battler] == MOVE_UNAVAILABLE) - return FALSE; - if (IS_MOVE_STATUS(gLastLandedMoves[battler])) + if (HasSuperEffectiveMoveAgainstOpponents(battler, TRUE) && RandomPercentage(RNG_AI_SWITCH_ABSORBING, 66)) return FALSE; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { battlerIn1 = battler; - if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))]) + if (gAbsentBattlerFlags & (1u << GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))))) battlerIn2 = battler; else battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))); @@ -333,29 +356,29 @@ static bool32 FindMonThatAbsorbsOpponentsMove(u32 battler, bool32 emitResult) } // Create an array of possible absorb abilities so the AI considers all of them - if (gMovesInfo[gLastLandedMoves[battler]].type == TYPE_FIRE) + if (gMovesInfo[predictedMove].type == TYPE_FIRE) { absorbingTypeAbilities[numAbsorbingAbilities++] = ABILITY_FLASH_FIRE; } - else if (gMovesInfo[gLastLandedMoves[battler]].type == TYPE_WATER) + else if (gMovesInfo[predictedMove].type == TYPE_WATER || (isOpposingBattlerChargingOrInvulnerable && gMovesInfo[incomingMove].type == TYPE_WATER)) { absorbingTypeAbilities[numAbsorbingAbilities++] = ABILITY_WATER_ABSORB; absorbingTypeAbilities[numAbsorbingAbilities++] = ABILITY_DRY_SKIN; if (B_REDIRECT_ABILITY_IMMUNITY >= GEN_5) absorbingTypeAbilities[numAbsorbingAbilities++] = ABILITY_STORM_DRAIN; } - else if (gMovesInfo[gLastLandedMoves[battler]].type == TYPE_ELECTRIC) + else if (gMovesInfo[predictedMove].type == TYPE_ELECTRIC || (isOpposingBattlerChargingOrInvulnerable && gMovesInfo[incomingMove].type == TYPE_ELECTRIC)) { absorbingTypeAbilities[numAbsorbingAbilities++] = ABILITY_VOLT_ABSORB; absorbingTypeAbilities[numAbsorbingAbilities++] = ABILITY_MOTOR_DRIVE; if (B_REDIRECT_ABILITY_IMMUNITY >= GEN_5) absorbingTypeAbilities[numAbsorbingAbilities++] = ABILITY_LIGHTNING_ROD; } - else if (gMovesInfo[gLastLandedMoves[battler]].type == TYPE_GRASS) + else if (gMovesInfo[predictedMove].type == TYPE_GRASS || (isOpposingBattlerChargingOrInvulnerable && gMovesInfo[incomingMove].type == TYPE_GRASS)) { absorbingTypeAbilities[numAbsorbingAbilities++] = ABILITY_SAP_SIPPER; } - else if (gMovesInfo[gLastLandedMoves[battler]].type == TYPE_GROUND) + else if (gMovesInfo[predictedMove].type == TYPE_GROUND || (isOpposingBattlerChargingOrInvulnerable && gMovesInfo[incomingMove].type == TYPE_GROUND)) { absorbingTypeAbilities[numAbsorbingAbilities++] = ABILITY_EARTH_EATER; } @@ -367,21 +390,16 @@ static bool32 FindMonThatAbsorbsOpponentsMove(u32 battler, bool32 emitResult) // Check current mon for all absorbing abilities for (i = 0; i < numAbsorbingAbilities; i++) { - if (AI_DATA->abilities[battler] == absorbingTypeAbilities[i]) + if (gBattleMons[battler].ability == absorbingTypeAbilities[i]) return FALSE; } + // Check party for mon with ability that absorbs move GetAIPartyIndexes(battler, &firstId, &lastId); - - if (GetBattlerSide(battler) == B_SIDE_PLAYER) - party = gPlayerParty; - else - party = gEnemyParty; + party = GetBattlerParty(battler); for (i = firstId; i < lastId; i++) { - u16 monAbility; - if (!IsValidForBattle(&party[i])) continue; if (i == gBattlerPartyIndexes[battlerIn1]) @@ -399,20 +417,30 @@ static bool32 FindMonThatAbsorbsOpponentsMove(u32 battler, bool32 emitResult) for (j = 0; j < numAbsorbingAbilities; j++) { - if (absorbingTypeAbilities[j] == monAbility && Random() & 1) - { - // we found a mon. - gBattleStruct->AI_monToSwitchIntoId[battler] = i; - if (emitResult) - BtlController_EmitTwoReturnValues(battler, 1, B_ACTION_SWITCH, 0); - return TRUE; - } + // Found a mon + if (absorbingTypeAbilities[j] == monAbility) + return SetSwitchinAndSwitch(battler, i); } } return FALSE; } -static bool32 FindMonThatTrapsOpponent(u32 battler, bool32 emitResult) +static bool32 ShouldSwitchIfOpponentChargingOrInvulnerable(u32 battler) +{ + u32 opposingBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battler))); + u32 incomingMove = AI_DATA->lastUsedMove[opposingBattler]; + bool32 isOpposingBattlerChargingOrInvulnerable = (IsSemiInvulnerable(opposingBattler, incomingMove) || IsTwoTurnNotSemiInvulnerableMove(opposingBattler, incomingMove)); + + if (IsDoubleBattle() || !(AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_SMART_SWITCHING)) + return FALSE; + + if (isOpposingBattlerChargingOrInvulnerable && AI_DATA->mostSuitableMonId[battler] != PARTY_SIZE) + return SetSwitchinAndSwitch(battler, PARTY_SIZE); + + return FALSE; +} + +static bool32 ShouldSwitchIfTrapperInParty(u32 battler) { s32 firstId; s32 lastId; @@ -431,46 +459,33 @@ static bool32 FindMonThatTrapsOpponent(u32 battler, bool32 emitResult) // Check party for mon with ability that traps opponent GetAIPartyIndexes(battler, &firstId, &lastId); - - if (GetBattlerSide(battler) == B_SIDE_PLAYER) - party = gPlayerParty; - else - party = gEnemyParty; + party = GetBattlerParty(battler); for (i = firstId; i < lastId; i++) { + if (IsAceMon(battler, i)) + return FALSE; + monAbility = GetMonAbility(&party[i]); + if (CanAbilityTrapOpponent(monAbility, opposingBattler)) { - if (i == AI_DATA->mostSuitableMonId[battler]) // If mon in slot i is the most suitable switchin candidate, then it's a trapper than wins 1v1 - { - gBattleStruct->AI_monToSwitchIntoId[battler] = i; - if (emitResult) - BtlController_EmitTwoReturnValues(battler, 1, B_ACTION_SWITCH, 0); - return TRUE; - } + // If mon in slot i is the most suitable switchin candidate, then it's a trapper than wins 1v1 + if (i == AI_DATA->mostSuitableMonId[battler]) + return SetSwitchinAndSwitch(battler, PARTY_SIZE); } } return FALSE; } -static bool32 ShouldSwitchIfGameStatePrompt(u32 battler, bool32 emitResult) +static bool32 ShouldSwitchIfBadlyStatused(u32 battler) { bool32 switchMon = FALSE; - bool32 monIdChosen = FALSE; // Id of the mon to switch into. u16 monAbility = AI_DATA->abilities[battler]; u16 holdEffect = AI_DATA->holdEffects[battler]; u8 opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(battler)); u8 opposingBattler = GetBattlerAtPosition(opposingPosition); - s32 moduloChance = 4; //25% Chance Default - s32 chanceReducer = 1; //No Reduce default. Increase to reduce - s32 firstId; - s32 lastId; - s32 i; - struct Pokemon *party; - - if (AnyStatIsRaised(battler)) - chanceReducer = 5; // Reduce switchout probability by factor of 5 if setup + bool32 hasStatRaised = AnyStatIsRaised(battler); //Perish Song if (gStatuses3[battler] & STATUS3_PERISH_SONG @@ -487,70 +502,24 @@ static bool32 ShouldSwitchIfGameStatePrompt(u32 battler, bool32 emitResult) { switchMon = TRUE; - //Double Battles - //Check if partner can prevent sleep - if (IsDoubleBattle()) - { - if (IsBattlerAlive(BATTLE_PARTNER(battler)) - && (GetAIChosenMove(BATTLE_PARTNER(battler)) == MOVE_UPROAR) - ) - switchMon = FALSE; - - if (IsBattlerAlive(BATTLE_PARTNER(battler)) - && (gMovesInfo[AI_DATA->partnerMove].effect == EFFECT_MISTY_TERRAIN - || gMovesInfo[AI_DATA->partnerMove].effect == EFFECT_ELECTRIC_TERRAIN) - && IsBattlerGrounded(battler) - ) - switchMon = FALSE; - - if (*(gBattleStruct->AI_monToSwitchIntoId + BATTLE_PARTNER(battler)) != PARTY_SIZE) //Partner is switching - { - GetAIPartyIndexes(battler, &firstId, &lastId); - - if (GetBattlerSide(battler) == B_SIDE_PLAYER) - party = gPlayerParty; - - for (i = firstId; i < lastId; i++) - { - if (IsAceMon(battler, i)) - continue; - - //Look for mon in party that is able to be switched into and has ability that sets terrain - if (IsValidForBattle(&party[i]) - && i != gBattlerPartyIndexes[battler] - && i != gBattlerPartyIndexes[BATTLE_PARTNER(battler)] - && IsBattlerGrounded(battler) - && (GetMonAbility(&party[i]) == ABILITY_MISTY_SURGE - || GetMonAbility(&party[i]) == ABILITY_ELECTRIC_SURGE)) //Ally has Misty or Electric Surge - { - *(gBattleStruct->AI_monToSwitchIntoId + BATTLE_PARTNER(battler)) = i; - if (emitResult) - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SWITCH, 0); - switchMon = FALSE; - break; - } - } - } - } - - //Check if Active Pokemon can KO opponent instead of switching - //Will still fall asleep, but take out opposing Pokemon first + // Check if Active Pokemon can KO opponent instead of switching + // Will still fall asleep, but take out opposing Pokemon first if (AiExpectsToFaintPlayer(battler)) switchMon = FALSE; - //Checks to see if active Pokemon can do something against sleep + // Checks to see if active Pokemon can do something against sleep if ((monAbility == ABILITY_NATURAL_CURE || monAbility == ABILITY_SHED_SKIN || monAbility == ABILITY_EARLY_BIRD) || holdEffect == (HOLD_EFFECT_CURE_SLP | HOLD_EFFECT_CURE_STATUS) || HasMove(battler, MOVE_SLEEP_TALK) - || (HasMoveEffect(battler, MOVE_SNORE) && AI_GetTypeEffectiveness(MOVE_SNORE, battler, opposingBattler) >= UQ_4_12(1.0)) + || (HasMoveEffect(battler, MOVE_SNORE) && AI_GetMoveEffectiveness(MOVE_SNORE, battler, opposingBattler) >= AI_EFFECTIVENESS_x2) || (IsBattlerGrounded(battler) && (HasMove(battler, MOVE_MISTY_TERRAIN) || HasMove(battler, MOVE_ELECTRIC_TERRAIN))) ) switchMon = FALSE; - //Check if Active Pokemon evasion boosted and might be able to dodge until awake + // Check if Active Pokemon evasion boosted and might be able to dodge until awake if (gBattleMons[battler].statStages[STAT_EVASION] > (DEFAULT_STAT_STAGE + 3) && AI_DATA->abilities[opposingBattler] != ABILITY_UNAWARE && AI_DATA->abilities[opposingBattler] != ABILITY_KEEN_EYE @@ -559,114 +528,80 @@ static bool32 ShouldSwitchIfGameStatePrompt(u32 battler, bool32 emitResult) && !(gBattleMons[battler].status2 & STATUS2_FORESIGHT) && !(gStatuses3[battler] & STATUS3_MIRACLE_EYED)) switchMon = FALSE; - } - //Secondary Damage + // Secondary Damage if (monAbility != ABILITY_MAGIC_GUARD && !AiExpectsToFaintPlayer(battler)) { //Toxic - moduloChance = 2; //50% if (((gBattleMons[battler].status1 & STATUS1_TOXIC_COUNTER) >= STATUS1_TOXIC_TURN(2)) && gBattleMons[battler].hp >= (gBattleMons[battler].maxHP / 3) - && (Random() % (moduloChance*chanceReducer)) == 0) + && AI_DATA->mostSuitableMonId[battler] != PARTY_SIZE + && (hasStatRaised ? RandomPercentage(RNG_AI_SWITCH_BADLY_POISONED, 20) : RandomPercentage(RNG_AI_SWITCH_BADLY_POISONED, 50))) switchMon = TRUE; //Cursed - moduloChance = 2; //50% if (gBattleMons[battler].status2 & STATUS2_CURSED - && (Random() % (moduloChance*chanceReducer)) == 0) + && (hasStatRaised ? RandomPercentage(RNG_AI_SWITCH_CURSED, 20) : RandomPercentage(RNG_AI_SWITCH_CURSED, 50))) switchMon = TRUE; //Nightmare - moduloChance = 3; //33.3% if (gBattleMons[battler].status2 & STATUS2_NIGHTMARE - && (Random() % (moduloChance*chanceReducer)) == 0) + && (hasStatRaised ? RandomPercentage(RNG_AI_SWITCH_NIGHTMARE, 15) : RandomPercentage(RNG_AI_SWITCH_NIGHTMARE, 33))) switchMon = TRUE; //Leech Seed - moduloChance = 4; //25% if (gStatuses3[battler] & STATUS3_LEECHSEED - && (Random() % (moduloChance*chanceReducer)) == 0) + && (hasStatRaised ? RandomPercentage(RNG_AI_SWITCH_SEEDED, 10) : RandomPercentage(RNG_AI_SWITCH_SEEDED, 25))) switchMon = TRUE; } - //Infatuation + // Infatuation if (gBattleMons[battler].status2 & STATUS2_INFATUATION && !AiExpectsToFaintPlayer(battler)) switchMon = TRUE; - - //Todo - //Pass Wish Heal - - //Semi-Invulnerable - if (gStatuses3[opposingBattler] & STATUS3_SEMI_INVULNERABLE) - { - if (FindMonThatAbsorbsOpponentsMove(battler, FALSE)) // Switch if absorber found. Note: FindMonThatAbsorbsOpponentsMove already provides id of the mon to switch into to gBattleStruct->AI_monToSwitchIntoId. - switchMon = TRUE, monIdChosen = TRUE; - if (!AI_OpponentCanFaintAiWithMod(battler, 0) - && AnyStatIsRaised(battler)) - switchMon = FALSE; - if (AiExpectsToFaintPlayer(battler) - && AI_IsSlower(battler, opposingBattler, 0) - && !AI_OpponentCanFaintAiWithMod(battler, 0)) - switchMon = FALSE; - } } if (switchMon) - { - if (!monIdChosen) - gBattleStruct->AI_monToSwitchIntoId[battler] = PARTY_SIZE; - if (emitResult) - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SWITCH, 0); - return TRUE; - } + return SetSwitchinAndSwitch(battler, PARTY_SIZE); else - { return FALSE; - } } -static bool32 ShouldSwitchIfAbilityBenefit(u32 battler, bool32 emitResult) +static bool32 ShouldSwitchIfAbilityBenefit(u32 battler) { - s32 moduloChance = 4; //25% Chance Default - s32 chanceReducer = 1; //No Reduce default. Increase to reduce - - if (AnyStatIsRaised(battler)) - chanceReducer = 5; // Reduce switchout probability by factor of 5 if setup + bool32 hasStatRaised = AnyStatIsRaised(battler); //Check if ability is blocked if (gStatuses3[battler] & STATUS3_GASTRO_ACID - ||IsNeutralizingGasOnField()) + || IsNeutralizingGasOnField()) return FALSE; switch(AI_DATA->abilities[battler]) { case ABILITY_NATURAL_CURE: - moduloChance = 4; //25% //Attempt to cure bad ailment if (gBattleMons[battler].status1 & (STATUS1_SLEEP | STATUS1_FREEZE | STATUS1_TOXIC_POISON) - && AI_DATA->mostSuitableMonId[battler] != PARTY_SIZE) + && AI_DATA->mostSuitableMonId[battler] != PARTY_SIZE + && (hasStatRaised ? RandomPercentage(RNG_AI_SWITCH_NATURAL_CURE, 10) : RandomPercentage(RNG_AI_SWITCH_NATURAL_CURE, 66))) break; //Attempt to cure lesser ailment if ((gBattleMons[battler].status1 & STATUS1_ANY) && (gBattleMons[battler].hp >= gBattleMons[battler].maxHP / 2) && AI_DATA->mostSuitableMonId[battler] != PARTY_SIZE - && Random() % (moduloChance*chanceReducer) == 0) + && (hasStatRaised ? RandomPercentage(RNG_AI_SWITCH_NATURAL_CURE, 10) : RandomPercentage(RNG_AI_SWITCH_NATURAL_CURE, 25))) break; return FALSE; case ABILITY_REGENERATOR: - moduloChance = 2; //50% //Don't switch if ailment if (gBattleMons[battler].status1 & STATUS1_ANY) return FALSE; if ((gBattleMons[battler].hp <= ((gBattleMons[battler].maxHP * 2) / 3)) && AI_DATA->mostSuitableMonId[battler] != PARTY_SIZE - && Random() % (moduloChance*chanceReducer) == 0) + && (hasStatRaised ? RandomPercentage(RNG_AI_SWITCH_REGENERATOR, 20) : RandomPercentage(RNG_AI_SWITCH_REGENERATOR, 50))) break; return FALSE; @@ -675,11 +610,7 @@ static bool32 ShouldSwitchIfAbilityBenefit(u32 battler, bool32 emitResult) return FALSE; } - gBattleStruct->AI_monToSwitchIntoId[battler] = PARTY_SIZE; - if (emitResult) - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SWITCH, 0); - - return TRUE; + return SetSwitchinAndSwitch(battler, PARTY_SIZE); } static bool32 HasSuperEffectiveMoveAgainstOpponents(u32 battler, bool32 noRng) @@ -690,7 +621,7 @@ static bool32 HasSuperEffectiveMoveAgainstOpponents(u32 battler, bool32 noRng) u32 opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(battler)); u32 opposingBattler = GetBattlerAtPosition(opposingPosition); - if (!(gAbsentBattlerFlags & gBitTable[opposingBattler])) + if (!(gAbsentBattlerFlags & (1u << opposingBattler))) { for (i = 0; i < MAX_MON_MOVES; i++) { @@ -698,7 +629,7 @@ static bool32 HasSuperEffectiveMoveAgainstOpponents(u32 battler, bool32 noRng) if (move == MOVE_NONE) continue; - if (AI_GetTypeEffectiveness(move, battler, opposingBattler) >= UQ_4_12(2.0)) + if (AI_GetMoveEffectiveness(move, battler, opposingBattler) >= AI_EFFECTIVENESS_x2) { if (noRng) return TRUE; @@ -707,12 +638,12 @@ static bool32 HasSuperEffectiveMoveAgainstOpponents(u32 battler, bool32 noRng) } } } - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if (!IsDoubleBattle()) return FALSE; opposingBattler = GetBattlerAtPosition(BATTLE_PARTNER(opposingPosition)); - if (!(gAbsentBattlerFlags & gBitTable[opposingBattler])) + if (!(gAbsentBattlerFlags & (1u << opposingBattler))) { for (i = 0; i < MAX_MON_MOVES; i++) { @@ -720,7 +651,7 @@ static bool32 HasSuperEffectiveMoveAgainstOpponents(u32 battler, bool32 noRng) if (move == MOVE_NONE) continue; - if (AI_GetTypeEffectiveness(move, battler, opposingBattler) >= UQ_4_12(2.0)) + if (AI_GetMoveEffectiveness(move, battler, opposingBattler) >= AI_EFFECTIVENESS_x2) { if (noRng) return TRUE; @@ -747,7 +678,7 @@ static bool32 AreStatsRaised(u32 battler) return (buffedStatsValue > 3); } -static bool32 FindMonWithFlagsAndSuperEffective(u32 battler, u16 flags, u32 moduloPercent, bool32 emitResult) +static bool32 FindMonWithFlagsAndSuperEffective(u32 battler, u16 flags, u32 percentChance) { u32 battlerIn1, battlerIn2; s32 firstId; @@ -756,6 +687,10 @@ static bool32 FindMonWithFlagsAndSuperEffective(u32 battler, u16 flags, u32 modu s32 i, j; u16 move; + // Similar functionality handled more thoroughly by ShouldSwitchIfHasBadOdds + if (AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_SMART_SWITCHING) + return FALSE; + if (gLastLandedMoves[battler] == MOVE_NONE) return FALSE; if (gLastLandedMoves[battler] == MOVE_UNAVAILABLE) @@ -765,10 +700,10 @@ static bool32 FindMonWithFlagsAndSuperEffective(u32 battler, u16 flags, u32 modu if (IS_MOVE_STATUS(gLastLandedMoves[battler])) return FALSE; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { battlerIn1 = battler; - if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))]) + if (gAbsentBattlerFlags & (1u << GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))))) battlerIn2 = battler; else battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))); @@ -780,11 +715,7 @@ static bool32 FindMonWithFlagsAndSuperEffective(u32 battler, u16 flags, u32 modu } GetAIPartyIndexes(battler, &firstId, &lastId); - - if (GetBattlerSide(battler) == B_SIDE_PLAYER) - party = gPlayerParty; - else - party = gEnemyParty; + party = GetBattlerParty(battler); for (i = firstId; i < lastId; i++) { @@ -816,13 +747,8 @@ static bool32 FindMonWithFlagsAndSuperEffective(u32 battler, u16 flags, u32 modu if (move == 0) continue; - if (AI_GetTypeEffectiveness(move, battler, battlerIn1) >= UQ_4_12(2.0) && Random() % moduloPercent == 0) - { - gBattleStruct->AI_monToSwitchIntoId[battler] = i; - if (emitResult) - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SWITCH, 0); - return TRUE; - } + if (AI_GetMoveEffectiveness(move, battler, battlerIn1) >= AI_EFFECTIVENESS_x2 && RandomPercentage(RNG_AI_SWITCH_SE_DEFENSIVE, percentChance)) + return SetSwitchinAndSwitch(battler, i); } } } @@ -846,10 +772,10 @@ static bool32 CanMonSurviveHazardSwitchin(u32 battler) // Battler will faint to hazards, check to see if another mon can clear them if (hazardDamage > battlerHp) { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { battlerIn1 = battler; - if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))]) + if (gAbsentBattlerFlags & (1u << GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))))) battlerIn2 = battler; else battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))); @@ -881,7 +807,9 @@ static bool32 CanMonSurviveHazardSwitchin(u32 battler) for (j = 0; j < MAX_MON_MOVES; j++) { aiMove = GetMonData(&party[i], MON_DATA_MOVE1 + j, NULL); - if (aiMove == MOVE_RAPID_SPIN || aiMove == MOVE_DEFOG || aiMove == MOVE_MORTAL_SPIN || aiMove == MOVE_TIDY_UP) + if (MoveHasAdditionalEffectSelf(aiMove, MOVE_EFFECT_RAPID_SPIN) + || (B_DEFOG_EFFECT_CLEARING >= GEN_6 && gMovesInfo[aiMove].effect == EFFECT_DEFOG) + || gMovesInfo[aiMove].effect == EFFECT_TIDY_UP) { // Have a mon that can clear the hazards, so switching out is okay return TRUE; @@ -894,48 +822,49 @@ static bool32 CanMonSurviveHazardSwitchin(u32 battler) return TRUE; } -static bool32 ShouldSwitchIfEncored(u32 battler, bool32 emitResult) +static bool32 ShouldSwitchIfEncored(u32 battler) { + u32 encoredMove = gDisableStructs[battler].encoredMove; + u32 opposingBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battler))); + // Only use this if AI_FLAG_SMART_SWITCHING is set for the trainer if (!(AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_SMART_SWITCHING)) return FALSE; - // If not Encored or if no good switchin, don't switch - if (gDisableStructs[battler].encoredMove == MOVE_NONE || AI_DATA->mostSuitableMonId[battler] == PARTY_SIZE) + // If not Encore'd don't switch + if (encoredMove == MOVE_NONE) return FALSE; - // Otherwise 50% chance to switch out - if (Random() & 1) - { - gBattleStruct->AI_monToSwitchIntoId[battler] = PARTY_SIZE; - if (emitResult) - BtlController_EmitTwoReturnValues(battler, 1, B_ACTION_SWITCH, 0); - return TRUE; - } + // Switch out if status move + if (gMovesInfo[encoredMove].category == DAMAGE_CATEGORY_STATUS) + return SetSwitchinAndSwitch(battler, PARTY_SIZE); + + // Stay in if effective move + else if (AI_GetMoveEffectiveness(encoredMove, battler, opposingBattler) >= AI_EFFECTIVENESS_x2) + return FALSE; + + // Switch out 50% of the time otherwise + else if (RandomPercentage(RNG_AI_SWITCH_ENCORE, 50) && AI_DATA->mostSuitableMonId[battler] != PARTY_SIZE) + return SetSwitchinAndSwitch(battler, PARTY_SIZE); return FALSE; } -static bool32 ShouldSwitchIfBadChoiceLock(u32 battler, bool32 emitResult) +static bool32 ShouldSwitchIfBadChoiceLock(u32 battler) { u32 holdEffect = GetBattlerHoldEffect(battler, FALSE); if (HOLD_EFFECT_CHOICE(holdEffect) && gBattleMons[battler].ability != ABILITY_KLUTZ) { if (gMovesInfo[gLastUsedMove].category == DAMAGE_CATEGORY_STATUS) - { - gBattleStruct->AI_monToSwitchIntoId[battler] = PARTY_SIZE; - if (emitResult) - BtlController_EmitTwoReturnValues(battler, 1, B_ACTION_SWITCH, 0); - return TRUE; - } + return SetSwitchinAndSwitch(battler, PARTY_SIZE); } return FALSE; } // AI should switch if it's become setup fodder and has something better to switch to -static bool32 AreAttackingStatsLowered(u32 battler, bool32 emitResult) +static bool32 ShouldSwitchIfAttackingStatsLowered(u32 battler) { s8 attackingStage = gBattleMons[battler].statStages[STAT_ATK]; s8 spAttackingStage = gBattleMons[battler].statStages[STAT_SPATK]; @@ -953,22 +882,12 @@ static bool32 AreAttackingStatsLowered(u32 battler, bool32 emitResult) // 50% chance if attack at -2 and have a good candidate mon else if (attackingStage == DEFAULT_STAT_STAGE - 2) { - if (AI_DATA->mostSuitableMonId[battler] != PARTY_SIZE && (Random() & 1)) - { - gBattleStruct->AI_monToSwitchIntoId[battler] = PARTY_SIZE; - if (emitResult) - BtlController_EmitTwoReturnValues(battler, 1, B_ACTION_SWITCH, 0); - return TRUE; - } + if (AI_DATA->mostSuitableMonId[battler] != PARTY_SIZE && RandomPercentage(RNG_AI_SWITCH_STATS_LOWERED, 50)) + return SetSwitchinAndSwitch(battler, PARTY_SIZE); } // If at -3 or worse, switch out regardless else if (attackingStage < DEFAULT_STAT_STAGE - 2) - { - gBattleStruct->AI_monToSwitchIntoId[battler] = PARTY_SIZE; - if (emitResult) - BtlController_EmitTwoReturnValues(battler, 1, B_ACTION_SWITCH, 0); - return TRUE; - } + return SetSwitchinAndSwitch(battler, PARTY_SIZE); } // Special attacker @@ -980,25 +899,17 @@ static bool32 AreAttackingStatsLowered(u32 battler, bool32 emitResult) // 50% chance if attack at -2 and have a good candidate mon else if (spAttackingStage == DEFAULT_STAT_STAGE - 2) { - if (AI_DATA->mostSuitableMonId[battler] != PARTY_SIZE && (Random() & 1)) - { - gBattleStruct->AI_monToSwitchIntoId[battler] = PARTY_SIZE; - BtlController_EmitTwoReturnValues(battler, 1, B_ACTION_SWITCH, 0); - return TRUE; - } + if (AI_DATA->mostSuitableMonId[battler] != PARTY_SIZE && RandomPercentage(RNG_AI_SWITCH_STATS_LOWERED, 50)) + return SetSwitchinAndSwitch(battler, PARTY_SIZE); } // If at -3 or worse, switch out regardless else if (spAttackingStage < DEFAULT_STAT_STAGE - 2) - { - gBattleStruct->AI_monToSwitchIntoId[battler] = PARTY_SIZE; - BtlController_EmitTwoReturnValues(battler, 1, B_ACTION_SWITCH, 0); - return TRUE; - } + return SetSwitchinAndSwitch(battler, PARTY_SIZE); } return FALSE; } -bool32 ShouldSwitch(u32 battler, bool32 emitResult) +bool32 ShouldSwitch(u32 battler) { u32 battlerIn1, battlerIn2; s32 firstId; @@ -1023,13 +934,14 @@ bool32 ShouldSwitch(u32 battler, bool32 emitResult) availableToSwitch = 0; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { + u32 partner = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerAtPosition(battler))); battlerIn1 = battler; - if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))]) + if (gAbsentBattlerFlags & (1u << partner)) battlerIn2 = battler; else - battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))); + battlerIn2 = partner; } else { @@ -1038,11 +950,7 @@ bool32 ShouldSwitch(u32 battler, bool32 emitResult) } GetAIPartyIndexes(battler, &firstId, &lastId); - - if (GetBattlerSide(battler) == B_SIDE_PLAYER) - party = gPlayerParty; - else - party = gEnemyParty; + party = GetBattlerParty(battler); for (i = firstId; i < lastId; i++) { @@ -1073,51 +981,82 @@ bool32 ShouldSwitch(u32 battler, bool32 emitResult) return FALSE; } - //NOTE: The sequence of the below functions matter! Do not change unless you have carefully considered the outcome. - //Since the order is sequencial, and some of these functions prompt switch to specific party members. + // NOTE: The sequence of the below functions matter! Do not change unless you have carefully considered the outcome. + // Since the order is sequencial, and some of these functions prompt switch to specific party members. - //These Functions can prompt switch to specific party members - if (ShouldSwitchIfWonderGuard(battler, emitResult)) - return TRUE; - if (ShouldSwitchIfGameStatePrompt(battler, emitResult)) + // These Functions can prompt switch to specific party members that override GetMostSuitableMonToSwitchInto + if (FindMonThatHitsWonderGuard(battler)) return TRUE; - if (FindMonThatTrapsOpponent(battler, emitResult)) - return TRUE; - if (FindMonThatAbsorbsOpponentsMove(battler, emitResult)) + if (FindMonThatAbsorbsOpponentsMove(battler)) return TRUE; - //These Functions can prompt switch to generic pary members + // These Functions can prompt switch to party member returned by GetMostSuitableMonToSwitchInto if ((AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_SMART_SWITCHING) && (CanMonSurviveHazardSwitchin(battler) == FALSE)) return FALSE; - if (ShouldSwitchIfAllBadMoves(battler, emitResult)) + if (ShouldSwitchIfTrapperInParty(battler)) + return TRUE; + if (ShouldSwitchIfOpponentChargingOrInvulnerable(battler)) return TRUE; - if (ShouldSwitchIfAbilityBenefit(battler, emitResult)) + if (ShouldSwitchIfTruant(battler)) return TRUE; - if (HasBadOdds(battler, emitResult)) + if (ShouldSwitchIfAllMovesBad(battler)) return TRUE; - if (ShouldSwitchIfEncored(battler, emitResult)) + if (ShouldSwitchIfBadlyStatused(battler)) return TRUE; - if (ShouldSwitchIfBadChoiceLock(battler, emitResult)) + if (ShouldSwitchIfAbilityBenefit(battler)) return TRUE; - if (AreAttackingStatsLowered(battler, emitResult)) + if (ShouldSwitchIfHasBadOdds(battler)) + return TRUE; + if (ShouldSwitchIfEncored(battler)) + return TRUE; + if (ShouldSwitchIfBadChoiceLock(battler)) + return TRUE; + if (ShouldSwitchIfAttackingStatsLowered(battler)) return TRUE; // Removing switch capabilites under specific conditions // These Functions prevent the "FindMonWithFlagsAndSuperEffective" from getting out of hand. + // We don't use FindMonWithFlagsAndSuperEffective with AI_FLAG_SMART_SWITCHING, so we can bail early. + if (AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_SMART_SWITCHING) + return FALSE; if (HasSuperEffectiveMoveAgainstOpponents(battler, FALSE)) return FALSE; if (AreStatsRaised(battler)) return FALSE; - //Default Function - //Can prompt switch if AI has a pokemon in party that resists current opponent & has super effective move - if (FindMonWithFlagsAndSuperEffective(battler, MOVE_RESULT_DOESNT_AFFECT_FOE, 2, emitResult) - || FindMonWithFlagsAndSuperEffective(battler, MOVE_RESULT_NOT_VERY_EFFECTIVE, 3, emitResult)) + // Default Function + // Can prompt switch if AI has a pokemon in party that resists current opponent & has super effective move + if (FindMonWithFlagsAndSuperEffective(battler, MOVE_RESULT_DOESNT_AFFECT_FOE, 50) + || FindMonWithFlagsAndSuperEffective(battler, MOVE_RESULT_NOT_VERY_EFFECTIVE, 33)) return TRUE; return FALSE; } +bool32 IsSwitchinValid(u32 battler) +{ + // Edge case: See if partner already chose to switch into the same mon + if (IsDoubleBattle()) + { + u32 partner = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerAtPosition(battler))); + if (gBattleStruct->AI_monToSwitchIntoId[battler] == PARTY_SIZE) // Generic switch + { + if ((AI_DATA->shouldSwitch & (1u << partner)) && AI_DATA->monToSwitchInId[partner] == AI_DATA->mostSuitableMonId[battler]) + { + return FALSE; + } + } + else // Override switch + { + if ((AI_DATA->shouldSwitch & (1u << partner)) && AI_DATA->monToSwitchInId[partner] == gBattleStruct->AI_monToSwitchIntoId[battler]) + { + return FALSE; + } + } + } + return TRUE; +} + void AI_TrySwitchOrUseItem(u32 battler) { struct Pokemon *party; @@ -1125,22 +1064,19 @@ void AI_TrySwitchOrUseItem(u32 battler) s32 firstId; s32 lastId; // + 1 u8 battlerPosition = GetBattlerPosition(battler); - - if (GetBattlerSide(battler) == B_SIDE_PLAYER) - party = gPlayerParty; - else - party = gEnemyParty; + party = GetBattlerParty(battler); if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (ShouldSwitch(battler, TRUE)) + if (AI_DATA->shouldSwitch & (1u << battler) && IsSwitchinValid(battler)) { + BtlController_EmitTwoReturnValues(battler, 1, B_ACTION_SWITCH, 0); if (gBattleStruct->AI_monToSwitchIntoId[battler] == PARTY_SIZE) { s32 monToSwitchId = AI_DATA->mostSuitableMonId[battler]; if (monToSwitchId == PARTY_SIZE) { - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if (!IsDoubleBattle()) { battlerIn1 = GetBattlerAtPosition(battlerPosition); battlerIn2 = battlerIn1; @@ -1176,6 +1112,7 @@ void AI_TrySwitchOrUseItem(u32 battler) } *(gBattleStruct->monToSwitchIntoId + battler) = gBattleStruct->AI_monToSwitchIntoId[battler]; + AI_DATA->monToSwitchInId[battler] = gBattleStruct->AI_monToSwitchIntoId[battler]; return; } else if (ShouldUseItem(battler)) @@ -1195,14 +1132,14 @@ static u32 GetBestMonBatonPass(struct Pokemon *party, int firstId, int lastId, u for (i = firstId; i < lastId; i++) { - if (invalidMons & gBitTable[i]) + if (invalidMons & (1u << i)) continue; for (j = 0; j < MAX_MON_MOVES; j++) { if (GetMonData(&party[i], MON_DATA_MOVE1 + j, NULL) == MOVE_BATON_PASS) { - bits |= gBitTable[i]; + bits |= 1u << i; break; } } @@ -1213,7 +1150,7 @@ static u32 GetBestMonBatonPass(struct Pokemon *party, int firstId, int lastId, u do { i = (Random() % (lastId - firstId)) + firstId; - } while (!(bits & gBitTable[i])); + } while (!(bits & (1 << i))); return i; } @@ -1231,7 +1168,7 @@ static u32 GetBestMonTypeMatchup(struct Pokemon *party, int firstId, int lastId, // Find the mon whose type is the most suitable defensively. for (i = firstId; i < lastId; i++) { - if (!(gBitTable[i] & invalidMons) && !(gBitTable[i] & bits)) + if (!((1u << i) & invalidMons) && !((1u << i) & bits)) { u16 species = GetMonData(&party[i], MON_DATA_SPECIES); uq4_12_t typeEffectiveness = UQ_4_12(1.0); @@ -1264,14 +1201,14 @@ static u32 GetBestMonTypeMatchup(struct Pokemon *party, int firstId, int lastId, for (i = 0; i < MAX_MON_MOVES; i++) { u32 move = GetMonData(&party[bestMonId], MON_DATA_MOVE1 + i); - if (move != MOVE_NONE && AI_GetTypeEffectiveness(move, battler, opposingBattler) >= UQ_4_12(2.0)) + if (move != MOVE_NONE && AI_GetMoveEffectiveness(move, battler, opposingBattler) >= AI_EFFECTIVENESS_x2) break; } if (i != MAX_MON_MOVES) return bestMonId; // Has both the typing and at least one super effective move. - bits |= gBitTable[bestMonId]; // Sorry buddy, we want something better. + bits |= (1u << bestMonId); // Sorry buddy, we want something better. } else { @@ -1287,13 +1224,15 @@ static u32 GetBestMonDmg(struct Pokemon *party, int firstId, int lastId, u8 inva int i, j; int dmg, bestDmg = 0; int bestMonId = PARTY_SIZE; + u32 rollType = GetDmgRollType(battler); + u32 aiMove; gMoveResultFlags = 0; // If we couldn't find the best mon in terms of typing, find the one that deals most damage. for (i = firstId; i < lastId; i++) { - if (gBitTable[i] & invalidMons) + if ((1 << (i)) & invalidMons) continue; InitializeSwitchinCandidate(&party[i]); for (j = 0; j < MAX_MON_MOVES; j++) @@ -1302,10 +1241,7 @@ static u32 GetBestMonDmg(struct Pokemon *party, int firstId, int lastId, u8 inva if (aiMove != MOVE_NONE && gMovesInfo[aiMove].power != 0) { aiMove = GetMonData(&party[i], MON_DATA_MOVE1 + j); - if (AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_CONSERVATIVE) - dmg = AI_CalcPartyMonDamage(aiMove, battler, opposingBattler, AI_DATA->switchinCandidate.battleMon, TRUE, DMG_ROLL_LOWEST); - else - dmg = AI_CalcPartyMonDamage(aiMove, battler, opposingBattler, AI_DATA->switchinCandidate.battleMon, TRUE, DMG_ROLL_DEFAULT); + dmg = AI_CalcPartyMonDamage(aiMove, battler, opposingBattler, AI_DATA->switchinCandidate.battleMon, TRUE, rollType); if (bestDmg < dmg) { bestDmg = dmg; @@ -1318,7 +1254,7 @@ static u32 GetBestMonDmg(struct Pokemon *party, int firstId, int lastId, u8 inva return bestMonId; } -static bool32 IsMonGrounded(u16 heldItemEffect, u32 ability, u8 type1, u8 type2) +bool32 IsMonGrounded(u16 heldItemEffect, u32 ability, u8 type1, u8 type2) { // List that makes mon not grounded if (type1 == TYPE_FLYING || type2 == TYPE_FLYING || ability == ABILITY_LEVITATE @@ -1607,8 +1543,8 @@ static u32 GetSwitchinHitsToKO(s32 damageTaken, u32 battler) u16 maxHP = AI_DATA->switchinCandidate.battleMon.maxHP, item = AI_DATA->switchinCandidate.battleMon.item, heldItemEffect = ItemId_GetHoldEffect(item); u8 weatherDuration = gWishFutureKnock.weatherDuration, holdEffectParam = ItemId_GetHoldEffectParam(item); u32 opposingBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battler))); - u32 opposingAbility = gBattleMons[opposingBattler].ability; - bool32 usedSingleUseHealingItem = FALSE; + u32 opposingAbility = gBattleMons[opposingBattler].ability, ability = AI_DATA->switchinCandidate.battleMon.ability; + bool32 usedSingleUseHealingItem = FALSE, opponentCanBreakMold = IsMoldBreakerTypeAbility(opposingBattler, opposingAbility); s32 currentHP = startingHP; // No damage being dealt @@ -1629,6 +1565,10 @@ static u32 GetSwitchinHitsToKO(s32 damageTaken, u32 battler) // Take attack damage for the turn currentHP = currentHP - damageTaken; + // One shot prevention effects + if (damageTaken >= maxHP && currentHP == maxHP && (heldItemEffect == HOLD_EFFECT_FOCUS_SASH || (!opponentCanBreakMold && B_STURDY >= GEN_5 && ability == ABILITY_STURDY))) + currentHP = 1; + // If mon is still alive, apply weather impact first, as it might KO the mon before it can heal with its item (order is weather -> item -> status) if (currentHP != 0) currentHP = currentHP - weatherImpact; @@ -1691,6 +1631,10 @@ static u32 GetSwitchinHitsToKO(s32 damageTaken, u32 battler) hitsToKO++; } + // Disguise will always add an extra hit to KO + if (opponentCanBreakMold && AI_DATA->switchinCandidate.battleMon.species == SPECIES_MIMIKYU_DISGUISED) + hitsToKO++; + // If mon had a hypothetical status from TSpikes, clear it if (AI_DATA->switchinCandidate.hypotheticalStatus == TRUE) { @@ -1733,7 +1677,7 @@ static int GetRandomSwitchinWithBatonPass(int aliveCount, int bits, int firstId, do { return (Random() % (lastId - firstId)) + firstId; - } while (!(bits & gBitTable[currentMonId])); + } while (!(bits & (1 << (currentMonId)))); } // Catch any other cases (such as only one mon alive and it has Baton Pass) @@ -1779,30 +1723,60 @@ static bool32 CanAbilityTrapOpponent(u16 ability, u32 opponent) return FALSE; } -// This function splits switching behaviour mid-battle from after a KO. -// Mid battle, it integrates GetBestMonTypeMatchup (vanilla with modifications), GetBestMonDefensive (custom), and GetBestMonBatonPass (vanilla with modifications) -// After a KO, integrates GetBestMonRevengeKiller (custom), GetBestMonTypeMatchup (vanilla with modifications), GetBestMonBatonPass (vanilla with modifications), and GetBestMonDmg (vanilla) -// the Type Matchup code will prioritize switching into a mon with the best type matchup and also a super effective move, or just best type matchup if no super effective move is found -// the Most Defensive code will prioritize switching into the mon that takes the most hits to KO, with a minimum of 4 hits required to be considered a valid option -// the Baton Pass code will prioritize switching into a mon with Baton Pass if it can get in, boost, and BP out without being KO'd, and randomizes between multiple valid options -// the Revenge Killer code will prioritize, in order, OHKO and outspeeds / OHKO, slower but not 2HKO'd / 2HKO, outspeeds and not OHKO'd / 2HKO, slower but not 3HKO'd -// the Most Damage code will prioritize switching into whatever mon deals the most damage, which is generally not as good as having a good Type Matchup -// Everything runs in the same loop to minimize computation time. This makes it harder to read, but hopefully the comments can guide you! +static inline bool32 IsFreeSwitch(bool32 isSwitchAfterKO, u32 battlerSwitchingOut, u32 opposingBattler) +{ + bool32 movedSecond = GetBattlerTurnOrderNum(battlerSwitchingOut) > GetBattlerTurnOrderNum(opposingBattler) ? TRUE : FALSE; + // Switch out effects + if (!IsDoubleBattle()) // Not handling doubles' additional complexity + { + if (IsSwitchOutEffect(gMovesInfo[gLastUsedMove].effect) && movedSecond) + return TRUE; + if (AI_DATA->ejectButtonSwitch) + return TRUE; + if (AI_DATA->ejectPackSwitch) + { + // If faster, not a free switch; likely lowered own stats + if (!movedSecond) + return FALSE; + // Otherwise, free switch + return TRUE; + } + } + + // Post KO check has to be last because the GetMostSuitableMonToSwitchInto call in OpponentHandleChoosePokemon assumes a KO rather than a forced switch choice + if (isSwitchAfterKO) + return TRUE; + else + return FALSE; +} + +static inline bool32 CanSwitchinWin1v1(u32 hitsToKOAI, u32 hitsToKOPlayer, bool32 isSwitchinFirst, bool32 isFreeSwitch) +{ + // Free switch, need to outspeed or take 1 extra hit + if (isFreeSwitch) + { + if (hitsToKOAI > hitsToKOPlayer || (hitsToKOAI == hitsToKOPlayer && isSwitchinFirst)) + return TRUE; + } + // Mid battle switch, need to take 1 or 2 extra hits depending on speed + if (hitsToKOAI > hitsToKOPlayer + 1 || (hitsToKOAI == hitsToKOPlayer + 1 && isSwitchinFirst)) + return TRUE; + return FALSE; +} + +// This function splits switching behaviour depending on whether the switch is free. +// Everything runs in the same loop to minimize computation time. This makes it harder to read, but hopefully the comments can guide you! static u32 GetBestMonIntegrated(struct Pokemon *party, int firstId, int lastId, u32 battler, u32 opposingBattler, u32 battlerIn1, u32 battlerIn2, bool32 isSwitchAfterKO) { int revengeKillerId = PARTY_SIZE, slowRevengeKillerId = PARTY_SIZE, fastThreatenId = PARTY_SIZE, slowThreatenId = PARTY_SIZE, damageMonId = PARTY_SIZE; int batonPassId = PARTY_SIZE, typeMatchupId = PARTY_SIZE, typeMatchupEffectiveId = PARTY_SIZE, defensiveMonId = PARTY_SIZE, aceMonId = PARTY_SIZE, trapperId = PARTY_SIZE; int i, j, aliveCount = 0, bits = 0; s32 defensiveMonHitKOThreshold = 3; // 3HKO threshold that candidate defensive mons must exceed - u32 aiMove, hitsToKOAI, hitsToKOPlayer, hitsToKOAIThreshold, maxHitsToKO = 0; - s32 playerMonSpeed = gBattleMons[opposingBattler].speed, playerMonHP = gBattleMons[opposingBattler].hp, aiMonSpeed, aiMovePriority = 0, maxDamageDealt = 0, damageDealt = 0; + s32 playerMonHP = gBattleMons[opposingBattler].hp, maxDamageDealt = 0, damageDealt = 0; + u32 aiMove, hitsToKOAI, maxHitsToKO = 0; u16 bestResist = UQ_4_12(1.0), bestResistEffective = UQ_4_12(1.0), typeMatchup; - - if (isSwitchAfterKO) - hitsToKOAIThreshold = 1; // After a KO, mons at minimum need to not be 1-shot, as they switch in for free - else - hitsToKOAIThreshold = 2; // When switching in otherwise need to not be 2-shot, as they do not switch in for free + bool32 isFreeSwitch = IsFreeSwitch(isSwitchAfterKO, battlerIn1, opposingBattler), isSwitchinFirst, canSwitchinWin1v1; // Iterate through mons for (i = firstId; i < lastId; i++) @@ -1831,10 +1805,11 @@ static u32 GetBestMonIntegrated(struct Pokemon *party, int firstId, int lastId, if (AI_DATA->switchinCandidate.battleMon.ability == ABILITY_TRUANT && IsTruantMonVulnerable(battler, opposingBattler)) continue; - // Get max number of hits for player to KO AI mon + // Get max number of hits for player to KO AI mon and type matchup for defensive switching hitsToKOAI = GetSwitchinHitsToKO(GetMaxDamagePlayerCouldDealToSwitchin(battler, opposingBattler, AI_DATA->switchinCandidate.battleMon), battler); + typeMatchup = GetSwitchinTypeMatchup(opposingBattler, AI_DATA->switchinCandidate.battleMon); - // Track max hits to KO and set GetBestMonDefensive if applicable + // Track max hits to KO and set defensive mon if(hitsToKOAI > maxHitsToKO) { maxHitsToKO = hitsToKOAI; @@ -1842,28 +1817,12 @@ static u32 GetBestMonIntegrated(struct Pokemon *party, int firstId, int lastId, defensiveMonId = i; } - typeMatchup = GetSwitchinTypeMatchup(opposingBattler, AI_DATA->switchinCandidate.battleMon); - - // Check that good type matchups gets at least two turns and set GetBestMonTypeMatchup if applicable - if (typeMatchup < bestResist) - { - if ((hitsToKOAI > hitsToKOAIThreshold && AI_DATA->switchinCandidate.battleMon.speed > playerMonSpeed) || hitsToKOAI > hitsToKOAIThreshold + 1) // Need to take an extra hit if slower - { - bestResist = typeMatchup; - typeMatchupId = i; - } - } - - aiMonSpeed = AI_DATA->switchinCandidate.battleMon.speed; - // Check through current mon's moves for (j = 0; j < MAX_MON_MOVES; j++) { aiMove = AI_DATA->switchinCandidate.battleMon.moves[j]; - aiMovePriority = gMovesInfo[aiMove].priority; - // Only do damage calc if switching after KO, don't need it otherwise and saves ~0.02s per turn - if (isSwitchAfterKO && aiMove != MOVE_NONE && gMovesInfo[aiMove].power != 0) + if (aiMove != MOVE_NONE && gMovesInfo[aiMove].power != 0) { if (AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_CONSERVATIVE) damageDealt = AI_CalcPartyMonDamage(aiMove, battler, opposingBattler, AI_DATA->switchinCandidate.battleMon, TRUE, DMG_ROLL_LOWEST); @@ -1871,19 +1830,35 @@ static u32 GetBestMonIntegrated(struct Pokemon *party, int firstId, int lastId, damageDealt = AI_CalcPartyMonDamage(aiMove, battler, opposingBattler, AI_DATA->switchinCandidate.battleMon, TRUE, DMG_ROLL_DEFAULT); } + // Offensive switchin decisions are based on which whether switchin moves first and whether it can win a 1v1 + isSwitchinFirst = AI_WhoStrikesFirstPartyMon(battler, opposingBattler, AI_DATA->switchinCandidate.battleMon, aiMove); + canSwitchinWin1v1 = CanSwitchinWin1v1(hitsToKOAI, GetNoOfHitsToKOBattlerDmg(damageDealt, opposingBattler), isSwitchinFirst, isFreeSwitch); + // Check for Baton Pass; hitsToKO requirements mean mon can boost and BP without dying whether it's slower or not - if (aiMove == MOVE_BATON_PASS && ((hitsToKOAI > hitsToKOAIThreshold + 1 && AI_DATA->switchinCandidate.battleMon.speed < playerMonSpeed) || (hitsToKOAI > hitsToKOAIThreshold && AI_DATA->switchinCandidate.battleMon.speed > playerMonSpeed))) - bits |= gBitTable[i]; + if (aiMove == MOVE_BATON_PASS) + { + if ((isSwitchinFirst && hitsToKOAI > 1) || hitsToKOAI > 2) // Need to take an extra hit if slower + bits |= 1u << i; + } + + // Check that good type matchups get at least two turns and set best type matchup mon + if (typeMatchup < bestResist) + { + if (canSwitchinWin1v1) + { + bestResist = typeMatchup; + typeMatchupId = i; + } + } - // Check for mon with resistance and super effective move for GetBestMonTypeMatchup + // Check for mon with resistance and super effective move for best type matchup mon with effective move if (aiMove != MOVE_NONE && gMovesInfo[aiMove].power != 0) { if (typeMatchup < bestResistEffective) { - if (AI_GetTypeEffectiveness(aiMove, battler, opposingBattler) >= UQ_4_12(2.0)) + if (AI_GetMoveEffectiveness(aiMove, battler, opposingBattler) >= AI_EFFECTIVENESS_x2) { - // Assuming a super effective move would do significant damage or scare the player out, so not being as conservative here - if (hitsToKOAI > hitsToKOAIThreshold) + if (canSwitchinWin1v1) { bestResistEffective = typeMatchup; typeMatchupEffectiveId = i; @@ -1895,10 +1870,10 @@ static u32 GetBestMonIntegrated(struct Pokemon *party, int firstId, int lastId, if (gMovesInfo[aiMove].effect == EFFECT_EXPLOSION && damageDealt < playerMonHP) continue; - // Check that mon isn't one shot and set GetBestMonDmg if applicable + // Check that mon isn't one shot and set best damage mon if (damageDealt > maxDamageDealt) { - if(hitsToKOAI > hitsToKOAIThreshold) + if((isFreeSwitch && hitsToKOAI > 1) || hitsToKOAI > 2) // This is a "default", we have uniquely low standards { maxDamageDealt = damageDealt; damageMonId = i; @@ -1909,74 +1884,40 @@ static u32 GetBestMonIntegrated(struct Pokemon *party, int firstId, int lastId, // If AI mon can one shot if (damageDealt > playerMonHP) { - // If AI mon outspeeds and doesn't die to hazards - if ((((aiMonSpeed > playerMonSpeed && !(gFieldStatuses & STATUS_FIELD_TRICK_ROOM)) || aiMovePriority > 0) // Outspeed if not Trick Room - || ((gFieldStatuses & STATUS_FIELD_TRICK_ROOM) // Trick Room - && (aiMonSpeed < playerMonSpeed || (ItemId_GetHoldEffect(AI_DATA->switchinCandidate.battleMon.item) == HOLD_EFFECT_ROOM_SERVICE && aiMonSpeed * 2 / 3 < playerMonSpeed)))) // Trick Room speeds - && AI_DATA->switchinCandidate.battleMon.hp > GetSwitchinHazardsDamage(battler, &AI_DATA->switchinCandidate.battleMon)) // Hazards + if (canSwitchinWin1v1) { - // We have a revenge killer - revengeKillerId = i; - } - - // If AI mon is outsped - else - { - // If AI mon can't be OHKO'd - if (hitsToKOAI > hitsToKOAIThreshold) - { - // We have a slow revenge killer + if (isSwitchinFirst) + revengeKillerId = i; + else slowRevengeKillerId = i; - } } } // If AI mon can two shot if (damageDealt > playerMonHP / 2) { - // If AI mon outspeeds - if (((aiMonSpeed > playerMonSpeed && !(gFieldStatuses & STATUS_FIELD_TRICK_ROOM)) || aiMovePriority > 0) // Outspeed if not Trick Room - || (((gFieldStatuses & STATUS_FIELD_TRICK_ROOM) && gFieldTimers.trickRoomTimer > 1) // Trick Room has at least 2 turns left - && (aiMonSpeed < playerMonSpeed || (ItemId_GetHoldEffect(AI_DATA->switchinCandidate.battleMon.item) == HOLD_EFFECT_ROOM_SERVICE && aiMonSpeed * 2/ 3 < playerMonSpeed)))) // Trick Room speeds + if (canSwitchinWin1v1) { - // If AI mon can't be OHKO'd - if (hitsToKOAI > hitsToKOAIThreshold) - { - // We have a fast threaten + if (isSwitchinFirst) fastThreatenId = i; - } - } - // If AI mon is outsped - else - { - // If AI mon can't be 2HKO'd - if (hitsToKOAI > hitsToKOAIThreshold + 1) - { - // We have a slow threaten + else slowThreatenId = i; - } } } // If mon can trap - if (CanAbilityTrapOpponent(AI_DATA->switchinCandidate.battleMon.ability, opposingBattler)) - { - hitsToKOPlayer = GetNoOfHitsToKOBattlerDmg(damageDealt, opposingBattler); - if (CountUsablePartyMons(opposingBattler) > 0 - && (((hitsToKOAI > hitsToKOPlayer && isSwitchAfterKO) // If can 1v1 after a KO - || (hitsToKOAI == hitsToKOPlayer && isSwitchAfterKO && (aiMonSpeed > playerMonSpeed || aiMovePriority > 0))) - || ((hitsToKOAI > hitsToKOPlayer + 1 && !isSwitchAfterKO) // If can 1v1 after mid battle - || (hitsToKOAI == hitsToKOPlayer + 1 && !isSwitchAfterKO && (aiMonSpeed > playerMonSpeed || aiMovePriority > 0))))) - trapperId = i; - } + if (CanAbilityTrapOpponent(AI_DATA->switchinCandidate.battleMon.ability, opposingBattler) + && CountUsablePartyMons(opposingBattler) > 0 + && canSwitchinWin1v1) + trapperId = i; } } } batonPassId = GetRandomSwitchinWithBatonPass(aliveCount, bits, firstId, lastId, i); - // Different switching priorities depending on switching mid battle vs switching after a KO - if (isSwitchAfterKO) + // Different switching priorities depending on switching mid battle vs switching after a KO or slow switch + if (isFreeSwitch) { // Return Trapper > Revenge Killer > Type Matchup > Baton Pass > Best Damage if (trapperId != PARTY_SIZE) return trapperId; @@ -1999,8 +1940,7 @@ static u32 GetBestMonIntegrated(struct Pokemon *party, int firstId, int lastId, else if (batonPassId != PARTY_SIZE) return batonPassId; } // If ace mon is the last available Pokemon and U-Turn/Volt Switch was used - switch to the mon. - if (aceMonId != PARTY_SIZE - && (gMovesInfo[gLastUsedMove].effect == EFFECT_HIT_ESCAPE || gMovesInfo[gLastUsedMove].effect == EFFECT_PARTING_SHOT || gMovesInfo[gLastUsedMove].effect == EFFECT_BATON_PASS)) + if (aceMonId != PARTY_SIZE && IsSwitchOutEffect(gMovesInfo[gLastUsedMove].effect)) return aceMonId; return PARTY_SIZE; @@ -2040,16 +1980,16 @@ u32 GetMostSuitableMonToSwitchInto(u32 battler, bool32 switchAfterMonKOd) if (gBattleTypeFlags & BATTLE_TYPE_ARENA) return gBattlerPartyIndexes[battler] + 1; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { battlerIn1 = battler; - if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))]) + if (gAbsentBattlerFlags & (1u << GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))))) battlerIn2 = battler; else battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))); opposingBattler = BATTLE_OPPOSITE(battlerIn1); - if (gAbsentBattlerFlags & gBitTable[opposingBattler]) + if (gAbsentBattlerFlags & (1u << opposingBattler)) opposingBattler ^= BIT_FLANK; } else @@ -2060,11 +2000,7 @@ u32 GetMostSuitableMonToSwitchInto(u32 battler, bool32 switchAfterMonKOd) } GetAIPartyIndexes(battler, &firstId, &lastId); - - if (GetBattlerSide(battler) == B_SIDE_PLAYER) - party = gPlayerParty; - else - party = gEnemyParty; + party = GetBattlerParty(battler); if (AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_SEQUENCE_SWITCHING) { @@ -2072,9 +2008,8 @@ u32 GetMostSuitableMonToSwitchInto(u32 battler, bool32 switchAfterMonKOd) return bestMonId; } - // Split ideal mon decision between after previous mon KO'd (prioritize offensive options) and after switching active mon out (prioritize defensive options), and expand the scope of both. // Only use better mon selection if AI_FLAG_SMART_MON_CHOICES is set for the trainer. - if (AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_SMART_MON_CHOICES && !(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) // Double Battles aren't included in AI_FLAG_SMART_MON_CHOICE. Defaults to regular switch in logic + if (AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_SMART_MON_CHOICES && !IsDoubleBattle()) // Double Battles aren't included in AI_FLAG_SMART_MON_CHOICE. Defaults to regular switch in logic { bestMonId = GetBestMonIntegrated(party, firstId, lastId, battler, opposingBattler, battlerIn1, battlerIn2, switchAfterMonKOd); return bestMonId; @@ -2093,14 +2028,14 @@ u32 GetMostSuitableMonToSwitchInto(u32 battler, bool32 switchAfterMonKOd) || gBattlerPartyIndexes[battlerIn2] == i || i == gBattleStruct->monToSwitchIntoId[battlerIn1] || i == gBattleStruct->monToSwitchIntoId[battlerIn2] - || (GetMonAbility(&party[i]) == ABILITY_TRUANT && IsTruantMonVulnerable(battler, opposingBattler))) // While not really invalid per se, not really wise to switch into this mon.) + || (GetMonAbility(&party[i]) == ABILITY_TRUANT && IsTruantMonVulnerable(battler, opposingBattler))) // While not really invalid per se, not really wise to switch into this mon. { - invalidMons |= gBitTable[i]; + invalidMons |= 1u << i; } - else if (IsAceMon(battler, i))// Save Ace Pokemon for last. + else if (IsAceMon(battler, i)) // Save Ace Pokemon for last. { aceMonId = i; - invalidMons |= gBitTable[i]; + invalidMons |= 1u << i; } else { @@ -2166,10 +2101,7 @@ static bool32 ShouldUseItem(u32 battler) if (AiExpectsToFaintPlayer(battler)) return FALSE; - if (GetBattlerSide(battler) == B_SIDE_PLAYER) - party = gPlayerParty; - else - party = gEnemyParty; + party = GetBattlerParty(battler); for (i = 0; i < PARTY_SIZE; i++) { @@ -2239,6 +2171,10 @@ static bool32 ShouldUseItem(u32 battler) if (gBattleStruct->itemPartyIndex[battler] != PARTY_SIZE) // Revive if possible. shouldUse = TRUE; break; + case EFFECT_ITEM_USE_POKE_FLUTE: + if (gBattleMons[battler].status1 & STATUS1_SLEEP) + shouldUse = TRUE; + break; default: return FALSE; } diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index d3f37f34a026..c033061dc9e6 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -35,6 +35,16 @@ static u32 AI_GetEffectiveness(uq4_12_t multiplier); // Functions +u32 GetDmgRollType(u32 battlerAtk) +{ + if (AI_THINKING_STRUCT->aiFlags[battlerAtk] & AI_FLAG_RISKY) + return DMG_ROLL_HIGHEST; + if (AI_THINKING_STRUCT->aiFlags[battlerAtk] & AI_FLAG_CONSERVATIVE) + return DMG_ROLL_LOWEST; + + return DMG_ROLL_DEFAULT; +} + bool32 AI_IsFaster(u32 battlerAi, u32 battlerDef, u32 move) { return (AI_WhoStrikesFirst(battlerAi, battlerDef, move) == AI_IS_FASTER); @@ -351,12 +361,12 @@ bool32 MovesWithCategoryUnusable(u32 attacker, u32 target, u32 category) if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && GetBattleMoveCategory(moves[i]) == category - && !(unusable & gBitTable[i])) + && !(unusable & (1u << i))) { SetTypeBeforeUsingMove(moves[i], attacker); - GET_MOVE_TYPE(moves[i], moveType); + moveType = GetMoveType(moves[i]); if (CalcTypeEffectivenessMultiplier(moves[i], moveType, attacker, target, AI_DATA->abilities[target], FALSE) != 0) - usable |= gBitTable[i]; + usable |= 1u << i; } } @@ -367,11 +377,12 @@ bool32 MovesWithCategoryUnusable(u32 attacker, u32 target, u32 category) struct SimulatedDamage AI_CalcDamageSaveBattlers(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower, enum DamageRollType rollType) { struct SimulatedDamage dmg; + SaveBattlerData(battlerAtk); SaveBattlerData(battlerDef); SetBattlerData(battlerAtk); SetBattlerData(battlerDef); - dmg = AI_CalcDamage(move, battlerAtk, battlerDef, typeEffectiveness, considerZPower, AI_GetWeather(AI_DATA), rollType); + dmg = AI_CalcDamage(move, battlerAtk, battlerDef, typeEffectiveness, considerZPower, AI_GetWeather(AI_DATA), rollType); RestoreBattlerData(battlerAtk); RestoreBattlerData(battlerDef); return dmg; @@ -398,62 +409,37 @@ static inline s32 DmgRoll(s32 dmg) return dmg; } -bool32 IsDamageMoveUnusable(u32 move, u32 battlerAtk, u32 battlerDef) +bool32 IsDamageMoveUnusable(u32 battlerAtk, u32 battlerDef, u32 move, u32 moveType) { - s32 moveType; struct AiLogicData *aiData = AI_DATA; u32 battlerDefAbility; - GET_MOVE_TYPE(move, moveType); + u32 partnerBattlerDefAbility; if (DoesBattlerIgnoreAbilityChecks(aiData->abilities[battlerAtk], move)) + { battlerDefAbility = ABILITY_NONE; + partnerBattlerDefAbility = ABILITY_NONE; + } else + { battlerDefAbility = aiData->abilities[battlerDef]; + partnerBattlerDefAbility = aiData->abilities[BATTLE_PARTNER(battlerDef)]; + } if (battlerDef == BATTLE_PARTNER(battlerAtk)) battlerDefAbility = aiData->abilities[battlerDef]; - switch (battlerDefAbility) - { - case ABILITY_LIGHTNING_ROD: - if (B_REDIRECT_ABILITY_IMMUNITY < GEN_5) - break; - // Fallthrough - case ABILITY_VOLT_ABSORB: - case ABILITY_MOTOR_DRIVE: - if (moveType == TYPE_ELECTRIC) - return TRUE; - break; - case ABILITY_STORM_DRAIN: - if (B_REDIRECT_ABILITY_IMMUNITY < GEN_5) - break; - // Fallthrough - case ABILITY_WATER_ABSORB: - case ABILITY_DRY_SKIN: - if (moveType == TYPE_WATER) - return TRUE; - break; - case ABILITY_FLASH_FIRE: - if (moveType == TYPE_FIRE) - return TRUE; - break; - case ABILITY_SOUNDPROOF: - if (gMovesInfo[move].soundMove) - return TRUE; - break; - case ABILITY_BULLETPROOF: - if (gMovesInfo[move].ballisticMove) - return TRUE; - break; - case ABILITY_SAP_SIPPER: - if (moveType == TYPE_GRASS) - return TRUE; - break; - case ABILITY_EARTH_EATER: - if (moveType == TYPE_GROUND) - return TRUE; - break; - } + if (gBattleStruct->commandingDondozo & (1u << battlerDef)) + return TRUE; + + if (CanAbilityBlockMove(battlerAtk, battlerDef, move, aiData->abilities[battlerDef])) + return TRUE; + + if (CanPartnerAbilityBlockMove(battlerAtk, battlerDef, move, partnerBattlerDefAbility)) + return TRUE; + + if (CanAbilityAbsorbMove(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, moveType)) + return TRUE; switch (gMovesInfo[move].effect) { @@ -515,6 +501,131 @@ static inline s32 GetDamageByRollType(s32 dmg, enum DamageRollType rollType) return DmgRoll(dmg); } +static inline void SetMoveDamageCategory(u32 battlerAtk, u32 battlerDef, u32 move) +{ + switch (gMovesInfo[move].effect) + { + case EFFECT_PHOTON_GEYSER: + gBattleStruct->swapDamageCategory = (GetCategoryBasedOnStats(battlerAtk) == DAMAGE_CATEGORY_PHYSICAL); + break; + case EFFECT_SHELL_SIDE_ARM: + if (gBattleStruct->shellSideArmCategory[battlerAtk][battlerDef] == DAMAGE_CATEGORY_PHYSICAL) + gBattleStruct->swapDamageCategory = TRUE; + break; + case EFFECT_TERA_BLAST: + if (GetActiveGimmick(battlerAtk) == GIMMICK_TERA) + gBattleStruct->swapDamageCategory = GetCategoryBasedOnStats(battlerAtk) == DAMAGE_CATEGORY_PHYSICAL; + break; + case EFFECT_TERA_STARSTORM: + if (GetActiveGimmick(battlerAtk) == GIMMICK_TERA && GET_BASE_SPECIES_ID(GetMonData(GetPartyBattlerData(battlerAtk), MON_DATA_SPECIES)) == SPECIES_TERAPAGOS) + gBattleStruct->swapDamageCategory = GetCategoryBasedOnStats(battlerAtk) == DAMAGE_CATEGORY_PHYSICAL; + break; + } +} + +static inline s32 SetFixedMoveBasePower(u32 battlerAtk, u32 move) +{ + s32 fixedBasePower = 0, n = 0; + switch (gMovesInfo[move].effect) + { + case EFFECT_ROLLOUT: + n = gDisableStructs[battlerAtk].rolloutTimer - 1; + fixedBasePower = CalcRolloutBasePower(battlerAtk, gMovesInfo[move].power, n < 0 ? 5 : n); + break; + case EFFECT_FURY_CUTTER: + fixedBasePower = CalcFuryCutterBasePower(gMovesInfo[move].power, min(gDisableStructs[battlerAtk].furyCutterCounter + 1, 5)); + break; + default: + fixedBasePower = 0; + break; + } + return fixedBasePower; +} + +static inline void CalcDynamicMoveDamage(struct DamageCalculationData *damageCalcData, s32 *expectedDamage, s32 *minimumDamage, u32 holdEffectAtk, u32 abilityAtk) +{ + u32 move = damageCalcData->move; + s32 expected = *expectedDamage; + s32 minimum = *minimumDamage; + + switch (gMovesInfo[move].effect) + { + case EFFECT_LEVEL_DAMAGE: + expected = minimum = gBattleMons[damageCalcData->battlerAtk].level * (abilityAtk == ABILITY_PARENTAL_BOND ? 2 : 1); + break; + case EFFECT_PSYWAVE: + expected = minimum = gBattleMons[damageCalcData->battlerAtk].level * (abilityAtk == ABILITY_PARENTAL_BOND ? 2 : 1); + break; + case EFFECT_FIXED_DAMAGE_ARG: + expected = minimum = gMovesInfo[move].argument * (abilityAtk == ABILITY_PARENTAL_BOND ? 2 : 1); + break; + case EFFECT_MULTI_HIT: + if (move == MOVE_WATER_SHURIKEN && gBattleMons[damageCalcData->battlerAtk].species == SPECIES_GRENINJA_ASH) + { + expected *= 3; + minimum *= 3; + } + else if (abilityAtk == ABILITY_SKILL_LINK) + { + expected *= 5; + minimum *= 5; + } + else if (holdEffectAtk == HOLD_EFFECT_LOADED_DICE) + { + expected *= 9; + expected /= 2; + minimum *= 4; + } + else + { + expected *= 3; + minimum *= 2; + } + break; + case EFFECT_ENDEAVOR: + // If target has less HP than user, Endeavor does no damage + expected = minimum = max(0, gBattleMons[damageCalcData->battlerDef].hp - gBattleMons[damageCalcData->battlerAtk].hp); + break; + case EFFECT_SUPER_FANG: + expected = minimum = (abilityAtk == ABILITY_PARENTAL_BOND + ? max(2, gBattleMons[damageCalcData->battlerDef].hp * 3 / 4) + : max(1, gBattleMons[damageCalcData->battlerDef].hp / 2)); + break; + case EFFECT_FINAL_GAMBIT: + expected = minimum = gBattleMons[damageCalcData->battlerAtk].hp; + break; + case EFFECT_BEAT_UP: + if (B_BEAT_UP >= GEN_5) + { + u32 partyCount = CalculatePartyCount(GetBattlerParty(damageCalcData->battlerAtk)); + u32 i; + gBattleStruct->beatUpSlot = 0; + damageCalcData->isCrit = FALSE; + expected = 0; + for (i = 0; i < partyCount; i++) + expected += CalculateMoveDamage(damageCalcData, 0); + minimum = expected; + gBattleStruct->beatUpSlot = 0; + } + break; + } + + // Handle other multi-strike moves + if (gMovesInfo[move].strikeCount > 1 && gMovesInfo[move].effect != EFFECT_TRIPLE_KICK) + { + expected *= gMovesInfo[move].strikeCount; + minimum *= gMovesInfo[move].strikeCount; + } + + if (expected == 0) + expected = 1; + if (minimum == 0) + minimum = 1; + + *expectedDamage = expected; + *minimumDamage = minimum; +} + struct SimulatedDamage AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower, u32 weather, enum DamageRollType rollType) { struct SimulatedDamage simDamage; @@ -524,7 +635,7 @@ struct SimulatedDamage AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u bool32 isDamageMoveUnusable = FALSE; bool32 toggledGimmick = FALSE; struct AiLogicData *aiData = AI_DATA; - gBattleStruct->aiCalcInProgress = TRUE; + AI_DATA->aiCalcInProgress = TRUE; if (moveEffect == EFFECT_NATURE_POWER) move = GetNaturePowerMove(battlerAtk); @@ -541,62 +652,41 @@ struct SimulatedDamage AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u SetActiveGimmick(battlerAtk, gBattleStruct->gimmick.usableGimmick[battlerAtk]); } - moveEffect = gMovesInfo[move].effect; - switch (moveEffect) - { - case EFFECT_PHOTON_GEYSER: - gBattleStruct->swapDamageCategory = (GetCategoryBasedOnStats(battlerAtk) == DAMAGE_CATEGORY_PHYSICAL); - break; - case EFFECT_SHELL_SIDE_ARM: - if (gBattleStruct->shellSideArmCategory[battlerAtk][battlerDef] == DAMAGE_CATEGORY_PHYSICAL) - gBattleStruct->swapDamageCategory = TRUE; - break; - case EFFECT_TERA_BLAST: - if (GetActiveGimmick(battlerAtk) == GIMMICK_TERA) - gBattleStruct->swapDamageCategory = GetCategoryBasedOnStats(battlerAtk) == DAMAGE_CATEGORY_PHYSICAL; - break; - case EFFECT_TERA_STARSTORM: - if (GetActiveGimmick(battlerAtk) == GIMMICK_TERA && gBattleMons[battlerAtk].species == SPECIES_TERAPAGOS_STELLAR) - gBattleStruct->swapDamageCategory = GetCategoryBasedOnStats(battlerAtk) == DAMAGE_CATEGORY_PHYSICAL; - break; - } - + SetMoveDamageCategory(battlerAtk, battlerDef, move); SetTypeBeforeUsingMove(move, battlerAtk); - GET_MOVE_TYPE(move, moveType); + moveType = GetMoveType(move); effectivenessMultiplier = CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, aiData->abilities[battlerDef], FALSE); if (gMovesInfo[move].power) - isDamageMoveUnusable = IsDamageMoveUnusable(move, battlerAtk, battlerDef); + isDamageMoveUnusable = IsDamageMoveUnusable(battlerAtk, battlerDef, move, moveType); if (gMovesInfo[move].power && !isDamageMoveUnusable) { - s32 critChanceIndex, fixedBasePower, n; + s32 critChanceIndex, fixedBasePower; ProteanTryChangeType(battlerAtk, aiData->abilities[battlerAtk], move, moveType); - // Certain moves like Rollout calculate damage based on values which change during the move execution, but before calling dmg calc. - switch (moveEffect) - { - case EFFECT_ROLLOUT: - n = gDisableStructs[battlerAtk].rolloutTimer - 1; - fixedBasePower = CalcRolloutBasePower(battlerAtk, gMovesInfo[move].power, n < 0 ? 5 : n); - break; - case EFFECT_FURY_CUTTER: - fixedBasePower = CalcFuryCutterBasePower(gMovesInfo[move].power, min(gDisableStructs[battlerAtk].furyCutterCounter + 1, 5)); - break; - default: - fixedBasePower = 0; - break; - } + fixedBasePower = SetFixedMoveBasePower(battlerAtk, move); + + struct DamageCalculationData damageCalcData; + damageCalcData.battlerAtk = battlerAtk; + damageCalcData.battlerDef = battlerDef; + damageCalcData.move = move; + damageCalcData.moveType = moveType; + damageCalcData.isCrit = FALSE; + damageCalcData.randomFactor = FALSE; + damageCalcData.updateFlags = FALSE; critChanceIndex = CalcCritChanceStageArgs(battlerAtk, battlerDef, move, FALSE, aiData->abilities[battlerAtk], aiData->abilities[battlerDef], aiData->holdEffects[battlerAtk]); if (critChanceIndex > 1) // Consider crit damage only if a move has at least +2 crit chance { - s32 nonCritDmg = CalculateMoveDamageVars(move, battlerAtk, battlerDef, moveType, fixedBasePower, - effectivenessMultiplier, weather, FALSE, + damageCalcData.isCrit = FALSE; + s32 nonCritDmg = CalculateMoveDamageVars(&damageCalcData, fixedBasePower, + effectivenessMultiplier, weather, aiData->holdEffects[battlerAtk], aiData->holdEffects[battlerDef], aiData->abilities[battlerAtk], aiData->abilities[battlerDef]); - s32 critDmg = CalculateMoveDamageVars(move, battlerAtk, battlerDef, moveType, fixedBasePower, - effectivenessMultiplier, weather, TRUE, + damageCalcData.isCrit = TRUE; + s32 critDmg = CalculateMoveDamageVars(&damageCalcData, fixedBasePower, + effectivenessMultiplier, weather, aiData->holdEffects[battlerAtk], aiData->holdEffects[battlerDef], aiData->abilities[battlerAtk], aiData->abilities[battlerDef]); @@ -610,8 +700,9 @@ struct SimulatedDamage AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u } else if (critChanceIndex == -2) // Guaranteed critical { - s32 critDmg = CalculateMoveDamageVars(move, battlerAtk, battlerDef, moveType, fixedBasePower, - effectivenessMultiplier, weather, TRUE, + damageCalcData.isCrit = TRUE; + s32 critDmg = CalculateMoveDamageVars(&damageCalcData, fixedBasePower, + effectivenessMultiplier, weather, aiData->holdEffects[battlerAtk], aiData->holdEffects[battlerDef], aiData->abilities[battlerAtk], aiData->abilities[battlerDef]); @@ -625,16 +716,16 @@ struct SimulatedDamage AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u { for (gMultiHitCounter = gMovesInfo[move].strikeCount; gMultiHitCounter > 0; gMultiHitCounter--) // The global is used to simulate actual damage done { - nonCritDmg += CalculateMoveDamageVars(move, battlerAtk, battlerDef, moveType, fixedBasePower, - effectivenessMultiplier, weather, FALSE, + nonCritDmg += CalculateMoveDamageVars(&damageCalcData, fixedBasePower, + effectivenessMultiplier, weather, aiData->holdEffects[battlerAtk], aiData->holdEffects[battlerDef], aiData->abilities[battlerAtk], aiData->abilities[battlerDef]); } } else { - nonCritDmg = CalculateMoveDamageVars(move, battlerAtk, battlerDef, moveType, fixedBasePower, - effectivenessMultiplier, weather, FALSE, + nonCritDmg = CalculateMoveDamageVars(&damageCalcData, fixedBasePower, + effectivenessMultiplier, weather, aiData->holdEffects[battlerAtk], aiData->holdEffects[battlerDef], aiData->abilities[battlerAtk], aiData->abilities[battlerDef]); } @@ -644,82 +735,11 @@ struct SimulatedDamage AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u if (GetActiveGimmick(battlerAtk) != GIMMICK_Z_MOVE) { - // Handle dynamic move damage - switch (moveEffect) - { - case EFFECT_LEVEL_DAMAGE: - simDamage.expected = simDamage.minimum = gBattleMons[battlerAtk].level * (aiData->abilities[battlerAtk] == ABILITY_PARENTAL_BOND ? 2 : 1); - break; - case EFFECT_PSYWAVE: - simDamage.expected = gBattleMons[battlerAtk].level * (aiData->abilities[battlerAtk] == ABILITY_PARENTAL_BOND ? 2 : 1); - simDamage.minimum = simDamage.expected / 2; - break; - case EFFECT_FIXED_DAMAGE_ARG: - simDamage.expected = simDamage.minimum = gMovesInfo[move].argument * (aiData->abilities[battlerAtk] == ABILITY_PARENTAL_BOND ? 2 : 1); - break; - case EFFECT_MULTI_HIT: - if (move == MOVE_WATER_SHURIKEN && gBattleMons[battlerAtk].species == SPECIES_GRENINJA_ASH) - { - simDamage.expected *= 3; - simDamage.minimum *= 3; - } - else if (aiData->abilities[battlerAtk] == ABILITY_SKILL_LINK) - { - simDamage.expected *= 5; - simDamage.minimum *= 5; - } - else if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_LOADED_DICE) - { - simDamage.expected *= 9; - simDamage.expected /= 2; - simDamage.minimum *= 4; - } - else - { - simDamage.expected *= 3; - simDamage.minimum *= 2; - } - break; - case EFFECT_ENDEAVOR: - // If target has less HP than user, Endeavor does no damage - simDamage.expected = simDamage.minimum = max(0, gBattleMons[battlerDef].hp - gBattleMons[battlerAtk].hp); - break; - case EFFECT_SUPER_FANG: - simDamage.expected = simDamage.minimum = (aiData->abilities[battlerAtk] == ABILITY_PARENTAL_BOND - ? max(2, gBattleMons[battlerDef].hp * 3 / 4) - : max(1, gBattleMons[battlerDef].hp / 2)); - break; - case EFFECT_FINAL_GAMBIT: - simDamage.expected = simDamage.minimum = gBattleMons[battlerAtk].hp; - break; - case EFFECT_BEAT_UP: - if (B_BEAT_UP >= GEN_5) - { - u32 partyCount = CalculatePartyCount(GetBattlerParty(battlerAtk)); - u32 i; - gBattleStruct->beatUpSlot = 0; - simDamage.expected = 0; - for (i = 0; i < partyCount; i++) - { - simDamage.expected += CalculateMoveDamage(move, battlerAtk, battlerDef, moveType, 0, FALSE, FALSE, FALSE); - } - simDamage.minimum = simDamage.expected; - gBattleStruct->beatUpSlot = 0; - } - break; - } - - // Handle other multi-strike moves - if (gMovesInfo[move].strikeCount > 1 && gMovesInfo[move].effect != EFFECT_TRIPLE_KICK) - { - simDamage.expected *= gMovesInfo[move].strikeCount; - simDamage.minimum *= gMovesInfo[move].strikeCount; - } - - if (simDamage.expected == 0) - simDamage.expected = 1; - if (simDamage.minimum == 0) - simDamage.minimum = 1; + CalcDynamicMoveDamage(&damageCalcData, + &simDamage.expected, + &simDamage.minimum, + aiData->holdEffects[battlerAtk], + aiData->abilities[battlerAtk]); } } else @@ -733,12 +753,11 @@ struct SimulatedDamage AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u // Undo temporary settings gBattleStruct->dynamicMoveType = 0; - gBattleStruct->aiCalcInProgress = FALSE; gBattleStruct->swapDamageCategory = FALSE; gBattleStruct->zmove.baseMoves[battlerAtk] = MOVE_NONE; if (toggledGimmick) SetActiveGimmick(battlerAtk, GIMMICK_NONE); - + AI_DATA->aiCalcInProgress = FALSE; return simDamage; } @@ -1022,7 +1041,7 @@ uq4_12_t AI_GetTypeEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef) gBattleStruct->dynamicMoveType = 0; SetTypeBeforeUsingMove(move, battlerAtk); - GET_MOVE_TYPE(move, moveType); + moveType = GetMoveType(move); typeEffectiveness = CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], FALSE); RestoreBattlerData(battlerAtk); @@ -1113,6 +1132,26 @@ s32 AI_WhoStrikesFirst(u32 battlerAI, u32 battler, u32 moveConsidered) return AI_IS_SLOWER; } +static bool32 CanEndureHit(u32 battler, u32 battlerTarget, u32 move) +{ + if (!BATTLER_MAX_HP(battlerTarget) || gMovesInfo[move].effect == EFFECT_MULTI_HIT) + return FALSE; + if (gMovesInfo[move].strikeCount > 1 && !(gMovesInfo[move].effect == EFFECT_DRAGON_DARTS && IsValidDoubleBattle(battlerTarget))) + return FALSE; + if (AI_DATA->holdEffects[battlerTarget] == HOLD_EFFECT_FOCUS_SASH) + return TRUE; + + if (!DoesBattlerIgnoreAbilityChecks(AI_DATA->abilities[battler], move)) + { + if (B_STURDY >= GEN_5 && AI_DATA->abilities[battlerTarget] == ABILITY_STURDY) + return TRUE; + if (gBattleMons[battlerTarget].species == SPECIES_MIMIKYU_DISGUISED) + return TRUE; + } + + return FALSE; +} + // Check if target has means to faint ai mon. bool32 CanTargetFaintAi(u32 battlerDef, u32 battlerAtk) { @@ -1122,8 +1161,9 @@ bool32 CanTargetFaintAi(u32 battlerDef, u32 battlerAtk) for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && !(unusable & gBitTable[i]) - && AI_DATA->simulatedDmg[battlerDef][battlerAtk][i].expected >= gBattleMons[battlerAtk].hp) + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && !(unusable & (1u << i)) + && AI_DATA->simulatedDmg[battlerDef][battlerAtk][i].expected >= gBattleMons[battlerAtk].hp + && !CanEndureHit(battlerDef, battlerAtk, moves[i])) { return TRUE; } @@ -1160,7 +1200,7 @@ u32 GetBestDmgMoveFromBattler(u32 battlerAtk, u32 battlerDef) for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && !(unusable & gBitTable[i]) + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && !(unusable & (1u << i)) && bestDmg < AI_DATA->simulatedDmg[battlerAtk][battlerDef][i].expected) { bestDmg = AI_DATA->simulatedDmg[battlerAtk][battlerDef][i].expected; @@ -1181,7 +1221,7 @@ u32 GetBestDmgFromBattler(u32 battler, u32 battlerTarget) { if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE - && !(unusable & gBitTable[i]) + && !(unusable & (1u << i)) && bestDmg < AI_DATA->simulatedDmg[battler][battlerTarget][i].expected) { bestDmg = AI_DATA->simulatedDmg[battler][battlerTarget][i].expected; @@ -1201,7 +1241,7 @@ bool32 CanAIFaintTarget(u32 battlerAtk, u32 battlerDef, u32 numHits) for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && !(moveLimitations & gBitTable[i])) + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && !(moveLimitations & (1u << i))) { // Use the pre-calculated value in simulatedDmg instead of re-calculating it dmg = AI_DATA->simulatedDmg[battlerAtk][battlerDef][i].expected; @@ -1210,7 +1250,13 @@ bool32 CanAIFaintTarget(u32 battlerAtk, u32 battlerDef, u32 numHits) dmg *= numHits; if (gBattleMons[battlerDef].hp <= dmg) - return TRUE; + { + if (numHits > 1) + return TRUE; + + if (!CanEndureHit(battlerAtk, battlerDef, moves[i])) + return TRUE; + } } } @@ -1246,7 +1292,7 @@ bool32 CanTargetFaintAiWithMod(u32 battlerDef, u32 battlerAtk, s32 hpMod, s32 dm if (dmgMod) dmg *= dmgMod; - if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && !(unusable & gBitTable[i]) && dmg >= hpCheck) + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && !(unusable & (1u << i)) && dmg >= hpCheck) { return TRUE; } @@ -1341,42 +1387,6 @@ u32 AI_DecideHoldEffectForTurn(u32 battlerId) return holdEffect; } -bool32 AI_IsTerrainAffected(u32 battlerId, u32 flags) -{ - if (gStatuses3[battlerId] & STATUS3_SEMI_INVULNERABLE) - return FALSE; - else if (!(gFieldStatuses & flags)) - return FALSE; - return AI_IsBattlerGrounded(battlerId); -} - -// different from IsBattlerGrounded in that we don't always know battler's hold effect or ability -bool32 AI_IsBattlerGrounded(u32 battlerId) -{ - u32 holdEffect = AI_DATA->holdEffects[battlerId]; - - if (holdEffect == HOLD_EFFECT_IRON_BALL) - return TRUE; - else if (gFieldStatuses & STATUS_FIELD_GRAVITY) - return TRUE; - else if (gStatuses3[battlerId] & STATUS3_ROOTED) - return TRUE; - else if (gStatuses3[battlerId] & STATUS3_SMACKED_DOWN) - return TRUE; - else if (gStatuses3[battlerId] & STATUS3_TELEKINESIS) - return FALSE; - else if (gStatuses3[battlerId] & STATUS3_MAGNET_RISE) - return FALSE; - else if (holdEffect == HOLD_EFFECT_AIR_BALLOON) - return FALSE; - else if (AI_DATA->abilities[battlerId] == ABILITY_LEVITATE) - return FALSE; - else if (IS_BATTLER_OF_TYPE(battlerId, TYPE_FLYING)) - return FALSE; - else - return TRUE; -} - bool32 DoesBattlerIgnoreAbilityChecks(u32 atkAbility, u32 move) { if (AI_THINKING_STRUCT->aiFlags[sBattler_AI] & AI_FLAG_NEGATE_UNAWARE) @@ -1405,14 +1415,6 @@ u32 AI_GetWeather(struct AiLogicData *aiData) return gBattleWeather; } -u32 AI_GetBattlerMoveTargetType(u32 battlerId, u32 move) -{ - if (gMovesInfo[move].effect == EFFECT_EXPANDING_FORCE && AI_IsTerrainAffected(battlerId, STATUS_FIELD_PSYCHIC_TERRAIN)) - return MOVE_TARGET_BOTH; - else - return gMovesInfo[move].target; -} - bool32 IsAromaVeilProtectedMove(u32 move) { switch (move) @@ -1489,6 +1491,8 @@ bool32 IsSemiInvulnerable(u32 battlerDef, u32 move) { if (gStatuses3[battlerDef] & STATUS3_PHANTOM_FORCE) return TRUE; + else if (gBattleStruct->commandingDondozo & (1u << battlerDef)) + return TRUE; else if (!gMovesInfo[move].damagesAirborne && gStatuses3[battlerDef] & STATUS3_ON_AIR) return TRUE; else if (!gMovesInfo[move].damagesUnderwater && gStatuses3[battlerDef] & STATUS3_UNDERWATER) @@ -1930,13 +1934,14 @@ bool32 ShouldLowerEvasion(u32 battlerAtk, u32 battlerDef, u32 defAbility) bool32 CanIndexMoveFaintTarget(u32 battlerAtk, u32 battlerDef, u32 index, u32 numHits) { s32 dmg; + u16 *moves = gBattleMons[battlerAtk].moves; if (numHits) dmg = AI_DATA->simulatedDmg[battlerAtk][battlerDef][index].expected * numHits; else dmg = AI_DATA->simulatedDmg[battlerAtk][battlerDef][index].minimum; - if (gBattleMons[battlerDef].hp <= dmg) + if (gBattleMons[battlerDef].hp <= dmg && !CanEndureHit(battlerAtk, battlerDef, moves[index])) return TRUE; return FALSE; } @@ -2097,6 +2102,26 @@ bool32 HasAnyKnownMove(u32 battlerId) return FALSE; } +bool32 HasMoveThatLowersOwnStats(u32 battlerId) +{ + s32 i, j; + u32 aiMove; + u16 *moves = GetMovesArray(battlerId); + for (i = 0; i < MAX_MON_MOVES; i++) + { + aiMove = moves[i]; + if (aiMove != MOVE_NONE && aiMove != MOVE_UNAVAILABLE) + { + for (j = 0; j < gMovesInfo[aiMove].numAdditionalEffects; j++) + { + if (IsSelfStatLoweringEffect(gMovesInfo[aiMove].additionalEffects[j].moveEffect) && gMovesInfo[aiMove].additionalEffects[j].self) + return TRUE; + } + } + } + return FALSE; +} + bool32 HasMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef, u32 accCheck, bool32 ignoreStatus, u32 atkAbility, u32 defAbility, u32 atkHoldEffect, u32 defHoldEffect) { s32 i; @@ -2108,12 +2133,12 @@ bool32 HasMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef, u32 accCheck, bool if (moves[i] == MOVE_NONE || moves[i] == MOVE_UNAVAILABLE) continue; - if (!(gBitTable[i] & moveLimitations)) + if (!((1u << i) & moveLimitations)) { if (ignoreStatus && IS_MOVE_STATUS(moves[i])) continue; else if ((!IS_MOVE_STATUS(moves[i]) && gMovesInfo[moves[i]].accuracy == 0) - || AI_GetBattlerMoveTargetType(battlerAtk, moves[i]) & (MOVE_TARGET_USER | MOVE_TARGET_OPPONENTS_FIELD)) + || GetBattlerMoveTargetType(battlerAtk, moves[i]) & (MOVE_TARGET_USER | MOVE_TARGET_OPPONENTS_FIELD)) continue; if (AI_DATA->moveAccuracy[battlerAtk][battlerDef][i] <= accCheck) @@ -2134,7 +2159,7 @@ bool32 HasSleepMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef) { if (moves[i] == MOVE_NONE) break; - if (!(gBitTable[i] & moveLimitations)) + if (!((1u << i) & moveLimitations)) { if (gMovesInfo[moves[i]].effect == EFFECT_SLEEP && AI_DATA->moveAccuracy[battlerAtk][battlerDef][i] < 85) @@ -2302,6 +2327,50 @@ bool32 IsStatLoweringEffect(u32 effect) } } +bool32 IsSelfStatLoweringEffect(u32 effect) +{ + // Self stat lowering moves like Overheart, Superpower etc. + switch (effect) + { + case MOVE_EFFECT_ATK_MINUS_1: + case MOVE_EFFECT_DEF_MINUS_1: + case MOVE_EFFECT_SPD_MINUS_1: + case MOVE_EFFECT_SP_ATK_MINUS_1: + case MOVE_EFFECT_SP_DEF_MINUS_1: + case MOVE_EFFECT_EVS_MINUS_1: + case MOVE_EFFECT_ACC_MINUS_1: + case MOVE_EFFECT_ATK_MINUS_2: + case MOVE_EFFECT_DEF_MINUS_2: + case MOVE_EFFECT_SPD_MINUS_2: + case MOVE_EFFECT_SP_ATK_MINUS_2: + case MOVE_EFFECT_SP_DEF_MINUS_2: + case MOVE_EFFECT_EVS_MINUS_2: + case MOVE_EFFECT_ACC_MINUS_2: + case MOVE_EFFECT_V_CREATE: + case MOVE_EFFECT_ATK_DEF_DOWN: + case MOVE_EFFECT_DEF_SPDEF_DOWN: + return TRUE; + default: + return FALSE; + } +} + +bool32 IsSwitchOutEffect(u32 effect) +{ + // Switch out effects like U-Turn, Volt Switch, etc. + switch (effect) + { + case EFFECT_HIT_ESCAPE: + case EFFECT_PARTING_SHOT: + case EFFECT_BATON_PASS: + case EFFECT_CHILLY_RECEPTION: + case EFFECT_SHED_TAIL: + return TRUE; + default: + return FALSE; + } +} + bool32 HasDamagingMove(u32 battlerId) { u32 i; @@ -2623,18 +2692,11 @@ static bool32 PartyBattlerShouldAvoidHazards(u32 currBattler, u32 switchBattler) return FALSE; } -enum { - DONT_PIVOT, - CAN_TRY_PIVOT, - PIVOT, -}; -bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 moveIndex) +enum AIPivot ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 moveIndex) { bool32 hasStatBoost = AnyUsefulStatIsRaised(battlerAtk) || gBattleMons[battlerDef].statStages[STAT_EVASION] >= 9; //Significant boost in evasion for any class - bool32 shouldSwitch; u32 battlerToSwitch; - shouldSwitch = ShouldSwitch(battlerAtk, FALSE); battlerToSwitch = gBattleStruct->AI_monToSwitchIntoId[battlerAtk]; if (PartyBattlerShouldAvoidHazards(battlerAtk, battlerToSwitch)) @@ -2647,7 +2709,7 @@ bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 //TODO - predict opponent switching /*if (IsPredictedToSwitch(battlerDef, battlerAtk) && !hasStatBoost) - return PIVOT; // Try pivoting so you can switch to a better matchup to counter your new opponent*/ + return SHOULD_PIVOT; // Try pivoting so you can switch to a better matchup to counter your new opponent*/ if (AI_IsFaster(battlerAtk, battlerDef, move)) // Attacker goes first { @@ -2657,14 +2719,14 @@ bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 { // attacker can kill target in two hits (theoretically) if (CanTargetFaintAi(battlerDef, battlerAtk)) - return PIVOT; // Won't get the two turns, pivot + return SHOULD_PIVOT; // Won't get the two turns, pivot - if (!IS_MOVE_STATUS(move) && (shouldSwitch + if (!IS_MOVE_STATUS(move) && ((AI_DATA->shouldSwitch & (1u << battlerAtk)) || (AtMaxHp(battlerDef) && (AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_FOCUS_SASH || (B_STURDY >= GEN_5 && defAbility == ABILITY_STURDY) || defAbility == ABILITY_MULTISCALE || defAbility == ABILITY_SHADOW_SHIELD)))) - return PIVOT; // pivot to break sash/sturdy/multiscale + return SHOULD_PIVOT; // pivot to break sash/sturdy/multiscale } else if (!hasStatBoost) { @@ -2672,17 +2734,17 @@ bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 || (B_STURDY >= GEN_5 && defAbility == ABILITY_STURDY) || defAbility == ABILITY_MULTISCALE || defAbility == ABILITY_SHADOW_SHIELD))) - return PIVOT; // pivot to break sash/sturdy/multiscale + return SHOULD_PIVOT; // pivot to break sash/sturdy/multiscale - if (shouldSwitch) - return PIVOT; + if (AI_DATA->shouldSwitch & (1u << battlerAtk)) + return SHOULD_PIVOT; /* TODO - check if switchable mon unafffected by/will remove hazards if (gSideStatuses[battlerAtk] & SIDE_STATUS_SPIKES && switchScore >= SWITCHING_INCREASE_CAN_REMOVE_HAZARDS) - return PIVOT;*/ + return SHOULD_PIVOT;*/ /*if (BattlerWillFaintFromSecondaryDamage(battlerAtk, AI_DATA->abilities[battlerAtk]) && switchScore >= SWITCHING_INCREASE_WALLS_FOE) - return PIVOT;*/ + return SHOULD_PIVOT;*/ /*if (IsClassDamager(class) && switchScore >= SWITCHING_INCREASE_HAS_SUPER_EFFECTIVE_MOVE) { @@ -2693,20 +2755,20 @@ bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 if (physMoveInMoveset && !specMoveInMoveset) { if (STAT_STAGE_ATK < 6) - return PIVOT; + return SHOULD_PIVOT; } else if (!physMoveInMoveset && specMoveInMoveset) { if (STAT_STAGE_SPATK < 6) - return PIVOT; + return SHOULD_PIVOT; } else if (physMoveInMoveset && specMoveInMoveset) { if (STAT_STAGE_ATK < 6 && STAT_STAGE_SPATK < 6) - return PIVOT; + return SHOULD_PIVOT; } - return CAN_TRY_PIVOT; + return SHOULD_PIVOT; }*/ } } @@ -2729,7 +2791,7 @@ bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 } else // Can't KO the foe { - return PIVOT; + return SHOULD_PIVOT; } } else // Foe can 3HKO+ AI @@ -2745,7 +2807,7 @@ bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 else if (CanAIFaintTarget(battlerAtk, battlerDef, 2)) { // can knock out foe in 2 hits - if (IS_MOVE_STATUS(move) && (shouldSwitch //Damaging move + if (IS_MOVE_STATUS(move) && ((AI_DATA->shouldSwitch & (1u << battlerAtk)) //Damaging move //&& (switchScore >= SWITCHING_INCREASE_RESIST_ALL_MOVES + SWITCHING_INCREASE_KO_FOE //remove hazards || (AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_FOCUS_SASH && AtMaxHp(battlerDef)))) return DONT_PIVOT; // Pivot to break the sash @@ -2755,17 +2817,17 @@ bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 else { //if (IsClassDamager(class) && switchScore >= SWITCHING_INCREASE_KO_FOE) - //return PIVOT; //Only switch if way better matchup + //return SHOULD_PIVOT; //Only switch if way better matchup if (!hasStatBoost) { // TODO - check if switching prevents/removes hazards //if (gSideStatuses[battlerAtk] & SIDE_STATUS_SPIKES && switchScore >= SWITCHING_INCREASE_CAN_REMOVE_HAZARDS) - //return PIVOT; + //return SHOULD_PIVOT; // TODO - not always a good idea //if (BattlerWillFaintFromSecondaryDamage(battlerAtk) && switchScore >= SWITCHING_INCREASE_HAS_SUPER_EFFECTIVE_MOVE) - //return PIVOT; + //return SHOULD_PIVOT; /*if (IsClassDamager(class) && switchScore >= SWITCHING_INCREASE_HAS_SUPER_EFFECTIVE_MOVE) { @@ -2776,17 +2838,17 @@ bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 if (physMoveInMoveset && !specMoveInMoveset) { if (STAT_STAGE_ATK < 6) - return PIVOT; + return SHOULD_PIVOT; } else if (!physMoveInMoveset && specMoveInMoveset) { if (STAT_STAGE_SPATK < 6) - return PIVOT; + return SHOULD_PIVOT; } else if (physMoveInMoveset && specMoveInMoveset) { if (STAT_STAGE_ATK < 6 && STAT_STAGE_SPATK < 6) - return PIVOT; + return SHOULD_PIVOT; } }*/ @@ -3051,12 +3113,9 @@ bool32 AnyPartyMemberStatused(u32 battlerId, bool32 checkSoundproof) struct Pokemon *party; u32 i, battlerOnField1, battlerOnField2; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) - party = gPlayerParty; - else - party = gEnemyParty; + party = GetBattlerParty(battlerId); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { battlerOnField1 = gBattlerPartyIndexes[battlerId]; battlerOnField2 = gBattlerPartyIndexes[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battlerId)))]; @@ -3279,7 +3338,8 @@ bool32 IsMoveEffectWeather(u32 move) || gMovesInfo[move].effect == EFFECT_RAIN_DANCE || gMovesInfo[move].effect == EFFECT_SANDSTORM || gMovesInfo[move].effect == EFFECT_HAIL - || gMovesInfo[move].effect == EFFECT_SNOWSCAPE)) + || gMovesInfo[move].effect == EFFECT_SNOWSCAPE + || gMovesInfo[move].effect == EFFECT_CHILLY_RECEPTION)) return TRUE; return FALSE; } @@ -3341,11 +3401,7 @@ bool32 ShouldUseWishAromatherapy(u32 battlerAtk, u32 battlerDef, u32 move) bool32 needHealing = FALSE; GetAIPartyIndexes(battlerAtk, &firstId, &lastId); - - if (GetBattlerSide(battlerAtk) == B_SIDE_PLAYER) - party = gPlayerParty; - else - party = gEnemyParty; + party = GetBattlerParty(battlerAtk); if (CountUsablePartyMons(battlerAtk) == 0 && (CanTargetFaintAi(battlerDef, battlerAtk) || BattlerWillFaintFromSecondaryDamage(battlerAtk, AI_DATA->abilities[battlerAtk]))) @@ -3420,34 +3476,49 @@ s32 AI_CalcPartyMonDamage(u32 move, u32 battlerAtk, u32 battlerDef, struct Battl { gBattleMons[battlerAtk] = switchinCandidate; AI_THINKING_STRUCT->saved[battlerDef].saved = TRUE; - SetBattlerData(battlerDef); // set known opposing battler data + SetBattlerAiData(battlerAtk, AI_DATA); // set known opposing battler data AI_THINKING_STRUCT->saved[battlerDef].saved = FALSE; } else { gBattleMons[battlerDef] = switchinCandidate; AI_THINKING_STRUCT->saved[battlerAtk].saved = TRUE; - SetBattlerData(battlerAtk); // set known opposing battler data + SetBattlerAiData(battlerDef, AI_DATA); // set known opposing battler data AI_THINKING_STRUCT->saved[battlerAtk].saved = FALSE; } dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, FALSE, AI_GetWeather(AI_DATA), rollType); // restores original gBattleMon struct FreeRestoreBattleMons(savedBattleMons); + + if (isPartyMonAttacker) + SetBattlerAiData(battlerAtk, AI_DATA); + else + SetBattlerAiData(battlerDef, AI_DATA); + return dmg.expected; } +u32 AI_WhoStrikesFirstPartyMon(u32 battlerAtk, u32 battlerDef, struct BattlePokemon switchinCandidate, u32 moveConsidered) +{ + struct BattlePokemon *savedBattleMons = AllocSaveBattleMons(); + gBattleMons[battlerAtk] = switchinCandidate; + + SetBattlerAiData(battlerAtk, AI_DATA); + u32 aiMonFaster = AI_IsFaster(battlerAtk, battlerDef, moveConsidered); + FreeRestoreBattleMons(savedBattleMons); + SetBattlerAiData(battlerAtk, AI_DATA); + + return aiMonFaster; +} + s32 CountUsablePartyMons(u32 battlerId) { s32 battlerOnField1, battlerOnField2, i, ret; struct Pokemon *party; + party = GetBattlerParty(battlerId); - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) - party = gPlayerParty; - else - party = gEnemyParty; - - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { battlerOnField1 = gBattlerPartyIndexes[battlerId]; battlerOnField2 = gBattlerPartyIndexes[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battlerId)))]; @@ -3477,11 +3548,7 @@ bool32 IsPartyFullyHealedExceptBattler(u32 battlerId) { struct Pokemon *party; u32 i; - - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) - party = gPlayerParty; - else - party = gEnemyParty; + party = GetBattlerParty(battlerId); for (i = 0; i < PARTY_SIZE; i++) { @@ -3751,11 +3818,14 @@ void IncreaseBurnScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score) if (AI_CanBurn(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) { - ADJUST_SCORE_PTR(WEAK_EFFECT); // burning is good - if (HasMoveWithCategory(battlerDef, DAMAGE_CATEGORY_PHYSICAL)) + if (HasMoveWithCategory(battlerDef, DAMAGE_CATEGORY_PHYSICAL) + || (!(AI_THINKING_STRUCT->aiFlags[battlerAtk] & AI_FLAG_OMNISCIENT) // Not Omniscient but expects physical attacker + && gSpeciesInfo[gBattleMons[battlerDef].species].baseAttack >= gSpeciesInfo[gBattleMons[battlerDef].species].baseSpAttack + 10)) { - if (CanTargetFaintAi(battlerDef, battlerAtk)) - ADJUST_SCORE_PTR(DECENT_EFFECT); // burning the target to stay alive is cool + if (gMovesInfo[GetBestDmgMoveFromBattler(battlerDef, battlerAtk)].category == DAMAGE_CATEGORY_PHYSICAL) + ADJUST_SCORE_PTR(DECENT_EFFECT); + else + ADJUST_SCORE_PTR(WEAK_EFFECT); } if (HasMoveEffectANDArg(battlerAtk, EFFECT_DOUBLE_POWER_ON_ARG_STATUS, STATUS1_BURN) @@ -3832,11 +3902,14 @@ void IncreaseFrostbiteScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score if (AI_CanGiveFrostbite(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) { - ADJUST_SCORE_PTR(WEAK_EFFECT); // frostbite is good - if (HasMoveWithCategory(battlerDef, DAMAGE_CATEGORY_SPECIAL)) + if (HasMoveWithCategory(battlerDef, DAMAGE_CATEGORY_SPECIAL) + || (!(AI_THINKING_STRUCT->aiFlags[battlerAtk] & AI_FLAG_OMNISCIENT) // Not Omniscient but expects special attacker + && gSpeciesInfo[gBattleMons[battlerDef].species].baseSpAttack >= gSpeciesInfo[gBattleMons[battlerDef].species].baseAttack + 10)) { - if (CanTargetFaintAi(battlerDef, battlerAtk)) - ADJUST_SCORE_PTR(DECENT_EFFECT); // frostbiting the target to stay alive is cool + if (gMovesInfo[GetBestDmgMoveFromBattler(battlerDef, battlerAtk)].category == DAMAGE_CATEGORY_SPECIAL) + ADJUST_SCORE_PTR(DECENT_EFFECT); + else + ADJUST_SCORE_PTR(WEAK_EFFECT); } if (HasMoveEffectANDArg(battlerAtk, EFFECT_DOUBLE_POWER_ON_ARG_STATUS, STATUS1_FROSTBITE) @@ -3858,7 +3931,7 @@ bool32 AI_MoveMakesContact(u32 ability, u32 holdEffect, u32 move) bool32 ShouldUseZMove(u32 battlerAtk, u32 battlerDef, u32 chosenMove) { // simple logic. just upgrades chosen move to z move if possible, unless regular move would kill opponent - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && battlerDef == BATTLE_PARTNER(battlerAtk)) + if ((IsDoubleBattle()) && battlerDef == BATTLE_PARTNER(battlerAtk)) return FALSE; // don't use z move on partner if (HasTrainerUsedGimmick(battlerAtk, GIMMICK_Z_MOVE)) return FALSE; // can't use z move twice @@ -3875,7 +3948,7 @@ bool32 ShouldUseZMove(u32 battlerAtk, u32 battlerDef, u32 chosenMove) return FALSE; // Don't waste a Z-Move busting disguise if (gBattleMons[battlerDef].ability == ABILITY_ICE_FACE && !gMovesInfo[zMove].ignoresTargetAbility - && gBattleMons[battlerDef].species == SPECIES_EISCUE_ICE_FACE && IS_MOVE_PHYSICAL(chosenMove)) + && gBattleMons[battlerDef].species == SPECIES_EISCUE_ICE && IS_MOVE_PHYSICAL(chosenMove)) return FALSE; // Don't waste a Z-Move busting Ice Face if (IS_MOVE_STATUS(chosenMove) && !IS_MOVE_STATUS(zMove)) @@ -4003,3 +4076,42 @@ bool32 AI_ShouldSpicyExtract(u32 battlerAtk, u32 battlerAtkPartner, u32 move, st && AI_IsFaster(battlerAtk, battlerAtkPartner, TRUE) && HasMoveWithCategory(battlerAtkPartner, DAMAGE_CATEGORY_PHYSICAL)); } + +void IncreaseSubstituteMoveScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score) +{ + if (gMovesInfo[move].effect == EFFECT_SUBSTITUTE) // Substitute specific + { + if (HasAnyKnownMove(battlerDef) && GetBestDmgFromBattler(battlerDef, battlerAtk) < gBattleMons[battlerAtk].maxHP / 4) + ADJUST_SCORE_PTR(GOOD_EFFECT); + } + else if (gMovesInfo[move].effect == EFFECT_SHED_TAIL) // Shed Tail specific + { + if ((ShouldPivot(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_THINKING_STRUCT->movesetIndex)) + && (HasAnyKnownMove(battlerDef) && (GetBestDmgFromBattler(battlerDef, battlerAtk) < gBattleMons[battlerAtk].maxHP / 2))) + ADJUST_SCORE_PTR(BEST_EFFECT); + } + + if (gStatuses3[battlerDef] & STATUS3_PERISH_SONG) + ADJUST_SCORE_PTR(GOOD_EFFECT); + + if (gBattleMons[battlerDef].status1 & STATUS1_SLEEP) + ADJUST_SCORE_PTR(GOOD_EFFECT); + else if (gBattleMons[battlerDef].status1 & (STATUS1_BURN | STATUS1_PSN_ANY | STATUS1_FROSTBITE)) + ADJUST_SCORE_PTR(DECENT_EFFECT); + + // TODO: + // if (IsPredictedToSwitch(battlerDef, battlerAtk) + // ADJUST_SCORE_PTR(DECENT_EFFECT); + + if (HasMoveEffect(battlerDef, EFFECT_SLEEP) + || HasMoveEffect(battlerDef, EFFECT_TOXIC) + || HasMoveEffect(battlerDef, EFFECT_POISON) + || HasMoveEffect(battlerDef, EFFECT_PARALYZE) + || HasMoveEffect(battlerDef, EFFECT_WILL_O_WISP) + || HasMoveEffect(battlerDef, EFFECT_CONFUSE) + || HasMoveEffect(battlerDef, EFFECT_LEECH_SEED)) + ADJUST_SCORE_PTR(GOOD_EFFECT); + + if (AI_DATA->hpPercents[battlerAtk] > 70) + ADJUST_SCORE_PTR(WEAK_EFFECT); +} diff --git a/src/battle_anim.c b/src/battle_anim.c index df597560ec15..b036f83cbf6d 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -1,6 +1,7 @@ #include "global.h" #include "battle.h" #include "battle_anim.h" +#include "battle_anim_scripts.h" #include "battle_controllers.h" #include "battle_interface.h" #include "battle_util.h" @@ -29,11 +30,6 @@ #define ANIM_SPRITE_INDEX_COUNT 8 -extern const u16 gMovesWithQuietBGM[]; -extern const u8 *const gBattleAnims_General[]; -extern const u8 *const gBattleAnims_Special[]; -extern const u8 *const gBattleAnims_StatusConditions[]; - static void Cmd_loadspritegfx(void); static void Cmd_unloadspritegfx(void); static void Cmd_createsprite(void); @@ -182,6 +178,93 @@ static void (* const sScriptCmdTable[])(void) = Cmd_createdragondartsprite, // 0x34 }; +static const u16 sMovesWithQuietBGM[] = +{ + MOVE_SING, MOVE_PERISH_SONG, MOVE_GRASS_WHISTLE +}; + +static const u8* const sBattleAnims_StatusConditions[NUM_B_ANIMS_STATUS] = +{ + [B_ANIM_STATUS_PSN] = gBattleAnimStatus_Poison, + [B_ANIM_STATUS_CONFUSION] = gBattleAnimStatus_Confusion, + [B_ANIM_STATUS_BRN] = gBattleAnimStatus_Burn, + [B_ANIM_STATUS_INFATUATION] = gBattleAnimStatus_Infatuation, + [B_ANIM_STATUS_SLP] = gBattleAnimStatus_Sleep, + [B_ANIM_STATUS_PRZ] = gBattleAnimStatus_Paralysis, + [B_ANIM_STATUS_FRZ] = gBattleAnimStatus_Freeze, + [B_ANIM_STATUS_CURSED] = gBattleAnimStatus_Curse, + [B_ANIM_STATUS_NIGHTMARE] = gBattleAnimStatus_Nightmare, +}; + +static const u8* const sBattleAnims_General[NUM_B_ANIMS_GENERAL] = +{ + [B_ANIM_STATS_CHANGE] = gBattleAnimGeneral_StatsChange, + [B_ANIM_SUBSTITUTE_FADE] = gBattleAnimGeneral_SubstituteFade, + [B_ANIM_SUBSTITUTE_APPEAR] = gBattleAnimGeneral_SubstituteAppear, + [B_ANIM_POKEBLOCK_THROW] = gBattleAnimGeneral_PokeblockThrow, + [B_ANIM_ITEM_KNOCKOFF] = gBattleAnimGeneral_ItemKnockoff, + [B_ANIM_TURN_TRAP] = gBattleAnimGeneral_TurnTrap, + [B_ANIM_HELD_ITEM_EFFECT] = gBattleAnimGeneral_HeldItemEffect, + [B_ANIM_SMOKEBALL_ESCAPE] = gBattleAnimGeneral_SmokeballEscape, + [B_ANIM_HANGED_ON] = gBattleAnimGeneral_HangedOn, + [B_ANIM_RAIN_CONTINUES] = gBattleAnimGeneral_Rain, + [B_ANIM_SUN_CONTINUES] = gBattleAnimGeneral_Sun, + [B_ANIM_SANDSTORM_CONTINUES] = gBattleAnimGeneral_Sandstorm, + [B_ANIM_HAIL_CONTINUES] = gBattleAnimGeneral_Hail, + [B_ANIM_LEECH_SEED_DRAIN] = gBattleAnimGeneral_LeechSeedDrain, + [B_ANIM_MON_HIT] = gBattleAnimGeneral_MonHit, + [B_ANIM_ITEM_STEAL] = gBattleAnimGeneral_ItemSteal, + [B_ANIM_SNATCH_MOVE] = gBattleAnimGeneral_SnatchMove, + [B_ANIM_FUTURE_SIGHT_HIT] = gBattleAnimGeneral_FutureSightHit, + [B_ANIM_DOOM_DESIRE_HIT] = gBattleAnimGeneral_DoomDesireHit, + [B_ANIM_FOCUS_PUNCH_SETUP] = gBattleAnimGeneral_FocusPunchSetUp, + [B_ANIM_INGRAIN_HEAL] = gBattleAnimGeneral_IngrainHeal, + [B_ANIM_WISH_HEAL] = gBattleAnimGeneral_WishHeal, + [B_ANIM_MEGA_EVOLUTION] = gBattleAnimGeneral_MegaEvolution, + [B_ANIM_ILLUSION_OFF] = gBattleAnimGeneral_IllusionOff, + [B_ANIM_FORM_CHANGE] = gBattleAnimGeneral_FormChange, + [B_ANIM_SLIDE_OFFSCREEN] = gBattleAnimGeneral_SlideOffScreen, + [B_ANIM_RESTORE_BG] = gBattleAnimGeneral_RestoreBg, + [B_ANIM_TOTEM_FLARE] = gBattleAnimGeneral_TotemFlare, + [B_ANIM_GULP_MISSILE] = gBattleAnimGeneral_GulpMissile, + [B_ANIM_STRONG_WINDS] = gBattleAnimGeneral_StrongWinds, + [B_ANIM_PRIMAL_REVERSION] = gBattleAnimGeneral_PrimalReversion, + [B_ANIM_AQUA_RING_HEAL] = gBattleAnimGeneral_AquaRingHeal, + [B_ANIM_BEAK_BLAST_SETUP] = gBattleAnimGeneral_BeakBlastSetUp, + [B_ANIM_SHELL_TRAP_SETUP] = gBattleAnimGeneral_ShellTrapSetUp, + [B_ANIM_ZMOVE_ACTIVATE] = gBattleAnimGeneral_ZMoveActivate, + [B_ANIM_AFFECTION_HANGED_ON] = gBattleAnimGeneral_AffectionHangedOn, + [B_ANIM_SNOW_CONTINUES] = gBattleAnimGeneral_Snow, + [B_ANIM_ULTRA_BURST] = gBattleAnimGeneral_UltraBurst, + [B_ANIM_SALT_CURE_DAMAGE] = gBattleAnimGeneral_SaltCureDamage, + [B_ANIM_DYNAMAX_GROWTH] = gBattleAnimGeneral_DynamaxGrowth, + [B_ANIM_MAX_SET_WEATHER] = gBattleAnimGeneral_SetWeather, + [B_ANIM_SYRUP_BOMB_SPEED_DROP] = gBattleAnimGeneral_SyrupBombSpeedDrop, + [B_ANIM_RAINBOW] = gBattleAnimGeneral_Rainbow, + [B_ANIM_SEA_OF_FIRE] = gBattleAnimGeneral_SeaOfFire, + [B_ANIM_SWAMP] = gBattleAnimGeneral_Swamp, + [B_ANIM_TRICK_ROOM] = gBattleAnimGeneral_TrickRoom, + [B_ANIM_WONDER_ROOM] = gBattleAnimGeneral_WonderRoom, + [B_ANIM_MAGIC_ROOM] = gBattleAnimGeneral_MagicRoom, + [B_ANIM_TAILWIND] = gBattleAnimGeneral_Tailwind, + [B_ANIM_FOG_CONTINUES] = gBattleAnimGeneral_Fog, + [B_ANIM_TERA_CHARGE] = gBattleAnimGeneral_TeraCharge, + [B_ANIM_TERA_ACTIVATE] = gBattleAnimGeneral_TeraActivate, + [B_ANIM_SIMPLE_HEAL] = gBattleAnimGeneral_SimpleHeal, +}; + +static const u8* const sBattleAnims_Special[NUM_B_ANIMS_SPECIAL] = +{ + [B_ANIM_LVL_UP] = gBattleAnimSpecial_LevelUp, + [B_ANIM_SWITCH_OUT_PLAYER_MON] = gBattleAnimSpecial_SwitchOutPlayerMon, + [B_ANIM_SWITCH_OUT_OPPONENT_MON] = gBattleAnimSpecial_SwitchOutOpponentMon, + [B_ANIM_BALL_THROW] = gBattleAnimSpecial_BallThrow, + [B_ANIM_BALL_THROW_WITH_TRAINER] = gBattleAnimSpecial_BallThrowWithTrainer, + [B_ANIM_SUBSTITUTE_TO_MON] = gBattleAnimSpecial_SubstituteToMon, + [B_ANIM_MON_TO_SUBSTITUTE] = gBattleAnimSpecial_MonToSubstitute, + [B_ANIM_CRITICAL_CAPTURE_THROW] = gBattleAnimSpecial_CriticalCaptureBallThrow, +}; + void ClearBattleAnimationVars(void) { s32 i; @@ -314,16 +397,16 @@ void LaunchBattleAnimation(u32 animType, u32 animId) { case ANIM_TYPE_GENERAL: default: - sBattleAnimScriptPtr = gBattleAnims_General[animId]; + sBattleAnimScriptPtr = sBattleAnims_General[animId]; break; case ANIM_TYPE_MOVE: sBattleAnimScriptPtr = GetMoveAnimationScript(animId); break; case ANIM_TYPE_STATUS: - sBattleAnimScriptPtr = gBattleAnims_StatusConditions[animId]; + sBattleAnimScriptPtr = sBattleAnims_StatusConditions[animId]; break; case ANIM_TYPE_SPECIAL: - sBattleAnimScriptPtr = gBattleAnims_Special[animId]; + sBattleAnimScriptPtr = sBattleAnims_Special[animId]; break; } gAnimScriptActive = TRUE; @@ -335,9 +418,9 @@ void LaunchBattleAnimation(u32 animType, u32 animId) if (animType == ANIM_TYPE_MOVE) { - for (i = 0; gMovesWithQuietBGM[i] != 0xFFFF; i++) + for (i = 0; i < ARRAY_COUNT(sMovesWithQuietBGM); i++) { - if (animId == gMovesWithQuietBGM[i]) + if (animId == sMovesWithQuietBGM[i]) { m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 128); break; @@ -2145,12 +2228,9 @@ static void Cmd_stopsound(void) static void Cmd_jumpifmovetypeequal(void) { - u8 moveType; const u8 *type = sBattleAnimScriptPtr + 1; sBattleAnimScriptPtr += 2; - GET_MOVE_TYPE(gCurrentMove, moveType); - - if (*type != moveType) + if (*type != GetMoveType(gCurrentMove)) sBattleAnimScriptPtr += 4; else sBattleAnimScriptPtr = T2_READ_PTR(sBattleAnimScriptPtr); diff --git a/src/battle_anim_bug.c b/src/battle_anim_bug.c index 65bfcba2e186..e897290768bd 100644 --- a/src/battle_anim_bug.c +++ b/src/battle_anim_bug.c @@ -11,7 +11,6 @@ static void AnimTranslateWebThread_Step(struct Sprite *); static void AnimStringWrap(struct Sprite *); static void AnimSpiderWeb_Step(struct Sprite *); static void AnimSpiderWeb_End(struct Sprite *); -static void AnimTranslateStinger(struct Sprite *); static void AnimTailGlowOrb(struct Sprite *); static const union AffineAnimCmd sAffineAnim_MegahornHorn_0[] = @@ -371,7 +370,7 @@ static void AnimSpiderWeb_End(struct Sprite *sprite) // arg 2: target x pixel offset // arg 3: target y pixel offset // arg 4: duration -static void AnimTranslateStinger(struct Sprite *sprite) +void AnimTranslateStinger(struct Sprite *sprite) { s16 lVarX, lVarY; u16 rot; diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index c4b50fa797d3..d5efe499ebab 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -3328,7 +3328,7 @@ static void AnimSolarBeamSmallOrb(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gAnimMoveIndex == MOVE_CORE_ENFORCER) + if (IsDoubleBattle() && gAnimMoveIndex == MOVE_CORE_ENFORCER) { CoreEnforcerLoadBeamTarget(sprite); } @@ -5495,8 +5495,8 @@ static void AnimMilkBottle_Step2(struct Sprite *sprite, int unk1, int unk2) void AnimGrantingStars(struct Sprite *sprite) { - if (!gBattleAnimArgs[2]) - SetSpriteCoordsToAnimAttackerCoords(sprite); + if (!InitSpritePosToAnimBattler(gBattleAnimArgs[2], sprite, FALSE)) + return; SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); sprite->y += gBattleAnimArgs[1]; @@ -6616,12 +6616,29 @@ static void ReloadBattlerSprites(u32 battler, struct Pokemon *party) UpdateIndicatorVisibilityAndType(gHealthboxSpriteIds[battler], TRUE); // Try to recreate shadow sprite - if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId < MAX_SPRITES) + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4 && P_GBA_STYLE_SPECIES_GFX == FALSE) { - DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId]); - gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId = MAX_SPRITES; - CreateEnemyShadowSprite(battler); - SetBattlerShadowSpriteCallback(battler, GetMonData(mon, MON_DATA_SPECIES)); + // Both of these *should* be true, but use an OR just to be certain + if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary < MAX_SPRITES + || gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary < MAX_SPRITES) + { + DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary]); + DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary]); + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary = MAX_SPRITES; + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary = MAX_SPRITES; + CreateEnemyShadowSprite(battler); + SetBattlerShadowSpriteCallback(battler, GetMonData(mon, MON_DATA_SPECIES)); + } + } + else + { + if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary < MAX_SPRITES) + { + DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary]); + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary = MAX_SPRITES; + CreateEnemyShadowSprite(battler); + SetBattlerShadowSpriteCallback(battler, GetMonData(mon, MON_DATA_SPECIES)); + } } } diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 3324d276fdc8..0a94cad2dc53 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -953,6 +953,18 @@ const struct SpriteTemplate gRedHeartRisingSpriteTemplate = .callback = AnimRedHeartRising, }; +// New struct that's just a copy of 'gMagentaHeartSpriteTemplate', without need to make new anim tags +const struct SpriteTemplate gRedHeartCharmSpriteTemplate = +{ + .tileTag = ANIM_TAG_RED_HEART, + .paletteTag = ANIM_TAG_RED_HEART, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimMagentaHeart, +}; + const union AffineAnimCmd gHiddenPowerOrbAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), @@ -1726,7 +1738,7 @@ void AnimTask_AirCutterProjectile(u8 taskId) attackerX = gTasks[taskId].data[9] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X); attackerY = gTasks[taskId].data[10] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y); - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle() && IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget))) { SetAverageBattlerPositions(gBattleAnimTarget, FALSE, &targetX, &targetY); @@ -3854,7 +3866,7 @@ static void AnimPerishSongMusicNote_Step2(struct Sprite *sprite) static void AnimGuardRing(struct Sprite *sprite) { - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) + if (IsDoubleBattle() && IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) { SetAverageBattlerPositions(gBattleAnimAttacker, FALSE, &sprite->x, &sprite->y); sprite->y += 40; diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 0b5f3fcf945b..1530fa37a5f9 100644 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -1281,6 +1281,17 @@ const struct SpriteTemplate gTeraCrystalSpreadSpriteTemplate = .callback = AnimTask_TeraCrystalShatter, }; +const struct SpriteTemplate gPinkPetalVortexTemplate = +{ + .tileTag = ANIM_TAG_PINK_PETAL, + .paletteTag = ANIM_TAG_PINK_PETAL, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gSweetScentPetalAnimCmdTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimParticleInVortex +}; + // Task data for AnimTask_TeraCrystalShatter #define tCounter data[0] #define tDX data[6] diff --git a/src/battle_anim_electric.c b/src/battle_anim_electric.c index de6d82026406..64114227e17f 100644 --- a/src/battle_anim_electric.c +++ b/src/battle_anim_electric.c @@ -29,6 +29,8 @@ static bool8 CreateShockWaveBoltSprite(struct Task *task, u8 taskId); static void AnimShockWaveProgressingBolt(struct Sprite *); static bool8 CreateShockWaveLightningSprite(struct Task *task, u8 taskId); static void AnimShockWaveLightning(struct Sprite *sprite); +static void AnimIon(struct Sprite *); +static void AnimIon_Step(struct Sprite *); static const union AnimCmd sAnim_Lightning[] = { @@ -559,6 +561,34 @@ const struct SpriteTemplate gSeedFlareGreenChargeTemplate = .callback = AnimGrowingChargeOrb }; +static const union AnimCmd sAnim_Ion[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(8, 2), + ANIMCMD_FRAME(16, 2), + ANIMCMD_FRAME(24, 6), + ANIMCMD_FRAME(32, 2), + ANIMCMD_FRAME(40, 2), + ANIMCMD_FRAME(48, 2), + ANIMCMD_END, +}; + +static const union AnimCmd *const sAnims_Ion[] = +{ + sAnim_Ion, +}; + +const struct SpriteTemplate gIonSpriteTemplate = +{ + .tileTag = ANIM_TAG_IONS, + .paletteTag = ANIM_TAG_IONS, + .oam = &gOamData_AffineOff_ObjNormal_16x32, + .anims = sAnims_Ion, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimIon, +}; + // functions static void AnimLightning(struct Sprite *sprite) { @@ -1452,3 +1482,44 @@ static void AnimShockWaveLightning(struct Sprite *sprite) DestroySprite(sprite); } } + +// Copy of Rain Dance's function but displays the ion sprite instead +// arg 0: initial step +// arg 1: amount (?) +// arg 2: duration +void AnimTask_CreateIons(u8 taskId) +{ + u8 x, y; + + if (gTasks[taskId].data[0] == 0) + { + gTasks[taskId].data[1] = gBattleAnimArgs[0]; + gTasks[taskId].data[2] = gBattleAnimArgs[1]; + gTasks[taskId].data[3] = gBattleAnimArgs[2]; + } + gTasks[taskId].data[0]++; + if (gTasks[taskId].data[0] % gTasks[taskId].data[2] == 1) + { + x = Random2() % DISPLAY_WIDTH; + y = Random2() % (DISPLAY_HEIGHT / 2); + CreateSprite(&gIonSpriteTemplate, x, y, 4); + } + if (gTasks[taskId].data[0] == gTasks[taskId].data[3]) + DestroyAnimVisualTask(taskId); +} + +static void AnimIon(struct Sprite *sprite) +{ + sprite->callback = AnimIon_Step; +} + +static void AnimIon_Step(struct Sprite *sprite) +{ + if (++sprite->data[0] <= 13) + { + sprite->x2++; + sprite->y2 += 4; + } + if (sprite->animEnded) + DestroySprite(sprite); +} diff --git a/src/battle_anim_fight.c b/src/battle_anim_fight.c index e150a2a57d50..ed18e89f9bd0 100644 --- a/src/battle_anim_fight.c +++ b/src/battle_anim_fight.c @@ -414,9 +414,9 @@ const struct SpriteTemplate gPalmSpriteTemplate = const struct SpriteTemplate gAuraSphereBlast = { - .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gOamData_AffineOff_ObjNormal_64x64, + .tileTag = ANIM_TAG_IMPACT_2, + .paletteTag = ANIM_TAG_IMPACT_2, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/battle_anim_flying.c b/src/battle_anim_flying.c index 159188785536..8b613ad67714 100644 --- a/src/battle_anim_flying.c +++ b/src/battle_anim_flying.c @@ -359,11 +359,10 @@ const struct SpriteTemplate gSkyAttackBirdSpriteTemplate = // same as AnimEllipticalGust but centered on targets in a double battle static void AnimEllipticalGustCentered(struct Sprite *sprite) { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) InitSpritePosToAnimTargetsCentre(sprite, FALSE); else InitSpritePosToAnimTarget(sprite, FALSE); - sprite->y += 20; sprite->data[1] = 191; sprite->callback = AnimEllipticalGust_Step; diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c index 051524a68977..240e43b713fe 100644 --- a/src/battle_anim_mon_movement.c +++ b/src/battle_anim_mon_movement.c @@ -15,8 +15,10 @@ static void ReverseHorizontalLungeDirection(struct Sprite *sprite); static void DoVerticalDip(struct Sprite *sprite); static void ReverseVerticalDipDirection(struct Sprite *sprite); static void SlideMonToOriginalPos(struct Sprite *sprite); +static void SlideMonToOriginalPosPartner(struct Sprite *sprite); static void SlideMonToOriginalPos_Step(struct Sprite *sprite); static void SlideMonToOffset(struct Sprite *sprite); +static void SlideMonToOffsetPartner(struct Sprite *sprite); static void SlideMonToOffsetAndBack(struct Sprite *sprite); static void SlideMonToOffsetAndBack_End(struct Sprite *sprite); static void AnimTask_WindUpLunge_Step1(u8 taskId); @@ -63,6 +65,17 @@ const struct SpriteTemplate gSlideMonToOriginalPosSpriteTemplate = .callback = SlideMonToOriginalPos, }; +const struct SpriteTemplate gSlideMonToOriginalPosPartnerSpriteTemplate = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SlideMonToOriginalPosPartner, +}; + const struct SpriteTemplate gSlideMonToOffsetSpriteTemplate = { .tileTag = 0, @@ -74,6 +87,17 @@ const struct SpriteTemplate gSlideMonToOffsetSpriteTemplate = .callback = SlideMonToOffset, }; +const struct SpriteTemplate gSlideMonToOffsetPartnerSpriteTemplate = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SlideMonToOffsetPartner, +}; + const struct SpriteTemplate gSlideMonToOffsetAndBackSpriteTemplate = { .tileTag = 0, @@ -515,6 +539,36 @@ static void SlideMonToOriginalPos(struct Sprite *sprite) sprite->callback = SlideMonToOriginalPos_Step; } +static void SlideMonToOriginalPosPartner(struct Sprite *sprite) +{ + u32 monSpriteId; + if (!gBattleAnimArgs[0]) + monSpriteId = gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]; + else + monSpriteId = gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimTarget)]; + + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[1] = gSprites[monSpriteId].x + gSprites[monSpriteId].x2; + sprite->data[2] = gSprites[monSpriteId].x; + sprite->data[3] = gSprites[monSpriteId].y + gSprites[monSpriteId].y2; + sprite->data[4] = gSprites[monSpriteId].y; + InitSpriteDataForLinearTranslation(sprite); + sprite->data[3] = 0; + sprite->data[4] = 0; + sprite->data[5] = gSprites[monSpriteId].x2; + sprite->data[6] = gSprites[monSpriteId].y2; + sprite->invisible = TRUE; + + if (gBattleAnimArgs[1] == 1) + sprite->data[2] = 0; + else if (gBattleAnimArgs[1] == 2) + sprite->data[1] = 0; + + sprite->data[7] = gBattleAnimArgs[1]; + sprite->data[7] |= monSpriteId << 8; + sprite->callback = SlideMonToOriginalPos_Step; +} + static void SlideMonToOriginalPos_Step(struct Sprite *sprite) { s8 monSpriteId; @@ -585,6 +639,39 @@ static void SlideMonToOffset(struct Sprite *sprite) sprite->callback = TranslateSpriteLinearByIdFixedPoint; } +static void SlideMonToOffsetPartner(struct Sprite *sprite) +{ + u8 battler; + u8 monSpriteId; + if (!gBattleAnimArgs[0]) + battler = BATTLE_PARTNER(gBattleAnimAttacker); + else + battler = BATTLE_PARTNER(gBattleAnimTarget); + + monSpriteId = gBattlerSpriteIds[battler]; + if (GetBattlerSide(battler) != B_SIDE_PLAYER) + { + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + if (gBattleAnimArgs[3] == 1) + { + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + } + } + + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[1] = gSprites[monSpriteId].x; + sprite->data[2] = gSprites[monSpriteId].x + gBattleAnimArgs[1]; + sprite->data[3] = gSprites[monSpriteId].y; + sprite->data[4] = gSprites[monSpriteId].y + gBattleAnimArgs[2]; + InitSpriteDataForLinearTranslation(sprite); + sprite->data[3] = 0; + sprite->data[4] = 0; + sprite->data[5] = monSpriteId; + sprite->invisible = TRUE; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); + sprite->callback = TranslateSpriteLinearByIdFixedPoint; +} + static void SlideMonToOffsetAndBack(struct Sprite *sprite) { u8 spriteId; diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index 542a179d6a1c..928f050822b3 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -17,8 +17,6 @@ #include "util.h" #include "constants/battle_anim.h" -#define IS_DOUBLE_BATTLE() ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - extern const struct OamData gOamData_AffineNormal_ObjNormal_64x64; static void AnimTranslateLinear_WithFollowup_SetCornerVecX(struct Sprite *sprite); @@ -118,11 +116,7 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType) } else { - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - mon = &gEnemyParty[gBattlerPartyIndexes[battlerId]]; - else - mon = &gPlayerParty[gBattlerPartyIndexes[battlerId]]; - + mon = GetPartyBattlerData(battlerId); illusionMon = GetIllusionMonPtr(battlerId); if (illusionMon != NULL) mon = illusionMon; @@ -663,12 +657,6 @@ static void UNUSED TranslateSpriteToBattleAttackerPos(struct Sprite *sprite) #undef sStartY #undef sTargetY -static void UNUSED EndUnkPaletteAnim(struct Sprite *sprite) -{ - PaletteStruct_ResetById(sprite->data[5]); - DestroySpriteAndMatrix(sprite); -} - void RunStoredCallbackWhenAffineAnimEnds(struct Sprite *sprite) { if (sprite->affineAnimEnded) @@ -874,11 +862,6 @@ bool8 IsBattlerSpritePresent(u8 battlerId) } } -bool8 IsDoubleBattle(void) -{ - return IS_DOUBLE_BATTLE(); -} - #define BG_ANIM_PAL_1 8 #define BG_ANIM_PAL_2 9 #define BG_ANIM_PAL_CONTEST 14 @@ -2151,10 +2134,14 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) species = SanitizeSpeciesId(species); if (species == SPECIES_UNOWN) species = GetUnownSpeciesId(personality); + + #if P_GENDER_DIFFERENCES if (gSpeciesInfo[species].backPicFemale != NULL && IsPersonalityFemale(species, personality)) size = gSpeciesInfo[species].backPicSizeFemale; else + #endif size = gSpeciesInfo[species].backPicSize; + y_offset = gSpeciesInfo[species].backPicYOffset; } else @@ -2174,10 +2161,14 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) species = SanitizeSpeciesId(species); if (species == SPECIES_UNOWN) species = GetUnownSpeciesId(personality); + + #if P_GENDER_DIFFERENCES if (gSpeciesInfo[species].frontPicFemale != NULL && IsPersonalityFemale(species, personality)) size = gSpeciesInfo[species].frontPicSizeFemale; else + #endif size = gSpeciesInfo[species].frontPicSize; + y_offset = gSpeciesInfo[species].frontPicYOffset; } } diff --git a/src/battle_anim_new.c b/src/battle_anim_new.c index eba6496f2094..50bb83305f3a 100644 --- a/src/battle_anim_new.c +++ b/src/battle_anim_new.c @@ -99,7 +99,6 @@ static void SpriteCB_GlacialLance_Step1(struct Sprite* sprite); static void SpriteCB_GlacialLance_Step2(struct Sprite* sprite); static void SpriteCB_GlacialLance(struct Sprite* sprite); static void SpriteCB_TripleArrowKick(struct Sprite* sprite); -static void AnimMakingItRain(struct Sprite *sprite); // const data // general @@ -2176,18 +2175,7 @@ const struct SpriteTemplate gSpiritShackleArrowTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimSonicBoomProjectile -}; - -const struct SpriteTemplate gSpiritShackleChainTemplate = -{ - .tileTag = ANIM_TAG_CHAIN_LINK, - .paletteTag = ANIM_TAG_CHAIN_LINK, - .oam = &gOamData_AffineOff_ObjNormal_32x16, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimThunderWave + .callback = AnimTranslateStinger }; //darkest lariat @@ -7235,18 +7223,6 @@ const struct SpriteTemplate gBitterBladeImpactTemplate = .callback = AnimClawSlash }; -// Make It Rain -const struct SpriteTemplate gMakingItRainTemplate = -{ - .tileTag = ANIM_TAG_COIN, - .paletteTag = ANIM_TAG_COIN, - .oam = &gOamData_AffineNormal_ObjNormal_16x16, - .anims = gCoinAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimMakingItRain, -}; - const struct SpriteTemplate gRedExplosionSpriteTemplate = { .tileTag = ANIM_TAG_RED_EXPLOSION, @@ -7280,6 +7256,39 @@ const struct SpriteTemplate gMoonUpSpriteTemplate = .callback = AnimWeatherBallUp, }; +const union AnimCmd gSproutAnimCmds[] = +{ + ANIMCMD_FRAME(96, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSproutAnimTable[] = +{ + gSproutAnimCmds, +}; + +const struct SpriteTemplate gSproutGrowSpriteTemplate = +{ + .tileTag = ANIM_TAG_SPROUT, + .paletteTag = ANIM_TAG_SPROUT, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gSproutAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimSpriteOnMonPos, +}; + +const struct SpriteTemplate gFreezyFrostRisingSpearSpriteTemplate = +{ + .tileTag = ANIM_TAG_ICICLE_SPEAR, + .paletteTag = ANIM_TAG_ICICLE_SPEAR, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_GeyserTarget +}; + // functions //general void AnimTask_IsTargetPartner(u8 taskId) @@ -7296,7 +7305,7 @@ static u8 LoadBattleAnimTarget(u8 arg) { u8 battler; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { switch (gBattleAnimArgs[arg]) { @@ -7327,7 +7336,7 @@ static u8 LoadBattleAnimTarget(u8 arg) static u8 GetProperCentredCoord(u8 battler, u8 coordType) { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) return (GetBattlerSpriteCoord2(battler, coordType) + GetBattlerSpriteCoord2(BATTLE_PARTNER(battler), coordType)) / 2; return GetBattlerSpriteCoord(battler, coordType); @@ -7517,14 +7526,14 @@ static void SpriteCB_SpriteToCentreOfSide(struct Sprite *sprite) if (gBattleAnimArgs[2] == 0) //Attacker { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) InitSpritePosToAnimAttackersCentre(sprite, var); else InitSpritePosToAnimAttacker(sprite, var); } else { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) InitSpritePosToAnimTargetsCentre(sprite, var); else InitSpritePosToAnimTarget(sprite, var); @@ -7608,7 +7617,7 @@ static void SpriteCB_GrowingSuperpower(struct Sprite *sprite) static void SpriteCB_CentredSpiderWeb(struct Sprite *sprite) { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) InitSpritePosToAnimTargetsCentre(sprite, FALSE); else InitSpritePosToAnimTarget(sprite, FALSE); @@ -7622,14 +7631,14 @@ static void SpriteCB_CoreEnforcerHits(struct Sprite *sprite) if (gBattleAnimArgs[2] == 0) { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) InitSpritePosToAnimAttackersCentre(sprite, FALSE); else InitSpritePosToAnimAttacker(sprite, FALSE); } else { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) InitSpritePosToAnimTargetsCentre(sprite, FALSE); else InitSpritePosToAnimTarget(sprite, FALSE); @@ -7641,7 +7650,7 @@ static void SpriteCB_CoreEnforcerHits(struct Sprite *sprite) static void SpriteCB_CoreEnforcerBeam(struct Sprite *sprite) { - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if (!IsDoubleBattle()) { AnimSolarBeamBigOrb(sprite); } @@ -7913,14 +7922,14 @@ void SpriteCB_RandomCentredHits(struct Sprite *sprite) if (gBattleAnimArgs[0] == 0) { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) InitSpritePosToAnimAttackersCentre(sprite, FALSE); else InitSpritePosToAnimAttacker(sprite, FALSE); } else { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) InitSpritePosToAnimTargetsCentre(sprite, FALSE); else InitSpritePosToAnimTarget(sprite, FALSE); @@ -8225,7 +8234,7 @@ static void SpriteCB_BeamUpStep(struct Sprite *sprite) static void SpriteCB_CentredElectricity(struct Sprite *sprite) { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) InitSpritePosToAnimTargetsCentre(sprite, FALSE); else InitSpritePosToAnimTarget(sprite, FALSE); @@ -9266,22 +9275,12 @@ void AnimTask_StickySyrup(u8 taskId) DestroyAnimVisualTask(taskId); } -static void AnimMakingItRain(struct Sprite *sprite) +void AnimTask_RandomBool(u8 taskId) { - if (gBattleAnimArgs[3] != 0) - SetAverageBattlerPositions(gBattleAnimTarget, FALSE, &sprite->x, &sprite->y); //coin shower on target + if (RandomPercentage(RNG_NONE, 50)) + gBattleAnimArgs[ARG_RET_ID] = TRUE; + else + gBattleAnimArgs[ARG_RET_ID] = FALSE; - sprite->x += gBattleAnimArgs[0]; - sprite->y += 14; - StartSpriteAnim(sprite, gBattleAnimArgs[1]); - AnimateSprite(sprite); - sprite->data[0] = 0; - sprite->data[1] = 0; - sprite->data[2] = 4; - sprite->data[3] = 16; - sprite->data[4] = -70; - sprite->data[5] = gBattleAnimArgs[2]; - StoreSpriteCallbackInData6(sprite, AnimFallingRock_Step); - sprite->callback = TranslateSpriteInEllipse; - sprite->callback(sprite); + DestroyAnimVisualTask(taskId); } diff --git a/src/battle_anim_psychic.c b/src/battle_anim_psychic.c index 1c998e9c56e9..a9c1f0cf6727 100644 --- a/src/battle_anim_psychic.c +++ b/src/battle_anim_psychic.c @@ -25,6 +25,7 @@ static void AnimTask_MeditateStretchAttacker_Step(u8); static void AnimTask_Teleport_Step(u8); static void AnimTask_ImprisonOrbs_Step(u8); static void AnimTask_SkillSwap_Step(u8); +static void AnimTask_HeartSwap_Step(u8); static void AnimTask_ExtrasensoryDistortion_Step(u8); static void AnimTask_TransparentCloneGrowAndShrink_Step(u8); static void AnimateZenHeadbutt(struct Sprite *sprite); @@ -359,6 +360,18 @@ const struct SpriteTemplate gSkillSwapOrbSpriteTemplate = .callback = AnimSkillSwapOrb, }; +// Pink version of the Skill Swap orbs +const struct SpriteTemplate gHeartSwapOrbSpriteTemplate = +{ + .tileTag = ANIM_TAG_PINKVIO_ORB, + .paletteTag = ANIM_TAG_PINKVIO_ORB, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = sAffineAnims_SkillSwapOrb, + .callback = AnimSkillSwapOrb, +}; + static const union AffineAnimCmd sAffineAnim_LusterPurgeCircle[] = { AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), @@ -1001,7 +1014,7 @@ void AnimTask_SkillSwap(u8 taskId) } else { - if (gBattleAnimArgs[0] == 1) + if (gBattleAnimArgs[0] == ANIM_TARGET) { task->data[10] = -10; task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_LEFT) + 8; @@ -1023,6 +1036,55 @@ void AnimTask_SkillSwap(u8 taskId) task->func = AnimTask_SkillSwap_Step; } +// Copy of Skill Swap's function to get position of the user and target +// arg 0: move target +void AnimTask_HeartSwap(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (IsContest()) + { + if (gBattleAnimArgs[0] == ANIM_TARGET) + { + task->data[10] = -10; + task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_RIGHT) - 8; + task->data[12] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_TOP) + 8; + task->data[13] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_RIGHT) - 8; + task->data[14] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_TOP) + 8; + } + else + { + task->data[10] = 10; + task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_LEFT) + 8; + task->data[12] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_BOTTOM) - 8; + task->data[13] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_LEFT) + 8; + task->data[14] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_BOTTOM) - 8; + } + } + else + { + if (gBattleAnimArgs[0] == ANIM_TARGET) + { + task->data[10] = -10; + task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_LEFT) + 8; + task->data[12] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_TOP) + 8; + task->data[13] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_LEFT) + 8; + task->data[14] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_TOP) + 8; + } + else + { + task->data[10] = 10; + task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_RIGHT) - 8; + task->data[12] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_BOTTOM) - 8; + task->data[13] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_RIGHT) - 8; + task->data[14] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_BOTTOM) - 8; + } + } + + task->data[1] = 6; + task->func = AnimTask_HeartSwap_Step; +} + static void AnimTask_SkillSwap_Step(u8 taskId) { u8 spriteId; @@ -1057,6 +1119,42 @@ static void AnimTask_SkillSwap_Step(u8 taskId) } } +// Copy of Skill Swap's function to vault the series of orbs between the user and target +// CreateSprite modified so it uses the pink orbs instead of the blue/green ones +static void AnimTask_HeartSwap_Step(u8 taskId) +{ + u8 spriteId; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + if (++task->data[1] > 6) + { + task->data[1] = 0; + spriteId = CreateSprite(&gHeartSwapOrbSpriteTemplate, task->data[11], task->data[12], 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].data[0] = 16; + gSprites[spriteId].data[2] = task->data[13]; + gSprites[spriteId].data[4] = task->data[14]; + gSprites[spriteId].data[5] = task->data[10]; + + InitAnimArcTranslation(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], task->data[2] & 3); + } + + if (++task->data[2] == 12) + task->data[0]++; + } + break; + case 1: + if (++task->data[1] > 17) + DestroyAnimVisualTask(taskId); + break; + } +} + static void AnimSkillSwapOrb(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) diff --git a/src/battle_anim_rock.c b/src/battle_anim_rock.c index 5aa14ffa34cf..ec7bc535df96 100644 --- a/src/battle_anim_rock.c +++ b/src/battle_anim_rock.c @@ -349,6 +349,28 @@ const struct SpriteTemplate gSeedFlareGreenWavesTemplate = .callback = AnimFlyingSandCrescent }; +const struct SpriteTemplate gMakingItRainTemplate = +{ + .tileTag = ANIM_TAG_COIN, + .paletteTag = ANIM_TAG_COIN, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, + .anims = gCoinAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimFallingRock, +}; + +const struct SpriteTemplate gFallingSeedSpriteTemplate = +{ + .tileTag = ANIM_TAG_SEED, + .paletteTag = ANIM_TAG_SEED, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimFallingRock, +}; + static void AnimStealthRock(struct Sprite *sprite) { s16 x, y; @@ -456,7 +478,15 @@ void AnimRockFragment(struct Sprite *sprite) // Swirls particle in vortex. Used for moves like Fire Spin or Sand Tomb void AnimParticleInVortex(struct Sprite *sprite) { - InitSpritePosToAnimBattler(gBattleAnimArgs[6], sprite, FALSE); + if (IsDoubleBattle() + && (gAnimMoveIndex == MOVE_BLEAKWIND_STORM + || gAnimMoveIndex == MOVE_SANDSEAR_STORM + || gAnimMoveIndex == MOVE_SPRINGTIDE_STORM + || gAnimMoveIndex == MOVE_WILDBOLT_STORM)) + InitSpritePosToAnimTargetsCentre(sprite, FALSE); + else + InitSpritePosToAnimBattler(gBattleAnimArgs[6], sprite, FALSE); + sprite->data[0] = gBattleAnimArgs[3]; sprite->data[1] = gBattleAnimArgs[2]; sprite->data[2] = gBattleAnimArgs[4]; diff --git a/src/battle_anim_smokescreen.c b/src/battle_anim_smokescreen.c index 3b05ef6280b9..12fe97b9931a 100644 --- a/src/battle_anim_smokescreen.c +++ b/src/battle_anim_smokescreen.c @@ -9,9 +9,6 @@ #define TAG_SMOKESCREEN 55019 -#define PALTAG_SHADOW 55039 -#define GFXTAG_SHADOW 55129 - static void SpriteCB_SmokescreenImpactMain(struct Sprite *); static void SpriteCB_SmokescreenImpact(struct Sprite *); @@ -95,39 +92,6 @@ static const struct SpriteTemplate sSmokescreenImpactSpriteTemplate = .callback = SpriteCB_SmokescreenImpact }; -const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow = -{ - .data = gEnemyMonShadow_Gfx, .size = 0x80, .tag = GFXTAG_SHADOW -}; - -static const struct OamData sOamData_EnemyShadow = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = FALSE, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x8), - .x = 0, - .matrixNum = 0, - .size = SPRITE_SIZE(32x8), - .tileNum = 0, - .priority = 3, - .paletteNum = 0, - .affineParam = 0 -}; - -const struct SpriteTemplate gSpriteTemplate_EnemyShadow = -{ - .tileTag = GFXTAG_SHADOW, - .paletteTag = PALTAG_SHADOW, - .oam = &sOamData_EnemyShadow, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCB_SetInvisible -}; - #define sActiveSprites data[0] #define sPersist data[1] diff --git a/src/battle_anim_throw.c b/src/battle_anim_throw.c index 81407824fa17..611d12be562a 100644 --- a/src/battle_anim_throw.c +++ b/src/battle_anim_throw.c @@ -128,36 +128,38 @@ static const struct CaptureStar sCaptureStars[] = }, }; -#define TAG_PARTICLES_POKEBALL 65030 -#define TAG_PARTICLES_GREATBALL 65031 -#define TAG_PARTICLES_ULTRABALL 65032 -#define TAG_PARTICLES_MASTERBALL 65033 -#define TAG_PARTICLES_PREMIERBALL 65034 -#define TAG_PARTICLES_HEALBALL 65035 -#define TAG_PARTICLES_NETBALL 65036 -#define TAG_PARTICLES_NESTBALL 65037 -#define TAG_PARTICLES_DIVEBALL 65038 -#define TAG_PARTICLES_DUSKBALL 65039 -#define TAG_PARTICLES_TIMERBALL 65040 -#define TAG_PARTICLES_QUICKBALL 65041 -#define TAG_PARTICLES_REPEATBALL 65042 -#define TAG_PARTICLES_LUXURYBALL 65043 -#define TAG_PARTICLES_LEVELBALL 65044 -#define TAG_PARTICLES_LUREBALL 65045 -#define TAG_PARTICLES_MOONBALL 65046 -#define TAG_PARTICLES_FRIENDBALL 65047 -#define TAG_PARTICLES_LOVEBALL 65048 -#define TAG_PARTICLES_FASTBALL 65049 -#define TAG_PARTICLES_HEAVYBALL 65050 -#define TAG_PARTICLES_DREAMBALL 65051 -#define TAG_PARTICLES_SAFARIBALL 65052 -#define TAG_PARTICLES_SPORTBALL 65053 -#define TAG_PARTICLES_PARKBALL 65054 -#define TAG_PARTICLES_BEASTBALL 65055 -#define TAG_PARTICLES_CHERISHBALL 65056 +#define TAG_PARTICLES_STRANGEBALL 65030 +#define TAG_PARTICLES_POKEBALL 65031 +#define TAG_PARTICLES_GREATBALL 65032 +#define TAG_PARTICLES_ULTRABALL 65033 +#define TAG_PARTICLES_MASTERBALL 65034 +#define TAG_PARTICLES_PREMIERBALL 65035 +#define TAG_PARTICLES_HEALBALL 65036 +#define TAG_PARTICLES_NETBALL 65037 +#define TAG_PARTICLES_NESTBALL 65038 +#define TAG_PARTICLES_DIVEBALL 65039 +#define TAG_PARTICLES_DUSKBALL 65040 +#define TAG_PARTICLES_TIMERBALL 65041 +#define TAG_PARTICLES_QUICKBALL 65042 +#define TAG_PARTICLES_REPEATBALL 65043 +#define TAG_PARTICLES_LUXURYBALL 65044 +#define TAG_PARTICLES_LEVELBALL 65045 +#define TAG_PARTICLES_LUREBALL 65046 +#define TAG_PARTICLES_MOONBALL 65047 +#define TAG_PARTICLES_FRIENDBALL 65048 +#define TAG_PARTICLES_LOVEBALL 65049 +#define TAG_PARTICLES_FASTBALL 65050 +#define TAG_PARTICLES_HEAVYBALL 65051 +#define TAG_PARTICLES_DREAMBALL 65052 +#define TAG_PARTICLES_SAFARIBALL 65053 +#define TAG_PARTICLES_SPORTBALL 65054 +#define TAG_PARTICLES_PARKBALL 65055 +#define TAG_PARTICLES_BEASTBALL 65056 +#define TAG_PARTICLES_CHERISHBALL 65057 static const struct CompressedSpriteSheet sBallParticleSpriteSheets[] = { + [BALL_STRANGE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_STRANGEBALL}, [BALL_POKE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_POKEBALL}, [BALL_GREAT] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_GREATBALL}, [BALL_ULTRA] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_ULTRABALL}, @@ -189,6 +191,7 @@ static const struct CompressedSpriteSheet sBallParticleSpriteSheets[] = static const struct CompressedSpritePalette sBallParticlePalettes[] = { + [BALL_STRANGE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_STRANGEBALL}, [BALL_POKE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_POKEBALL}, [BALL_GREAT] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_GREATBALL}, [BALL_ULTRA] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_ULTRABALL}, @@ -272,6 +275,7 @@ static const union AnimCmd *const sAnims_BallParticles[] = static const u8 sBallParticleAnimNums[POKEBALL_COUNT] = { + [BALL_STRANGE] = 0, [BALL_POKE] = 0, [BALL_GREAT] = 0, [BALL_ULTRA] = 5, @@ -304,6 +308,7 @@ static const u8 sBallParticleAnimNums[POKEBALL_COUNT] = static const TaskFunc sBallParticleAnimationFuncs[POKEBALL_COUNT] = { // Todo: assign and possibly create different particles + [BALL_STRANGE] = GreatBallOpenParticleAnimation, [BALL_POKE] = PokeBallOpenParticleAnimation, [BALL_GREAT] = GreatBallOpenParticleAnimation, [BALL_ULTRA] = UltraBallOpenParticleAnimation, @@ -335,6 +340,15 @@ static const TaskFunc sBallParticleAnimationFuncs[POKEBALL_COUNT] = static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] = { + [BALL_STRANGE] = { + .tileTag = TAG_PARTICLES_STRANGEBALL, + .paletteTag = TAG_PARTICLES_STRANGEBALL, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = sAnims_BallParticles, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, [BALL_POKE] = { .tileTag = TAG_PARTICLES_POKEBALL, .paletteTag = TAG_PARTICLES_POKEBALL, @@ -583,6 +597,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] const u16 gBallOpenFadeColors[] = { // Todo, assign different colors + [BALL_STRANGE] = RGB(16, 23, 30), [BALL_POKE] = RGB(31, 22, 30), [BALL_GREAT] = RGB(16, 23, 30), [BALL_ULTRA] = RGB(31, 31, 15), @@ -887,19 +902,17 @@ void AnimTask_SwitchOutShrinkMon(u8 taskId) void AnimTask_SwitchOutBallEffect(u8 taskId) { u8 spriteId; - u16 ball; - u8 ballId; + enum PokeBall ballId; u8 x, y; u8 priority, subpriority; u32 selectedPalettes; spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) - ball = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_POKEBALL); + ballId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_POKEBALL); else - ball = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_POKEBALL); + ballId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_POKEBALL); - ballId = ItemIdToBallId(ball); switch (gTasks[taskId].data[0]) { case 0: @@ -921,14 +934,14 @@ void AnimTask_SwitchOutBallEffect(u8 taskId) void AnimTask_LoadBallGfx(u8 taskId) { - u8 ballId = ItemIdToBallId(gLastUsedItem); + enum PokeBall ballId = ItemIdToBallId(gLastUsedItem); LoadBallGfx(ballId); DestroyAnimVisualTask(taskId); } void AnimTask_FreeBallGfx(u8 taskId) { - u8 ballId = ItemIdToBallId(gLastUsedItem); + enum PokeBall ballId = ItemIdToBallId(gLastUsedItem); FreeBallGfx(ballId); DestroyAnimVisualTask(taskId); } @@ -943,69 +956,6 @@ void AnimTask_IsBallBlockedByTrainer(u8 taskId) DestroyAnimVisualTask(taskId); } -u8 ItemIdToBallId(u16 ballItem) -{ - switch (ballItem) - { - case ITEM_POKE_BALL: - return BALL_POKE; - case ITEM_GREAT_BALL: - return BALL_GREAT; - case ITEM_ULTRA_BALL: - return BALL_ULTRA; - case ITEM_MASTER_BALL: - return BALL_MASTER; - case ITEM_PREMIER_BALL: - return BALL_PREMIER; - case ITEM_HEAL_BALL: - return BALL_HEAL; - case ITEM_NET_BALL: - return BALL_NET; - case ITEM_NEST_BALL: - return BALL_NEST; - case ITEM_DIVE_BALL: - return BALL_DIVE; - case ITEM_DUSK_BALL: - return BALL_DUSK; - case ITEM_TIMER_BALL: - return BALL_TIMER; - case ITEM_QUICK_BALL: - return BALL_QUICK; - case ITEM_REPEAT_BALL: - return BALL_REPEAT; - case ITEM_LUXURY_BALL: - return BALL_LUXURY; - case ITEM_LEVEL_BALL: - return BALL_LEVEL; - case ITEM_LURE_BALL: - return BALL_LURE; - case ITEM_MOON_BALL: - return BALL_MOON; - case ITEM_FRIEND_BALL: - return BALL_FRIEND; - case ITEM_LOVE_BALL: - return BALL_LOVE; - case ITEM_FAST_BALL: - return BALL_FAST; - case ITEM_HEAVY_BALL: - return BALL_HEAVY; - case ITEM_DREAM_BALL: - return BALL_DREAM; - case ITEM_SAFARI_BALL: - return BALL_SAFARI; - case ITEM_SPORT_BALL: - return BALL_SPORT; - case ITEM_PARK_BALL: - return BALL_PARK; - case ITEM_BEAST_BALL: - return BALL_BEAST; - case ITEM_CHERISH_BALL: - return BALL_CHERISH; - default: - return BALL_POKE; - } -} - #define tSpriteId data[0] #define sDuration data[0] @@ -1014,10 +964,9 @@ u8 ItemIdToBallId(u16 ballItem) void AnimTask_ThrowBall(u8 taskId) { - u8 ballId; u8 spriteId; - ballId = ItemIdToBallId(gLastUsedItem); + enum PokeBall ballId = ItemIdToBallId(gLastUsedItem); spriteId = CreateSprite(&gBallSpriteTemplates[ballId], 32, 80, 29); gSprites[spriteId].sDuration = 34; gSprites[spriteId].sTargetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X); @@ -1039,7 +988,7 @@ static void AnimTask_ThrowBall_Step(u8 taskId) void AnimTask_ThrowBall_StandingTrainer(u8 taskId) { s16 x, y; - u8 ballId; + enum PokeBall ballId; u8 subpriority; u8 spriteId; @@ -1128,8 +1077,7 @@ static void SpriteCB_Ball_Throw(struct Sprite *sprite) static void SpriteCB_Ball_Arc(struct Sprite *sprite) { - s32 i; - u8 ballId; + u32 i; if (TranslateAnimHorizontalArc(sprite)) { @@ -1151,14 +1099,9 @@ static void SpriteCB_Ball_Arc(struct Sprite *sprite) sprite->sTimer = 0; sprite->callback = SpriteCB_Ball_MonShrink; - ballId = ItemIdToBallId(gLastUsedItem); - switch (ballId) - { - case 0 ... POKEBALL_COUNT - 1: - AnimateBallOpenParticles(sprite->x, sprite->y - 5, 1, 28, ballId); - LaunchBallFadeMonTask(FALSE, gBattleAnimTarget, 14, ballId); - break; - } + enum PokeBall ballId = ItemIdToBallId(gLastUsedItem); + AnimateBallOpenParticles(sprite->x, sprite->y - 5, 1, 28, ballId); + LaunchBallFadeMonTask(FALSE, gBattleAnimTarget, 14, ballId); } } } @@ -1720,20 +1663,13 @@ static void SpriteCB_CaptureStar_Flicker(struct Sprite *sprite) // - Wild mon emerge from Poké Ball static void SpriteCB_Ball_Release_Step(struct Sprite *sprite) { - u8 ballId; - StartSpriteAnim(sprite, 1); StartSpriteAffineAnim(sprite, 0); sprite->callback = SpriteCB_Ball_Release_Wait; - ballId = ItemIdToBallId(gLastUsedItem); - switch (ballId) - { - case 0 ... POKEBALL_COUNT - 1: - AnimateBallOpenParticles(sprite->x, sprite->y - 5, 1, 28, ballId); - LaunchBallFadeMonTask(TRUE, gBattleAnimTarget, 14, ballId); - break; - } + enum PokeBall ballId = ItemIdToBallId(gLastUsedItem); + AnimateBallOpenParticles(sprite->x, sprite->y - 5, 1, 28, ballId); + LaunchBallFadeMonTask(TRUE, gBattleAnimTarget, 14, ballId); // Animate Pokémon emerging from Poké Ball gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = FALSE; diff --git a/src/battle_arena.c b/src/battle_arena.c index d0819fa8f0f2..b292ff883709 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -386,9 +386,9 @@ void BattleArena_AddSkillPoints(u8 battler) if (gHitMarker & HITMARKER_OBEYS) { u8 *failedMoveBits = &gBattleStruct->alreadyStatusedMoveAttempt; - if (*failedMoveBits & gBitTable[battler]) + if (*failedMoveBits & (1u << battler)) { - *failedMoveBits &= ~(gBitTable[battler]); + *failedMoveBits &= ~((1u << battler)); skillPoints[battler] -= 2; } else if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 0c71d0a1da5b..7aeefa54b6a6 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -118,7 +118,7 @@ void SetControllerToLinkOpponent(u32 battler) static void LinkOpponentBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[battler]) + if (gBattleControllerExecFlags & (1u << battler)) { if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sLinkOpponentBufferCommands)) sLinkOpponentBufferCommands[gBattleResources->bufferA[battler][0]](battler); @@ -376,7 +376,7 @@ static void LinkOpponentBufferExecCompleted(u32 battler) } else { - gBattleControllerExecFlags &= ~gBitTable[battler]; + gBattleControllerExecFlags &= ~(1u << battler); } } diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index e5fb49bebf65..283b492a9150 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -117,7 +117,7 @@ void SetControllerToLinkPartner(u32 battler) static void LinkPartnerBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[battler]) + if (gBattleControllerExecFlags & (1u << battler)) { if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sLinkPartnerBufferCommands)) sLinkPartnerBufferCommands[gBattleResources->bufferA[battler][0]](battler); @@ -202,7 +202,7 @@ static void LinkPartnerBufferExecCompleted(u32 battler) } else { - gBattleControllerExecFlags &= ~gBitTable[battler]; + gBattleControllerExecFlags &= ~(1u << battler); } } diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index a5dc6f3af137..b6ffd67b75ae 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -132,7 +132,7 @@ void SetControllerToOpponent(u32 battler) static void OpponentBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[battler]) + if (gBattleControllerExecFlags & (1u << battler)) { if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sOpponentBufferCommands)) sOpponentBufferCommands[gBattleResources->bufferA[battler][0]](battler); @@ -211,6 +211,19 @@ static void Intro_WaitForShinyAnimAndHealthbox(u32 battler) } } +static void TrySetBattlerShadowSpriteCallback(u32 battler) +{ + if (gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback == SpriteCallbackDummy) + { + if (B_ENEMY_MON_SHADOW_STYLE <= GEN_3 + || P_GBA_STYLE_SPECIES_GFX == TRUE + || gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary].callback == SpriteCallbackDummy) + { + SetBattlerShadowSpriteCallback(battler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)); + } + } +} + static void Intro_TryShinyAnimShowHealthbox(u32 battler) { bool32 bgmRestored = FALSE; @@ -269,33 +282,36 @@ static void Intro_TryShinyAnimShowHealthbox(u32 battler) if (!twoMons || (twoMons && gBattleTypeFlags & BATTLE_TYPE_MULTI && !BATTLE_TWO_VS_ONE_OPPONENT)) { - if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy) { - battlerAnimsDone = TRUE; + TrySetBattlerShadowSpriteCallback(battler); + if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) + { + battlerAnimsDone = TRUE; + } } } else { if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy - && gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) + && gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) { - battlerAnimsDone = TRUE; + TrySetBattlerShadowSpriteCallback(battler); + TrySetBattlerShadowSpriteCallback(BATTLE_PARTNER(battler)); + if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) + { + battlerAnimsDone = TRUE; + } } } if (bgmRestored && battlerAnimsDone) { if (twoMons && (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) || BATTLE_TWO_VS_ONE_OPPONENT)) - { DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]]); - SetBattlerShadowSpriteCallback(BATTLE_PARTNER(battler), GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]], MON_DATA_SPECIES)); - } DestroySprite(&gSprites[gBattleControllerData[battler]]); - SetBattlerShadowSpriteCallback(battler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)); gBattleSpritesDataPtr->animationData->introAnimActive = FALSE; gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored = FALSE; gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted = FALSE; @@ -390,7 +406,7 @@ static void OpponentBufferExecCompleted(u32 battler) } else { - gBattleControllerExecFlags &= ~gBitTable[battler]; + gBattleControllerExecFlags &= ~(1u << battler); } } @@ -535,9 +551,6 @@ static void OpponentHandleChooseMove(u32 battler) case AI_CHOICE_FLEE: BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_RUN, 0); break; - case AI_CHOICE_SWITCH: - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, 0xFFFF); - break; case 6: BtlController_EmitTwoReturnValues(battler, BUFFER_B, 15, gBattlerTarget); break; @@ -549,7 +562,7 @@ static void OpponentHandleChooseMove(u32 battler) if (GetBattlerMoveTargetType(battler, chosenMove) & MOVE_TARGET_BOTH) { gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + if (gAbsentBattlerFlags & (1u << gBattlerTarget)) gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } // If opponent can and should use a gimmick (considering trainer data), do it @@ -581,7 +594,7 @@ static void OpponentHandleChooseMove(u32 battler) if (GetBattlerMoveTargetType(battler, move) & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveId) | (battler << 8)); - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + else if (IsDoubleBattle()) { do { target = GetBattlerAtPosition(Random() & 2); @@ -635,6 +648,22 @@ static void OpponentHandleChooseItem(u32 battler) OpponentBufferExecCompleted(battler); } +static inline bool32 IsAcePokemon(u32 chosenMonId, u32 pokemonInBattle, u32 battler) +{ + return AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_ACE_POKEMON + && (chosenMonId == CalculateEnemyPartyCountInSide(battler) - 1) + && CountAIAliveNonEggMonsExcept(PARTY_SIZE) != pokemonInBattle; +} + +static inline bool32 IsDoubleAcePokemon(u32 chosenMonId, u32 pokemonInBattle, u32 battler) +{ + return AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_DOUBLE_ACE_POKEMON + && (chosenMonId == CalculateEnemyPartyCountInSide(battler) - 1) + && (chosenMonId == CalculateEnemyPartyCountInSide(battler) - 2) + && CountAIAliveNonEggMonsExcept(PARTY_SIZE) != pokemonInBattle + && CountAIAliveNonEggMonsExcept(PARTY_SIZE-1) != pokemonInBattle; +} + static void OpponentHandleChoosePokemon(u32 battler) { s32 chosenMonId; @@ -646,14 +675,14 @@ static void OpponentHandleChoosePokemon(u32 battler) chosenMonId = gSelectedMonPartyId = GetFirstFaintedPartyIndex(battler); } // Switching out - else if (*(gBattleStruct->AI_monToSwitchIntoId + battler) == PARTY_SIZE) + else if (gBattleStruct->AI_monToSwitchIntoId[battler] == PARTY_SIZE) { chosenMonId = GetMostSuitableMonToSwitchInto(battler, TRUE); if (chosenMonId == PARTY_SIZE) { s32 battler1, battler2, firstId, lastId; - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if (!IsDoubleBattle()) { battler2 = battler1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); } @@ -665,34 +694,31 @@ static void OpponentHandleChoosePokemon(u32 battler) } GetAIPartyIndexes(battler, &firstId, &lastId); - for (chosenMonId = (lastId-1); chosenMonId >= firstId; chosenMonId--) { - if (IsValidForBattle(&gEnemyParty[chosenMonId]) - && chosenMonId != gBattlerPartyIndexes[battler1] - && chosenMonId != gBattlerPartyIndexes[battler2] - && (!(AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_ACE_POKEMON) - || chosenMonId != CalculateEnemyPartyCount() - 1 - || CountAIAliveNonEggMonsExcept(PARTY_SIZE) == pokemonInBattle)) - { + if (!IsValidForBattle(&gEnemyParty[chosenMonId]) + || chosenMonId == gBattlerPartyIndexes[battler1] + || chosenMonId == gBattlerPartyIndexes[battler2]) + continue; + + if (!IsAcePokemon(chosenMonId, pokemonInBattle, battler) + && !IsDoubleAcePokemon(chosenMonId, pokemonInBattle, battler)) break; - } } } - *(gBattleStruct->monToSwitchIntoId + battler) = chosenMonId; + gBattleStruct->monToSwitchIntoId[battler] = chosenMonId; } else { - chosenMonId = *(gBattleStruct->AI_monToSwitchIntoId + battler); - *(gBattleStruct->AI_monToSwitchIntoId + battler) = PARTY_SIZE; - *(gBattleStruct->monToSwitchIntoId + battler) = chosenMonId; + chosenMonId = gBattleStruct->AI_monToSwitchIntoId[battler]; + gBattleStruct->AI_monToSwitchIntoId[battler] = PARTY_SIZE; + gBattleStruct->monToSwitchIntoId[battler] = chosenMonId; } #if TESTING TestRunner_Battle_CheckSwitch(battler, chosenMonId); #endif // TESTING BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, chosenMonId, NULL); OpponentBufferExecCompleted(battler); - } static u8 CountAIAliveNonEggMonsExcept(u8 slotToIgnore) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 8907d9473374..33969994873f 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -31,6 +31,7 @@ #include "text.h" #include "util.h" #include "window.h" +#include "line_break.h" #include "constants/battle_anim.h" #include "constants/battle_move_effects.h" #include "constants/battle_partner.h" @@ -41,9 +42,10 @@ #include "constants/songs.h" #include "constants/trainers.h" #include "constants/rgb.h" -#include "level_caps.h" +#include "caps.h" #include "menu.h" #include "pokemon_summary_screen.h" +#include "type_icons.h" static void PlayerBufferExecCompleted(u32 battler); static void PlayerHandleLoadMonSprite(u32 battler); @@ -59,7 +61,6 @@ static void PlayerHandlePrintString(u32 battler); static void PlayerHandlePrintSelectionString(u32 battler); static void PlayerHandleChooseAction(u32 battler); static void PlayerHandleYesNoBox(u32 battler); -static void PlayerHandleChooseMove(u32 battler); static void PlayerHandleChooseItem(u32 battler); static void PlayerHandleChoosePokemon(u32 battler); static void PlayerHandleCmd23(u32 battler); @@ -81,14 +82,11 @@ static void PlayerHandleEndLinkBattle(u32 battler); static void PlayerHandleBattleDebug(u32 battler); static void PlayerBufferRunCommand(u32 battler); -static void HandleInputChooseTarget(u32 battler); -static void HandleInputChooseMove(u32 battler); static void MoveSelectionDisplayPpNumber(u32 battler); static void MoveSelectionDisplayPpString(u32 battler); static void MoveSelectionDisplayMoveType(u32 battler); static void MoveSelectionDisplayMoveNames(u32 battler); static void MoveSelectionDisplayMoveDescription(u32 battler); -static void HandleMoveSwitching(u32 battler); static void SwitchIn_HandleSoundAndEnd(u32 battler); static void WaitForMonSelection(u32 battler); static void CompleteWhenChoseItem(u32 battler); @@ -183,13 +181,13 @@ static void PlayerBufferExecCompleted(u32 battler) } else { - gBattleControllerExecFlags &= ~gBitTable[battler]; + gBattleControllerExecFlags &= ~(1u << battler); } } static void PlayerBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[battler]) + if (gBattleControllerExecFlags & (1u << battler)) { if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sPlayerBufferCommands)) sPlayerBufferCommands[gBattleResources->bufferA[battler][0]](battler); @@ -382,13 +380,13 @@ static void HandleInputChooseAction(u32 battler) } else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) { - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle() && GetBattlerPosition(battler) == B_POSITION_PLAYER_RIGHT - && !(gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]) + && !(gAbsentBattlerFlags & (1u << GetBattlerAtPosition(B_POSITION_PLAYER_LEFT))) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - // Return item to bag if partner had selected one (except flutes). - if (gBattleResources->bufferA[battler][1] == B_ACTION_USE_ITEM && !IsItemFlute(itemId)) + // Return item to bag if partner had selected one (if consumable). + if (gBattleResources->bufferA[battler][1] == B_ACTION_USE_ITEM && ItemId_GetConsumability(itemId)) { AddBagItem(itemId, 1); } @@ -426,7 +424,7 @@ static void HandleInputChooseAction(u32 battler) } } -static void HandleInputChooseTarget(u32 battler) +void HandleInputChooseTarget(u32 battler) { s32 i; static const u8 identities[MAX_BATTLERS_COUNT] = {B_POSITION_PLAYER_LEFT, B_POSITION_PLAYER_RIGHT, B_POSITION_OPPONENT_RIGHT, B_POSITION_OPPONENT_LEFT}; @@ -510,7 +508,7 @@ static void HandleInputChooseTarget(u32 battler) break; } - if (gAbsentBattlerFlags & gBitTable[gMultiUsePlayerCursor] + if (gAbsentBattlerFlags & (1u << gMultiUsePlayerCursor) || !CanTargetBattler(battler, gMultiUsePlayerCursor, move)) i = 0; } while (i == 0); @@ -560,7 +558,7 @@ static void HandleInputChooseTarget(u32 battler) break; } - if (gAbsentBattlerFlags & gBitTable[gMultiUsePlayerCursor] + if (gAbsentBattlerFlags & (1u << gMultiUsePlayerCursor) || !CanTargetBattler(battler, gMultiUsePlayerCursor, move)) i = 0; } while (i == 0); @@ -596,7 +594,7 @@ static void HideShownTargets(u32 battler) } } -static void HandleInputShowEntireFieldTargets(u32 battler) +void HandleInputShowEntireFieldTargets(u32 battler) { if (JOY_HELD(DPAD_ANY) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A) gPlayerDpadHoldFrames++; @@ -624,7 +622,7 @@ static void HandleInputShowEntireFieldTargets(u32 battler) } } -static void HandleInputShowTargets(u32 battler) +void HandleInputShowTargets(u32 battler) { if (JOY_HELD(DPAD_ANY) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A) gPlayerDpadHoldFrames++; @@ -662,7 +660,7 @@ static void TryShowAsTarget(u32 battler) } } -static void HandleInputChooseMove(u32 battler) +void HandleInputChooseMove(u32 battler) { u16 moveTarget; u32 canSelectTarget = 0; @@ -756,7 +754,7 @@ static void HandleInputChooseMove(u32 battler) if (moveTarget & (MOVE_TARGET_USER | MOVE_TARGET_USER_OR_SELECTED)) gMultiUsePlayerCursor = battler; - else if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)]) + else if (gAbsentBattlerFlags & (1u << GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT))) gMultiUsePlayerCursor = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); else gMultiUsePlayerCursor = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); @@ -968,7 +966,7 @@ static u32 UNUSED HandleMoveInputUnused(u32 battler) return var; } -static void HandleMoveSwitching(u32 battler) +void HandleMoveSwitching(u32 battler) { u8 perMovePPBonuses[MAX_MON_MOVES]; struct ChooseMoveStruct moveStruct; @@ -997,10 +995,10 @@ static void HandleMoveSwitching(u32 battler) moveInfo->maxPp[gMoveSelectionCursor[battler]] = moveInfo->maxPp[gMultiUsePlayerCursor]; moveInfo->maxPp[gMultiUsePlayerCursor] = i; - if (gDisableStructs[battler].mimickedMoves & gBitTable[gMoveSelectionCursor[battler]]) + if (gDisableStructs[battler].mimickedMoves & (1u << gMoveSelectionCursor[battler])) { - gDisableStructs[battler].mimickedMoves &= (~gBitTable[gMoveSelectionCursor[battler]]); - gDisableStructs[battler].mimickedMoves |= gBitTable[gMultiUsePlayerCursor]; + gDisableStructs[battler].mimickedMoves &= ~(1u << gMoveSelectionCursor[battler]); + gDisableStructs[battler].mimickedMoves |= 1u << gMultiUsePlayerCursor; } MoveSelectionDisplayMoveNames(battler); @@ -1716,9 +1714,7 @@ static void MoveSelectionDisplayMoveType(u32 battler) u8 type; u32 speciesId; struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]); - txtPtr = StringCopy(gDisplayedStringBattle, gText_MoveInterfaceType); - type = gMovesInfo[moveInfo->moves[gMoveSelectionCursor[battler]]].type; if (moveInfo->moves[gMoveSelectionCursor[battler]] == MOVE_TERA_BLAST) @@ -1730,16 +1726,15 @@ static void MoveSelectionDisplayMoveType(u32 battler) { speciesId = gBattleMons[battler].species; - if (speciesId == SPECIES_OGERPON_WELLSPRING_MASK || speciesId == SPECIES_OGERPON_WELLSPRING_MASK_TERA - || speciesId == SPECIES_OGERPON_HEARTHFLAME_MASK || speciesId == SPECIES_OGERPON_HEARTHFLAME_MASK_TERA - || speciesId == SPECIES_OGERPON_CORNERSTONE_MASK || speciesId == SPECIES_OGERPON_CORNERSTONE_MASK_TERA) + if (speciesId == SPECIES_OGERPON_WELLSPRING || speciesId == SPECIES_OGERPON_WELLSPRING_TERA + || speciesId == SPECIES_OGERPON_HEARTHFLAME || speciesId == SPECIES_OGERPON_HEARTHFLAME_TERA + || speciesId == SPECIES_OGERPON_CORNERSTONE || speciesId == SPECIES_OGERPON_CORNERSTONE_TERA) type = gBattleMons[battler].types[1]; } - // Max Guard is a Normal-type move else if (gMovesInfo[moveInfo->moves[gMoveSelectionCursor[battler]]].category == DAMAGE_CATEGORY_STATUS && (GetActiveGimmick(battler) == GIMMICK_DYNAMAX || IsGimmickSelected(battler, GIMMICK_DYNAMAX))) { - type = TYPE_NORMAL; + type = TYPE_NORMAL; // Max Guard is always a Normal-type move } else if (moveInfo->moves[gMoveSelectionCursor[battler]] == MOVE_TERA_STARSTORM) { @@ -1747,8 +1742,13 @@ static void MoveSelectionDisplayMoveType(u32 battler) || (IsGimmickSelected(battler, GIMMICK_TERA) && gBattleMons[battler].species == SPECIES_TERAPAGOS_TERASTAL)) type = TYPE_STELLAR; } - + else if (P_SHOW_DYNAMIC_TYPES) // Non-vanilla changes to battle UI showing dynamic types + { + struct Pokemon *mon = &gPlayerParty[gBattlerPartyIndexes[battler]]; + type = CheckDynamicMoveType(mon, moveInfo->moves[gMoveSelectionCursor[battler]], battler); + } end = StringCopy(txtPtr, gTypesInfo[type].name); + PrependFontIdToFit(txtPtr, end, FONT_NORMAL, WindowWidthPx(B_WIN_MOVE_TYPE) - 25); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MOVE_TYPE); } @@ -2045,7 +2045,42 @@ static void PlayerHandleChooseAction(u32 battler) ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0); PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, battler, gBattlerPartyIndexes[battler]); BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo); - BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT); + BreakStringAutomatic(gDisplayedStringBattle, WindowWidthPx(B_WIN_ACTION_PROMPT), 2, FONT_NORMAL); + + if (B_SHOW_PARTNER_TARGET && gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && IsBattlerAlive(B_POSITION_PLAYER_RIGHT)) + { + StringCopy(gStringVar1, COMPOUND_STRING("Partner will use:\n")); + u32 move = gBattleMons[B_POSITION_PLAYER_RIGHT].moves[*(gBattleStruct->chosenMovePositions + B_POSITION_PLAYER_RIGHT)]; + StringAppend(gStringVar1, gMovesInfo[move].name); + if (gMovesInfo[move].target == MOVE_TARGET_SELECTED) + { + if (gBattleStruct->aiChosenTarget[B_POSITION_PLAYER_RIGHT] == B_POSITION_OPPONENT_LEFT) + StringAppend(gStringVar1, COMPOUND_STRING(" -{UP_ARROW}")); + else if (gBattleStruct->aiChosenTarget[B_POSITION_PLAYER_RIGHT] == B_POSITION_OPPONENT_RIGHT) + StringAppend(gStringVar1, COMPOUND_STRING(" {UP_ARROW}-")); + else if (gBattleStruct->aiChosenTarget[B_POSITION_PLAYER_RIGHT] == B_POSITION_PLAYER_LEFT) + StringAppend(gStringVar1, COMPOUND_STRING(" {DOWN_ARROW}-")); + else if (gBattleStruct->aiChosenTarget[B_POSITION_PLAYER_RIGHT] == B_POSITION_PLAYER_RIGHT) + StringAppend(gStringVar1, COMPOUND_STRING(" {DOWN_ARROW}-")); + } + else if (gMovesInfo[move].target == MOVE_TARGET_BOTH) + { + StringAppend(gStringVar1, COMPOUND_STRING(" {UP_ARROW}{UP_ARROW}")); + } + else if (gMovesInfo[move].target == MOVE_TARGET_FOES_AND_ALLY) + { + StringAppend(gStringVar1, COMPOUND_STRING(" {V_D_ARROW}{UP_ARROW}")); + } + else if (gMovesInfo[move].target == MOVE_TARGET_ALL_BATTLERS) + { + StringAppend(gStringVar1, COMPOUND_STRING(" {V_D_ARROW}{V_D_ARROW}")); + } + BattlePutTextOnWindow(gStringVar1, B_WIN_ACTION_PROMPT); + } + else + { + BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT); + } } static void PlayerHandleYesNoBox(u32 battler) @@ -2064,7 +2099,7 @@ static void PlayerHandleYesNoBox(u32 battler) } } -static void HandleChooseMoveAfterDma3(u32 battler) +void HandleChooseMoveAfterDma3(u32 battler) { if (!IsDma3ManagerBusyWithBgCopy()) { @@ -2086,7 +2121,7 @@ static void PlayerChooseMoveInBattlePalace(u32 battler) } } -static void PlayerHandleChooseMove(u32 battler) +void PlayerHandleChooseMove(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { @@ -2101,7 +2136,7 @@ static void PlayerHandleChooseMove(u32 battler) gBattleStruct->gimmick.playerSelect = FALSE; AssignUsableZMoves(battler, moveInfo->moves); - gBattleStruct->zmove.viable = (gBattleStruct->zmove.possibleZMoves[battler] & gBitTable[gMoveSelectionCursor[battler]]) != 0; + gBattleStruct->zmove.viable = (gBattleStruct->zmove.possibleZMoves[battler] & (1u << gMoveSelectionCursor[battler])) != 0; if (!IsGimmickTriggerSpriteActive()) gBattleStruct->gimmick.triggerSpriteId = 0xFF; @@ -2114,6 +2149,7 @@ static void PlayerHandleChooseMove(u32 battler) void InitMoveSelectionsVarsAndStrings(u32 battler) { + LoadTypeIcons(battler); MoveSelectionDisplayMoveNames(battler); gMultiUsePlayerCursor = 0xFF; MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 0); diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 2dffd4f70288..f987c333ce4b 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -121,7 +121,7 @@ void SetControllerToPlayerPartner(u32 battler) static void PlayerPartnerBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[battler]) + if (gBattleControllerExecFlags & (1u << battler)) { if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sPlayerPartnerBufferCommands)) sPlayerPartnerBufferCommands[gBattleResources->bufferA[battler][0]](battler); @@ -274,7 +274,7 @@ static void PlayerPartnerBufferExecCompleted(u32 battler) } else { - gBattleControllerExecFlags &= ~gBitTable[battler]; + gBattleControllerExecFlags &= ~(1u << battler); } } @@ -354,31 +354,24 @@ static void PlayerPartnerHandleChooseMove(u32 battler) chosenMoveId = gBattleStruct->aiMoveOrAction[battler]; gBattlerTarget = gBattleStruct->aiChosenTarget[battler]; - if (chosenMoveId == AI_CHOICE_SWITCH) + if (gMovesInfo[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_USER | MOVE_TARGET_USER_OR_SELECTED)) + gBattlerTarget = battler; + else if (gMovesInfo[moveInfo->moves[chosenMoveId]].target & MOVE_TARGET_BOTH) { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, 0xFFFF); + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + if (gAbsentBattlerFlags & (1u << gBattlerTarget)) + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + } + // If partner can and should use a gimmick (considering trainer data), do it + if (gBattleStruct->gimmick.usableGimmick[battler] != GIMMICK_NONE + && !(gBattleStruct->gimmick.usableGimmick[battler] == GIMMICK_Z_MOVE + && !ShouldUseZMove(battler, gBattlerTarget, moveInfo->moves[chosenMoveId]))) + { + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveId) | (RET_GIMMICK) | (gBattlerTarget << 8)); } else { - if (gMovesInfo[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_USER | MOVE_TARGET_USER_OR_SELECTED)) - gBattlerTarget = battler; - if (gMovesInfo[moveInfo->moves[chosenMoveId]].target & MOVE_TARGET_BOTH) - { - gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) - gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); - } - // If partner can and should use a gimmick (considering trainer data), do it - if (gBattleStruct->gimmick.usableGimmick[battler] != GIMMICK_NONE - && !(gBattleStruct->gimmick.usableGimmick[battler] == GIMMICK_Z_MOVE - && !ShouldUseZMove(battler, gBattlerTarget, moveInfo->moves[chosenMoveId]))) - { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveId) | (RET_GIMMICK) | (gBattlerTarget << 8)); - } - else - { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveId) | (gBattlerTarget << 8)); - } + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveId) | (gBattlerTarget << 8)); } PlayerPartnerBufferExecCompleted(battler); diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index abadcc231cff..afd56a9faf42 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -124,7 +124,7 @@ void SetControllerToRecordedOpponent(u32 battler) static void RecordedOpponentBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[battler]) + if (gBattleControllerExecFlags & (1u << battler)) { if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sRecordedOpponentBufferCommands)) sRecordedOpponentBufferCommands[gBattleResources->bufferA[battler][0]](battler); @@ -145,7 +145,7 @@ static void RecordedOpponentBufferExecCompleted(u32 battler) } else { - gBattleControllerExecFlags &= ~gBitTable[battler]; + gBattleControllerExecFlags &= ~(1u << battler); } } @@ -200,6 +200,20 @@ static void Intro_WaitForShinyAnimAndHealthbox(u32 battler) } } +static void TrySetBattlerShadowSpriteCallback(u32 battler) +{ + + if (gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback == SpriteCallbackDummy) + { + if (B_ENEMY_MON_SHADOW_STYLE <= GEN_3 + || P_GBA_STYLE_SPECIES_GFX == TRUE + || gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary].callback == SpriteCallbackDummy) + { + SetBattlerShadowSpriteCallback(battler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)); + } + } +} + static void Intro_TryShinyAnimShowHealthbox(u32 battler) { bool32 bgmRestored = FALSE; @@ -253,33 +267,34 @@ static void Intro_TryShinyAnimShowHealthbox(u32 battler) if (!IsDoubleBattle()) { - if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy) { - battlerAnimsDone = TRUE; + TrySetBattlerShadowSpriteCallback(battler); + if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) + battlerAnimsDone = TRUE; } } else { if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy - && gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) + && gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) { - battlerAnimsDone = TRUE; + TrySetBattlerShadowSpriteCallback(battler); + TrySetBattlerShadowSpriteCallback(BATTLE_PARTNER(battler)); + if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) + { + battlerAnimsDone = TRUE; + } } } if (bgmRestored && battlerAnimsDone) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - { DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]]); - SetBattlerShadowSpriteCallback(BATTLE_PARTNER(battler), GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]], MON_DATA_SPECIES)); - } DestroySprite(&gSprites[gBattleControllerData[battler]]); - SetBattlerShadowSpriteCallback(battler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)); gBattleSpritesDataPtr->animationData->introAnimActive = FALSE; gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored = FALSE; diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 3a9ca1ec00c2..2bb64f30668f 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -121,7 +121,7 @@ void SetControllerToRecordedPlayer(u32 battler) static void RecordedPlayerBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[battler]) + if (gBattleControllerExecFlags & (1u << battler)) { if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sRecordedPlayerBufferCommands)) sRecordedPlayerBufferCommands[gBattleResources->bufferA[battler][0]](battler); @@ -351,7 +351,7 @@ static void RecordedPlayerBufferExecCompleted(u32 battler) } else { - gBattleControllerExecFlags &= ~gBitTable[battler]; + gBattleControllerExecFlags &= ~(1u << battler); } } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 39fbc63ab6d2..932ce47fd938 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -20,6 +20,7 @@ #include "text.h" #include "util.h" #include "window.h" +#include "line_break.h" #include "constants/battle_anim.h" #include "constants/songs.h" #include "constants/trainers.h" @@ -112,7 +113,7 @@ void SetControllerToSafari(u32 battler) static void SafariBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[battler]) + if (gBattleControllerExecFlags & (1u << battler)) { if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sSafariBufferCommands)) sSafariBufferCommands[gBattleResources->bufferA[battler][0]](battler); @@ -240,7 +241,7 @@ static void SafariBufferExecCompleted(u32 battler) } else { - gBattleControllerExecFlags &= ~gBitTable[battler]; + gBattleControllerExecFlags &= ~(1u << battler); } } @@ -298,6 +299,7 @@ static void SafariHandleChooseAction(u32 battler) ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0); BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo2); + BreakStringAutomatic(gDisplayedStringBattle, WindowWidthPx(B_WIN_ACTION_PROMPT), 2, FONT_NORMAL); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT); } diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 7b0bb6f154f4..66d39326947a 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -129,7 +129,7 @@ void SetControllerToWally(u32 battler) static void WallyBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[battler]) + if (gBattleControllerExecFlags & (1u << battler)) { if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sWallyBufferCommands)) sWallyBufferCommands[gBattleResources->bufferA[battler][0]](battler); @@ -288,7 +288,7 @@ static void WallyBufferExecCompleted(u32 battler) } else { - gBattleControllerExecFlags &= ~gBitTable[battler]; + gBattleControllerExecFlags &= ~(1u << battler); } } diff --git a/src/battle_controllers.c b/src/battle_controllers.c index a983263c0443..553eb7a85c61 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -175,7 +175,7 @@ static void InitSinglePlayerBtlControllers(void) gBattlerPartyIndexes[3] = 3; } } - else if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + else if (!IsDoubleBattle()) { gBattleMainFunc = BeginBattleIntro; @@ -417,7 +417,7 @@ static void InitLinkBtlControllers(void) s32 i; u8 multiplayerId; - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if (!IsDoubleBattle()) { if (gBattleTypeFlags & BATTLE_TYPE_IS_MASTER) { @@ -442,7 +442,7 @@ static void InitLinkBtlControllers(void) gBattlersCount = 2; } } - else if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + else if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && IsDoubleBattle()) { if (gBattleTypeFlags & BATTLE_TYPE_IS_MASTER) { @@ -851,7 +851,7 @@ void TryReceiveLinkBattleData(void) DestroyTask_RfuIdle(); for (i = 0; i < GetLinkPlayerCount(); i++) { - if (GetBlockReceivedStatus() & gBitTable[i]) + if (GetBlockReceivedStatus() & (1 << (i))) { ResetBlockReceivedFlag(i); recvBuffer = (u8 *)gBlockRecvBuffer[i]; @@ -898,7 +898,7 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) switch (gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 0]) { case 0: - if (gBattleControllerExecFlags & gBitTable[battler]) + if (gBattleControllerExecFlags & (1u << battler)) return; memcpy(gBattleResources->bufferA[battler], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize); @@ -917,7 +917,7 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) break; case 2: var = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA]; - gBattleControllerExecFlags &= ~(gBitTable[battler] << (var * 4)); + gBattleControllerExecFlags &= ~(1u << (battler + var * 4)); break; } diff --git a/src/battle_debug.c b/src/battle_debug.c index c3b4ac85aabc..b03ef194f042 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -2269,14 +2269,9 @@ static void UpdateMonData(struct BattleDebugMenu *data) { if (data->battlerWasChanged[i]) { - struct Pokemon *mon; + struct Pokemon *mon = GetPartyBattlerData(i); struct BattlePokemon *battleMon = &gBattleMons[i]; - if (GetBattlerSide(i) == B_SIDE_PLAYER) - mon = &gPlayerParty[gBattlerPartyIndexes[i]]; - else - mon = &gEnemyParty[gBattlerPartyIndexes[i]]; - SetMonData(mon, MON_DATA_HELD_ITEM, &battleMon->item); SetMonData(mon, MON_DATA_STATUS, &battleMon->status1); SetMonData(mon, MON_DATA_HP, &battleMon->hp); diff --git a/src/battle_dome.c b/src/battle_dome.c index a91da6fda734..1d7933329083 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -2030,8 +2030,8 @@ static void InitDomeTrainers(void) rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPDEF, NULL); rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPEED, NULL); rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_MAX_HP, NULL); - monTypesBits |= gBitTable[gSpeciesInfo[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].types[0]]; - monTypesBits |= gBitTable[gSpeciesInfo[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].types[1]]; + monTypesBits |= 1u << gSpeciesInfo[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].types[0]; + monTypesBits |= 1u << gSpeciesInfo[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].types[1]; } // Count the number of types in the players party, to factor into the ranking @@ -2062,8 +2062,8 @@ static void InitDomeTrainers(void) rankingScores[i] += statValues[STAT_SPDEF]; rankingScores[i] += statValues[STAT_SPEED]; rankingScores[i] += statValues[STAT_HP]; - monTypesBits |= gBitTable[gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].types[0]]; - monTypesBits |= gBitTable[gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].types[1]]; + monTypesBits |= 1u << gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].types[0]; + monTypesBits |= 1u << gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].types[1]; } for (monTypesCount = 0, j = 0; j < 32; j++) @@ -2344,9 +2344,9 @@ static int SelectOpponentMonsFromParty(int *partyMovePoints, bool8 allowRandom) while (i != DOME_BATTLE_PARTY_SIZE) { u32 rand = Random() & FRONTIER_PARTY_SIZE; - if (rand != FRONTIER_PARTY_SIZE && !(selectedMonBits & gBitTable[rand])) + if (rand != FRONTIER_PARTY_SIZE && !(selectedMonBits & (1u << rand))) { - selectedMonBits |= gBitTable[rand]; + selectedMonBits |= 1u << rand; i++; } } @@ -2376,7 +2376,7 @@ static int SelectOpponentMonsFromParty(int *partyMovePoints, bool8 allowRandom) for (i = 0; i < DOME_BATTLE_PARTY_SIZE; i++) { - selectedMonBits |= gBitTable[partyPositions[i]]; + selectedMonBits |= 1u << partyPositions[i]; } } @@ -5803,8 +5803,8 @@ static void InitRandomTourneyTreeResults(void) statSums[i] += statValues[STAT_SPDEF]; statSums[i] += statValues[STAT_SPEED]; statSums[i] += statValues[STAT_HP]; - monTypesBits |= gBitTable[gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].types[0]]; - monTypesBits |= gBitTable[gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].types[1]]; + monTypesBits |= 1u << gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].types[0]; + monTypesBits |= 1u << gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].types[1]; } // Because GF hates temporary vars, trainerId acts like monTypesCount here. diff --git a/src/battle_dynamax.c b/src/battle_dynamax.c index e0b782d12cd4..17425b51d875 100644 --- a/src/battle_dynamax.c +++ b/src/battle_dynamax.c @@ -34,40 +34,40 @@ struct GMaxMove static const struct GMaxMove sGMaxMoveTable[] = { - {SPECIES_VENUSAUR_GIGANTAMAX, TYPE_GRASS, MOVE_G_MAX_VINE_LASH}, - {SPECIES_BLASTOISE_GIGANTAMAX, TYPE_WATER, MOVE_G_MAX_CANNONADE}, - {SPECIES_CHARIZARD_GIGANTAMAX, TYPE_FIRE, MOVE_G_MAX_WILDFIRE}, - {SPECIES_BUTTERFREE_GIGANTAMAX, TYPE_BUG, MOVE_G_MAX_BEFUDDLE}, - {SPECIES_PIKACHU_GIGANTAMAX, TYPE_ELECTRIC, MOVE_G_MAX_VOLT_CRASH}, - {SPECIES_MEOWTH_GIGANTAMAX, TYPE_NORMAL, MOVE_G_MAX_GOLD_RUSH}, - {SPECIES_MACHAMP_GIGANTAMAX, TYPE_FIGHTING, MOVE_G_MAX_CHI_STRIKE}, - {SPECIES_GENGAR_GIGANTAMAX, TYPE_GHOST, MOVE_G_MAX_TERROR}, - {SPECIES_KINGLER_GIGANTAMAX, TYPE_WATER, MOVE_G_MAX_FOAM_BURST}, - {SPECIES_LAPRAS_GIGANTAMAX, TYPE_ICE, MOVE_G_MAX_RESONANCE}, - {SPECIES_EEVEE_GIGANTAMAX, TYPE_NORMAL, MOVE_G_MAX_CUDDLE}, - {SPECIES_SNORLAX_GIGANTAMAX, TYPE_NORMAL, MOVE_G_MAX_REPLENISH}, - {SPECIES_GARBODOR_GIGANTAMAX, TYPE_POISON, MOVE_G_MAX_MALODOR}, - {SPECIES_MELMETAL_GIGANTAMAX, TYPE_STEEL, MOVE_G_MAX_MELTDOWN}, - {SPECIES_RILLABOOM_GIGANTAMAX, TYPE_GRASS, MOVE_G_MAX_DRUM_SOLO}, - {SPECIES_CINDERACE_GIGANTAMAX, TYPE_FIRE, MOVE_G_MAX_FIREBALL}, - {SPECIES_INTELEON_GIGANTAMAX, TYPE_WATER, MOVE_G_MAX_HYDROSNIPE}, - {SPECIES_CORVIKNIGHT_GIGANTAMAX, TYPE_FLYING, MOVE_G_MAX_WIND_RAGE}, - {SPECIES_ORBEETLE_GIGANTAMAX, TYPE_PSYCHIC, MOVE_G_MAX_GRAVITAS}, - {SPECIES_DREDNAW_GIGANTAMAX, TYPE_WATER, MOVE_G_MAX_STONESURGE}, - {SPECIES_COALOSSAL_GIGANTAMAX, TYPE_ROCK, MOVE_G_MAX_VOLCALITH}, - {SPECIES_FLAPPLE_GIGANTAMAX, TYPE_GRASS, MOVE_G_MAX_TARTNESS}, - {SPECIES_APPLETUN_GIGANTAMAX, TYPE_GRASS, MOVE_G_MAX_SWEETNESS}, - {SPECIES_SANDACONDA_GIGANTAMAX, TYPE_GROUND, MOVE_G_MAX_SANDBLAST}, - {SPECIES_TOXTRICITY_AMPED_GIGANTAMAX, TYPE_ELECTRIC, MOVE_G_MAX_STUN_SHOCK}, - {SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX, TYPE_ELECTRIC, MOVE_G_MAX_STUN_SHOCK}, - {SPECIES_CENTISKORCH_GIGANTAMAX, TYPE_FIRE, MOVE_G_MAX_CENTIFERNO}, - {SPECIES_HATTERENE_GIGANTAMAX, TYPE_FAIRY, MOVE_G_MAX_SMITE}, - {SPECIES_GRIMMSNARL_GIGANTAMAX, TYPE_DARK, MOVE_G_MAX_SNOOZE}, - {SPECIES_ALCREMIE_GIGANTAMAX, TYPE_FAIRY, MOVE_G_MAX_FINALE}, - {SPECIES_COPPERAJAH_GIGANTAMAX, TYPE_STEEL, MOVE_G_MAX_STEELSURGE}, - {SPECIES_DURALUDON_GIGANTAMAX, TYPE_DRAGON, MOVE_G_MAX_DEPLETION}, - {SPECIES_URSHIFU_SINGLE_STRIKE_STYLE_GIGANTAMAX,TYPE_DARK, MOVE_G_MAX_ONE_BLOW}, - {SPECIES_URSHIFU_RAPID_STRIKE_STYLE_GIGANTAMAX, TYPE_WATER, MOVE_G_MAX_RAPID_FLOW}, + {SPECIES_VENUSAUR_GMAX, TYPE_GRASS, MOVE_G_MAX_VINE_LASH}, + {SPECIES_BLASTOISE_GMAX, TYPE_WATER, MOVE_G_MAX_CANNONADE}, + {SPECIES_CHARIZARD_GMAX, TYPE_FIRE, MOVE_G_MAX_WILDFIRE}, + {SPECIES_BUTTERFREE_GMAX, TYPE_BUG, MOVE_G_MAX_BEFUDDLE}, + {SPECIES_PIKACHU_GMAX, TYPE_ELECTRIC, MOVE_G_MAX_VOLT_CRASH}, + {SPECIES_MEOWTH_GMAX, TYPE_NORMAL, MOVE_G_MAX_GOLD_RUSH}, + {SPECIES_MACHAMP_GMAX, TYPE_FIGHTING, MOVE_G_MAX_CHI_STRIKE}, + {SPECIES_GENGAR_GMAX, TYPE_GHOST, MOVE_G_MAX_TERROR}, + {SPECIES_KINGLER_GMAX, TYPE_WATER, MOVE_G_MAX_FOAM_BURST}, + {SPECIES_LAPRAS_GMAX, TYPE_ICE, MOVE_G_MAX_RESONANCE}, + {SPECIES_EEVEE_GMAX, TYPE_NORMAL, MOVE_G_MAX_CUDDLE}, + {SPECIES_SNORLAX_GMAX, TYPE_NORMAL, MOVE_G_MAX_REPLENISH}, + {SPECIES_GARBODOR_GMAX, TYPE_POISON, MOVE_G_MAX_MALODOR}, + {SPECIES_MELMETAL_GMAX, TYPE_STEEL, MOVE_G_MAX_MELTDOWN}, + {SPECIES_RILLABOOM_GMAX, TYPE_GRASS, MOVE_G_MAX_DRUM_SOLO}, + {SPECIES_CINDERACE_GMAX, TYPE_FIRE, MOVE_G_MAX_FIREBALL}, + {SPECIES_INTELEON_GMAX, TYPE_WATER, MOVE_G_MAX_HYDROSNIPE}, + {SPECIES_CORVIKNIGHT_GMAX, TYPE_FLYING, MOVE_G_MAX_WIND_RAGE}, + {SPECIES_ORBEETLE_GMAX, TYPE_PSYCHIC, MOVE_G_MAX_GRAVITAS}, + {SPECIES_DREDNAW_GMAX, TYPE_WATER, MOVE_G_MAX_STONESURGE}, + {SPECIES_COALOSSAL_GMAX, TYPE_ROCK, MOVE_G_MAX_VOLCALITH}, + {SPECIES_FLAPPLE_GMAX, TYPE_GRASS, MOVE_G_MAX_TARTNESS}, + {SPECIES_APPLETUN_GMAX, TYPE_GRASS, MOVE_G_MAX_SWEETNESS}, + {SPECIES_SANDACONDA_GMAX, TYPE_GROUND, MOVE_G_MAX_SANDBLAST}, + {SPECIES_TOXTRICITY_AMPED_GMAX, TYPE_ELECTRIC, MOVE_G_MAX_STUN_SHOCK}, + {SPECIES_TOXTRICITY_LOW_KEY_GMAX, TYPE_ELECTRIC, MOVE_G_MAX_STUN_SHOCK}, + {SPECIES_CENTISKORCH_GMAX, TYPE_FIRE, MOVE_G_MAX_CENTIFERNO}, + {SPECIES_HATTERENE_GMAX, TYPE_FAIRY, MOVE_G_MAX_SMITE}, + {SPECIES_GRIMMSNARL_GMAX, TYPE_DARK, MOVE_G_MAX_SNOOZE}, + {SPECIES_ALCREMIE_GMAX, TYPE_FAIRY, MOVE_G_MAX_FINALE}, + {SPECIES_COPPERAJAH_GMAX, TYPE_STEEL, MOVE_G_MAX_STEELSURGE}, + {SPECIES_DURALUDON_GMAX, TYPE_DRAGON, MOVE_G_MAX_DEPLETION}, + {SPECIES_URSHIFU_SINGLE_STRIKE_GMAX,TYPE_DARK, MOVE_G_MAX_ONE_BLOW}, + {SPECIES_URSHIFU_RAPID_STRIKE_GMAX, TYPE_WATER, MOVE_G_MAX_RAPID_FLOW}, }; // Returns whether a battler can Dynamax. @@ -282,7 +282,7 @@ u16 GetMaxMove(u32 battler, u32 baseMove) { u32 moveType; SetTypeBeforeUsingMove(baseMove, battler); - GET_MOVE_TYPE(baseMove, moveType); + moveType = GetMoveType(baseMove); if (baseMove == MOVE_NONE) // for move display { @@ -412,7 +412,7 @@ static u8 GetMaxPowerTier(u32 move) case EFFECT_GYRO_BALL: return MAX_POWER_TIER_5; case EFFECT_MAGNITUDE: - case EFFECT_VARY_POWER_BASED_ON_HP: + case EFFECT_POWER_BASED_ON_TARGET_HP: return MAX_POWER_TIER_6; case EFFECT_FLAIL: case EFFECT_LOW_KICK: diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index aa47a73540b4..e2a583dcc9f5 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -26,10 +26,7 @@ #include "constants/rgb.h" #include "constants/battle_palace.h" #include "constants/battle_move_effects.h" - - -extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; -extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; +#include "constants/event_objects.h" // only for SHADOW_SIZE constants // this file's functions static u8 GetBattlePalaceMoveGroup(u8 battler, u16 move); @@ -82,6 +79,46 @@ const struct SpritePalette sSpritePalettes_HealthBoxHealthBar[2] = {gBattleInterface_BallDisplayPal, TAG_HEALTHBAR_PAL} }; +const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow = +{ + .data = gEnemyMonShadow_Gfx, .size = 0x80, .tag = TAG_SHADOW_TILE +}; + +const struct CompressedSpriteSheet gSpriteSheet_EnemyShadowsSized = +{ + .data = gEnemyMonShadowsSized_Gfx, + .size = TILE_SIZE_4BPP * 8 * 4, // 8 tiles per sprite, 4 sprites total + .tag = TAG_SHADOW_TILE, +}; + +static const struct OamData sOamData_EnemyShadow = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x8), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x8), + .tileNum = 0, + .priority = 3, + .paletteNum = 0, + .affineParam = 0 +}; + +const struct SpriteTemplate gSpriteTemplate_EnemyShadow = +{ + .tileTag = TAG_SHADOW_TILE, + .paletteTag = TAG_SHADOW_PAL, + .oam = &sOamData_EnemyShadow, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + // code void AllocateBattleSpritesData(void) { @@ -126,7 +163,7 @@ u16 ChooseMoveAndTargetInBattlePalace(u32 battler) // If battler is < 50% HP and not asleep, use second set of move group likelihoods // otherwise use first set - i = (gBattleStruct->palaceFlags & gBitTable[battler]) ? 2 : 0; + i = (gBattleStruct->palaceFlags & (1u << battler)) ? 2 : 0; minGroupNum = i; maxGroupNum = i + 2; // + 2 because there are two percentages per set of likelihoods @@ -150,7 +187,7 @@ u16 ChooseMoveAndTargetInBattlePalace(u32 battler) if (moveInfo->moves[i] == MOVE_NONE) break; if (selectedGroup == GetBattlePalaceMoveGroup(battler, moveInfo->moves[i]) && moveInfo->currentPp[i] != 0) - selectedMoves |= gBitTable[i]; + selectedMoves |= 1u << i; } // Pass selected moves to AI, pick one @@ -178,11 +215,11 @@ u16 ChooseMoveAndTargetInBattlePalace(u32 battler) { // Count the number of usable moves the battler has in each move group. // The totals will be stored separately in 3 groups of 4 bits each in numMovesPerGroup. - if (GetBattlePalaceMoveGroup(battler, moveInfo->moves[i]) == PALACE_MOVE_GROUP_ATTACK && !(gBitTable[i] & unusableMovesBits)) + if (GetBattlePalaceMoveGroup(battler, moveInfo->moves[i]) == PALACE_MOVE_GROUP_ATTACK && !((1u << i) & unusableMovesBits)) numMovesPerGroup += (1 << 0); - if (GetBattlePalaceMoveGroup(battler, moveInfo->moves[i]) == PALACE_MOVE_GROUP_DEFENSE && !(gBitTable[i] & unusableMovesBits)) + if (GetBattlePalaceMoveGroup(battler, moveInfo->moves[i]) == PALACE_MOVE_GROUP_DEFENSE && !((1u << i) & unusableMovesBits)) numMovesPerGroup += (1 << 4); - if (GetBattlePalaceMoveGroup(battler, moveInfo->moves[i]) == PALACE_MOVE_GROUP_SUPPORT && !(gBitTable[i] & unusableMovesBits)) + if (GetBattlePalaceMoveGroup(battler, moveInfo->moves[i]) == PALACE_MOVE_GROUP_SUPPORT && !((1u << i) & unusableMovesBits)) numMovesPerGroup += (1 << 8); } @@ -215,7 +252,7 @@ u16 ChooseMoveAndTargetInBattlePalace(u32 battler) do { i = Random() % MAX_MON_MOVES; - if (!(gBitTable[i] & unusableMovesBits)) + if (!((1u << i) & unusableMovesBits)) chosenMoveId = i; } while (chosenMoveId == -1); } @@ -241,7 +278,7 @@ u16 ChooseMoveAndTargetInBattlePalace(u32 battler) do { i = Random() % MAX_MON_MOVES; - if (!(gBitTable[i] & unusableMovesBits) && randSelectGroup == GetBattlePalaceMoveGroup(battler, moveInfo->moves[i])) + if (!((1u << i) & unusableMovesBits) && randSelectGroup == GetBattlePalaceMoveGroup(battler, moveInfo->moves[i])) chosenMoveId = i; } while (chosenMoveId == -1); } @@ -309,7 +346,7 @@ static u8 GetBattlePalaceMoveGroup(u8 battler, u16 move) static u16 GetBattlePalaceTarget(u32 battler) { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { u8 opposing1, opposing2; @@ -436,8 +473,6 @@ void InitAndLaunchChosenStatusAnimation(u32 battler, bool32 isStatus2, u32 statu LaunchStatusAnimation(battler, B_ANIM_STATUS_CURSED); else if (status & STATUS2_NIGHTMARE) LaunchStatusAnimation(battler, B_ANIM_STATUS_NIGHTMARE); - else if (status & STATUS2_WRAPPED) - LaunchStatusAnimation(battler, B_ANIM_STATUS_WRAPPED); // this animation doesn't actually exist else // no animation gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; } @@ -1096,16 +1131,62 @@ void SetBattlerSpriteAffineMode(u8 affineMode) } } -#define tBattlerId data[0] +#define tBattlerId data[0] +#define tSpriteSide data[1] +#define tBaseTileNum data[2] + +#define SPRITE_SIDE_LEFT 0 +#define SPRITE_SIDE_RIGHT 1 void CreateEnemyShadowSprite(u32 battler) { - gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, - GetBattlerSpriteCoord(battler, BATTLER_COORD_X), - GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 29, - 0xC8); - if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId < MAX_SPRITES) - gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].data[0] = battler; + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4 && P_GBA_STYLE_SPECIES_GFX == FALSE) + { + u16 species = SanitizeSpeciesId(gBattleMons[battler].species); + u8 size = gSpeciesInfo[species].enemyShadowSize; + + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary = CreateSprite(&gSpriteTemplate_EnemyShadow, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X), + GetBattlerSpriteCoord(battler, BATTLER_COORD_Y), + 0xC8); + if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary < MAX_SPRITES) + { + struct Sprite *sprite = &gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary]; + sprite->tBattlerId = battler; + sprite->tSpriteSide = SPRITE_SIDE_LEFT; + sprite->tBaseTileNum = sprite->oam.tileNum; + sprite->oam.tileNum = sprite->tBaseTileNum + (8 * size); + sprite->invisible = TRUE; + } + + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary = CreateSprite(&gSpriteTemplate_EnemyShadow, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X), + GetBattlerSpriteCoord(battler, BATTLER_COORD_Y), + 0xC8); + if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary < MAX_SPRITES) + { + struct Sprite *sprite = &gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary]; + sprite->tBattlerId = battler; + sprite->tSpriteSide = SPRITE_SIDE_RIGHT; + sprite->tBaseTileNum = sprite->oam.tileNum + 4; + sprite->oam.tileNum = sprite->tBaseTileNum + (8 * size); + sprite->invisible = TRUE; + } + } + else + { + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary = CreateSprite(&gSpriteTemplate_EnemyShadow, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X), + GetBattlerSpriteCoord(battler, BATTLER_COORD_Y), + 0xC8); + if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary < MAX_SPRITES) + { + struct Sprite *sprite = &gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary]; + sprite->tBattlerId = battler; + sprite->tBaseTileNum = sprite->oam.tileNum; + sprite->invisible = TRUE; + } + } } void LoadAndCreateEnemyShadowSprites(void) @@ -1113,12 +1194,26 @@ void LoadAndCreateEnemyShadowSprites(void) u8 battler; u32 i; - LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow); + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4 && P_GBA_STYLE_SPECIES_GFX == FALSE) + { + LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadowsSized); - // initialize shadow sprite ids - for (i = 0; i < gBattlersCount; i++) + // initialize shadow sprite ids + for (i = 0; i < gBattlersCount; i++) + { + gBattleSpritesDataPtr->healthBoxesData[i].shadowSpriteIdPrimary = MAX_SPRITES; + gBattleSpritesDataPtr->healthBoxesData[i].shadowSpriteIdSecondary = MAX_SPRITES; + } + } + else { - gBattleSpritesDataPtr->healthBoxesData[i].shadowSpriteId = MAX_SPRITES; + LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow); + + // initialize shadow sprite ids + for (i = 0; i < gBattlersCount; i++) + { + gBattleSpritesDataPtr->healthBoxesData[i].shadowSpriteIdPrimary = MAX_SPRITES; + } } battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); @@ -1143,17 +1238,42 @@ void SpriteCB_EnemyShadow(struct Sprite *shadowSprite) shadowSprite->callback = SpriteCB_SetInvisible; return; } + + s8 xOffset = 0, yOffset = 0, size = SHADOW_SIZE_S; if (gAnimScriptActive || battlerSprite->invisible) invisible = TRUE; - else if (transformSpecies != SPECIES_NONE && gSpeciesInfo[transformSpecies].enemyMonElevation == 0) - invisible = TRUE; + else if (transformSpecies != SPECIES_NONE) + { + xOffset = gSpeciesInfo[transformSpecies].enemyShadowXOffset; + yOffset = gSpeciesInfo[transformSpecies].enemyShadowYOffset; + size = gSpeciesInfo[transformSpecies].enemyShadowSize; + + invisible = (B_ENEMY_MON_SHADOW_STYLE >= GEN_4 && P_GBA_STYLE_SPECIES_GFX == FALSE) + ? gSpeciesInfo[transformSpecies].suppressEnemyShadow + : gSpeciesInfo[transformSpecies].enemyMonElevation == 0; + } + else if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4 && P_GBA_STYLE_SPECIES_GFX == FALSE) + { + u16 species = SanitizeSpeciesId(gBattleMons[battler].species); + xOffset = gSpeciesInfo[species].enemyShadowXOffset + (shadowSprite->tSpriteSide == SPRITE_SIDE_LEFT ? -16 : 16); + yOffset = gSpeciesInfo[species].enemyShadowYOffset + 16; + size = gSpeciesInfo[species].enemyShadowSize; + } + else + { + yOffset = 29; + } if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) invisible = TRUE; - shadowSprite->x = battlerSprite->x; + shadowSprite->x = battlerSprite->x + xOffset; shadowSprite->x2 = battlerSprite->x2; + shadowSprite->y = battlerSprite->y + yOffset; shadowSprite->invisible = invisible; + + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4 && P_GBA_STYLE_SPECIES_GFX == FALSE) + shadowSprite->oam.tileNum = shadowSprite->tBaseTileNum + (8 * size); } #undef tBattlerId @@ -1165,24 +1285,59 @@ void SpriteCB_SetInvisible(struct Sprite *sprite) void SetBattlerShadowSpriteCallback(u8 battler, u16 species) { - // The player's shadow is never seen. - if (GetBattlerSide(battler) == B_SIDE_PLAYER || gBattleScripting.monCaught) - return; - if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId >= MAX_SPRITES) - return; + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4 && P_GBA_STYLE_SPECIES_GFX == FALSE) + { + if (GetBattlerSide(battler) == B_SIDE_PLAYER || gBattleScripting.monCaught) + { + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback = SpriteCB_SetInvisible; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary].callback = SpriteCB_SetInvisible; + return; + } - if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) - species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies; + if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary >= MAX_SPRITES + || gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary >= MAX_SPRITES) + return; + + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) + species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies; - if (gSpeciesInfo[SanitizeSpeciesId(species)].enemyMonElevation != 0) - gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_EnemyShadow; + if (gSpeciesInfo[SanitizeSpeciesId(species)].suppressEnemyShadow == FALSE) + { + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback = SpriteCB_EnemyShadow; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary].callback = SpriteCB_EnemyShadow; + } + else + { + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback = SpriteCB_SetInvisible; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary].callback = SpriteCB_SetInvisible; + } + } else - gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_SetInvisible; + { + if (GetBattlerSide(battler) == B_SIDE_PLAYER || gBattleScripting.monCaught) + { + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback = SpriteCB_SetInvisible; + return; + } + + if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary >= MAX_SPRITES) + return; + + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) + species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies; + + if (gSpeciesInfo[SanitizeSpeciesId(species)].enemyMonElevation != 0) + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback = SpriteCB_EnemyShadow; + else + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback = SpriteCB_SetInvisible; + } } void HideBattlerShadowSprite(u8 battler) { - gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_SetInvisible; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback = SpriteCB_SetInvisible; + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4 && P_GBA_STYLE_SPECIES_GFX == FALSE) + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary].callback = SpriteCB_SetInvisible; } // Color the background tiles surrounding the action selection and move windows diff --git a/src/battle_gimmick.c b/src/battle_gimmick.c index 79165c8901e8..057619aec1fe 100644 --- a/src/battle_gimmick.c +++ b/src/battle_gimmick.c @@ -45,7 +45,7 @@ bool32 IsGimmickSelected(u32 battler, enum Gimmick gimmick) { // There's no player select in tests, but some gimmicks need to test choice before they are fully activated. if (TESTING) - return (gBattleStruct->gimmick.toActivate & gBitTable[battler]) && gBattleStruct->gimmick.usableGimmick[battler] == gimmick; + return (gBattleStruct->gimmick.toActivate & (1u << battler)) && gBattleStruct->gimmick.usableGimmick[battler] == gimmick; else return gBattleStruct->gimmick.usableGimmick[battler] == gimmick && gBattleStruct->gimmick.playerSelect; } @@ -96,10 +96,10 @@ bool32 ShouldTrainerBattlerUseGimmick(u32 battler, enum Gimmick gimmick) bool32 HasTrainerUsedGimmick(u32 battler, enum Gimmick gimmick) { // Check whether partner battler has used gimmick or plans to during turn. - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE + if (IsDoubleBattle() && IsPartnerMonFromSameTrainer(battler) && (gBattleStruct->gimmick.activated[BATTLE_PARTNER(battler)][gimmick] - || ((gBattleStruct->gimmick.toActivate & gBitTable[BATTLE_PARTNER(battler)] + || ((gBattleStruct->gimmick.toActivate & (1u << BATTLE_PARTNER(battler)) && gBattleStruct->gimmick.usableGimmick[BATTLE_PARTNER(battler)] == gimmick)))) { return TRUE; @@ -115,7 +115,7 @@ bool32 HasTrainerUsedGimmick(u32 battler, enum Gimmick gimmick) void SetGimmickAsActivated(u32 battler, enum Gimmick gimmick) { gBattleStruct->gimmick.activated[battler][gimmick] = TRUE; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && IsPartnerMonFromSameTrainer(battler)) + if (IsDoubleBattle() && IsPartnerMonFromSameTrainer(battler)) gBattleStruct->gimmick.activated[BATTLE_PARTNER(battler)][gimmick] = TRUE; } @@ -156,7 +156,7 @@ void CreateGimmickTriggerSprite(u32 battler) if (gBattleStruct->gimmick.triggerSpriteId == 0xFF) { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) gBattleStruct->gimmick.triggerSpriteId = CreateSprite(gimmick->triggerTemplate, gSprites[gHealthboxSpriteIds[battler]].x - DOUBLES_GIMMICK_TRIGGER_POS_X_SLIDE, gSprites[gHealthboxSpriteIds[battler]].y - DOUBLES_GIMMICK_TRIGGER_POS_Y_DIFF, 0); @@ -205,7 +205,7 @@ static void SpriteCb_GimmickTrigger(struct Sprite *sprite) s32 xSlide, xPriority, xOptimal; s32 yDiff; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { xSlide = DOUBLES_GIMMICK_TRIGGER_POS_X_SLIDE; xPriority = DOUBLES_GIMMICK_TRIGGER_POS_X_PRIORITY; diff --git a/src/battle_interface.c b/src/battle_interface.c index 8d50bf95c3eb..5c514a0d80d8 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -33,7 +33,7 @@ #include "constants/rgb.h" #include "constants/songs.h" #include "constants/items.h" -#include "level_caps.h" +#include "caps.h" enum { // Corresponds to gHealthboxElementsGfxTable (and the tables after it) in graphics.c @@ -1377,7 +1377,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, // fainted mon gSprites[ballIconSpritesIds[i]].oam.tileNum += 3; } - else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaLostPlayerMons & gBitTable[j]) + else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaLostPlayerMons & (1u << j)) { // fainted arena mon gSprites[ballIconSpritesIds[i]].oam.tileNum += 3; @@ -1433,7 +1433,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, // fainted mon gSprites[ballIconSpritesIds[PARTY_SIZE - 1 - var]].oam.tileNum += 3; } - else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaLostOpponentMons & gBitTable[j]) + else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaLostOpponentMons & (1u << j)) { // fainted arena mon gSprites[ballIconSpritesIds[PARTY_SIZE - 1 - var]].oam.tileNum += 3; @@ -2718,7 +2718,7 @@ void CreateAbilityPopUp(u8 battlerId, u32 ability, bool32 isDoubleBattle) LoadSpriteSheet(&sSpriteSheet_AbilityPopUp); LoadSpritePalette(&sSpritePalette_AbilityPopUp); } - gBattleStruct->activeAbilityPopUps |= gBitTable[battlerId]; + gBattleStruct->activeAbilityPopUps |= 1u << battlerId; battlerPosition = GetBattlerPosition(battlerId); if (isDoubleBattle) @@ -2809,7 +2809,7 @@ static void SpriteCb_AbilityPopUp(struct Sprite *sprite) ||(sprite->tRightToLeft && (sprite->x -= 4) <= sprite->tOriginalX - ABILITY_POP_UP_POS_X_SLIDE) ) { - gBattleStruct->activeAbilityPopUps &= ~(gBitTable[sprite->tBattlerId]); + gBattleStruct->activeAbilityPopUps &= ~(1u << sprite->tBattlerId); DestroySprite(sprite); } } @@ -2823,7 +2823,7 @@ static void SpriteCb_AbilityPopUp(struct Sprite *sprite) void DestroyAbilityPopUp(u8 battlerId) { - if (gBattleStruct->activeAbilityPopUps & gBitTable[battlerId]) + if (gBattleStruct->activeAbilityPopUps & (1u << battlerId)) { gSprites[gBattleStruct->abilityPopUpSpriteIds[battlerId][0]].tFrames = 0; gSprites[gBattleStruct->abilityPopUpSpriteIds[battlerId][1]].tFrames = 0; diff --git a/src/battle_main.c b/src/battle_main.c index 9aac677a713c..ecad0d4e8280 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -23,6 +23,7 @@ #include "dma3.h" #include "event_data.h" #include "evolution_scene.h" +#include "field_weather.h" #include "graphics.h" #include "gpu_regs.h" #include "international_string_util.h" @@ -68,6 +69,7 @@ #include "constants/rgb.h" #include "constants/songs.h" #include "constants/trainers.h" +#include "constants/weather.h" #include "cable_club.h" extern const struct BgTemplate gBattleBgTemplates[]; @@ -302,83 +304,75 @@ static const s8 sCenterToCornerVecXs[8] ={-32, -16, -16, -32, -32}; #include "data/types_info.h" -// extra args are money and ball -#define TRAINER_CLASS(trainerClass, trainerName, ...) \ - [TRAINER_CLASS_##trainerClass] = \ - { \ - .name = _(trainerName), \ - .money = DEFAULT(5, __VA_ARGS__), \ - .ball = DEFAULT_2(ITEM_POKE_BALL, __VA_ARGS__), \ - } - +// [TRAINER_CLASS_XYZ] = { _("name"), , } const struct TrainerClass gTrainerClasses[TRAINER_CLASS_COUNT] = { - TRAINER_CLASS(PKMN_TRAINER_1, "{PKMN} TRAINER"), - TRAINER_CLASS(PKMN_TRAINER_2, "{PKMN} TRAINER"), - TRAINER_CLASS(HIKER, "HIKER", 10), - TRAINER_CLASS(TEAM_AQUA, "TEAM AQUA"), - TRAINER_CLASS(PKMN_BREEDER, "{PKMN} BREEDER", 10, B_TRAINER_CLASS_POKE_BALLS >= GEN_8 ? ITEM_HEAL_BALL : ITEM_FRIEND_BALL), - TRAINER_CLASS(COOLTRAINER, "COOLTRAINER", 12, ITEM_ULTRA_BALL), - TRAINER_CLASS(BIRD_KEEPER, "BIRD KEEPER", 8), - TRAINER_CLASS(COLLECTOR, "COLLECTOR", 15, ITEM_PREMIER_BALL), - TRAINER_CLASS(SWIMMER_M, "SWIMMER♂", 2, ITEM_DIVE_BALL), - TRAINER_CLASS(TEAM_MAGMA, "TEAM MAGMA"), - TRAINER_CLASS(EXPERT, "EXPERT", 10), - TRAINER_CLASS(AQUA_ADMIN, "AQUA ADMIN", 10), - TRAINER_CLASS(BLACK_BELT, "BLACK BELT", 8, ITEM_ULTRA_BALL), - TRAINER_CLASS(AQUA_LEADER, "AQUA LEADER", 20, ITEM_MASTER_BALL), - TRAINER_CLASS(HEX_MANIAC, "HEX MANIAC", 6), - TRAINER_CLASS(AROMA_LADY, "AROMA LADY", 10), - TRAINER_CLASS(RUIN_MANIAC, "RUIN MANIAC", 15), - TRAINER_CLASS(INTERVIEWER, "INTERVIEWER", 12), - TRAINER_CLASS(TUBER_F, "TUBER", 1), - TRAINER_CLASS(TUBER_M, "TUBER", 1), - TRAINER_CLASS(LADY, "LADY", 50), - TRAINER_CLASS(BEAUTY, "BEAUTY", 20), - TRAINER_CLASS(RICH_BOY, "RICH BOY", 50), - TRAINER_CLASS(POKEMANIAC, "POKéMANIAC", 15), - TRAINER_CLASS(GUITARIST, "GUITARIST", 8), - TRAINER_CLASS(KINDLER, "KINDLER", 8), - TRAINER_CLASS(CAMPER, "CAMPER", 4), - TRAINER_CLASS(PICNICKER, "PICNICKER", 4), - TRAINER_CLASS(BUG_MANIAC, "BUG MANIAC", 15), - TRAINER_CLASS(PSYCHIC, "PSYCHIC", 6), - TRAINER_CLASS(GENTLEMAN, "GENTLEMAN", 20, ITEM_LUXURY_BALL), - TRAINER_CLASS(ELITE_FOUR, "ELITE FOUR", 25, ITEM_ULTRA_BALL), - TRAINER_CLASS(LEADER, "LEADER", 25), - TRAINER_CLASS(SCHOOL_KID, "SCHOOL KID"), - TRAINER_CLASS(SR_AND_JR, "SR. AND JR.", 4), - TRAINER_CLASS(WINSTRATE, "WINSTRATE", 10), - TRAINER_CLASS(POKEFAN, "POKéFAN", 20), - TRAINER_CLASS(YOUNGSTER, "YOUNGSTER", 4), - TRAINER_CLASS(CHAMPION, "CHAMPION", 50), - TRAINER_CLASS(FISHERMAN, "FISHERMAN", 10, B_TRAINER_CLASS_POKE_BALLS >= GEN_8 ? ITEM_DIVE_BALL : ITEM_LURE_BALL), - TRAINER_CLASS(TRIATHLETE, "TRIATHLETE", 10), - TRAINER_CLASS(DRAGON_TAMER, "DRAGON TAMER", 12), - TRAINER_CLASS(NINJA_BOY, "NINJA BOY", 3), - TRAINER_CLASS(BATTLE_GIRL, "BATTLE GIRL", 6), - TRAINER_CLASS(PARASOL_LADY, "PARASOL LADY", 10), - TRAINER_CLASS(SWIMMER_F, "SWIMMER♀", 2, ITEM_DIVE_BALL), - TRAINER_CLASS(TWINS, "TWINS", 3), - TRAINER_CLASS(SAILOR, "SAILOR", 8), - TRAINER_CLASS(COOLTRAINER_2, "COOLTRAINER", 5, ITEM_ULTRA_BALL), - TRAINER_CLASS(MAGMA_ADMIN, "MAGMA ADMIN", 10), - TRAINER_CLASS(RIVAL, "{PKMN} TRAINER", 15), - TRAINER_CLASS(BUG_CATCHER, "BUG CATCHER", 4), - TRAINER_CLASS(PKMN_RANGER, "{PKMN} RANGER", 12), - TRAINER_CLASS(MAGMA_LEADER, "MAGMA LEADER", 20, ITEM_MASTER_BALL), - TRAINER_CLASS(LASS, "LASS", 4), - TRAINER_CLASS(YOUNG_COUPLE, "YOUNG COUPLE", 8), - TRAINER_CLASS(OLD_COUPLE, "OLD COUPLE", 10), - TRAINER_CLASS(SIS_AND_BRO, "SIS AND BRO", 3), - TRAINER_CLASS(SALON_MAIDEN, "SALON MAIDEN"), - TRAINER_CLASS(DOME_ACE, "DOME ACE"), - TRAINER_CLASS(PALACE_MAVEN, "PALACE MAVEN"), - TRAINER_CLASS(ARENA_TYCOON, "ARENA TYCOON"), - TRAINER_CLASS(FACTORY_HEAD, "FACTORY HEAD"), - TRAINER_CLASS(PIKE_QUEEN, "PIKE QUEEN"), - TRAINER_CLASS(PYRAMID_KING, "PYRAMID KING"), - TRAINER_CLASS(RS_PROTAG, "{PKMN} TRAINER"), + [TRAINER_CLASS_PKMN_TRAINER_1] = { _("{PKMN} TRAINER") }, + [TRAINER_CLASS_PKMN_TRAINER_2] = { _("{PKMN} TRAINER") }, + [TRAINER_CLASS_HIKER] = { _("HIKER"), 10 }, + [TRAINER_CLASS_TEAM_AQUA] = { _("TEAM AQUA") }, + [TRAINER_CLASS_PKMN_BREEDER] = { _("{PKMN} BREEDER"), 10, B_TRAINER_CLASS_POKE_BALLS >= GEN_8 ? BALL_HEAL : BALL_FRIEND }, + [TRAINER_CLASS_COOLTRAINER] = { _("COOLTRAINER"), 12, BALL_ULTRA }, + [TRAINER_CLASS_BIRD_KEEPER] = { _("BIRD KEEPER"), 8 }, + [TRAINER_CLASS_COLLECTOR] = { _("COLLECTOR"), 15, BALL_PREMIER }, + [TRAINER_CLASS_SWIMMER_M] = { _("SWIMMER♂"), 2, BALL_DIVE }, + [TRAINER_CLASS_TEAM_MAGMA] = { _("TEAM MAGMA") }, + [TRAINER_CLASS_EXPERT] = { _("EXPERT"), 10 }, + [TRAINER_CLASS_AQUA_ADMIN] = { _("AQUA ADMIN"), 10 }, + [TRAINER_CLASS_BLACK_BELT] = { _("BLACK BELT"), 8, BALL_ULTRA }, + [TRAINER_CLASS_AQUA_LEADER] = { _("AQUA LEADER"), 20, BALL_MASTER }, + [TRAINER_CLASS_HEX_MANIAC] = { _("HEX MANIAC"), 6 }, + [TRAINER_CLASS_AROMA_LADY] = { _("AROMA LADY"), 10 }, + [TRAINER_CLASS_RUIN_MANIAC] = { _("RUIN MANIAC"), 15 }, + [TRAINER_CLASS_INTERVIEWER] = { _("INTERVIEWER"), 12 }, + [TRAINER_CLASS_TUBER_F] = { _("TUBER"), 1 }, + [TRAINER_CLASS_TUBER_M] = { _("TUBER"), 1 }, + [TRAINER_CLASS_LADY] = { _("LADY"), 50 }, + [TRAINER_CLASS_BEAUTY] = { _("BEAUTY"), 20 }, + [TRAINER_CLASS_RICH_BOY] = { _("RICH BOY"), 50 }, + [TRAINER_CLASS_POKEMANIAC] = { _("POKéMANIAC"), 15 }, + [TRAINER_CLASS_GUITARIST] = { _("GUITARIST"), 8 }, + [TRAINER_CLASS_KINDLER] = { _("KINDLER"), 8 }, + [TRAINER_CLASS_CAMPER] = { _("CAMPER"), 4 }, + [TRAINER_CLASS_PICNICKER] = { _("PICNICKER"), 4 }, + [TRAINER_CLASS_BUG_MANIAC] = { _("BUG MANIAC"), 15 }, + [TRAINER_CLASS_PSYCHIC] = { _("PSYCHIC"), 6 }, + [TRAINER_CLASS_GENTLEMAN] = { _("GENTLEMAN"), 20, BALL_LUXURY }, + [TRAINER_CLASS_ELITE_FOUR] = { _("ELITE FOUR"), 25, BALL_ULTRA }, + [TRAINER_CLASS_LEADER] = { _("LEADER"), 25 }, + [TRAINER_CLASS_SCHOOL_KID] = { _("SCHOOL KID") }, + [TRAINER_CLASS_SR_AND_JR] = { _("SR. AND JR."), 4 }, + [TRAINER_CLASS_WINSTRATE] = { _("WINSTRATE"), 10 }, + [TRAINER_CLASS_POKEFAN] = { _("POKéFAN"), 20 }, + [TRAINER_CLASS_YOUNGSTER] = { _("YOUNGSTER"), 4 }, + [TRAINER_CLASS_CHAMPION] = { _("CHAMPION"), 50 }, + [TRAINER_CLASS_FISHERMAN] = { _("FISHERMAN"), 10, B_TRAINER_CLASS_POKE_BALLS >= GEN_8 ? BALL_DIVE : BALL_LURE }, + [TRAINER_CLASS_TRIATHLETE] = { _("TRIATHLETE"), 10 }, + [TRAINER_CLASS_DRAGON_TAMER] = { _("DRAGON TAMER"), 12 }, + [TRAINER_CLASS_NINJA_BOY] = { _("NINJA BOY"), 3 }, + [TRAINER_CLASS_BATTLE_GIRL] = { _("BATTLE GIRL"), 6 }, + [TRAINER_CLASS_PARASOL_LADY] = { _("PARASOL LADY"), 10 }, + [TRAINER_CLASS_SWIMMER_F] = { _("SWIMMER♀"), 2, BALL_DIVE }, + [TRAINER_CLASS_TWINS] = { _("TWINS"), 3 }, + [TRAINER_CLASS_SAILOR] = { _("SAILOR"), 8 }, + [TRAINER_CLASS_COOLTRAINER_2] = { _("COOLTRAINER"), 5, BALL_ULTRA }, + [TRAINER_CLASS_MAGMA_ADMIN] = { _("MAGMA ADMIN"), 10 }, + [TRAINER_CLASS_RIVAL] = { _("{PKMN} TRAINER"), 15 }, + [TRAINER_CLASS_BUG_CATCHER] = { _("BUG CATCHER"), 4 }, + [TRAINER_CLASS_PKMN_RANGER] = { _("{PKMN} RANGER"), 12 }, + [TRAINER_CLASS_MAGMA_LEADER] = { _("MAGMA LEADER"), 20, BALL_MASTER }, + [TRAINER_CLASS_LASS] = { _("LASS"), 4 }, + [TRAINER_CLASS_YOUNG_COUPLE] = { _("YOUNG COUPLE"), 8 }, + [TRAINER_CLASS_OLD_COUPLE] = { _("OLD COUPLE"), 10 }, + [TRAINER_CLASS_SIS_AND_BRO] = { _("SIS AND BRO"), 3 }, + [TRAINER_CLASS_SALON_MAIDEN] = { _("SALON MAIDEN") }, + [TRAINER_CLASS_DOME_ACE] = { _("DOME ACE") }, + [TRAINER_CLASS_PALACE_MAVEN] = { _("PALACE MAVEN") }, + [TRAINER_CLASS_ARENA_TYCOON] = { _("ARENA TYCOON") }, + [TRAINER_CLASS_FACTORY_HEAD] = { _("FACTORY HEAD") }, + [TRAINER_CLASS_PIKE_QUEEN] = { _("PIKE QUEEN") }, + [TRAINER_CLASS_PYRAMID_KING] = { _("PYRAMID KING") }, + [TRAINER_CLASS_RS_PROTAG] = { _("{PKMN} TRAINER") }, }; static void (* const sTurnActionsFuncsTable[])(void) = @@ -519,9 +513,7 @@ static void CB2_InitBattleInternal(void) gBattle_BG3_X = 0; gBattle_BG3_Y = 0; -#if DEBUG_OVERWORLD_MENU == TRUE - if (!gIsDebugBattle) -#endif + if (!DEBUG_OVERWORLD_MENU || (DEBUG_OVERWORLD_MENU && !gIsDebugBattle)) { gBattleTerrain = BattleSetup_GetTerrainId(); } @@ -554,9 +546,7 @@ static void CB2_InitBattleInternal(void) else SetMainCallback2(CB2_HandleStartBattle); -#if DEBUG_OVERWORLD_MENU == TRUE - if (!gIsDebugBattle) -#endif + if (!DEBUG_OVERWORLD_MENU || (DEBUG_OVERWORLD_MENU && !gIsDebugBattle)) { if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED))) { @@ -1694,15 +1684,9 @@ static void CB2_HandleStartMultiBattle(void) case 8: if (IsLinkTaskFinished()) { - #if HQ_RANDOM == TRUE struct BattleVideo *ptr = &gBattleStruct->multiBuffer.battleVideo; ptr->battleTypeFlags = gBattleTypeFlags; ptr->rngSeed = gRecordedBattleRngSeed; - #else - u32 *ptr = gBattleStruct->multiBuffer.battleVideo; - ptr[0] = gBattleTypeFlags; - ptr[1] = gRecordedBattleRngSeed; // UB: overwrites berry data - #endif SendBlock(BitmaskAllOtherLinkPlayers(), ptr, sizeof(gBattleStruct->multiBuffer.battleVideo)); gBattleCommunication[MULTIUSE_STATE]++; @@ -3233,9 +3217,9 @@ void SwitchInClearSetData(u32 battler) gBattleStruct->lastTakenMoveFrom[battler][1] = 0; gBattleStruct->lastTakenMoveFrom[battler][2] = 0; gBattleStruct->lastTakenMoveFrom[battler][3] = 0; - gBattleStruct->lastMoveFailed &= ~(gBitTable[battler]); - gBattleStruct->palaceFlags &= ~(gBitTable[battler]); - gBattleStruct->boosterEnergyActivates &= ~(gBitTable[battler]); + gBattleStruct->lastMoveFailed &= ~(1u << battler); + gBattleStruct->palaceFlags &= ~(1u << battler); + gBattleStruct->boosterEnergyActivates &= ~(1u << battler); gBattleStruct->canPickupItem &= ~(1u << battler); for (i = 0; i < ARRAY_COUNT(gSideTimers); i++) @@ -3261,7 +3245,11 @@ void SwitchInClearSetData(u32 battler) // Reset damage to prevent things like red card activating if the switched-in mon is holding it gSpecialStatuses[battler].physicalDmg = 0; gSpecialStatuses[battler].specialDmg = 0; - gBattleStruct->enduredDamage &= ~gBitTable[battler]; + gBattleStruct->enduredDamage &= ~(1u << battler); + + // Reset Eject Button / Eject Pack switch detection + AI_DATA->ejectButtonSwitch = FALSE; + AI_DATA->ejectPackSwitch = FALSE; // Reset G-Max Chi Strike boosts. gBattleStruct->bonusCritStages[battler] = 0; @@ -3365,8 +3353,18 @@ const u8* FaintClearSetData(u32 battler) gBattleStruct->lastTakenMoveFrom[battler][2] = 0; gBattleStruct->lastTakenMoveFrom[battler][3] = 0; - gBattleStruct->palaceFlags &= ~(gBitTable[battler]); - gBattleStruct->boosterEnergyActivates &= ~(gBitTable[battler]); + gBattleStruct->palaceFlags &= ~(1u << battler); + gBattleStruct->boosterEnergyActivates &= ~(1u << battler); + + if (gBattleStruct->commanderActive[battler] != SPECIES_NONE) + { + u32 partner = BATTLE_PARTNER(battler); + if (IsBattlerAlive(partner)) + { + BtlController_EmitSpriteInvisibility(partner, BUFFER_A, FALSE); + MarkBattlerForControllerExec(partner); + } + } for (i = 0; i < ARRAY_COUNT(gSideTimers); i++) { @@ -3443,26 +3441,25 @@ static void DoBattleIntro(void) { s32 i; u32 battler; - u8 *state = &gBattleStruct->introState; - switch (*state) + switch (gBattleStruct->introState) { - case 0: // Get Data of all battlers. + case BATTLE_INTRO_STATE_GET_MON_DATA: battler = gBattleCommunication[1]; BtlController_EmitGetMonData(battler, BUFFER_A, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(battler); - (*state)++; + gBattleStruct->introState++; break; - case 1: // Loop through all battlers. + case BATTLE_INTRO_STATE_LOOP_BATTLER_DATA: if (!gBattleControllerExecFlags) { if (++gBattleCommunication[1] == gBattlersCount) - (*state)++; + gBattleStruct->introState++; else - *state = 0; + gBattleStruct->introState = BATTLE_INTRO_STATE_GET_MON_DATA; } break; - case 2: // Start graphical intro slide. + case BATTLE_INTRO_STATE_PREPARE_BG_SLIDE: if (!gBattleControllerExecFlags) { battler = GetBattlerAtPosition(0); @@ -3470,14 +3467,14 @@ static void DoBattleIntro(void) MarkBattlerForControllerExec(battler); gBattleCommunication[0] = 0; gBattleCommunication[1] = 0; - (*state)++; + gBattleStruct->introState++; } break; - case 3: // Wait for intro slide. + case BATTLE_INTRO_STATE_WAIT_FOR_BG_SLIDE: if (!gBattleControllerExecFlags) - (*state)++; + gBattleStruct->introState++; break; - case 4: // Copy battler data gotten in cases 0 and 1. Draw trainer/mon sprite. + case BATTLE_INTRO_STATE_DRAW_SPRITES: for (battler = 0; battler < gBattlersCount; battler++) { if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && GetBattlerSide(battler) == B_SIDE_PLAYER) @@ -3557,17 +3554,17 @@ static void DoBattleIntro(void) if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - (*state)++; + gBattleStruct->introState++; } else // Skip party summary since it is a wild battle. { if (B_FAST_INTRO == TRUE) - *state = 7; // Don't wait for sprite, print message at the same time. + gBattleStruct->introState = BATTLE_INTRO_STATE_INTRO_TEXT; // Don't wait for sprite, print message at the same time. else - *state = 6; // Wait for sprite to load. + gBattleStruct->introState++; // Wait for sprite to load. } break; - case 5: // draw party summary in trainer battles + case BATTLE_INTRO_STATE_DRAW_PARTY_SUMMARY: if (!gBattleControllerExecFlags) { struct HpAndStatus hpStatus[PARTY_SIZE]; @@ -3610,48 +3607,48 @@ static void DoBattleIntro(void) BtlController_EmitDrawPartyStatusSummary(battler, BUFFER_A, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); MarkBattlerForControllerExec(battler); - (*state)++; + gBattleStruct->introState++; } break; - case 6: // wait for previous action to complete + case BATTLE_INTRO_STATE_WAIT_FOR_PARTY_SUMMARY: if (!gBattleControllerExecFlags) - (*state)++; + gBattleStruct->introState++; break; - case 7: // print battle intro message + case BATTLE_INTRO_STATE_INTRO_TEXT: if (!IsBattlerMarkedForControllerExec(GetBattlerAtPosition(B_POSITION_PLAYER_LEFT))) { PrepareStringBattle(STRINGID_INTROMSG, GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)); - (*state)++; + gBattleStruct->introState++; } break; - case 8: // wait for intro message to be printed + case BATTLE_INTRO_STATE_WAIT_FOR_INTRO_TEXT: if (!IsBattlerMarkedForControllerExec(GetBattlerAtPosition(B_POSITION_PLAYER_LEFT))) { if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - (*state)++; + gBattleStruct->introState++; } else { if (B_FAST_INTRO == TRUE) - *state = 15; // Wait for text to be printed. + gBattleStruct->introState = BATTLE_INTRO_STATE_WAIT_FOR_WILD_BATTLE_TEXT; else - *state = 14; // Wait for text and sprite. + gBattleStruct->introState = BATTLE_INTRO_STATE_WAIT_FOR_TRAINER_2_SEND_OUT_ANIM; } } break; - case 9: // print opponent sends out + case BATTLE_INTRO_STATE_TRAINER_SEND_OUT_TEXT: if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && !(gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER)) PrepareStringBattle(STRINGID_INTROSENDOUT, GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)); else PrepareStringBattle(STRINGID_INTROSENDOUT, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)); - (*state)++; + gBattleStruct->introState++; break; - case 10: // wait for opponent sends out text + case BATTLE_INTRO_STATE_WAIT_FOR_TRAINER_SEND_OUT_TEXT: if (!gBattleControllerExecFlags) - (*state)++; + gBattleStruct->introState++; break; - case 11: // first opponent's mon send out animation + case BATTLE_INTRO_STATE_TRAINER_1_SEND_OUT_ANIM: if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && !(gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER)) battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); else @@ -3659,11 +3656,9 @@ static void DoBattleIntro(void) BtlController_EmitIntroTrainerBallThrow(battler, BUFFER_A); MarkBattlerForControllerExec(battler); - (*state)++; + gBattleStruct->introState++; break; - case 12: // nothing - (*state)++; - case 13: // second opponent's mon send out + case BATTLE_INTRO_STATE_TRAINER_2_SEND_OUT_ANIM: if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS) && !BATTLE_TWO_VS_ONE_OPPONENT) { if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && !(gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER)) @@ -3676,19 +3671,19 @@ static void DoBattleIntro(void) } if (B_FAST_INTRO == TRUE && !(gBattleTypeFlags & (BATTLE_TYPE_RECORDED | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_RECORDED_IS_MASTER | BATTLE_TYPE_LINK))) - *state = 15; // Print at the same time as trainer sends out second mon. + gBattleStruct->introState = BATTLE_INTRO_STATE_WAIT_FOR_WILD_BATTLE_TEXT; // Print at the same time as trainer sends out second mon. else - (*state)++; + gBattleStruct->introState++; break; - case 14: // wait for opponent 2 send out + case BATTLE_INTRO_STATE_WAIT_FOR_TRAINER_2_SEND_OUT_ANIM: if (!gBattleControllerExecFlags) - (*state)++; + gBattleStruct->introState++; break; - case 15: // wait for wild battle message + case BATTLE_INTRO_STATE_WAIT_FOR_WILD_BATTLE_TEXT: if (!IsBattlerMarkedForControllerExec(GetBattlerAtPosition(B_POSITION_PLAYER_LEFT))) - (*state)++; + gBattleStruct->introState++; break; - case 16: // print player sends out + case BATTLE_INTRO_STATE_PRINT_PLAYER_SEND_OUT_TEXT: if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) { if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && !(gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER)) @@ -3707,9 +3702,9 @@ static void DoBattleIntro(void) PrepareStringBattle(STRINGID_INTROSENDOUT, battler); } - (*state)++; + gBattleStruct->introState++; break; - case 17: // wait for player send out message + case BATTLE_INTRO_STATE_WAIT_FOR_PLAYER_SEND_OUT_TEXT: if (!(gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleControllerExecFlags)) { if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && !(gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER)) @@ -3718,10 +3713,10 @@ static void DoBattleIntro(void) battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); if (!IsBattlerMarkedForControllerExec(battler)) - (*state)++; + gBattleStruct->introState++; } break; - case 18: // player 1 send out + case BATTLE_INTRO_STATE_PRINT_PLAYER_1_SEND_OUT_TEXT: if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && !(gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER)) battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); else @@ -3729,9 +3724,9 @@ static void DoBattleIntro(void) BtlController_EmitIntroTrainerBallThrow(battler, BUFFER_A); MarkBattlerForControllerExec(battler); - (*state)++; + gBattleStruct->introState++; break; - case 19: // player 2 send out + case BATTLE_INTRO_STATE_PRINT_PLAYER_2_SEND_OUT_TEXT: if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_INGAME_PARTNER)) { if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && !(gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER)) @@ -3742,9 +3737,9 @@ static void DoBattleIntro(void) BtlController_EmitIntroTrainerBallThrow(battler, BUFFER_A); MarkBattlerForControllerExec(battler); } - (*state)++; + gBattleStruct->introState++; break; - case 20: // set dex and battle vars + case BATTLE_INTRO_STATE_SET_DEX_AND_BATTLE_VARS: if (!gBattleControllerExecFlags) { for (battler = 0; battler < gBattlersCount; battler++) @@ -3806,7 +3801,7 @@ static void TryDoEventsBeforeFirstTurn(void) struct Pokemon *party = GetBattlerParty(i); struct Pokemon *mon = &party[gBattlerPartyIndexes[i]]; if (!IsBattlerAlive(i) || gBattleMons[i].species == SPECIES_NONE || GetMonData(mon, MON_DATA_IS_EGG)) - gAbsentBattlerFlags |= gBitTable[i]; + gAbsentBattlerFlags |= 1u << i; } } @@ -3887,11 +3882,11 @@ static void TryDoEventsBeforeFirstTurn(void) case FIRST_TURN_EVENTS_SWITCH_IN_ABILITIES: while (gBattleStruct->switchInBattlerCounter < gBattlersCount) // From fastest to slowest { - gBattlerAttacker = gBattlerByTurnOrder[gBattleStruct->switchInBattlerCounter++]; + i = gBattlerByTurnOrder[gBattleStruct->switchInBattlerCounter++]; - if (TryPrimalReversion(gBattlerAttacker)) + if (TryPrimalReversion(i)) return; - if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gBattlerAttacker, 0, 0, 0) != 0) + if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, i, 0, 0, 0) != 0) return; } gBattleStruct->switchInBattlerCounter = 0; @@ -3939,7 +3934,7 @@ static void TryDoEventsBeforeFirstTurn(void) gBattleMons[i].status2 &= ~STATUS2_FLINCHED; // Record party slots of player's mons that appeared in battle if (!BattlerHasAi(i)) - gBattleStruct->appearedInBattle |= gBitTable[gBattlerPartyIndexes[i]]; + gBattleStruct->appearedInBattle |= 1u << gBattlerPartyIndexes[i]; } *(&gBattleStruct->turnEffectsTracker) = 0; @@ -4082,6 +4077,12 @@ u8 IsRunningFromBattleImpossible(u32 battler) { u32 holdEffect, i; + if (FlagGet(B_FLAG_NO_RUNNING)) + { + gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CANT_ESCAPE; + return BATTLE_RUN_FORBIDDEN; + } + if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY_E_READER) holdEffect = gEnigmaBerries[battler].holdEffect; else @@ -4157,7 +4158,7 @@ void SwitchPartyOrder(u32 battler) partyId2 = GetPartyIdFromBattlePartyId(*(gBattleStruct->monToSwitchIntoId + battler)); SwitchPartyMonSlots(partyId1, partyId2); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) { @@ -4200,26 +4201,36 @@ static void HandleTurnActionSelectionState(void) case STATE_TURN_START_RECORD: // Recorded battle related action on start of every turn. RecordedBattle_CopyBattlerMoves(battler); gBattleCommunication[battler] = STATE_BEFORE_ACTION_CHOSEN; + u32 isAiRisky = AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_RISKY; // Risky AI switches aggressively even mid battle // Do AI score computations here so we can use them in AI_TrySwitchOrUseItem if ((gBattleTypeFlags & BATTLE_TYPE_HAS_AI || IsWildMonSmart()) && (BattlerHasAi(battler) && !(gBattleTypeFlags & BATTLE_TYPE_PALACE))) { - if (AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_RISKY) // Risky AI switches aggressively even mid battle - AI_DATA->mostSuitableMonId[battler] = GetMostSuitableMonToSwitchInto(battler, TRUE); - else - AI_DATA->mostSuitableMonId[battler] = GetMostSuitableMonToSwitchInto(battler, FALSE); - gBattleStruct->aiMoveOrAction[battler] = ComputeBattleAiScores(battler); + AI_DATA->aiCalcInProgress = TRUE; + + // Setup battler data + sBattler_AI = battler; + BattleAI_SetupAIData(0xF, sBattler_AI); + + // Setup switching data + AI_DATA->mostSuitableMonId[battler] = GetMostSuitableMonToSwitchInto(battler, isAiRisky); + if (ShouldSwitch(battler)) + AI_DATA->shouldSwitch |= (1u << battler); + + // Do scoring + gBattleStruct->aiMoveOrAction[battler] = BattleAI_ChooseMoveOrAction(); + AI_DATA->aiCalcInProgress = FALSE; } // fallthrough case STATE_BEFORE_ACTION_CHOSEN: // Choose an action. *(gBattleStruct->monToSwitchIntoId + battler) = PARTY_SIZE; if (gBattleTypeFlags & BATTLE_TYPE_MULTI || (position & BIT_FLANK) == B_FLANK_LEFT - || gBattleStruct->absentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(position))] + || gBattleStruct->absentBattlerFlags & (1u << GetBattlerAtPosition(BATTLE_PARTNER(position))) || gBattleCommunication[GetBattlerAtPosition(BATTLE_PARTNER(position))] == STATE_WAIT_ACTION_CONFIRMED) { - if (gBattleStruct->absentBattlerFlags & gBitTable[battler]) + if ((gBattleStruct->absentBattlerFlags & (1u << battler)) || (gBattleStruct->commandingDondozo & (1u << battler))) { gChosenActionByBattler[battler] = B_ACTION_NOTHING_FAINTED; if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) @@ -4255,7 +4266,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_WAIT_ACTION_CHOSEN: // Try to perform an action. - if (!(gBattleControllerExecFlags & ((gBitTable[battler]) | (0xF << 28) | (gBitTable[battler] << 4) | (gBitTable[battler] << 8) | (gBitTable[battler] << 12)))) + if (!(gBattleControllerExecFlags & (((1u << battler)) | (0xF << 28) | ((1u << battler) << 4) | ((1u << battler) << 8) | ((1u << battler) << 12)))) { RecordedBattle_SetBattlerAction(battler, gBattleResources->bufferB[battler][1]); gChosenActionByBattler[battler] = gBattleResources->bufferB[battler][1]; @@ -4298,7 +4309,7 @@ static void HandleTurnActionSelectionState(void) i); } - BtlController_EmitChooseMove(battler, BUFFER_A, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo); + BtlController_EmitChooseMove(battler, BUFFER_A, IsDoubleBattle() != 0, FALSE, &moveInfo); MarkBattlerForControllerExec(battler); } break; @@ -4407,7 +4418,7 @@ static void HandleTurnActionSelectionState(void) RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))), 3); } - gBattleStruct->gimmick.toActivate &= ~(gBitTable[BATTLE_PARTNER(GetBattlerPosition(battler))]); + gBattleStruct->gimmick.toActivate &= ~((1u << BATTLE_PARTNER(GetBattlerPosition(battler)))); BtlController_EmitEndBounceEffect(battler, BUFFER_A); MarkBattlerForControllerExec(battler); return; @@ -4434,8 +4445,9 @@ static void HandleTurnActionSelectionState(void) BattleScriptExecute(BattleScript_PrintCantRunFromTrainer); gBattleCommunication[battler] = STATE_BEFORE_ACTION_CHOSEN; } - else if (IsRunningFromBattleImpossible(battler) != BATTLE_RUN_SUCCESS + else if ((IsRunningFromBattleImpossible(battler) != BATTLE_RUN_SUCCESS && gBattleResources->bufferB[battler][1] == B_ACTION_RUN) + || (FlagGet(B_FLAG_NO_RUNNING) == TRUE && gBattleResources->bufferB[battler][1] == B_ACTION_RUN)) { gSelectionBattleScripts[battler] = BattleScript_PrintCantEscapeFromBattle; gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; @@ -4450,7 +4462,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_WAIT_ACTION_CASE_CHOSEN: - if (!(gBattleControllerExecFlags & ((gBitTable[battler]) | (0xF << 28) | (gBitTable[battler] << 4) | (gBitTable[battler] << 8) | (gBitTable[battler] << 12)))) + if (!(gBattleControllerExecFlags & (((1u << battler)) | (0xF << 28) | ((1u << battler) << 4) | ((1u << battler) << 8) | ((1u << battler) << 12)))) { switch (gChosenActionByBattler[battler]) { @@ -4501,7 +4513,7 @@ static void HandleTurnActionSelectionState(void) // Check to see if any gimmicks need to be prepared. if (gBattleResources->bufferB[battler][2] & RET_GIMMICK) - gBattleStruct->gimmick.toActivate |= gBitTable[battler]; + gBattleStruct->gimmick.toActivate |= 1u << battler; // Max Move check if (GetActiveGimmick(battler) == GIMMICK_DYNAMAX || IsGimmickSelected(battler, GIMMICK_DYNAMAX)) @@ -4580,20 +4592,20 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_WAIT_ACTION_CONFIRMED_STANDBY: - if (!(gBattleControllerExecFlags & ((gBitTable[battler]) + if (!(gBattleControllerExecFlags & ((1u << battler) | (0xF << 28) - | (gBitTable[battler] << 4) - | (gBitTable[battler] << 8) - | (gBitTable[battler] << 12)))) + | (1u << (battler + 4)) + | (1u << (battler + 8)) + | (1u << (battler + 12))))) { if (AllAtActionConfirmed()) i = TRUE; else i = FALSE; - if (((gBattleTypeFlags & BATTLE_TYPE_MULTI) || !(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if (((gBattleTypeFlags & BATTLE_TYPE_MULTI) || !IsDoubleBattle()) || (position & BIT_FLANK) != B_FLANK_LEFT - || (*(&gBattleStruct->absentBattlerFlags) & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(position))])) + || (*(&gBattleStruct->absentBattlerFlags) & (1u << GetBattlerAtPosition(BATTLE_PARTNER(position))))) { BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_STOP_BOUNCE, i); } @@ -4606,7 +4618,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_WAIT_ACTION_CONFIRMED: - if (!(gBattleControllerExecFlags & ((gBitTable[battler]) | (0xF << 28) | (gBitTable[battler] << 4) | (gBitTable[battler] << 8) | (gBitTable[battler] << 12)))) + if (!(gBattleControllerExecFlags & ((1u << battler) | (0xF << 28) | (1u << (battler + 4)) | (1u << (battler + 8)) | (1u << (battler + 12))))) { gBattleCommunication[ACTIONS_CONFIRMED_COUNT]++; } @@ -4620,7 +4632,7 @@ static void HandleTurnActionSelectionState(void) { gBattlerAttacker = battler; gBattlescriptCurrInstr = gSelectionBattleScripts[battler]; - if (!(gBattleControllerExecFlags & ((gBitTable[battler]) | (0xF << 28) | (gBitTable[battler] << 4) | (gBitTable[battler] << 8) | (gBitTable[battler] << 12)))) + if (!(gBattleControllerExecFlags & ((1u << battler) | (0xF << 28) | (1u << (battler + 4)) | (1u << (battler + 8)) | (1u << (battler + 12))))) { gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } @@ -4628,7 +4640,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_WAIT_SET_BEFORE_ACTION: - if (!(gBattleControllerExecFlags & ((gBitTable[battler]) | (0xF << 28) | (gBitTable[battler] << 4) | (gBitTable[battler] << 8) | (gBitTable[battler] << 12)))) + if (!(gBattleControllerExecFlags & ((1u << battler) | (0xF << 28) | (1u << (battler + 4)) | (1u << (battler + 8)) | (1u << (battler + 12))))) { gBattleCommunication[battler] = STATE_BEFORE_ACTION_CHOSEN; } @@ -4652,7 +4664,7 @@ static void HandleTurnActionSelectionState(void) { gBattlerAttacker = battler; gBattlescriptCurrInstr = gSelectionBattleScripts[battler]; - if (!(gBattleControllerExecFlags & ((gBitTable[battler]) | (0xF << 28) | (gBitTable[battler] << 4) | (gBitTable[battler] << 8) | (gBitTable[battler] << 12)))) + if (!(gBattleControllerExecFlags & ((1u << battler) | (0xF << 28) | (1u << (battler + 4)) | (1u << (battler + 8)) | (1u << (battler + 12))))) { gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } @@ -5141,6 +5153,9 @@ static void TurnValuesCleanUp(bool8 var0) if (gDisableStructs[i].substituteHP == 0) gBattleMons[i].status2 &= ~STATUS2_SUBSTITUTE; + if (!(gStatuses3[i] & STATUS3_COMMANDER)) + gBattleStruct->commandingDondozo &= ~(1u << i); + gSpecialStatuses[i].parentalBondState = PARENTAL_BOND_OFF; } @@ -5149,6 +5164,7 @@ static void TurnValuesCleanUp(bool8 var0) gSideTimers[B_SIDE_PLAYER].followmeTimer = 0; gSideTimers[B_SIDE_OPPONENT].followmeTimer = 0; + gBattleStruct->usedEjectItem = 0; gBattleStruct->pledgeMove = FALSE; // combined pledge move may not have been used due to a canceller } @@ -5176,10 +5192,10 @@ static bool32 TryDoGimmicksBeforeMoves(void) for (i = 0; i < gBattlersCount; i++) { // Search through each battler and activate their gimmick if they have one prepared. - if ((gBattleStruct->gimmick.toActivate & gBitTable[order[i]]) && !(gProtectStructs[order[i]].noValidMoves)) + if ((gBattleStruct->gimmick.toActivate & (1u << order[i])) && !(gProtectStructs[order[i]].noValidMoves)) { battler = gBattlerAttacker = gBattleScripting.battler = order[i]; - gBattleStruct->gimmick.toActivate &= ~(gBitTable[battler]); + gBattleStruct->gimmick.toActivate &= ~(1u << battler); if (gGimmicksInfo[gBattleStruct->gimmick.usableGimmick[battler]].ActivateGimmick != NULL) { gGimmicksInfo[gBattleStruct->gimmick.usableGimmick[battler]].ActivateGimmick(battler); @@ -5205,22 +5221,22 @@ static bool32 TryDoMoveEffectsBeforeMoves(void) SortBattlersBySpeed(battlers, FALSE); for (i = 0; i < gBattlersCount; i++) { - if (!(gBattleStruct->focusPunchBattlers & gBitTable[battlers[i]]) + if (!(gBattleStruct->focusPunchBattlers & (1u << battlers[i])) && !(gBattleMons[battlers[i]].status1 & STATUS1_SLEEP) && !(gDisableStructs[battlers[i]].truantCounter) && !(gProtectStructs[battlers[i]].noValidMoves)) { - gBattleStruct->focusPunchBattlers |= gBitTable[battlers[i]]; + gBattleStruct->focusPunchBattlers |= 1u << battlers[i]; gBattlerAttacker = battlers[i]; - switch (gChosenMoveByBattler[gBattlerAttacker]) + switch (gMovesInfo[gChosenMoveByBattler[gBattlerAttacker]].effect) { - case MOVE_FOCUS_PUNCH: + case EFFECT_FOCUS_PUNCH: BattleScriptExecute(BattleScript_FocusPunchSetUp); return TRUE; - case MOVE_BEAK_BLAST: + case EFFECT_BEAK_BLAST: BattleScriptExecute(BattleScript_BeakBlastSetUp); return TRUE; - case MOVE_SHELL_TRAP: + case EFFECT_SHELL_TRAP: BattleScriptExecute(BattleScript_ShellTrapSetUp); return TRUE; } @@ -5582,7 +5598,7 @@ static void HandleEndTurn_FinishBattle(void) bool8 changedForm = FALSE; // Appeared in battle and didn't faint - if ((gBattleStruct->appearedInBattle & gBitTable[i]) && GetMonData(&gPlayerParty[i], MON_DATA_HP, NULL) != 0) + if ((gBattleStruct->appearedInBattle & (1u << i)) && GetMonData(&gPlayerParty[i], MON_DATA_HP, NULL) != 0) changedForm = TryFormChange(i, B_SIDE_PLAYER, FORM_CHANGE_END_BATTLE_TERRAIN); if (!changedForm) @@ -5662,15 +5678,15 @@ static void TryEvolvePokemon(void) for (i = 0; i < PARTY_SIZE; i++) { - if (!(sTriedEvolving & gBitTable[i])) + if (!(sTriedEvolving & (1u << i))) { u16 species = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_BATTLE_SPECIAL, i, NULL); bool32 evoModeNormal = TRUE; - sTriedEvolving |= gBitTable[i]; + sTriedEvolving |= 1u << i; - if (species == SPECIES_NONE && (gLeveledUpInBattle & gBitTable[i])) + if (species == SPECIES_NONE && (gLeveledUpInBattle & (1u << i))) { - gLeveledUpInBattle &= ~(gBitTable[i]); + gLeveledUpInBattle &= ~(1u << i); species = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_BATTLE_ONLY, gLeveledUpInBattle, NULL); } @@ -5804,151 +5820,253 @@ bool32 TrySetAteType(u32 move, u32 battlerAtk, u32 attackerAbility) return FALSE; } -void SetTypeBeforeUsingMove(u32 move, u32 battlerAtk) +// Returns TYPE_NONE if type doesn't change. +// NULL can be passed to ateBoost to avoid applying ate-ability boosts when opening the summary screen in-battle. +u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) { - u32 moveType, attackerAbility; - u16 holdEffect = GetBattlerHoldEffect(battlerAtk, TRUE); + u32 moveType = gMovesInfo[move].type; + u32 moveEffect = gMovesInfo[move].effect; + u32 species, heldItem, holdEffect, ability, type1, type2, type3; if (move == MOVE_STRUGGLE) - return; + return TYPE_NORMAL; - gBattleStruct->dynamicMoveType = 0; - gBattleStruct->ateBoost[battlerAtk] = 0; - gSpecialStatuses[battlerAtk].gemBoost = FALSE; + if (gMain.inBattle) + { + species = gBattleMons[battler].species; + heldItem = gBattleMons[battler].item; + holdEffect = GetBattlerHoldEffect(battler, TRUE); + ability = GetBattlerAbility(battler); + type1 = gBattleMons[battler].types[0]; + type2 = gBattleMons[battler].types[1]; + type3 = gBattleMons[battler].types[2]; + } + else + { + species = GetMonData(mon, MON_DATA_SPECIES); + heldItem = GetMonData(mon, MON_DATA_HELD_ITEM, 0); + holdEffect = ItemId_GetHoldEffect(heldItem); + ability = GetMonAbility(mon); + type1 = gSpeciesInfo[species].types[0]; + type2 = gSpeciesInfo[species].types[1]; + type3 = TYPE_MYSTERY; + } - if (gMovesInfo[move].effect == EFFECT_WEATHER_BALL) + switch (moveEffect) { - if (WEATHER_HAS_EFFECT) + case EFFECT_WEATHER_BALL: + if (gMain.inBattle && WEATHER_HAS_EFFECT) { if (gBattleWeather & B_WEATHER_RAIN && holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA) - gBattleStruct->dynamicMoveType = TYPE_WATER | F_DYNAMIC_TYPE_SET; + return TYPE_WATER; else if (gBattleWeather & B_WEATHER_SANDSTORM) - gBattleStruct->dynamicMoveType = TYPE_ROCK | F_DYNAMIC_TYPE_SET; + return TYPE_ROCK; else if (gBattleWeather & B_WEATHER_SUN && holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA) - gBattleStruct->dynamicMoveType = TYPE_FIRE | F_DYNAMIC_TYPE_SET; - else if (gBattleWeather & (B_WEATHER_HAIL | B_WEATHER_SNOW)) - gBattleStruct->dynamicMoveType = TYPE_ICE | F_DYNAMIC_TYPE_SET; + return TYPE_FIRE; + else if (gBattleWeather & (B_WEATHER_SNOW | B_WEATHER_HAIL)) + return TYPE_ICE; else - gBattleStruct->dynamicMoveType = TYPE_NORMAL | F_DYNAMIC_TYPE_SET; + return moveType; } - } - else if (gMovesInfo[move].effect == EFFECT_HIDDEN_POWER) - { - u8 typeBits = ((gBattleMons[battlerAtk].hpIV & 1) << 0) - | ((gBattleMons[battlerAtk].attackIV & 1) << 1) - | ((gBattleMons[battlerAtk].defenseIV & 1) << 2) - | ((gBattleMons[battlerAtk].speedIV & 1) << 3) - | ((gBattleMons[battlerAtk].spAttackIV & 1) << 4) - | ((gBattleMons[battlerAtk].spDefenseIV & 1) << 5); + else + { + switch (gWeatherPtr->currWeather) + { + case WEATHER_DROUGHT: + if (holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA) + return TYPE_FIRE; + break; + case WEATHER_RAIN: + case WEATHER_RAIN_THUNDERSTORM: + if (holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA) + return TYPE_WATER; + break; + case WEATHER_SNOW: + return TYPE_ICE; + case WEATHER_SANDSTORM: + return TYPE_ROCK; + } + return moveType; + } + break; + case EFFECT_HIDDEN_POWER: + { + u32 typeBits = 0; + if (gMain.inBattle) + { + typeBits = ((gBattleMons[battler].hpIV & 1) << 0) + | ((gBattleMons[battler].attackIV & 1) << 1) + | ((gBattleMons[battler].defenseIV & 1) << 2) + | ((gBattleMons[battler].speedIV & 1) << 3) + | ((gBattleMons[battler].spAttackIV & 1) << 4) + | ((gBattleMons[battler].spDefenseIV & 1) << 5); + } + else + { + typeBits = ((GetMonData(mon, MON_DATA_HP_IV) & 1) << 0) + | ((GetMonData(mon, MON_DATA_ATK_IV) & 1) << 1) + | ((GetMonData(mon, MON_DATA_DEF_IV) & 1) << 2) + | ((GetMonData(mon, MON_DATA_SPEED_IV) & 1) << 3) + | ((GetMonData(mon, MON_DATA_SPATK_IV) & 1) << 4) + | ((GetMonData(mon, MON_DATA_SPDEF_IV) & 1) << 5); + } - // Subtract 6 instead of 1 below because 5 types are excluded (TYPE_NONE, TYPE_NORMAL, TYPE_MYSTERY, TYPE_FAIRY and TYPE_STELLAR) - // The final + 2 skips past TYPE_NONE and Normal. - gBattleStruct->dynamicMoveType = ((NUMBER_OF_MON_TYPES - 6) * typeBits) / 63 + 2; - if (gBattleStruct->dynamicMoveType >= TYPE_MYSTERY) - gBattleStruct->dynamicMoveType++; - gBattleStruct->dynamicMoveType |= F_DYNAMIC_TYPE_IGNORE_PHYSICALITY | F_DYNAMIC_TYPE_SET; - } - else if (gMovesInfo[move].effect == EFFECT_CHANGE_TYPE_ON_ITEM && holdEffect == gMovesInfo[move].argument) - { - gBattleStruct->dynamicMoveType = ItemId_GetSecondaryId(gBattleMons[battlerAtk].item) | F_DYNAMIC_TYPE_SET; - } - else if (gMovesInfo[move].effect == EFFECT_REVELATION_DANCE && GetActiveGimmick(battlerAtk) != GIMMICK_Z_MOVE) - { - if (GetActiveGimmick(battlerAtk) == GIMMICK_TERA && GetBattlerTeraType(battlerAtk) != TYPE_STELLAR) - gBattleStruct->dynamicMoveType = GetBattlerTeraType(battlerAtk); - else if (gBattleMons[battlerAtk].types[0] != TYPE_MYSTERY && !(gBattleResources->flags->flags[battlerAtk] & RESOURCE_FLAG_ROOST && gBattleMons[battlerAtk].types[0] == TYPE_FLYING)) - gBattleStruct->dynamicMoveType = gBattleMons[battlerAtk].types[0] | F_DYNAMIC_TYPE_SET; - else if (gBattleMons[battlerAtk].types[1] != TYPE_MYSTERY && !(gBattleResources->flags->flags[battlerAtk] & RESOURCE_FLAG_ROOST && gBattleMons[battlerAtk].types[1] == TYPE_FLYING)) - gBattleStruct->dynamicMoveType = gBattleMons[battlerAtk].types[1] | F_DYNAMIC_TYPE_SET; - else if (gBattleResources->flags->flags[battlerAtk] & RESOURCE_FLAG_ROOST) - gBattleStruct->dynamicMoveType = (B_ROOST_PURE_FLYING >= GEN_5 ? TYPE_NORMAL : TYPE_MYSTERY) | F_DYNAMIC_TYPE_SET; - else if (gBattleMons[battlerAtk].types[2] != TYPE_MYSTERY) - gBattleStruct->dynamicMoveType = gBattleMons[battlerAtk].types[2] | F_DYNAMIC_TYPE_SET; + // Subtract 6 instead of 1 below because 5 types are excluded (TYPE_NONE, TYPE_NORMAL, TYPE_MYSTERY, TYPE_FAIRY and TYPE_STELLAR) + // The final + 2 skips past TYPE_NONE and Normal. + moveType = ((NUMBER_OF_MON_TYPES - 6) * typeBits) / 63 + 2; + if (moveType >= TYPE_MYSTERY) + moveType++; + return ((moveType | F_DYNAMIC_TYPE_IGNORE_PHYSICALITY) & 0x3F); + } + break; + case EFFECT_CHANGE_TYPE_ON_ITEM: + if (holdEffect == gMovesInfo[move].argument) + return ItemId_GetSecondaryId(heldItem); + break; + case EFFECT_REVELATION_DANCE: + if (GetActiveGimmick(battler) != GIMMICK_Z_MOVE) + { + u32 teraType; + if (GetActiveGimmick(battler) == GIMMICK_TERA && ((teraType = GetMonData(mon, MON_DATA_TERA_TYPE)) != TYPE_STELLAR)) + return teraType; + else if (type1 != TYPE_MYSTERY && !(gBattleResources->flags->flags[battler] & RESOURCE_FLAG_ROOST && type1 == TYPE_FLYING)) + return type1; + else if (type2 != TYPE_MYSTERY && !(gBattleResources->flags->flags[battler] & RESOURCE_FLAG_ROOST && type2 == TYPE_FLYING)) + return type2; + else if (gBattleResources->flags->flags[battler] & RESOURCE_FLAG_ROOST) + return (B_ROOST_PURE_FLYING >= GEN_5 ? TYPE_NORMAL : TYPE_MYSTERY); + else if (type3 != TYPE_MYSTERY) + return type3; + else + return TYPE_MYSTERY; + } + break; + case EFFECT_RAGING_BULL: + switch (species) + { + case SPECIES_TAUROS_PALDEA_COMBAT: + case SPECIES_TAUROS_PALDEA_BLAZE: + case SPECIES_TAUROS_PALDEA_AQUA: + return type2; + } + break; + case EFFECT_IVY_CUDGEL: + switch (species) + { + case SPECIES_OGERPON_WELLSPRING: + case SPECIES_OGERPON_HEARTHFLAME: + case SPECIES_OGERPON_CORNERSTONE: + case SPECIES_OGERPON_WELLSPRING_TERA: + case SPECIES_OGERPON_HEARTHFLAME_TERA: + case SPECIES_OGERPON_CORNERSTONE_TERA: + return type2; + } + break; + case EFFECT_NATURAL_GIFT: + if (ItemId_GetPocket(heldItem) == POCKET_BERRIES) + return gNaturalGiftTable[ITEM_TO_BERRY(heldItem)].type; else - gBattleStruct->dynamicMoveType = TYPE_MYSTERY | F_DYNAMIC_TYPE_SET; - } - else if (gMovesInfo[move].effect == EFFECT_RAGING_BULL - && (gBattleMons[battlerAtk].species == SPECIES_TAUROS_PALDEAN_COMBAT_BREED - || gBattleMons[battlerAtk].species == SPECIES_TAUROS_PALDEAN_BLAZE_BREED - || gBattleMons[battlerAtk].species == SPECIES_TAUROS_PALDEAN_AQUA_BREED)) - { - gBattleStruct->dynamicMoveType = gBattleMons[battlerAtk].types[1] | F_DYNAMIC_TYPE_SET; - } - else if (gMovesInfo[move].effect == EFFECT_IVY_CUDGEL - && (gBattleMons[battlerAtk].species == SPECIES_OGERPON_WELLSPRING_MASK || gBattleMons[battlerAtk].species == SPECIES_OGERPON_WELLSPRING_MASK_TERA - || gBattleMons[battlerAtk].species == SPECIES_OGERPON_HEARTHFLAME_MASK || gBattleMons[battlerAtk].species == SPECIES_OGERPON_HEARTHFLAME_MASK_TERA - || gBattleMons[battlerAtk].species == SPECIES_OGERPON_CORNERSTONE_MASK || gBattleMons[battlerAtk].species == SPECIES_OGERPON_CORNERSTONE_MASK_TERA )) - { - gBattleStruct->dynamicMoveType = gBattleMons[battlerAtk].types[1] | F_DYNAMIC_TYPE_SET; - } - else if (gMovesInfo[move].effect == EFFECT_NATURAL_GIFT) - { - if (ItemId_GetPocket(gBattleMons[battlerAtk].item) == POCKET_BERRIES) - gBattleStruct->dynamicMoveType = gNaturalGiftTable[ITEM_TO_BERRY(gBattleMons[battlerAtk].item)].type; - } - else if (gMovesInfo[move].effect == EFFECT_TERRAIN_PULSE) - { - if (IsBattlerTerrainAffected(battlerAtk, STATUS_FIELD_TERRAIN_ANY)) + return moveType; + case EFFECT_TERRAIN_PULSE: + if (gMain.inBattle) { - if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN) - gBattleStruct->dynamicMoveType = TYPE_ELECTRIC | F_DYNAMIC_TYPE_SET; - else if (gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN) - gBattleStruct->dynamicMoveType = TYPE_GRASS | F_DYNAMIC_TYPE_SET; - else if (gFieldStatuses & STATUS_FIELD_MISTY_TERRAIN) - gBattleStruct->dynamicMoveType = TYPE_FAIRY | F_DYNAMIC_TYPE_SET; - else if (gFieldStatuses & STATUS_FIELD_PSYCHIC_TERRAIN) - gBattleStruct->dynamicMoveType = TYPE_PSYCHIC | F_DYNAMIC_TYPE_SET; - else //failsafe - gBattleStruct->dynamicMoveType = TYPE_NORMAL | F_DYNAMIC_TYPE_SET; + if (IsBattlerTerrainAffected(battler, STATUS_FIELD_TERRAIN_ANY)) + { + if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN) + return TYPE_ELECTRIC; + else if (gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN) + return TYPE_GRASS; + else if (gFieldStatuses & STATUS_FIELD_MISTY_TERRAIN) + return TYPE_FAIRY; + else if (gFieldStatuses & STATUS_FIELD_PSYCHIC_TERRAIN) + return TYPE_PSYCHIC; + else //failsafe + return moveType; + } } - } - else if (gMovesInfo[move].effect == EFFECT_TERA_BLAST && GetActiveGimmick(battlerAtk) == GIMMICK_TERA) - { - gBattleStruct->dynamicMoveType = GetBattlerTeraType(battlerAtk) | F_DYNAMIC_TYPE_SET; - } - else if (gMovesInfo[move].effect == EFFECT_TERA_STARSTORM && gBattleMons[battlerAtk].species == SPECIES_TERAPAGOS_STELLAR) - { - gBattleStruct->dynamicMoveType = TYPE_STELLAR | F_DYNAMIC_TYPE_SET; + else + { + switch (gWeatherPtr->currWeather) + { + case WEATHER_RAIN_THUNDERSTORM: + if (B_THUNDERSTORM_TERRAIN) + return TYPE_ELECTRIC; + break; + case WEATHER_FOG_HORIZONTAL: + case WEATHER_FOG_DIAGONAL: + if (B_OVERWORLD_FOG >= GEN_8) + return TYPE_FAIRY; + break; + } + return moveType; + } + break; + case EFFECT_TERA_BLAST: + if (GetActiveGimmick(battler) == GIMMICK_TERA) + return GetMonData(mon, MON_DATA_TERA_TYPE); + break; + case EFFECT_TERA_STARSTORM: + if (species == SPECIES_TERAPAGOS_STELLAR) + return TYPE_STELLAR; + break; } - attackerAbility = GetBattlerAbility(battlerAtk); - if (gMovesInfo[move].type == TYPE_NORMAL - && TrySetAteType(move, battlerAtk, attackerAbility) - && GetActiveGimmick(battlerAtk) != GIMMICK_DYNAMAX) + if (moveType == TYPE_NORMAL + && ((!gMain.inBattle || TrySetAteType(move, battler, ability)) + && GetActiveGimmick(battler) != GIMMICK_DYNAMAX)) { - gBattleStruct->ateBoost[battlerAtk] = 1; + if (gMain.inBattle && ateBoost != NULL) + *ateBoost = TRUE; } - else if (gMovesInfo[move].type != TYPE_NORMAL - && gMovesInfo[move].effect != EFFECT_HIDDEN_POWER - && gMovesInfo[move].effect != EFFECT_WEATHER_BALL - && attackerAbility == ABILITY_NORMALIZE - && GetActiveGimmick(battlerAtk) != GIMMICK_Z_MOVE) + else if (moveType != TYPE_NORMAL + && moveEffect != EFFECT_HIDDEN_POWER + && moveEffect != EFFECT_WEATHER_BALL + && ability == ABILITY_NORMALIZE + && GetActiveGimmick(battler) != GIMMICK_Z_MOVE) { - gBattleStruct->dynamicMoveType = TYPE_NORMAL | F_DYNAMIC_TYPE_SET; - if (GetActiveGimmick(battlerAtk) != GIMMICK_DYNAMAX) - gBattleStruct->ateBoost[battlerAtk] = 1; + if (gMain.inBattle && ateBoost != NULL && GetActiveGimmick(battler) != GIMMICK_DYNAMAX) + *ateBoost = TRUE; + return TYPE_NORMAL; } - else if (gMovesInfo[move].soundMove && attackerAbility == ABILITY_LIQUID_VOICE) + else if (gMovesInfo[move].soundMove && ability == ABILITY_LIQUID_VOICE) { - gBattleStruct->dynamicMoveType = TYPE_WATER | F_DYNAMIC_TYPE_SET; + return TYPE_WATER; } - else if (gMovesInfo[move].effect == EFFECT_AURA_WHEEL && gBattleMons[battlerAtk].species == SPECIES_MORPEKO_HANGRY) + else if (moveEffect == EFFECT_AURA_WHEEL && species == SPECIES_MORPEKO_HANGRY) { - gBattleStruct->dynamicMoveType = TYPE_DARK | F_DYNAMIC_TYPE_SET; + return TYPE_DARK; } - GET_MOVE_TYPE(move, moveType); + return TYPE_NONE; +} + +void SetTypeBeforeUsingMove(u32 move, u32 battler) +{ + u32 moveType; + u32 heldItem = gBattleMons[battler].item; + u32 holdEffect = GetBattlerHoldEffect(battler, TRUE); + + gBattleStruct->dynamicMoveType = 0; + gBattleStruct->ateBoost[battler] = FALSE; + gSpecialStatuses[battler].gemBoost = FALSE; + + moveType = GetDynamicMoveType(&GetBattlerParty(battler)[gBattlerPartyIndexes[battler]], + move, + battler, + &gBattleStruct->ateBoost[battler]); + if (moveType != TYPE_NONE) + gBattleStruct->dynamicMoveType = moveType | F_DYNAMIC_TYPE_SET; + + moveType = GetMoveType(move); if ((gFieldStatuses & STATUS_FIELD_ION_DELUGE && moveType == TYPE_NORMAL) - || gStatuses4[battlerAtk] & STATUS4_ELECTRIFIED) + || gStatuses4[battler] & STATUS4_ELECTRIFIED) gBattleStruct->dynamicMoveType = TYPE_ELECTRIC | F_DYNAMIC_TYPE_SET; // Check if a gem should activate. - GET_MOVE_TYPE(move, moveType); - if (holdEffect == HOLD_EFFECT_GEMS - && moveType == ItemId_GetSecondaryId(gBattleMons[battlerAtk].item)) + if (holdEffect == HOLD_EFFECT_GEMS && GetMoveType(move) == ItemId_GetSecondaryId(heldItem)) { - gSpecialStatuses[battlerAtk].gemParam = GetBattlerHoldEffectParam(battlerAtk); - gSpecialStatuses[battlerAtk].gemBoost = TRUE; + gSpecialStatuses[battler].gemParam = GetBattlerHoldEffectParam(battler); + gSpecialStatuses[battler].gemBoost = TRUE; } } diff --git a/src/battle_message.c b/src/battle_message.c index 1598c4cef7c4..0dbb0c76a4df 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -22,6 +22,7 @@ #include "text.h" #include "trainer_hill.h" #include "window.h" +#include "line_break.h" #include "constants/abilities.h" #include "constants/battle_dome.h" #include "constants/battle_string_ids.h" @@ -51,397 +52,78 @@ struct BattleWindowText static void ChooseMoveUsedParticle(u8 *textPtr); static void ChooseTypeOfMoveUsedString(u8 *dst); +#if TESTING +EWRAM_DATA u16 sBattlerAbilities[MAX_BATTLERS_COUNT] = {0}; +#else static EWRAM_DATA u16 sBattlerAbilities[MAX_BATTLERS_COUNT] = {0}; +#endif EWRAM_DATA struct BattleMsgData *gBattleMsgDataPtr = NULL; // todo: make some of those names less vague: attacker/target vs pkmn, etc. -static const u8 sText_Trainer1LoseText[] = _("{B_TRAINER1_LOSE_TEXT}"); -static const u8 sText_PkmnGainedEXP[] = _("{B_BUFF1} gained{B_BUFF2}\n{B_BUFF3} EXP. Points!\p"); static const u8 sText_EmptyString4[] = _(""); -static const u8 sText_ABoosted[] = _(" a boosted"); -static const u8 sText_PkmnGrewToLv[] = _("{B_BUFF1} grew to\nLV. {B_BUFF2}!{WAIT_SE}\p"); -static const u8 sText_PkmnLearnedMove[] = _("{B_BUFF1} learned\n{B_BUFF2}!{WAIT_SE}\p"); -static const u8 sText_TryToLearnMove1[] = _("{B_BUFF1} is trying to\nlearn {B_BUFF2}.\p"); -static const u8 sText_TryToLearnMove2[] = _("But, {B_BUFF1} can't learn\nmore than four moves.\p"); -static const u8 sText_TryToLearnMove3[] = _("Delete a move to make\nroom for {B_BUFF2}?"); -static const u8 sText_PkmnForgotMove[] = _("{B_BUFF1} forgot\n{B_BUFF2}.\p"); -static const u8 sText_StopLearningMove[] = _("{PAUSE 32}Stop learning\n{B_BUFF2}?"); -static const u8 sText_DidNotLearnMove[] = _("{B_BUFF1} did not learn\n{B_BUFF2}.\p"); -static const u8 sText_UseNextPkmn[] = _("Use next POKéMON?"); -static const u8 sText_AttackMissed[] = _("{B_ATK_NAME_WITH_PREFIX}'s\nattack missed!"); -static const u8 sText_PkmnProtectedItself[] = _("{B_DEF_NAME_WITH_PREFIX}\nprotected itself!"); -static const u8 sText_AvoidedDamage[] = _("{B_DEF_NAME_WITH_PREFIX} avoided\ndamage with {B_DEF_ABILITY}!"); -static const u8 sText_PkmnMakesGroundMiss[] = _("{B_DEF_NAME_WITH_PREFIX} makes GROUND\nmoves miss with {B_DEF_ABILITY}!"); -static const u8 sText_PkmnAvoidedAttack[] = _("{B_DEF_NAME_WITH_PREFIX} avoided\nthe attack!"); -static const u8 sText_ItDoesntAffect[] = _("It doesn't affect\n{B_DEF_NAME_WITH_PREFIX}…"); -static const u8 sText_AttackerFainted[] = _("{B_ATK_NAME_WITH_PREFIX}\nfainted!\p"); -static const u8 sText_TargetFainted[] = _("{B_DEF_NAME_WITH_PREFIX}\nfainted!\p"); -static const u8 sText_PlayerGotMoney[] = _("{B_PLAYER_NAME} got ¥{B_BUFF1}\nfor winning!\p"); -static const u8 sText_PlayerLostToEnemyTrainer[] = _("{B_PLAYER_NAME} is out of\nusable POKéMON!\pPlayer lost against\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!{PAUSE_UNTIL_PRESS}"); -static const u8 sText_PlayerPaidPrizeMoney[] = _("{B_PLAYER_NAME} paid ¥{B_BUFF1} as the prize\nmoney…\p… … … …\p{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}"); -static const u8 sText_PlayerWhiteout[] = _("{B_PLAYER_NAME} is out of\nusable POKéMON!\p"); -#if B_WHITEOUT_MONEY >= GEN_4 -static const u8 sText_PlayerWhiteout2[] = _("{B_PLAYER_NAME} panicked and lost ¥{B_BUFF1}…\p… … … …\p{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}"); -#else -static const u8 sText_PlayerWhiteout2[] = _("{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}"); -#endif -static const u8 sText_PreventsEscape[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} prevents\nescape with {B_SCR_ACTIVE_ABILITY}!\p"); -static const u8 sText_CantEscape2[] = _("Can't escape!\p"); -static const u8 sText_AttackerCantEscape[] = _("{B_ATK_NAME_WITH_PREFIX} can't escape!"); -static const u8 sText_HitXTimes[] = _("Hit {B_BUFF1} time(s)!"); -static const u8 sText_PkmnFellAsleep[] = _("{B_EFF_NAME_WITH_PREFIX}\nfell asleep!"); -static const u8 sText_PkmnMadeSleep[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_BUFF1}\nmade {B_EFF_NAME_WITH_PREFIX} sleep!"); -static const u8 sText_PkmnAlreadyAsleep[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready asleep!"); -static const u8 sText_PkmnAlreadyAsleep2[] = _("{B_ATK_NAME_WITH_PREFIX} is\nalready asleep!"); -static const u8 sText_PkmnWasntAffected[] = _("{B_DEF_NAME_WITH_PREFIX}\nwasn't affected!"); -static const u8 sText_PkmnWasPoisoned[] = _("{B_EFF_NAME_WITH_PREFIX}\nwas poisoned!"); -static const u8 sText_PkmnPoisonedBy[] = _("{B_EFF_NAME_WITH_PREFIX} was poisoned by\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_BUFF1}!"); -static const u8 sText_PkmnHurtByPoison[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby poison!"); -static const u8 sText_PkmnAlreadyPoisoned[] = _("{B_DEF_NAME_WITH_PREFIX} is already\npoisoned."); -static const u8 sText_PkmnBadlyPoisoned[] = _("{B_EFF_NAME_WITH_PREFIX} is badly\npoisoned!"); -static const u8 sText_PkmnEnergyDrained[] = _("{B_DEF_NAME_WITH_PREFIX} had its\nenergy drained!"); -static const u8 sText_PkmnWasBurned[] = _("{B_EFF_NAME_WITH_PREFIX} was burned!"); -static const u8 sText_PkmnGotFrostbite[] = _("{B_EFF_NAME_WITH_PREFIX} got frostbite!"); -static const u8 sText_PkmnBurnedBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_BUFF1}\nburned {B_EFF_NAME_WITH_PREFIX}!"); -static const u8 sText_PkmnHurtByBurn[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby its burn!"); -static const u8 sText_PkmnHurtByFrostbite[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby its frostbite!"); -static const u8 sText_PkmnAlreadyHasBurn[] = _("{B_DEF_NAME_WITH_PREFIX} already\nhas a burn."); -static const u8 sText_PkmnWasFrozen[] = _("{B_EFF_NAME_WITH_PREFIX} was\nfrozen solid!"); -static const u8 sText_PkmnFrozenBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_BUFF1}\nfroze {B_EFF_NAME_WITH_PREFIX} solid!"); -static const u8 sText_PkmnIsFrozen[] = _("{B_ATK_NAME_WITH_PREFIX} is\nfrozen solid!"); -static const u8 sText_PkmnWasDefrosted[] = _("{B_DEF_NAME_WITH_PREFIX} was\ndefrosted!"); -static const u8 sText_PkmnWasDefrosted2[] = _("{B_ATK_NAME_WITH_PREFIX} was\ndefrosted!"); -static const u8 sText_PkmnWasDefrostedBy[] = _("{B_ATK_NAME_WITH_PREFIX} was\ndefrosted by {B_CURRENT_MOVE}!"); -static const u8 sText_PkmnFrostbiteHealed[] = _("{B_DEF_NAME_WITH_PREFIX}'s\nfrostbite was healed!"); -static const u8 sText_PkmnFrostbiteHealed2[] = _("{B_ATK_NAME_WITH_PREFIX}'s\nfrostbite was healed!"); -static const u8 sText_PkmnFrostbiteHealedBy[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\nhealed its frostbite!"); -static const u8 sText_PkmnWasParalyzed[] = _("{B_EFF_NAME_WITH_PREFIX} is paralyzed!\nIt may be unable to move!"); -static const u8 sText_PkmnWasParalyzedBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_BUFF1}\nparalyzed {B_EFF_NAME_WITH_PREFIX}!\lIt may be unable to move!"); -static const u8 sText_PkmnIsParalyzed[] = _("{B_ATK_NAME_WITH_PREFIX} is paralyzed!\nIt can't move!"); -static const u8 sText_PkmnIsAlreadyParalyzed[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready paralyzed!"); -static const u8 sText_PkmnHealedParalysis[] = _("{B_DEF_NAME_WITH_PREFIX} was\nhealed of paralysis!"); -static const u8 sText_PkmnDreamEaten[] = _("{B_DEF_NAME_WITH_PREFIX}'s\ndream was eaten!"); -static const u8 sText_StatsWontIncrease[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\nwon't go higher!"); -static const u8 sText_StatsWontDecrease[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\nwon't go lower!"); -static const u8 sText_TeamStoppedWorking[] = _("Your team's {B_BUFF1}\nstopped working!"); -static const u8 sText_FoeStoppedWorking[] = _("The foe's {B_BUFF1}\nstopped working!"); -static const u8 sText_PkmnIsConfused[] = _("{B_ATK_NAME_WITH_PREFIX} is\nconfused!"); -static const u8 sText_PkmnHealedConfusion[] = _("{B_ATK_NAME_WITH_PREFIX} snapped\nout of confusion!"); -static const u8 sText_PkmnWasConfused[] = _("{B_EFF_NAME_WITH_PREFIX} became\nconfused!"); -static const u8 sText_PkmnAlreadyConfused[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready confused!"); -static const u8 sText_PkmnFellInLove[] = _("{B_DEF_NAME_WITH_PREFIX}\nfell in love!"); -static const u8 sText_PkmnInLove[] = _("{B_ATK_NAME_WITH_PREFIX} is in love\nwith {B_SCR_ACTIVE_NAME_WITH_PREFIX}!"); -static const u8 sText_PkmnImmobilizedByLove[] = _("{B_ATK_NAME_WITH_PREFIX} is\nimmobilized by love!"); -static const u8 sText_PkmnBlownAway[] = _("{B_DEF_NAME_WITH_PREFIX} was\nblown away!"); -static const u8 sText_PkmnChangedType[] = _("{B_ATK_NAME_WITH_PREFIX} transformed\ninto the {B_BUFF1} type!"); -static const u8 sText_PkmnFlinched[] = _("{B_ATK_NAME_WITH_PREFIX} flinched!"); -static const u8 sText_PkmnRegainedHealth[] = _("{B_DEF_NAME_WITH_PREFIX} regained\nhealth!"); -static const u8 sText_PkmnHPFull[] = _("{B_DEF_NAME_WITH_PREFIX}'s\nHP is full!"); -static const u8 sText_PkmnRaisedSpDef[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised SP. DEF!"); -static const u8 sText_PkmnRaisedSpDefALittle[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised SP. DEF a little!"); -static const u8 sText_PkmnRaisedDef[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised DEFENSE!"); -static const u8 sText_PkmnRaisedDefALittle[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised DEFENSE a little!"); -static const u8 sText_PkmnCoveredByVeil[] = _("{B_ATK_PREFIX2}'s party is covered\nby a veil!"); -static const u8 sText_PkmnUsedSafeguard[] = _("{B_DEF_NAME_WITH_PREFIX}'s party is protected\nby Safeguard!"); -static const u8 sText_PkmnSafeguardExpired[] = _("{B_ATK_PREFIX3}'s party is no longer\nprotected by Safeguard!"); -static const u8 sText_PkmnWentToSleep[] = _("{B_ATK_NAME_WITH_PREFIX} went\nto sleep!"); -static const u8 sText_PkmnSleptHealthy[] = _("{B_ATK_NAME_WITH_PREFIX} slept and\nbecame healthy!"); -static const u8 sText_PkmnWhippedWhirlwind[] = _("{B_ATK_NAME_WITH_PREFIX} whipped\nup a whirlwind!"); -static const u8 sText_PkmnTookSunlight[] = _("{B_ATK_NAME_WITH_PREFIX} took\nin sunlight!"); -static const u8 sText_PkmnLoweredHead[] = _("{B_ATK_NAME_WITH_PREFIX} lowered\nits head!"); -static const u8 sText_PkmnIsGlowing[] = _("{B_ATK_NAME_WITH_PREFIX} is glowing!"); -static const u8 sText_PkmnIsCloakedInAHarshLight[] = _("{B_ATK_NAME_WITH_PREFIX} became\ncloaked in a harsh light!"); -static const u8 sText_PkmnFlewHigh[] = _("{B_ATK_NAME_WITH_PREFIX} flew\nup high!"); -static const u8 sText_PkmnDugHole[] = _("{B_ATK_NAME_WITH_PREFIX} dug a hole!"); -static const u8 sText_PkmnHidUnderwater[] = _("{B_ATK_NAME_WITH_PREFIX} hid\nunderwater!"); -static const u8 sText_PkmnSprangUp[] = _("{B_ATK_NAME_WITH_PREFIX} sprang up!"); -static const u8 sText_PkmnSqueezedByBind[] = _("{B_DEF_NAME_WITH_PREFIX} was squeezed by\n{B_ATK_NAME_WITH_PREFIX}'s BIND!"); -static const u8 sText_PkmnInSnapTrap[] = _("{B_DEF_NAME_WITH_PREFIX} got trapped\nby a snap trap!"); -static const u8 sText_PkmnTrappedInVortex[] = _("{B_DEF_NAME_WITH_PREFIX} was trapped\nin the vortex!"); -static const u8 sText_PkmnTrappedBySandTomb[] = _("{B_DEF_NAME_WITH_PREFIX} was trapped\nby SAND TOMB!"); -static const u8 sText_PkmnWrappedBy[] = _("{B_DEF_NAME_WITH_PREFIX} was WRAPPED by\n{B_ATK_NAME_WITH_PREFIX}!"); -static const u8 sText_PkmnClamped[] = _("{B_ATK_NAME_WITH_PREFIX} CLAMPED\n{B_DEF_NAME_WITH_PREFIX}!"); -static const u8 sText_PkmnHurtBy[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby {B_BUFF1}!"); -static const u8 sText_PkmnFreedFrom[] = _("{B_ATK_NAME_WITH_PREFIX} was freed\nfrom {B_BUFF1}!"); -static const u8 sText_PkmnCrashed[] = _("{B_ATK_NAME_WITH_PREFIX} kept going\nand crashed!"); -const u8 gText_PkmnShroudedInMist[] = _("{B_ATK_PREFIX2} became\nshrouded in MIST!"); -static const u8 sText_PkmnProtectedByMist[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is protected\nby MIST!"); -const u8 gText_PkmnGettingPumped[] = _("{B_DEF_NAME_WITH_PREFIX} is getting\npumped!"); -static const u8 sText_PkmnHitWithRecoil[] = _("{B_ATK_NAME_WITH_PREFIX} is hit\nwith recoil!"); -static const u8 sText_PkmnProtectedItself2[] = _("{B_ATK_NAME_WITH_PREFIX} protected\nitself!"); -static const u8 sText_PkmnBuffetedBySandstorm[] = _("{B_ATK_NAME_WITH_PREFIX} is buffeted\nby the sandstorm!"); -static const u8 sText_PkmnPeltedByHail[] = _("{B_ATK_NAME_WITH_PREFIX} is pelted\nby HAIL!"); -static const u8 sText_PkmnsXWoreOff[] = _("{B_ATK_PREFIX1}'s {B_BUFF1}\nwore off!"); -static const u8 sText_PkmnSeeded[] = _("{B_DEF_NAME_WITH_PREFIX} was seeded!"); -static const u8 sText_PkmnEvadedAttack[] = _("{B_DEF_NAME_WITH_PREFIX} evaded\nthe attack!"); -static const u8 sText_PkmnSappedByLeechSeed[] = _("{B_ATK_NAME_WITH_PREFIX}'s health is\nsapped by LEECH SEED!"); -static const u8 sText_PkmnFastAsleep[] = _("{B_ATK_NAME_WITH_PREFIX} is fast\nasleep."); -static const u8 sText_PkmnWokeUp[] = _("{B_ATK_NAME_WITH_PREFIX} woke up!"); -static const u8 sText_PkmnUproarKeptAwake[] = _("But {B_SCR_ACTIVE_NAME_WITH_PREFIX}'s UPROAR\nkept it awake!"); -static const u8 sText_PkmnWokeUpInUproar[] = _("{B_ATK_NAME_WITH_PREFIX} woke up\nin the UPROAR!"); -static const u8 sText_PkmnCausedUproar[] = _("{B_ATK_NAME_WITH_PREFIX} caused\nan UPROAR!"); -static const u8 sText_PkmnMakingUproar[] = _("{B_ATK_NAME_WITH_PREFIX} is making\nan UPROAR!"); -static const u8 sText_PkmnCalmedDown[] = _("{B_ATK_NAME_WITH_PREFIX} calmed down."); -static const u8 sText_PkmnCantSleepInUproar[] = _("But {B_DEF_NAME_WITH_PREFIX} can't\nsleep in an UPROAR!"); -static const u8 sText_PkmnStockpiled[] = _("{B_ATK_NAME_WITH_PREFIX} stockpiled\n{B_BUFF1}!"); -static const u8 sText_PkmnCantStockpile[] = _("{B_ATK_NAME_WITH_PREFIX} can't\nstockpile any more!"); -static const u8 sText_PkmnCantSleepInUproar2[] = _("But {B_DEF_NAME_WITH_PREFIX} can't\nsleep in an UPROAR!"); -static const u8 sText_UproarKeptPkmnAwake[] = _("But the UPROAR kept\n{B_DEF_NAME_WITH_PREFIX} awake!"); -static const u8 sText_PkmnStayedAwakeUsing[] = _("{B_DEF_NAME_WITH_PREFIX} stayed awake\nusing its {B_DEF_ABILITY}!"); -static const u8 sText_PkmnStoringEnergy[] = _("{B_ATK_NAME_WITH_PREFIX} is storing\nenergy!"); -static const u8 sText_PkmnUnleashedEnergy[] = _("{B_ATK_NAME_WITH_PREFIX} unleashed\nenergy!"); -static const u8 sText_PkmnFatigueConfusion[] = _("{B_ATK_NAME_WITH_PREFIX} became\nconfused due to fatigue!"); -static const u8 sText_PlayerPickedUpMoney[] = _("{B_PLAYER_NAME} picked up\n¥{B_BUFF1}!\p"); -static const u8 sText_PkmnUnaffected[] = _("{B_DEF_NAME_WITH_PREFIX} is\nunaffected!"); -static const u8 sText_PkmnTransformedInto[] = _("{B_ATK_NAME_WITH_PREFIX} transformed\ninto {B_BUFF1}!"); -static const u8 sText_PkmnMadeSubstitute[] = _("{B_ATK_NAME_WITH_PREFIX} made\na SUBSTITUTE!"); -static const u8 sText_PkmnHasSubstitute[] = _("{B_ATK_NAME_WITH_PREFIX} already\nhas a SUBSTITUTE!"); -static const u8 sText_SubstituteDamaged[] = _("The SUBSTITUTE took damage\nfor {B_DEF_NAME_WITH_PREFIX}!\p"); -static const u8 sText_PkmnSubstituteFaded[] = _("{B_DEF_NAME_WITH_PREFIX}'s\nSUBSTITUTE faded!\p"); -static const u8 sText_PkmnMustRecharge[] = _("{B_ATK_NAME_WITH_PREFIX} must\nrecharge!"); -static const u8 sText_PkmnRageBuilding[] = _("{B_DEF_NAME_WITH_PREFIX}'s RAGE\nis building!"); -static const u8 sText_PkmnMoveWasDisabled[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\nwas disabled!"); -static const u8 sText_PkmnMoveDisabledNoMore[] = _("{B_ATK_NAME_WITH_PREFIX} is disabled\nno more!"); -static const u8 sText_PkmnGotEncore[] = _("{B_DEF_NAME_WITH_PREFIX} got\nan ENCORE!"); -static const u8 sText_PkmnEncoreEnded[] = _("{B_ATK_NAME_WITH_PREFIX}'s ENCORE\nended!"); -static const u8 sText_PkmnTookAim[] = _("{B_ATK_NAME_WITH_PREFIX} took aim\nat {B_DEF_NAME_WITH_PREFIX}!"); -static const u8 sText_PkmnSketchedMove[] = _("{B_ATK_NAME_WITH_PREFIX} SKETCHED\n{B_BUFF1}!"); -static const u8 sText_PkmnTryingToTakeFoe[] = _("{B_ATK_NAME_WITH_PREFIX} is trying\nto take its foe with it!"); -static const u8 sText_PkmnTookFoe[] = _("{B_DEF_NAME_WITH_PREFIX} took\n{B_ATK_NAME_WITH_PREFIX} with it!"); -static const u8 sText_PkmnReducedPP[] = _("Reduced {B_DEF_NAME_WITH_PREFIX}'s\n{B_BUFF1} by {B_BUFF2}!"); -static const u8 sText_PkmnStoleItem[] = _("{B_ATK_NAME_WITH_PREFIX} stole\n{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!"); -static const u8 sText_TargetCantEscapeNow[] = _("{B_DEF_NAME_WITH_PREFIX} can't\nescape now!"); -static const u8 sText_PkmnFellIntoNightmare[] = _("{B_DEF_NAME_WITH_PREFIX} fell into\na NIGHTMARE!"); -static const u8 sText_PkmnLockedInNightmare[] = _("{B_ATK_NAME_WITH_PREFIX} is locked\nin a NIGHTMARE!"); -static const u8 sText_PkmnLaidCurse[] = _("{B_ATK_NAME_WITH_PREFIX} cut its own HP and\nlaid a CURSE on {B_DEF_NAME_WITH_PREFIX}!"); -static const u8 sText_PkmnAfflictedByCurse[] = _("{B_ATK_NAME_WITH_PREFIX} is afflicted\nby the CURSE!"); -static const u8 sText_SpikesScattered[] = _("Spikes were scattered all around\n{B_DEF_TEAM2} team!"); -static const u8 sText_PkmnHurtBySpikes[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is hurt\nby spikes!"); -static const u8 sText_PkmnIdentified[] = _("{B_ATK_NAME_WITH_PREFIX} identified\n{B_DEF_NAME_WITH_PREFIX}!"); -static const u8 sText_PkmnPerishCountFell[] = _("{B_ATK_NAME_WITH_PREFIX}'s PERISH count\nfell to {B_BUFF1}!"); -static const u8 sText_PkmnBracedItself[] = _("{B_ATK_NAME_WITH_PREFIX} braced\nitself!"); -static const u8 sText_PkmnEnduredHit[] = _("{B_DEF_NAME_WITH_PREFIX} ENDURED\nthe hit!"); -static const u8 sText_MagnitudeStrength[] = _("MAGNITUDE {B_BUFF1}!"); -static const u8 sText_PkmnCutHPMaxedAttack[] = _("{B_ATK_NAME_WITH_PREFIX} cut its own HP\nand maximized ATTACK!"); -static const u8 sText_PkmnCopiedStatChanges[] = _("{B_ATK_NAME_WITH_PREFIX} copied\n{B_DEF_NAME_WITH_PREFIX}'s stat changes!"); -static const u8 sText_PkmnGotFree[] = _("{B_ATK_NAME_WITH_PREFIX} got free of\n{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}!"); -static const u8 sText_PkmnShedLeechSeed[] = _("{B_ATK_NAME_WITH_PREFIX} shed\nLEECH SEED!"); -static const u8 sText_PkmnBlewAwaySpikes[] = _("{B_ATK_NAME_WITH_PREFIX} blew away\nspikes!"); -static const u8 sText_PkmnFledFromBattle[] = _("{B_ATK_NAME_WITH_PREFIX} fled from\nbattle!"); -static const u8 sText_PkmnForesawAttack[] = _("{B_ATK_NAME_WITH_PREFIX} foresaw\nan attack!"); -static const u8 sText_PkmnTookAttack[] = _("{B_DEF_NAME_WITH_PREFIX} took the\n{B_BUFF1} attack!"); -static const u8 sText_PkmnChoseXAsDestiny[] = _("{B_ATK_NAME_WITH_PREFIX} chose\n{B_CURRENT_MOVE} as its destiny!"); -static const u8 sText_PkmnAttack[] = _("{B_BUFF1}'s attack!"); -static const u8 sText_PkmnCenterAttention[] = _("{B_DEF_NAME_WITH_PREFIX} became the\ncenter of attention!"); -static const u8 sText_PkmnChargingPower[] = _("{B_ATK_NAME_WITH_PREFIX} began\ncharging power!"); -static const u8 sText_NaturePowerTurnedInto[] = _("NATURE POWER turned into\n{B_CURRENT_MOVE}!"); -static const u8 sText_PkmnStatusNormal[] = _("{B_ATK_NAME_WITH_PREFIX}'s status\nreturned to normal!"); -static const u8 sText_PkmnSubjectedToTorment[] = _("{B_DEF_NAME_WITH_PREFIX} was subjected\nto torment!"); -static const u8 sText_PkmnTighteningFocus[] = _("{B_ATK_NAME_WITH_PREFIX} is tightening\nits focus!"); -static const u8 sText_PkmnFellForTaunt[] = _("{B_DEF_NAME_WITH_PREFIX} fell for\nthe Taunt!"); -static const u8 sText_PkmnReadyToHelp[] = _("{B_ATK_NAME_WITH_PREFIX} is ready to\nhelp {B_DEF_NAME_WITH_PREFIX}!"); -static const u8 sText_PkmnSwitchedItems[] = _("{B_ATK_NAME_WITH_PREFIX} switched\nitems with its opponent!"); -static const u8 sText_PkmnObtainedX[] = _("{B_ATK_NAME_WITH_PREFIX} obtained\n{B_BUFF1}."); -static const u8 sText_PkmnObtainedX2[] = _("{B_DEF_NAME_WITH_PREFIX} obtained\n{B_BUFF2}."); -static const u8 sText_PkmnObtainedXYObtainedZ[] = _("{B_ATK_NAME_WITH_PREFIX} obtained\n{B_BUFF1}.\p{B_DEF_NAME_WITH_PREFIX} obtained\n{B_BUFF2}."); -static const u8 sText_PkmnCopiedFoe[] = _("{B_ATK_NAME_WITH_PREFIX} copied\n{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}!"); -static const u8 sText_PkmnMadeWish[] = _("{B_ATK_NAME_WITH_PREFIX} made a WISH!"); -static const u8 sText_PkmnWishCameTrue[] = _("{B_BUFF1}'s WISH\ncame true!"); -static const u8 sText_PkmnPlantedRoots[] = _("{B_ATK_NAME_WITH_PREFIX} planted its roots!"); -static const u8 sText_PkmnAbsorbedNutrients[] = _("{B_ATK_NAME_WITH_PREFIX} absorbed\nnutrients with its roots!"); -static const u8 sText_PkmnAnchoredItself[] = _("{B_DEF_NAME_WITH_PREFIX} anchored\nitself with its roots!"); -static const u8 sText_PkmnWasMadeDrowsy[] = _("{B_ATK_NAME_WITH_PREFIX} made\n{B_DEF_NAME_WITH_PREFIX} drowsy!"); -static const u8 sText_PkmnKnockedOff[] = _("{B_ATK_NAME_WITH_PREFIX} knocked off\n{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!"); -static const u8 sText_PkmnSwappedAbilities[] = _("{B_ATK_NAME_WITH_PREFIX} swapped abilities\nwith its opponent!"); -static const u8 sText_PkmnSealedOpponentMove[] = _("{B_ATK_NAME_WITH_PREFIX} sealed the\nopponent's move(s)!"); -static const u8 sText_PkmnWantsGrudge[] = _("{B_ATK_NAME_WITH_PREFIX} wants the\nopponent to bear a GRUDGE!"); -static const u8 sText_PkmnLostPPGrudge[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} lost\nall its PP due to the GRUDGE!"); -static const u8 sText_PkmnShroudedItself[] = _("{B_ATK_NAME_WITH_PREFIX} shrouded\nitself in {B_CURRENT_MOVE}!"); -static const u8 sText_PkmnMoveBounced[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\nwas bounced back by MAGIC COAT!"); -static const u8 sText_PkmnWaitsForTarget[] = _("{B_ATK_NAME_WITH_PREFIX} waits for a target\nto make a move!"); -static const u8 sText_PkmnSnatchedMove[] = _("{B_DEF_NAME_WITH_PREFIX} SNATCHED\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s move!"); -static const u8 sText_ElectricityWeakened[] = _("Electricity's power was\nweakened!"); -static const u8 sText_FireWeakened[] = _("Fire's power was\nweakened!"); -static const u8 sText_XFoundOneY[] = _("{B_ATK_NAME_WITH_PREFIX} found\none {B_LAST_ITEM}!"); -static const u8 sText_SoothingAroma[] = _("A soothing aroma wafted\nthrough the area!"); -static const u8 sText_ItemsCantBeUsedNow[] = _("Items can't be used now.{PAUSE 64}"); -static const u8 sText_ForXCommaYZ[] = _("For {B_SCR_ACTIVE_NAME_WITH_PREFIX},\n{B_LAST_ITEM} {B_BUFF1}"); -static const u8 sText_PkmnUsedXToGetPumped[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} used\n{B_LAST_ITEM} to get pumped!"); -static const u8 sText_PkmnLostFocus[] = _("{B_ATK_NAME_WITH_PREFIX} lost its\nfocus and couldn't move!"); -static const u8 sText_PkmnWasDraggedOut[] = _("{B_DEF_NAME_WITH_PREFIX} was\ndragged out!\p"); -static const u8 sText_TheWallShattered[] = _("The wall shattered!"); -static const u8 sText_ButNoEffect[] = _("But it had no effect!"); -static const u8 sText_PkmnHasNoMovesLeft[] = _("{B_ATK_NAME_WITH_PREFIX} has no\nmoves left!\p"); -static const u8 sText_PkmnMoveIsDisabled[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\nis disabled!\p"); -static const u8 sText_PkmnCantUseMoveTorment[] = _("{B_ATK_NAME_WITH_PREFIX} can't use the same\nmove in a row due to the Torment!\p"); -static const u8 sText_PkmnCantUseMoveTaunt[] = _("{B_ATK_NAME_WITH_PREFIX} can't use\n{B_CURRENT_MOVE} after the Taunt!\p"); -static const u8 sText_PkmnCantUseMoveSealed[] = _("{B_ATK_NAME_WITH_PREFIX} can't use the\nsealed {B_CURRENT_MOVE}!\p"); -static const u8 sText_PkmnCantUseMoveThroatChop[] = _("{B_ATK_NAME_WITH_PREFIX} can't use\n{B_CURRENT_MOVE} due to Throat Chop!\p"); -static const u8 sText_PkmnMadeItRain[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade it rain!"); -static const u8 sText_PkmnRaisedSpeed[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nraised its SPEED!"); -static const u8 sText_PkmnProtectedBy[] = _("{B_DEF_NAME_WITH_PREFIX} was protected\nby {B_DEF_ABILITY}!"); -static const u8 sText_PkmnPreventsUsage[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents {B_ATK_NAME_WITH_PREFIX}\lfrom using {B_CURRENT_MOVE}!"); -static const u8 sText_PkmnRestoredHPUsing[] = _("{B_DEF_NAME_WITH_PREFIX} restored HP\nusing its {B_DEF_ABILITY}!"); -static const u8 sText_PkmnsXMadeYUseless[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nmade {B_CURRENT_MOVE} useless!"); -static const u8 sText_PkmnChangedTypeWith[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nmade it the {B_BUFF1} type!"); -static const u8 sText_PkmnPreventsParalysisWith[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents paralysis!"); -static const u8 sText_PkmnPreventsRomanceWith[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents romance!"); -static const u8 sText_PkmnPreventsPoisoningWith[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents poisoning!"); -static const u8 sText_PkmnPreventsConfusionWith[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents confusion!"); -static const u8 sText_PkmnRaisedFirePowerWith[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nraised its FIRE power!"); -static const u8 sText_PkmnAnchorsItselfWith[] = _("{B_DEF_NAME_WITH_PREFIX} anchors\nitself with {B_DEF_ABILITY}!"); -static const u8 sText_PkmnCutsAttackWith[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncuts {B_DEF_NAME_WITH_PREFIX}'s attack!"); -static const u8 sText_PkmnPreventsStatLossWith[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nprevents stat loss!"); -static const u8 sText_PkmnHurtsWith[] = _("{B_ATK_NAME_WITH_PREFIX} was hurt by\n{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}!"); -static const u8 sText_PkmnTraced[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} TRACED\n{B_BUFF1}'s {B_BUFF2}!"); -static const u8 sText_PkmnsXPreventsBurns[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY}\nprevents burns!"); -static const u8 sText_PkmnsXBlocksY[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nblocks {B_CURRENT_MOVE}!"); -static const u8 sText_PkmnsXBlocksY2[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nblocks {B_CURRENT_MOVE}!"); -static const u8 sText_PkmnsXRestoredHPALittle2[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nrestored its HP a little!"); -static const u8 sText_PkmnsXWhippedUpSandstorm[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nwhipped up a sandstorm!"); -static const u8 sText_PkmnsXIntensifiedSun[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nintensified the sun's rays!"); -static const u8 sText_PkmnsXPreventsYLoss[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nprevents {B_BUFF1} loss!"); -static const u8 sText_PkmnsXInfatuatedY[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\ninfatuated {B_ATK_NAME_WITH_PREFIX}!"); -static const u8 sText_PkmnsXMadeYIneffective[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nmade {B_CURRENT_MOVE} ineffective!"); -static const u8 sText_PkmnsXCuredYProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncured its {B_BUFF1} problem!"); -static const u8 sText_ItSuckedLiquidOoze[] = _("It sucked up the\nliquid ooze!"); -static const u8 sText_PkmnTransformed[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} transformed!"); -static const u8 sText_PkmnsXTookAttack[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\ntook the attack!"); -const u8 gText_PkmnsXPreventsSwitching[] = _("{B_BUFF1}'s {B_LAST_ABILITY}\nprevents switching!\p"); -static const u8 sText_PreventedFromWorking[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevented {B_SCR_ACTIVE_NAME_WITH_PREFIX}'s\l{B_BUFF1} from working!"); -static const u8 sText_PkmnsXMadeItIneffective[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade it ineffective!"); -static const u8 sText_PkmnsXPreventsFlinching[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY}\nprevents flinching!"); -static const u8 sText_PkmnsXPreventsYsZ[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nprevents {B_DEF_NAME_WITH_PREFIX}'s\l{B_DEF_ABILITY} from working!"); -static const u8 sText_PkmnsAbilityPreventsAbility[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nprevents {B_DEF_NAME_WITH_PREFIX}'s\l{B_DEF_ABILITY} from working!"); -static const u8 sText_PkmnsXCuredItsYProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncured its {B_BUFF1} problem!"); -static const u8 sText_PkmnsXHadNoEffectOnY[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nhad no effect on {B_EFF_NAME_WITH_PREFIX}!"); + +const u8 gText_PkmnShroudedInMist[] = _("{B_ATK_TEAM1} team became shrouded in mist!"); +const u8 gText_PkmnGettingPumped[] = _("{B_DEF_NAME_WITH_PREFIX} is getting pumped!"); +const u8 gText_PkmnsXPreventsSwitching[] = _("{B_BUFF1} is preventing switching out with its {B_LAST_ABILITY} Ability!\p"); const u8 gText_StatSharply[] = _("sharply "); const u8 gText_StatRose[] = _("rose!"); -static const u8 sText_StatHarshly[] = _("harshly "); -static const u8 sText_StatFell[] = _("fell!"); -static const u8 sText_AttackersStatRose[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); -const u8 gText_DefendersStatRose[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); -static const u8 sText_UsingItemTheStatOfPkmnRose[] = _("Using {B_LAST_ITEM}, the {B_BUFF1}\nof {B_SCR_ACTIVE_NAME_WITH_PREFIX} {B_BUFF2}"); -static const u8 sText_AttackersStatFell[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); -static const u8 sText_DefendersStatFell[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); -static const u8 sText_StatsWontIncrease2[] = _("{B_ATK_NAME_WITH_PREFIX}'s stats won't\ngo any higher!"); -static const u8 sText_StatsWontDecrease2[] = _("{B_DEF_NAME_WITH_PREFIX}'s stats won't\ngo any lower!"); -static const u8 sText_CriticalHit[] = _("A critical hit!"); -static const u8 sText_OneHitKO[] = _("It's a one-hit KO!"); -static const u8 sText_123Poof[] = _("{PAUSE 32}1, {PAUSE 15}2, and{PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE SE_BALL_BOUNCE_1}Poof!\p"); -static const u8 sText_AndEllipsis[] = _("And…\p"); -static const u8 sText_HMMovesCantBeForgotten[] = _("HM moves can't be\nforgotten now.\p"); -static const u8 sText_NotVeryEffective[] = _("It's not very effective…"); -static const u8 sText_SuperEffective[] = _("It's super effective!"); -static const u8 sText_GotAwaySafely[] = _("{PLAY_SE SE_FLEE}Got away safely!\p"); -static const u8 sText_PkmnFledUsingIts[] = _("{PLAY_SE SE_FLEE}{B_ATK_NAME_WITH_PREFIX} fled\nusing its {B_LAST_ITEM}!\p"); -static const u8 sText_PkmnFledUsing[] = _("{PLAY_SE SE_FLEE}{B_ATK_NAME_WITH_PREFIX} fled\nusing {B_ATK_ABILITY}!\p"); -static const u8 sText_WildPkmnFled[] = _("{PLAY_SE SE_FLEE}Wild {B_BUFF1} fled!"); -static const u8 sText_PlayerDefeatedLinkTrainer[] = _("Player defeated\n{B_LINK_OPPONENT1_NAME}!"); -static const u8 sText_TwoLinkTrainersDefeated[] = _("Player beat {B_LINK_OPPONENT1_NAME}\nand {B_LINK_OPPONENT2_NAME}!"); -static const u8 sText_PlayerLostAgainstLinkTrainer[] = _("Player lost against\n{B_LINK_OPPONENT1_NAME}!"); -static const u8 sText_PlayerLostToTwo[] = _("Player lost to {B_LINK_OPPONENT1_NAME}\nand {B_LINK_OPPONENT2_NAME}!"); -static const u8 sText_PlayerBattledToDrawLinkTrainer[] = _("Player battled to a draw against\n{B_LINK_OPPONENT1_NAME}!"); -static const u8 sText_PlayerBattledToDrawVsTwo[] = _("Player battled to a draw against\n{B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}!"); -static const u8 sText_WildFled[] = _("{PLAY_SE SE_FLEE}{B_LINK_OPPONENT1_NAME} fled!"); -static const u8 sText_TwoWildFled[] = _("{PLAY_SE SE_FLEE}{B_LINK_OPPONENT1_NAME} and\n{B_LINK_OPPONENT2_NAME} fled!"); -static const u8 sText_NoRunningFromTrainers[] = _("No! There's no running\nfrom a TRAINER battle!\p"); -static const u8 sText_CantEscape[] = _("Can't escape!\p"); -static const u8 sText_DontLeaveBirch[] = _("PROF. BIRCH: Don't leave me like this!\p"); -static const u8 sText_ButNothingHappened[] = _("But nothing happened!"); -static const u8 sText_ButItFailed[] = _("But it failed!"); -static const u8 sText_ItHurtConfusion[] = _("It hurt itself in its\nconfusion!"); -static const u8 sText_MirrorMoveFailed[] = _("The Mirror Move failed!"); -static const u8 sText_StartedToRain[] = _("It started to rain!"); -static const u8 sText_DownpourStarted[] = _("A downpour started!"); // corresponds to DownpourText in pokegold and pokecrystal and is used by Rain Dance in GSC -static const u8 sText_RainContinues[] = _("Rain continues to fall."); -static const u8 sText_DownpourContinues[] = _("The downpour continues."); // unused -static const u8 sText_RainStopped[] = _("The rain stopped."); -static const u8 sText_SandstormBrewed[] = _("A sandstorm brewed!"); -static const u8 sText_SandstormRages[] = _("The sandstorm rages."); -static const u8 sText_SandstormSubsided[] = _("The sandstorm subsided."); -static const u8 sText_SunlightGotBright[] = _("The sunlight got bright!"); -static const u8 sText_SunlightStrong[] = _("The sunlight is strong."); -static const u8 sText_SunlightFaded[] = _("The sunlight faded."); -static const u8 sText_StartedHail[] = _("It started to hail!"); -static const u8 sText_HailContinues[] = _("Hail continues to fall."); -static const u8 sText_HailStopped[] = _("The hail stopped."); -static const u8 sText_StartedSnow[] = _("It started to snow!"); -static const u8 sText_SnowContinues[] = _("Snow continues to fall."); -static const u8 sText_SnowStopped[] = _("The snow stopped."); -static const u8 sText_FogCreptUp[] = _("Fog crept up as thick as soup!"); -static const u8 sText_FogIsDeep[] = _("The fog is deep…"); -static const u8 sText_FogLifted[] = _("The fog lifted."); -static const u8 sText_FailedToSpitUp[] = _("But it failed to spit up\na thing!"); -static const u8 sText_FailedToSwallow[] = _("But it failed to swallow\na thing!"); -static const u8 sText_WindBecameHeatWave[] = _("The wind turned into a\nHEAT WAVE!"); -static const u8 sText_StatChangesGone[] = _("All stat changes were\neliminated!"); -static const u8 sText_CoinsScattered[] = _("Coins scattered everywhere!"); -static const u8 sText_TooWeakForSubstitute[] = _("It was too weak to make\na SUBSTITUTE!"); -static const u8 sText_SharedPain[] = _("The battlers shared\ntheir pain!"); -static const u8 sText_BellChimed[] = _("A bell chimed!"); -static const u8 sText_FaintInThree[] = _("All affected POKéMON will\nfaint in three turns!"); -static const u8 sText_NoPPLeft[] = _("There's no PP left for\nthis move!\p"); -static const u8 sText_ButNoPPLeft[] = _("But there was no PP left\nfor the move!"); -static const u8 sText_PkmnIgnoresAsleep[] = _("{B_ATK_NAME_WITH_PREFIX} ignored\norders while asleep!"); -static const u8 sText_PkmnIgnoredOrders[] = _("{B_ATK_NAME_WITH_PREFIX} ignored\norders!"); -static const u8 sText_PkmnBeganToNap[] = _("{B_ATK_NAME_WITH_PREFIX} began to nap!"); -static const u8 sText_PkmnLoafing[] = _("{B_ATK_NAME_WITH_PREFIX} is\nloafing around!"); -static const u8 sText_PkmnWontObey[] = _("{B_ATK_NAME_WITH_PREFIX} won't\nobey!"); -static const u8 sText_PkmnTurnedAway[] = _("{B_ATK_NAME_WITH_PREFIX} turned away!"); -static const u8 sText_PkmnPretendNotNotice[] = _("{B_ATK_NAME_WITH_PREFIX} pretended\nnot to notice!"); -static const u8 sText_EnemyAboutToSwitchPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} is\nabout to use {B_BUFF2}.\pWill {B_PLAYER_NAME} change\nPOKéMON?"); -static const u8 sText_PkmnLearnedMove2[] = _("{B_ATK_NAME_WITH_PREFIX} learned\n{B_BUFF1}!"); -static const u8 sText_PlayerDefeatedLinkTrainerTrainer1[] = _("Player defeated\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!\p"); -static const u8 sText_CreptCloser[] = _("{B_PLAYER_NAME} crept closer to\n{B_OPPONENT_MON1_NAME}!"); -static const u8 sText_CantGetCloser[] = _("{B_PLAYER_NAME} can't get any closer!"); -static const u8 sText_PkmnWatchingCarefully[] = _("{B_OPPONENT_MON1_NAME} is watching\ncarefully!"); -static const u8 sText_PkmnCuriousAboutX[] = _("{B_OPPONENT_MON1_NAME} is curious about\nthe {B_BUFF1}!"); -static const u8 sText_PkmnEnthralledByX[] = _("{B_OPPONENT_MON1_NAME} is enthralled by\nthe {B_BUFF1}!"); -static const u8 sText_PkmnIgnoredX[] = _("{B_OPPONENT_MON1_NAME} completely ignored\nthe {B_BUFF1}!"); -static const u8 sText_ThrewPokeblockAtPkmn[] = _("{B_PLAYER_NAME} threw a {POKEBLOCK}\nat the {B_OPPONENT_MON1_NAME}!"); -static const u8 sText_OutOfSafariBalls[] = _("{PLAY_SE SE_DING_DONG}ANNOUNCER: You're out of\nSAFARI BALLS! Game over!\p"); +const u8 gText_StatFell[] = _("fell!"); +const u8 gText_DefendersStatRose[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} {B_BUFF2}"); +static const u8 sText_GotAwaySafely[] = _("{PLAY_SE SE_FLEE}You got away safely!\p"); +static const u8 sText_PlayerDefeatedLinkTrainer[] = _("You defeated {B_LINK_OPPONENT1_NAME}!"); +static const u8 sText_TwoLinkTrainersDefeated[] = _("You defeated {B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}!"); +static const u8 sText_PlayerLostAgainstLinkTrainer[] = _("You lost against {B_LINK_OPPONENT1_NAME}!"); +static const u8 sText_PlayerLostToTwo[] = _("You lost to {B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}!"); +static const u8 sText_PlayerBattledToDrawLinkTrainer[] = _("You battled to a draw against {B_LINK_OPPONENT1_NAME}!"); +static const u8 sText_PlayerBattledToDrawVsTwo[] = _("You battled to a draw against {B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}!"); +static const u8 sText_WildFled[] = _("{PLAY_SE SE_FLEE}{B_LINK_OPPONENT1_NAME} fled!"); //not in gen 5+, replaced with match was forfeited text +static const u8 sText_TwoWildFled[] = _("{PLAY_SE SE_FLEE}{B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME} fled!"); //not in gen 5+, replaced with match was forfeited text +static const u8 sText_PlayerDefeatedLinkTrainerTrainer1[] = _("You defeated {B_TRAINER1_NAME_WITH_CLASS}!\p"); static const u8 sText_OpponentMon1Appeared[] = _("{B_OPPONENT_MON1_NAME} appeared!\p"); -static const u8 sText_WildPkmnAppeared[] = _("Wild {B_OPPONENT_MON1_NAME} appeared!\p"); -static const u8 sText_LegendaryPkmnAppeared[] = _("Wild {B_OPPONENT_MON1_NAME} appeared!\p"); -static const u8 sText_WildPkmnAppearedPause[] = _("Wild {B_OPPONENT_MON1_NAME} appeared!{PAUSE 127}"); -static const u8 sText_TwoWildPkmnAppeared[] = _("Wild {B_OPPONENT_MON1_NAME} and\n{B_OPPONENT_MON2_NAME} appeared!\p"); -static const u8 sText_Trainer1WantsToBattle[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\nwould like to battle!\p"); -static const u8 sText_LinkTrainerWantsToBattle[] = _("{B_LINK_OPPONENT1_NAME}\nwants to battle!"); -static const u8 sText_TwoLinkTrainersWantToBattle[] = _("{B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}\nwant to battle!"); -static const u8 sText_Trainer1SentOutPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\nout {B_OPPONENT_MON1_NAME}!"); -static const u8 sText_Trainer1SentOutTwoPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\nout {B_OPPONENT_MON1_NAME} and {B_OPPONENT_MON2_NAME}!"); -static const u8 sText_Trainer1SentOutPkmn2[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\nout {B_BUFF1}!"); -static const u8 sText_LinkTrainerSentOutPkmn[] = _("{B_LINK_OPPONENT1_NAME} sent out\n{B_OPPONENT_MON1_NAME}!"); -static const u8 sText_LinkTrainerSentOutTwoPkmn[] = _("{B_LINK_OPPONENT1_NAME} sent out\n{B_OPPONENT_MON1_NAME} and {B_OPPONENT_MON2_NAME}!"); -static const u8 sText_TwoLinkTrainersSentOutPkmn[] = _("{B_LINK_OPPONENT1_NAME} sent out {B_LINK_OPPONENT_MON1_NAME}!\n{B_LINK_OPPONENT2_NAME} sent out {B_LINK_OPPONENT_MON2_NAME}!"); -static const u8 sText_LinkTrainerSentOutPkmn2[] = _("{B_LINK_OPPONENT1_NAME} sent out\n{B_BUFF1}!"); -static const u8 sText_LinkTrainerMultiSentOutPkmn[] = _("{B_LINK_SCR_TRAINER_NAME} sent out\n{B_BUFF1}!"); +static const u8 sText_WildPkmnAppeared[] = _("You encountered a wild {B_OPPONENT_MON1_NAME}!\p"); +static const u8 sText_LegendaryPkmnAppeared[] = _("You encountered a wild {B_OPPONENT_MON1_NAME}!\p"); +static const u8 sText_WildPkmnAppearedPause[] = _("You encountered a wild {B_OPPONENT_MON1_NAME}!{PAUSE 127}"); +static const u8 sText_TwoWildPkmnAppeared[] = _("Oh! A wild {B_OPPONENT_MON1_NAME} and {B_OPPONENT_MON2_NAME} appeared!\p"); +static const u8 sText_Trainer1WantsToBattle[] = _("You are challenged by {B_TRAINER1_NAME_WITH_CLASS}!\p"); +static const u8 sText_LinkTrainerWantsToBattle[] = _("You are challenged by {B_LINK_OPPONENT1_NAME}!"); +static const u8 sText_TwoLinkTrainersWantToBattle[] = _("You are challenged by {B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}!"); +static const u8 sText_Trainer1SentOutPkmn[] = _("{B_TRAINER1_NAME_WITH_CLASS} sent out {B_OPPONENT_MON1_NAME}!"); +static const u8 sText_Trainer1SentOutTwoPkmn[] = _("{B_TRAINER1_NAME_WITH_CLASS} sent out {B_OPPONENT_MON1_NAME} and {B_OPPONENT_MON2_NAME}!"); +static const u8 sText_Trainer1SentOutPkmn2[] = _("{B_TRAINER1_NAME_WITH_CLASS} sent out {B_BUFF1}!"); +static const u8 sText_LinkTrainerSentOutPkmn[] = _("{B_LINK_OPPONENT1_NAME} sent out {B_OPPONENT_MON1_NAME}!"); +static const u8 sText_LinkTrainerSentOutTwoPkmn[] = _("{B_LINK_OPPONENT1_NAME} sent out {B_OPPONENT_MON1_NAME} and {B_OPPONENT_MON2_NAME}!"); +static const u8 sText_TwoLinkTrainersSentOutPkmn[] = _("{B_LINK_OPPONENT1_NAME} sent out {B_LINK_OPPONENT_MON1_NAME}! {B_LINK_OPPONENT2_NAME} sent out {B_LINK_OPPONENT_MON2_NAME}!"); +static const u8 sText_LinkTrainerSentOutPkmn2[] = _("{B_LINK_OPPONENT1_NAME} sent out {B_BUFF1}!"); +static const u8 sText_LinkTrainerMultiSentOutPkmn[] = _("{B_LINK_SCR_TRAINER_NAME} sent out {B_BUFF1}!"); static const u8 sText_GoPkmn[] = _("Go! {B_PLAYER_MON1_NAME}!"); -static const u8 sText_GoTwoPkmn[] = _("Go! {B_PLAYER_MON1_NAME} and\n{B_PLAYER_MON2_NAME}!"); +static const u8 sText_GoTwoPkmn[] = _("Go! {B_PLAYER_MON1_NAME} and {B_PLAYER_MON2_NAME}!"); static const u8 sText_GoPkmn2[] = _("Go! {B_BUFF1}!"); -static const u8 sText_DoItPkmn[] = _("Do it! {B_BUFF1}!"); +static const u8 sText_DoItPkmn[] = _("You're in charge, {B_BUFF1}!"); static const u8 sText_GoForItPkmn[] = _("Go for it, {B_BUFF1}!"); -static const u8 sText_YourFoesWeakGetEmPkmn[] = _("Your foe's weak!\nGet 'em, {B_BUFF1}!"); -static const u8 sText_LinkPartnerSentOutPkmnGoPkmn[] = _("{B_LINK_PARTNER_NAME} sent out {B_LINK_PLAYER_MON2_NAME}!\nGo! {B_LINK_PLAYER_MON1_NAME}!"); -static const u8 sText_PkmnThatsEnough[] = _("{B_BUFF1}, that's enough!\nCome back!"); +static const u8 sText_JustALittleMorePkmn[] = _("Just a little more! Hang in there, {B_BUFF1}!"); //currently unused, will require code changes +static const u8 sText_YourFoesWeakGetEmPkmn[] = _("Your opponent's weak! Get 'em, {B_BUFF1}!"); +static const u8 sText_LinkPartnerSentOutPkmnGoPkmn[] = _("{B_LINK_PARTNER_NAME} sent out {B_LINK_PLAYER_MON2_NAME}! Go! {B_LINK_PLAYER_MON1_NAME}!"); +static const u8 sText_PkmnSwitchOut[] = _("{B_BUFF1}, switch out! Come back!"); //currently unused, I believe its used for when you switch on a pokemon in shift mode +static const u8 sText_PkmnThatsEnough[] = _("{B_BUFF1}, that's enough! Come back!"); static const u8 sText_PkmnComeBack[] = _("{B_BUFF1}, come back!"); -static const u8 sText_PkmnOkComeBack[] = _("{B_BUFF1}, OK!\nCome back!"); -static const u8 sText_PkmnGoodComeBack[] = _("{B_BUFF1}, good!\nCome back!"); -static const u8 sText_Trainer1WithdrewPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\nwithdrew {B_BUFF1}!"); -static const u8 sText_LinkTrainer1WithdrewPkmn[] = _("{B_LINK_OPPONENT1_NAME} withdrew\n{B_BUFF1}!"); -static const u8 sText_LinkTrainer2WithdrewPkmn[] = _("{B_LINK_SCR_TRAINER_NAME} withdrew\n{B_BUFF1}!"); -static const u8 sText_WildPkmnPrefix[] = _("Wild "); -static const u8 sText_FoePkmnPrefix[] = _("Foe "); +static const u8 sText_PkmnOkComeBack[] = _("OK, {B_BUFF1}! Come back!"); +static const u8 sText_PkmnGoodComeBack[] = _("Good job, {B_BUFF1}! Come back!"); +static const u8 sText_Trainer1WithdrewPkmn[] = _("{B_TRAINER1_NAME_WITH_CLASS} withdrew {B_BUFF1}!"); +static const u8 sText_LinkTrainer1WithdrewPkmn[] = _("{B_LINK_OPPONENT1_NAME} withdrew {B_BUFF1}!"); +static const u8 sText_LinkTrainer2WithdrewPkmn[] = _("{B_LINK_SCR_TRAINER_NAME} withdrew {B_BUFF1}!"); +static const u8 sText_WildPkmnPrefix[] = _("The wild "); +static const u8 sText_FoePkmnPrefix[] = _("The opposing "); +static const u8 sText_WildPkmnPrefixLower[] = _("the wild "); +static const u8 sText_FoePkmnPrefixLower[] = _("the opposing "); static const u8 sText_EmptyString8[] = _(""); -static const u8 sText_FoePkmnPrefix2[] = _("Foe"); +static const u8 sText_FoePkmnPrefix2[] = _("Opposing"); static const u8 sText_AllyPkmnPrefix[] = _("Ally"); -static const u8 sText_FoePkmnPrefix3[] = _("Foe"); +static const u8 sText_FoePkmnPrefix3[] = _("Opposing"); static const u8 sText_AllyPkmnPrefix2[] = _("Ally"); -static const u8 sText_FoePkmnPrefix4[] = _("Foe"); +static const u8 sText_FoePkmnPrefix4[] = _("Opposing"); static const u8 sText_AllyPkmnPrefix3[] = _("Ally"); -static const u8 sText_AttackerUsedX[] = _("{B_ATK_NAME_WITH_PREFIX} used\n{B_BUFF3}!"); +static const u8 sText_AttackerUsedX[] = _("{B_ATK_NAME_WITH_PREFIX} used {B_BUFF3}!"); static const u8 sText_ExclamationMark[] = _("!"); static const u8 sText_ExclamationMark2[] = _("!"); static const u8 sText_ExclamationMark3[] = _("!"); @@ -462,1097 +144,752 @@ const u8 *const gStatNamesTable[NUM_BATTLE_STATS] = sText_Speed, sText_SpAttack, sText_SpDefense, sText_Accuracy, sText_Evasiveness }; - -static const u8 sText_PokeblockWasTooSpicy[] = _("was too spicy!"); -static const u8 sText_PokeblockWasTooDry[] = _("was too dry!"); -static const u8 sText_PokeblockWasTooSweet[] = _("was too sweet!"); -static const u8 sText_PokeblockWasTooBitter[] = _("was too bitter!"); -static const u8 sText_PokeblockWasTooSour[] = _("was too sour!"); - const u8 *const gPokeblockWasTooXStringTable[FLAVOR_COUNT] = { - [FLAVOR_SPICY] = sText_PokeblockWasTooSpicy, - [FLAVOR_DRY] = sText_PokeblockWasTooDry, - [FLAVOR_SWEET] = sText_PokeblockWasTooSweet, - [FLAVOR_BITTER] = sText_PokeblockWasTooBitter, - [FLAVOR_SOUR] = sText_PokeblockWasTooSour + [FLAVOR_SPICY] = COMPOUND_STRING("was too spicy!"), + [FLAVOR_DRY] = COMPOUND_STRING("was too dry!"), + [FLAVOR_SWEET] = COMPOUND_STRING("was too sweet!"), + [FLAVOR_BITTER] = COMPOUND_STRING("was too bitter!"), + [FLAVOR_SOUR] = COMPOUND_STRING("was too sour!"), }; -static const u8 sText_PlayerUsedItem[] = _("You used\n{B_LAST_ITEM}!"); -static const u8 sText_WallyUsedItem[] = _("WALLY used\n{B_LAST_ITEM}!"); -static const u8 sText_Trainer1UsedItem[] = _("{B_ATK_TRAINER_CLASS} {B_ATK_TRAINER_NAME}\nused {B_LAST_ITEM}!"); -static const u8 sText_TrainerBlockedBall[] = _("The TRAINER blocked the BALL!"); -static const u8 sText_DontBeAThief[] = _("Don't be a thief!"); -static const u8 sText_ItDodgedBall[] = _("It dodged the thrown BALL!\nThis POKéMON can't be caught!"); -static const u8 sText_YouMissedPkmn[] = _("You missed the POKéMON!"); -static const u8 sText_PkmnBrokeFree[] = _("Oh, no!\nThe POKéMON broke free!"); -static const u8 sText_ItAppearedCaught[] = _("Aww!\nIt appeared to be caught!"); -static const u8 sText_AarghAlmostHadIt[] = _("Aargh!\nAlmost had it!"); -static const u8 sText_ShootSoClose[] = _("Shoot!\nIt was so close, too!"); -static const u8 sText_GotchaPkmnCaughtPlayer[] = _("Gotcha!\n{B_DEF_NAME} was caught!{WAIT_SE}{PLAY_BGM MUS_CAUGHT}\p"); -static const u8 sText_GotchaPkmnCaughtWally[] = _("Gotcha!\n{B_DEF_NAME} was caught!{WAIT_SE}{PLAY_BGM MUS_CAUGHT}{PAUSE 127}"); -static const u8 sText_GiveNicknameCaptured[] = _("Give a nickname to the\ncaptured {B_DEF_NAME}?"); -static const u8 sText_PkmnSentToPC[] = _("{B_DEF_NAME} was sent to\n{B_PC_CREATOR_NAME} PC."); static const u8 sText_Someones[] = _("someone's"); -static const u8 sText_Lanettes[] = _("LANETTE's"); -static const u8 sText_PkmnDataAddedToDex[] = _("{B_DEF_NAME}'s data was\nadded to the POKéDEX.\p"); -static const u8 sText_ItIsRaining[] = _("It is raining."); -static const u8 sText_SandstormIsRaging[] = _("A sandstorm is raging."); -static const u8 sText_BoxIsFull[] = _("The BOX is full!\nYou can't catch any more!\p"); -static const u8 sText_EnigmaBerry[] = _("ENIGMA BERRY"); -static const u8 sText_BerrySuffix[] = _(" BERRY"); -static const u8 sText_PkmnsItemCuredParalysis[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ncured paralysis!"); -static const u8 sText_PkmnsItemCuredPoison[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ncured poison!"); -static const u8 sText_PkmnsItemHealedBurn[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nhealed its burn!"); -static const u8 sText_PkmnsItemHealedFrostbite[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nhealed its frostbite!"); -static const u8 sText_PkmnsItemDefrostedIt[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ndefrosted it!"); -static const u8 sText_PkmnsItemWokeIt[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nwoke it from its sleep!"); -static const u8 sText_PkmnsItemSnappedOut[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nsnapped it out of confusion!"); -static const u8 sText_PkmnsItemCuredProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ncured its {B_BUFF1} problem!"); -static const u8 sText_PkmnsItemNormalizedStatus[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nnormalized its status!"); -static const u8 sText_PkmnsItemRestoredHealth[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored health!"); -static const u8 sText_PkmnsItemRestoredPP[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored {B_BUFF1}'s PP!"); -static const u8 sText_PkmnsItemRestoredStatus[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored its status!"); -static const u8 sText_PkmnsItemRestoredHPALittle[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored its HP a little!"); -static const u8 sText_ItemAllowsOnlyYMove[] = _("{B_LAST_ITEM} allows the\nuse of only {B_CURRENT_MOVE}!\p"); -static const u8 sText_PkmnHungOnWithX[] = _("{B_DEF_NAME_WITH_PREFIX} hung on\nusing its {B_LAST_ITEM}!"); +static const u8 sText_Lanettes[] = _("LANETTE's"); //no decapitalize until it is everywhere +static const u8 sText_EnigmaBerry[] = _("ENIGMA BERRY"); //no decapitalize until it is everywhere +static const u8 sText_BerrySuffix[] = _(" BERRY"); //no decapitalize until it is everywhere const u8 gText_EmptyString3[] = _(""); -static const u8 sText_YouThrowABallNowRight[] = _("You throw a BALL now, right?\nI… I'll do my best!"); - -// early declaration of strings -static const u8 sText_PkmnIncapableOfPower[]; -static const u8 sText_GlintAppearsInEye[]; -static const u8 sText_PkmnGettingIntoPosition[]; -static const u8 sText_PkmnBeganGrowlingDeeply[]; -static const u8 sText_PkmnEagerForMore[]; -static const u8 sText_DefeatedOpponentByReferee[]; -static const u8 sText_LostToOpponentByReferee[]; -static const u8 sText_TiedOpponentByReferee[]; -static const u8 sText_QuestionForfeitMatch[]; -static const u8 sText_ForfeitedMatch[]; -static const u8 sText_Trainer1WinText[]; -static const u8 sText_Trainer2WinText[]; -static const u8 sText_TwoInGameTrainersDefeated[]; -static const u8 sText_Trainer2LoseText[]; + +static const u8 sText_TwoInGameTrainersDefeated[] = _("You defeated {B_TRAINER1_NAME_WITH_CLASS} and {B_TRAINER2_NAME_WITH_CLASS}!\p"); // New battle strings. -static const u8 sText_EnduredViaSturdy[] = _("{B_DEF_NAME_WITH_PREFIX} endured\nthe hit using {B_DEF_ABILITY}!"); -static const u8 sText_PowerHerbActivation[] = _("{B_ATK_NAME_WITH_PREFIX} became fully charged\ndue to its {B_LAST_ITEM}!"); -static const u8 sText_HurtByItem[] = _("{B_ATK_NAME_WITH_PREFIX} was hurt\nby its {B_LAST_ITEM}!"); -static const u8 sText_BadlyPoisonedByItem[] = _("{B_EFF_NAME_WITH_PREFIX} was badly\npoisoned by the {B_LAST_ITEM}!"); -static const u8 sText_BurnedByItem[] = _("{B_EFF_NAME_WITH_PREFIX} was burned\nby the {B_LAST_ITEM}!"); -static const u8 sText_TargetAbilityActivates[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} activates!"); -static const u8 sText_GravityIntensified[] = _("Gravity intensified!"); -static const u8 sText_TargetIdentified[] = _("{B_DEF_NAME_WITH_PREFIX} was\nidentified!"); -static const u8 sText_TargetWokeUp[] = _("{B_DEF_NAME_WITH_PREFIX} woke up!"); -static const u8 sText_PkmnStoleAndAteItem[] = _("{B_ATK_NAME_WITH_PREFIX} stole and\nate {B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!"); -static const u8 sText_TailWindBlew[] = _("The tailwind blew from\nbehind {B_ATK_TEAM2} team!"); -static const u8 sText_PkmnWentBack[] = _("{B_ATK_NAME_WITH_PREFIX} went back\nto {B_ATK_TRAINER_NAME}!"); -static const u8 sText_PkmnCantUseItemsAnymore[] = _("{B_DEF_NAME_WITH_PREFIX} can't use\nitems anymore!"); -static const u8 sText_PkmnFlung[] = _("{B_ATK_NAME_WITH_PREFIX} flung its\n{B_LAST_ITEM}!"); -static const u8 sText_PkmnPreventedFromHealing[] = _("{B_DEF_NAME_WITH_PREFIX} was prevented\nfrom healing!"); -static const u8 sText_PkmnSwitchedAtkAndDef[] = _("{B_ATK_NAME_WITH_PREFIX} switched its\nAttack and Defense!"); -static const u8 sText_PkmnsAbilitySuppressed[] = _("{B_DEF_NAME_WITH_PREFIX}'s ability\nwas suppressed!"); -static const u8 sText_ShieldedFromCriticalHits[] = _("The {B_CURRENT_MOVE} shielded {B_ATK_TEAM2}\nteam from critical hits!"); -static const u8 sText_SwitchedAtkAndSpAtk[] = _("{B_ATK_NAME_WITH_PREFIX} switched all its\nchanges to its Attack and\pSp. Atk with the target!"); -static const u8 sText_SwitchedDefAndSpDef[] = _("{B_ATK_NAME_WITH_PREFIX} switched all its\nchanges to its Defense and\pSp. Def with the target!"); -static const u8 sText_PkmnAcquiredAbility[] = _("{B_DEF_NAME_WITH_PREFIX} acquired\n{B_DEF_ABILITY}!"); -static const u8 sText_PoisonSpikesScattered[] = _("Poison Spikes were scattered all\naround {B_DEF_TEAM2} team's feet!"); -static const u8 sText_PkmnSwitchedStatChanges[] = _("{B_ATK_NAME_WITH_PREFIX} switched stat changes\nwith the target!"); -static const u8 sText_PkmnSurroundedWithVeilOfWater[] = _("{B_ATK_NAME_WITH_PREFIX} surrounded itself\nwith a veil of water!"); -static const u8 sText_PkmnLevitatedOnElectromagnetism[] = _("{B_ATK_NAME_WITH_PREFIX} levitated on\nelectromagnetism!"); -static const u8 sText_PkmnTwistedDimensions[] = _("{B_ATK_NAME_WITH_PREFIX} twisted\nthe dimensions!"); -static const u8 sText_DimensionsWereTwisted[] = _("The dimensions were\ntwisted!"); -static const u8 sText_PointedStonesFloat[] =_("Pointed stones float in the air\naround {B_DEF_TEAM2} team!"); -static const u8 sText_CloakedInMysticalMoonlight[] =_("It became cloaked in mystical\nmoonlight!"); -static const u8 sText_TrappedBySwirlingMagma[] =_("{B_DEF_NAME_WITH_PREFIX} became\ntrapped by swirling magma!"); -static const u8 sText_VanishedInstantly[] =_("{B_ATK_NAME_WITH_PREFIX} vanished\ninstantly!"); -static const u8 sText_ProtectedTeam[] =_("{B_CURRENT_MOVE} protected\n{B_ATK_TEAM2} team!"); -static const u8 sText_SharedItsGuard[] =_("{B_ATK_NAME_WITH_PREFIX} shared its\nguard with the target!"); -static const u8 sText_SharedItsPower[] =_("{B_ATK_NAME_WITH_PREFIX} shared its\npower with the target!"); -static const u8 sText_SwapsDefAndSpDefOfAllPkmn[] =_("It created a bizarre area in which the\nDefense and Sp. Def stats are swapped!"); -static const u8 sText_BizzareAreaCreated[] =_("A bizarre area was created in which the\nDefense and Sp. Def stats are swapped!"); -static const u8 sText_BecameNimble[] =_("{B_ATK_NAME_WITH_PREFIX} became nimble!"); -static const u8 sText_HurledIntoTheAir[] =_("{B_DEF_NAME_WITH_PREFIX} was hurled\ninto the air!"); -static const u8 sText_HeldItemsLoseEffects[] =_("It created a bizarre area in which\nPokémon's held items lose their effects!"); -static const u8 sText_BizarreArenaCreated[] =_("A bizarre area was created!\nHold items lost their effects!"); -static const u8 sText_FellStraightDown[] =_("{B_DEF_NAME_WITH_PREFIX} fell\nstraight down!"); -static const u8 sText_TargetChangedType[] =_("{B_DEF_NAME_WITH_PREFIX} transformed\ninto the {B_BUFF1} type!"); -static const u8 sText_PkmnAcquiredSimple[] =_("{B_DEF_NAME_WITH_PREFIX} acquired\nSimple!"); -static const u8 sText_KindOffer[] =_("{B_DEF_NAME_WITH_PREFIX}\ntook the kind offer!"); -static const u8 sText_ResetsTargetsStatLevels[] =_("{B_DEF_NAME_WITH_PREFIX}'s stat changes\nwere removed!"); -static const u8 sText_AllySwitchPosition[] =_("{B_ATK_NAME_WITH_PREFIX} and\n{B_SCR_ACTIVE_NAME_WITH_PREFIX} switched places!"); -static const u8 sText_RestoreTargetsHealth[] =_("{B_DEF_NAME_WITH_PREFIX}'s HP was restored!"); -static const u8 sText_TookPkmnIntoTheSky[] =_("{B_ATK_NAME_WITH_PREFIX} took\n{B_DEF_NAME_WITH_PREFIX} into the sky!"); -static const u8 sText_FreedFromSkyDrop[] =_("{B_DEF_NAME_WITH_PREFIX} was freed\nfrom the Sky Drop!"); -static const u8 sText_PostponeTargetMove[] =_("{B_DEF_NAME_WITH_PREFIX}'s move\nwas postponed!"); -static const u8 sText_ReflectTargetsType[] =_("{B_ATK_NAME_WITH_PREFIX}'s type\nchanged to match the {B_DEF_NAME_WITH_PREFIX}'s!"); -static const u8 sText_TransferHeldItem[] =_("{B_DEF_NAME_WITH_PREFIX} received {B_LAST_ITEM}\nfrom {B_ATK_NAME_WITH_PREFIX}"); -static const u8 sText_EmbargoEnds[] = _("{B_ATK_NAME_WITH_PREFIX} can\nuse items again!"); -static const u8 sText_Electromagnetism[] = _("electromagnetism"); -static const u8 sText_BufferEnds[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\nwore off!"); -static const u8 sText_ThroatChopEnds[] = _("{B_ATK_NAME_WITH_PREFIX} can\nuse sound-based moves again!"); -static const u8 sText_TelekinesisEnds[] = _("{B_ATK_NAME_WITH_PREFIX} was freed\nfrom the telekinesis!"); -static const u8 sText_TailwindEnds[] = _("{B_ATK_TEAM1} team's tailwind\npetered out!"); -static const u8 sText_LuckyChantEnds[] = _("{B_ATK_TEAM1} team's Lucky Chant\nwore off!"); -static const u8 sText_TrickRoomEnds[] = _("The twisted dimensions returned to\nnormal!"); -static const u8 sText_WonderRoomEnds[] = _("Wonder Room wore off, and Defense\nand Sp. Def stats returned to normal!"); -static const u8 sText_MagicRoomEnds[] = _("Magic Room wore off, and held items'\neffects returned to normal!"); -static const u8 sText_MudSportEnds[] = _("The effects of Mud Sport have faded."); -static const u8 sText_WaterSportEnds[] = _("The effects of Water Sport have faded."); -static const u8 sText_GravityEnds[] = _("Gravity returned to normal!"); -static const u8 sText_AquaRingHeal[] = _("Aqua Ring restored\n{B_ATK_NAME_WITH_PREFIX}'s HP!"); -static const u8 sText_TargetAbilityRaisedStat[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nraised its {B_BUFF1}!"); -static const u8 sText_TargetAbilityLoweredStat[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nlowered its {B_BUFF1}!"); -static const u8 sText_AttackerAbilityRaisedStat[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nraised its {B_BUFF1}!"); -static const u8 sText_ScriptingAbilityRaisedStat[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nraised its {B_BUFF1}!"); -static const u8 sText_ElectricTerrainEnds[] = _("The electricity disappeared\nfrom the battlefield."); -static const u8 sText_MistyTerrainEnds[] = _("The mist disappeared\nfrom the battlefield."); -static const u8 sText_PsychicTerrainEnds[] = _("The weirdness disappeared\nfrom the battlefield."); -static const u8 sText_GrassyTerrainEnds[] = _("The grass disappeared\nfrom the battlefield."); -static const u8 sText_TargetsStatWasMaxedOut[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} maxed\nits {B_BUFF1}!"); -static const u8 sText_PoisonHealHpUp[] = _("The poisoning healed {B_ATK_NAME_WITH_PREFIX}\na little bit!"); -static const u8 sText_BadDreamsDmg[] = _("{B_DEF_NAME_WITH_PREFIX} is tormented!"); -static const u8 sText_MoldBreakerEnters[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} breaks the mold!"); -static const u8 sText_TeravoltEnters[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is radiating\na bursting aura!"); -static const u8 sText_TurboblazeEnters[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is radiating\na blazing aura!"); -static const u8 sText_SlowStartEnters[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} can't get it going!"); -static const u8 sText_SlowStartEnd[] = _("{B_ATK_NAME_WITH_PREFIX} finally got\nits act together!"); -static const u8 sText_SolarPowerHpDrop[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\ntakes its toll!"); -static const u8 sText_AftermathDmg[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt!"); -static const u8 sText_AnticipationActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} shuddered\nin anticipation!"); -static const u8 sText_ForewarnActivates[] = _("{B_SCR_ACTIVE_ABILITY} alerted {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nto {B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}!"); -static const u8 sText_IceBodyHpGain[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nhealed it a little bit!"); -static const u8 sText_SnowWarningHail[] = _("It started to hail!"); -static const u8 sText_SnowWarningSnow[] = _("It started to snow!"); -static const u8 sText_FriskActivates[] = _("{B_ATK_NAME_WITH_PREFIX} frisked {B_DEF_NAME_WITH_PREFIX} and\nfound its {B_LAST_ITEM}!"); -static const u8 sText_UnnerveEnters[] = _("The opposing team is too nervous\nto eat Berries!"); -static const u8 sText_HarvestBerry[] = _("{B_ATK_NAME_WITH_PREFIX} harvested\nits {B_LAST_ITEM}!"); -static const u8 sText_LastAbilityRaisedBuff1[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_LAST_ABILITY}\nraised its {B_BUFF1}!"); -static const u8 sText_MagicBounceActivates[] = _("The {B_DEF_NAME_WITH_PREFIX} bounced the\n{B_ATK_NAME_WITH_PREFIX} back!"); -static const u8 sText_ProteanTypeChange[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} transformed\nit into the {B_BUFF1} type!"); -static const u8 sText_SymbiosisItemPass[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} passed its {B_LAST_ITEM}\nto {B_ATK_NAME_WITH_PREFIX} through {B_LAST_ABILITY}!"); -static const u8 sText_StealthRockDmg[] = _("Pointed stones dug into\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}!"); -static const u8 sText_ToxicSpikesAbsorbed[] = _("The poison spikes disappeared\nfrom around {B_DEF_TEAM2} team's feet!"); -static const u8 sText_ToxicSpikesPoisoned[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} was poisoned!"); -static const u8 sText_StickyWebSwitchIn[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} was\ncaught in a Sticky Web!"); -static const u8 sText_HealingWishCameTrue[] = _("The healing wish came true\nfor {B_ATK_NAME_WITH_PREFIX}!"); -static const u8 sText_HealingWishHealed[] = _("{B_ATK_NAME_WITH_PREFIX} regained health!"); -static const u8 sText_LunarDanceCameTrue[] = _("{B_ATK_NAME_WITH_PREFIX} became cloaked\nin mystical moonlight!"); -static const u8 sText_CursedBodyDisabled[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} was disabled\nby {B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}!"); -static const u8 sText_AttackerAcquiredAbility[] = _("{B_ATK_NAME_WITH_PREFIX} acquired\n{B_ATK_ABILITY}!"); -static const u8 sText_TargetStatWontGoHigher[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\nwon't go higher!"); -static const u8 sText_PkmnMoveBouncedViaAbility[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE} was\nbounced back by {B_DEF_NAME_WITH_PREFIX}'s\l{B_DEF_ABILITY}!"); -static const u8 sText_ImposterTransform[] = _("{B_ATK_NAME_WITH_PREFIX} transformed into\n{B_DEF_NAME_WITH_PREFIX} using {B_LAST_ABILITY}!"); -static const u8 sText_NotDoneYet[] = _("This move effect is not done yet!\p"); -static const u8 sText_PkmnBlewAwayToxicSpikes[] = _("{B_ATK_NAME_WITH_PREFIX} blew away\nToxic Spikes!"); -static const u8 sText_PkmnBlewAwayStickyWeb[] = _("{B_ATK_NAME_WITH_PREFIX} blew away\nSticky Web!"); -static const u8 sText_PkmnBlewAwayStealthRock[] = _("{B_ATK_NAME_WITH_PREFIX} blew away\nStealth Rock!"); -static const u8 sText_SpikesDisappearedFromTeam[] = _("The spikes disappeared from\nthe ground around {B_ATK_TEAM2} team!"); -static const u8 sText_ToxicSpikesDisappearedFromTeam[] = _("The poison spikes disappeared from\nthe ground around {B_ATK_TEAM2} team!"); -static const u8 sText_StealthRockDisappearedFromTeam[] = _("The pointed stones disappeared\nfrom around {B_ATK_TEAM2} team!"); -static const u8 sText_StickyWebDisappearedFromTeam[] = _("The sticky web has disappeared from\nthe ground around {B_ATK_TEAM2} team!"); -static const u8 sText_StickyWebUsed[] = _("A sticky web spreads out on the\nground around {B_DEF_TEAM2} team!"); -static const u8 sText_QuashSuccess[] = _("{B_DEF_NAME_WITH_PREFIX}'s\nmove was postponed!"); -static const u8 sText_IonDelugeOn[] = _("A deluge of ions showers\nthe battlefield!"); -static const u8 sText_TopsyTurvySwitchedStats[] = _("{B_DEF_NAME_WITH_PREFIX}'s stat changes were\nall reversed!"); -static const u8 sText_TerrainBecomesMisty[] = _("Mist swirled about\nthe battlefield!"); -static const u8 sText_TerrainBecomesGrassy[] = _("Grass grew to cover\nthe battlefield!"); -static const u8 sText_TerrainBecomesElectric[] = _("An electric current runs across\nthe battlefield!"); -static const u8 sText_TerrainBecomesPsychic[] = _("The battlefield got weird!"); -static const u8 sText_TargetElectrified[] = _("{B_DEF_NAME_WITH_PREFIX}'s moves\nhave been electrified!"); -static const u8 sText_AssaultVestDoesntAllow[] = _("{B_LAST_ITEM}'s effects prevent\nstatus moves from being used!\p"); -static const u8 sText_GravityPreventsUsage[] = _("{B_ATK_NAME_WITH_PREFIX} can't use {B_CURRENT_MOVE}\nbecause of gravity!\p"); -static const u8 sText_HealBlockPreventsUsage[] = _("{B_ATK_NAME_WITH_PREFIX} was\nprevented from healing!\p"); -static const u8 sText_MegaEvoReacting[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_LAST_ITEM} is\nreacting to {B_ATK_TRAINER_NAME}'s Mega Ring!"); -static const u8 sText_FerventWishReached[] = _("{B_ATK_TRAINER_NAME}'s fervent wish\nhas reached {B_ATK_NAME_WITH_PREFIX}!"); -static const u8 sText_MegaEvoEvolved[] = _("{B_ATK_NAME_WITH_PREFIX} has Mega Evolved into\nMega {B_BUFF1}!"); -static const u8 sText_drastically[] = _("drastically "); -static const u8 sText_severely[] = _("severely "); -static const u8 sText_Infestation[] = _("{B_DEF_NAME_WITH_PREFIX} has been afflicted\nwith an infestation by {B_ATK_NAME_WITH_PREFIX}!"); -static const u8 sText_NoEffectOnTarget[] = _("It had no effect\non {B_DEF_NAME_WITH_PREFIX}!"); -static const u8 sText_BurstingFlames[] = _("The bursting flames\nhit {B_SCR_ACTIVE_NAME_WITH_PREFIX}!"); -static const u8 sText_BestowItemGiving[] = _("{B_DEF_NAME_WITH_PREFIX} received {B_LAST_ITEM}\nfrom {B_ATK_NAME_WITH_PREFIX}!"); -static const u8 sText_ThirdTypeAdded[] = _("{B_BUFF1} type was added to\n{B_DEF_NAME_WITH_PREFIX}!"); -static const u8 sText_FellForFeint[] = _("{B_DEF_NAME_WITH_PREFIX} fell for\nthe feint!"); -static const u8 sText_PokemonCannotUseMove[] = _("{B_ATK_NAME_WITH_PREFIX} cannot\nuse {B_CURRENT_MOVE}!"); -static const u8 sText_CoveredInPowder[] = _("{B_DEF_NAME_WITH_PREFIX} is covered in powder!"); -static const u8 sText_PowderExplodes[] = _("When the flame touched the powder\non the Pokémon, it exploded!"); -static const u8 sText_BelchCantUse[] = _("Belch cannot be used!\p"); -static const u8 sText_SpectralThiefSteal[] = _("{B_ATK_NAME_WITH_PREFIX} stole the target's\nboosted stats!"); -static const u8 sText_GravityGrounding[] = _("{B_DEF_NAME_WITH_PREFIX} can't stay airborne\nbecause of gravity!"); -static const u8 sText_MistyTerrainPreventsStatus[] = _("{B_DEF_NAME_WITH_PREFIX} surrounds itself\nwith a protective mist!"); -static const u8 sText_GrassyTerrainHeals[] = _("{B_ATK_NAME_WITH_PREFIX} is healed\nby the grassy terrain!"); -static const u8 sText_ElectricTerrainPreventsSleep[] = _("{B_DEF_NAME_WITH_PREFIX} surrounds itself\nwith electrified terrain!"); -static const u8 sText_PsychicTerrainPreventsPriority[] = _("{B_DEF_NAME_WITH_PREFIX} surrounds itself\nwith psychic terrain!"); -static const u8 sText_SafetyGogglesProtected[] = _("{B_DEF_NAME_WITH_PREFIX} is not affected\nthanks to its {B_LAST_ITEM}!"); -static const u8 sText_FlowerVeilProtected[] = _("{B_DEF_NAME_WITH_PREFIX} surrounded itself\nwith a veil of petals!"); -static const u8 sText_SweetVeilProtected[] = _("{B_DEF_NAME_WITH_PREFIX} surrounded itself\nwith a veil of sweetness!"); -static const u8 sText_AromaVeilProtected[] = _("{B_DEF_NAME_WITH_PREFIX} is protected\nby an aromatic veil!"); -static const u8 sText_CelebrateMessage[] = _("Congratulations, {B_PLAYER_NAME}!"); -static const u8 sText_UsedInstructedMove[] = _("{B_ATK_NAME_WITH_PREFIX} used the move\ninstructed by {B_BUFF1}!"); -static const u8 sText_LaserFocusMessage[] = _("{B_ATK_NAME_WITH_PREFIX}\nconcentrated intensely!"); -static const u8 sText_GemActivates[] = _("{B_LAST_ITEM} strengthened\n{B_ATK_NAME_WITH_PREFIX}'s power!"); -static const u8 sText_BerryDmgReducing[] = _("{B_LAST_ITEM} weakened the damage\nto {B_DEF_NAME_WITH_PREFIX}!"); -static const u8 sText_TargetAteItem[] = _("{B_DEF_NAME_WITH_PREFIX} ate its {B_LAST_ITEM}!"); -static const u8 sText_AirBalloonFloat[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} floats in the air\nwith its {B_LAST_ITEM}!"); -static const u8 sText_AirBalloonPop[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM} popped!"); -static const u8 sText_IncinerateBurn[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nwas burnt up!"); -static const u8 sText_BugBite[] = _("{B_ATK_NAME_WITH_PREFIX} stole and ate\n{B_EFF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!"); -static const u8 sText_IllusionWoreOff[] = _("{B_DEF_NAME_WITH_PREFIX}'s Illusion wore off!"); -static const u8 sText_AttackerCuredTargetStatus[] = _("{B_ATK_NAME_WITH_PREFIX} cured\n{B_DEF_NAME_WITH_PREFIX}'s problem!"); -static const u8 sText_AttackerLostFireType[] = _("{B_ATK_NAME_WITH_PREFIX} burned itself out!"); -static const u8 sText_HealerCure[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_LAST_ABILITY}\ncured {B_SCR_ACTIVE_NAME_WITH_PREFIX}'s problem!"); -static const u8 sText_ReceiverAbilityTakeOver[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nwas taken over!"); -static const u8 sText_PkmnAbsorbingPower[] = _("{B_ATK_NAME_WITH_PREFIX} is absorbing power!"); -static const u8 sText_NoOneWillBeAbleToRun[] = _("No one will be able to run away\nduring the next turn!"); -static const u8 sText_DestinyKnotActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} fell in love\nfrom the {B_LAST_ITEM}!"); -static const u8 sText_CloakedInAFreezingLight[] = _("{B_ATK_NAME_WITH_PREFIX} became cloaked\nin a freezing light!"); -static const u8 sText_ClearAmuletWontLowerStats[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM} prevents\nits stats from being lowered!"); -static const u8 sText_AuraFlaredToLife[] = _("{B_DEF_NAME_WITH_PREFIX}'s aura flared to life!"); -static const u8 sText_AirLockActivates[] = _("The effects of weather\ndisappeared."); -static const u8 sText_PressureActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is exerting its\npressure!"); -static const u8 sText_DarkAuraActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is radiating\na dark aura!"); -static const u8 sText_FairyAuraActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is radiating\na fairy aura!"); -static const u8 sText_AuraBreakActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} reversed all\nother Pokémon's auras!"); -static const u8 sText_ComatoseActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is drowsing!"); -static const u8 sText_ScreenCleanerActivates[] = _("All screens on the field were\ncleansed!"); -static const u8 sText_FetchedPokeBall[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} found\na {B_LAST_ITEM}!"); -static const u8 sText_BattlerAbilityRaisedStat[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nraised its {B_BUFF1}!"); -static const u8 sText_ASandstormKickedUp[] = _("A sandstorm kicked up!"); -static const u8 sText_PkmnsWillPerishIn3Turns[] = _("Both Pokémon will perish\nin three turns!"); -static const u8 sText_AbilityRaisedStatDrastically[] = _("{B_DEF_ABILITY} raised {B_DEF_NAME_WITH_PREFIX}'s\n{B_BUFF1} drastically!"); -static const u8 sText_AsOneEnters[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} has two Abilities!"); -static const u8 sText_PkmnMadeShellGleam[] = _("{B_DEF_NAME_WITH_PREFIX} made its shell gleam!\nIt's distorting type matchups!"); -static const u8 sText_CuriousMedicineEnters[] = _("{B_EFF_NAME_WITH_PREFIX}'s\nstat changes were reset!"); -static const u8 sText_CanActFaster[] = _("{B_ATK_NAME_WITH_PREFIX} can act faster,\nthanks to {B_BUFF1}!"); -static const u8 sText_MicleBerryActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} boosted the accuracy of its\nnext move using {B_LAST_ITEM}!"); -static const u8 sText_PkmnShookOffTheTaunt[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} shook off\nthe taunt!"); -static const u8 sText_PkmnGotOverItsInfatuation[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} got over\nits infatuation!"); -static const u8 sText_ZPowerSurrounds[] = _("{B_ATK_NAME_WITH_PREFIX} surrounds\nitself with its Z-Power!"); -static const u8 sText_ZPowerUnleashed[] = _("{B_ATK_NAME_WITH_PREFIX} unleashes\nits full-force Z-Move!"); -static const u8 sText_ZMoveResetsStats[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} returned its\ndecreased stats to normal using\lits Z-Power!"); -static const u8 sText_ZMoveAllStatsUp[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} boosted all\nof its stats using its Z-Power!"); -static const u8 sText_ZMoveBoostCrit[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} boosted its\ncritical-hit ratio using its Z-Power!"); -static const u8 sText_ZMoveRestoreHp[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} restored its\nHP using its Z-Power!"); -static const u8 sText_ZMoveStatUp[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} boosted\nits stats using its Z-Power!"); -static const u8 sText_ZMoveHpSwitchInTrap[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s HP was restored by the Z-Power!"); -static const u8 sText_TerrainReturnedToNormal[] = _("The terrain returned to\nnormal!"); -static const u8 sText_ItemCannotBeRemoved[] = _("{B_ATK_NAME_WITH_PREFIX}'s item cannot be removed!"); -static const u8 sText_StickyBarbTransfer[] = _("The {B_LAST_ITEM} attached itself to\n{B_ATK_NAME_WITH_PREFIX}!"); -static const u8 sText_PkmnBurnHealed[] = _("{B_DEF_NAME_WITH_PREFIX}'s\nburn was healed."); -static const u8 sText_RedCardActivate[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} held up its {B_LAST_ITEM}\nagainst {B_ATK_NAME_WITH_PREFIX}!"); -static const u8 sText_EjectButtonActivate[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is switched\nout with the {B_LAST_ITEM}!"); -static const u8 sText_AttackerGotOverInfatuation[] =_("{B_ATK_NAME_WITH_PREFIX} got over\nits infatuation!"); -static const u8 sText_TormentedNoMore[] = _("{B_ATK_NAME_WITH_PREFIX} is\ntormented no more!"); -static const u8 sText_HealBlockedNoMore[] = _("{B_ATK_NAME_WITH_PREFIX} is cured of\nits heal block!"); -static const u8 sText_AttackerBecameFullyCharged[] = _("{B_ATK_NAME_WITH_PREFIX} became fully charged\ndue to its bond with its trainer!\p"); -static const u8 sText_AttackerBecameAshSpecies[] = _("{B_ATK_NAME_WITH_PREFIX} became Ash-{B_BUFF1}!\p"); -static const u8 sText_ExtremelyHarshSunlight[] = _("The sunlight turned\nextremely harsh!"); -static const u8 sText_ExtremeSunlightFaded[] = _("The extreme sunlight faded.{PAUSE 64}"); -static const u8 sText_MoveEvaporatedInTheHarshSunlight[] = _("The Water-type attack evaporated\nin the harsh sunlight!"); -static const u8 sText_ExtremelyHarshSunlightWasNotLessened[] = _("The extremely harsh sunlight\nwas not lessened at all!"); -static const u8 sText_HeavyRain[] = _("A heavy rain began to fall!"); -static const u8 sText_HeavyRainLifted[] = _("The heavy rain has lifted!{PAUSE 64}"); -static const u8 sText_MoveFizzledOutInTheHeavyRain[] = _("The Fire-type attack fizzled out\nin the heavy rain!"); -static const u8 sText_NoReliefFromHeavyRain[] = _("There is no relief from\nthis heavy rain!"); -static const u8 sText_MysteriousAirCurrent[] = _("A mysterious air current is\nprotecting Flying-type Pokémon!"); -static const u8 sText_StrongWindsDissipated[] = _("The mysterious strong winds\nhave dissipated!{PAUSE 64}"); -static const u8 sText_MysteriousAirCurrentBlowsOn[] = _("The mysterious air current\nblows on regardless!"); -static const u8 sText_AttackWeakenedByStrongWinds[] = _("The mysterious strong winds\nweakened the attack!"); -static const u8 sText_StuffCheeksCantSelect[] = _("Stuff Cheeks cannot be\nselected without a Berry!\p"); -static const u8 sText_PkmnRevertedToPrimal[] = _("{B_ATK_NAME_WITH_PREFIX}'s Primal Reversion!\nIt reverted to its primal form!"); -static const u8 sText_ButPokemonCantUseTheMove[] = _("But {B_ATK_NAME_WITH_PREFIX} can't\nuse the move!"); -static const u8 sText_ButHoopaCantUseIt[] = _("But Hoopa can't use it\nthe way it is now!"); -static const u8 sText_BrokeThroughProtection[] = _("It broke through\n{B_DEF_NAME_WITH_PREFIX}'s protection!"); -static const u8 sText_AbilityAllowsOnlyMove[] = _("{B_ATK_ABILITY} allows the\nuse of only {B_CURRENT_MOVE}!\p"); -static const u8 sText_SwappedAbilities[] = _("{B_DEF_NAME_WITH_PREFIX} swapped Abilities\nwith its target!"); -static const u8 sText_PastelVeilProtected[] = _("{B_DEF_NAME_WITH_PREFIX} is protected\nby a pastel veil!"); -static const u8 sText_PastelVeilEnters[] = _("{B_DEF_NAME_WITH_PREFIX} was cured\nof its poisoning!"); -static const u8 sText_BattlerTypeChangedTo[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s type\nchanged to {B_BUFF1}!"); -static const u8 sText_BothCanNoLongerEscape[] = _("Neither Pokémon can run away!"); -static const u8 sText_CantEscapeDueToUsedMove[] = _("{B_ATK_NAME_WITH_PREFIX} can no longer escape\nbecause it used {B_CURRENT_MOVE}!"); -static const u8 sText_PkmnBecameWeakerToFire[] = _("{B_DEF_NAME_WITH_PREFIX} became\nweaker to fire!"); -static const u8 sText_PkmnAboutToBeAttackedByItsItem[] = _("{B_DEF_NAME_WITH_PREFIX} is about\nto be attacked by its {B_BUFF1}!"); -static const u8 sText_CantEscapeBecauseOfCurrentMove[] = _("{B_DEF_NAME_WITH_PREFIX} can no longer escape\nbecause of {B_CURRENT_MOVE}!"); -static const u8 sText_NeutralizingGasEnters[] = _("Neutralizing Gas filled the area!"); -static const u8 sText_NeutralizingGasOver[] = _("The effects of Neutralizing\nGas wore off!"); -static const u8 sText_PkmnTookTargetHigh[] = _("{B_ATK_NAME_WITH_PREFIX} took {B_DEF_NAME_WITH_PREFIX}\ninto the air!"); -static const u8 sText_TargetTooHeavy[] = _("But the target\nwas too heavy!"); -static const u8 sText_MeteorBeamCharging[] = _("{B_ATK_NAME_WITH_PREFIX} is overflowing\nwith space energy!"); -static const u8 sText_HeatingUpBeak[] = _("{B_ATK_NAME_WITH_PREFIX} started\nheating up its beak!"); -static const u8 sText_CourtChange[] = _("{B_ATK_NAME_WITH_PREFIX} swapped the battle\neffects affecting each side!"); -static const u8 sText_AttackerExpelledThePoison[] = _("{B_ATK_NAME_WITH_PREFIX} managed to\nexpel the poison!"); -static const u8 sText_AttackerShookItselfAwake[] = _("{B_ATK_NAME_WITH_PREFIX} shook itself awake!"); -static const u8 sText_AttackerBrokeThroughParalysis[] = _("{B_ATK_NAME_WITH_PREFIX} gathered all its energy\nto overcome its paralysis!"); -static const u8 sText_AttackerHealedItsBurn[] = _("{B_ATK_NAME_WITH_PREFIX} healed its burn with\nits sheer determination!"); -static const u8 sText_AttackerHealedItsFrostbite[] = _("{B_ATK_NAME_WITH_PREFIX} healed its frostbite with\nits sheer determination!"); //not used, "melted the ice" is used instead in PLA -static const u8 sText_AttackerMeltedTheIce[] = _("{B_ATK_NAME_WITH_PREFIX} melted the ice with\nits fiery determination!"); -static const u8 sText_TargetToughedItOut[] = _("{B_DEF_NAME_WITH_PREFIX} toughed it out\nto show you its best side!"); -static const u8 sText_AttackerLostElectricType[] = _("{B_ATK_NAME_WITH_PREFIX} used up all\nof its electricity!"); -static const u8 sText_AttackerSwitchedStatWithTarget[] = _("{B_ATK_NAME_WITH_PREFIX} switched {B_BUFF1}\nwith its target!"); -static const u8 sText_BeingHitChargedPkmnWithPower[] = _("Being hit by {B_CURRENT_MOVE}\ncharged {B_DEF_NAME_WITH_PREFIX} with power!"); -static const u8 sText_SunlightActivatedAbility[] = _("The harsh sunlight activated\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ABILITY}!"); -static const u8 sText_StatWasHeightened[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_BUFF1}\nwas heightened!"); -static const u8 sText_BoosterEnergyActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} used its\n{B_LAST_ITEM} to activate\l{B_SCR_ACTIVE_ABILITY}!"); -static const u8 sText_ElectricTerrainActivatedAbility[] = _("The Electric Terrain activated\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ABILITY}!"); -static const u8 sText_AbilityWeakenedSurroundingMonsStat[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nweakened the {B_BUFF1} of\lall surrounding Pokémon!\p"); -static const u8 sText_AttackerGainedStrengthFromTheFallen[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} gained strength\nfrom the fallen!"); -static const u8 sText_PrepareShellTrap[] = _("{B_ATK_NAME_WITH_PREFIX} set a shell trap!"); -static const u8 sText_ShellTrapDidntWork[] = _("{B_ATK_NAME_WITH_PREFIX}'s shell trap didn't work!"); -static const u8 sText_SharpSteelFloats[] = _("Sharp-pointed steel floats\naround {B_DEF_TEAM2} team!"); -static const u8 sText_SharpSteelDmg[] = _("Sharp steel bit into {B_DEF_NAME_WITH_PREFIX}!"); -static const u8 sText_PkmnBlewAwaySharpSteel[] = _("{B_ATK_NAME_WITH_PREFIX} blew away\nsharp steel!"); -static const u8 sText_SharpSteelDisappearedFromTeam[] = _("The sharp steel disappeared from\nthe ground around {B_ATK_TEAM2} team!"); -static const u8 sText_TeamTrappedWithVines[] = _("{B_DEF_TEAM1} team got trapped\nwith vines!"); -static const u8 sText_PkmnHurtByVines[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt by\nG-Max Vine Lash's ferocious beating!"); -static const u8 sText_TeamCaughtInVortex[] = _("{B_DEF_TEAM1} team got caught\nin a vortex of water!"); -static const u8 sText_PkmnHurtByVortex[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt by\nG-Max Cannonade's vortex!"); -static const u8 sText_TeamSurroundedByFire[] = _("{B_DEF_TEAM1} team was surrounded\nby flames!"); -static const u8 sText_PkmnBurningUp[] = _("{B_ATK_NAME_WITH_PREFIX} is burning up\nwithin G-Max Wildfire's flames!"); -static const u8 sText_TeamSurroundedByRocks[] = _("{B_DEF_TEAM1} team was surrounded\nby rocks!"); -static const u8 sText_PkmnHurtByRocksThrown[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt by\nrocks thrown out by G-Max Volcalith!"); -static const u8 sText_CouldntFullyProtect[] = _("{B_DEF_NAME_WITH_PREFIX} couldn't fully protect\nitself and got hurt!"); -static const u8 sText_StockpiledEffectWoreOff[] = _("{B_ATK_NAME_WITH_PREFIX}'s stockpiled\neffect wore off!"); -static const u8 sText_MoveBlockedByDynamax[] = _("The move was blocked by\nthe power of Dynamax!"); -static const u8 sText_PkmnRevivedReadyToFight[] = _("{B_BUFF1} was revived and\nis ready to fight again!"); -static const u8 sText_ItemRestoredSpeciesHealth[] = _("{B_BUFF1} had its\nHP restored!"); -static const u8 sText_ItemCuredSpeciesStatus[] = _("{B_BUFF1} had\nits status healed!"); -static const u8 sText_ItemRestoredSpeciesPP[] = _("{B_BUFF1} had its\nPP restored!"); -static const u8 sText_AtkTrappedDef[] = _("{B_ATK_NAME_WITH_PREFIX} trapped\nthe {B_DEF_NAME_WITH_PREFIX}!"); -static const u8 sText_MirrorHerbCopied[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} used its {B_LAST_ITEM}\nto mirror its opponent's stat changes!"); -static const u8 sText_PkmnItemMelted[] = _("{B_ATK_NAME_WITH_PREFIX} corroded\n{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!"); -static const u8 sText_UltraBurstReacting[] = _("Bright light is about to\nburst out of {B_ATK_NAME_WITH_PREFIX}!"); -static const u8 sText_UltraBurstCompleted[] = _("{B_ATK_NAME_WITH_PREFIX} regained its\ntrue power through Ultra Burst!"); -static const u8 sText_TeamGainedEXP[] = _("The rest of your team gained EXP.\nPoints thanks to the {B_LAST_ITEM}!\p"); -static const u8 sText_CurrentMoveCantSelect[] = _("{B_BUFF1} cannot be used!\p"); -static const u8 sText_TargetIsBeingSaltCured[] = _("{B_DEF_NAME_WITH_PREFIX} is being salt cured!"); -static const u8 sText_TargetIsHurtBySaltCure[] = _("{B_DEF_NAME_WITH_PREFIX} is hurt by {B_BUFF1}!"); -static const u8 sText_TargetCoveredInStickyCandySyrup[] = _("{B_DEF_NAME_WITH_PREFIX} got covered\nin sticky syrup!"); -static const u8 sText_PkmnTellChillingReceptionJoke[] = _("{B_ATK_NAME_WITH_PREFIX} is preparing to tell a\nchillingly bad joke!"); -static const u8 sText_ZeroToHeroTransformation[] = _("{B_ATK_NAME_WITH_PREFIX} underwent a heroic\ntransformation!"); -static const u8 sText_TheTwoMovesBecomeOne[] = _("The two moves become one!\nIt's a combined move!{PAUSE 16}"); -static const u8 sText_ARainbowAppearedOnSide[] = _("A rainbow appeared in the sky\non {B_ATK_TEAM2} team's side!"); -static const u8 sText_TheRainbowDisappeared[] = _("The rainbow on {B_ATK_TEAM2}\nside disappeared!"); -static const u8 sText_WaitingForPartnersMove[] = _("{B_ATK_NAME_WITH_PREFIX} is waiting\nfor {B_ATK_PARTNER_NAME}'s move…{PAUSE 16}"); -static const u8 sText_SeaOfFireEnvelopedSide[] = _("A sea of fire enveloped\n{B_DEF_TEAM2} team!"); -static const u8 sText_HurtByTheSeaOfFire[] = _("{B_ATK_TEAM1} {B_ATK_NAME_WITH_PREFIX} was hurt\nby the sea of fire!"); -static const u8 sText_TheSeaOfFireDisappeared[] = _("The sea of fire around {B_ATK_TEAM2}\nteam disappeared!"); -static const u8 sText_SwampEnvelopedSide[] = _("A swamp enveloped\n{B_DEF_TEAM2} team!"); -static const u8 sText_TheSwampDisappeared[] = _("The swamp around {B_ATK_TEAM2}\nteam disappeared!"); -static const u8 sText_HospitalityRestoration[] = _("{B_ATK_PARTNER_NAME} drank down all the\nmatcha that {B_ATK_NAME_WITH_PREFIX} made!"); -static const u8 sText_ElectroShotCharging[] = _("{B_ATK_NAME_WITH_PREFIX} absorbed\nelectricity!"); -static const u8 sText_ItemWasUsedUp[] = _("The {B_LAST_ITEM}\nwas used up..."); -static const u8 sText_AttackerLostItsType[] = _("{B_ATK_NAME_WITH_PREFIX} lost\nits {B_BUFF1} type!"); -static const u8 sText_ShedItsTail[] = _("{B_ATK_NAME_WITH_PREFIX} shed its tail\nto create a decoy!"); -static const u8 sText_PkmnTerastallizedInto[] = _("{B_ATK_NAME_WITH_PREFIX} terastallized\ninto the {B_BUFF1} type!"); -static const u8 sText_SupersweetAromaWafts[] = _("A supersweet aroma is wafting from\nthe syrup covering {B_ATK_NAME_WITH_PREFIX}!"); -static const u8 sText_TidyingUpComplete[] = _("Tidying up complete!"); -static const u8 sText_FickleBeamDoubled[] = _("{B_ATK_NAME_WITH_PREFIX} is going all\nout for this attack!"); +const u8 gText_drastically[] = _("drastically "); +const u8 gText_severely[] = _("severely "); +static const u8 sText_TerrainReturnedToNormal[] = _("The terrain returned to normal!"); // Unused + +// Remove these when done testing +static const u8 sTest_TempTestText1[] = _("This is a text for testing stuff."); +static const u8 sTest_TempTestText2[] = _("This is a text for testing stuff that should be two lines."); +static const u8 sTest_TempTestText3[] = _("This is a text for testing stuff that should be three lines so it has to have some extra text."); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { - [STRINGID_FICKLEBEAMDOUBLED - BATTLESTRINGS_TABLE_START] = sText_FickleBeamDoubled, - [STRINGID_PKMNTERASTALLIZEDINTO - BATTLESTRINGS_TABLE_START] = sText_PkmnTerastallizedInto, - [STRINGID_TIDYINGUPCOMPLETE - BATTLESTRINGS_TABLE_START] = sText_TidyingUpComplete, - [STRINGID_SUPERSWEETAROMAWAFTS - BATTLESTRINGS_TABLE_START] = sText_SupersweetAromaWafts, - [STRINGID_SHEDITSTAIL - BATTLESTRINGS_TABLE_START] = sText_ShedItsTail, - [STRINGID_ELECTROSHOTCHARGING - BATTLESTRINGS_TABLE_START] = sText_ElectroShotCharging, - [STRINGID_HOSPITALITYRESTORATION - BATTLESTRINGS_TABLE_START] = sText_HospitalityRestoration, - [STRINGID_THESWAMPDISAPPEARED - BATTLESTRINGS_TABLE_START] = sText_TheSwampDisappeared, - [STRINGID_SWAMPENVELOPEDSIDE - BATTLESTRINGS_TABLE_START] = sText_SwampEnvelopedSide, - [STRINGID_THESEAOFFIREDISAPPEARED - BATTLESTRINGS_TABLE_START] = sText_TheSeaOfFireDisappeared, - [STRINGID_HURTBYTHESEAOFFIRE - BATTLESTRINGS_TABLE_START] = sText_HurtByTheSeaOfFire, - [STRINGID_SEAOFFIREENVELOPEDSIDE - BATTLESTRINGS_TABLE_START] = sText_SeaOfFireEnvelopedSide, - [STRINGID_WAITINGFORPARTNERSMOVE - BATTLESTRINGS_TABLE_START] = sText_WaitingForPartnersMove, - [STRINGID_THERAINBOWDISAPPEARED - BATTLESTRINGS_TABLE_START] = sText_TheRainbowDisappeared, - [STRINGID_ARAINBOWAPPEAREDONSIDE - BATTLESTRINGS_TABLE_START] = sText_ARainbowAppearedOnSide, - [STRINGID_THETWOMOVESBECOMEONE - BATTLESTRINGS_TABLE_START] = sText_TheTwoMovesBecomeOne, - [STRINGID_ZEROTOHEROTRANSFORMATION - BATTLESTRINGS_TABLE_START] = sText_ZeroToHeroTransformation, - [STRINGID_PKMNTELLCHILLINGRECEPTIONJOKE - BATTLESTRINGS_TABLE_START] = sText_PkmnTellChillingReceptionJoke, - [STRINGID_MOVEBLOCKEDBYDYNAMAX - BATTLESTRINGS_TABLE_START] = sText_MoveBlockedByDynamax, - [STRINGID_TARGETISHURTBYSALTCURE - BATTLESTRINGS_TABLE_START] = sText_TargetIsHurtBySaltCure, - [STRINGID_TARGETISBEINGSALTCURED - BATTLESTRINGS_TABLE_START] = sText_TargetIsBeingSaltCured, - [STRINGID_CURRENTMOVECANTSELECT - BATTLESTRINGS_TABLE_START] = sText_CurrentMoveCantSelect, - [STRINGID_PKMNITEMMELTED - BATTLESTRINGS_TABLE_START] = sText_PkmnItemMelted, - [STRINGID_MIRRORHERBCOPIED - BATTLESTRINGS_TABLE_START] = sText_MirrorHerbCopied, - [STRINGID_THUNDERCAGETRAPPED - BATTLESTRINGS_TABLE_START] = sText_AtkTrappedDef, - [STRINGID_ITEMRESTOREDSPECIESHEALTH - BATTLESTRINGS_TABLE_START] = sText_ItemRestoredSpeciesHealth, - [STRINGID_ITEMCUREDSPECIESSTATUS - BATTLESTRINGS_TABLE_START] = sText_ItemCuredSpeciesStatus, - [STRINGID_ITEMRESTOREDSPECIESPP - BATTLESTRINGS_TABLE_START] = sText_ItemRestoredSpeciesPP, - [STRINGID_PKMNREVIVEDREADYTOFIGHT - BATTLESTRINGS_TABLE_START] = sText_PkmnRevivedReadyToFight, - [STRINGID_STOCKPILEDEFFECTWOREOFF - BATTLESTRINGS_TABLE_START] = sText_StockpiledEffectWoreOff, - [STRINGID_COULDNTFULLYPROTECT - BATTLESTRINGS_TABLE_START] = sText_CouldntFullyProtect, - [STRINGID_PKMNHURTBYROCKSTHROWN - BATTLESTRINGS_TABLE_START] = sText_PkmnHurtByRocksThrown, - [STRINGID_TEAMSURROUNDEDBYROCKS - BATTLESTRINGS_TABLE_START] = sText_TeamSurroundedByRocks, - [STRINGID_PKMNBURNINGUP - BATTLESTRINGS_TABLE_START] = sText_PkmnBurningUp, - [STRINGID_TEAMSURROUNDEDBYFIRE - BATTLESTRINGS_TABLE_START] = sText_TeamSurroundedByFire, - [STRINGID_PKMNHURTBYVORTEX - BATTLESTRINGS_TABLE_START] = sText_PkmnHurtByVortex, - [STRINGID_TEAMCAUGHTINVORTEX - BATTLESTRINGS_TABLE_START] = sText_TeamCaughtInVortex, - [STRINGID_PKMNHURTBYVINES - BATTLESTRINGS_TABLE_START] = sText_PkmnHurtByVines, - [STRINGID_TEAMTRAPPEDWITHVINES - BATTLESTRINGS_TABLE_START] = sText_TeamTrappedWithVines, - [STRINGID_PKMNBLEWAWAYSHARPSTEEL - BATTLESTRINGS_TABLE_START] = sText_PkmnBlewAwaySharpSteel, - [STRINGID_SHARPSTEELDMG - BATTLESTRINGS_TABLE_START] = sText_SharpSteelDmg, - [STRINGID_SHARPSTEELFLOATS - BATTLESTRINGS_TABLE_START] = sText_SharpSteelFloats, - [STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN - BATTLESTRINGS_TABLE_START] = sText_AttackerGainedStrengthFromTheFallen, - [STRINGID_ABILITYWEAKENEDSURROUNDINGMONSSTAT - BATTLESTRINGS_TABLE_START] = sText_AbilityWeakenedSurroundingMonsStat, - [STRINGID_ELECTRICTERRAINACTIVATEDABILITY - BATTLESTRINGS_TABLE_START] = sText_ElectricTerrainActivatedAbility, - [STRINGID_STATWASHEIGHTENED - BATTLESTRINGS_TABLE_START] = sText_StatWasHeightened, - [STRINGID_BOOSTERENERGYACTIVATES - BATTLESTRINGS_TABLE_START] = sText_BoosterEnergyActivates, - [STRINGID_SUNLIGHTACTIVATEDABILITY - BATTLESTRINGS_TABLE_START] = sText_SunlightActivatedAbility, - [STRINGID_BEINGHITCHARGEDPKMNWITHPOWER - BATTLESTRINGS_TABLE_START] = sText_BeingHitChargedPkmnWithPower, - [STRINGID_ATTACKERSWITCHEDSTATWITHTARGET - BATTLESTRINGS_TABLE_START] = sText_AttackerSwitchedStatWithTarget, - [STRINGID_TARGETTOUGHEDITOUT - BATTLESTRINGS_TABLE_START] = sText_TargetToughedItOut, - [STRINGID_ATTACKERMELTEDTHEICE - BATTLESTRINGS_TABLE_START] = sText_AttackerMeltedTheIce, - [STRINGID_ATTACKERHEALEDITSBURN - BATTLESTRINGS_TABLE_START] = sText_AttackerHealedItsBurn, - [STRINGID_ATTACKERBROKETHROUGHPARALYSIS - BATTLESTRINGS_TABLE_START] = sText_AttackerBrokeThroughParalysis, - [STRINGID_ATTACKERSHOOKITSELFAWAKE - BATTLESTRINGS_TABLE_START] = sText_AttackerShookItselfAwake, - [STRINGID_ATTACKEREXPELLEDTHEPOISON - BATTLESTRINGS_TABLE_START] = sText_AttackerExpelledThePoison, - [STRINGID_ZPOWERSURROUNDS - BATTLESTRINGS_TABLE_START] = sText_ZPowerSurrounds, - [STRINGID_ZMOVEUNLEASHED - BATTLESTRINGS_TABLE_START] = sText_ZPowerUnleashed, - [STRINGID_ZMOVERESETSSTATS - BATTLESTRINGS_TABLE_START] = sText_ZMoveResetsStats, - [STRINGID_ZMOVEALLSTATSUP - BATTLESTRINGS_TABLE_START] = sText_ZMoveAllStatsUp, - [STRINGID_ZMOVEZBOOSTCRIT - BATTLESTRINGS_TABLE_START] = sText_ZMoveBoostCrit, - [STRINGID_ZMOVERESTOREHP - BATTLESTRINGS_TABLE_START] = sText_ZMoveRestoreHp, - [STRINGID_ZMOVESTATUP - BATTLESTRINGS_TABLE_START] = sText_ZMoveStatUp, - [STRINGID_ZMOVEHPTRAP - BATTLESTRINGS_TABLE_START] = sText_ZMoveHpSwitchInTrap, - [STRINGID_PLAYERLOSTTOENEMYTRAINER - BATTLESTRINGS_TABLE_START] = sText_PlayerLostToEnemyTrainer, - [STRINGID_PLAYERPAIDPRIZEMONEY - BATTLESTRINGS_TABLE_START] = sText_PlayerPaidPrizeMoney, - [STRINGID_SHELLTRAPDIDNTWORK - BATTLESTRINGS_TABLE_START] = sText_ShellTrapDidntWork, - [STRINGID_PREPARESHELLTRAP - BATTLESTRINGS_TABLE_START] = sText_PrepareShellTrap, - [STRINGID_COURTCHANGE - BATTLESTRINGS_TABLE_START] = sText_CourtChange, - [STRINGID_HEATUPBEAK - BATTLESTRINGS_TABLE_START] = sText_HeatingUpBeak, - [STRINGID_METEORBEAMCHARGING - BATTLESTRINGS_TABLE_START] = sText_MeteorBeamCharging, - [STRINGID_PKMNINSNAPTRAP - BATTLESTRINGS_TABLE_START] = sText_PkmnInSnapTrap, - [STRINGID_NEUTRALIZINGGASOVER - BATTLESTRINGS_TABLE_START] = sText_NeutralizingGasOver, - [STRINGID_NEUTRALIZINGGASENTERS - BATTLESTRINGS_TABLE_START] = sText_NeutralizingGasEnters, - [STRINGID_BATTLERTYPECHANGEDTO - BATTLESTRINGS_TABLE_START] = sText_BattlerTypeChangedTo, - [STRINGID_PASTELVEILENTERS - BATTLESTRINGS_TABLE_START] = sText_PastelVeilEnters, - [STRINGID_PASTELVEILPROTECTED - BATTLESTRINGS_TABLE_START] = sText_PastelVeilProtected, - [STRINGID_SWAPPEDABILITIES - BATTLESTRINGS_TABLE_START] = sText_SwappedAbilities, - [STRINGID_ABILITYALLOWSONLYMOVE - BATTLESTRINGS_TABLE_START] = sText_AbilityAllowsOnlyMove, - [STRINGID_BROKETHROUGHPROTECTION - BATTLESTRINGS_TABLE_START] = sText_BrokeThroughProtection, - [STRINGID_BUTPOKEMONCANTUSETHEMOVE - BATTLESTRINGS_TABLE_START] = sText_ButPokemonCantUseTheMove, - [STRINGID_BUTHOOPACANTUSEIT - BATTLESTRINGS_TABLE_START] = sText_ButHoopaCantUseIt, - [STRINGID_PKMNREVERTEDTOPRIMAL - BATTLESTRINGS_TABLE_START] = sText_PkmnRevertedToPrimal, - [STRINGID_STUFFCHEEKSCANTSELECT - BATTLESTRINGS_TABLE_START] = sText_StuffCheeksCantSelect, - [STRINGID_ATTACKWEAKENEDBSTRONGWINDS - BATTLESTRINGS_TABLE_START] = sText_AttackWeakenedByStrongWinds, - [STRINGID_MYSTERIOUSAIRCURRENTBLOWSON - BATTLESTRINGS_TABLE_START] = sText_MysteriousAirCurrentBlowsOn, - [STRINGID_STRONGWINDSDISSIPATED - BATTLESTRINGS_TABLE_START] = sText_StrongWindsDissipated, - [STRINGID_MYSTERIOUSAIRCURRENT - BATTLESTRINGS_TABLE_START] = sText_MysteriousAirCurrent, - [STRINGID_NORELIEFROMHEAVYRAIN - BATTLESTRINGS_TABLE_START] = sText_NoReliefFromHeavyRain, - [STRINGID_MOVEFIZZLEDOUTINTHEHEAVYRAIN - BATTLESTRINGS_TABLE_START] = sText_MoveFizzledOutInTheHeavyRain, - [STRINGID_HEAVYRAINLIFTED - BATTLESTRINGS_TABLE_START] = sText_HeavyRainLifted, - [STRINGID_HEAVYRAIN - BATTLESTRINGS_TABLE_START] = sText_HeavyRain, - [STRINGID_EXTREMELYHARSHSUNLIGHTWASNOTLESSENED - BATTLESTRINGS_TABLE_START] = sText_ExtremelyHarshSunlightWasNotLessened, - [STRINGID_MOVEEVAPORATEDINTHEHARSHSUNLIGHT - BATTLESTRINGS_TABLE_START] = sText_MoveEvaporatedInTheHarshSunlight, - [STRINGID_EXTREMESUNLIGHTFADED - BATTLESTRINGS_TABLE_START] = sText_ExtremeSunlightFaded, - [STRINGID_EXTREMELYHARSHSUNLIGHT - BATTLESTRINGS_TABLE_START] = sText_ExtremelyHarshSunlight, - [STRINGID_ATTACKERBECAMEASHSPECIES - BATTLESTRINGS_TABLE_START] = sText_AttackerBecameAshSpecies, - [STRINGID_ATTACKERBECAMEFULLYCHARGED - BATTLESTRINGS_TABLE_START] = sText_AttackerBecameFullyCharged, - [STRINGID_HEALBLOCKEDNOMORE - BATTLESTRINGS_TABLE_START] = sText_HealBlockedNoMore, - [STRINGID_TORMENTEDNOMORE - BATTLESTRINGS_TABLE_START] = sText_TormentedNoMore, - [STRINGID_ATKGOTOVERINFATUATION - BATTLESTRINGS_TABLE_START] = sText_AttackerGotOverInfatuation, - [STRINGID_EJECTBUTTONACTIVATE - BATTLESTRINGS_TABLE_START] = sText_EjectButtonActivate, - [STRINGID_REDCARDACTIVATE - BATTLESTRINGS_TABLE_START] = sText_RedCardActivate, - [STRINGID_PKMNBURNHEALED - BATTLESTRINGS_TABLE_START] = sText_PkmnBurnHealed, - [STRINGID_STICKYBARBTRANSFER - BATTLESTRINGS_TABLE_START] = sText_StickyBarbTransfer, - [STRINGID_ITEMCANNOTBEREMOVED - BATTLESTRINGS_TABLE_START] = sText_ItemCannotBeRemoved, - [STRINGID_PKMNGOTOVERITSINFATUATION - BATTLESTRINGS_TABLE_START] = sText_PkmnGotOverItsInfatuation, - [STRINGID_PKMNSHOOKOFFTHETAUNT - BATTLESTRINGS_TABLE_START] = sText_PkmnShookOffTheTaunt, - [STRINGID_MICLEBERRYACTIVATES - BATTLESTRINGS_TABLE_START] = sText_MicleBerryActivates, - [STRINGID_CANACTFASTERTHANKSTO - BATTLESTRINGS_TABLE_START] = sText_CanActFaster, - [STRINGID_CURIOUSMEDICINEENTERS - BATTLESTRINGS_TABLE_START] = sText_CuriousMedicineEnters, - [STRINGID_ASONEENTERS - BATTLESTRINGS_TABLE_START] = sText_AsOneEnters, - [STRINGID_PKMNMADESHELLGLEAM - BATTLESTRINGS_TABLE_START] = sText_PkmnMadeShellGleam, - [STRINGID_ABILITYRAISEDSTATDRASTICALLY - BATTLESTRINGS_TABLE_START] = sText_AbilityRaisedStatDrastically, - [STRINGID_PKMNSWILLPERISHIN3TURNS - BATTLESTRINGS_TABLE_START] = sText_PkmnsWillPerishIn3Turns, - [STRINGID_ASANDSTORMKICKEDUP - BATTLESTRINGS_TABLE_START] = sText_ASandstormKickedUp, - [STRINGID_BATTLERABILITYRAISEDSTAT - BATTLESTRINGS_TABLE_START] = sText_BattlerAbilityRaisedStat, - [STRINGID_FETCHEDPOKEBALL - BATTLESTRINGS_TABLE_START] = sText_FetchedPokeBall, - [STRINGID_CLEARAMULETWONTLOWERSTATS - BATTLESTRINGS_TABLE_START] = sText_ClearAmuletWontLowerStats, - [STRINGID_CLOAKEDINAFREEZINGLIGHT - BATTLESTRINGS_TABLE_START] = sText_CloakedInAFreezingLight, - [STRINGID_DESTINYKNOTACTIVATES - BATTLESTRINGS_TABLE_START] = sText_DestinyKnotActivates, - [STRINGID_NOONEWILLBEABLETORUNAWAY - BATTLESTRINGS_TABLE_START] = sText_NoOneWillBeAbleToRun, - [STRINGID_PKNMABSORBINGPOWER - BATTLESTRINGS_TABLE_START] = sText_PkmnAbsorbingPower, - [STRINGID_RECEIVERABILITYTAKEOVER - BATTLESTRINGS_TABLE_START] = sText_ReceiverAbilityTakeOver, - [STRINGID_SCRIPTINGABILITYSTATRAISE - BATTLESTRINGS_TABLE_START] = sText_ScriptingAbilityRaisedStat, - [STRINGID_HEALERCURE - BATTLESTRINGS_TABLE_START] = sText_HealerCure, - [STRINGID_ATTACKERLOSTFIRETYPE - BATTLESTRINGS_TABLE_START] = sText_AttackerLostFireType, - [STRINGID_ATTACKERCUREDTARGETSTATUS - BATTLESTRINGS_TABLE_START] = sText_AttackerCuredTargetStatus, - [STRINGID_ILLUSIONWOREOFF - BATTLESTRINGS_TABLE_START] = sText_IllusionWoreOff, - [STRINGID_BUGBITE - BATTLESTRINGS_TABLE_START] = sText_BugBite, - [STRINGID_INCINERATEBURN - BATTLESTRINGS_TABLE_START] = sText_IncinerateBurn, - [STRINGID_AIRBALLOONPOP - BATTLESTRINGS_TABLE_START] = sText_AirBalloonPop, - [STRINGID_AIRBALLOONFLOAT - BATTLESTRINGS_TABLE_START] = sText_AirBalloonFloat, - [STRINGID_TARGETATEITEM - BATTLESTRINGS_TABLE_START] = sText_TargetAteItem, - [STRINGID_BERRYDMGREDUCES - BATTLESTRINGS_TABLE_START] = sText_BerryDmgReducing, - [STRINGID_GEMACTIVATES - BATTLESTRINGS_TABLE_START] = sText_GemActivates, - [STRINGID_LASERFOCUS - BATTLESTRINGS_TABLE_START] = sText_LaserFocusMessage, - [STRINGID_THROATCHOPENDS - BATTLESTRINGS_TABLE_START] = sText_ThroatChopEnds, - [STRINGID_PKMNCANTUSEMOVETHROATCHOP - BATTLESTRINGS_TABLE_START] = sText_PkmnCantUseMoveThroatChop, - [STRINGID_USEDINSTRUCTEDMOVE - BATTLESTRINGS_TABLE_START] = sText_UsedInstructedMove, - [STRINGID_CELEBRATEMESSAGE - BATTLESTRINGS_TABLE_START] = sText_CelebrateMessage, - [STRINGID_AROMAVEILPROTECTED - BATTLESTRINGS_TABLE_START] = sText_AromaVeilProtected, - [STRINGID_SWEETVEILPROTECTED - BATTLESTRINGS_TABLE_START] = sText_SweetVeilProtected, - [STRINGID_FLOWERVEILPROTECTED - BATTLESTRINGS_TABLE_START] = sText_FlowerVeilProtected, - [STRINGID_SAFETYGOGGLESPROTECTED - BATTLESTRINGS_TABLE_START] = sText_SafetyGogglesProtected, - [STRINGID_SPECTRALTHIEFSTEAL - BATTLESTRINGS_TABLE_START] = sText_SpectralThiefSteal, - [STRINGID_BELCHCANTSELECT - BATTLESTRINGS_TABLE_START] = sText_BelchCantUse, - [STRINGID_TRAINER1LOSETEXT - BATTLESTRINGS_TABLE_START] = sText_Trainer1LoseText, - [STRINGID_PKMNGAINEDEXP - BATTLESTRINGS_TABLE_START] = sText_PkmnGainedEXP, - [STRINGID_PKMNGREWTOLV - BATTLESTRINGS_TABLE_START] = sText_PkmnGrewToLv, - [STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_TABLE_START] = sText_PkmnLearnedMove, - [STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_TABLE_START] = sText_TryToLearnMove1, - [STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_TABLE_START] = sText_TryToLearnMove2, - [STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_TABLE_START] = sText_TryToLearnMove3, - [STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_TABLE_START] = sText_PkmnForgotMove, - [STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_TABLE_START] = sText_StopLearningMove, - [STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_TABLE_START] = sText_DidNotLearnMove, - [STRINGID_PKMNLEARNEDMOVE2 - BATTLESTRINGS_TABLE_START] = sText_PkmnLearnedMove2, - [STRINGID_ATTACKMISSED - BATTLESTRINGS_TABLE_START] = sText_AttackMissed, - [STRINGID_PKMNPROTECTEDITSELF - BATTLESTRINGS_TABLE_START] = sText_PkmnProtectedItself, - [STRINGID_STATSWONTINCREASE2 - BATTLESTRINGS_TABLE_START] = sText_StatsWontIncrease2, - [STRINGID_AVOIDEDDAMAGE - BATTLESTRINGS_TABLE_START] = sText_AvoidedDamage, - [STRINGID_ITDOESNTAFFECT - BATTLESTRINGS_TABLE_START] = sText_ItDoesntAffect, - [STRINGID_ATTACKERFAINTED - BATTLESTRINGS_TABLE_START] = sText_AttackerFainted, - [STRINGID_TARGETFAINTED - BATTLESTRINGS_TABLE_START] = sText_TargetFainted, - [STRINGID_PLAYERGOTMONEY - BATTLESTRINGS_TABLE_START] = sText_PlayerGotMoney, - [STRINGID_PLAYERWHITEOUT - BATTLESTRINGS_TABLE_START] = sText_PlayerWhiteout, - [STRINGID_PLAYERWHITEOUT2 - BATTLESTRINGS_TABLE_START] = sText_PlayerWhiteout2, - [STRINGID_PREVENTSESCAPE - BATTLESTRINGS_TABLE_START] = sText_PreventsEscape, - [STRINGID_HITXTIMES - BATTLESTRINGS_TABLE_START] = sText_HitXTimes, - [STRINGID_PKMNFELLASLEEP - BATTLESTRINGS_TABLE_START] = sText_PkmnFellAsleep, - [STRINGID_PKMNMADESLEEP - BATTLESTRINGS_TABLE_START] = sText_PkmnMadeSleep, - [STRINGID_PKMNALREADYASLEEP - BATTLESTRINGS_TABLE_START] = sText_PkmnAlreadyAsleep, - [STRINGID_PKMNALREADYASLEEP2 - BATTLESTRINGS_TABLE_START] = sText_PkmnAlreadyAsleep2, - [STRINGID_PKMNWASNTAFFECTED - BATTLESTRINGS_TABLE_START] = sText_PkmnWasntAffected, - [STRINGID_PKMNWASPOISONED - BATTLESTRINGS_TABLE_START] = sText_PkmnWasPoisoned, - [STRINGID_PKMNPOISONEDBY - BATTLESTRINGS_TABLE_START] = sText_PkmnPoisonedBy, - [STRINGID_PKMNHURTBYPOISON - BATTLESTRINGS_TABLE_START] = sText_PkmnHurtByPoison, - [STRINGID_PKMNALREADYPOISONED - BATTLESTRINGS_TABLE_START] = sText_PkmnAlreadyPoisoned, - [STRINGID_PKMNBADLYPOISONED - BATTLESTRINGS_TABLE_START] = sText_PkmnBadlyPoisoned, - [STRINGID_PKMNENERGYDRAINED - BATTLESTRINGS_TABLE_START] = sText_PkmnEnergyDrained, - [STRINGID_PKMNWASBURNED - BATTLESTRINGS_TABLE_START] = sText_PkmnWasBurned, - [STRINGID_PKMNBURNEDBY - BATTLESTRINGS_TABLE_START] = sText_PkmnBurnedBy, - [STRINGID_PKMNHURTBYBURN - BATTLESTRINGS_TABLE_START] = sText_PkmnHurtByBurn, - [STRINGID_PKMNWASFROZEN - BATTLESTRINGS_TABLE_START] = sText_PkmnWasFrozen, - [STRINGID_PKMNFROZENBY - BATTLESTRINGS_TABLE_START] = sText_PkmnFrozenBy, - [STRINGID_PKMNISFROZEN - BATTLESTRINGS_TABLE_START] = sText_PkmnIsFrozen, - [STRINGID_PKMNWASDEFROSTED - BATTLESTRINGS_TABLE_START] = sText_PkmnWasDefrosted, - [STRINGID_PKMNWASDEFROSTED2 - BATTLESTRINGS_TABLE_START] = sText_PkmnWasDefrosted2, - [STRINGID_PKMNWASDEFROSTEDBY - BATTLESTRINGS_TABLE_START] = sText_PkmnWasDefrostedBy, - [STRINGID_PKMNWASPARALYZED - BATTLESTRINGS_TABLE_START] = sText_PkmnWasParalyzed, - [STRINGID_PKMNWASPARALYZEDBY - BATTLESTRINGS_TABLE_START] = sText_PkmnWasParalyzedBy, - [STRINGID_PKMNISPARALYZED - BATTLESTRINGS_TABLE_START] = sText_PkmnIsParalyzed, - [STRINGID_PKMNISALREADYPARALYZED - BATTLESTRINGS_TABLE_START] = sText_PkmnIsAlreadyParalyzed, - [STRINGID_PKMNHEALEDPARALYSIS - BATTLESTRINGS_TABLE_START] = sText_PkmnHealedParalysis, - [STRINGID_PKMNDREAMEATEN - BATTLESTRINGS_TABLE_START] = sText_PkmnDreamEaten, - [STRINGID_STATSWONTINCREASE - BATTLESTRINGS_TABLE_START] = sText_StatsWontIncrease, - [STRINGID_STATSWONTDECREASE - BATTLESTRINGS_TABLE_START] = sText_StatsWontDecrease, - [STRINGID_TEAMSTOPPEDWORKING - BATTLESTRINGS_TABLE_START] = sText_TeamStoppedWorking, - [STRINGID_FOESTOPPEDWORKING - BATTLESTRINGS_TABLE_START] = sText_FoeStoppedWorking, - [STRINGID_PKMNISCONFUSED - BATTLESTRINGS_TABLE_START] = sText_PkmnIsConfused, - [STRINGID_PKMNHEALEDCONFUSION - BATTLESTRINGS_TABLE_START] = sText_PkmnHealedConfusion, - [STRINGID_PKMNWASCONFUSED - BATTLESTRINGS_TABLE_START] = sText_PkmnWasConfused, - [STRINGID_PKMNALREADYCONFUSED - BATTLESTRINGS_TABLE_START] = sText_PkmnAlreadyConfused, - [STRINGID_PKMNFELLINLOVE - BATTLESTRINGS_TABLE_START] = sText_PkmnFellInLove, - [STRINGID_PKMNINLOVE - BATTLESTRINGS_TABLE_START] = sText_PkmnInLove, - [STRINGID_PKMNIMMOBILIZEDBYLOVE - BATTLESTRINGS_TABLE_START] = sText_PkmnImmobilizedByLove, - [STRINGID_PKMNBLOWNAWAY - BATTLESTRINGS_TABLE_START] = sText_PkmnBlownAway, - [STRINGID_PKMNCHANGEDTYPE - BATTLESTRINGS_TABLE_START] = sText_PkmnChangedType, - [STRINGID_PKMNFLINCHED - BATTLESTRINGS_TABLE_START] = sText_PkmnFlinched, - [STRINGID_PKMNREGAINEDHEALTH - BATTLESTRINGS_TABLE_START] = sText_PkmnRegainedHealth, - [STRINGID_PKMNHPFULL - BATTLESTRINGS_TABLE_START] = sText_PkmnHPFull, - [STRINGID_PKMNRAISEDSPDEF - BATTLESTRINGS_TABLE_START] = sText_PkmnRaisedSpDef, - [STRINGID_PKMNRAISEDDEF - BATTLESTRINGS_TABLE_START] = sText_PkmnRaisedDef, - [STRINGID_PKMNCOVEREDBYVEIL - BATTLESTRINGS_TABLE_START] = sText_PkmnCoveredByVeil, - [STRINGID_PKMNUSEDSAFEGUARD - BATTLESTRINGS_TABLE_START] = sText_PkmnUsedSafeguard, - [STRINGID_PKMNSAFEGUARDEXPIRED - BATTLESTRINGS_TABLE_START] = sText_PkmnSafeguardExpired, - [STRINGID_PKMNWENTTOSLEEP - BATTLESTRINGS_TABLE_START] = sText_PkmnWentToSleep, - [STRINGID_PKMNSLEPTHEALTHY - BATTLESTRINGS_TABLE_START] = sText_PkmnSleptHealthy, - [STRINGID_PKMNWHIPPEDWHIRLWIND - BATTLESTRINGS_TABLE_START] = sText_PkmnWhippedWhirlwind, - [STRINGID_PKMNTOOKSUNLIGHT - BATTLESTRINGS_TABLE_START] = sText_PkmnTookSunlight, - [STRINGID_PKMNLOWEREDHEAD - BATTLESTRINGS_TABLE_START] = sText_PkmnLoweredHead, - [STRINGID_PKMNISGLOWING - BATTLESTRINGS_TABLE_START] = sText_PkmnIsGlowing, - [STRINGID_PKMNFLEWHIGH - BATTLESTRINGS_TABLE_START] = sText_PkmnFlewHigh, - [STRINGID_PKMNDUGHOLE - BATTLESTRINGS_TABLE_START] = sText_PkmnDugHole, - [STRINGID_PKMNSQUEEZEDBYBIND - BATTLESTRINGS_TABLE_START] = sText_PkmnSqueezedByBind, - [STRINGID_PKMNTRAPPEDINVORTEX - BATTLESTRINGS_TABLE_START] = sText_PkmnTrappedInVortex, - [STRINGID_PKMNWRAPPEDBY - BATTLESTRINGS_TABLE_START] = sText_PkmnWrappedBy, - [STRINGID_PKMNCLAMPED - BATTLESTRINGS_TABLE_START] = sText_PkmnClamped, - [STRINGID_PKMNHURTBY - BATTLESTRINGS_TABLE_START] = sText_PkmnHurtBy, - [STRINGID_PKMNFREEDFROM - BATTLESTRINGS_TABLE_START] = sText_PkmnFreedFrom, - [STRINGID_PKMNCRASHED - BATTLESTRINGS_TABLE_START] = sText_PkmnCrashed, - [STRINGID_PKMNSHROUDEDINMIST - BATTLESTRINGS_TABLE_START] = gText_PkmnShroudedInMist, - [STRINGID_PKMNPROTECTEDBYMIST - BATTLESTRINGS_TABLE_START] = sText_PkmnProtectedByMist, - [STRINGID_PKMNGETTINGPUMPED - BATTLESTRINGS_TABLE_START] = gText_PkmnGettingPumped, - [STRINGID_PKMNHITWITHRECOIL - BATTLESTRINGS_TABLE_START] = sText_PkmnHitWithRecoil, - [STRINGID_PKMNPROTECTEDITSELF2 - BATTLESTRINGS_TABLE_START] = sText_PkmnProtectedItself2, - [STRINGID_PKMNBUFFETEDBYSANDSTORM - BATTLESTRINGS_TABLE_START] = sText_PkmnBuffetedBySandstorm, - [STRINGID_PKMNPELTEDBYHAIL - BATTLESTRINGS_TABLE_START] = sText_PkmnPeltedByHail, - [STRINGID_PKMNSEEDED - BATTLESTRINGS_TABLE_START] = sText_PkmnSeeded, - [STRINGID_PKMNEVADEDATTACK - BATTLESTRINGS_TABLE_START] = sText_PkmnEvadedAttack, - [STRINGID_PKMNSAPPEDBYLEECHSEED - BATTLESTRINGS_TABLE_START] = sText_PkmnSappedByLeechSeed, - [STRINGID_PKMNFASTASLEEP - BATTLESTRINGS_TABLE_START] = sText_PkmnFastAsleep, - [STRINGID_PKMNWOKEUP - BATTLESTRINGS_TABLE_START] = sText_PkmnWokeUp, - [STRINGID_PKMNUPROARKEPTAWAKE - BATTLESTRINGS_TABLE_START] = sText_PkmnUproarKeptAwake, - [STRINGID_PKMNWOKEUPINUPROAR - BATTLESTRINGS_TABLE_START] = sText_PkmnWokeUpInUproar, - [STRINGID_PKMNCAUSEDUPROAR - BATTLESTRINGS_TABLE_START] = sText_PkmnCausedUproar, - [STRINGID_PKMNMAKINGUPROAR - BATTLESTRINGS_TABLE_START] = sText_PkmnMakingUproar, - [STRINGID_PKMNCALMEDDOWN - BATTLESTRINGS_TABLE_START] = sText_PkmnCalmedDown, - [STRINGID_PKMNCANTSLEEPINUPROAR - BATTLESTRINGS_TABLE_START] = sText_PkmnCantSleepInUproar, - [STRINGID_PKMNSTOCKPILED - BATTLESTRINGS_TABLE_START] = sText_PkmnStockpiled, - [STRINGID_PKMNCANTSTOCKPILE - BATTLESTRINGS_TABLE_START] = sText_PkmnCantStockpile, - [STRINGID_PKMNCANTSLEEPINUPROAR2 - BATTLESTRINGS_TABLE_START] = sText_PkmnCantSleepInUproar2, - [STRINGID_UPROARKEPTPKMNAWAKE - BATTLESTRINGS_TABLE_START] = sText_UproarKeptPkmnAwake, - [STRINGID_PKMNSTAYEDAWAKEUSING - BATTLESTRINGS_TABLE_START] = sText_PkmnStayedAwakeUsing, - [STRINGID_PKMNSTORINGENERGY - BATTLESTRINGS_TABLE_START] = sText_PkmnStoringEnergy, - [STRINGID_PKMNUNLEASHEDENERGY - BATTLESTRINGS_TABLE_START] = sText_PkmnUnleashedEnergy, - [STRINGID_PKMNFATIGUECONFUSION - BATTLESTRINGS_TABLE_START] = sText_PkmnFatigueConfusion, - [STRINGID_PLAYERPICKEDUPMONEY - BATTLESTRINGS_TABLE_START] = sText_PlayerPickedUpMoney, - [STRINGID_PKMNUNAFFECTED - BATTLESTRINGS_TABLE_START] = sText_PkmnUnaffected, - [STRINGID_PKMNTRANSFORMEDINTO - BATTLESTRINGS_TABLE_START] = sText_PkmnTransformedInto, - [STRINGID_PKMNMADESUBSTITUTE - BATTLESTRINGS_TABLE_START] = sText_PkmnMadeSubstitute, - [STRINGID_PKMNHASSUBSTITUTE - BATTLESTRINGS_TABLE_START] = sText_PkmnHasSubstitute, - [STRINGID_SUBSTITUTEDAMAGED - BATTLESTRINGS_TABLE_START] = sText_SubstituteDamaged, - [STRINGID_PKMNSUBSTITUTEFADED - BATTLESTRINGS_TABLE_START] = sText_PkmnSubstituteFaded, - [STRINGID_PKMNMUSTRECHARGE - BATTLESTRINGS_TABLE_START] = sText_PkmnMustRecharge, - [STRINGID_PKMNRAGEBUILDING - BATTLESTRINGS_TABLE_START] = sText_PkmnRageBuilding, - [STRINGID_PKMNMOVEWASDISABLED - BATTLESTRINGS_TABLE_START] = sText_PkmnMoveWasDisabled, - [STRINGID_PKMNMOVEISDISABLED - BATTLESTRINGS_TABLE_START] = sText_PkmnMoveIsDisabled, - [STRINGID_PKMNMOVEDISABLEDNOMORE - BATTLESTRINGS_TABLE_START] = sText_PkmnMoveDisabledNoMore, - [STRINGID_PKMNGOTENCORE - BATTLESTRINGS_TABLE_START] = sText_PkmnGotEncore, - [STRINGID_PKMNENCOREENDED - BATTLESTRINGS_TABLE_START] = sText_PkmnEncoreEnded, - [STRINGID_PKMNTOOKAIM - BATTLESTRINGS_TABLE_START] = sText_PkmnTookAim, - [STRINGID_PKMNSKETCHEDMOVE - BATTLESTRINGS_TABLE_START] = sText_PkmnSketchedMove, - [STRINGID_PKMNTRYINGTOTAKEFOE - BATTLESTRINGS_TABLE_START] = sText_PkmnTryingToTakeFoe, - [STRINGID_PKMNTOOKFOE - BATTLESTRINGS_TABLE_START] = sText_PkmnTookFoe, - [STRINGID_PKMNREDUCEDPP - BATTLESTRINGS_TABLE_START] = sText_PkmnReducedPP, - [STRINGID_PKMNSTOLEITEM - BATTLESTRINGS_TABLE_START] = sText_PkmnStoleItem, - [STRINGID_TARGETCANTESCAPENOW - BATTLESTRINGS_TABLE_START] = sText_TargetCantEscapeNow, - [STRINGID_PKMNFELLINTONIGHTMARE - BATTLESTRINGS_TABLE_START] = sText_PkmnFellIntoNightmare, - [STRINGID_PKMNLOCKEDINNIGHTMARE - BATTLESTRINGS_TABLE_START] = sText_PkmnLockedInNightmare, - [STRINGID_PKMNLAIDCURSE - BATTLESTRINGS_TABLE_START] = sText_PkmnLaidCurse, - [STRINGID_PKMNAFFLICTEDBYCURSE - BATTLESTRINGS_TABLE_START] = sText_PkmnAfflictedByCurse, - [STRINGID_SPIKESSCATTERED - BATTLESTRINGS_TABLE_START] = sText_SpikesScattered, - [STRINGID_PKMNHURTBYSPIKES - BATTLESTRINGS_TABLE_START] = sText_PkmnHurtBySpikes, - [STRINGID_PKMNIDENTIFIED - BATTLESTRINGS_TABLE_START] = sText_PkmnIdentified, - [STRINGID_PKMNPERISHCOUNTFELL - BATTLESTRINGS_TABLE_START] = sText_PkmnPerishCountFell, - [STRINGID_PKMNBRACEDITSELF - BATTLESTRINGS_TABLE_START] = sText_PkmnBracedItself, - [STRINGID_PKMNENDUREDHIT - BATTLESTRINGS_TABLE_START] = sText_PkmnEnduredHit, - [STRINGID_MAGNITUDESTRENGTH - BATTLESTRINGS_TABLE_START] = sText_MagnitudeStrength, - [STRINGID_PKMNCUTHPMAXEDATTACK - BATTLESTRINGS_TABLE_START] = sText_PkmnCutHPMaxedAttack, - [STRINGID_PKMNCOPIEDSTATCHANGES - BATTLESTRINGS_TABLE_START] = sText_PkmnCopiedStatChanges, - [STRINGID_PKMNGOTFREE - BATTLESTRINGS_TABLE_START] = sText_PkmnGotFree, - [STRINGID_PKMNSHEDLEECHSEED - BATTLESTRINGS_TABLE_START] = sText_PkmnShedLeechSeed, - [STRINGID_PKMNBLEWAWAYSPIKES - BATTLESTRINGS_TABLE_START] = sText_PkmnBlewAwaySpikes, - [STRINGID_PKMNFLEDFROMBATTLE - BATTLESTRINGS_TABLE_START] = sText_PkmnFledFromBattle, - [STRINGID_PKMNFORESAWATTACK - BATTLESTRINGS_TABLE_START] = sText_PkmnForesawAttack, - [STRINGID_PKMNTOOKATTACK - BATTLESTRINGS_TABLE_START] = sText_PkmnTookAttack, - [STRINGID_PKMNATTACK - BATTLESTRINGS_TABLE_START] = sText_PkmnAttack, - [STRINGID_PKMNCENTERATTENTION - BATTLESTRINGS_TABLE_START] = sText_PkmnCenterAttention, - [STRINGID_PKMNCHARGINGPOWER - BATTLESTRINGS_TABLE_START] = sText_PkmnChargingPower, - [STRINGID_NATUREPOWERTURNEDINTO - BATTLESTRINGS_TABLE_START] = sText_NaturePowerTurnedInto, - [STRINGID_PKMNSTATUSNORMAL - BATTLESTRINGS_TABLE_START] = sText_PkmnStatusNormal, - [STRINGID_PKMNHASNOMOVESLEFT - BATTLESTRINGS_TABLE_START] = sText_PkmnHasNoMovesLeft, - [STRINGID_PKMNSUBJECTEDTOTORMENT - BATTLESTRINGS_TABLE_START] = sText_PkmnSubjectedToTorment, - [STRINGID_PKMNCANTUSEMOVETORMENT - BATTLESTRINGS_TABLE_START] = sText_PkmnCantUseMoveTorment, - [STRINGID_PKMNTIGHTENINGFOCUS - BATTLESTRINGS_TABLE_START] = sText_PkmnTighteningFocus, - [STRINGID_PKMNFELLFORTAUNT - BATTLESTRINGS_TABLE_START] = sText_PkmnFellForTaunt, - [STRINGID_PKMNCANTUSEMOVETAUNT - BATTLESTRINGS_TABLE_START] = sText_PkmnCantUseMoveTaunt, - [STRINGID_PKMNREADYTOHELP - BATTLESTRINGS_TABLE_START] = sText_PkmnReadyToHelp, - [STRINGID_PKMNSWITCHEDITEMS - BATTLESTRINGS_TABLE_START] = sText_PkmnSwitchedItems, - [STRINGID_PKMNCOPIEDFOE - BATTLESTRINGS_TABLE_START] = sText_PkmnCopiedFoe, - [STRINGID_PKMNMADEWISH - BATTLESTRINGS_TABLE_START] = sText_PkmnMadeWish, - [STRINGID_PKMNWISHCAMETRUE - BATTLESTRINGS_TABLE_START] = sText_PkmnWishCameTrue, - [STRINGID_PKMNPLANTEDROOTS - BATTLESTRINGS_TABLE_START] = sText_PkmnPlantedRoots, - [STRINGID_PKMNABSORBEDNUTRIENTS - BATTLESTRINGS_TABLE_START] = sText_PkmnAbsorbedNutrients, - [STRINGID_PKMNANCHOREDITSELF - BATTLESTRINGS_TABLE_START] = sText_PkmnAnchoredItself, - [STRINGID_PKMNWASMADEDROWSY - BATTLESTRINGS_TABLE_START] = sText_PkmnWasMadeDrowsy, - [STRINGID_PKMNKNOCKEDOFF - BATTLESTRINGS_TABLE_START] = sText_PkmnKnockedOff, - [STRINGID_PKMNSWAPPEDABILITIES - BATTLESTRINGS_TABLE_START] = sText_PkmnSwappedAbilities, - [STRINGID_PKMNSEALEDOPPONENTMOVE - BATTLESTRINGS_TABLE_START] = sText_PkmnSealedOpponentMove, - [STRINGID_PKMNCANTUSEMOVESEALED - BATTLESTRINGS_TABLE_START] = sText_PkmnCantUseMoveSealed, - [STRINGID_PKMNWANTSGRUDGE - BATTLESTRINGS_TABLE_START] = sText_PkmnWantsGrudge, - [STRINGID_PKMNLOSTPPGRUDGE - BATTLESTRINGS_TABLE_START] = sText_PkmnLostPPGrudge, - [STRINGID_PKMNSHROUDEDITSELF - BATTLESTRINGS_TABLE_START] = sText_PkmnShroudedItself, - [STRINGID_PKMNMOVEBOUNCED - BATTLESTRINGS_TABLE_START] = sText_PkmnMoveBounced, - [STRINGID_PKMNWAITSFORTARGET - BATTLESTRINGS_TABLE_START] = sText_PkmnWaitsForTarget, - [STRINGID_PKMNSNATCHEDMOVE - BATTLESTRINGS_TABLE_START] = sText_PkmnSnatchedMove, - [STRINGID_PKMNMADEITRAIN - BATTLESTRINGS_TABLE_START] = sText_PkmnMadeItRain, - [STRINGID_PKMNRAISEDSPEED - BATTLESTRINGS_TABLE_START] = sText_PkmnRaisedSpeed, - [STRINGID_PKMNPROTECTEDBY - BATTLESTRINGS_TABLE_START] = sText_PkmnProtectedBy, - [STRINGID_PKMNPREVENTSUSAGE - BATTLESTRINGS_TABLE_START] = sText_PkmnPreventsUsage, - [STRINGID_PKMNRESTOREDHPUSING - BATTLESTRINGS_TABLE_START] = sText_PkmnRestoredHPUsing, - [STRINGID_PKMNCHANGEDTYPEWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnChangedTypeWith, - [STRINGID_PKMNPREVENTSPARALYSISWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnPreventsParalysisWith, - [STRINGID_PKMNPREVENTSROMANCEWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnPreventsRomanceWith, - [STRINGID_PKMNPREVENTSPOISONINGWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnPreventsPoisoningWith, - [STRINGID_PKMNPREVENTSCONFUSIONWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnPreventsConfusionWith, - [STRINGID_PKMNRAISEDFIREPOWERWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnRaisedFirePowerWith, - [STRINGID_PKMNANCHORSITSELFWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnAnchorsItselfWith, - [STRINGID_PKMNCUTSATTACKWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnCutsAttackWith, - [STRINGID_PKMNPREVENTSSTATLOSSWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnPreventsStatLossWith, - [STRINGID_PKMNHURTSWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnHurtsWith, - [STRINGID_PKMNTRACED - BATTLESTRINGS_TABLE_START] = sText_PkmnTraced, - [STRINGID_STATSHARPLY - BATTLESTRINGS_TABLE_START] = gText_StatSharply, - [STRINGID_STATROSE - BATTLESTRINGS_TABLE_START] = gText_StatRose, - [STRINGID_STATHARSHLY - BATTLESTRINGS_TABLE_START] = sText_StatHarshly, - [STRINGID_STATFELL - BATTLESTRINGS_TABLE_START] = sText_StatFell, - [STRINGID_ATTACKERSSTATROSE - BATTLESTRINGS_TABLE_START] = sText_AttackersStatRose, - [STRINGID_DEFENDERSSTATROSE - BATTLESTRINGS_TABLE_START] = gText_DefendersStatRose, - [STRINGID_ATTACKERSSTATFELL - BATTLESTRINGS_TABLE_START] = sText_AttackersStatFell, - [STRINGID_DEFENDERSSTATFELL - BATTLESTRINGS_TABLE_START] = sText_DefendersStatFell, - [STRINGID_CRITICALHIT - BATTLESTRINGS_TABLE_START] = sText_CriticalHit, - [STRINGID_ONEHITKO - BATTLESTRINGS_TABLE_START] = sText_OneHitKO, - [STRINGID_123POOF - BATTLESTRINGS_TABLE_START] = sText_123Poof, - [STRINGID_ANDELLIPSIS - BATTLESTRINGS_TABLE_START] = sText_AndEllipsis, - [STRINGID_NOTVERYEFFECTIVE - BATTLESTRINGS_TABLE_START] = sText_NotVeryEffective, - [STRINGID_SUPEREFFECTIVE - BATTLESTRINGS_TABLE_START] = sText_SuperEffective, - [STRINGID_GOTAWAYSAFELY - BATTLESTRINGS_TABLE_START] = sText_GotAwaySafely, - [STRINGID_WILDPKMNFLED - BATTLESTRINGS_TABLE_START] = sText_WildPkmnFled, - [STRINGID_NORUNNINGFROMTRAINERS - BATTLESTRINGS_TABLE_START] = sText_NoRunningFromTrainers, - [STRINGID_CANTESCAPE - BATTLESTRINGS_TABLE_START] = sText_CantEscape, - [STRINGID_DONTLEAVEBIRCH - BATTLESTRINGS_TABLE_START] = sText_DontLeaveBirch, - [STRINGID_BUTNOTHINGHAPPENED - BATTLESTRINGS_TABLE_START] = sText_ButNothingHappened, - [STRINGID_BUTITFAILED - BATTLESTRINGS_TABLE_START] = sText_ButItFailed, - [STRINGID_ITHURTCONFUSION - BATTLESTRINGS_TABLE_START] = sText_ItHurtConfusion, - [STRINGID_MIRRORMOVEFAILED - BATTLESTRINGS_TABLE_START] = sText_MirrorMoveFailed, - [STRINGID_STARTEDTORAIN - BATTLESTRINGS_TABLE_START] = sText_StartedToRain, - [STRINGID_DOWNPOURSTARTED - BATTLESTRINGS_TABLE_START] = sText_DownpourStarted, - [STRINGID_RAINCONTINUES - BATTLESTRINGS_TABLE_START] = sText_RainContinues, - [STRINGID_DOWNPOURCONTINUES - BATTLESTRINGS_TABLE_START] = sText_DownpourContinues, - [STRINGID_RAINSTOPPED - BATTLESTRINGS_TABLE_START] = sText_RainStopped, - [STRINGID_SANDSTORMBREWED - BATTLESTRINGS_TABLE_START] = sText_SandstormBrewed, - [STRINGID_SANDSTORMRAGES - BATTLESTRINGS_TABLE_START] = sText_SandstormRages, - [STRINGID_SANDSTORMSUBSIDED - BATTLESTRINGS_TABLE_START] = sText_SandstormSubsided, - [STRINGID_SUNLIGHTGOTBRIGHT - BATTLESTRINGS_TABLE_START] = sText_SunlightGotBright, - [STRINGID_SUNLIGHTSTRONG - BATTLESTRINGS_TABLE_START] = sText_SunlightStrong, - [STRINGID_SUNLIGHTFADED - BATTLESTRINGS_TABLE_START] = sText_SunlightFaded, - [STRINGID_STARTEDHAIL - BATTLESTRINGS_TABLE_START] = sText_StartedHail, - [STRINGID_HAILCONTINUES - BATTLESTRINGS_TABLE_START] = sText_HailContinues, - [STRINGID_HAILSTOPPED - BATTLESTRINGS_TABLE_START] = sText_HailStopped, - [STRINGID_STARTEDSNOW - BATTLESTRINGS_TABLE_START] = sText_StartedSnow, - [STRINGID_SNOWCONTINUES -BATTLESTRINGS_TABLE_START] = sText_SnowContinues, - [STRINGID_SNOWSTOPPED - BATTLESTRINGS_TABLE_START] = sText_SnowStopped, - [STRINGID_FOGCREPTUP - BATTLESTRINGS_TABLE_START] = sText_FogCreptUp, - [STRINGID_FOGISDEEP - BATTLESTRINGS_TABLE_START] = sText_FogIsDeep, - [STRINGID_FOGLIFTED - BATTLESTRINGS_TABLE_START] = sText_FogLifted, - [STRINGID_FAILEDTOSPITUP - BATTLESTRINGS_TABLE_START] = sText_FailedToSpitUp, - [STRINGID_FAILEDTOSWALLOW - BATTLESTRINGS_TABLE_START] = sText_FailedToSwallow, - [STRINGID_WINDBECAMEHEATWAVE - BATTLESTRINGS_TABLE_START] = sText_WindBecameHeatWave, - [STRINGID_STATCHANGESGONE - BATTLESTRINGS_TABLE_START] = sText_StatChangesGone, - [STRINGID_COINSSCATTERED - BATTLESTRINGS_TABLE_START] = sText_CoinsScattered, - [STRINGID_TOOWEAKFORSUBSTITUTE - BATTLESTRINGS_TABLE_START] = sText_TooWeakForSubstitute, - [STRINGID_SHAREDPAIN - BATTLESTRINGS_TABLE_START] = sText_SharedPain, - [STRINGID_BELLCHIMED - BATTLESTRINGS_TABLE_START] = sText_BellChimed, - [STRINGID_FAINTINTHREE - BATTLESTRINGS_TABLE_START] = sText_FaintInThree, - [STRINGID_NOPPLEFT - BATTLESTRINGS_TABLE_START] = sText_NoPPLeft, - [STRINGID_BUTNOPPLEFT - BATTLESTRINGS_TABLE_START] = sText_ButNoPPLeft, - [STRINGID_PLAYERUSEDITEM - BATTLESTRINGS_TABLE_START] = sText_PlayerUsedItem, - [STRINGID_WALLYUSEDITEM - BATTLESTRINGS_TABLE_START] = sText_WallyUsedItem, - [STRINGID_TRAINERBLOCKEDBALL - BATTLESTRINGS_TABLE_START] = sText_TrainerBlockedBall, - [STRINGID_DONTBEATHIEF - BATTLESTRINGS_TABLE_START] = sText_DontBeAThief, - [STRINGID_ITDODGEDBALL - BATTLESTRINGS_TABLE_START] = sText_ItDodgedBall, - [STRINGID_YOUMISSEDPKMN - BATTLESTRINGS_TABLE_START] = sText_YouMissedPkmn, - [STRINGID_PKMNBROKEFREE - BATTLESTRINGS_TABLE_START] = sText_PkmnBrokeFree, - [STRINGID_ITAPPEAREDCAUGHT - BATTLESTRINGS_TABLE_START] = sText_ItAppearedCaught, - [STRINGID_AARGHALMOSTHADIT - BATTLESTRINGS_TABLE_START] = sText_AarghAlmostHadIt, - [STRINGID_SHOOTSOCLOSE - BATTLESTRINGS_TABLE_START] = sText_ShootSoClose, - [STRINGID_GOTCHAPKMNCAUGHTPLAYER - BATTLESTRINGS_TABLE_START] = sText_GotchaPkmnCaughtPlayer, - [STRINGID_GOTCHAPKMNCAUGHTWALLY - BATTLESTRINGS_TABLE_START] = sText_GotchaPkmnCaughtWally, - [STRINGID_GIVENICKNAMECAPTURED - BATTLESTRINGS_TABLE_START] = sText_GiveNicknameCaptured, - [STRINGID_PKMNSENTTOPC - BATTLESTRINGS_TABLE_START] = sText_PkmnSentToPC, - [STRINGID_PKMNDATAADDEDTODEX - BATTLESTRINGS_TABLE_START] = sText_PkmnDataAddedToDex, - [STRINGID_ITISRAINING - BATTLESTRINGS_TABLE_START] = sText_ItIsRaining, - [STRINGID_SANDSTORMISRAGING - BATTLESTRINGS_TABLE_START] = sText_SandstormIsRaging, - [STRINGID_CANTESCAPE2 - BATTLESTRINGS_TABLE_START] = sText_CantEscape2, - [STRINGID_PKMNIGNORESASLEEP - BATTLESTRINGS_TABLE_START] = sText_PkmnIgnoresAsleep, - [STRINGID_PKMNIGNOREDORDERS - BATTLESTRINGS_TABLE_START] = sText_PkmnIgnoredOrders, - [STRINGID_PKMNBEGANTONAP - BATTLESTRINGS_TABLE_START] = sText_PkmnBeganToNap, - [STRINGID_PKMNLOAFING - BATTLESTRINGS_TABLE_START] = sText_PkmnLoafing, - [STRINGID_PKMNWONTOBEY - BATTLESTRINGS_TABLE_START] = sText_PkmnWontObey, - [STRINGID_PKMNTURNEDAWAY - BATTLESTRINGS_TABLE_START] = sText_PkmnTurnedAway, - [STRINGID_PKMNPRETENDNOTNOTICE - BATTLESTRINGS_TABLE_START] = sText_PkmnPretendNotNotice, - [STRINGID_ENEMYABOUTTOSWITCHPKMN - BATTLESTRINGS_TABLE_START] = sText_EnemyAboutToSwitchPkmn, - [STRINGID_CREPTCLOSER - BATTLESTRINGS_TABLE_START] = sText_CreptCloser, - [STRINGID_CANTGETCLOSER - BATTLESTRINGS_TABLE_START] = sText_CantGetCloser, - [STRINGID_PKMNWATCHINGCAREFULLY - BATTLESTRINGS_TABLE_START] = sText_PkmnWatchingCarefully, - [STRINGID_PKMNCURIOUSABOUTX - BATTLESTRINGS_TABLE_START] = sText_PkmnCuriousAboutX, - [STRINGID_PKMNENTHRALLEDBYX - BATTLESTRINGS_TABLE_START] = sText_PkmnEnthralledByX, - [STRINGID_PKMNIGNOREDX - BATTLESTRINGS_TABLE_START] = sText_PkmnIgnoredX, - [STRINGID_THREWPOKEBLOCKATPKMN - BATTLESTRINGS_TABLE_START] = sText_ThrewPokeblockAtPkmn, - [STRINGID_OUTOFSAFARIBALLS - BATTLESTRINGS_TABLE_START] = sText_OutOfSafariBalls, - [STRINGID_PKMNSITEMCUREDPARALYSIS - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemCuredParalysis, - [STRINGID_PKMNSITEMCUREDPOISON - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemCuredPoison, - [STRINGID_PKMNSITEMHEALEDBURN - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemHealedBurn, - [STRINGID_PKMNSITEMDEFROSTEDIT - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemDefrostedIt, - [STRINGID_PKMNSITEMWOKEIT - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemWokeIt, - [STRINGID_PKMNSITEMSNAPPEDOUT - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemSnappedOut, - [STRINGID_PKMNSITEMCUREDPROBLEM - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemCuredProblem, - [STRINGID_PKMNSITEMRESTOREDHEALTH - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemRestoredHealth, - [STRINGID_PKMNSITEMRESTOREDPP - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemRestoredPP, - [STRINGID_PKMNSITEMRESTOREDSTATUS - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemRestoredStatus, - [STRINGID_PKMNSITEMRESTOREDHPALITTLE - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemRestoredHPALittle, - [STRINGID_ITEMALLOWSONLYYMOVE - BATTLESTRINGS_TABLE_START] = sText_ItemAllowsOnlyYMove, - [STRINGID_PKMNHUNGONWITHX - BATTLESTRINGS_TABLE_START] = sText_PkmnHungOnWithX, - [STRINGID_EMPTYSTRING3 - BATTLESTRINGS_TABLE_START] = gText_EmptyString3, - [STRINGID_PKMNSXPREVENTSBURNS - BATTLESTRINGS_TABLE_START] = sText_PkmnsXPreventsBurns, - [STRINGID_PKMNSXBLOCKSY - BATTLESTRINGS_TABLE_START] = sText_PkmnsXBlocksY, - [STRINGID_PKMNSXRESTOREDHPALITTLE2 - BATTLESTRINGS_TABLE_START] = sText_PkmnsXRestoredHPALittle2, - [STRINGID_PKMNSXWHIPPEDUPSANDSTORM - BATTLESTRINGS_TABLE_START] = sText_PkmnsXWhippedUpSandstorm, - [STRINGID_PKMNSXPREVENTSYLOSS - BATTLESTRINGS_TABLE_START] = sText_PkmnsXPreventsYLoss, - [STRINGID_PKMNSXINFATUATEDY - BATTLESTRINGS_TABLE_START] = sText_PkmnsXInfatuatedY, - [STRINGID_PKMNSXMADEYINEFFECTIVE - BATTLESTRINGS_TABLE_START] = sText_PkmnsXMadeYIneffective, - [STRINGID_PKMNSXCUREDYPROBLEM - BATTLESTRINGS_TABLE_START] = sText_PkmnsXCuredYProblem, - [STRINGID_ITSUCKEDLIQUIDOOZE - BATTLESTRINGS_TABLE_START] = sText_ItSuckedLiquidOoze, - [STRINGID_PKMNTRANSFORMED - BATTLESTRINGS_TABLE_START] = sText_PkmnTransformed, - [STRINGID_ELECTRICITYWEAKENED - BATTLESTRINGS_TABLE_START] = sText_ElectricityWeakened, - [STRINGID_FIREWEAKENED - BATTLESTRINGS_TABLE_START] = sText_FireWeakened, - [STRINGID_PKMNHIDUNDERWATER - BATTLESTRINGS_TABLE_START] = sText_PkmnHidUnderwater, - [STRINGID_PKMNSPRANGUP - BATTLESTRINGS_TABLE_START] = sText_PkmnSprangUp, - [STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_TABLE_START] = sText_HMMovesCantBeForgotten, - [STRINGID_XFOUNDONEY - BATTLESTRINGS_TABLE_START] = sText_XFoundOneY, - [STRINGID_PLAYERDEFEATEDTRAINER1 - BATTLESTRINGS_TABLE_START] = sText_PlayerDefeatedLinkTrainerTrainer1, - [STRINGID_SOOTHINGAROMA - BATTLESTRINGS_TABLE_START] = sText_SoothingAroma, - [STRINGID_ITEMSCANTBEUSEDNOW - BATTLESTRINGS_TABLE_START] = sText_ItemsCantBeUsedNow, - [STRINGID_FORXCOMMAYZ - BATTLESTRINGS_TABLE_START] = sText_ForXCommaYZ, - [STRINGID_USINGITEMSTATOFPKMNROSE - BATTLESTRINGS_TABLE_START] = sText_UsingItemTheStatOfPkmnRose, - [STRINGID_PKMNUSEDXTOGETPUMPED - BATTLESTRINGS_TABLE_START] = sText_PkmnUsedXToGetPumped, - [STRINGID_PKMNSXMADEYUSELESS - BATTLESTRINGS_TABLE_START] = sText_PkmnsXMadeYUseless, - [STRINGID_PKMNTRAPPEDBYSANDTOMB - BATTLESTRINGS_TABLE_START] = sText_PkmnTrappedBySandTomb, - [STRINGID_EMPTYSTRING4 - BATTLESTRINGS_TABLE_START] = sText_EmptyString4, - [STRINGID_ABOOSTED - BATTLESTRINGS_TABLE_START] = sText_ABoosted, - [STRINGID_PKMNSXINTENSIFIEDSUN - BATTLESTRINGS_TABLE_START] = sText_PkmnsXIntensifiedSun, - [STRINGID_PKMNMAKESGROUNDMISS - BATTLESTRINGS_TABLE_START] = sText_PkmnMakesGroundMiss, - [STRINGID_YOUTHROWABALLNOWRIGHT - BATTLESTRINGS_TABLE_START] = sText_YouThrowABallNowRight, - [STRINGID_PKMNSXTOOKATTACK - BATTLESTRINGS_TABLE_START] = sText_PkmnsXTookAttack, - [STRINGID_PKMNCHOSEXASDESTINY - BATTLESTRINGS_TABLE_START] = sText_PkmnChoseXAsDestiny, - [STRINGID_PKMNLOSTFOCUS - BATTLESTRINGS_TABLE_START] = sText_PkmnLostFocus, - [STRINGID_USENEXTPKMN - BATTLESTRINGS_TABLE_START] = sText_UseNextPkmn, - [STRINGID_PKMNFLEDUSINGITS - BATTLESTRINGS_TABLE_START] = sText_PkmnFledUsingIts, - [STRINGID_PKMNFLEDUSING - BATTLESTRINGS_TABLE_START] = sText_PkmnFledUsing, - [STRINGID_PKMNWASDRAGGEDOUT - BATTLESTRINGS_TABLE_START] = sText_PkmnWasDraggedOut, - [STRINGID_PREVENTEDFROMWORKING - BATTLESTRINGS_TABLE_START] = sText_PreventedFromWorking, - [STRINGID_PKMNSITEMNORMALIZEDSTATUS - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemNormalizedStatus, - [STRINGID_TRAINER1USEDITEM - BATTLESTRINGS_TABLE_START] = sText_Trainer1UsedItem, - [STRINGID_BOXISFULL - BATTLESTRINGS_TABLE_START] = sText_BoxIsFull, - [STRINGID_PKMNAVOIDEDATTACK - BATTLESTRINGS_TABLE_START] = sText_PkmnAvoidedAttack, - [STRINGID_PKMNSXMADEITINEFFECTIVE - BATTLESTRINGS_TABLE_START] = sText_PkmnsXMadeItIneffective, - [STRINGID_PKMNSXPREVENTSFLINCHING - BATTLESTRINGS_TABLE_START] = sText_PkmnsXPreventsFlinching, - [STRINGID_PKMNALREADYHASBURN - BATTLESTRINGS_TABLE_START] = sText_PkmnAlreadyHasBurn, - [STRINGID_STATSWONTDECREASE2 - BATTLESTRINGS_TABLE_START] = sText_StatsWontDecrease2, - [STRINGID_PKMNSXBLOCKSY2 - BATTLESTRINGS_TABLE_START] = sText_PkmnsXBlocksY2, - [STRINGID_PKMNSXWOREOFF - BATTLESTRINGS_TABLE_START] = sText_PkmnsXWoreOff, - [STRINGID_PKMNRAISEDDEFALITTLE - BATTLESTRINGS_TABLE_START] = sText_PkmnRaisedDefALittle, - [STRINGID_PKMNRAISEDSPDEFALITTLE - BATTLESTRINGS_TABLE_START] = sText_PkmnRaisedSpDefALittle, - [STRINGID_THEWALLSHATTERED - BATTLESTRINGS_TABLE_START] = sText_TheWallShattered, - [STRINGID_PKMNSXPREVENTSYSZ - BATTLESTRINGS_TABLE_START] = sText_PkmnsXPreventsYsZ, - [STRINGID_PKMNSXCUREDITSYPROBLEM - BATTLESTRINGS_TABLE_START] = sText_PkmnsXCuredItsYProblem, - [STRINGID_ATTACKERCANTESCAPE - BATTLESTRINGS_TABLE_START] = sText_AttackerCantEscape, - [STRINGID_PKMNOBTAINEDX - BATTLESTRINGS_TABLE_START] = sText_PkmnObtainedX, - [STRINGID_PKMNOBTAINEDX2 - BATTLESTRINGS_TABLE_START] = sText_PkmnObtainedX2, - [STRINGID_PKMNOBTAINEDXYOBTAINEDZ - BATTLESTRINGS_TABLE_START] = sText_PkmnObtainedXYObtainedZ, - [STRINGID_BUTNOEFFECT - BATTLESTRINGS_TABLE_START] = sText_ButNoEffect, - [STRINGID_PKMNSXHADNOEFFECTONY - BATTLESTRINGS_TABLE_START] = sText_PkmnsXHadNoEffectOnY, - [STRINGID_TWOENEMIESDEFEATED - BATTLESTRINGS_TABLE_START] = sText_TwoInGameTrainersDefeated, - [STRINGID_TRAINER2LOSETEXT - BATTLESTRINGS_TABLE_START] = sText_Trainer2LoseText, - [STRINGID_PKMNINCAPABLEOFPOWER - BATTLESTRINGS_TABLE_START] = sText_PkmnIncapableOfPower, - [STRINGID_GLINTAPPEARSINEYE - BATTLESTRINGS_TABLE_START] = sText_GlintAppearsInEye, - [STRINGID_PKMNGETTINGINTOPOSITION - BATTLESTRINGS_TABLE_START] = sText_PkmnGettingIntoPosition, - [STRINGID_PKMNBEGANGROWLINGDEEPLY - BATTLESTRINGS_TABLE_START] = sText_PkmnBeganGrowlingDeeply, - [STRINGID_PKMNEAGERFORMORE - BATTLESTRINGS_TABLE_START] = sText_PkmnEagerForMore, - [STRINGID_DEFEATEDOPPONENTBYREFEREE - BATTLESTRINGS_TABLE_START] = sText_DefeatedOpponentByReferee, - [STRINGID_LOSTTOOPPONENTBYREFEREE - BATTLESTRINGS_TABLE_START] = sText_LostToOpponentByReferee, - [STRINGID_TIEDOPPONENTBYREFEREE - BATTLESTRINGS_TABLE_START] = sText_TiedOpponentByReferee, - [STRINGID_QUESTIONFORFEITMATCH - BATTLESTRINGS_TABLE_START] = sText_QuestionForfeitMatch, - [STRINGID_FORFEITEDMATCH - BATTLESTRINGS_TABLE_START] = sText_ForfeitedMatch, - [STRINGID_PKMNTRANSFERREDSOMEONESPC - BATTLESTRINGS_TABLE_START] = gText_PkmnTransferredSomeonesPC, - [STRINGID_PKMNTRANSFERREDLANETTESPC - BATTLESTRINGS_TABLE_START] = gText_PkmnTransferredLanettesPC, - [STRINGID_PKMNBOXSOMEONESPCFULL - BATTLESTRINGS_TABLE_START] = gText_PkmnTransferredSomeonesPCBoxFull, - [STRINGID_PKMNBOXLANETTESPCFULL - BATTLESTRINGS_TABLE_START] = gText_PkmnTransferredLanettesPCBoxFull, - [STRINGID_TRAINER1WINTEXT - BATTLESTRINGS_TABLE_START] = sText_Trainer1WinText, - [STRINGID_TRAINER2WINTEXT - BATTLESTRINGS_TABLE_START] = sText_Trainer2WinText, - [STRINGID_ENDUREDSTURDY - BATTLESTRINGS_TABLE_START] = sText_EnduredViaSturdy, - [STRINGID_POWERHERB - BATTLESTRINGS_TABLE_START] = sText_PowerHerbActivation, - [STRINGID_HURTBYITEM - BATTLESTRINGS_TABLE_START] = sText_HurtByItem, - [STRINGID_PSNBYITEM - BATTLESTRINGS_TABLE_START] = sText_BadlyPoisonedByItem, - [STRINGID_BRNBYITEM - BATTLESTRINGS_TABLE_START] = sText_BurnedByItem, - [STRINGID_DEFABILITYIN - BATTLESTRINGS_TABLE_START] = sText_TargetAbilityActivates, - [STRINGID_GRAVITYINTENSIFIED - BATTLESTRINGS_TABLE_START] = sText_GravityIntensified, - [STRINGID_TARGETIDENTIFIED - BATTLESTRINGS_TABLE_START] = sText_TargetIdentified, - [STRINGID_TARGETWOKEUP - BATTLESTRINGS_TABLE_START] = sText_TargetWokeUp, - [STRINGID_PKMNSTOLEANDATEITEM - BATTLESTRINGS_TABLE_START] = sText_PkmnStoleAndAteItem, - [STRINGID_TAILWINDBLEW - BATTLESTRINGS_TABLE_START] = sText_TailWindBlew, - [STRINGID_PKMNWENTBACK - BATTLESTRINGS_TABLE_START] = sText_PkmnWentBack, - [STRINGID_PKMNCANTUSEITEMSANYMORE - BATTLESTRINGS_TABLE_START] = sText_PkmnCantUseItemsAnymore, - [STRINGID_PKMNFLUNG - BATTLESTRINGS_TABLE_START] = sText_PkmnFlung, - [STRINGID_PKMNPREVENTEDFROMHEALING - BATTLESTRINGS_TABLE_START] = sText_PkmnPreventedFromHealing, - [STRINGID_PKMNSWITCHEDATKANDDEF - BATTLESTRINGS_TABLE_START] = sText_PkmnSwitchedAtkAndDef, - [STRINGID_PKMNSABILITYSUPPRESSED - BATTLESTRINGS_TABLE_START] = sText_PkmnsAbilitySuppressed, - [STRINGID_SHIELDEDFROMCRITICALHITS - BATTLESTRINGS_TABLE_START] = sText_ShieldedFromCriticalHits, - [STRINGID_SWITCHEDATKANDSPATK - BATTLESTRINGS_TABLE_START] = sText_SwitchedAtkAndSpAtk, - [STRINGID_SWITCHEDDEFANDSPDEF - BATTLESTRINGS_TABLE_START] = sText_SwitchedDefAndSpDef, - [STRINGID_PKMNACQUIREDABILITY - BATTLESTRINGS_TABLE_START] = sText_PkmnAcquiredAbility, - [STRINGID_POISONSPIKESSCATTERED - BATTLESTRINGS_TABLE_START] = sText_PoisonSpikesScattered, - [STRINGID_PKMNSWITCHEDSTATCHANGES - BATTLESTRINGS_TABLE_START] = sText_PkmnSwitchedStatChanges, - [STRINGID_PKMNSURROUNDEDWITHVEILOFWATER - BATTLESTRINGS_TABLE_START] = sText_PkmnSurroundedWithVeilOfWater, - [STRINGID_PKMNLEVITATEDONELECTROMAGNETISM - BATTLESTRINGS_TABLE_START] = sText_PkmnLevitatedOnElectromagnetism, - [STRINGID_PKMNTWISTEDDIMENSIONS - BATTLESTRINGS_TABLE_START] = sText_PkmnTwistedDimensions, - [STRINGID_DIMENSIONSWERETWISTED - BATTLESTRINGS_TABLE_START] = sText_DimensionsWereTwisted, - [STRINGID_POINTEDSTONESFLOAT - BATTLESTRINGS_TABLE_START] = sText_PointedStonesFloat, - [STRINGID_CLOAKEDINMYSTICALMOONLIGHT - BATTLESTRINGS_TABLE_START] = sText_CloakedInMysticalMoonlight, - [STRINGID_TRAPPEDBYSWIRLINGMAGMA - BATTLESTRINGS_TABLE_START] = sText_TrappedBySwirlingMagma, - [STRINGID_VANISHEDINSTANTLY - BATTLESTRINGS_TABLE_START] = sText_VanishedInstantly, - [STRINGID_PROTECTEDTEAM - BATTLESTRINGS_TABLE_START] = sText_ProtectedTeam, - [STRINGID_SHAREDITSGUARD - BATTLESTRINGS_TABLE_START] = sText_SharedItsGuard, - [STRINGID_SHAREDITSPOWER - BATTLESTRINGS_TABLE_START] = sText_SharedItsPower, - [STRINGID_SWAPSDEFANDSPDEFOFALLPOKEMON - BATTLESTRINGS_TABLE_START] = sText_SwapsDefAndSpDefOfAllPkmn, - [STRINGID_BIZARREAREACREATED - BATTLESTRINGS_TABLE_START] = sText_BizzareAreaCreated, - [STRINGID_BECAMENIMBLE - BATTLESTRINGS_TABLE_START] = sText_BecameNimble, - [STRINGID_HURLEDINTOTHEAIR - BATTLESTRINGS_TABLE_START] = sText_HurledIntoTheAir, - [STRINGID_HELDITEMSLOSEEFFECTS - BATTLESTRINGS_TABLE_START] = sText_HeldItemsLoseEffects, - [STRINGID_BIZARREARENACREATED - BATTLESTRINGS_TABLE_START] = sText_BizarreArenaCreated, - [STRINGID_FELLSTRAIGHTDOWN - BATTLESTRINGS_TABLE_START] = sText_FellStraightDown, - [STRINGID_TARGETCHANGEDTYPE - BATTLESTRINGS_TABLE_START] = sText_TargetChangedType, - [STRINGID_PKMNACQUIREDSIMPLE - BATTLESTRINGS_TABLE_START] = sText_PkmnAcquiredSimple, - [STRINGID_EMPTYSTRING5 - BATTLESTRINGS_TABLE_START] = sText_EmptyString4, - [STRINGID_KINDOFFER - BATTLESTRINGS_TABLE_START] = sText_KindOffer, - [STRINGID_RESETSTARGETSSTATLEVELS - BATTLESTRINGS_TABLE_START] = sText_ResetsTargetsStatLevels, - [STRINGID_EMPTYSTRING6 - BATTLESTRINGS_TABLE_START] = sText_EmptyString4, - [STRINGID_ALLYSWITCHPOSITION - BATTLESTRINGS_TABLE_START] = sText_AllySwitchPosition, - [STRINGID_RESTORETARGETSHEALTH - BATTLESTRINGS_TABLE_START] = sText_RestoreTargetsHealth, - [STRINGID_TOOKPJMNINTOTHESKY - BATTLESTRINGS_TABLE_START] = sText_TookPkmnIntoTheSky, - [STRINGID_FREEDFROMSKYDROP - BATTLESTRINGS_TABLE_START] = sText_FreedFromSkyDrop, - [STRINGID_POSTPONETARGETMOVE - BATTLESTRINGS_TABLE_START] = sText_PostponeTargetMove, - [STRINGID_REFLECTTARGETSTYPE - BATTLESTRINGS_TABLE_START] = sText_ReflectTargetsType, - [STRINGID_TRANSFERHELDITEM - BATTLESTRINGS_TABLE_START] = sText_TransferHeldItem, - [STRINGID_EMBARGOENDS - BATTLESTRINGS_TABLE_START] = sText_EmbargoEnds, - [STRINGID_ELECTROMAGNETISM - BATTLESTRINGS_TABLE_START] = sText_Electromagnetism, - [STRINGID_BUFFERENDS - BATTLESTRINGS_TABLE_START] = sText_BufferEnds, - [STRINGID_TELEKINESISENDS - BATTLESTRINGS_TABLE_START] = sText_TelekinesisEnds, - [STRINGID_TAILWINDENDS - BATTLESTRINGS_TABLE_START] = sText_TailwindEnds, - [STRINGID_LUCKYCHANTENDS - BATTLESTRINGS_TABLE_START] = sText_LuckyChantEnds, - [STRINGID_TRICKROOMENDS - BATTLESTRINGS_TABLE_START] = sText_TrickRoomEnds, - [STRINGID_WONDERROOMENDS - BATTLESTRINGS_TABLE_START] = sText_WonderRoomEnds, - [STRINGID_MAGICROOMENDS - BATTLESTRINGS_TABLE_START] = sText_MagicRoomEnds, - [STRINGID_MUDSPORTENDS - BATTLESTRINGS_TABLE_START] = sText_MudSportEnds, - [STRINGID_WATERSPORTENDS - BATTLESTRINGS_TABLE_START] = sText_WaterSportEnds, - [STRINGID_GRAVITYENDS - BATTLESTRINGS_TABLE_START] = sText_GravityEnds, - [STRINGID_AQUARINGHEAL - BATTLESTRINGS_TABLE_START] = sText_AquaRingHeal, - [STRINGID_ELECTRICTERRAINENDS - BATTLESTRINGS_TABLE_START] = sText_ElectricTerrainEnds, - [STRINGID_MISTYTERRAINENDS - BATTLESTRINGS_TABLE_START] = sText_MistyTerrainEnds, - [STRINGID_PSYCHICTERRAINENDS - BATTLESTRINGS_TABLE_START] = sText_PsychicTerrainEnds, - [STRINGID_GRASSYTERRAINENDS - BATTLESTRINGS_TABLE_START] = sText_GrassyTerrainEnds, - [STRINGID_TARGETABILITYSTATRAISE - BATTLESTRINGS_TABLE_START] = sText_TargetAbilityRaisedStat, - [STRINGID_TARGETSSTATWASMAXEDOUT - BATTLESTRINGS_TABLE_START] = sText_TargetsStatWasMaxedOut, - [STRINGID_ATTACKERABILITYSTATRAISE - BATTLESTRINGS_TABLE_START] = sText_AttackerAbilityRaisedStat, - [STRINGID_POISONHEALHPUP - BATTLESTRINGS_TABLE_START] = sText_PoisonHealHpUp, - [STRINGID_BADDREAMSDMG - BATTLESTRINGS_TABLE_START] = sText_BadDreamsDmg, - [STRINGID_MOLDBREAKERENTERS - BATTLESTRINGS_TABLE_START] = sText_MoldBreakerEnters, - [STRINGID_TERAVOLTENTERS - BATTLESTRINGS_TABLE_START] = sText_TeravoltEnters, - [STRINGID_TURBOBLAZEENTERS - BATTLESTRINGS_TABLE_START] = sText_TurboblazeEnters, - [STRINGID_SLOWSTARTENTERS - BATTLESTRINGS_TABLE_START] = sText_SlowStartEnters, - [STRINGID_SLOWSTARTEND - BATTLESTRINGS_TABLE_START] = sText_SlowStartEnd, - [STRINGID_SOLARPOWERHPDROP - BATTLESTRINGS_TABLE_START] = sText_SolarPowerHpDrop, - [STRINGID_AFTERMATHDMG - BATTLESTRINGS_TABLE_START] = sText_AftermathDmg, - [STRINGID_ANTICIPATIONACTIVATES - BATTLESTRINGS_TABLE_START] = sText_AnticipationActivates, - [STRINGID_FOREWARNACTIVATES - BATTLESTRINGS_TABLE_START] = sText_ForewarnActivates, - [STRINGID_ICEBODYHPGAIN - BATTLESTRINGS_TABLE_START] = sText_IceBodyHpGain, - [STRINGID_SNOWWARNINGHAIL - BATTLESTRINGS_TABLE_START] = sText_SnowWarningHail, - [STRINGID_SNOWWARNINGSNOW - BATTLESTRINGS_TABLE_START] = sText_SnowWarningSnow, - [STRINGID_FRISKACTIVATES - BATTLESTRINGS_TABLE_START] = sText_FriskActivates, - [STRINGID_UNNERVEENTERS - BATTLESTRINGS_TABLE_START] = sText_UnnerveEnters, - [STRINGID_HARVESTBERRY - BATTLESTRINGS_TABLE_START] = sText_HarvestBerry, - [STRINGID_LASTABILITYRAISEDSTAT - BATTLESTRINGS_TABLE_START] = sText_LastAbilityRaisedBuff1, - [STRINGID_MAGICBOUNCEACTIVATES - BATTLESTRINGS_TABLE_START] = sText_MagicBounceActivates, - [STRINGID_PROTEANTYPECHANGE - BATTLESTRINGS_TABLE_START] = sText_ProteanTypeChange, - [STRINGID_SYMBIOSISITEMPASS - BATTLESTRINGS_TABLE_START] = sText_SymbiosisItemPass, - [STRINGID_STEALTHROCKDMG - BATTLESTRINGS_TABLE_START] = sText_StealthRockDmg, - [STRINGID_TOXICSPIKESABSORBED - BATTLESTRINGS_TABLE_START] = sText_ToxicSpikesAbsorbed, - [STRINGID_TOXICSPIKESPOISONED - BATTLESTRINGS_TABLE_START] = sText_ToxicSpikesPoisoned, - [STRINGID_STICKYWEBSWITCHIN - BATTLESTRINGS_TABLE_START] = sText_StickyWebSwitchIn, - [STRINGID_HEALINGWISHCAMETRUE - BATTLESTRINGS_TABLE_START] = sText_HealingWishCameTrue, - [STRINGID_HEALINGWISHHEALED - BATTLESTRINGS_TABLE_START] = sText_HealingWishHealed, - [STRINGID_LUNARDANCECAMETRUE - BATTLESTRINGS_TABLE_START] = sText_LunarDanceCameTrue, - [STRINGID_CUSEDBODYDISABLED - BATTLESTRINGS_TABLE_START] = sText_CursedBodyDisabled, - [STRINGID_ATTACKERACQUIREDABILITY - BATTLESTRINGS_TABLE_START] = sText_AttackerAcquiredAbility, - [STRINGID_TARGETABILITYSTATLOWER - BATTLESTRINGS_TABLE_START] = sText_TargetAbilityLoweredStat, - [STRINGID_TARGETSTATWONTGOHIGHER - BATTLESTRINGS_TABLE_START] = sText_TargetStatWontGoHigher, - [STRINGID_PKMNMOVEBOUNCEDABILITY - BATTLESTRINGS_TABLE_START] = sText_PkmnMoveBouncedViaAbility, - [STRINGID_IMPOSTERTRANSFORM - BATTLESTRINGS_TABLE_START] = sText_ImposterTransform, - [STRINGID_ASSAULTVESTDOESNTALLOW - BATTLESTRINGS_TABLE_START] = sText_AssaultVestDoesntAllow, - [STRINGID_GRAVITYPREVENTSUSAGE - BATTLESTRINGS_TABLE_START] = sText_GravityPreventsUsage, - [STRINGID_HEALBLOCKPREVENTSUSAGE - BATTLESTRINGS_TABLE_START] = sText_HealBlockPreventsUsage, - [STRINGID_NOTDONEYET - BATTLESTRINGS_TABLE_START] = sText_NotDoneYet, - [STRINGID_STICKYWEBUSED - BATTLESTRINGS_TABLE_START] = sText_StickyWebUsed, - [STRINGID_QUASHSUCCESS - BATTLESTRINGS_TABLE_START] = sText_QuashSuccess, - [STRINGID_PKMNBLEWAWAYTOXICSPIKES - BATTLESTRINGS_TABLE_START] = sText_PkmnBlewAwayToxicSpikes, - [STRINGID_PKMNBLEWAWAYSTICKYWEB - BATTLESTRINGS_TABLE_START] = sText_PkmnBlewAwayStickyWeb, - [STRINGID_PKMNBLEWAWAYSTEALTHROCK - BATTLESTRINGS_TABLE_START] = sText_PkmnBlewAwayStealthRock, - [STRINGID_SPIKESDISAPPEAREDFROMTEAM - BATTLESTRINGS_TABLE_START] = sText_SpikesDisappearedFromTeam, - [STRINGID_TOXICSPIKESDISAPPEAREDFROMTEAM - BATTLESTRINGS_TABLE_START] = sText_ToxicSpikesDisappearedFromTeam, - [STRINGID_STEALTHROCKDISAPPEAREDFROMTEAM - BATTLESTRINGS_TABLE_START] = sText_StealthRockDisappearedFromTeam, - [STRINGID_STICKYWEBDISAPPEAREDFROMTEAM - BATTLESTRINGS_TABLE_START] = sText_StickyWebDisappearedFromTeam, - [STRINGID_SHARPSTEELDISAPPEAREDFROMTEAM - BATTLESTRINGS_TABLE_START] = sText_SharpSteelDisappearedFromTeam, - [STRINGID_IONDELUGEON - BATTLESTRINGS_TABLE_START] = sText_IonDelugeOn, - [STRINGID_TOPSYTURVYSWITCHEDSTATS - BATTLESTRINGS_TABLE_START] = sText_TopsyTurvySwitchedStats, - [STRINGID_TERRAINBECOMESMISTY - BATTLESTRINGS_TABLE_START] = sText_TerrainBecomesMisty, - [STRINGID_TERRAINBECOMESGRASSY - BATTLESTRINGS_TABLE_START] = sText_TerrainBecomesGrassy, - [STRINGID_TERRAINBECOMESELECTRIC - BATTLESTRINGS_TABLE_START] = sText_TerrainBecomesElectric, - [STRINGID_TERRAINBECOMESPSYCHIC - BATTLESTRINGS_TABLE_START] = sText_TerrainBecomesPsychic, - [STRINGID_TARGETELECTRIFIED - BATTLESTRINGS_TABLE_START] = sText_TargetElectrified, - [STRINGID_MEGAEVOREACTING - BATTLESTRINGS_TABLE_START] = sText_MegaEvoReacting, - [STRINGID_FERVENTWISHREACHED - BATTLESTRINGS_TABLE_START] = sText_FerventWishReached, - [STRINGID_MEGAEVOEVOLVED - BATTLESTRINGS_TABLE_START] = sText_MegaEvoEvolved, - [STRINGID_DRASTICALLY - BATTLESTRINGS_TABLE_START] = sText_drastically, - [STRINGID_SEVERELY - BATTLESTRINGS_TABLE_START] = sText_severely, - [STRINGID_INFESTATION - BATTLESTRINGS_TABLE_START] = sText_Infestation, - [STRINGID_NOEFFECTONTARGET - BATTLESTRINGS_TABLE_START] = sText_NoEffectOnTarget, - [STRINGID_BURSTINGFLAMESHIT - BATTLESTRINGS_TABLE_START] = sText_BurstingFlames, - [STRINGID_BESTOWITEMGIVING - BATTLESTRINGS_TABLE_START] = sText_BestowItemGiving, - [STRINGID_THIRDTYPEADDED - BATTLESTRINGS_TABLE_START] = sText_ThirdTypeAdded, - [STRINGID_FELLFORFEINT - BATTLESTRINGS_TABLE_START] = sText_FellForFeint, - [STRINGID_POKEMONCANNOTUSEMOVE - BATTLESTRINGS_TABLE_START] = sText_PokemonCannotUseMove, - [STRINGID_COVEREDINPOWDER - BATTLESTRINGS_TABLE_START] = sText_CoveredInPowder, - [STRINGID_POWDEREXPLODES - BATTLESTRINGS_TABLE_START] = sText_PowderExplodes, - [STRINGID_GRAVITYGROUNDING - BATTLESTRINGS_TABLE_START] = sText_GravityGrounding, - [STRINGID_MISTYTERRAINPREVENTS - BATTLESTRINGS_TABLE_START] = sText_MistyTerrainPreventsStatus, - [STRINGID_GRASSYTERRAINHEALS - BATTLESTRINGS_TABLE_START] = sText_GrassyTerrainHeals, - [STRINGID_ELECTRICTERRAINPREVENTS - BATTLESTRINGS_TABLE_START] = sText_ElectricTerrainPreventsSleep, - [STRINGID_PSYCHICTERRAINPREVENTS - BATTLESTRINGS_TABLE_START] = sText_PsychicTerrainPreventsPriority, - [STRINGID_AURAFLAREDTOLIFE - BATTLESTRINGS_TABLE_START] = sText_AuraFlaredToLife, - [STRINGID_AIRLOCKACTIVATES - BATTLESTRINGS_TABLE_START] = sText_AirLockActivates, - [STRINGID_PRESSUREENTERS - BATTLESTRINGS_TABLE_START] = sText_PressureActivates, - [STRINGID_DARKAURAENTERS - BATTLESTRINGS_TABLE_START] = sText_DarkAuraActivates, - [STRINGID_FAIRYAURAENTERS - BATTLESTRINGS_TABLE_START] = sText_FairyAuraActivates, - [STRINGID_AURABREAKENTERS - BATTLESTRINGS_TABLE_START] = sText_AuraBreakActivates, - [STRINGID_COMATOSEENTERS - BATTLESTRINGS_TABLE_START] = sText_ComatoseActivates, - [STRINGID_SCREENCLEANERENTERS - BATTLESTRINGS_TABLE_START] = sText_ScreenCleanerActivates, - [STRINGID_BOTHCANNOLONGERESCAPE - BATTLESTRINGS_TABLE_START] = sText_BothCanNoLongerEscape, - [STRINGID_CANTESCAPEDUETOUSEDMOVE - BATTLESTRINGS_TABLE_START] = sText_CantEscapeDueToUsedMove, - [STRINGID_PKMNBECAMEWEAKERTOFIRE - BATTLESTRINGS_TABLE_START] = sText_PkmnBecameWeakerToFire, - [STRINGID_ABOUTTOUSEPOLTERGEIST - BATTLESTRINGS_TABLE_START] = sText_PkmnAboutToBeAttackedByItsItem, - [STRINGID_CANTESCAPEBECAUSEOFCURRENTMOVE - BATTLESTRINGS_TABLE_START] = sText_CantEscapeBecauseOfCurrentMove, - [STRINGID_PKMNTOOKTARGETHIGH - BATTLESTRINGS_TABLE_START] = sText_PkmnTookTargetHigh, - [STRINGID_TARGETTOOHEAVY - BATTLESTRINGS_TABLE_START] = sText_TargetTooHeavy, - [STRINGID_ATTACKERLOSTELECTRICTYPE - BATTLESTRINGS_TABLE_START] = sText_AttackerLostElectricType, - [STRINGID_PKMNSABILITYPREVENTSABILITY - BATTLESTRINGS_TABLE_START] = sText_PkmnsAbilityPreventsAbility, - [STRINGID_PKMNHURTBYFROSTBITE - BATTLESTRINGS_TABLE_START] = sText_PkmnHurtByFrostbite, - [STRINGID_PKMNGOTFROSTBITE - BATTLESTRINGS_TABLE_START] = sText_PkmnGotFrostbite, - [STRINGID_PKMNSITEMHEALEDFROSTBITE - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemHealedFrostbite, - [STRINGID_ATTACKERHEALEDITSFROSTBITE - BATTLESTRINGS_TABLE_START] = sText_AttackerHealedItsFrostbite, - [STRINGID_PKMNFROSTBITEHEALED - BATTLESTRINGS_TABLE_START] = sText_PkmnFrostbiteHealed, - [STRINGID_PKMNFROSTBITEHEALED2 - BATTLESTRINGS_TABLE_START] = sText_PkmnFrostbiteHealed2, - [STRINGID_PKMNFROSTBITEHEALEDBY - BATTLESTRINGS_TABLE_START] = sText_PkmnFrostbiteHealedBy, - [STRINGID_ULTRABURSTREACTING - BATTLESTRINGS_TABLE_START] = sText_UltraBurstReacting, - [STRINGID_ULTRABURSTCOMPLETED - BATTLESTRINGS_TABLE_START] = sText_UltraBurstCompleted, - [STRINGID_TEAMGAINEDEXP - BATTLESTRINGS_TABLE_START] = sText_TeamGainedEXP, - [STRINGID_TARGETCOVEREDINSTICKYCANDYSYRUP - BATTLESTRINGS_TABLE_START] = sText_TargetCoveredInStickyCandySyrup, - [STRINGID_ITEMWASUSEDUP - BATTLESTRINGS_TABLE_START] = sText_ItemWasUsedUp, - [STRINGID_ATTACKERLOSTITSTYPE - BATTLESTRINGS_TABLE_START] = sText_AttackerLostItsType, - [STRINGID_CLOAKEDINAHARSHLIGHT - BATTLESTRINGS_TABLE_START] = sText_PkmnIsCloakedInAHarshLight, + [STRINGID_TRAINER1LOSETEXT] = COMPOUND_STRING("{B_TRAINER1_LOSE_TEXT}"), + [STRINGID_PKMNGAINEDEXP] = COMPOUND_STRING("{B_BUFF1} gained{B_BUFF2} {B_BUFF3} Exp. Points!\p"), + [STRINGID_PKMNGREWTOLV] = COMPOUND_STRING("{B_BUFF1} grew to Lv. {B_BUFF2}!{WAIT_SE}\p"), + [STRINGID_PKMNLEARNEDMOVE] = COMPOUND_STRING("{B_BUFF1} learned {B_BUFF2}!{WAIT_SE}\p"), + [STRINGID_TRYTOLEARNMOVE1] = COMPOUND_STRING("{B_BUFF1} wants to learn the move {B_BUFF2}.\p"), + [STRINGID_TRYTOLEARNMOVE2] = COMPOUND_STRING("However, {B_BUFF1} already knows four moves.\p"), + [STRINGID_TRYTOLEARNMOVE3] = COMPOUND_STRING("Should another move be forgotten and replaced with {B_BUFF2}?"), + [STRINGID_PKMNFORGOTMOVE] = COMPOUND_STRING("{B_BUFF1} forgot {B_BUFF2}…\p"), + [STRINGID_STOPLEARNINGMOVE] = COMPOUND_STRING("{PAUSE 32}Do you want to give up on having {B_BUFF1} learn {B_BUFF2}?"), + [STRINGID_DIDNOTLEARNMOVE] = COMPOUND_STRING("{B_BUFF1} did not learn {B_BUFF2}.\p"), + [STRINGID_PKMNLEARNEDMOVE2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} learned {B_BUFF1}!"), + [STRINGID_ATTACKMISSED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s attack missed!"), + [STRINGID_PKMNPROTECTEDITSELF] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} protected itself!"), + [STRINGID_STATSWONTINCREASE2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s stats won't go any higher!"), + [STRINGID_AVOIDEDDAMAGE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} avoided damage with {B_DEF_ABILITY}!"), //not in gen 5+, ability popup + [STRINGID_ITDOESNTAFFECT] = COMPOUND_STRING("It doesn't affect {B_DEF_NAME_WITH_PREFIX2}…"), + [STRINGID_ATTACKERFAINTED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} fainted!\p"), + [STRINGID_TARGETFAINTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} fainted!\p"), + [STRINGID_PLAYERGOTMONEY] = COMPOUND_STRING("You got ¥{B_BUFF1} for winning!\p"), + [STRINGID_PLAYERWHITEOUT] = COMPOUND_STRING("You have no more Pokémon that can fight!\p"), +#if B_WHITEOUT_MONEY >= GEN_4 + [STRINGID_PLAYERWHITEOUT2] = COMPOUND_STRING("You panicked and dropped ¥{B_BUFF1}…\pYou were overwhelmed by your defeat!{PAUSE_UNTIL_PRESS}"), +#else + [STRINGID_PLAYERWHITEOUT2] = COMPOUND_STRING("You were overwhelmed by your defeat!{PAUSE_UNTIL_PRESS}"), +#endif + [STRINGID_PREVENTSESCAPE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} prevents escape with {B_SCR_ACTIVE_ABILITY}!\p"), + [STRINGID_HITXTIMES] = COMPOUND_STRING("The Pokémon was hit {B_BUFF1} time(s)!"), //SV has dynamic plural here + [STRINGID_PKMNFELLASLEEP] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} fell asleep!"), + [STRINGID_PKMNMADESLEEP] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_BUFF1} made {B_EFF_NAME_WITH_PREFIX2} sleep!"), //not in gen 5+, ability popup + [STRINGID_PKMNALREADYASLEEP] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is already asleep!"), + [STRINGID_PKMNALREADYASLEEP2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is already asleep!"), + [STRINGID_PKMNWASNTAFFECTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} wasn't affected!"), //not in gen 5+, ability popup + [STRINGID_PKMNWASPOISONED] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} was poisoned!"), + [STRINGID_PKMNPOISONEDBY] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} was poisoned by {B_SCR_NAME_WITH_PREFIX2}'s {B_BUFF1}!"), //not in gen 5+, ability popup + [STRINGID_PKMNHURTBYPOISON] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was hurt by its poisoning!"), + [STRINGID_PKMNALREADYPOISONED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is already poisoned!"), + [STRINGID_PKMNBADLYPOISONED] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} was badly poisoned!"), + [STRINGID_PKMNENERGYDRAINED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} had its energy drained!"), + [STRINGID_PKMNWASBURNED] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} was burned!"), + [STRINGID_PKMNBURNEDBY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_BUFF1} burned {B_EFF_NAME_WITH_PREFIX2}!"), //not in gen 5+, ability popup + [STRINGID_PKMNHURTBYBURN] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was hurt by its burn!"), + [STRINGID_PKMNWASFROZEN] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} was frozen solid!"), + [STRINGID_PKMNFROZENBY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_BUFF1} froze {B_EFF_NAME_WITH_PREFIX2} solid!"), //not in gen 5+, ability popup + [STRINGID_PKMNISFROZEN] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is frozen solid!"), + [STRINGID_PKMNWASDEFROSTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} thawed out!"), + [STRINGID_PKMNWASDEFROSTED2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} thawed out!"), + [STRINGID_PKMNWASDEFROSTEDBY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE} melted the ice!"), + [STRINGID_PKMNWASPARALYZED] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} is paralyzed, so it may be unable to move!"), + [STRINGID_PKMNWASPARALYZEDBY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_BUFF1} paralyzed {B_EFF_NAME_WITH_PREFIX2}, so it may be unable to move!"), //not in gen 5+, ability popup + [STRINGID_PKMNISPARALYZED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} couldn't move because it's paralyzed!"), + [STRINGID_PKMNISALREADYPARALYZED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is already paralyzed!"), + [STRINGID_PKMNHEALEDPARALYSIS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was cured of paralysis!"), + [STRINGID_PKMNDREAMEATEN] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s dream was eaten!"), //not in gen 5+, expansion doesn't use anymore + [STRINGID_STATSWONTINCREASE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} won't go any higher!"), + [STRINGID_STATSWONTDECREASE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} won't go any lower!"), + [STRINGID_TEAMSTOPPEDWORKING] = COMPOUND_STRING("Your team's {B_BUFF1} stopped working!"), //unused + [STRINGID_FOESTOPPEDWORKING] = COMPOUND_STRING("The foe's {B_BUFF1} stopped working!"), //unused + [STRINGID_PKMNISCONFUSED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is confused!"), + [STRINGID_PKMNHEALEDCONFUSION] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} snapped out of its confusion!"), + [STRINGID_PKMNWASCONFUSED] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} became confused!"), + [STRINGID_PKMNALREADYCONFUSED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is already confused!"), + [STRINGID_PKMNFELLINLOVE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} fell in love!"), + [STRINGID_PKMNINLOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is in love with {B_SCR_NAME_WITH_PREFIX2}!"), + [STRINGID_PKMNIMMOBILIZEDBYLOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is immobilized by love!"), + [STRINGID_PKMNBLOWNAWAY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was blown away!"), //unused + [STRINGID_PKMNCHANGEDTYPE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} transformed into the {B_BUFF1} type!"), + [STRINGID_PKMNFLINCHED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} flinched and couldn't move!"), + [STRINGID_PKMNREGAINEDHEALTH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s HP was restored."), + [STRINGID_PKMNHPFULL] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s HP is full!"), + [STRINGID_PKMNRAISEDSPDEF] = COMPOUND_STRING("Light Screen made {B_ATK_TEAM2} team stronger against special moves!"), + [STRINGID_PKMNRAISEDDEF] = COMPOUND_STRING("Reflect made {B_ATK_TEAM2} team stronger against physical moves!"), + [STRINGID_PKMNCOVEREDBYVEIL] = COMPOUND_STRING("{B_ATK_TEAM1} team cloaked itself in a mystical veil!"), + [STRINGID_PKMNUSEDSAFEGUARD] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is protected by Safeguard!"), + [STRINGID_PKMNSAFEGUARDEXPIRED] = COMPOUND_STRING("{B_ATK_TEAM1} team is no longer protected by Safeguard!"), + [STRINGID_PKMNWENTTOSLEEP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} went to sleep!"), //not in gen 5+ + [STRINGID_PKMNSLEPTHEALTHY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} slept and restored its HP!"), + [STRINGID_PKMNWHIPPEDWHIRLWIND] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} whipped up a whirlwind!"), + [STRINGID_PKMNTOOKSUNLIGHT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} absorbed light!"), + [STRINGID_PKMNLOWEREDHEAD] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} tucked in its head!"), + [STRINGID_PKMNISGLOWING] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became cloaked in a harsh light!"), + [STRINGID_PKMNFLEWHIGH] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} flew up high!"), + [STRINGID_PKMNDUGHOLE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} burrowed its way under the ground!"), + [STRINGID_PKMNSQUEEZEDBYBIND] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was squeezed by {B_ATK_NAME_WITH_PREFIX2}!"), + [STRINGID_PKMNTRAPPEDINVORTEX] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} became trapped in the vortex!"), + [STRINGID_PKMNWRAPPEDBY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was wrapped by {B_ATK_NAME_WITH_PREFIX2}!"), + [STRINGID_PKMNCLAMPED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} clamped down on {B_DEF_NAME_WITH_PREFIX2}!"), + [STRINGID_PKMNHURTBY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is hurt by {B_BUFF1}!"), + [STRINGID_PKMNFREEDFROM] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was freed from {B_BUFF1}!"), + [STRINGID_PKMNCRASHED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} kept going and crashed!"), + [STRINGID_PKMNSHROUDEDINMIST] = gText_PkmnShroudedInMist, + [STRINGID_PKMNPROTECTEDBYMIST] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is protected by the mist!"), + [STRINGID_PKMNGETTINGPUMPED] = gText_PkmnGettingPumped, + [STRINGID_PKMNHITWITHRECOIL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was damaged by the recoil!"), + [STRINGID_PKMNPROTECTEDITSELF2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} protected itself!"), + [STRINGID_PKMNBUFFETEDBYSANDSTORM] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is buffeted by the sandstorm!"), + [STRINGID_PKMNPELTEDBYHAIL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is buffeted by the hail!"), + [STRINGID_PKMNSEEDED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was seeded!"), + [STRINGID_PKMNEVADEDATTACK] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} avoided the attack!"), + [STRINGID_PKMNSAPPEDBYLEECHSEED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s health is sapped by Leech Seed!"), + [STRINGID_PKMNFASTASLEEP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is fast asleep."), + [STRINGID_PKMNWOKEUP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} woke up!"), + [STRINGID_PKMNUPROARKEPTAWAKE] = COMPOUND_STRING("But the uproar kept {B_SCR_NAME_WITH_PREFIX2} awake!"), + [STRINGID_PKMNWOKEUPINUPROAR] = COMPOUND_STRING("The uproar woke {B_ATK_NAME_WITH_PREFIX2}!"), + [STRINGID_PKMNCAUSEDUPROAR] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} caused an uproar!"), + [STRINGID_PKMNMAKINGUPROAR] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is making an uproar!"), + [STRINGID_PKMNCALMEDDOWN] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} calmed down."), + [STRINGID_PKMNCANTSLEEPINUPROAR] = COMPOUND_STRING("But {B_DEF_NAME_WITH_PREFIX2} can't sleep in an uproar!"), + [STRINGID_PKMNSTOCKPILED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} stockpiled {B_BUFF1}!"), + [STRINGID_PKMNCANTSTOCKPILE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can't stockpile any more!"), //I think this was replaced with just "But it failed!" + [STRINGID_PKMNCANTSLEEPINUPROAR2] = COMPOUND_STRING("But {B_DEF_NAME_WITH_PREFIX2} can't sleep in an uproar!"), + [STRINGID_UPROARKEPTPKMNAWAKE] = COMPOUND_STRING("But the uproar kept {B_DEF_NAME_WITH_PREFIX2} awake!"), + [STRINGID_PKMNSTAYEDAWAKEUSING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} stayed awake using its {B_DEF_ABILITY}!"), //not in gen 5+, ability popup + [STRINGID_PKMNSTORINGENERGY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is storing energy!"), + [STRINGID_PKMNUNLEASHEDENERGY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} unleashed its energy!"), + [STRINGID_PKMNFATIGUECONFUSION] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became confused due to fatigue!"), + [STRINGID_PLAYERPICKEDUPMONEY] = COMPOUND_STRING("You picked up ¥{B_BUFF1}!\p"), + [STRINGID_PKMNUNAFFECTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is unaffected!"), + [STRINGID_PKMNTRANSFORMEDINTO] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} transformed into {B_BUFF1}!"), + [STRINGID_PKMNMADESUBSTITUTE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} put in a substitute!"), + [STRINGID_PKMNHASSUBSTITUTE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} already has a substitute!"), + [STRINGID_SUBSTITUTEDAMAGED] = COMPOUND_STRING("The substitute took damage for {B_DEF_NAME_WITH_PREFIX2}!\p"), + [STRINGID_PKMNSUBSTITUTEFADED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s substitute faded!\p"), + [STRINGID_PKMNMUSTRECHARGE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} must recharge!"), + [STRINGID_PKMNRAGEBUILDING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s rage is building!"), + [STRINGID_PKMNMOVEWASDISABLED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} was disabled!"), + [STRINGID_PKMNMOVEISDISABLED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE} is disabled!\p"), + [STRINGID_PKMNMOVEDISABLEDNOMORE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s move is no longer disabled!"), + [STRINGID_PKMNGOTENCORE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} must do an encore!"), + [STRINGID_PKMNENCOREENDED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} ended its encore!"), + [STRINGID_PKMNTOOKAIM] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} took aim at {B_DEF_NAME_WITH_PREFIX2}!"), + [STRINGID_PKMNSKETCHEDMOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} sketched {B_BUFF1}!"), + [STRINGID_PKMNTRYINGTOTAKEFOE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is hoping to take its attacker down with it!"), + [STRINGID_PKMNTOOKFOE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} took its attacker down with it!"), + [STRINGID_PKMNREDUCEDPP] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s PP was reduced!"), + [STRINGID_PKMNSTOLEITEM] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} stole {B_DEF_NAME_WITH_PREFIX2}'s {B_LAST_ITEM}!"), + [STRINGID_TARGETCANTESCAPENOW] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} can no longer escape!"), + [STRINGID_PKMNFELLINTONIGHTMARE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} began having a nightmare!"), + [STRINGID_PKMNLOCKEDINNIGHTMARE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is locked in a nightmare!"), + [STRINGID_PKMNLAIDCURSE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} cut its own HP and put a curse on {B_DEF_NAME_WITH_PREFIX2}!"), + [STRINGID_PKMNAFFLICTEDBYCURSE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is afflicted by the curse!"), + [STRINGID_SPIKESSCATTERED] = COMPOUND_STRING("Spikes were scattered on the ground all around {B_DEF_TEAM2} team!"), + [STRINGID_PKMNHURTBYSPIKES] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} was hurt by the spikes!"), + [STRINGID_PKMNIDENTIFIED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was identified!"), + [STRINGID_PKMNPERISHCOUNTFELL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s perish count fell to {B_BUFF1}!"), + [STRINGID_PKMNBRACEDITSELF] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} braced itself!"), + [STRINGID_PKMNENDUREDHIT] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} endured the hit!"), + [STRINGID_MAGNITUDESTRENGTH] = COMPOUND_STRING("Magnitude {B_BUFF1}!"), + [STRINGID_PKMNCUTHPMAXEDATTACK] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} cut its own HP and maximized its Attack!"), + [STRINGID_PKMNCOPIEDSTATCHANGES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} copied {B_DEF_NAME_WITH_PREFIX2}'s stat changes!"), + [STRINGID_PKMNGOTFREE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} got free of {B_DEF_NAME_WITH_PREFIX2}'s {B_BUFF1}!"), //not in gen 5+, generic rapid spin? + [STRINGID_PKMNSHEDLEECHSEED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} shed Leech Seed!"), //not in gen 5+, generic rapid spin? + [STRINGID_PKMNBLEWAWAYSPIKES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} blew away Spikes!"), //not in gen 5+, generic rapid spin? + [STRINGID_PKMNFLEDFROMBATTLE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} fled from battle!"), + [STRINGID_PKMNFORESAWATTACK] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} foresaw an attack!"), + [STRINGID_PKMNTOOKATTACK] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} took the {B_BUFF1} attack!"), + [STRINGID_PKMNATTACK] = COMPOUND_STRING("{B_BUFF1}'s attack!"), //not in gen 5+, expansion doesn't use anymore + [STRINGID_PKMNCENTERATTENTION] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} became the center of attention!"), + [STRINGID_PKMNCHARGINGPOWER] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} began charging power!"), + [STRINGID_NATUREPOWERTURNEDINTO] = COMPOUND_STRING("Nature Power turned into {B_CURRENT_MOVE}!"), + [STRINGID_PKMNSTATUSNORMAL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s status returned to normal!"), + [STRINGID_PKMNHASNOMOVESLEFT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} has no moves left that it can use!\p"), + [STRINGID_PKMNSUBJECTEDTOTORMENT] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was subjected to torment!"), + [STRINGID_PKMNCANTUSEMOVETORMENT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can't use the same move twice in a row due to the torment!\p"), + [STRINGID_PKMNTIGHTENINGFOCUS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is tightening its focus!"), + [STRINGID_PKMNFELLFORTAUNT] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} fell for the taunt!"), + [STRINGID_PKMNCANTUSEMOVETAUNT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can't use {B_CURRENT_MOVE} after the taunt!\p"), + [STRINGID_PKMNREADYTOHELP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is ready to help {B_DEF_NAME_WITH_PREFIX2}!"), + [STRINGID_PKMNSWITCHEDITEMS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} switched items with its target!"), + [STRINGID_PKMNCOPIEDFOE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} copied {B_DEF_NAME_WITH_PREFIX2}'s Ability!"), + [STRINGID_PKMNMADEWISH] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} made a wish!"), //unused + [STRINGID_PKMNWISHCAMETRUE] = COMPOUND_STRING("{B_BUFF1}'s wish came true!"), + [STRINGID_PKMNPLANTEDROOTS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} planted its roots!"), + [STRINGID_PKMNABSORBEDNUTRIENTS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} absorbed nutrients with its roots!"), + [STRINGID_PKMNANCHOREDITSELF] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} anchored itself with its roots!"), + [STRINGID_PKMNWASMADEDROWSY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} grew drowsy!"), + [STRINGID_PKMNKNOCKEDOFF] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} knocked off {B_DEF_NAME_WITH_PREFIX2}'s {B_LAST_ITEM}!"), + [STRINGID_PKMNSWAPPEDABILITIES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} swapped Abilities with its target!"), + [STRINGID_PKMNSEALEDOPPONENTMOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} sealed any moves its target shares with it!"), + [STRINGID_PKMNCANTUSEMOVESEALED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can't use its sealed {B_CURRENT_MOVE}!\p"), + [STRINGID_PKMNWANTSGRUDGE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} wants its target to bear a grudge!"), + [STRINGID_PKMNLOSTPPGRUDGE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} lost all its PP due to the grudge!"), + [STRINGID_PKMNSHROUDEDITSELF] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} shrouded itself with Magic Coat!"), + [STRINGID_PKMNMOVEBOUNCED] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} bounced the {B_CURRENT_MOVE} back!"), + [STRINGID_PKMNWAITSFORTARGET] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} waits for a target to make a move!"), + [STRINGID_PKMNSNATCHEDMOVE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} snatched {B_SCR_NAME_WITH_PREFIX2}'s move!"), + [STRINGID_PKMNMADEITRAIN] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} made it rain!"), //not in gen 5+, ability popup + [STRINGID_PKMNRAISEDSPEED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} raised its Speed!"), //not in gen 5+, ability popup + [STRINGID_PKMNPROTECTEDBY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was protected by {B_DEF_ABILITY}!"), //not in gen 5+, ability popup + [STRINGID_PKMNPREVENTSUSAGE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevents {B_ATK_NAME_WITH_PREFIX2} from using {B_CURRENT_MOVE}!"), //I don't see this in SV text + [STRINGID_PKMNRESTOREDHPUSING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} restored HP using its {B_DEF_ABILITY}!"), //not in gen 5+, ability popup + [STRINGID_PKMNCHANGEDTYPEWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} made it the {B_BUFF1} type!"), //not in gen 5+, ability popup + [STRINGID_PKMNPREVENTSPARALYSISWITH] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevents paralysis!"), //not in gen 5+, ability popup + [STRINGID_PKMNPREVENTSROMANCEWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevents romance!"), //not in gen 5+, ability popup + [STRINGID_PKMNPREVENTSPOISONINGWITH] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevents poisoning!"), //not in gen 5+, ability popup + [STRINGID_PKMNPREVENTSCONFUSIONWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevents confusion!"), //not in gen 5+, ability popup + [STRINGID_PKMNRAISEDFIREPOWERWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} raised the power of Fire-type moves!"), //not in gen 5+, ability popup + [STRINGID_PKMNANCHORSITSELFWITH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} anchors itself with {B_DEF_ABILITY}!"), //not in gen 5+, ability popup + [STRINGID_PKMNCUTSATTACKWITH] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} cuts {B_DEF_NAME_WITH_PREFIX2}'s Attack!"), //not in gen 5+, ability popup + [STRINGID_PKMNPREVENTSSTATLOSSWITH] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} prevents stat loss!"), //not in gen 5+, ability popup + [STRINGID_PKMNHURTSWITH] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was hurt by {B_DEF_NAME_WITH_PREFIX2}'s {B_BUFF1}!"), + [STRINGID_PKMNTRACED] = COMPOUND_STRING("It traced {B_BUFF1}'s {B_BUFF2}!"), + [STRINGID_STATSHARPLY] = gText_StatSharply, + [STRINGID_STATROSE] = gText_StatRose, + [STRINGID_STATHARSHLY] = COMPOUND_STRING("harshly "), + [STRINGID_STATFELL] = gText_StatFell, + [STRINGID_ATTACKERSSTATROSE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} {B_BUFF2}"), + [STRINGID_DEFENDERSSTATROSE] = gText_DefendersStatRose, + [STRINGID_ATTACKERSSTATFELL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} {B_BUFF2}"), + [STRINGID_DEFENDERSSTATFELL] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} {B_BUFF2}"), + [STRINGID_CRITICALHIT] = COMPOUND_STRING("A critical hit!"), + [STRINGID_ONEHITKO] = COMPOUND_STRING("It's a one-hit KO!"), + [STRINGID_123POOF] = COMPOUND_STRING("One…{PAUSE 10}two…{PAUSE 10}and…{PAUSE 10}{PAUSE 20}{PLAY_SE SE_BALL_BOUNCE_1}ta-da!\p"), + [STRINGID_ANDELLIPSIS] = COMPOUND_STRING("And…\p"), + [STRINGID_NOTVERYEFFECTIVE] = COMPOUND_STRING("It's not very effective…"), + [STRINGID_SUPEREFFECTIVE] = COMPOUND_STRING("It's super effective!"), + [STRINGID_GOTAWAYSAFELY] = sText_GotAwaySafely, + [STRINGID_WILDPKMNFLED] = COMPOUND_STRING("{PLAY_SE SE_FLEE}The wild {B_BUFF1} fled!"), + [STRINGID_NORUNNINGFROMTRAINERS] = COMPOUND_STRING("No! There's no running from a Trainer battle!\p"), + [STRINGID_CANTESCAPE] = COMPOUND_STRING("You can't escape!\p"), + [STRINGID_DONTLEAVEBIRCH] = COMPOUND_STRING("PROF. BIRCH: Don't leave me like this!\p"), //no decapitalize until it is everywhere + [STRINGID_BUTNOTHINGHAPPENED] = COMPOUND_STRING("But nothing happened!"), + [STRINGID_BUTITFAILED] = COMPOUND_STRING("But it failed!"), + [STRINGID_ITHURTCONFUSION] = COMPOUND_STRING("It hurt itself in its confusion!"), + [STRINGID_MIRRORMOVEFAILED] = COMPOUND_STRING("The Mirror Move failed!"), //not in gen 5+, uses "but it failed" + [STRINGID_STARTEDTORAIN] = COMPOUND_STRING("It started to rain!"), + [STRINGID_DOWNPOURSTARTED] = COMPOUND_STRING("A downpour started!"), // corresponds to DownpourText in pokegold and pokecrystal and is used by Rain Dance in GSC + [STRINGID_RAINCONTINUES] = COMPOUND_STRING("Rain continues to fall."), //not in gen 5+ + [STRINGID_DOWNPOURCONTINUES] = COMPOUND_STRING("The downpour continues."), // unused + [STRINGID_RAINSTOPPED] = COMPOUND_STRING("The rain stopped."), + [STRINGID_SANDSTORMBREWED] = COMPOUND_STRING("A sandstorm kicked up!"), + [STRINGID_SANDSTORMRAGES] = COMPOUND_STRING("The sandstorm is raging."), + [STRINGID_SANDSTORMSUBSIDED] = COMPOUND_STRING("The sandstorm subsided."), + [STRINGID_SUNLIGHTGOTBRIGHT] = COMPOUND_STRING("The sunlight turned harsh!"), + [STRINGID_SUNLIGHTSTRONG] = COMPOUND_STRING("The sunlight is strong."), //not in gen 5+ + [STRINGID_SUNLIGHTFADED] = COMPOUND_STRING("The sunlight faded."), + [STRINGID_STARTEDHAIL] = COMPOUND_STRING("It started to hail!"), + [STRINGID_HAILCONTINUES] = COMPOUND_STRING("The hail is crashing down."), + [STRINGID_HAILSTOPPED] = COMPOUND_STRING("The hail stopped."), + [STRINGID_FAILEDTOSPITUP] = COMPOUND_STRING("But it failed to spit up a thing!"), //not in gen 5+, uses "but it failed" + [STRINGID_FAILEDTOSWALLOW] = COMPOUND_STRING("But it failed to swallow a thing!"), //not in gen 5+, uses "but it failed" + [STRINGID_WINDBECAMEHEATWAVE] = COMPOUND_STRING("The wind turned into a Heat Wave!"), //unused + [STRINGID_STATCHANGESGONE] = COMPOUND_STRING("All stat changes were eliminated!"), + [STRINGID_COINSSCATTERED] = COMPOUND_STRING("Coins were scattered everywhere!"), + [STRINGID_TOOWEAKFORSUBSTITUTE] = COMPOUND_STRING("But it does not have enough HP left to make a substitute!"), + [STRINGID_SHAREDPAIN] = COMPOUND_STRING("The battlers shared their pain!"), + [STRINGID_BELLCHIMED] = COMPOUND_STRING("A bell chimed!"), + [STRINGID_FAINTINTHREE] = COMPOUND_STRING("All Pokémon that heard the song will faint in three turns!"), + [STRINGID_NOPPLEFT] = COMPOUND_STRING("There's no PP left for this move!\p"), //not in gen 5+ + [STRINGID_BUTNOPPLEFT] = COMPOUND_STRING("But there was no PP left for the move!"), + [STRINGID_PLAYERUSEDITEM] = COMPOUND_STRING("You used {B_LAST_ITEM}!"), + [STRINGID_WALLYUSEDITEM] = COMPOUND_STRING("WALLY used {B_LAST_ITEM}!"), //no decapitalize until it is everywhere + [STRINGID_TRAINERBLOCKEDBALL] = COMPOUND_STRING("The Trainer blocked your Poké Ball!"), + [STRINGID_DONTBEATHIEF] = COMPOUND_STRING("Don't be a thief!"), + [STRINGID_ITDODGEDBALL] = COMPOUND_STRING("It dodged your thrown Poké Ball! This Pokémon can't be caught!"), + [STRINGID_YOUMISSEDPKMN] = COMPOUND_STRING("You missed the Pokémon!"), + [STRINGID_PKMNBROKEFREE] = COMPOUND_STRING("Oh no! The Pokémon broke free!"), + [STRINGID_ITAPPEAREDCAUGHT] = COMPOUND_STRING("Aww! It appeared to be caught!"), + [STRINGID_AARGHALMOSTHADIT] = COMPOUND_STRING("Aargh! Almost had it!"), + [STRINGID_SHOOTSOCLOSE] = COMPOUND_STRING("Gah! It was so close, too!"), + [STRINGID_GOTCHAPKMNCAUGHTPLAYER] = COMPOUND_STRING("Gotcha! {B_DEF_NAME} was caught!{WAIT_SE}{PLAY_BGM MUS_CAUGHT}\p"), + [STRINGID_GOTCHAPKMNCAUGHTWALLY] = COMPOUND_STRING("Gotcha! {B_DEF_NAME} was caught!{WAIT_SE}{PLAY_BGM MUS_CAUGHT}{PAUSE 127}"), + [STRINGID_GIVENICKNAMECAPTURED] = COMPOUND_STRING("Would you like to give {B_DEF_NAME} a nickname?"), + [STRINGID_PKMNSENTTOPC] = COMPOUND_STRING("{B_DEF_NAME} has been sent to {B_PC_CREATOR_NAME} PC!"), //Still used lanette's pc since terminology is different + [STRINGID_PKMNDATAADDEDTODEX] = COMPOUND_STRING("{B_DEF_NAME}'s data has been added to the Pokédex!\p"), + [STRINGID_ITISRAINING] = COMPOUND_STRING("It's raining!"), + [STRINGID_SANDSTORMISRAGING] = COMPOUND_STRING("The sandstorm is raging!"), + [STRINGID_CANTESCAPE2] = COMPOUND_STRING("You couldn't get away!\p"), + [STRINGID_PKMNIGNORESASLEEP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} ignored orders and kept sleeping!"), + [STRINGID_PKMNIGNOREDORDERS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} ignored orders!"), + [STRINGID_PKMNBEGANTONAP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} began to nap!"), + [STRINGID_PKMNLOAFING] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is loafing around!"), + [STRINGID_PKMNWONTOBEY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} won't obey!"), + [STRINGID_PKMNTURNEDAWAY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} turned away!"), + [STRINGID_PKMNPRETENDNOTNOTICE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} pretended not to notice!"), + [STRINGID_ENEMYABOUTTOSWITCHPKMN] = COMPOUND_STRING("{B_TRAINER1_NAME_WITH_CLASS} is about to send out {B_BUFF2}.\pWill you switch your Pokémon?"), + [STRINGID_CREPTCLOSER] = COMPOUND_STRING("{B_PLAYER_NAME} crept closer to {B_OPPONENT_MON1_NAME}!"), //safari + [STRINGID_CANTGETCLOSER] = COMPOUND_STRING("{B_PLAYER_NAME} can't get any closer!"), //safari + [STRINGID_PKMNWATCHINGCAREFULLY] = COMPOUND_STRING("{B_OPPONENT_MON1_NAME} is watching carefully!"), //safari + [STRINGID_PKMNCURIOUSABOUTX] = COMPOUND_STRING("{B_OPPONENT_MON1_NAME} is curious about the {B_BUFF1}!"), //safari + [STRINGID_PKMNENTHRALLEDBYX] = COMPOUND_STRING("{B_OPPONENT_MON1_NAME} is enthralled by the {B_BUFF1}!"), //safari + [STRINGID_PKMNIGNOREDX] = COMPOUND_STRING("{B_OPPONENT_MON1_NAME} completely ignored the {B_BUFF1}!"), //safari + [STRINGID_THREWPOKEBLOCKATPKMN] = COMPOUND_STRING("{B_PLAYER_NAME} threw a {POKEBLOCK} at the {B_OPPONENT_MON1_NAME}!"), //safari + [STRINGID_OUTOFSAFARIBALLS] = COMPOUND_STRING("{PLAY_SE SE_DING_DONG}ANNOUNCER: You're out of Safari Balls! Game over!\p"), //safari + [STRINGID_PKMNSITEMCUREDPARALYSIS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} cured its paralysis!"), + [STRINGID_PKMNSITEMCUREDPOISON] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} cured its poison!"), + [STRINGID_PKMNSITEMHEALEDBURN] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} cured its burn!"), + [STRINGID_PKMNSITEMDEFROSTEDIT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} defrosted it!"), + [STRINGID_PKMNSITEMWOKEIT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} woke it up!"), + [STRINGID_PKMNSITEMSNAPPEDOUT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} snapped it out of its confusion!"), + [STRINGID_PKMNSITEMCUREDPROBLEM] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} cured its {B_BUFF1} problem!"), + [STRINGID_PKMNSITEMRESTOREDHEALTH] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} restored its health using its {B_LAST_ITEM}!"), + [STRINGID_PKMNSITEMRESTOREDPP] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} restored PP to its move {B_BUFF1} using its {B_LAST_ITEM}!"), + [STRINGID_PKMNSITEMRESTOREDSTATUS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} returned its stats to normal using its {B_LAST_ITEM}!"), + [STRINGID_PKMNSITEMRESTOREDHPALITTLE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} restored a little HP using its {B_LAST_ITEM}!"), + [STRINGID_ITEMALLOWSONLYYMOVE] = COMPOUND_STRING("{B_LAST_ITEM} only allows the use of {B_CURRENT_MOVE}!\p"), + [STRINGID_PKMNHUNGONWITHX] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} hung on using its {B_LAST_ITEM}!"), + [STRINGID_EMPTYSTRING3] = gText_EmptyString3, + [STRINGID_PKMNSXPREVENTSBURNS] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY} prevents burns!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXBLOCKSY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} blocks {B_CURRENT_MOVE}!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXRESTOREDHPALITTLE2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} restored its HP a little!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXWHIPPEDUPSANDSTORM] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} whipped up a sandstorm!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXPREVENTSYLOSS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} prevents {B_BUFF1} loss!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXINFATUATEDY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} infatuated {B_ATK_NAME_WITH_PREFIX2}!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXMADEYINEFFECTIVE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} made {B_CURRENT_MOVE} ineffective!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXCUREDYPROBLEM] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} cured its {B_BUFF1} problem!"), //not in gen 5+, ability popup + [STRINGID_ITSUCKEDLIQUIDOOZE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} sucked up the liquid ooze!"), + [STRINGID_PKMNTRANSFORMED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} transformed!"), + [STRINGID_ELECTRICITYWEAKENED] = COMPOUND_STRING("Electricity's power was weakened!"), + [STRINGID_FIREWEAKENED] = COMPOUND_STRING("Fire's power was weakened!"), + [STRINGID_PKMNHIDUNDERWATER] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} hid underwater!"), + [STRINGID_PKMNSPRANGUP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} sprang up!"), + [STRINGID_HMMOVESCANTBEFORGOTTEN] = COMPOUND_STRING("HM moves can't be forgotten now.\p"), + [STRINGID_XFOUNDONEY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} found one {B_LAST_ITEM}!"), + [STRINGID_PLAYERDEFEATEDTRAINER1] = sText_PlayerDefeatedLinkTrainerTrainer1, + [STRINGID_SOOTHINGAROMA] = COMPOUND_STRING("A soothing aroma wafted through the area!"), + [STRINGID_ITEMSCANTBEUSEDNOW] = COMPOUND_STRING("Items can't be used now.{PAUSE 64}"), //not in gen 5+, i think + [STRINGID_FORXCOMMAYZ] = COMPOUND_STRING("For {B_SCR_NAME_WITH_PREFIX2}, {B_LAST_ITEM} {B_BUFF1}"), //not in gen 5+, expansion doesn't use anymore + [STRINGID_USINGITEMSTATOFPKMNROSE] = COMPOUND_STRING("Using {B_LAST_ITEM}, the {B_BUFF1} of {B_SCR_NAME_WITH_PREFIX2} {B_BUFF2}"), //todo: update this, will require code changes + [STRINGID_PKMNUSEDXTOGETPUMPED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} used the {B_LAST_ITEM} to get pumped!"), + [STRINGID_PKMNSXMADEYUSELESS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} made {B_CURRENT_MOVE} useless!"), //not in gen 5+, ability popup + [STRINGID_PKMNTRAPPEDBYSANDTOMB] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} became trapped by the quicksand!"), + [STRINGID_EMPTYSTRING4] = COMPOUND_STRING(""), + [STRINGID_ABOOSTED] = COMPOUND_STRING(" a boosted"), + [STRINGID_PKMNSXINTENSIFIEDSUN] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} intensified the sun's rays!"), //not in gen 5+, ability popup + [STRINGID_PKMNMAKESGROUNDMISS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} makes Ground-type moves miss with {B_DEF_ABILITY}!"), //not in gen 5+, ability popup + [STRINGID_YOUTHROWABALLNOWRIGHT] = COMPOUND_STRING("You throw a Ball now, right? I… I'll do my best!"), + [STRINGID_PKMNSXTOOKATTACK] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} took the attack!"), //In gen 5+ but without naming the ability + [STRINGID_PKMNCHOSEXASDESTINY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} chose Doom Desire as its destiny!"), + [STRINGID_PKMNLOSTFOCUS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} lost its focus and couldn't move!"), + [STRINGID_USENEXTPKMN] = COMPOUND_STRING("Use next Pokémon?"), + [STRINGID_PKMNFLEDUSINGITS] = COMPOUND_STRING("{PLAY_SE SE_FLEE}{B_ATK_NAME_WITH_PREFIX} fled using its {B_LAST_ITEM}!\p"), + [STRINGID_PKMNFLEDUSING] = COMPOUND_STRING("{PLAY_SE SE_FLEE}{B_ATK_NAME_WITH_PREFIX} fled using {B_ATK_ABILITY}!\p"), //not in gen 5+ + [STRINGID_PKMNWASDRAGGEDOUT] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was dragged out!\p"), + [STRINGID_PREVENTEDFROMWORKING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} prevented {B_SCR_NAME_WITH_PREFIX2}'s {B_BUFF1} from working!"), //unused + [STRINGID_PKMNSITEMNORMALIZEDSTATUS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} normalized its status!"), + [STRINGID_TRAINER1USEDITEM] = COMPOUND_STRING("{B_ATK_TRAINER_NAME_WITH_CLASS} used {B_LAST_ITEM}!"), + [STRINGID_BOXISFULL] = COMPOUND_STRING("The Box is full! You can't catch any more!\p"), + [STRINGID_PKMNAVOIDEDATTACK] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} avoided the attack!"), + [STRINGID_PKMNSXMADEITINEFFECTIVE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} made it ineffective!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXPREVENTSFLINCHING] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY} prevents flinching!"), //not in gen 5+, ability popup + [STRINGID_PKMNALREADYHASBURN] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is already burned!"), + [STRINGID_STATSWONTDECREASE2] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s stats won't go any lower!"), + [STRINGID_PKMNSXBLOCKSY2] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} blocks {B_CURRENT_MOVE}!"), //not in gen 5+, ability popup + [STRINGID_PKMNSXWOREOFF] = COMPOUND_STRING("{B_ATK_TEAM1} team's {B_BUFF1} wore off!"), + [STRINGID_PKMNRAISEDDEFALITTLE] = COMPOUND_STRING("{B_ATK_PREFIX1}'s {B_CURRENT_MOVE} raised DEFENSE a little!"), //expansion doesn't use anymore + [STRINGID_PKMNRAISEDSPDEFALITTLE] = COMPOUND_STRING("{B_ATK_PREFIX1}'s {B_CURRENT_MOVE} raised SP. DEF a little!"), //expansion doesn't use anymore + [STRINGID_THEWALLSHATTERED] = COMPOUND_STRING("The wall shattered!"), //not in gen5+, uses "your teams light screen wore off!" etc instead + [STRINGID_PKMNSXPREVENTSYSZ] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} prevents {B_DEF_NAME_WITH_PREFIX2}'s {B_DEF_ABILITY} from working!"), + [STRINGID_PKMNSXCUREDITSYPROBLEM] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} cured its {B_BUFF1} problem!"), //not in gen 5+, ability popup + [STRINGID_ATTACKERCANTESCAPE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can't escape!"), + [STRINGID_PKMNOBTAINEDX] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} obtained {B_BUFF1}."), + [STRINGID_PKMNOBTAINEDX2] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} obtained {B_BUFF2}."), + [STRINGID_PKMNOBTAINEDXYOBTAINEDZ] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} obtained {B_BUFF1}.\p{B_DEF_NAME_WITH_PREFIX} obtained {B_BUFF2}."), + [STRINGID_BUTNOEFFECT] = COMPOUND_STRING("But it had no effect!"), + [STRINGID_PKMNSXHADNOEFFECTONY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} had no effect on {B_EFF_NAME_WITH_PREFIX2}!"), //not in gen 5+, ability popup + [STRINGID_TWOENEMIESDEFEATED] = sText_TwoInGameTrainersDefeated, + [STRINGID_TRAINER2LOSETEXT] = COMPOUND_STRING("{B_TRAINER2_LOSE_TEXT}"), + [STRINGID_PKMNINCAPABLEOFPOWER] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} appears incapable of using its power!"), + [STRINGID_GLINTAPPEARSINEYE] = COMPOUND_STRING("A glint appears in {B_SCR_NAME_WITH_PREFIX2}'s eyes!"), + [STRINGID_PKMNGETTINGINTOPOSITION] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is getting into position!"), + [STRINGID_PKMNBEGANGROWLINGDEEPLY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} began growling deeply!"), + [STRINGID_PKMNEAGERFORMORE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is eager for more!"), + [STRINGID_DEFEATEDOPPONENTBYREFEREE] = COMPOUND_STRING("{B_PLAYER_MON1_NAME} defeated the opponent {B_OPPONENT_MON1_NAME} in a REFEREE's decision!"), + [STRINGID_LOSTTOOPPONENTBYREFEREE] = COMPOUND_STRING("{B_PLAYER_MON1_NAME} lost to the opponent {B_OPPONENT_MON1_NAME} in a REFEREE's decision!"), + [STRINGID_TIEDOPPONENTBYREFEREE] = COMPOUND_STRING("{B_PLAYER_MON1_NAME} tied the opponent {B_OPPONENT_MON1_NAME} in a REFEREE's decision!"), + [STRINGID_QUESTIONFORFEITMATCH] = COMPOUND_STRING("Would you like to forfeit the match and quit now?"), + [STRINGID_FORFEITEDMATCH] = COMPOUND_STRING("The match was forfeited."), + [STRINGID_PKMNTRANSFERREDSOMEONESPC] = gText_PkmnTransferredSomeonesPC, + [STRINGID_PKMNTRANSFERREDLANETTESPC] = gText_PkmnTransferredLanettesPC, + [STRINGID_PKMNBOXSOMEONESPCFULL] = gText_PkmnTransferredSomeonesPCBoxFull, + [STRINGID_PKMNBOXLANETTESPCFULL] = gText_PkmnTransferredLanettesPCBoxFull, + [STRINGID_TRAINER1WINTEXT] = COMPOUND_STRING("{B_TRAINER1_WIN_TEXT}"), + [STRINGID_TRAINER2WINTEXT] = COMPOUND_STRING("{B_TRAINER2_WIN_TEXT}"), + [STRINGID_ENDUREDSTURDY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} endured the hit using {B_DEF_ABILITY}!"), + [STRINGID_POWERHERB] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became fully charged due to its {B_LAST_ITEM}!"), + [STRINGID_HURTBYITEM] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was hurt by the {B_LAST_ITEM}!"), + [STRINGID_PSNBYITEM] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} was badly poisoned by the {B_LAST_ITEM}!"), + [STRINGID_BRNBYITEM] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} was burned by the {B_LAST_ITEM}!"), + [STRINGID_DEFABILITYIN] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} activates!"), + [STRINGID_GRAVITYINTENSIFIED] = COMPOUND_STRING("Gravity intensified!"), + [STRINGID_TARGETIDENTIFIED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was identified!"), + [STRINGID_TARGETWOKEUP] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} woke up!"), + [STRINGID_PKMNSTOLEANDATEITEM] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} stole and ate its target's {B_LAST_ITEM}!"), + [STRINGID_TAILWINDBLEW] = COMPOUND_STRING("The Tailwind blew from behind {B_ATK_TEAM2} team!"), + [STRINGID_PKMNWENTBACK] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} went back to {B_ATK_TRAINER_NAME}!"), + [STRINGID_PKMNCANTUSEITEMSANYMORE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} can't use items anymore!"), + [STRINGID_PKMNFLUNG] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} flung its {B_LAST_ITEM}!"), + [STRINGID_PKMNPREVENTEDFROMHEALING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was prevented from healing!"), + [STRINGID_PKMNSWITCHEDATKANDDEF] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} switched its Attack and Defense!"), + [STRINGID_PKMNSABILITYSUPPRESSED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s Ability was suppressed!"), + [STRINGID_SHIELDEDFROMCRITICALHITS] = COMPOUND_STRING("Lucky Chant shielded {B_ATK_TEAM2} team from critical hits!"), + [STRINGID_SWITCHEDATKANDSPATK] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} switched all changes to its Attack and Sp. Atk\pwith its target!"), + [STRINGID_SWITCHEDDEFANDSPDEF] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} switched all changes to its Defense and Sp. Def\pwith its target!"), + [STRINGID_PKMNACQUIREDABILITY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} acquired {B_DEF_ABILITY}!"), + [STRINGID_POISONSPIKESSCATTERED] = COMPOUND_STRING("Poison spikes were scattered on the ground all around {B_DEF_TEAM2} team!"), + [STRINGID_PKMNSWITCHEDSTATCHANGES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} switched stat changes with its target!"), + [STRINGID_PKMNSURROUNDEDWITHVEILOFWATER] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} surrounded itself with a veil of water!"), + [STRINGID_PKMNLEVITATEDONELECTROMAGNETISM] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} levitated with electromagnetism!"), + [STRINGID_PKMNTWISTEDDIMENSIONS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} twisted the dimensions!"), + [STRINGID_POINTEDSTONESFLOAT] = COMPOUND_STRING("Pointed stones float in the air around {B_DEF_TEAM2} team!"), + [STRINGID_CLOAKEDINMYSTICALMOONLIGHT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became cloaked in mystical moonlight!"), + [STRINGID_TRAPPEDBYSWIRLINGMAGMA] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} became trapped by swirling magma!"), + [STRINGID_VANISHEDINSTANTLY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} vanished instantly!"), + [STRINGID_PROTECTEDTEAM] = COMPOUND_STRING("{B_CURRENT_MOVE} protected {B_ATK_TEAM2} team!"), + [STRINGID_SHAREDITSGUARD] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} shared its guard with the target!"), + [STRINGID_SHAREDITSPOWER] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} shared its power with the target!"), + [STRINGID_SWAPSDEFANDSPDEFOFALLPOKEMON] = COMPOUND_STRING("It created a bizarre area in which Defense and Sp. Def stats are swapped!"), + [STRINGID_BECAMENIMBLE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became nimble!"), + [STRINGID_HURLEDINTOTHEAIR] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was hurled into the air!"), + [STRINGID_HELDITEMSLOSEEFFECTS] = COMPOUND_STRING("It created a bizarre area in which Pokémon's held items lose their effects!"), + [STRINGID_FELLSTRAIGHTDOWN] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} fell straight down!"), + [STRINGID_TARGETCHANGEDTYPE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} transformed into the {B_BUFF1} type!"), + [STRINGID_PKMNACQUIREDSIMPLE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} acquired Simple!"), //shouldn't directly use the name + [STRINGID_EMPTYSTRING5] = sText_EmptyString4, + [STRINGID_KINDOFFER] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} took the kind offer!"), + [STRINGID_RESETSTARGETSSTATLEVELS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s stat changes were removed!"), + [STRINGID_EMPTYSTRING6] = sText_EmptyString4, + [STRINGID_ALLYSWITCHPOSITION] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} and {B_SCR_NAME_WITH_PREFIX2} switched places!"), + [STRINGID_RESTORETARGETSHEALTH] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s HP was restored!"), + [STRINGID_TOOKPJMNINTOTHESKY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} took {B_DEF_NAME_WITH_PREFIX2} into the sky!"), + [STRINGID_FREEDFROMSKYDROP] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was freed from the Sky Drop!"), + [STRINGID_POSTPONETARGETMOVE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s move was postponed!"), + [STRINGID_REFLECTTARGETSTYPE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became the same type as {B_DEF_NAME_WITH_PREFIX2}!"), + [STRINGID_TRANSFERHELDITEM] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} received {B_LAST_ITEM} from {B_ATK_NAME_WITH_PREFIX2}"), + [STRINGID_EMBARGOENDS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can use items again!"), + [STRINGID_ELECTROMAGNETISM] = COMPOUND_STRING("electromagnetism"), + [STRINGID_BUFFERENDS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} wore off!"), + [STRINGID_TELEKINESISENDS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was freed from the telekinesis!"), + [STRINGID_TAILWINDENDS] = COMPOUND_STRING("{B_ATK_TEAM1} team's Tailwind petered out!"), + [STRINGID_LUCKYCHANTENDS] = COMPOUND_STRING("{B_ATK_TEAM1} team's Lucky Chant wore off!"), + [STRINGID_TRICKROOMENDS] = COMPOUND_STRING("The twisted dimensions returned to normal!"), + [STRINGID_WONDERROOMENDS] = COMPOUND_STRING("Wonder Room wore off, and Defense and Sp. Def stats returned to normal!"), + [STRINGID_MAGICROOMENDS] = COMPOUND_STRING("Magic Room wore off, and held items' effects returned to normal!"), + [STRINGID_MUDSPORTENDS] = COMPOUND_STRING("The effects of Mud Sport have faded."), + [STRINGID_WATERSPORTENDS] = COMPOUND_STRING("The effects of Water Sport have faded."), + [STRINGID_GRAVITYENDS] = COMPOUND_STRING("Gravity returned to normal!"), + [STRINGID_AQUARINGHEAL] = COMPOUND_STRING("A veil of water restored {B_ATK_NAME_WITH_PREFIX2}'s HP!"), + [STRINGID_ELECTRICTERRAINENDS] = COMPOUND_STRING("The electricity disappeared from the battlefield."), + [STRINGID_MISTYTERRAINENDS] = COMPOUND_STRING("The mist disappeared from the battlefield."), + [STRINGID_PSYCHICTERRAINENDS] = COMPOUND_STRING("The weirdness disappeared from the battlefield!"), + [STRINGID_GRASSYTERRAINENDS] = COMPOUND_STRING("The grass disappeared from the battlefield."), + [STRINGID_TARGETABILITYSTATRAISE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} raised its {B_BUFF1}!"), + [STRINGID_TARGETSSTATWASMAXEDOUT] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} maxed its {B_BUFF1}!"), + [STRINGID_ATTACKERABILITYSTATRAISE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} raised its {B_BUFF1}!"), + [STRINGID_POISONHEALHPUP] = COMPOUND_STRING("The poisoning healed {B_ATK_NAME_WITH_PREFIX2} a little bit!"), //don't think this message is displayed anymore + [STRINGID_BADDREAMSDMG] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is tormented!"), + [STRINGID_MOLDBREAKERENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} breaks the mold!"), + [STRINGID_TERAVOLTENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is radiating a bursting aura!"), + [STRINGID_TURBOBLAZEENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is radiating a blazing aura!"), + [STRINGID_SLOWSTARTENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is slow to get going!"), + [STRINGID_SLOWSTARTEND] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} finally got its act together!"), + [STRINGID_SOLARPOWERHPDROP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} takes its toll!"), //don't think this message is displayed anymore + [STRINGID_AFTERMATHDMG] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was hurt!"), + [STRINGID_ANTICIPATIONACTIVATES] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} shuddered!"), + [STRINGID_FOREWARNACTIVATES] = COMPOUND_STRING("{B_SCR_ACTIVE_ABILITY} alerted {B_SCR_NAME_WITH_PREFIX2} to {B_DEF_NAME_WITH_PREFIX2}'s {B_BUFF1}!"), + [STRINGID_ICEBODYHPGAIN] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} healed it a little bit!"), //don't think this message is displayed anymore + [STRINGID_SNOWWARNINGHAIL] = COMPOUND_STRING("It started to hail!"), + [STRINGID_FRISKACTIVATES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} frisked {B_DEF_NAME_WITH_PREFIX2} and found its {B_LAST_ITEM}!"), + [STRINGID_UNNERVEENTERS] = COMPOUND_STRING("{B_DEF_TEAM1} team is too nervous to eat Berries!"), + [STRINGID_HARVESTBERRY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} harvested its {B_LAST_ITEM}!"), + [STRINGID_LASTABILITYRAISEDSTAT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_LAST_ABILITY} raised its {B_BUFF1}!"), + [STRINGID_MAGICBOUNCEACTIVATES] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} bounced the {B_ATK_NAME_WITH_PREFIX2} back!"), + [STRINGID_PROTEANTYPECHANGE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} transformed it into the {B_BUFF1} type!"), + [STRINGID_SYMBIOSISITEMPASS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} passed its {B_LAST_ITEM} to {B_ATK_NAME_WITH_PREFIX2} through {B_LAST_ABILITY}!"), + [STRINGID_STEALTHROCKDMG] = COMPOUND_STRING("Pointed stones dug into {B_SCR_NAME_WITH_PREFIX2}!"), + [STRINGID_TOXICSPIKESABSORBED] = COMPOUND_STRING("The poison spikes disappeared from the ground around {B_ATK_TEAM2} team!"), + [STRINGID_TOXICSPIKESPOISONED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} was poisoned!"), + [STRINGID_STICKYWEBSWITCHIN] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} was caught in a sticky web!"), + [STRINGID_HEALINGWISHCAMETRUE] = COMPOUND_STRING("The healing wish came true for {B_ATK_NAME_WITH_PREFIX2}!"), + [STRINGID_HEALINGWISHHEALED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} regained health!"), + [STRINGID_LUNARDANCECAMETRUE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became cloaked in mystical moonlight!"), + [STRINGID_CUSEDBODYDISABLED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} was disabled by {B_DEF_NAME_WITH_PREFIX2}'s {B_DEF_ABILITY}!"), + [STRINGID_ATTACKERACQUIREDABILITY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} acquired {B_ATK_ABILITY}!"), + [STRINGID_TARGETABILITYSTATLOWER] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} lowered its {B_BUFF1}!"), + [STRINGID_TARGETSTATWONTGOHIGHER] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} won't go any higher!"), + [STRINGID_PKMNMOVEBOUNCEDABILITY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE} was bounced back by {B_DEF_NAME_WITH_PREFIX2}'s {B_DEF_ABILITY}!"), + [STRINGID_IMPOSTERTRANSFORM] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} transformed into {B_DEF_NAME_WITH_PREFIX2} using {B_LAST_ABILITY}!"), + [STRINGID_ASSAULTVESTDOESNTALLOW] = COMPOUND_STRING("The effects of the {B_LAST_ITEM} prevent status moves from being used!\p"), + [STRINGID_GRAVITYPREVENTSUSAGE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can't use {B_CURRENT_MOVE} because of gravity!\p"), + [STRINGID_HEALBLOCKPREVENTSUSAGE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was prevented from healing!\p"), + [STRINGID_NOTDONEYET] = COMPOUND_STRING("This move effect is not done yet!\p"), + [STRINGID_STICKYWEBUSED] = COMPOUND_STRING("A sticky web has been laid out on the ground around {B_DEF_TEAM2} team!"), + [STRINGID_QUASHSUCCESS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s move was postponed!"), + [STRINGID_PKMNBLEWAWAYTOXICSPIKES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} blew away Toxic Spikes!"), + [STRINGID_PKMNBLEWAWAYSTICKYWEB] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} blew away Sticky Web!"), + [STRINGID_PKMNBLEWAWAYSTEALTHROCK] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} blew away Stealth Rock!"), + [STRINGID_IONDELUGEON] = COMPOUND_STRING("A deluge of ions showers the battlefield!"), + [STRINGID_TOPSYTURVYSWITCHEDSTATS] = COMPOUND_STRING("All stat changes on {B_DEF_NAME_WITH_PREFIX2} were inverted!"), + [STRINGID_TERRAINBECOMESMISTY] = COMPOUND_STRING("Mist swirled around the battlefield!"), + [STRINGID_TERRAINBECOMESGRASSY] = COMPOUND_STRING("Grass grew to cover the battlefield!"), + [STRINGID_TERRAINBECOMESELECTRIC] = COMPOUND_STRING("An electric current ran across the battlefield!"), + [STRINGID_TERRAINBECOMESPSYCHIC] = COMPOUND_STRING("The battlefield got weird!"), + [STRINGID_TARGETELECTRIFIED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s moves have been electrified!"), + [STRINGID_MEGAEVOREACTING] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_LAST_ITEM} is reacting to {B_ATK_TRAINER_NAME}'s Mega Ring!"), //actually displays the type of mega ring in inventory, but we didnt implement them :( + [STRINGID_MEGAEVOEVOLVED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} has Mega Evolved into Mega {B_BUFF1}!"), + [STRINGID_DRASTICALLY] = gText_drastically, + [STRINGID_SEVERELY] = gText_severely, + [STRINGID_INFESTATION] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} has been afflicted with an infestation by {B_ATK_NAME_WITH_PREFIX2}!"), + [STRINGID_NOEFFECTONTARGET] = COMPOUND_STRING("It won't have any effect on {B_DEF_NAME_WITH_PREFIX2}!"), + [STRINGID_BURSTINGFLAMESHIT] = COMPOUND_STRING("The bursting flames hit {B_SCR_NAME_WITH_PREFIX2}!"), + [STRINGID_BESTOWITEMGIVING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} received {B_LAST_ITEM} from {B_ATK_NAME_WITH_PREFIX2}!"), + [STRINGID_THIRDTYPEADDED] = COMPOUND_STRING("{B_BUFF1} type was added to {B_DEF_NAME_WITH_PREFIX2}!"), + [STRINGID_FELLFORFEINT] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} fell for the feint!"), + [STRINGID_POKEMONCANNOTUSEMOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} cannot use {B_CURRENT_MOVE}!"), + [STRINGID_COVEREDINPOWDER] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is covered in powder!"), + [STRINGID_POWDEREXPLODES] = COMPOUND_STRING("When the flame touched the powder on the Pokémon, it exploded!"), + [STRINGID_BELCHCANTSELECT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} hasn't eaten any held Berries, so it can't possibly belch!\p"), + [STRINGID_SPECTRALTHIEFSTEAL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} stole the target's boosted stats!"), + [STRINGID_GRAVITYGROUNDING] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} fell from the sky due to the gravity!"), + [STRINGID_MISTYTERRAINPREVENTS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} surrounds itself with a protective mist!"), + [STRINGID_GRASSYTERRAINHEALS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is healed by the grassy terrain!"), + [STRINGID_ELECTRICTERRAINPREVENTS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} surrounds itself with electrified terrain!"), + [STRINGID_PSYCHICTERRAINPREVENTS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} surrounds itself with psychic terrain!"), + [STRINGID_SAFETYGOGGLESPROTECTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is not affected thanks to its {B_LAST_ITEM}!"), + [STRINGID_FLOWERVEILPROTECTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} surrounded itself with a veil of petals!"), + [STRINGID_SWEETVEILPROTECTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} can't fall asleep due to a veil of sweetness!"), + [STRINGID_AROMAVEILPROTECTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is protected by an aromatic veil!"), + [STRINGID_CELEBRATEMESSAGE] = COMPOUND_STRING("Congratulations, {B_PLAYER_NAME}!"), + [STRINGID_USEDINSTRUCTEDMOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} followed {B_BUFF1}'s instructions!"), + [STRINGID_THROATCHOPENDS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can use sound-based moves again!"), + [STRINGID_PKMNCANTUSEMOVETHROATCHOP] = COMPOUND_STRING("The effects of Throat Chop prevent {B_ATK_NAME_WITH_PREFIX2} from using certain moves!\p"), + [STRINGID_LASERFOCUS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} concentrated intensely!"), + [STRINGID_GEMACTIVATES] = COMPOUND_STRING("The {B_LAST_ITEM} strengthened {B_ATK_NAME_WITH_PREFIX2}'s power!"), + [STRINGID_BERRYDMGREDUCES] = COMPOUND_STRING("The {B_LAST_ITEM} weakened the damage to {B_DEF_NAME_WITH_PREFIX2}!"), + [STRINGID_TARGETATEITEM] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} ate its {B_LAST_ITEM}!"), + [STRINGID_AIRBALLOONFLOAT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} floats in the air with its Air Balloon!"), + [STRINGID_AIRBALLOONPOP] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s Air Balloon popped!"), + [STRINGID_INCINERATEBURN] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}'s {B_LAST_ITEM} was burnt up!"), + [STRINGID_BUGBITE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} stole and ate its target's {B_LAST_ITEM}!"), + [STRINGID_ILLUSIONWOREOFF] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s illusion wore off!"), + [STRINGID_ATTACKERCUREDTARGETSTATUS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} cured {B_DEF_NAME_WITH_PREFIX2}'s problem!"), + [STRINGID_ATTACKERLOSTFIRETYPE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} burned itself out!"), + [STRINGID_HEALERCURE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_LAST_ABILITY} cured {B_SCR_NAME_WITH_PREFIX2}'s problem!"), + [STRINGID_SCRIPTINGABILITYSTATRAISE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} raised its {B_BUFF1}!"), + [STRINGID_RECEIVERABILITYTAKEOVER] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} was taken over!"), + [STRINGID_PKNMABSORBINGPOWER] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is absorbing power!"), + [STRINGID_NOONEWILLBEABLETORUNAWAY] = COMPOUND_STRING("No one will be able to run away during the next turn!"), + [STRINGID_DESTINYKNOTACTIVATES] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} fell in love because of the {B_LAST_ITEM}!"), + [STRINGID_CLOAKEDINAFREEZINGLIGHT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became cloaked in a freezing light!"), + [STRINGID_CLEARAMULETWONTLOWERSTATS] = COMPOUND_STRING("The effects of the {B_LAST_ITEM} held by {B_DEF_NAME_WITH_PREFIX2} prevents its stats from being lowered!"), + [STRINGID_FERVENTWISHREACHED] = COMPOUND_STRING("{B_ATK_TRAINER_NAME}'s fervent wish has reached {B_ATK_NAME_WITH_PREFIX2}!"), + [STRINGID_AIRLOCKACTIVATES] = COMPOUND_STRING("The effects of the weather disappeared."), + [STRINGID_PRESSUREENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is exerting its pressure!"), + [STRINGID_DARKAURAENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is radiating a dark aura!"), + [STRINGID_FAIRYAURAENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is radiating a fairy aura!"), + [STRINGID_AURABREAKENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} reversed all other Pokémon's auras!"), + [STRINGID_COMATOSEENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is drowsing!"), + [STRINGID_SCREENCLEANERENTERS] = COMPOUND_STRING("All screens on the field were cleansed!"), + [STRINGID_FETCHEDPOKEBALL] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} found a {B_LAST_ITEM}!"), + [STRINGID_BATTLERABILITYRAISEDSTAT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} raised its {B_BUFF1}!"), + [STRINGID_ASANDSTORMKICKEDUP] = COMPOUND_STRING("A sandstorm kicked up!"), + [STRINGID_PKMNSWILLPERISHIN3TURNS] = COMPOUND_STRING("Both Pokémon will perish in three turns!"), //don't think this message is displayed anymore + [STRINGID_ABILITYRAISEDSTATDRASTICALLY] = COMPOUND_STRING("{B_DEF_ABILITY} raised {B_DEF_NAME_WITH_PREFIX2}'s {B_BUFF1} drastically!"), + [STRINGID_AURAFLAREDTOLIFE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s aura flared to life!"), + [STRINGID_ASONEENTERS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} has two Abilities!"), + [STRINGID_CURIOUSMEDICINEENTERS] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX}'s stat changes were removed!"), + [STRINGID_CANACTFASTERTHANKSTO] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can act faster than normal, thanks to its {B_BUFF1}!"), + [STRINGID_MICLEBERRYACTIVATES] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} boosted the accuracy of its next move using {B_LAST_ITEM}!"), + [STRINGID_PKMNSHOOKOFFTHETAUNT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} shook off the taunt!"), + [STRINGID_PKMNGOTOVERITSINFATUATION] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} got over its infatuation!"), + [STRINGID_ITEMCANNOTBEREMOVED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s item cannot be removed!"), + [STRINGID_STICKYBARBTRANSFER] = COMPOUND_STRING("The {B_LAST_ITEM} attached itself to {B_ATK_NAME_WITH_PREFIX2}!"), + [STRINGID_PKMNBURNHEALED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s burn was cured!"), + [STRINGID_REDCARDACTIVATE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} held up its Red Card against {B_ATK_NAME_WITH_PREFIX2}!"), + [STRINGID_EJECTBUTTONACTIVATE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} is switched out with the {B_LAST_ITEM}!"), + [STRINGID_ATKGOTOVERINFATUATION] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} got over its infatuation!"), + [STRINGID_TORMENTEDNOMORE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is no longer tormented!"), + [STRINGID_HEALBLOCKEDNOMORE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is cured of its heal block!"), + [STRINGID_ATTACKERBECAMEFULLYCHARGED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became fully charged due to its bond with its trainer!\p"), + [STRINGID_ATTACKERBECAMEASHSPECIES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became Ash-Greninja!\p"), + [STRINGID_EXTREMELYHARSHSUNLIGHT] = COMPOUND_STRING("The sunlight turned extremely harsh!"), + [STRINGID_EXTREMESUNLIGHTFADED] = COMPOUND_STRING("The extremely harsh sunlight faded!"), + [STRINGID_MOVEEVAPORATEDINTHEHARSHSUNLIGHT] = COMPOUND_STRING("The Water-type attack evaporated in the extremely harsh sunlight!"), + [STRINGID_EXTREMELYHARSHSUNLIGHTWASNOTLESSENED] = COMPOUND_STRING("The extremely harsh sunlight was not lessened at all!"), + [STRINGID_HEAVYRAIN] = COMPOUND_STRING("A heavy rain began to fall!"), + [STRINGID_HEAVYRAINLIFTED] = COMPOUND_STRING("The heavy rain has lifted!"), + [STRINGID_MOVEFIZZLEDOUTINTHEHEAVYRAIN] = COMPOUND_STRING("The Fire-type attack fizzled out in the heavy rain!"), + [STRINGID_NORELIEFROMHEAVYRAIN] = COMPOUND_STRING("There is no relief from this heavy rain!"), + [STRINGID_MYSTERIOUSAIRCURRENT] = COMPOUND_STRING("Mysterious strong winds are protecting Flying-type Pokémon!"), + [STRINGID_STRONGWINDSDISSIPATED] = COMPOUND_STRING("The mysterious strong winds have dissipated!"), + [STRINGID_MYSTERIOUSAIRCURRENTBLOWSON] = COMPOUND_STRING("The mysterious strong winds blow on regardless!"), + [STRINGID_ATTACKWEAKENEDBSTRONGWINDS] = COMPOUND_STRING("The mysterious strong winds weakened the attack!"), + [STRINGID_STUFFCHEEKSCANTSELECT] = COMPOUND_STRING("It can't use the move because it doesn't have a Berry!\p"), + [STRINGID_PKMNREVERTEDTOPRIMAL] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s Primal Reversion! It reverted to its primal state!"), + [STRINGID_BUTPOKEMONCANTUSETHEMOVE] = COMPOUND_STRING("But {B_ATK_NAME_WITH_PREFIX2} can't use the move!"), + [STRINGID_BUTHOOPACANTUSEIT] = COMPOUND_STRING("But {B_ATK_NAME_WITH_PREFIX2} can't use it the way it is now!"), + [STRINGID_BROKETHROUGHPROTECTION] = COMPOUND_STRING("It broke through {B_DEF_NAME_WITH_PREFIX2}'s protection!"), + [STRINGID_ABILITYALLOWSONLYMOVE] = COMPOUND_STRING("{B_ATK_ABILITY} only allows the use of {B_CURRENT_MOVE}!\p"), + [STRINGID_SWAPPEDABILITIES] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} swapped Abilities with its target!"), + [STRINGID_PASTELVEILPROTECTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is protected by a pastel veil!"), + [STRINGID_PASTELVEILENTERS] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} was cured of its poisoning!"), + [STRINGID_BATTLERTYPECHANGEDTO] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s type changed to {B_BUFF1}!"), + [STRINGID_BOTHCANNOLONGERESCAPE] = COMPOUND_STRING("Neither Pokémon can run away!"), + [STRINGID_CANTESCAPEDUETOUSEDMOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can no longer escape because it used No Retreat!"), + [STRINGID_PKMNBECAMEWEAKERTOFIRE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} became weaker to fire!"), + [STRINGID_ABOUTTOUSEPOLTERGEIST] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is about to be attacked by its {B_BUFF1}!"), + [STRINGID_CANTESCAPEBECAUSEOFCURRENTMOVE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} can no longer escape because of Octolock!"), + [STRINGID_NEUTRALIZINGGASENTERS] = COMPOUND_STRING("Neutralizing gas filled the area!"), + [STRINGID_NEUTRALIZINGGASOVER] = COMPOUND_STRING("The effects of the neutralizing gas wore off!"), + [STRINGID_TARGETTOOHEAVY] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is too heavy to be lifted!"), + [STRINGID_PKMNTOOKTARGETHIGH] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} took {B_DEF_NAME_WITH_PREFIX2} into the sky!"), + [STRINGID_PKMNINSNAPTRAP] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} got trapped by a snap trap!"), + [STRINGID_METEORBEAMCHARGING] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is overflowing with space power!"), + [STRINGID_HEATUPBEAK] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} started heating up its beak!"), + [STRINGID_COURTCHANGE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} swapped the battle effects affecting each side of the field!"), + [STRINGID_PLAYERLOSTTOENEMYTRAINER] = COMPOUND_STRING("You have no more Pokémon that can fight!\pYou lost to {B_TRAINER1_NAME_WITH_CLASS}!{PAUSE_UNTIL_PRESS}"), + [STRINGID_PLAYERPAIDPRIZEMONEY] = COMPOUND_STRING("You gave ¥{B_BUFF1} to the winner…\pYou were overwhelmed by your defeat!{PAUSE_UNTIL_PRESS}"), + [STRINGID_ZPOWERSURROUNDS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} surrounded itself with its Z-Power!"), + [STRINGID_ZMOVEUNLEASHED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} unleashes its full-force Z-Move!"), + [STRINGID_ZMOVERESETSSTATS] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} returned its decreased stats to normal using its Z-Power!"), + [STRINGID_ZMOVEALLSTATSUP] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} boosted its stats using its Z-Power!"), + [STRINGID_ZMOVEZBOOSTCRIT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} boosted its critical-hit ratio using its Z-Power!"), + [STRINGID_ZMOVERESTOREHP] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} restored its HP using its Z-Power!"), + [STRINGID_ZMOVESTATUP] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} boosted its stats using its Z-Power!"), + [STRINGID_ZMOVEHPTRAP] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s HP was restored by the Z-Power!"), + [STRINGID_ATTACKEREXPELLEDTHEPOISON] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} managed to expel the poison so you wouldn't worry!"), + [STRINGID_ATTACKERSHOOKITSELFAWAKE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} shook itself awake so you wouldn't worry!"), + [STRINGID_ATTACKERBROKETHROUGHPARALYSIS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} gathered all its energy to break through its paralysis so you wouldn't worry!"), + [STRINGID_ATTACKERHEALEDITSBURN] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} cured its burn through sheer determination so you wouldn't worry!"), + [STRINGID_ATTACKERMELTEDTHEICE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} melted the ice with its fiery determination so you wouldn't worry!"), + [STRINGID_TARGETTOUGHEDITOUT] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} toughed it out so you wouldn't feel sad!"), + [STRINGID_ATTACKERLOSTELECTRICTYPE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} used up all its electricity!"), + [STRINGID_ATTACKERSWITCHEDSTATWITHTARGET] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} switched {B_BUFF1} with its target!"), + [STRINGID_BEINGHITCHARGEDPKMNWITHPOWER] = COMPOUND_STRING("Being hit by {B_CURRENT_MOVE} charged {B_DEF_NAME_WITH_PREFIX2} with power!"), + [STRINGID_SUNLIGHTACTIVATEDABILITY] = COMPOUND_STRING("The harsh sunlight activated {B_SCR_NAME_WITH_PREFIX2}'s Protosynthesis!"), + [STRINGID_STATWASHEIGHTENED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_BUFF1} was heightened!"), + [STRINGID_ELECTRICTERRAINACTIVATEDABILITY] = COMPOUND_STRING("The Electric Terrain activated {B_SCR_NAME_WITH_PREFIX2}'s Quark Drive!"), + [STRINGID_ABILITYWEAKENEDSURROUNDINGMONSSTAT] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} weakened the {B_BUFF1} of all surrounding Pokémon!\p"), + [STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} gained strength from the fallen!"), + [STRINGID_PKMNSABILITYPREVENTSABILITY] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY} prevents {B_DEF_NAME_WITH_PREFIX2}'s {B_DEF_ABILITY} from working!"), //not in gen 5+, ability popup + [STRINGID_PREPARESHELLTRAP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} set a shell trap!"), + [STRINGID_SHELLTRAPDIDNTWORK] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s shell trap didn't work!"), + [STRINGID_SPIKESDISAPPEAREDFROMTEAM] = COMPOUND_STRING("The spikes disappeared from the ground around {B_ATK_TEAM2} team!"), + [STRINGID_TOXICSPIKESDISAPPEAREDFROMTEAM] = COMPOUND_STRING("The poison spikes disappeared from the ground around {B_ATK_TEAM2} team!"), + [STRINGID_STICKYWEBDISAPPEAREDFROMTEAM] = COMPOUND_STRING("The sticky web has disappeared from the ground around {B_ATK_TEAM2} team!"), + [STRINGID_STEALTHROCKDISAPPEAREDFROMTEAM] = COMPOUND_STRING("The pointed stones disappeared from around {B_ATK_TEAM2} team!"), + [STRINGID_COULDNTFULLYPROTECT] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} couldn't fully protect itself and got hurt!"), + [STRINGID_STOCKPILEDEFFECTWOREOFF] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s stockpiled effect wore off!"), + [STRINGID_PKMNREVIVEDREADYTOFIGHT] = COMPOUND_STRING("{B_BUFF1} was revived and is ready to fight again!"), + [STRINGID_ITEMRESTOREDSPECIESHEALTH] = COMPOUND_STRING("{B_BUFF1} had its HP restored."), + [STRINGID_ITEMCUREDSPECIESSTATUS] = COMPOUND_STRING("{B_BUFF1} had its status healed!"), + [STRINGID_ITEMRESTOREDSPECIESPP] = COMPOUND_STRING("{B_BUFF1} had its PP restored!"), + [STRINGID_THUNDERCAGETRAPPED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} trapped {B_DEF_NAME_WITH_PREFIX2}!"), + [STRINGID_PKMNHURTBYFROSTBITE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was hurt by its frostbite!"), + [STRINGID_PKMNGOTFROSTBITE] = COMPOUND_STRING("{B_EFF_NAME_WITH_PREFIX} got frostbite!"), + [STRINGID_PKMNSITEMHEALEDFROSTBITE] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}'s {B_LAST_ITEM} cured its frostbite!"), + [STRINGID_ATTACKERHEALEDITSFROSTBITE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} cured its frostbite through sheer determination so you wouldn't worry!"), + [STRINGID_PKMNFROSTBITEHEALED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX}'s frostbite was cured!"), + [STRINGID_PKMNFROSTBITEHEALED2] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s frostbite was cured!"), + [STRINGID_PKMNFROSTBITEHEALEDBY] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE} cured its frostbite!"), + [STRINGID_MIRRORHERBCOPIED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} used its Mirror Herb to mirror its opponent's stat changes!"), + [STRINGID_STARTEDSNOW] = COMPOUND_STRING("It started to snow!"), + [STRINGID_SNOWCONTINUES] = COMPOUND_STRING("Snow continues to fall."), //not in gen 5+ (lol) + [STRINGID_SNOWSTOPPED] = COMPOUND_STRING("The snow stopped."), + [STRINGID_SNOWWARNINGSNOW] = COMPOUND_STRING("It started to snow!"), + [STRINGID_PKMNITEMMELTED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} corroded {B_DEF_NAME_WITH_PREFIX2}'s {B_LAST_ITEM}!"), + [STRINGID_ULTRABURSTREACTING] = COMPOUND_STRING("Bright light is about to burst out of {B_ATK_NAME_WITH_PREFIX2}!"), + [STRINGID_ULTRABURSTCOMPLETED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} regained its true power through Ultra Burst!"), + [STRINGID_TEAMGAINEDEXP] = COMPOUND_STRING("The rest of your team gained Exp. Points thanks to the Exp. Share!\p"), + [STRINGID_CURRENTMOVECANTSELECT] = COMPOUND_STRING("{B_BUFF1} cannot be used!\p"), + [STRINGID_TARGETISBEINGSALTCURED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is being salt cured!"), + [STRINGID_TARGETISHURTBYSALTCURE] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is hurt by {B_BUFF1}!"), + [STRINGID_TARGETCOVEREDINSTICKYCANDYSYRUP] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} got covered in sticky candy syrup!"), + [STRINGID_SHARPSTEELFLOATS] = COMPOUND_STRING("Sharp-pointed pieces of steel started floating around {B_DEF_TEAM2} Pokémon!"), + [STRINGID_SHARPSTEELDMG] = COMPOUND_STRING("The sharp steel bit into {B_DEF_NAME_WITH_PREFIX2}!"), + [STRINGID_PKMNBLEWAWAYSHARPSTEEL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} blew away sharp steel!"), + [STRINGID_SHARPSTEELDISAPPEAREDFROMTEAM] = COMPOUND_STRING("The pieces of steel surrounding {B_ATK_TEAM2} Pokémon disappeared!"), + [STRINGID_TEAMTRAPPEDWITHVINES] = COMPOUND_STRING("{B_DEF_TEAM1} Pokémon got trapped with vines!"), + [STRINGID_PKMNHURTBYVINES] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is hurt by G-Max Vine Lash's ferocious beating!"), + [STRINGID_TEAMCAUGHTINVORTEX] = COMPOUND_STRING("{B_DEF_TEAM1} Pokémon got caught in a vortex of water!"), + [STRINGID_PKMNHURTBYVORTEX] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is hurt by G-Max Cannonade's vortex!"), + [STRINGID_TEAMSURROUNDEDBYFIRE] = COMPOUND_STRING("{B_DEF_TEAM1} Pokémon were surrounded by fire!"), + [STRINGID_PKMNBURNINGUP] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is burning up within G-Max Wildfire's flames!"), + [STRINGID_TEAMSURROUNDEDBYROCKS] = COMPOUND_STRING("{B_DEF_TEAM1} Pokémon became surrounded by rocks!"), + [STRINGID_PKMNHURTBYROCKSTHROWN] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is hurt by rocks thrown out by G-Max Volcalith!"), + [STRINGID_MOVEBLOCKEDBYDYNAMAX] = COMPOUND_STRING("The move was blocked by the power of Dynamax!"), + [STRINGID_ZEROTOHEROTRANSFORMATION] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} underwent a heroic transformation!"), + [STRINGID_THETWOMOVESBECOMEONE] = COMPOUND_STRING("The two moves have become one! It's a combined move!{PAUSE 16}"), + [STRINGID_ARAINBOWAPPEAREDONSIDE] = COMPOUND_STRING("A rainbow appeared in the sky on {B_ATK_TEAM2} team's side!"), + [STRINGID_THERAINBOWDISAPPEARED] = COMPOUND_STRING("The rainbow on {B_ATK_TEAM2} team's side disappeared!"), + [STRINGID_WAITINGFORPARTNERSMOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is waiting for {B_ATK_PARTNER_NAME}'s move…{PAUSE 16}"), + [STRINGID_SEAOFFIREENVELOPEDSIDE] = COMPOUND_STRING("A sea of fire enveloped {B_DEF_TEAM2} team!"), + [STRINGID_HURTBYTHESEAOFFIRE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} was hurt by the sea of fire!"), + [STRINGID_THESEAOFFIREDISAPPEARED] = COMPOUND_STRING("The sea of fire around {B_ATK_TEAM2} team disappeared!"), + [STRINGID_SWAMPENVELOPEDSIDE] = COMPOUND_STRING("A swamp enveloped {B_DEF_TEAM2} team!"), + [STRINGID_THESWAMPDISAPPEARED] = COMPOUND_STRING("The swamp around {B_ATK_TEAM2} team disappeared!"), + [STRINGID_PKMNTELLCHILLINGRECEPTIONJOKE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is preparing to tell a chillingly bad joke!"), + [STRINGID_HOSPITALITYRESTORATION] = COMPOUND_STRING("{B_ATK_PARTNER_NAME} drank down all the matcha that {B_ATK_NAME_WITH_PREFIX2} made!"), + [STRINGID_ELECTROSHOTCHARGING] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} absorbed electricity!"), + [STRINGID_ITEMWASUSEDUP] = COMPOUND_STRING("The {B_LAST_ITEM} was used up…"), + [STRINGID_ATTACKERLOSTITSTYPE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} lost its {B_BUFF1} type!"), + [STRINGID_SHEDITSTAIL] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} shed its tail to create a decoy!"), + [STRINGID_CLOAKEDINAHARSHLIGHT] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} became cloaked in a harsh light!"), + [STRINGID_SUPERSWEETAROMAWAFTS] = COMPOUND_STRING("A supersweet aroma is wafting from the syrup covering {B_ATK_NAME_WITH_PREFIX2}!"), + [STRINGID_DIMENSIONSWERETWISTED] = COMPOUND_STRING("The dimensions were twisted!"), + [STRINGID_BIZARREARENACREATED] = COMPOUND_STRING("A bizarre area was created in which Pokémon's held items lose their effects!"), + [STRINGID_BIZARREAREACREATED] = COMPOUND_STRING("A bizarre area was created in which Defense and Sp. Def stats are swapped!"), + [STRINGID_TIDYINGUPCOMPLETE] = COMPOUND_STRING("Tidying up complete!"), + [STRINGID_PKMNTERASTALLIZEDINTO] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} terastallized into the {B_BUFF1} type!"), + [STRINGID_BOOSTERENERGYACTIVATES] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} used its {B_LAST_ITEM} to activate {B_SCR_ACTIVE_ABILITY}!"), + [STRINGID_FOGCREPTUP] = COMPOUND_STRING("Fog crept up as thick as soup!"), + [STRINGID_FOGISDEEP] = COMPOUND_STRING("The fog is deep…"), + [STRINGID_FOGLIFTED] = COMPOUND_STRING("The fog lifted."), + [STRINGID_PKMNMADESHELLGLEAM] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} made its shell gleam! It's distorting type matchups!"), + [STRINGID_FICKLEBEAMDOUBLED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} is going all out for this attack!"), + [STRINGID_COMMANDERACTIVATES] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} was swallowed by Dondozo and became Dondozo's commander!"), + [STRINGID_POKEFLUTECATCHY] = COMPOUND_STRING("{B_PLAYER_NAME} played the {B_LAST_ITEM}.\pNow, that's a catchy tune!"), + [STRINGID_POKEFLUTE] = COMPOUND_STRING("{B_PLAYER_NAME} played the {B_LAST_ITEM}."), + [STRINGID_MONHEARINGFLUTEAWOKE] = COMPOUND_STRING("The Pokémon hearing the flute awoke!"), + [STRINGID_SUNLIGHTISHARSH] = COMPOUND_STRING("The sunlight is harsh!"), + [STRINGID_ITISHAILING] = COMPOUND_STRING("It's hailing!"), + [STRINGID_ITISSNOWING] = COMPOUND_STRING("It's snowing!"), + [STRINGID_ISCOVEREDWITHGRASS] = COMPOUND_STRING("The battlefield is covered with grass!"), + [STRINGID_MISTSWIRLSAROUND] = COMPOUND_STRING("Mist swirls around the battlefield!"), + [STRINGID_ELECTRICCURRENTISRUNNING] = COMPOUND_STRING("An electric current is running across the battlefield!"), + [STRINGID_SEEMSWEIRD] = COMPOUND_STRING("The battlefield seems weird!"), + [STRINGID_WAGGLINGAFINGER] = COMPOUND_STRING("Waggling a finger let it use {B_CURRENT_MOVE}!"), }; const u16 gTrainerUsedItemStringIds[] = @@ -1729,9 +1066,9 @@ const u16 gReflectLightScreenSafeguardStringIds[] = { [B_MSG_SIDE_STATUS_FAILED] = STRINGID_BUTITFAILED, [B_MSG_SET_REFLECT_SINGLE] = STRINGID_PKMNRAISEDDEF, - [B_MSG_SET_REFLECT_DOUBLE] = STRINGID_PKMNRAISEDDEFALITTLE, + [B_MSG_SET_REFLECT_DOUBLE] = STRINGID_PKMNRAISEDDEF, [B_MSG_SET_LIGHTSCREEN_SINGLE] = STRINGID_PKMNRAISEDSPDEF, - [B_MSG_SET_LIGHTSCREEN_DOUBLE] = STRINGID_PKMNRAISEDSPDEFALITTLE, + [B_MSG_SET_LIGHTSCREEN_DOUBLE] = STRINGID_PKMNRAISEDSPDEF, [B_MSG_SET_SAFEGUARD] = STRINGID_PKMNCOVEREDBYVEIL, }; @@ -1938,7 +1275,7 @@ const u16 gWeatherStartsStringIds[] = [WEATHER_SUNNY_CLOUDS] = STRINGID_ITISRAINING, [WEATHER_SUNNY] = STRINGID_ITISRAINING, [WEATHER_RAIN] = STRINGID_ITISRAINING, - [WEATHER_SNOW] = (B_OVERWORLD_SNOW >= GEN_9 ? STRINGID_STARTEDSNOW : STRINGID_STARTEDHAIL), + [WEATHER_SNOW] = (B_OVERWORLD_SNOW >= GEN_9 ? STRINGID_ITISSNOWING : STRINGID_ITISHAILING), [WEATHER_RAIN_THUNDERSTORM] = STRINGID_ITISRAINING, [WEATHER_FOG_HORIZONTAL] = STRINGID_FOGISDEEP, [WEATHER_VOLCANIC_ASH] = STRINGID_ITISRAINING, @@ -1946,12 +1283,17 @@ const u16 gWeatherStartsStringIds[] = [WEATHER_FOG_DIAGONAL] = STRINGID_FOGISDEEP, [WEATHER_UNDERWATER] = STRINGID_ITISRAINING, [WEATHER_SHADE] = STRINGID_ITISRAINING, - [WEATHER_DROUGHT] = STRINGID_SUNLIGHTSTRONG, + [WEATHER_DROUGHT] = STRINGID_SUNLIGHTISHARSH, [WEATHER_DOWNPOUR] = STRINGID_ITISRAINING, [WEATHER_UNDERWATER_BUBBLES] = STRINGID_ITISRAINING, [WEATHER_ABNORMAL] = STRINGID_ITISRAINING }; +const u16 gTerrainStartsStringIds[] = +{ + STRINGID_MISTSWIRLSAROUND, STRINGID_ELECTRICCURRENTISRUNNING, STRINGID_ISCOVEREDWITHGRASS, STRINGID_SEEMSWEIRD, +}; + const u16 gPrimalWeatherBlocksStringIds[] = { [B_MSG_PRIMAL_WEATHER_FIZZLED_BY_RAIN] = STRINGID_MOVEFIZZLEDOUTINTHEHEAVYRAIN, @@ -2066,12 +1408,12 @@ const u8 gText_PkmnIsEvolving[] = _("What?\n{STR_VAR_1} is evolving!"); const u8 gText_CongratsPkmnEvolved[] = _("Congratulations! Your {STR_VAR_1}\nevolved into {STR_VAR_2}!{WAIT_SE}\p"); const u8 gText_PkmnStoppedEvolving[] = _("Huh? {STR_VAR_1}\nstopped evolving!\p"); const u8 gText_EllipsisQuestionMark[] = _("……?\p"); -const u8 gText_WhatWillPkmnDo[] = _("What will\n{B_BUFF1} do?"); -const u8 gText_WhatWillPkmnDo2[] = _("What will\n{B_PLAYER_NAME} do?"); +const u8 gText_WhatWillPkmnDo[] = _("What will {B_BUFF1} do?"); +const u8 gText_WhatWillPkmnDo2[] = _("What will {B_PLAYER_NAME} do?"); const u8 gText_WhatWillWallyDo[] = _("What will\nWALLY do?"); const u8 gText_LinkStandby[] = _("{PAUSE 16}Link standby…"); -const u8 gText_BattleMenu[] = _("FIGHT{CLEAR_TO 56}BAG\nPOKéMON{CLEAR_TO 56}RUN"); -const u8 gText_SafariZoneMenu[] = _("BALL{CLEAR_TO 56}{POKEBLOCK}\nGO NEAR{CLEAR_TO 56}RUN"); +const u8 gText_BattleMenu[] = _("Battle{CLEAR_TO 56}Bag\nPokémon{CLEAR_TO 56}Run"); +const u8 gText_SafariZoneMenu[] = _("Ball{CLEAR_TO 56}{POKEBLOCK}\nGo Near{CLEAR_TO 56}Run"); const u8 gText_MoveInterfacePP[] = _("PP "); const u8 gText_MoveInterfaceType[] = _("TYPE/"); const u8 gText_MoveInterfacePpType[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}PP\nTYPE/"); @@ -2083,15 +1425,7 @@ const u8 gText_BattleSwitchWhich2[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNA const u8 gText_BattleSwitchWhich3[] = _("{UP_ARROW}"); const u8 gText_BattleSwitchWhich4[] = _("{ESCAPE 4}"); const u8 gText_BattleSwitchWhich5[] = _("-"); - -// Unused -static const u8 *const sStatNamesTable2[] = -{ - gText_HP3, gText_SpAtk, gText_Attack, - gText_SpDef, gText_Defense, gText_Speed -}; - -const u8 gText_SafariBalls[] = _("{HIGHLIGHT DARK_GRAY}SAFARI BALLS"); +const u8 gText_SafariBalls[] = _("{HIGHLIGHT DARK_GRAY}Safari Balls"); const u8 gText_SafariBallLeft[] = _("{HIGHLIGHT DARK_GRAY}Left: $" "{HIGHLIGHT DARK_GRAY}"); const u8 gText_Sleep[] = _("sleep"); const u8 gText_Poison[] = _("poison"); @@ -2107,33 +1441,28 @@ const u8 gText_LineBreak[] = _("\l"); const u8 gText_NewLine[] = _("\n"); const u8 gText_Are[] = _("are"); const u8 gText_Are2[] = _("are"); -const u8 gText_BadEgg[] = _("Bad EGG"); +const u8 gText_BadEgg[] = _("Bad Egg"); const u8 gText_BattleWallyName[] = _("WALLY"); const u8 gText_Win[] = _("{HIGHLIGHT TRANSPARENT}Win"); const u8 gText_Loss[] = _("{HIGHLIGHT TRANSPARENT}Loss"); const u8 gText_Draw[] = _("{HIGHLIGHT TRANSPARENT}Draw"); static const u8 sText_SpaceIs[] = _(" is"); static const u8 sText_ApostropheS[] = _("'s"); - const u8 gText_BattleTourney[] = _("BATTLE TOURNEY"); -static const u8 sText_Round1[] = _("Round 1"); -static const u8 sText_Round2[] = _("Round 2"); -static const u8 sText_Semifinal[] = _("Semifinal"); -static const u8 sText_Final[] = _("Final"); const u8 *const gRoundsStringTable[DOME_ROUNDS_COUNT] = { - [DOME_ROUND1] = sText_Round1, - [DOME_ROUND2] = sText_Round2, - [DOME_SEMIFINAL] = sText_Semifinal, - [DOME_FINAL] = sText_Final + [DOME_ROUND1] = COMPOUND_STRING("Round 1"), + [DOME_ROUND2] = COMPOUND_STRING("Round 2"), + [DOME_SEMIFINAL] = COMPOUND_STRING("Semifinal"), + [DOME_FINAL] = COMPOUND_STRING("Final"), }; const u8 gText_TheGreatNewHope[] = _("The great new hope!\p"); const u8 gText_WillChampionshipDreamComeTrue[] = _("Will the championship dream come true?!\p"); -const u8 gText_AFormerChampion[] = _("A former CHAMPION!\p"); -const u8 gText_ThePreviousChampion[] = _("The previous CHAMPION!\p"); -const u8 gText_TheUnbeatenChampion[] = _("The unbeaten CHAMPION!\p"); +const u8 gText_AFormerChampion[] = _("A former champion!\p"); +const u8 gText_ThePreviousChampion[] = _("The previous champion!\p"); +const u8 gText_TheUnbeatenChampion[] = _("The unbeaten champion!\p"); const u8 gText_PlayerMon1Name[] = _("{B_PLAYER_MON1_NAME}"); const u8 gText_Vs[] = _("VS"); const u8 gText_OpponentMon1Name[] = _("{B_OPPONENT_MON1_NAME}"); @@ -2141,17 +1470,10 @@ const u8 gText_Mind[] = _("Mind"); const u8 gText_Skill[] = _("Skill"); const u8 gText_Body[] = _("Body"); const u8 gText_Judgment[] = _("{B_BUFF1}{CLEAR 13}Judgment{CLEAR 13}{B_BUFF2}"); -static const u8 sText_TwoTrainersSentPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\nout {B_OPPONENT_MON1_NAME}!\p{B_TRAINER2_CLASS} {B_TRAINER2_NAME} sent\nout {B_OPPONENT_MON2_NAME}!"); -static const u8 sText_Trainer2SentOutPkmn[] = _("{B_TRAINER2_CLASS} {B_TRAINER2_NAME} sent\nout {B_BUFF1}!"); -static const u8 sText_TwoTrainersWantToBattle[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} and\n{B_TRAINER2_CLASS} {B_TRAINER2_NAME}\lwant to battle!\p"); -static const u8 sText_InGamePartnerSentOutZGoN[] = _("{B_PARTNER_CLASS} {B_PARTNER_NAME} sent\nout {B_PLAYER_MON2_NAME}!\lGo, {B_PLAYER_MON1_NAME}!"); -static const u8 sText_TwoInGameTrainersDefeated[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} and\n{B_TRAINER2_CLASS} {B_TRAINER2_NAME}\lwere defeated!\p"); -static const u8 sText_Trainer2LoseText[] = _("{B_TRAINER2_LOSE_TEXT}"); -static const u8 sText_PkmnIncapableOfPower[] = _("{B_ATK_NAME_WITH_PREFIX} appears incapable\nof using its power!"); -static const u8 sText_GlintAppearsInEye[] = _("A glint appears in\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s eyes!"); -static const u8 sText_PkmnGettingIntoPosition[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is getting into\nposition!"); -static const u8 sText_PkmnBeganGrowlingDeeply[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} began growling deeply!"); -static const u8 sText_PkmnEagerForMore[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is eager for more!"); +static const u8 sText_TwoTrainersSentPkmn[] = _("{B_TRAINER1_NAME_WITH_CLASS} sent out {B_OPPONENT_MON1_NAME}!\p{B_TRAINER2_NAME_WITH_CLASS} sent out {B_OPPONENT_MON2_NAME}!"); +static const u8 sText_Trainer2SentOutPkmn[] = _("{B_TRAINER2_NAME_WITH_CLASS} sent out {B_BUFF1}!"); +static const u8 sText_TwoTrainersWantToBattle[] = _("You are challenged by {B_TRAINER1_NAME_WITH_CLASS} and {B_TRAINER2_NAME_WITH_CLASS}!\p"); +static const u8 sText_InGamePartnerSentOutZGoN[] = _("{B_PARTNER_NAME_WITH_CLASS} sent out {B_PLAYER_MON2_NAME}! Go, {B_PLAYER_MON1_NAME}!"); const u16 gBattlePalaceFlavorTextTable[] = { @@ -2161,43 +1483,26 @@ const u16 gBattlePalaceFlavorTextTable[] = [B_MSG_EAGER_FOR_MORE] = STRINGID_PKMNEAGERFORMORE, }; -static const u8 sText_RefIfNothingIsDecided[] = _("REFEREE: If nothing is decided in\n3 turns, we will go to judging!"); -static const u8 sText_RefThatsIt[] = _("REFEREE: That's it! We will now go to\njudging to determine the winner!"); -static const u8 sText_RefJudgeMind[] = _("REFEREE: Judging category 1, Mind!\nThe POKéMON showing the most guts!\p"); -static const u8 sText_RefJudgeSkill[] = _("REFEREE: Judging category 2, Skill!\nThe POKéMON using moves the best!\p"); -static const u8 sText_RefJudgeBody[] = _("REFEREE: Judging category 3, Body!\nThe POKéMON with the most vitality!\p"); -static const u8 sText_RefPlayerWon[] = _("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}!\nThe winner is {B_PLAYER_NAME}'s {B_PLAYER_MON1_NAME}!\p"); -static const u8 sText_RefOpponentWon[] = _("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}!\nThe winner is {B_TRAINER1_NAME}'s {B_OPPONENT_MON1_NAME}!\p"); -static const u8 sText_RefDraw[] = _("REFEREE: Judgment: 3 to 3!\nWe have a draw!\p"); -static const u8 sText_DefeatedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} defeated the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE's decision!"); -static const u8 sText_LostToOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} lost to the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE's decision!"); -static const u8 sText_TiedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} tied the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE's decision!"); -static const u8 sText_RefCommenceBattle[] = _("REFEREE: {B_PLAYER_MON1_NAME} VS {B_OPPONENT_MON1_NAME}!\nCommence battling!"); - const u8 *const gRefereeStringsTable[] = { - [B_MSG_REF_NOTHING_IS_DECIDED] = sText_RefIfNothingIsDecided, - [B_MSG_REF_THATS_IT] = sText_RefThatsIt, - [B_MSG_REF_JUDGE_MIND] = sText_RefJudgeMind, - [B_MSG_REF_JUDGE_SKILL] = sText_RefJudgeSkill, - [B_MSG_REF_JUDGE_BODY] = sText_RefJudgeBody, - [B_MSG_REF_PLAYER_WON] = sText_RefPlayerWon, - [B_MSG_REF_OPPONENT_WON] = sText_RefOpponentWon, - [B_MSG_REF_DRAW] = sText_RefDraw, - [B_MSG_REF_COMMENCE_BATTLE] = sText_RefCommenceBattle, -}; - -static const u8 sText_QuestionForfeitMatch[] = _("Would you like to forfeit the match\nand quit now?"); -static const u8 sText_ForfeitedMatch[] = _("{B_PLAYER_NAME} forfeited the match!"); -static const u8 sText_Trainer1WinText[] = _("{B_TRAINER1_WIN_TEXT}"); -static const u8 sText_Trainer2WinText[] = _("{B_TRAINER2_WIN_TEXT}"); -static const u8 sText_Trainer1Fled[] = _( "{PLAY_SE SE_FLEE}{B_TRAINER1_CLASS} {B_TRAINER1_NAME} fled!"); -static const u8 sText_PlayerLostAgainstTrainer1[] = _("Player lost against\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!"); -static const u8 sText_PlayerBattledToDrawTrainer1[] = _("Player battled to a draw against\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!"); -const u8 gText_RecordBattleToPass[] = _("Would you like to record your battle\non your FRONTIER PASS?"); -const u8 gText_BattleRecordedOnPass[] = _("{B_PLAYER_NAME}'s battle result was recorded\non the FRONTIER PASS."); -static const u8 sText_LinkTrainerWantsToBattlePause[] = _("{B_LINK_OPPONENT1_NAME}\nwants to battle!{PAUSE 49}"); -static const u8 sText_TwoLinkTrainersWantToBattlePause[] = _("{B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}\nwant to battle!{PAUSE 49}"); + [B_MSG_REF_NOTHING_IS_DECIDED] = COMPOUND_STRING("REFEREE: If nothing is decided in 3 turns, we will go to judging!"), + [B_MSG_REF_THATS_IT] = COMPOUND_STRING("REFEREE: That's it! We will now go to judging to determine the winner!"), + [B_MSG_REF_JUDGE_MIND] = COMPOUND_STRING("REFEREE: Judging category 1, Mind! The POKéMON showing the most guts!\p"), + [B_MSG_REF_JUDGE_SKILL] = COMPOUND_STRING("REFEREE: Judging category 2, Skill! The POKéMON using moves the best!\p"), + [B_MSG_REF_JUDGE_BODY] = COMPOUND_STRING("REFEREE: Judging category 3, Body! The POKéMON with the most vitality!\p"), + [B_MSG_REF_PLAYER_WON] = COMPOUND_STRING("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}! The winner is {B_PLAYER_NAME}'s {B_PLAYER_MON1_NAME}!\p"), + [B_MSG_REF_OPPONENT_WON] = COMPOUND_STRING("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}! The winner is {B_TRAINER1_NAME}'s {B_OPPONENT_MON1_NAME}!\p"), + [B_MSG_REF_DRAW] = COMPOUND_STRING("REFEREE: Judgment: 3 to 3! We have a draw!\p"), + [B_MSG_REF_COMMENCE_BATTLE] = COMPOUND_STRING("REFEREE: {B_PLAYER_MON1_NAME} VS {B_OPPONENT_MON1_NAME}! Commence battling!"), +}; + +static const u8 sText_Trainer1Fled[] = _( "{PLAY_SE SE_FLEE}{B_TRAINER1_NAME_WITH_CLASS} fled!"); +static const u8 sText_PlayerLostAgainstTrainer1[] = _("You lost to {B_TRAINER1_NAME_WITH_CLASS}!"); +static const u8 sText_PlayerBattledToDrawTrainer1[] = _("You battled to a draw against {B_TRAINER1_NAME_WITH_CLASS}!"); +const u8 gText_RecordBattleToPass[] = _("Would you like to record your battle\non your Frontier Pass?"); +const u8 gText_BattleRecordedOnPass[] = _("{B_PLAYER_NAME}'s battle result was recorded\non the Frontier Pass."); +static const u8 sText_LinkTrainerWantsToBattlePause[] = _("You are challenged by {B_LINK_OPPONENT1_NAME}!\p"); +static const u8 sText_TwoLinkTrainersWantToBattlePause[] = _("You are challenged by {B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}!\p"); static const u8 sText_Your1[] = _("Your"); static const u8 sText_Opposing1[] = _("The opposing"); static const u8 sText_Your2[] = _("your"); @@ -2821,7 +2126,7 @@ void BufferStringBattle(u16 stringID, u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_LEGENDARY) stringPtr = sText_LegendaryPkmnAppeared; - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && IsValidForBattle(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)]])) + else if (IsDoubleBattle() && IsValidForBattle(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)]])) stringPtr = sText_TwoWildPkmnAppeared; else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) stringPtr = sText_WildPkmnAppearedPause; @@ -2832,7 +2137,7 @@ void BufferStringBattle(u16 stringID, u32 battler) case STRINGID_INTROSENDOUT: // poke first send-out if (GetBattlerSide(battler) == B_SIDE_PLAYER) { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && IsValidForBattle(&gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]])) + if (IsDoubleBattle() && IsValidForBattle(&gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]])) { if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) stringPtr = sText_InGamePartnerSentOutZGoN; @@ -2850,7 +2155,7 @@ void BufferStringBattle(u16 stringID, u32 battler) } else { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && IsValidForBattle(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]])) + if (IsDoubleBattle() && IsValidForBattle(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]])) { if (BATTLE_TWO_VS_ONE_OPPONENT) stringPtr = sText_Trainer1SentOutTwoPkmn; @@ -2881,7 +2186,7 @@ void BufferStringBattle(u16 stringID, u32 battler) { if (*(&gBattleStruct->hpScale) == 0) stringPtr = sText_PkmnThatsEnough; - else if (*(&gBattleStruct->hpScale) == 1 || gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + else if (*(&gBattleStruct->hpScale) == 1 || IsDoubleBattle()) stringPtr = sText_PkmnComeBack; else if (*(&gBattleStruct->hpScale) == 2) stringPtr = sText_PkmnOkComeBack; @@ -2906,7 +2211,7 @@ void BufferStringBattle(u16 stringID, u32 battler) case STRINGID_SWITCHINMON: // switch-in msg if (GetBattlerSide(gBattleScripting.battler) == B_SIDE_PLAYER) { - if (*(&gBattleStruct->hpScale) == 0 || gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (*(&gBattleStruct->hpScale) == 0 || IsDoubleBattle()) stringPtr = sText_GoPkmn2; else if (*(&gBattleStruct->hpScale) == 1) stringPtr = sText_DoItPkmn; @@ -3041,7 +2346,7 @@ void BufferStringBattle(u16 stringID, u32 battler) } else { - stringPtr = gBattleStringsTable[stringID - BATTLESTRINGS_TABLE_START]; + stringPtr = gBattleStringsTable[stringID]; } break; } @@ -3051,7 +2356,19 @@ void BufferStringBattle(u16 stringID, u32 battler) u32 BattleStringExpandPlaceholdersToDisplayedString(const u8 *src) { - return BattleStringExpandPlaceholders(src, gDisplayedStringBattle); +#ifndef NDEBUG + u32 j, strWidth; + u32 dstID = BattleStringExpandPlaceholders(src, gDisplayedStringBattle, sizeof(gDisplayedStringBattle)); + for (j = 1;; j++) + { + strWidth = GetStringLineWidth(0, gDisplayedStringBattle, 0, j, sizeof(gDisplayedStringBattle)); + if (strWidth == 0) + break; + } + return dstID; +#else + return BattleStringExpandPlaceholders(src, gDisplayedStringBattle, sizeof(gDisplayedStringBattle)); +#endif } static const u8 *TryGetStatusString(u8 *src) @@ -3086,22 +2403,17 @@ static const u8 *TryGetStatusString(u8 *src) static void GetBattlerNick(u32 battler, u8 *dst) { - struct Pokemon *mon, *illusionMon; - - if (GetBattlerSide(battler) == B_SIDE_PLAYER) - mon = &gPlayerParty[gBattlerPartyIndexes[battler]]; - else - mon = &gEnemyParty[gBattlerPartyIndexes[battler]]; + struct Pokemon *illusionMon = GetIllusionMonPtr(battler); + struct Pokemon *mon = GetPartyBattlerData(battler); - illusionMon = GetIllusionMonPtr(battler); if (illusionMon != NULL) mon = illusionMon; GetMonData(mon, MON_DATA_NICKNAME, dst); StringGet_Nickname(dst); } -#define HANDLE_NICKNAME_STRING_CASE(battler) \ - if (GetBattlerSide(battler) != B_SIDE_PLAYER) \ +#define HANDLE_NICKNAME_STRING_CASE(battler) \ + if (GetBattlerSide(battler) != B_SIDE_PLAYER) \ { \ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) \ toCpy = sText_FoePkmnPrefix; \ @@ -3114,7 +2426,24 @@ static void GetBattlerNick(u32 battler, u8 *dst) toCpy++; \ } \ } \ - GetBattlerNick(battler, text); \ + GetBattlerNick(battler, text); \ + toCpy = text; + +#define HANDLE_NICKNAME_STRING_LOWERCASE(battler) \ + if (GetBattlerSide(battler) != B_SIDE_PLAYER) \ + { \ + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) \ + toCpy = sText_FoePkmnPrefixLower; \ + else \ + toCpy = sText_WildPkmnPrefixLower; \ + while (*toCpy != EOS) \ + { \ + dst[dstID] = *toCpy; \ + dstID++; \ + toCpy++; \ + } \ + } \ + GetBattlerNick(battler, text); \ toCpy = text; static const u8 *BattleStringGetOpponentNameByTrainerId(u16 trainerId, u8 *text, u8 multiplayerId, u8 battler) @@ -3260,25 +2589,39 @@ static const u8 *BattleStringGetOpponentClassByTrainerId(u16 trainerId) // This ensures that custom Enigma Berry names will fit in the text buffer at the top of BattleStringExpandPlaceholders. STATIC_ASSERT(BERRY_NAME_LENGTH + ARRAY_COUNT(sText_BerrySuffix) <= ITEM_NAME_LENGTH, BerryNameTooLong); -u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) +u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst, u32 dstSize) { u32 dstID = 0; // if they used dstID, why not use srcID as well? const u8 *toCpy = NULL; - // This buffer may hold either the name of a trainer, Pokémon, or item. u8 text[max(max(max(32, TRAINER_NAME_LENGTH + 1), POKEMON_NAME_LENGTH + 1), ITEM_NAME_LENGTH)]; + u8 *textStart = &text[0]; u8 multiplayerId; + u8 fontId = FONT_NORMAL; if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK) multiplayerId = gRecordedBattleMultiplayerId; else multiplayerId = GetMultiplayerId(); + // Clear destination first + while (dstID < dstSize) + { + dst[dstID] = EOS; + dstID++; + } + + dstID = 0; while (*src != EOS) { toCpy = NULL; + if (*src == PLACEHOLDER_BEGIN) { src++; + u32 classLength = 0; + u32 nameLength = 0; + const u8 *classString; + const u8 *nameString; switch (*src) { case B_TXT_BUFF1: @@ -3455,6 +2798,27 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) case B_TXT_TRAINER1_NAME: // trainer1 name toCpy = BattleStringGetOpponentNameByTrainerId(gTrainerBattleOpponent_A, text, multiplayerId, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)); break; + case B_TXT_TRAINER1_NAME_WITH_CLASS: // trainer1 name with trainer class + toCpy = textStart; + classString = BattleStringGetOpponentClassByTrainerId(gTrainerBattleOpponent_A); + while (classString[classLength] != EOS) + { + textStart[classLength] = classString[classLength]; + classLength++; + } + textStart[classLength] = CHAR_SPACE; + textStart += classLength + 1; + nameString = BattleStringGetOpponentNameByTrainerId(gTrainerBattleOpponent_A, textStart, multiplayerId, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)); + if (nameString != textStart) + { + while (nameString[nameLength] != EOS) + { + textStart[nameLength] = nameString[nameLength]; + nameLength++; + } + textStart[nameLength] = EOS; + } + break; case B_TXT_LINK_PLAYER_NAME: // link player name toCpy = gLinkPlayers[multiplayerId].name; break; @@ -3571,6 +2935,27 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) case B_TXT_TRAINER2_NAME: toCpy = BattleStringGetOpponentNameByTrainerId(gTrainerBattleOpponent_B, text, multiplayerId, GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)); break; + case B_TXT_TRAINER2_NAME_WITH_CLASS: + toCpy = textStart; + classString = BattleStringGetOpponentClassByTrainerId(gTrainerBattleOpponent_B); + while (classString[classLength] != EOS) + { + textStart[classLength] = classString[classLength]; + classLength++; + } + textStart[classLength] = CHAR_SPACE; + textStart += classLength + 1; + nameString = BattleStringGetOpponentNameByTrainerId(gTrainerBattleOpponent_B, textStart, multiplayerId, GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)); + if (nameString != textStart) + { + while (nameString[nameLength] != EOS) + { + textStart[nameLength] = nameString[nameLength]; + nameLength++; + } + textStart[nameLength] = EOS; + } + break; case B_TXT_TRAINER2_LOSE_TEXT: if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) { @@ -3605,6 +2990,27 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) case B_TXT_PARTNER_NAME: toCpy = BattleStringGetPlayerName(text, GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)); break; + case B_TXT_PARTNER_NAME_WITH_CLASS: + toCpy = textStart; + classString = gTrainerClasses[GetFrontierOpponentClass(gPartnerTrainerId)].name; + while (classString[classLength] != EOS) + { + textStart[classLength] = classString[classLength]; + classLength++; + } + textStart[classLength] = CHAR_SPACE; + textStart += classLength + 1; + nameString = BattleStringGetPlayerName(textStart, GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)); + if (nameString != textStart) + { + while (nameString[nameLength] != EOS) + { + textStart[nameLength] = nameString[nameLength]; + nameLength++; + } + textStart[nameLength] = EOS; + } + break; case B_TXT_ATK_TRAINER_NAME: toCpy = BattleStringGetTrainerName(text, multiplayerId, gBattlerAttacker); break; @@ -3626,6 +3032,52 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) break; } break; + case B_TXT_ATK_TRAINER_NAME_WITH_CLASS: + toCpy = textStart; + if (GetBattlerPosition(gBattlerAttacker) == B_POSITION_PLAYER_LEFT) + { + textStart = StringCopy(textStart, BattleStringGetTrainerName(textStart, multiplayerId, gBattlerAttacker)); + } + else + { + classString = NULL; + switch (GetBattlerPosition(gBattlerAttacker)) + { + case B_POSITION_PLAYER_RIGHT: + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) + classString = gTrainerClasses[GetFrontierOpponentClass(gPartnerTrainerId)].name; + break; + case B_POSITION_OPPONENT_LEFT: + classString = BattleStringGetOpponentClassByTrainerId(gTrainerBattleOpponent_A); + break; + case B_POSITION_OPPONENT_RIGHT: + if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && !BATTLE_TWO_VS_ONE_OPPONENT) + classString = BattleStringGetOpponentClassByTrainerId(gTrainerBattleOpponent_B); + else + classString = BattleStringGetOpponentClassByTrainerId(gTrainerBattleOpponent_A); + break; + } + classLength = 0; + nameLength = 0; + while (classString[classLength] != EOS) + { + textStart[classLength] = classString[classLength]; + classLength++; + } + textStart[classLength] = CHAR_SPACE; + textStart += 1 + classLength; + nameString = BattleStringGetTrainerName(textStart, multiplayerId, gBattlerAttacker); + if (nameString != textStart) + { + while (nameString[nameLength] != EOS) + { + textStart[nameLength] = nameString[nameLength]; + nameLength++; + } + textStart[nameLength] = EOS; + } + } + break; case B_TXT_ATK_TEAM1: if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) toCpy = sText_Your1; @@ -3650,6 +3102,18 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) else toCpy = sText_Opposing2; break; + case B_TXT_ATK_NAME_WITH_PREFIX2: + HANDLE_NICKNAME_STRING_LOWERCASE(gBattlerAttacker) + break; + case B_TXT_DEF_NAME_WITH_PREFIX2: + HANDLE_NICKNAME_STRING_LOWERCASE(gBattlerTarget) + break; + case B_TXT_EFF_NAME_WITH_PREFIX2: + HANDLE_NICKNAME_STRING_LOWERCASE(gEffectBattler) + break; + case B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX2: + HANDLE_NICKNAME_STRING_LOWERCASE(gBattleScripting.battler) + break; } if (toCpy != NULL) @@ -3682,6 +3146,8 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) dst[dstID] = *src; dstID++; + BreakStringAutomatic(dst, BATTLE_MSG_MAX_WIDTH, BATTLE_MSG_MAX_WIDTH, fontId); + return dstID; } @@ -3730,7 +3196,7 @@ void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) { case B_BUFF_STRING: // battle string hword = T1_READ_16(&src[srcID + 1]); - StringAppend(dst, gBattleStringsTable[hword - BATTLESTRINGS_TABLE_START]); + StringAppend(dst, gBattleStringsTable[hword]); srcID += 3; break; case B_BUFF_NUMBER: // int to string @@ -3758,16 +3224,27 @@ void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) srcID += 2; break; case B_BUFF_MON_NICK_WITH_PREFIX: // poke nick with prefix + case B_BUFF_MON_NICK_WITH_PREFIX_LOWER: // poke nick with lowercase prefix if (GetBattlerSide(src[srcID + 1]) == B_SIDE_PLAYER) { GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, nickname); } else { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) - StringAppend(dst, sText_FoePkmnPrefix); + if (src[srcID] == B_BUFF_MON_NICK_WITH_PREFIX_LOWER) + { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + StringAppend(dst, sText_FoePkmnPrefixLower); + else + StringAppend(dst, sText_WildPkmnPrefixLower); + } else - StringAppend(dst, sText_WildPkmnPrefix); + { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + StringAppend(dst, sText_FoePkmnPrefix); + else + StringAppend(dst, sText_WildPkmnPrefix); + } GetMonData(&gEnemyParty[src[srcID + 2]], MON_DATA_NICKNAME, nickname); } diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index 0a821244284d..a184c9160f1c 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -1083,7 +1083,7 @@ static void ShowPostBattleHintText(void) textIndex = sPyramidFloorTemplates[id].numTrainers; for (i = 0; i < MAX_PYRAMID_TRAINERS; i++) { - if (gBitTable[i] & gSaveBlock2Ptr->frontier.pyramidTrainerFlags) + if ((1u << i) & gSaveBlock2Ptr->frontier.pyramidTrainerFlags) textIndex--; } i = 1; @@ -1319,7 +1319,7 @@ u16 LocalIdToPyramidTrainerId(u8 localId) bool8 GetBattlePyramidTrainerFlag(u8 eventId) { - return gSaveBlock2Ptr->frontier.pyramidTrainerFlags & gBitTable[gObjectEvents[eventId].localId - 1]; + return gSaveBlock2Ptr->frontier.pyramidTrainerFlags & ((1u << gObjectEvents[eventId].localId) - 1); } void MarkApproachingPyramidTrainersAsBattled(void) @@ -1339,7 +1339,7 @@ static void MarkPyramidTrainerAsBattled(u16 trainerId) for (i = 0; i < MAX_PYRAMID_TRAINERS; i++) { if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId) - gSaveBlock2Ptr->frontier.pyramidTrainerFlags |= gBitTable[i]; + gSaveBlock2Ptr->frontier.pyramidTrainerFlags |= 1u << i; } gObjectEvents[gSelectedObjectEvent].movementType = MOVEMENT_TYPE_WANDER_AROUND; @@ -1895,12 +1895,12 @@ static void SetPyramidObjectPositionsUniformly(u8 objType) { if (bits & 1) { - if (!(gBitTable[squareId] & gSaveBlock2Ptr->frontier.pyramidRandoms[3])) + if (!((1u << squareId) & gSaveBlock2Ptr->frontier.pyramidRandoms[3])) bits |= 2; } else { - if (gBitTable[squareId] & gSaveBlock2Ptr->frontier.pyramidRandoms[3]) + if ((1u << squareId) & gSaveBlock2Ptr->frontier.pyramidRandoms[3]) bits |= 2; } if (++squareId >= NUM_PYRAMID_FLOOR_SQUARES) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index ede9c0733236..0390f0e85a45 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -27,7 +27,7 @@ #include "bg.h" #include "string_util.h" #include "pokemon_icon.h" -#include "level_caps.h" +#include "caps.h" #include "m4a.h" #include "mail.h" #include "event_data.h" @@ -337,8 +337,6 @@ static bool8 CanBurnHitThaw(u16 move); static u32 GetNextTarget(u32 moveTarget, bool32 excludeCurrent); static void TryUpdateEvolutionTracker(u32 evolutionMethod, u32 upAmount, u16 usedMove); static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u8 *failInstr, u16 move); -static void SaveBattlerAttacker(u32 battler); -static void SaveBattlerTarget(u32 battler); static void Cmd_attackcanceler(void); static void Cmd_accuracycheck(void); @@ -1172,7 +1170,7 @@ bool32 ProteanTryChangeType(u32 battler, u32 ability, u32 move, u32 moveType) bool32 ShouldTeraShellDistortTypeMatchups(u32 move, u32 battlerDef) { - if (!(gBattleStruct->distortedTypeMatchups & gBitTable[battlerDef]) + if (!gSpecialStatuses[battlerDef].distortedTypeMatchups && GetBattlerAbility(battlerDef) == ABILITY_TERA_SHELL && gBattleMons[battlerDef].species == SPECIES_TERAPAGOS_TERASTAL && !IS_MOVE_STATUS(move) @@ -1192,9 +1190,16 @@ static void Cmd_attackcanceler(void) { CMD_ARGS(); - s32 i, moveType; + s32 i; u16 attackerAbility = GetBattlerAbility(gBattlerAttacker); - GET_MOVE_TYPE(gCurrentMove, moveType); + u32 moveType = GetMoveType(gCurrentMove); + + if (gBattleStruct->usedEjectItem & (1u << gBattlerAttacker)) + { + gBattleStruct->usedEjectItem = 0; + gCurrentActionFuncId = B_ACTION_TRY_FINISH; + return; + } // Weight-based moves are blocked by Dynamax. if ((GetActiveGimmick(gBattlerTarget) == GIMMICK_DYNAMAX) && IsMoveBlockedByDynamax(gCurrentMove)) @@ -1242,7 +1247,7 @@ static void Cmd_attackcanceler(void) if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_OFF && GetBattlerAbility(gBattlerAttacker) == ABILITY_PARENTAL_BOND && IsMoveAffectedByParentalBond(gCurrentMove, gBattlerAttacker) - && !(gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + && !(gAbsentBattlerFlags & (1u << gBattlerTarget)) && GetActiveGimmick(gBattlerAttacker) != GIMMICK_Z_MOVE) { gSpecialStatuses[gBattlerAttacker].parentalBondState = PARENTAL_BOND_1ST_HIT; @@ -1474,14 +1479,17 @@ static bool32 AccuracyCalcHelper(u16 move) return TRUE; } // If the attacker has the ability No Guard and they aren't targeting a Pokemon involved in a Sky Drop with the move Sky Drop, move hits. - else if (GetBattlerAbility(gBattlerAttacker) == ABILITY_NO_GUARD && (move != MOVE_SKY_DROP || gBattleStruct->skyDropTargets[gBattlerTarget] == 0xFF)) + else if (GetBattlerAbility(gBattlerAttacker) == ABILITY_NO_GUARD + && !(gStatuses3[gBattlerTarget] & STATUS3_COMMANDER) + && (gMovesInfo[move].effect != EFFECT_SKY_DROP || gBattleStruct->skyDropTargets[gBattlerTarget] == 0xFF)) { if (!JumpIfMoveFailed(7, move)) RecordAbilityBattle(gBattlerAttacker, ABILITY_NO_GUARD); return TRUE; } // If the target has the ability No Guard and they aren't involved in a Sky Drop or the current move isn't Sky Drop, move hits. - else if (GetBattlerAbility(gBattlerTarget) == ABILITY_NO_GUARD && (move != MOVE_SKY_DROP || gBattleStruct->skyDropTargets[gBattlerTarget] == 0xFF)) + else if (GetBattlerAbility(gBattlerTarget) == ABILITY_NO_GUARD + && (gMovesInfo[move].effect != EFFECT_SKY_DROP || gBattleStruct->skyDropTargets[gBattlerTarget] == 0xFF)) { if (!JumpIfMoveFailed(7, move)) RecordAbilityBattle(gBattlerTarget, ABILITY_NO_GUARD); @@ -1489,8 +1497,8 @@ static bool32 AccuracyCalcHelper(u16 move) } // If the target is under the effects of Telekinesis, and the move isn't a OH-KO move, move hits. else if (gStatuses3[gBattlerTarget] & STATUS3_TELEKINESIS - && !(gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE) - && gMovesInfo[move].effect != EFFECT_OHKO) + && !(gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE) + && gMovesInfo[move].effect != EFFECT_OHKO) { JumpIfMoveFailed(7, move); return TRUE; @@ -1502,10 +1510,11 @@ static bool32 AccuracyCalcHelper(u16 move) return TRUE; } - if ((gStatuses3[gBattlerTarget] & STATUS3_PHANTOM_FORCE) - || ((gStatuses3[gBattlerTarget] & STATUS3_ON_AIR) && !(gMovesInfo[move].damagesAirborne || gMovesInfo[move].damagesAirborneDoubleDamage)) - || ((gStatuses3[gBattlerTarget] & STATUS3_UNDERGROUND) && !gMovesInfo[move].damagesUnderground) - || ((gStatuses3[gBattlerTarget] & STATUS3_UNDERWATER) && !gMovesInfo[move].damagesUnderwater)) + if ((gStatuses3[gBattlerTarget] & STATUS3_COMMANDER) + || (gStatuses3[gBattlerTarget] & STATUS3_PHANTOM_FORCE) + || ((gStatuses3[gBattlerTarget] & STATUS3_ON_AIR) && !(gMovesInfo[move].damagesAirborne || gMovesInfo[move].damagesAirborneDoubleDamage)) + || ((gStatuses3[gBattlerTarget] & STATUS3_UNDERGROUND) && !gMovesInfo[move].damagesUnderground) + || ((gStatuses3[gBattlerTarget] & STATUS3_UNDERWATER) && !gMovesInfo[move].damagesUnderwater)) { gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); @@ -1670,7 +1679,6 @@ u32 GetTotalAccuracy(u32 battlerAtk, u32 battlerDef, u32 move, u32 atkAbility, u static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u8 *failInstr, u16 move) { - u32 type; u32 moveTarget = GetBattlerMoveTargetType(gBattlerAttacker, move); u32 abilityAtk = GetBattlerAbility(gBattlerAttacker); u32 abilityDef = GetBattlerAbility(gBattlerTarget); @@ -1706,8 +1714,8 @@ static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u else { u32 accuracy; + u32 type = GetMoveType(move); - GET_MOVE_TYPE(move, type); if (JumpIfMoveAffectedByProtect(move)) return; if (AccuracyCalcHelper(move)) @@ -1739,7 +1747,7 @@ static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u return; } - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && + if (IsDoubleBattle() && (moveTarget == MOVE_TARGET_BOTH || moveTarget == MOVE_TARGET_FOES_AND_ALLY)) gBattleCommunication[MISS_TYPE] = B_MSG_AVOIDED_ATK; else @@ -1835,7 +1843,7 @@ static void Cmd_ppreduce(void) if (ShouldTeraShellDistortTypeMatchups(gCurrentMove, gBattlerTarget)) { - gBattleStruct->distortedTypeMatchups |= gBitTable[gBattlerTarget]; + gSpecialStatuses[gBattlerTarget].distortedTypeMatchups = TRUE; gBattlerAbility = gBattlerTarget; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_TeraShellDistortingTypeMatchups; @@ -1843,37 +1851,77 @@ static void Cmd_ppreduce(void) } // The chance is 1/N for each stage. -#if B_CRIT_CHANCE >= GEN_7 - static const u8 sCriticalHitOdds[] = {24, 8, 2, 1, 1}; -#elif B_CRIT_CHANCE == GEN_6 - static const u8 sCriticalHitOdds[] = {16, 8, 2, 1, 1}; -#else - static const u8 sCriticalHitOdds[] = {16, 8, 4, 3, 2}; // Gens 2,3,4,5 -#endif // B_CRIT_CHANCE +static const u32 sGen7CriticalHitOdds[] = {24, 8, 2, 1, 1}; +static const u32 sGen6CriticalHitOdds[] = {16, 8, 2, 1, 1}; +static const u32 sCriticalHitOdds[] = {16, 8, 4, 3, 2}; // Gens 2,3,4,5 + +static inline u32 GetCriticalHitOdds(u32 critChance) +{ + if (B_CRIT_CHANCE >= GEN_7) + return sGen7CriticalHitOdds[critChance]; + if (B_CRIT_CHANCE == GEN_6) + return sGen6CriticalHitOdds[critChance]; + + return sCriticalHitOdds[critChance]; +} + +static inline u32 IsBattlerLeekAffected(u32 battler, u32 holdEffect) +{ + if (holdEffect == HOLD_EFFECT_LEEK) + { + return GET_BASE_SPECIES_ID(gBattleMons[battler].species) == SPECIES_FARFETCHD + || gBattleMons[battler].species == SPECIES_SIRFETCHD; + } + return FALSE; +} -#define BENEFITS_FROM_LEEK(battler, holdEffect)((holdEffect == HOLD_EFFECT_LEEK) && (GET_BASE_SPECIES_ID(gBattleMons[battler].species) == SPECIES_FARFETCHD || gBattleMons[battler].species == SPECIES_SIRFETCHD)) +static inline u32 GetHoldEffectCritChanceIncrease(u32 battler, u32 holdEffect) +{ + u32 critStageIncrease = 0; + + switch (holdEffect) + { + case HOLD_EFFECT_SCOPE_LENS: + critStageIncrease = 1; + break; + case HOLD_EFFECT_LUCKY_PUNCH: + if (gBattleMons[battler].species == SPECIES_CHANSEY) + critStageIncrease = 2; + break; + case HOLD_EFFECT_LEEK: + if (IsBattlerLeekAffected(battler, holdEffect)) + critStageIncrease = 2; + break; + default: + critStageIncrease = 0; + break; + } + + return critStageIncrease; +} + +#define CRITICAL_HIT_BLOCKED -1 +#define CRITICAL_HIT_ALWAYS -2 s32 CalcCritChanceStageArgs(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordAbility, u32 abilityAtk, u32 abilityDef, u32 holdEffectAtk) { s32 critChance = 0; if (gSideStatuses[battlerDef] & SIDE_STATUS_LUCKY_CHANT) { - critChance = -1; + critChance = CRITICAL_HIT_BLOCKED; } else if (gStatuses3[battlerAtk] & STATUS3_LASER_FOCUS || gMovesInfo[move].alwaysCriticalHit || (abilityAtk == ABILITY_MERCILESS && gBattleMons[battlerDef].status1 & STATUS1_PSN_ANY)) { - critChance = -2; + critChance = CRITICAL_HIT_ALWAYS; } else { critChance = 2 * ((gBattleMons[battlerAtk].status2 & STATUS2_FOCUS_ENERGY) != 0) + 1 * ((gBattleMons[battlerAtk].status2 & STATUS2_DRAGON_CHEER) != 0) + gMovesInfo[move].criticalHitStage - + (holdEffectAtk == HOLD_EFFECT_SCOPE_LENS) - + 2 * (holdEffectAtk == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[battlerAtk].species == SPECIES_CHANSEY) - + 2 * BENEFITS_FROM_LEEK(battlerAtk, holdEffectAtk) + + GetHoldEffectCritChanceIncrease(battlerAtk, holdEffectAtk) + 2 * (B_AFFECTION_MECHANICS == TRUE && GetBattlerAffectionHearts(battlerAtk) == AFFECTION_FIVE_HEARTS) + (abilityAtk == ABILITY_SUPER_LUCK) + gBattleStruct->bonusCritStages[gBattlerAttacker]; @@ -1882,21 +1930,23 @@ s32 CalcCritChanceStageArgs(u32 battlerAtk, u32 battlerDef, u32 move, bool32 rec critChance = ARRAY_COUNT(sCriticalHitOdds) - 1; } - if (critChance != -1 && (abilityDef == ABILITY_BATTLE_ARMOR || abilityDef == ABILITY_SHELL_ARMOR)) + if (critChance != CRITICAL_HIT_BLOCKED && (abilityDef == ABILITY_BATTLE_ARMOR || abilityDef == ABILITY_SHELL_ARMOR)) { // Record ability only if move had 100% chance to get a crit if (recordAbility) { - if (critChance == -2) + if (critChance == CRITICAL_HIT_ALWAYS) RecordAbilityBattle(battlerDef, abilityDef); - else if (sCriticalHitOdds[critChance] == 1) + else if (GetCriticalHitOdds(critChance) == 1) RecordAbilityBattle(battlerDef, abilityDef); } - critChance = -1; + critChance = CRITICAL_HIT_BLOCKED; } return critChance; } +#undef CRIT_BLOCKED +#undef ALWAYS_CRITS s32 CalcCritChanceStage(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordAbility) { @@ -1905,14 +1955,84 @@ s32 CalcCritChanceStage(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordA u32 holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); return CalcCritChanceStageArgs(battlerAtk, battlerDef, move, recordAbility, abilityAtk, abilityDef, holdEffectAtk); } -#undef BENEFITS_FROM_LEEK + +// Bulbapedia: https://bulbapedia.bulbagarden.net/wiki/Critical_hit#Generation_I +// Crit chance = Threshold / 256, Threshold maximum of 255 +// Threshold = Base Speed / 2 +// High crit move = 8 * (Base Speed / 2) +// Focus Energy = 4 * (Base Speed / 2) +s32 CalcCritChanceStageGen1(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordAbility) +{ + // Vanilla + u32 focusEnergyScaler = 4; + u32 highCritRatioScaler = 8; + + // Not vanilla + u32 superLuckScaler = 4; + u32 scopeLensScaler = 4; + u32 luckyPunchScaler = 8; + u32 farfetchdLeekScaler = 8; + + s32 critChance = 0; + s32 moveCritStage = gMovesInfo[gCurrentMove].criticalHitStage; + s32 bonusCritStage = gBattleStruct->bonusCritStages[battlerAtk]; // G-Max Chi Strike + u32 abilityAtk = GetBattlerAbility(battlerAtk); + u32 abilityDef = GetBattlerAbility(battlerDef); + u32 holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); + u16 baseSpeed = gSpeciesInfo[gBattleMons[battlerAtk].species].baseSpeed; + + critChance = baseSpeed / 2; + + // Crit scaling + if (moveCritStage > 0) + critChance = critChance * highCritRatioScaler * moveCritStage; + + if (bonusCritStage > 0) + critChance = critChance * bonusCritStage; + + if ((gBattleMons[battlerAtk].status2 & STATUS2_FOCUS_ENERGY_ANY) != 0) + critChance = critChance * focusEnergyScaler; + + if (holdEffectAtk == HOLD_EFFECT_SCOPE_LENS) + critChance = critChance * scopeLensScaler; + else if (holdEffectAtk == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[battlerAtk].species == SPECIES_CHANSEY) + critChance = critChance * luckyPunchScaler; + else if (IsBattlerLeekAffected(battlerAtk, holdEffectAtk)) + critChance = critChance * farfetchdLeekScaler; + + if (abilityAtk == ABILITY_SUPER_LUCK) + critChance = critChance * superLuckScaler; + + if (critChance > 255) + critChance = 255; + + // Prevented crits + if (gSideStatuses[battlerDef] & SIDE_STATUS_LUCKY_CHANT) + critChance = -1; + else if (abilityDef == ABILITY_BATTLE_ARMOR || abilityDef == ABILITY_SHELL_ARMOR) + { + if (recordAbility) + RecordAbilityBattle(battlerDef, abilityDef); + critChance = -1; + } + + // Guaranteed crits + else if (gStatuses3[battlerAtk] & STATUS3_LASER_FOCUS + || gMovesInfo[move].alwaysCriticalHit == TRUE + || (abilityAtk == ABILITY_MERCILESS && gBattleMons[battlerDef].status1 & STATUS1_PSN_ANY)) + { + critChance = -2; + } + + return critChance; +} s32 GetCritHitOdds(s32 critChanceIndex) { if (critChanceIndex < 0) return -1; else - return sCriticalHitOdds[critChanceIndex]; + return GetCriticalHitOdds(critChanceIndex); } static void Cmd_critcalc(void) @@ -1920,7 +2040,13 @@ static void Cmd_critcalc(void) CMD_ARGS(); u16 partySlot; - s32 critChance = CalcCritChanceStage(gBattlerAttacker, gBattlerTarget, gCurrentMove, TRUE); + s32 critChance; + + if (B_CRIT_CHANCE == GEN_1) + critChance = CalcCritChanceStageGen1(gBattlerAttacker, gBattlerTarget, gCurrentMove, TRUE); + else + critChance = CalcCritChanceStage(gBattlerAttacker, gBattlerTarget, gCurrentMove, TRUE); + gPotentialItemEffectBattler = gBattlerAttacker; if (gBattleTypeFlags & (BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_FIRST_BATTLE)) @@ -1930,7 +2056,18 @@ static void Cmd_critcalc(void) else if (critChance == -2) gIsCriticalHit = TRUE; else - gIsCriticalHit = RandomChance(RNG_CRITICAL_HIT, 1, sCriticalHitOdds[critChance]); + { + if (B_CRIT_CHANCE == GEN_1) + { + u8 critRoll = RandomUniform(RNG_CRITICAL_HIT, 1, 256); + if (critRoll <= critChance) + gIsCriticalHit = 1; + else + gIsCriticalHit = 0; + } + else + gIsCriticalHit = RandomChance(RNG_CRITICAL_HIT, 1, GetCriticalHitOdds(critChance)); + } // Counter for EVO_CRITICAL_HITS. partySlot = gBattlerPartyIndexes[gBattlerAttacker]; @@ -1945,12 +2082,19 @@ static void Cmd_damagecalc(void) { CMD_ARGS(); - u8 moveType; - - GET_MOVE_TYPE(gCurrentMove, moveType); if (gMovesInfo[gCurrentMove].effect == EFFECT_SHELL_SIDE_ARM) gBattleStruct->swapDamageCategory = (gBattleStruct->shellSideArmCategory[gBattlerAttacker][gBattlerTarget] != gMovesInfo[gCurrentMove].category); - gBattleMoveDamage = CalculateMoveDamage(gCurrentMove, gBattlerAttacker, gBattlerTarget, moveType, 0, gIsCriticalHit, TRUE, TRUE); + + struct DamageCalculationData damageCalcData; + damageCalcData.battlerAtk = gBattlerAttacker; + damageCalcData.battlerDef = gBattlerTarget; + damageCalcData.move = gCurrentMove; + damageCalcData.moveType = GetMoveType(gCurrentMove); + damageCalcData.isCrit = gIsCriticalHit; + damageCalcData.randomFactor = TRUE; + damageCalcData.updateFlags = TRUE; + + gBattleMoveDamage = CalculateMoveDamage(&damageCalcData, 0); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -1958,9 +2102,7 @@ static void Cmd_typecalc(void) { CMD_ARGS(); - u8 moveType; - - GET_MOVE_TYPE(gCurrentMove, moveType); + u32 moveType = GetMoveType(gCurrentMove); CalcTypeEffectivenessMultiplier(gCurrentMove, moveType, gBattlerAttacker, gBattlerTarget, GetBattlerAbility(gBattlerTarget), TRUE); gBattlescriptCurrInstr = cmd->nextInstr; @@ -1971,17 +2113,15 @@ static void Cmd_adjustdamage(void) CMD_ARGS(); u8 holdEffect, param; - u32 moveType; u32 affectionScore = GetBattlerAffectionHearts(gBattlerTarget); u32 rand = Random() % 100; - - GET_MOVE_TYPE(gCurrentMove, moveType); + u32 moveType = GetMoveType(gCurrentMove); if (DoesSubstituteBlockMove(gBattlerAttacker, gBattlerTarget, gCurrentMove)) goto END; if (DoesDisguiseBlockMove(gBattlerTarget, gCurrentMove)) { - gBattleStruct->enduredDamage |= gBitTable[gBattlerTarget]; + gBattleStruct->enduredDamage |= 1u << gBattlerTarget; goto END; } if (GetBattlerAbility(gBattlerTarget) == ABILITY_ICE_FACE && IS_MOVE_PHYSICAL(gCurrentMove) && gBattleMons[gBattlerTarget].species == SPECIES_EISCUE) @@ -2035,7 +2175,7 @@ static void Cmd_adjustdamage(void) // Handle reducing the dmg to 1 hp. gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; - gBattleStruct->enduredDamage |= gBitTable[gBattlerTarget]; + gBattleStruct->enduredDamage |= 1u << gBattlerTarget; if (gProtectStructs[gBattlerTarget].endured) { @@ -2063,7 +2203,7 @@ static void Cmd_adjustdamage(void) gBattlescriptCurrInstr = cmd->nextInstr; if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMoveDamage >= 1) - gSpecialStatuses[gBattlerAttacker].damagedMons |= gBitTable[gBattlerTarget]; + gSpecialStatuses[gBattlerAttacker].damagedMons |= (1 << (gBattlerTarget)); // Check gems and damage reducing berries. if (gSpecialStatuses[gBattlerTarget].berryReduced @@ -2139,7 +2279,7 @@ static void Cmd_multihitresultmessage(void) if (gSpecialStatuses[gBattlerTarget].berryReduced && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - gBattleStruct->ateBerry[gBattlerTarget & BIT_SIDE] |= gBitTable[gBattlerPartyIndexes[gBattlerTarget]]; + gBattleStruct->ateBerry[gBattlerTarget & BIT_SIDE] |= 1u << gBattlerPartyIndexes[gBattlerTarget]; gSpecialStatuses[gBattlerTarget].berryReduced = FALSE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_PrintBerryReduceString; @@ -2160,7 +2300,7 @@ static void Cmd_attackanimation(void) && gCurrentMove != MOVE_SUBSTITUTE && gCurrentMove != MOVE_ALLY_SWITCH // In a wild double battle gotta use the teleport animation if two wild pokemon are alive. - && !(gCurrentMove == MOVE_TELEPORT && WILD_DOUBLE_BATTLE && GetBattlerSide(gBattlerAttacker) == B_SIDE_OPPONENT && IsBattlerAlive(BATTLE_PARTNER(gBattlerAttacker)))) + && !(gMovesInfo[gCurrentMove].effect == EFFECT_TELEPORT && WILD_DOUBLE_BATTLE && GetBattlerSide(gBattlerAttacker) == B_SIDE_OPPONENT && IsBattlerAlive(BATTLE_PARTNER(gBattlerAttacker)))) { BattleScriptPush(cmd->nextInstr); gBattlescriptCurrInstr = BattleScript_Pausex20; @@ -2297,7 +2437,7 @@ static void Cmd_datahpupdate(void) if (gBattleStruct->changedSpecies[side][gBattlerPartyIndexes[battler]] == SPECIES_NONE) gBattleStruct->changedSpecies[side][gBattlerPartyIndexes[battler]] = gBattleMons[battler].species; if (gBattleMons[battler].species == SPECIES_MIMIKYU_TOTEM_DISGUISED) - gBattleMons[battler].species = SPECIES_MIMIKYU_TOTEM_BUSTED; + gBattleMons[battler].species = SPECIES_MIMIKYU_BUSTED_TOTEM; else gBattleMons[battler].species = SPECIES_MIMIKYU_BUSTED; if (B_DISGUISE_HP_LOSS >= GEN_8) @@ -2482,7 +2622,7 @@ static void Cmd_resultmessage(void) if (gBattleResources->flags->flags[gBattlerTarget] & RESOURCE_FLAG_ICE_FACE) { gBattleResources->flags->flags[gBattlerTarget] &= ~(RESOURCE_FLAG_ICE_FACE); - gBattleMons[gBattlerTarget].species = SPECIES_EISCUE_NOICE_FACE; + gBattleMons[gBattlerTarget].species = SPECIES_EISCUE_NOICE; gBattleScripting.battler = gBattlerTarget; // For STRINGID_PKMNTRANSFORMED BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_IceFaceNullsDamage; @@ -2508,7 +2648,7 @@ static void Cmd_resultmessage(void) } if (gBattleCommunication[MISS_TYPE] > B_MSG_AVOIDED_ATK) // Wonder Guard or Levitate - show the ability pop-up - CreateAbilityPopUp(gBattlerTarget, gBattleMons[gBattlerTarget].ability, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0); + CreateAbilityPopUp(gBattlerTarget, gBattleMons[gBattlerTarget].ability, (IsDoubleBattle()) != 0); stringId = gMissStringIds[gBattleCommunication[MISS_TYPE]]; gBattleCommunication[MSG_DISPLAY] = 1; } @@ -2616,7 +2756,7 @@ static void Cmd_resultmessage(void) if (gSpecialStatuses[gBattlerTarget].berryReduced && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - gBattleStruct->ateBerry[gBattlerTarget & BIT_SIDE] |= gBitTable[gBattlerPartyIndexes[gBattlerTarget]]; + gBattleStruct->ateBerry[gBattlerTarget & BIT_SIDE] |= 1u << gBattlerPartyIndexes[gBattlerTarget]; gSpecialStatuses[gBattlerTarget].berryReduced = FALSE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_PrintBerryReduceString; @@ -2833,9 +2973,10 @@ void SetMoveEffect(bool32 primary, bool32 certain) INCREMENT_RESET_RETURN if (!(gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) - && TestIfSheerForceAffected(gBattlerAttacker, gCurrentMove) - && !primary - && gBattleScripting.moveEffect != MOVE_EFFECT_CHARGING) + && TestIfSheerForceAffected(gBattlerAttacker, gCurrentMove) + && !(gMovesInfo[gCurrentMove].effect == EFFECT_ORDER_UP && gBattleStruct->commanderActive[gBattlerAttacker]) + && !primary + && gBattleScripting.moveEffect != MOVE_EFFECT_CHARGING) INCREMENT_RESET_RETURN if (!IsBattlerAlive(gEffectBattler) && !activateAfterFaint) @@ -2940,8 +3081,7 @@ void SetMoveEffect(bool32 primary, bool32 certain) if (B_STATUS_TYPE_IMMUNITY == GEN_1) { - u8 moveType = 0; - GET_MOVE_TYPE(gCurrentMove, moveType); + u32 moveType = GetMoveType(gCurrentMove); if (primary == FALSE && certain == FALSE && IS_BATTLER_OF_TYPE(gEffectBattler, moveType)) break; } @@ -2954,8 +3094,7 @@ void SetMoveEffect(bool32 primary, bool32 certain) case STATUS1_FREEZE: if (B_STATUS_TYPE_IMMUNITY == GEN_1) { - u8 moveType = 0; - GET_MOVE_TYPE(gCurrentMove, moveType); + u32 moveType = GetMoveType(gCurrentMove); if (primary == FALSE && certain == FALSE && IS_BATTLER_OF_TYPE(gEffectBattler, moveType)) break; } @@ -2994,8 +3133,7 @@ void SetMoveEffect(bool32 primary, bool32 certain) } if (B_STATUS_TYPE_IMMUNITY == GEN_1) { - u8 moveType = 0; - GET_MOVE_TYPE(gCurrentMove, moveType); + u32 moveType = GetMoveType(gCurrentMove); if (primary == FALSE && certain == FALSE && IS_BATTLER_OF_TYPE(gEffectBattler, moveType)) break; } @@ -3065,8 +3203,7 @@ void SetMoveEffect(bool32 primary, bool32 certain) case STATUS1_FROSTBITE: if (B_STATUS_TYPE_IMMUNITY == GEN_1) { - u8 moveType = 0; - GET_MOVE_TYPE(gCurrentMove, moveType); + u32 moveType = GetMoveType(gCurrentMove); if (primary == FALSE && certain == FALSE && IS_BATTLER_OF_TYPE(gEffectBattler, moveType)) break; } @@ -3545,7 +3682,7 @@ void SetMoveEffect(bool32 primary, bool32 certain) { bool32 byTwo = FALSE; - gBattleStruct->stolenStats[0] |= gBitTable[i]; + gBattleStruct->stolenStats[0] |= (1 << (i)); // Store by how many stages to raise the stat. gBattleStruct->stolenStats[i] = gBattleMons[gBattlerTarget].statStages[i] - DEFAULT_STAT_STAGE; while (gBattleMons[gBattlerAttacker].statStages[i] + gBattleStruct->stolenStats[i] > MAX_STAT_STAGE) @@ -3813,6 +3950,43 @@ void SetMoveEffect(bool32 primary, bool32 certain) gBattlescriptCurrInstr = BattleScript_LowerAtkSpAtk; } break; + case MOVE_EFFECT_ORDER_UP: + { + u32 stat = 0; + bool32 commanderAffected = TRUE; + switch (gBattleStruct->commanderActive[gEffectBattler]) + { + case SPECIES_TATSUGIRI_CURLY: + stat = STAT_ATK; + break; + case SPECIES_TATSUGIRI_DROOPY: + stat = STAT_DEF; + break; + case SPECIES_TATSUGIRI_STRETCHY: + stat = STAT_SPEED; + break; + default: + commanderAffected = FALSE; + break; + } + if (!commanderAffected + || NoAliveMonsForEitherParty() + || ChangeStatBuffs(SET_STAT_BUFF_VALUE(1), + stat, + affectsUser | STAT_CHANGE_UPDATE_MOVE_EFFECT, + 0) == STAT_CHANGE_DIDNT_WORK) + { + gBattlescriptCurrInstr++; + } + else + { + gBattleScripting.animArg1 = gBattleScripting.moveEffect & ~(MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN); + gBattleScripting.animArg2 = 0; + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_StatUp; + } + } + break; } } } @@ -3969,7 +4143,7 @@ static void Cmd_tryfaintmon(void) destinyBondBattler = gBattlerAttacker; faintScript = BattleScript_FaintTarget; } - if (!(gAbsentBattlerFlags & gBitTable[battler]) + if (!(gAbsentBattlerFlags & (1u << battler)) && !IsBattlerAlive(battler)) { gHitMarker |= HITMARKER_FAINTED(battler); @@ -4267,7 +4441,7 @@ static void Cmd_getexp(void) else { gBattleScripting.getexpState++; - gBattleStruct->givenExpMons |= gBitTable[gBattlerPartyIndexes[gBattlerFainted]]; + gBattleStruct->givenExpMons |= (1u << gBattlerPartyIndexes[gBattlerFainted]); } break; case 1: // calculate experience points to redistribute @@ -4284,25 +4458,25 @@ static void Cmd_getexp(void) { if (!IsValidForBattle(&gPlayerParty[i])) continue; - if (gBitTable[i] & sentInBits) + if ((1u << i) & sentInBits) viaSentIn++; holdEffect = GetMonHoldEffect(&gPlayerParty[i]); if (holdEffect == HOLD_EFFECT_EXP_SHARE || IsGen6ExpShareEnabled()) { - expShareBits |= gBitTable[i]; + expShareBits |= 1u << i; viaExpShare++; } } // Get order of mons getting exp: 1. all mons via sent in, 2. all mons via exp share for (i = 0; i < PARTY_SIZE; i++) { - if (gBitTable[i] & sentInBits) + if ((1u << i) & sentInBits) gBattleStruct->expGettersOrder[orderId++] = i; } for (i = 0; i < PARTY_SIZE; i++) { - if (!(gBitTable[i] & sentInBits) && gBitTable[i] & expShareBits) + if (!((1u << i) & sentInBits) && (1u << i) & expShareBits) gBattleStruct->expGettersOrder[orderId++] = i; } if (orderId < PARTY_SIZE) @@ -4354,7 +4528,7 @@ static void Cmd_getexp(void) case 2: // set exp value to the poke in expgetter_id and print message if (gBattleControllerExecFlags == 0) { - bool32 wasSentOut = ((gBattleStruct->expSentInMons & gBitTable[*expMonId]) != 0); + bool32 wasSentOut = (gBattleStruct->expSentInMons & (1u << *expMonId)) != 0; holdEffect = GetMonHoldEffect(&gPlayerParty[*expMonId]); if ((holdEffect != HOLD_EFFECT_EXP_SHARE && !wasSentOut && !IsGen6ExpShareEnabled()) @@ -4375,7 +4549,7 @@ static void Cmd_getexp(void) { // Music change in a wild battle after fainting opposing pokemon. if (!(gBattleTypeFlags & BATTLE_TYPE_TRAINER) - && (gBattleMons[0].hp || (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattleMons[2].hp)) + && (gBattleMons[0].hp || (IsDoubleBattle() && gBattleMons[2].hp)) && !IsBattlerAlive(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) && !IsBattlerAlive(GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)) && !gBattleStruct->wildVictorySong) @@ -4426,13 +4600,13 @@ static void Cmd_getexp(void) } // get exp getter battler - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { - if (gBattlerPartyIndexes[2] == *expMonId && !(gAbsentBattlerFlags & gBitTable[2])) + if (gBattlerPartyIndexes[2] == *expMonId && !(gAbsentBattlerFlags & 4)) gBattleStruct->expGetterBattlerId = 2; else { - if (!(gAbsentBattlerFlags & gBitTable[0])) + if (!(gAbsentBattlerFlags & 1)) gBattleStruct->expGetterBattlerId = 0; else gBattleStruct->expGetterBattlerId = 2; @@ -4498,7 +4672,7 @@ static void Cmd_getexp(void) PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, GetMonData(&gPlayerParty[*expMonId], MON_DATA_LEVEL)); BattleScriptPushCursor(); - gLeveledUpInBattle |= gBitTable[*expMonId]; + gLeveledUpInBattle |= 1 << *expMonId; gBattlescriptCurrInstr = BattleScript_LevelUp; gBattleMoveDamage = T1_READ_32(&gBattleResources->bufferB[expBattler][2]); AdjustFriendship(&gPlayerParty[*expMonId], FRIENDSHIP_EVENT_GROW_LEVEL); @@ -4506,7 +4680,7 @@ static void Cmd_getexp(void) // update battle mon structure after level up if (gBattlerPartyIndexes[0] == *expMonId && gBattleMons[0].hp) battler = 0; - else if (gBattlerPartyIndexes[2] == *expMonId && gBattleMons[2].hp && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + else if (gBattlerPartyIndexes[2] == *expMonId && gBattleMons[2].hp && (IsDoubleBattle())) battler = 2; if (battler != 0xFF) @@ -4571,7 +4745,7 @@ bool32 NoAliveMonsForPlayer(void) for (i = 0; i < maxI; i++) { if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) - && (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->arenaLostPlayerMons & gBitTable[i]))) + && (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->arenaLostPlayerMons & (1u << i)))) { HP_count += GetMonData(&gPlayerParty[i], MON_DATA_HP); } @@ -4589,7 +4763,7 @@ static bool32 NoAliveMonsForOpponent(void) for (i = 0; i < PARTY_SIZE; i++) { if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES) && !GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG) - && (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->arenaLostOpponentMons & gBitTable[i]))) + && (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->arenaLostOpponentMons & (1u << i)))) { HP_count += GetMonData(&gEnemyParty[i], MON_DATA_HP); } @@ -5363,7 +5537,7 @@ static bool32 TryKnockOffBattleScript(u32 battlerDef) } else { - gWishFutureKnock.knockedOffMons[side] |= gBitTable[gBattlerPartyIndexes[battlerDef]]; + gWishFutureKnock.knockedOffMons[side] |= 1u << gBattlerPartyIndexes[battlerDef]; } BattleScriptPushCursor(); @@ -5385,17 +5559,17 @@ static bool32 TryKnockOffBattleScript(u32 battlerDef) static u32 GetNextTarget(u32 moveTarget, bool32 excludeCurrent) { - u32 i; - for (i = 0; i < MAX_BATTLERS_COUNT; i++) + u32 battler; + for (battler = 0; battler < MAX_BATTLERS_COUNT; battler++) { - if (i != gBattlerAttacker - && !(excludeCurrent && i == gBattlerTarget) - && IsBattlerAlive(i) - && !(gBattleStruct->targetsDone[gBattlerAttacker] & gBitTable[i]) - && (GetBattlerSide(i) != GetBattlerSide(gBattlerAttacker) || moveTarget == MOVE_TARGET_FOES_AND_ALLY)) - break; + if (battler != gBattlerAttacker + && !(excludeCurrent && battler == gBattlerTarget) + && IsBattlerAlive(battler) + && !(gBattleStruct->targetsDone[gBattlerAttacker] & (1u << battler)) + && (GetBattlerSide(battler) != GetBattlerSide(gBattlerAttacker) || moveTarget == MOVE_TARGET_FOES_AND_ALLY)) + break; } - return i; + return battler; } static void Cmd_moveend(void) @@ -5418,7 +5592,7 @@ static void Cmd_moveend(void) endState = cmd->endState; holdEffectAtk = GetBattlerHoldEffect(gBattlerAttacker, TRUE); - GET_MOVE_TYPE(gCurrentMove, moveType); + moveType = GetMoveType(gCurrentMove); do { @@ -5514,6 +5688,37 @@ static void Cmd_moveend(void) } gBattleScripting.moveendState++; break; + case MOVEEND_ABSORB: + if (gMovesInfo[gCurrentMove].effect == EFFECT_ABSORB) + { + if (gStatuses3[gBattlerAttacker] & STATUS3_HEAL_BLOCK && gMovesInfo[gCurrentMove].healingMove) + { + gBattleScripting.moveendState++; + break; + } + else if (IsBattlerAlive(gBattlerAttacker) && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) + { + gBattleMoveDamage = max(1, (gHpDealt * gMovesInfo[gCurrentMove].argument / 100)); + gBattleMoveDamage = GetDrainedBigRootHp(gBattlerAttacker, gBattleMoveDamage); + gHitMarker |= HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE; + effect = TRUE; + if (GetBattlerAbility(gBattlerTarget) == ABILITY_LIQUID_OOZE) + { + gBattleMoveDamage *= -1; + gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABSORB_OOZE; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_EffectAbsorbLiquidOoze; + } + else + { + gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABSORB; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_EffectAbsorb; + } + } + } + gBattleScripting.moveendState++; + break; case MOVEEND_RAGE: // rage check if (gBattleMons[gBattlerTarget].status2 & STATUS2_RAGE && IsBattlerAlive(gBattlerTarget) @@ -5848,9 +6053,9 @@ static void Cmd_moveend(void) if ((gMoveResultFlags & (MOVE_RESULT_FAILED | MOVE_RESULT_DOESNT_AFFECT_FOE)) || (gBattleMons[gBattlerAttacker].status2 & (STATUS2_FLINCHED)) || gProtectStructs[gBattlerAttacker].prlzImmobility) - gBattleStruct->lastMoveFailed |= gBitTable[gBattlerAttacker]; + gBattleStruct->lastMoveFailed |= 1u << gBattlerAttacker; else - gBattleStruct->lastMoveFailed &= ~(gBitTable[gBattlerAttacker]); + gBattleStruct->lastMoveFailed &= ~(1u << gBattlerAttacker); // Set ShellTrap to activate after the attacker's turn if target was hit by a physical move. if (gMovesInfo[gChosenMoveByBattler[gBattlerTarget]].effect == EFFECT_SHELL_TRAP @@ -5876,7 +6081,7 @@ static void Cmd_moveend(void) } if (!gSpecialStatuses[gBattlerAttacker].dancerUsedMove) { - gDisableStructs[gBattlerAttacker].usedMoves |= gBitTable[gCurrMovePos]; + gDisableStructs[gBattlerAttacker].usedMoves |= 1u << gCurrMovePos; gBattleStruct->lastMoveTarget[gBattlerAttacker] = gBattlerTarget; if (gHitMarker & HITMARKER_ATTACKSTRING_PRINTED) { @@ -5886,8 +6091,8 @@ static void Cmd_moveend(void) gBattleStruct->dynamax.lastUsedBaseMove = gBattleStruct->dynamax.baseMoves[gBattlerAttacker]; } } - if (!(gAbsentBattlerFlags & gBitTable[gBattlerAttacker]) - && !(gBattleStruct->absentBattlerFlags & gBitTable[gBattlerAttacker]) + if (!(gAbsentBattlerFlags & (1u << gBattlerAttacker)) + && !(gBattleStruct->absentBattlerFlags & (1u << gBattlerAttacker)) && gMovesInfo[originallyUsedMove].effect != EFFECT_BATON_PASS && gMovesInfo[originallyUsedMove].effect != EFFECT_HEALING_WISH) { @@ -5898,7 +6103,7 @@ static void Cmd_moveend(void) gLastMoves[gBattlerAttacker] = gChosenMove; RecordKnownMove(gBattlerAttacker, gChosenMove); gLastResultingMoves[gBattlerAttacker] = gCurrentMove; - GET_MOVE_TYPE(gCurrentMove, gLastUsedMoveType[gBattlerAttacker]); + gLastUsedMoveType[gBattlerAttacker] = GetMoveType(gCurrentMove); } } else @@ -5920,7 +6125,7 @@ static void Cmd_moveend(void) else { gLastLandedMoves[gBattlerTarget] = gCurrentMove; - GET_MOVE_TYPE(gCurrentMove, gLastHitByType[gBattlerTarget]); + gLastHitByType[gBattlerTarget] = GetMoveType(gCurrentMove); } } else @@ -5931,8 +6136,8 @@ static void Cmd_moveend(void) gBattleScripting.moveendState++; break; case MOVEEND_MIRROR_MOVE: // mirror move - if (!(gAbsentBattlerFlags & gBitTable[gBattlerAttacker]) - && !(gBattleStruct->absentBattlerFlags & gBitTable[gBattlerAttacker]) + if (!(gAbsentBattlerFlags & (1u << gBattlerAttacker)) + && !(gBattleStruct->absentBattlerFlags & (1u << gBattlerAttacker)) && !gMovesInfo[originallyUsedMove].mirrorMoveBanned && gHitMarker & HITMARKER_OBEYS && gBattlerAttacker != gBattlerTarget @@ -5952,9 +6157,9 @@ static void Cmd_moveend(void) && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) gProtectStructs[gBattlerAttacker].targetAffected = TRUE; - gBattleStruct->targetsDone[gBattlerAttacker] |= gBitTable[gBattlerTarget]; + gBattleStruct->targetsDone[gBattlerAttacker] |= 1u << gBattlerTarget; if (!(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) - && gBattleTypeFlags & BATTLE_TYPE_DOUBLE + && IsDoubleBattle() && !gProtectStructs[gBattlerAttacker].chargingTurn && (moveTarget == MOVE_TARGET_BOTH || moveTarget == MOVE_TARGET_FOES_AND_ALLY) @@ -5983,7 +6188,7 @@ static void Cmd_moveend(void) u8 originalBounceTarget = gBattlerAttacker; gBattleStruct->bouncedMoveIsUsed = FALSE; gBattlerAttacker = gBattleStruct->attackerBeforeBounce; - gBattleStruct->targetsDone[gBattlerAttacker] |= gBitTable[originalBounceTarget]; + gBattleStruct->targetsDone[gBattlerAttacker] |= 1u << originalBounceTarget; gBattleStruct->targetsDone[originalBounceTarget] = 0; nextTarget = GetNextTarget(moveTarget, FALSE); @@ -6087,7 +6292,7 @@ static void Cmd_moveend(void) && TARGET_TURN_DAMAGED && CanStealItem(gBattlerAttacker, gBattlerTarget, gBattleMons[gBattlerTarget].item) && !gSpecialStatuses[gBattlerAttacker].gemBoost // In base game, gems are consumed after magician would activate. - && !(gWishFutureKnock.knockedOffMons[GetBattlerSide(gBattlerTarget)] & gBitTable[gBattlerPartyIndexes[gBattlerTarget]]) + && !(gWishFutureKnock.knockedOffMons[GetBattlerSide(gBattlerTarget)] & (1u << gBattlerPartyIndexes[gBattlerTarget])) && !DoesSubstituteBlockMove(gBattlerAttacker, gBattlerTarget, gCurrentMove) && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && (GetBattlerAbility(gBattlerTarget) != ABILITY_STICKY_HOLD || !IsBattlerAlive(gBattlerTarget))) @@ -6111,9 +6316,9 @@ static void Cmd_moveend(void) u32 holdEffect; holdEffect = GetBattlerHoldEffect(i, TRUE); if (holdEffect == HOLD_EFFECT_EJECT_BUTTON) - ejectButtonBattlers |= gBitTable[i]; + ejectButtonBattlers |= 1u << i; else if (holdEffect == HOLD_EFFECT_EJECT_PACK) - ejectPackBattlers |= gBitTable[i]; + ejectPackBattlers |= 1u << i; } if (ejectButtonBattlers || ejectPackBattlers) { @@ -6124,7 +6329,7 @@ static void Cmd_moveend(void) { u32 battler = battlers[i]; - if (battler != gBattlerAttacker && ejectButtonBattlers & gBitTable[battler]) + if (battler != gBattlerAttacker && ejectButtonBattlers & (1u << battler)) { if (TestIfSheerForceAffected(gBattlerAttacker, gCurrentMove)) // Apparently Sheer Force blocks Eject Button, but not Eject Pack continue; @@ -6133,7 +6338,7 @@ static void Cmd_moveend(void) if (!BATTLER_TURN_DAMAGED(battler)) continue; } - else if (ejectPackBattlers & gBitTable[battler]) + else if (ejectPackBattlers & (1u << battler)) { if (!gProtectStructs[battler].statFell || gProtectStructs[battler].disableEjectPack) continue; @@ -6155,9 +6360,11 @@ static void Cmd_moveend(void) gBattlescriptCurrInstr = BattleScript_MoveEnd; // Prevent user switch-in selection effect = TRUE; BattleScriptPushCursor(); - if (ejectButtonBattlers & gBitTable[battler]) + gBattleStruct->usedEjectItem |= 1u << battler; + if (ejectButtonBattlers & (1u << battler)) { gBattlescriptCurrInstr = BattleScript_EjectButtonActivates; + AI_DATA->ejectButtonSwitch = TRUE; } else // Eject Pack { @@ -6169,6 +6376,7 @@ static void Cmd_moveend(void) else { gBattlescriptCurrInstr = BattleScript_EjectPackActivates; + AI_DATA->ejectPackSwitch = TRUE; // Are these 2 lines below needed? gProtectStructs[battler].statFell = FALSE; gSpecialStatuses[gBattlerAttacker].preventLifeOrbDamage = TRUE; @@ -6202,7 +6410,7 @@ static void Cmd_moveend(void) if (i == gBattlerAttacker) continue; if (GetBattlerHoldEffect(i, TRUE) == HOLD_EFFECT_RED_CARD) - redCardBattlers |= gBitTable[i]; + redCardBattlers |= (1u << i); } if (redCardBattlers && (gMovesInfo[gCurrentMove].effect != EFFECT_HIT_SWITCH_TARGET || gBattleStruct->hitSwitchTargetFailed) @@ -6219,7 +6427,7 @@ static void Cmd_moveend(void) u32 battler = battlers[i]; // Search for fastest hit pokemon with a red card // Attacker is the one to be switched out, battler is one with red card - if (redCardBattlers & gBitTable[battler] + if (redCardBattlers & (1u << battler) && IsBattlerAlive(battler) && !DoesSubstituteBlockMove(gBattlerAttacker, battler, gCurrentMove) && BATTLER_TURN_DAMAGED(battler) @@ -6233,8 +6441,15 @@ static void Cmd_moveend(void) if (gMovesInfo[gCurrentMove].effect == EFFECT_HIT_ESCAPE) gBattlescriptCurrInstr = BattleScript_MoveEnd; // Prevent user switch-in selection BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_RedCardActivates; - gSpecialStatuses[gBattlerAttacker].preventLifeOrbDamage = TRUE; + if (gBattleStruct->commanderActive[gBattlerAttacker] != SPECIES_NONE) + { + gBattlescriptCurrInstr = BattleScript_RedCardActivationNoSwitch; + } + else + { + gBattlescriptCurrInstr = BattleScript_RedCardActivates; + gSpecialStatuses[gBattlerAttacker].preventLifeOrbDamage = TRUE; + } effect = TRUE; break; // Only fastest red card activates } @@ -6251,7 +6466,7 @@ static void Cmd_moveend(void) case MOVEEND_PICKPOCKET: if (IsBattlerAlive(gBattlerAttacker) && gBattleMons[gBattlerAttacker].item != ITEM_NONE // Attacker must be holding an item - && !(gWishFutureKnock.knockedOffMons[GetBattlerSide(gBattlerAttacker)] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]]) // But not knocked off + && !(gWishFutureKnock.knockedOffMons[GetBattlerSide(gBattlerAttacker)] & (1u << gBattlerPartyIndexes[gBattlerAttacker])) // But not knocked off && !(TestIfSheerForceAffected(gBattlerAttacker, gCurrentMove)) // Pickpocket doesn't activate for sheer force && IsMoveMakingContact(gCurrentMove, gBattlerAttacker) // Pickpocket requires contact && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) // Obviously attack needs to have worked @@ -6402,8 +6617,6 @@ static void Cmd_moveend(void) && (gBattleMons[gBattlerAttacker].status2 & STATUS2_LOCK_CONFUSE) != STATUS2_LOCK_CONFUSE_TURN(1)) // And won't end this turn CancelMultiTurnMoves(gBattlerAttacker); // Cancel it - - if (gBattleStruct->savedAttackerCount > 0) { // #if TESTING @@ -6423,12 +6636,13 @@ static void Cmd_moveend(void) gBattleStruct->targetsDone[gBattlerAttacker] = 0; gProtectStructs[gBattlerAttacker].targetAffected = FALSE; gProtectStructs[gBattlerAttacker].shellTrap = FALSE; - gBattleStruct->ateBoost[gBattlerAttacker] = 0; + gBattleStruct->ateBoost[gBattlerAttacker] = FALSE; gStatuses3[gBattlerAttacker] &= ~STATUS3_ME_FIRST; gSpecialStatuses[gBattlerAttacker].gemBoost = FALSE; gSpecialStatuses[gBattlerAttacker].damagedMons = 0; gSpecialStatuses[gBattlerAttacker].preventLifeOrbDamage = 0; gSpecialStatuses[gBattlerTarget].berryReduced = FALSE; + gSpecialStatuses[gBattlerTarget].distortedTypeMatchups = FALSE; gBattleScripting.moveEffect = 0; gBattleStruct->hitSwitchTargetFailed = FALSE; gBattleStruct->isAtkCancelerForCalledMove = FALSE; @@ -6440,7 +6654,6 @@ static void Cmd_moveend(void) gBattleStruct->additionalEffectsCounter = 0; gBattleStruct->poisonPuppeteerConfusion = FALSE; gBattleStruct->fickleBeamBoosted = FALSE; - gBattleStruct->distortedTypeMatchups = 0; gBattleStruct->redCardActivates = FALSE; gBattleStruct->usedMicleBerry &= ~(1u << gBattlerAttacker); if (gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) @@ -6450,6 +6663,18 @@ static void Cmd_moveend(void) if (B_CHARGE <= GEN_8 || moveType == TYPE_ELECTRIC) gStatuses3[gBattlerAttacker] &= ~(STATUS3_CHARGED_UP); memset(gQueuedStatBoosts, 0, sizeof(gQueuedStatBoosts)); + + for (i = 0; i < gBattlersCount; i++) + { + if (gBattleStruct->commanderActive[i] != SPECIES_NONE && !IsBattlerAlive(i)) + { + u32 partner = BATTLE_PARTNER(i); + gBattleStruct->commanderActive[i] = SPECIES_NONE; + if (IsBattlerAlive(partner)) + gStatuses3[partner] &= ~STATUS3_COMMANDER; + } + } + gBattleScripting.moveendState++; break; case MOVEEND_COUNT: @@ -6505,7 +6730,7 @@ static void Cmd_getswitchedmondata(void) gBattlerPartyIndexes[battler] = gBattleStruct->monToSwitchIntoId[battler]; - BtlController_EmitGetMonData(battler, BUFFER_A, REQUEST_ALL_BATTLE, gBitTable[gBattlerPartyIndexes[battler]]); + BtlController_EmitGetMonData(battler, BUFFER_A, REQUEST_ALL_BATTLE, 1u << gBattlerPartyIndexes[battler]); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; @@ -6551,7 +6776,7 @@ static void Cmd_switchindataupdate(void) if (i != PARTY_SIZE) { gBattlerPartyIndexes[battler] = gBattleStruct->monToSwitchIntoId[battler] = i; - BtlController_EmitGetMonData(battler, BUFFER_A, REQUEST_ALL_BATTLE, gBitTable[gBattlerPartyIndexes[battler]]); + BtlController_EmitGetMonData(battler, BUFFER_A, REQUEST_ALL_BATTLE, 1u << gBattlerPartyIndexes[battler]); MarkBattlerForControllerExec(battler); return; } @@ -6574,7 +6799,7 @@ static void Cmd_switchindataupdate(void) // check knocked off item i = GetBattlerSide(battler); - if (gWishFutureKnock.knockedOffMons[i] & gBitTable[gBattlerPartyIndexes[battler]]) + if (gWishFutureKnock.knockedOffMons[i] & (1u << gBattlerPartyIndexes[battler])) { gBattleMons[battler].item = ITEM_NONE; } @@ -6595,7 +6820,7 @@ static void Cmd_switchindataupdate(void) && IsBattlerAlive(battler) && !(gBattleMons[battler].status1 & STATUS1_SLEEP)) { - gBattleStruct->palaceFlags |= gBitTable[battler]; + gBattleStruct->palaceFlags |= 1u << battler; } gBattleScripting.battler = battler; @@ -6624,7 +6849,7 @@ static void Cmd_switchinanim(void) | BATTLE_TYPE_FRONTIER))) HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[battler].species), FLAG_SET_SEEN, gBattleMons[battler].personality); - gAbsentBattlerFlags &= ~(gBitTable[battler]); + gAbsentBattlerFlags &= ~(1u << battler); BtlController_EmitSwitchInAnim(battler, BUFFER_A, gBattlerPartyIndexes[battler], cmd->dontClearSubstitute); MarkBattlerForControllerExec(battler); @@ -6744,7 +6969,7 @@ bool32 CanBattlerSwitch(u32 battler) { battlerIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) battlerIn2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); else battlerIn2 = battlerIn1; @@ -6756,7 +6981,7 @@ bool32 CanBattlerSwitch(u32 battler) // Check if attacker side has mon to switch into battlerIn1 = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) battlerIn2 = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); else battlerIn2 = battlerIn1; @@ -6803,7 +7028,7 @@ static void ChooseMonToSendOut(u32 battler, u8 slotId) { gBattleStruct->battlerPartyIndexes[battler] = gBattlerPartyIndexes[battler]; gBattleStruct->monToSwitchIntoId[battler] = PARTY_SIZE; - gBattleStruct->field_93 &= ~(gBitTable[battler]); + gBattleStruct->field_93 &= ~(1u << battler); BtlController_EmitChoosePokemon(battler, BUFFER_A, PARTY_ACTION_SEND_OUT, slotId, ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); MarkBattlerForControllerExec(battler); @@ -6820,7 +7045,7 @@ static void Cmd_openpartyscreen(void) if (cmd->battler == BS_FAINTED_MULTIPLE_1) { - if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) || !(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) || !(IsDoubleBattle())) { for (battler = 0; battler < gBattlersCount; battler++) { @@ -6828,7 +7053,7 @@ static void Cmd_openpartyscreen(void) { if (HasNoMonsToSwitch(battler, PARTY_SIZE, PARTY_SIZE)) { - gAbsentBattlerFlags |= gBitTable[battler]; + gAbsentBattlerFlags |= 1u << battler; gHitMarker &= ~HITMARKER_FAINTED(battler); BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(battler); @@ -6846,128 +7071,55 @@ static void Cmd_openpartyscreen(void) } } } - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + else if (IsDoubleBattle()) { - bool8 hasReplacement_0, hasReplacement_1, hasReplacement_2, hasReplacement_3; + bool32 hasReplacement; hitmarkerFaintBits = gHitMarker >> 28; - - if (gBitTable[0] & hitmarkerFaintBits) - { - battler = 0; - if (HasNoMonsToSwitch(battler, PARTY_SIZE, PARTY_SIZE)) - { - gAbsentBattlerFlags |= gBitTable[battler]; - gHitMarker &= ~HITMARKER_FAINTED(battler); - BtlController_EmitCantSwitch(battler, BUFFER_A); - MarkBattlerForControllerExec(battler); - } - else if (!gSpecialStatuses[battler].faintedHasReplacement) - { - ChooseMonToSendOut(battler, gBattleStruct->monToSwitchIntoId[2]); - gSpecialStatuses[battler].faintedHasReplacement = TRUE; - } - else - { - BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); - MarkBattlerForControllerExec(battler); - flags |= 1; - } - } - if (gBitTable[2] & hitmarkerFaintBits && !(gBitTable[0] & hitmarkerFaintBits)) - { - battler = 2; - if (HasNoMonsToSwitch(battler, PARTY_SIZE, PARTY_SIZE)) - { - gAbsentBattlerFlags |= gBitTable[battler]; - gHitMarker &= ~HITMARKER_FAINTED(battler); - BtlController_EmitCantSwitch(battler, BUFFER_A); - MarkBattlerForControllerExec(battler); - } - else if (!gSpecialStatuses[battler].faintedHasReplacement) - { - ChooseMonToSendOut(battler, gBattleStruct->monToSwitchIntoId[0]); - gSpecialStatuses[battler].faintedHasReplacement = TRUE; - } - else if (!(flags & 1)) - { - BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); - MarkBattlerForControllerExec(battler); - } - } - if (gBitTable[1] & hitmarkerFaintBits) - { - battler = 1; - if (HasNoMonsToSwitch(battler, PARTY_SIZE, PARTY_SIZE)) - { - gAbsentBattlerFlags |= gBitTable[battler]; - gHitMarker &= ~HITMARKER_FAINTED(battler); - BtlController_EmitCantSwitch(battler, BUFFER_A); - MarkBattlerForControllerExec(battler); - } - else if (!gSpecialStatuses[battler].faintedHasReplacement) - { - ChooseMonToSendOut(battler, gBattleStruct->monToSwitchIntoId[3]); - gSpecialStatuses[battler].faintedHasReplacement = TRUE; - } - else - { - BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); - MarkBattlerForControllerExec(battler); - flags |= 2; - } - } - if (gBitTable[3] & hitmarkerFaintBits && !(gBitTable[1] & hitmarkerFaintBits)) - { - battler = 3; - if (HasNoMonsToSwitch(battler, PARTY_SIZE, PARTY_SIZE)) - { - gAbsentBattlerFlags |= gBitTable[battler]; - gHitMarker &= ~HITMARKER_FAINTED(battler); - BtlController_EmitCantSwitch(battler, BUFFER_A); - MarkBattlerForControllerExec(battler); - } - else if (!gSpecialStatuses[battler].faintedHasReplacement) - { - ChooseMonToSendOut(battler, gBattleStruct->monToSwitchIntoId[1]); - gSpecialStatuses[battler].faintedHasReplacement = TRUE; - } - else if (!(flags & 2)) - { - BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); - MarkBattlerForControllerExec(battler); - } - } - - hasReplacement_0 = gSpecialStatuses[0].faintedHasReplacement; - if (!hasReplacement_0) + for (i = 0; i < gBattlersCount; i++) { - hasReplacement_2 = gSpecialStatuses[2].faintedHasReplacement; - if (!hasReplacement_2 && hitmarkerFaintBits != 0) + if (((1u << i) & hitmarkerFaintBits)) { - if (gAbsentBattlerFlags & gBitTable[0]) - battler = 2; - else - battler = 0; + if (i > 1 && ((1u << BATTLE_PARTNER(i)) & hitmarkerFaintBits)) + continue; - BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); - MarkBattlerForControllerExec(battler); + battler = i; + if (HasNoMonsToSwitch(battler, PARTY_SIZE, PARTY_SIZE)) + { + gAbsentBattlerFlags |= 1u << battler; + gHitMarker &= ~HITMARKER_FAINTED(battler); + BtlController_EmitCantSwitch(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); + } + else if (!gSpecialStatuses[battler].faintedHasReplacement) + { + ChooseMonToSendOut(battler, gBattleStruct->monToSwitchIntoId[BATTLE_PARTNER(battler)]); + gSpecialStatuses[battler].faintedHasReplacement = TRUE; + } + else if (battler < 2 || (battler > 1 && !(flags & BATTLE_PARTNER(battler)))) + { + BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + MarkBattlerForControllerExec(battler); + flags |= battler; + } } - } - hasReplacement_1 = gSpecialStatuses[1].faintedHasReplacement; - if (!hasReplacement_1) + + for (i = 0; i < NUM_BATTLE_SIDES; i++) { - hasReplacement_3 = gSpecialStatuses[3].faintedHasReplacement; - if (!hasReplacement_3 && hitmarkerFaintBits != 0) + if (!(gSpecialStatuses[i].faintedHasReplacement)) { - if (gAbsentBattlerFlags & gBitTable[1]) - battler = 3; - else - battler = 1; + hasReplacement = gSpecialStatuses[BATTLE_PARTNER(i)].faintedHasReplacement; + if (!hasReplacement && hitmarkerFaintBits != 0) + { + if (gAbsentBattlerFlags & (1 << i)) + battler = BATTLE_PARTNER(i); + else + battler = i; - BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); - MarkBattlerForControllerExec(battler); + BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + MarkBattlerForControllerExec(battler); + } } } } @@ -6977,39 +7129,26 @@ static void Cmd_openpartyscreen(void) { if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { hitmarkerFaintBits = gHitMarker >> 28; - if (gBitTable[2] & hitmarkerFaintBits && gBitTable[0] & hitmarkerFaintBits) - { - battler = 2; - if (HasNoMonsToSwitch(battler, gBattleResources->bufferB[0][1], PARTY_SIZE)) - { - gAbsentBattlerFlags |= gBitTable[battler]; - gHitMarker &= ~HITMARKER_FAINTED(battler); - BtlController_EmitCantSwitch(battler, BUFFER_A); - MarkBattlerForControllerExec(battler); - } - else if (!gSpecialStatuses[battler].faintedHasReplacement) - { - ChooseMonToSendOut(battler, gBattleStruct->monToSwitchIntoId[0]); - gSpecialStatuses[battler].faintedHasReplacement = TRUE; - } - } - if (gBitTable[3] & hitmarkerFaintBits && hitmarkerFaintBits & gBitTable[1]) + for (i = 0; i < NUM_BATTLE_SIDES; i++) { - battler = 3; - if (HasNoMonsToSwitch(battler, gBattleResources->bufferB[1][1], PARTY_SIZE)) + if ((1 << BATTLE_PARTNER(i)) & hitmarkerFaintBits && (1 << i) & hitmarkerFaintBits) { - gAbsentBattlerFlags |= gBitTable[battler]; - gHitMarker &= ~HITMARKER_FAINTED(battler); - BtlController_EmitCantSwitch(battler, BUFFER_A); - MarkBattlerForControllerExec(battler); - } - else if (!gSpecialStatuses[battler].faintedHasReplacement) - { - ChooseMonToSendOut(battler, gBattleStruct->monToSwitchIntoId[1]); - gSpecialStatuses[battler].faintedHasReplacement = TRUE; + battler = BATTLE_PARTNER(i); + if (HasNoMonsToSwitch(battler, PARTY_SIZE, PARTY_SIZE)) + { + gAbsentBattlerFlags |= (1u << battler); + gHitMarker &= ~(HITMARKER_FAINTED(battler)); + BtlController_EmitCantSwitch(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); + } + else if (!gSpecialStatuses[battler].faintedHasReplacement) + { + ChooseMonToSendOut(battler, gBattleStruct->monToSwitchIntoId[i]); + gSpecialStatuses[battler].faintedHasReplacement = TRUE; + } } } gBattlescriptCurrInstr = cmd->nextInstr; @@ -7029,7 +7168,7 @@ static void Cmd_openpartyscreen(void) hitmarkerFaintBits = gHitMarker >> 28; gBattlerFainted = 0; - while (!(gBitTable[gBattlerFainted] & hitmarkerFaintBits) + while (!((1u << gBattlerFainted) & hitmarkerFaintBits) && gBattlerFainted < gBattlersCount) gBattlerFainted++; @@ -7050,7 +7189,7 @@ static void Cmd_openpartyscreen(void) } else if (HasNoMonsToSwitch(battler, PARTY_SIZE, PARTY_SIZE)) { - gAbsentBattlerFlags |= gBitTable[battler]; + gAbsentBattlerFlags |= 1u << battler; gHitMarker &= ~HITMARKER_FAINTED(battler); gBattlescriptCurrInstr = failInstr; } @@ -7058,7 +7197,7 @@ static void Cmd_openpartyscreen(void) { *(gBattleStruct->battlerPartyIndexes + battler) = gBattlerPartyIndexes[battler]; *(gBattleStruct->monToSwitchIntoId + battler) = PARTY_SIZE; - gBattleStruct->field_93 &= ~(gBitTable[battler]); + gBattleStruct->field_93 &= ~(1u << battler); BtlController_EmitChoosePokemon(battler, BUFFER_A, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + BATTLE_PARTNER(battler)), ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); MarkBattlerForControllerExec(battler); @@ -7082,7 +7221,7 @@ static void Cmd_openpartyscreen(void) else { u32 battlerOpposite = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battler))); - if (gAbsentBattlerFlags & gBitTable[battlerOpposite]) + if (gAbsentBattlerFlags & (1u << battlerOpposite)) battlerOpposite ^= BIT_FLANK; // Make sure we're checking a valid battler. In edge case scenarios - battler could be absent and battlerOpposite would become a non-existent one softlocking the game. @@ -7114,10 +7253,10 @@ static void Cmd_switchhandleorder(void) if (gBattleResources->bufferB[i][0] == CONTROLLER_CHOSENMONRETURNVALUE) { *(gBattleStruct->monToSwitchIntoId + i) = gBattleResources->bufferB[i][1]; - if (!(gBattleStruct->field_93 & gBitTable[i])) + if (!(gBattleStruct->field_93 & (1u << i))) { RecordedBattle_SetBattlerAction(i, gBattleResources->bufferB[i][1]); - gBattleStruct->field_93 |= gBitTable[i]; + gBattleStruct->field_93 |= 1u << i; } } } @@ -7127,10 +7266,10 @@ static void Cmd_switchhandleorder(void) SwitchPartyOrder(battler); break; case 2: - if (!(gBattleStruct->field_93 & gBitTable[battler])) + if (!(gBattleStruct->field_93 & (1u << battler))) { RecordedBattle_SetBattlerAction(battler, gBattleResources->bufferB[battler][1]); - gBattleStruct->field_93 |= gBitTable[battler]; + gBattleStruct->field_93 |= 1u << battler; } // fall through case 3: @@ -7198,7 +7337,7 @@ static void UpdateSentMonFlags(u32 battler) gSpecialStatuses[battler].faintedHasReplacement = FALSE; if (!BattlerHasAi(battler)) - gBattleStruct->appearedInBattle |= gBitTable[gBattlerPartyIndexes[battler]]; + gBattleStruct->appearedInBattle |= 1u << gBattlerPartyIndexes[battler]; } static bool32 DoSwitchInEffectsForBattler(u32 battler) @@ -7215,20 +7354,20 @@ static bool32 DoSwitchInEffectsForBattler(u32 battler) } // Healing Wish activates before hazards. // Starting from Gen8 - it heals only pokemon which can be healed. In gens 5,6,7 the effect activates anyways. - else if (((gBattleStruct->storedHealingWish & gBitTable[battler]) || (gBattleStruct->storedLunarDance & gBitTable[battler])) + else if (((gBattleStruct->storedHealingWish & (1u << battler)) || (gBattleStruct->storedLunarDance & (1u << battler))) && (gBattleMons[battler].hp != gBattleMons[battler].maxHP || gBattleMons[battler].status1 != 0 || B_HEALING_WISH_SWITCH < GEN_8)) { - if (gBattleStruct->storedHealingWish & gBitTable[battler]) + if (gBattleStruct->storedHealingWish & (1u << battler)) { BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_HealingWishActivates; - gBattleStruct->storedHealingWish &= ~(gBitTable[battler]); + gBattleStruct->storedHealingWish &= ~(1u << battler); } else // Lunar Dance { BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_LunarDanceActivates; - gBattleStruct->storedLunarDance &= ~(gBitTable[battler]); + gBattleStruct->storedLunarDance &= ~(1u << battler); } } else if (!(gDisableStructs[battler].spikesDone) @@ -7350,6 +7489,7 @@ static bool32 DoSwitchInEffectsForBattler(u32 battler) switch (GetBattlerAbility(i)) { case ABILITY_TRACE: + case ABILITY_COMMANDER: if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, i, 0, 0, 0)) return TRUE; break; @@ -7376,7 +7516,7 @@ static bool32 DoSwitchInEffectsForBattler(u32 battler) gBattleStruct->hpOnSwitchout[GetBattlerSide(i)] = gBattleMons[i].hp; } - gBattleStruct->forcedSwitch &= ~(gBitTable[battler]); + gBattleStruct->forcedSwitch &= ~(1u << battler); return FALSE; } @@ -7392,7 +7532,7 @@ static void Cmd_switchineffects(void) { // Multiple mons fainted and are being switched-in. Their abilities/hazards will play according to speed ties. case BS_FAINTED_MULTIPLE_1: // Saves the battlers. - gBattleStruct->multipleSwitchInBattlers |= gBitTable[battler]; + gBattleStruct->multipleSwitchInBattlers |= 1 << battler; UpdateSentMonFlags(battler); // Increment fainted battler. @@ -7401,7 +7541,7 @@ static void Cmd_switchineffects(void) gBattlerFainted++; if (gBattlerFainted >= gBattlersCount) break; - if (gHitMarker & HITMARKER_FAINTED(gBattlerFainted) && !(gAbsentBattlerFlags & gBitTable[gBattlerFainted])) + if (gHitMarker & HITMARKER_FAINTED(gBattlerFainted) && !(gAbsentBattlerFlags & (1u << gBattlerFainted))) break; } while (1); @@ -7421,7 +7561,7 @@ static void Cmd_switchineffects(void) for (; gBattleStruct->multipleSwitchInCursor < gBattlersCount; gBattleStruct->multipleSwitchInCursor++) { gBattlerFainted = gBattleStruct->multipleSwitchInSortedBattlers[gBattleStruct->multipleSwitchInCursor]; - if (gBattleStruct->multipleSwitchInBattlers & gBitTable[gBattlerFainted]) + if (gBattleStruct->multipleSwitchInBattlers & (1 << (gBattlerFainted))) { if (DoSwitchInEffectsForBattler(gBattlerFainted)) return; @@ -7535,7 +7675,7 @@ static void Cmd_handlelearnnewmove(void) { GiveMoveToBattleMon(&gBattleMons[battler], learnMove); } - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { battler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); if (gBattlerPartyIndexes[battler] == monId @@ -7641,7 +7781,7 @@ static void Cmd_yesnoboxlearnmove(void) RemoveBattleMonPPBonus(&gBattleMons[0], movePosition); SetBattleMonMoveSlot(&gBattleMons[0], gMoveToLearn, movePosition); } - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE + if (IsDoubleBattle() && gBattlerPartyIndexes[2] == gBattleStruct->expGetterMonId && MOVE_IS_PERMANENT(2, movePosition)) { @@ -7751,11 +7891,11 @@ static u32 GetTrainerMoneyToGive(u16 trainerId) if (party == NULL) return 20; lastMonLevel = party[GetTrainerPartySizeFromId(trainerId) - 1].lvl; - trainerMoney = gTrainerClasses[GetTrainerClassFromId(trainerId)].money; + trainerMoney = gTrainerClasses[GetTrainerClassFromId(trainerId)].money ?: 5; if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) moneyReward = 4 * lastMonLevel * gBattleStruct->moneyMultiplier * trainerMoney; - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + else if (IsDoubleBattle()) moneyReward = 4 * lastMonLevel * gBattleStruct->moneyMultiplier * 2 * trainerMoney; else moneyReward = 4 * lastMonLevel * gBattleStruct->moneyMultiplier * trainerMoney; @@ -8050,7 +8190,7 @@ static bool32 TryCheekPouch(u32 battler, u32 itemId) if (ItemId_GetPocket(itemId) == POCKET_BERRIES && GetBattlerAbility(battler) == ABILITY_CHEEK_POUCH && !(gStatuses3[battler] & STATUS3_HEAL_BLOCK) - && gBattleStruct->ateBerry[GetBattlerSide(battler)] & gBitTable[gBattlerPartyIndexes[battler]] + && gBattleStruct->ateBerry[GetBattlerSide(battler)] & (1u << gBattlerPartyIndexes[battler]) && !BATTLER_MAX_HP(battler)) { gBattleMoveDamage = GetNonDynamaxMaxHP(battler) / 3; @@ -8422,7 +8562,7 @@ static bool32 IsMonGettingExpSentOut(void) { if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterMonId) return TRUE; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlerPartyIndexes[2] == gBattleStruct->expGetterMonId) + if (IsDoubleBattle() && gBattlerPartyIndexes[2] == gBattleStruct->expGetterMonId) return TRUE; return FALSE; @@ -8495,7 +8635,7 @@ static void Cmd_hpthresholds(void) { CMD_ARGS(u8 battler); - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if (!(IsDoubleBattle())) { u32 battler = GetBattlerForBattleScript(cmd->battler); u32 opposingBattler = BATTLE_OPPOSITE(battler); @@ -8521,7 +8661,7 @@ static void Cmd_hpthresholds2(void) { CMD_ARGS(u8 battler); - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if (!(IsDoubleBattle())) { u32 battler = GetBattlerForBattleScript(cmd->battler); u32 opposingBattler = BATTLE_OPPOSITE(battler); @@ -8584,7 +8724,7 @@ bool32 CanUseLastResort(u8 battler) { if (gBattleMons[battler].moves[i] != MOVE_NONE) knownMovesCount++; - if (i != gCurrMovePos && gDisableStructs[battler].usedMoves & gBitTable[i]) // Increment used move count for all moves except current Last Resort. + if (i != gCurrMovePos && gDisableStructs[battler].usedMoves & (1u << i)) // Increment used move count for all moves except current Last Resort. usedMovesCount++; } @@ -8653,6 +8793,10 @@ static void RemoveAllTerrains(void) BattleScriptPushCursor(); \ gBattlescriptCurrInstr = battlescript; \ } \ + else \ + { \ + gBattlerAttacker = saveBattler; \ + } \ return TRUE; \ } \ } @@ -8667,20 +8811,24 @@ static bool32 TryDefogClear(u32 battlerAtk, bool32 clear) struct SideTimer *sideTimer = &gSideTimers[i]; u32 *sideStatuses = &gSideStatuses[i]; - gBattlerAttacker = i; // For correct battle string. Ally's / Foe's if (GetBattlerSide(battlerAtk) != i) { + gBattlerAttacker = i; // For correct battle string. Ally's / Foe's DEFOG_CLEAR(SIDE_STATUS_REFLECT, reflectTimer, BattleScript_SideStatusWoreOffReturn, MOVE_REFLECT); DEFOG_CLEAR(SIDE_STATUS_LIGHTSCREEN, lightscreenTimer, BattleScript_SideStatusWoreOffReturn, MOVE_LIGHT_SCREEN); DEFOG_CLEAR(SIDE_STATUS_MIST, mistTimer, BattleScript_SideStatusWoreOffReturn, MOVE_MIST); DEFOG_CLEAR(SIDE_STATUS_AURORA_VEIL, auroraVeilTimer, BattleScript_SideStatusWoreOffReturn, MOVE_AURORA_VEIL); DEFOG_CLEAR(SIDE_STATUS_SAFEGUARD, safeguardTimer, BattleScript_SideStatusWoreOffReturn, MOVE_SAFEGUARD); } - DEFOG_CLEAR(SIDE_STATUS_SPIKES, spikesAmount, BattleScript_SpikesDefog, 0); - DEFOG_CLEAR(SIDE_STATUS_STEALTH_ROCK, stealthRockAmount, BattleScript_StealthRockDefog, 0); - DEFOG_CLEAR(SIDE_STATUS_TOXIC_SPIKES, toxicSpikesAmount, BattleScript_ToxicSpikesDefog, 0); - DEFOG_CLEAR(SIDE_STATUS_STICKY_WEB, stickyWebAmount, BattleScript_StickyWebDefog, 0); - DEFOG_CLEAR(SIDE_STATUS_STEELSURGE, steelsurgeAmount, BattleScript_SteelsurgeDefog, 0); + if (B_DEFOG_EFFECT_CLEARING >= GEN_6) + { + gBattlerAttacker = i; // For correct battle string. Ally's / Foe's + DEFOG_CLEAR(SIDE_STATUS_SPIKES, spikesAmount, BattleScript_SpikesDefog, 0); + DEFOG_CLEAR(SIDE_STATUS_STEALTH_ROCK, stealthRockAmount, BattleScript_StealthRockDefog, 0); + DEFOG_CLEAR(SIDE_STATUS_TOXIC_SPIKES, toxicSpikesAmount, BattleScript_ToxicSpikesDefog, 0); + DEFOG_CLEAR(SIDE_STATUS_STICKY_WEB, stickyWebAmount, BattleScript_StickyWebDefog, 0); + DEFOG_CLEAR(SIDE_STATUS_STEELSURGE, steelsurgeAmount, BattleScript_SteelsurgeDefog, 0); + } if (gBattleWeather & B_WEATHER_FOG) { gBattleWeather &= ~B_WEATHER_FOG; @@ -8688,7 +8836,7 @@ static bool32 TryDefogClear(u32 battlerAtk, bool32 clear) gBattlescriptCurrInstr = BattleScript_FogEnded_Ret; return TRUE; } - if (B_DEFOG_CLEARS_TERRAIN >= GEN_8 && (gFieldStatuses & STATUS_FIELD_TERRAIN_ANY)) + if (B_DEFOG_EFFECT_CLEARING >= GEN_8 && (gFieldStatuses & STATUS_FIELD_TERRAIN_ANY)) { RemoveAllTerrains(); BattleScriptPushCursor(); @@ -8917,7 +9065,7 @@ static void HandleScriptMegaPrimalBurst(u32 caseId, u32 battler, u32 type) PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[battler].species); - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_SPECIES_BATTLE, gBitTable[gBattlerPartyIndexes[battler]], sizeof(gBattleMons[battler].species), &gBattleMons[battler].species); + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_SPECIES_BATTLE, 1u << gBattlerPartyIndexes[battler], sizeof(gBattleMons[battler].species), &gBattleMons[battler].species); MarkBattlerForControllerExec(battler); } // Update healthbox and elevation and play cry. @@ -9004,6 +9152,7 @@ static void Cmd_various(void) { // Roar will fail in a double wild battle when used by the player against one of the two alive wild mons. // Also when an opposing wild mon uses it againt its partner. + // Also when B_FLAG_NO_RUNNING is enabled. case VARIOUS_JUMP_IF_ROAR_FAILS: { VARIOUS_ARGS(const u8 *jumpInstr); @@ -9016,6 +9165,8 @@ static void Cmd_various(void) && GetBattlerSide(gBattlerAttacker) == B_SIDE_OPPONENT && GetBattlerSide(gBattlerTarget) == B_SIDE_OPPONENT) gBattlescriptCurrInstr = cmd->jumpInstr; + else if (FlagGet(B_FLAG_NO_RUNNING)) + gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; return; @@ -9246,9 +9397,9 @@ static void Cmd_various(void) // Raise stats for (i = STAT_ATK; i < NUM_BATTLE_STATS; i++) { - if (gBattleStruct->stolenStats[0] & gBitTable[i]) + if (gBattleStruct->stolenStats[0] & (1u << i)) { - gBattleStruct->stolenStats[0] &= ~(gBitTable[i]); + gBattleStruct->stolenStats[0] &= ~(1u << i); SET_STATCHANGER(i, gBattleStruct->stolenStats[i], FALSE); if (ChangeStatBuffs(GET_STAT_BUFF_VALUE_WITH_SIGN(gBattleScripting.statChanger), i, MOVE_EFFECT_CERTAIN | MOVE_EFFECT_AFFECTS_USER, NULL) == STAT_CHANGE_WORKED) { @@ -9273,7 +9424,7 @@ static void Cmd_various(void) for (i = STAT_ATK; i < NUM_BATTLE_STATS; i++) { if (CompareStat(battler, i, MAX_STAT_STAGE, CMP_LESS_THAN)) - bits |= gBitTable[i]; + bits |= 1u << i; } if (bits) { @@ -9281,7 +9432,7 @@ static void Cmd_various(void) do { statId = (Random() % (NUM_BATTLE_STATS - 1)) + 1; - } while (!(bits & gBitTable[statId])); + } while (!(bits & (1u << statId))); SET_STATCHANGER(statId, 2, FALSE); gBattlescriptCurrInstr = cmd->nextInstr; @@ -9369,12 +9520,12 @@ static void Cmd_various(void) // Try and print end-of-turn Battle Palace flavor text (e.g. "A glint appears in mon's eyes") gBattleCommunication[0] = FALSE; // whether or not msg should be printed gBattleScripting.battler = battler = gBattleCommunication[1]; - if (!(gBattleStruct->palaceFlags & gBitTable[battler]) + if (!(gBattleStruct->palaceFlags & (1u << battler)) && gBattleMons[battler].maxHP / 2 >= gBattleMons[battler].hp && IsBattlerAlive(battler) && !(gBattleMons[battler].status1 & STATUS1_SLEEP)) { - gBattleStruct->palaceFlags |= gBitTable[battler]; + gBattleStruct->palaceFlags |= 1u << battler; gBattleCommunication[0] = TRUE; gBattleCommunication[MULTISTRING_CHOOSER] = gNaturesInfo[GetNatureFromPersonality(gBattleMons[battler].personality)].battlePalaceFlavorText; } @@ -9399,7 +9550,7 @@ static void Cmd_various(void) VARIOUS_ARGS(); gBattleMons[1].hp = 0; gHitMarker |= HITMARKER_FAINTED(1); - gBattleStruct->arenaLostOpponentMons |= gBitTable[gBattlerPartyIndexes[1]]; + gBattleStruct->arenaLostOpponentMons |= 1u << gBattlerPartyIndexes[1]; gDisableStructs[1].truantSwitchInHack = 1; break; } @@ -9409,7 +9560,7 @@ static void Cmd_various(void) gBattleMons[0].hp = 0; gHitMarker |= HITMARKER_FAINTED(0); gHitMarker |= HITMARKER_PLAYER_FAINTED; - gBattleStruct->arenaLostPlayerMons |= gBitTable[gBattlerPartyIndexes[0]]; + gBattleStruct->arenaLostPlayerMons |= 1u << gBattlerPartyIndexes[0]; gDisableStructs[0].truantSwitchInHack = 1; break; } @@ -9421,8 +9572,8 @@ static void Cmd_various(void) gHitMarker |= HITMARKER_FAINTED(0); gHitMarker |= HITMARKER_FAINTED(1); gHitMarker |= HITMARKER_PLAYER_FAINTED; - gBattleStruct->arenaLostPlayerMons |= gBitTable[gBattlerPartyIndexes[0]]; - gBattleStruct->arenaLostOpponentMons |= gBitTable[gBattlerPartyIndexes[1]]; + gBattleStruct->arenaLostPlayerMons |= 1u << gBattlerPartyIndexes[0]; + gBattleStruct->arenaLostOpponentMons |= 1u << gBattlerPartyIndexes[1]; gDisableStructs[0].truantSwitchInHack = 1; gDisableStructs[1].truantSwitchInHack = 1; break; @@ -9507,7 +9658,7 @@ static void Cmd_various(void) case VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT: { VARIOUS_ARGS(); - gBattleStruct->alreadyStatusedMoveAttempt |= gBitTable[battler]; + gBattleStruct->alreadyStatusedMoveAttempt |= 1u << battler; break; } case VARIOUS_PALACE_TRY_ESCAPE_STATUS: @@ -9524,7 +9675,7 @@ static void Cmd_various(void) // and its partner is still alive. if (GetBattlerSide(battler) == B_SIDE_OPPONENT && IsBattlerAlive(BATTLE_PARTNER(battler))) { - gAbsentBattlerFlags |= gBitTable[battler]; + gAbsentBattlerFlags |= 1u << battler; gHitMarker |= HITMARKER_FAINTED(battler); gBattleMons[battler].hp = 0; SetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_HP, &gBattleMons[battler].hp); @@ -9888,10 +10039,7 @@ static void Cmd_various(void) case VARIOUS_HANDLE_FORM_CHANGE: { VARIOUS_ARGS(u8 case_); - if (GetBattlerSide(battler) == B_SIDE_OPPONENT) - mon = &gEnemyParty[gBattlerPartyIndexes[battler]]; - else - mon = &gPlayerParty[gBattlerPartyIndexes[battler]]; + mon = GetPartyBattlerData(battler); // Change species. if (cmd->case_ == 0) @@ -9900,7 +10048,7 @@ static void Cmd_various(void) if (!gBattleTextBuff1) PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[battler].species); */ - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_SPECIES_BATTLE, gBitTable[gBattlerPartyIndexes[battler]], sizeof(gBattleMons[battler].species), &gBattleMons[battler].species); + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_SPECIES_BATTLE, 1u << gBattlerPartyIndexes[battler], sizeof(gBattleMons[battler].species), &gBattleMons[battler].species); MarkBattlerForControllerExec(battler); } // Change stats. @@ -9987,7 +10135,7 @@ static void Cmd_various(void) case VARIOUS_ABILITY_POPUP: { VARIOUS_ARGS(); - CreateAbilityPopUp(battler, gBattleMons[battler].ability, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0); + CreateAbilityPopUp(battler, gBattleMons[battler].ability, (IsDoubleBattle()) != 0); break; } case VARIOUS_UPDATE_ABILITY_POPUP: @@ -10086,7 +10234,7 @@ static void Cmd_various(void) || gBattleMons[gBattlerTarget].item != ITEM_NONE || !CanBattlerGetOrLoseItem(gBattlerAttacker, gBattleMons[gBattlerAttacker].item) || !CanBattlerGetOrLoseItem(gBattlerTarget, gBattleMons[gBattlerAttacker].item) - || gWishFutureKnock.knockedOffMons[GetBattlerSide(gBattlerTarget)] & gBitTable[gBattlerPartyIndexes[gBattlerTarget]]) + || gWishFutureKnock.knockedOffMons[GetBattlerSide(gBattlerTarget)] & (1u << gBattlerPartyIndexes[gBattlerTarget])) { gBattlescriptCurrInstr = cmd->failInstr; } @@ -10113,7 +10261,6 @@ static void Cmd_various(void) { // Save sprite IDs, because trainer slide in will overwrite gBattlerSpriteIds variable. gBattleScripting.savedDmg = (gBattlerSpriteIds[battler] & 0xFF) | (gBattlerSpriteIds[BATTLE_PARTNER(battler)] << 8); - HideBattlerShadowSprite(battler); } else if (cmd->case_ == 1) { @@ -10181,7 +10328,7 @@ static void Cmd_various(void) gSideTimers[GetBattlerSide(battler)].auroraVeilTimer = 5; gSideTimers[GetBattlerSide(battler)].auroraVeilBattlerId = battler; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_SIDE, gBattlerAttacker) == 2) + if (IsDoubleBattle() && CountAliveMonsInBattle(BATTLE_ALIVE_SIDE, gBattlerAttacker) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = 5; else gBattleCommunication[MULTISTRING_CHOOSER] = 5; @@ -10331,7 +10478,7 @@ static void Cmd_various(void) ConvertIntToDecimalStringN(gBattleTextBuff2, ppToDeduct, STR_CONV_MODE_LEFT_ALIGN, 1); PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 1, ppToDeduct) gBattleMons[battler].pp[i] -= ppToDeduct; - if (!(gDisableStructs[battler].mimickedMoves & gBitTable[i]) + if (!(gDisableStructs[battler].mimickedMoves & (1u << i)) && !(gBattleMons[battler].status2 & STATUS2_TRANSFORMED)) { BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[battler].pp[i]), &gBattleMons[battler].pp[i]); @@ -10357,7 +10504,7 @@ static void Cmd_various(void) case VARIOUS_JUMP_IF_TEAM_HEALTHY: { VARIOUS_ARGS(const u8 *jumpInstr); - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsBattlerAlive(BATTLE_PARTNER(battler))) + if ((IsDoubleBattle()) && IsBattlerAlive(BATTLE_PARTNER(battler))) { u8 partner = BATTLE_PARTNER(battler); if ((gBattleMons[battler].hp == gBattleMons[battler].maxHP && !(gBattleMons[battler].status1 & STATUS1_ANY)) @@ -10389,12 +10536,6 @@ static void Cmd_various(void) gBattlescriptCurrInstr = cmd->nextInstr; // can heal return; } - case VARIOUS_REMOVE_TERRAIN: - { - VARIOUS_ARGS(); - RemoveAllTerrains(); - break; - } case VARIOUS_JUMP_IF_UNDER_200: { VARIOUS_ARGS(const u8 *jumpInstr); @@ -10570,9 +10711,9 @@ static void Cmd_various(void) if (gBattleMons[gBattlerAttacker].species == SPECIES_GRENINJA_BATTLE_BOND && HasAttackerFaintedTarget() && CalculateBattlerPartyCount(gBattlerTarget) > 1 - && !(gBattleStruct->battleBondTransformed[GetBattlerSide(gBattlerAttacker)] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]])) + && !(gBattleStruct->battleBondTransformed[GetBattlerSide(gBattlerAttacker)] & (1u << gBattlerPartyIndexes[gBattlerAttacker]))) { - gBattleStruct->battleBondTransformed[GetBattlerSide(gBattlerAttacker)] |= gBitTable[gBattlerPartyIndexes[gBattlerAttacker]]; + gBattleStruct->battleBondTransformed[GetBattlerSide(gBattlerAttacker)] |= 1u << gBattlerPartyIndexes[gBattlerAttacker]; PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerAttacker].species); gBattleStruct->changedSpecies[GetBattlerSide(gBattlerAttacker)][gBattlerPartyIndexes[gBattlerAttacker]] = gBattleMons[gBattlerAttacker].species; gBattleMons[gBattlerAttacker].species = SPECIES_GRENINJA_ASH; @@ -10594,7 +10735,7 @@ static void Cmd_various(void) if (cmd->fromBattler) gLastUsedItem = gBattleMons[battler].item; - gBattleStruct->ateBerry[battler & BIT_SIDE] |= gBitTable[gBattlerPartyIndexes[battler]]; + gBattleStruct->ateBerry[battler & BIT_SIDE] |= 1u << gBattlerPartyIndexes[battler]; gBattleScripting.battler = gEffectBattler = gBattlerTarget = battler; // Cover all berry effect battler cases. e.g. ChangeStatBuffs uses target ID if (ItemBattleEffects(ITEMEFFECT_USE_LAST_ITEM, battler, FALSE)) return; @@ -10712,17 +10853,6 @@ static void Cmd_various(void) } return; } - case VARIOUS_CAN_TAR_SHOT_WORK: - { - VARIOUS_ARGS(const u8 *failInstr); - // Tar Shot will fail if it's already been used on the target and its speed can't be lowered further - if (!gDisableStructs[battler].tarShot - && CompareStat(battler, STAT_SPEED, MAX_STAT_STAGE, CMP_LESS_THAN)) - gBattlescriptCurrInstr = cmd->nextInstr; - else - gBattlescriptCurrInstr = cmd->failInstr; - return; - } case VARIOUS_CURE_CERTAIN_STATUSES: { VARIOUS_ARGS(); @@ -10815,12 +10945,6 @@ static void Cmd_various(void) gBattleMons[battler].item = gLastUsedItem; break; } - case VARIOUS_SET_BEAK_BLAST: - { - VARIOUS_ARGS(); - gProtectStructs[battler].beakBlastCharge = TRUE; - break; - } case VARIOUS_SWAP_SIDE_STATUSES: { VARIOUS_ARGS(); @@ -10859,126 +10983,6 @@ static void Cmd_various(void) gBattlescriptCurrInstr = cmd->nextInstr; return; } - case VARIOUS_TEATIME_TARGETS: - { - VARIOUS_ARGS(const u8 *jumpInstr); - u32 count = 0; - - for (i = 0; i < gBattlersCount; i++) - { - if (IsTeatimeAffected(i)) - count++; - } - if (count == 0) - gBattlescriptCurrInstr = cmd->jumpInstr; // Teatime fails - else - gBattlescriptCurrInstr = cmd->nextInstr; - return; - } - case VARIOUS_TEATIME_INVUL: - { - VARIOUS_ARGS(const u8 *jumpInstr); - if (ItemId_GetPocket(gBattleMons[battler].item) == POCKET_BERRIES && !(gStatuses3[gBattlerTarget] & (STATUS3_SEMI_INVULNERABLE))) - gBattlescriptCurrInstr = cmd->nextInstr; - else - gBattlescriptCurrInstr = cmd->jumpInstr; - return; - } - case VARIOUS_TRY_WIND_RIDER_POWER: - { - VARIOUS_ARGS(const u8 *failInstr); - u16 ability = GetBattlerAbility(battler); - if (GetBattlerSide(battler) == GetBattlerSide(gBattlerAttacker) - && (ability == ABILITY_WIND_RIDER || ability == ABILITY_WIND_POWER)) - { - gLastUsedAbility = ability; - RecordAbilityBattle(battler, gLastUsedAbility); - gBattlerAbility = gBattleScripting.battler = battler; - gBattlescriptCurrInstr = cmd->nextInstr; - } - else - { - gBattlescriptCurrInstr = cmd->failInstr; - } - return; - } - case VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES: - { - VARIOUS_ARGS(); - gBattlescriptCurrInstr = cmd->nextInstr; - AbilityBattleEffects(ABILITYEFFECT_ON_WEATHER, battler, 0, 0, 0); - return; - } - case VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES: - { - VARIOUS_ARGS(); - gBattlescriptCurrInstr = cmd->nextInstr; - AbilityBattleEffects(ABILITYEFFECT_ON_TERRAIN, battler, 0, 0, 0); - return; - } - case VARIOUS_STORE_HEALING_WISH: - { - VARIOUS_ARGS(); - if (gCurrentMove == MOVE_LUNAR_DANCE) - gBattleStruct->storedLunarDance |= gBitTable[battler]; - else - gBattleStruct->storedHealingWish |= gBitTable[battler]; - break; - } - case VARIOUS_HIT_SWITCH_TARGET_FAILED: - { - VARIOUS_ARGS(); - gBattleStruct->hitSwitchTargetFailed = TRUE; - gBattlescriptCurrInstr = cmd->nextInstr; - return; - } - case VARIOUS_TRY_REVIVAL_BLESSING: - { - VARIOUS_ARGS(const u8 *failInstr); - u32 side = GetBattlerSide(gBattlerAttacker); - u8 index = GetFirstFaintedPartyIndex(gBattlerAttacker); - - // Move fails if there are no battlers to revive. - if (index == PARTY_SIZE) - { - gBattlescriptCurrInstr = cmd->failInstr; - return; - } - - // Battler selected! Revive and go to next instruction. - if (gSelectedMonPartyId != PARTY_SIZE) - { - struct Pokemon *party = GetSideParty(side); - - u16 hp = GetMonData(&party[gSelectedMonPartyId], MON_DATA_MAX_HP) / 2; - BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_HP_BATTLE, gBitTable[gSelectedMonPartyId], sizeof(hp), &hp); - MarkBattlerForControllerExec(gBattlerAttacker); - PREPARE_SPECIES_BUFFER(gBattleTextBuff1, GetMonData(&party[gSelectedMonPartyId], MON_DATA_SPECIES)); - - // If an on-field battler is revived, it needs to be sent out again. - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && - gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerAttacker)] == gSelectedMonPartyId) - { - i = BATTLE_PARTNER(gBattlerAttacker); - gAbsentBattlerFlags &= ~(1u << i); - gBattleStruct->monToSwitchIntoId[i] = gSelectedMonPartyId; - gBattleScripting.battler = i; - gBattleCommunication[MULTIUSE_STATE] = TRUE; - } - - gSelectedMonPartyId = PARTY_SIZE; - gBattlescriptCurrInstr = cmd->nextInstr; - return; - } - - // Open party menu, wait to go to next instruction. - else - { - BtlController_EmitChoosePokemon(gBattlerAttacker, BUFFER_A, PARTY_ACTION_CHOOSE_FAINTED_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gBattlerAttacker]); - MarkBattlerForControllerExec(gBattlerAttacker); - } - return; - } } // End of switch (cmd->id) gBattlescriptCurrInstr = cmd->nextInstr; @@ -11278,7 +11282,7 @@ static void Cmd_setreflect(void) gSideTimers[GetBattlerSide(gBattlerAttacker)].reflectTimer = 5; gSideTimers[GetBattlerSide(gBattlerAttacker)].reflectBattlerId = gBattlerAttacker; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_SIDE, gBattlerAttacker) == 2) + if (IsDoubleBattle() && CountAliveMonsInBattle(BATTLE_ALIVE_SIDE, gBattlerAttacker) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_REFLECT_DOUBLE; else gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_REFLECT_SINGLE; @@ -11347,12 +11351,12 @@ static void Cmd_manipulatedamage(void) case DMG_FULL_ATTACKER_HP: gBattleMoveDamage = GetNonDynamaxMaxHP(gBattlerAttacker); break; - case DMG_CURR_ATTACKER_HP: - gBattleMoveDamage = GetNonDynamaxHP(gBattlerAttacker); - break; case DMG_BIG_ROOT: gBattleMoveDamage = GetDrainedBigRootHp(gBattlerAttacker, gBattleMoveDamage); break; + case DMG_CURR_ATTACKER_HP: + gBattleMoveDamage = GetNonDynamaxHP(gBattlerAttacker); + break; case DMG_RECOIL_FROM_IMMUNE: gBattleMoveDamage = GetNonDynamaxMaxHP(gBattlerTarget) / 2; break; @@ -11425,10 +11429,11 @@ static void Cmd_setmiracleeye(void) bool8 UproarWakeUpCheck(u8 battler) { s32 i; + bool32 hasSoundproof = (B_UPROAR_IGNORE_SOUNDPROOF < GEN_5 && GetBattlerAbility(battler) == ABILITY_SOUNDPROOF); for (i = 0; i < gBattlersCount; i++) { - if (!(gBattleMons[i].status2 & STATUS2_UPROAR) || (GetBattlerAbility(battler) == ABILITY_SOUNDPROOF && B_UPROAR_IGNORE_SOUNDPROOF < GEN_5)) + if (!(gBattleMons[i].status2 & STATUS2_UPROAR) || hasSoundproof) continue; gBattleScripting.battler = i; @@ -12125,7 +12130,7 @@ static void Cmd_forcerandomswitch(void) battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; battler1PartyId = gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerTarget)]; } - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + else if (IsDoubleBattle()) { firstMonId = 0; lastMonId = PARTY_SIZE; @@ -12160,7 +12165,7 @@ static void Cmd_forcerandomswitch(void) { *(gBattleStruct->battlerPartyIndexes + gBattlerTarget) = gBattlerPartyIndexes[gBattlerTarget]; gBattlescriptCurrInstr = BattleScript_RoarSuccessSwitch; - gBattleStruct->forcedSwitch |= gBitTable[gBattlerTarget]; + gBattleStruct->forcedSwitch |= 1u << gBattlerTarget; *(gBattleStruct->monToSwitchIntoId + gBattlerTarget) = validMons[RandomUniform(RNG_FORCE_RANDOM_SWITCH, 0, validMonsCount - 1)]; if (!IsMultiBattle()) @@ -12323,7 +12328,7 @@ static void Cmd_setlightscreen(void) gSideTimers[GetBattlerSide(gBattlerAttacker)].lightscreenTimer = 5; gSideTimers[GetBattlerSide(gBattlerAttacker)].lightscreenBattlerId = gBattlerAttacker; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_SIDE, gBattlerAttacker) == 2) + if (IsDoubleBattle() && CountAliveMonsInBattle(BATTLE_ALIVE_SIDE, gBattlerAttacker) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_LIGHTSCREEN_DOUBLE; else gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_LIGHTSCREEN_SINGLE; @@ -12478,25 +12483,30 @@ static void Cmd_updatestatusicon(void) if (gBattleControllerExecFlags) return; - if (cmd->battler != BS_ATTACKER_WITH_PARTNER) + if (cmd->battler == BS_PLAYER2) { - battler = GetBattlerForBattleScript(cmd->battler); - BtlController_EmitStatusIconUpdate(battler, BUFFER_A, gBattleMons[battler].status1, gBattleMons[battler].status2); - MarkBattlerForControllerExec(battler); + for (battler = gBattleControllerExecFlags; battler < gBattlersCount; battler++) + { + if (!(gAbsentBattlerFlags & (1u << battler))) + { + BtlController_EmitStatusIconUpdate(battler, BUFFER_A, gBattleMons[battler].status1, gBattleMons[battler].status2); + MarkBattlerForControllerExec(battler); + } + } gBattlescriptCurrInstr = cmd->nextInstr; } - else + else if (cmd->battler == BS_ATTACKER_WITH_PARTNER) { battler = gBattlerAttacker; - if (!(gAbsentBattlerFlags & gBitTable[battler])) + if (!(gAbsentBattlerFlags & (1u << battler))) { BtlController_EmitStatusIconUpdate(battler, BUFFER_A, gBattleMons[battler].status1, gBattleMons[battler].status2); MarkBattlerForControllerExec(battler); } - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if ((IsDoubleBattle())) { battler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); - if (!(gAbsentBattlerFlags & gBitTable[battler])) + if (!(gAbsentBattlerFlags & (1u << battler))) { BtlController_EmitStatusIconUpdate(battler, BUFFER_A, gBattleMons[battler].status1, gBattleMons[battler].status2); MarkBattlerForControllerExec(battler); @@ -12504,6 +12514,13 @@ static void Cmd_updatestatusicon(void) } gBattlescriptCurrInstr = cmd->nextInstr; } + else + { + battler = GetBattlerForBattleScript(cmd->battler); + BtlController_EmitStatusIconUpdate(battler, BUFFER_A, gBattleMons[battler].status1, gBattleMons[battler].status2); + MarkBattlerForControllerExec(battler); + gBattlescriptCurrInstr = cmd->nextInstr; + } } static void Cmd_setmist(void) @@ -12530,8 +12547,8 @@ static void Cmd_setfocusenergy(void) CMD_ARGS(u8 battler); u8 battler = GetBattlerForBattleScript(cmd->battler); - if ((gMovesInfo[gCurrentMove].effect == EFFECT_DRAGON_CHEER && (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE) || (gAbsentBattlerFlags & gBitTable[battler]))) - || gBattleMons[battler].status2 & STATUS2_FOCUS_ENERGY_ANY) + if ((gMovesInfo[gCurrentMove].effect == EFFECT_DRAGON_CHEER && (!(IsDoubleBattle()) || (gAbsentBattlerFlags & (1u << battler)))) + || gBattleMons[battler].status2 & STATUS2_FOCUS_ENERGY_ANY) { gMoveResultFlags |= MOVE_RESULT_FAILED; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_FOCUS_ENERGY_FAILED; @@ -12557,7 +12574,7 @@ static void Cmd_transformdataexecution(void) gBattlescriptCurrInstr = cmd->nextInstr; if (gBattleMons[gBattlerTarget].status2 & STATUS2_TRANSFORMED || gBattleStruct->illusion[gBattlerTarget].on - || gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE) + || gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE_NO_COMMANDER) { gMoveResultFlags |= MOVE_RESULT_FAILED; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_TRANSFORM_FAILED; @@ -12674,7 +12691,7 @@ static void Cmd_mimicattackcopy(void) PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastMoves[gBattlerTarget]) - gDisableStructs[gBattlerAttacker].mimickedMoves |= gBitTable[gCurrMovePos]; + gDisableStructs[gBattlerAttacker].mimickedMoves |= 1u << gCurrMovePos; gBattlescriptCurrInstr = cmd->nextInstr; } else @@ -12715,8 +12732,8 @@ static void Cmd_metronome(void) #endif gCurrentMove = RandomUniformExcept(RNG_METRONOME, 1, moveCount - 1, InvalidMetronomeMove); - gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED; SetAtkCancellerForCalledMove(); + PrepareStringBattle(STRINGID_WAGGLINGAFINGER, gBattlerAttacker); gBattlescriptCurrInstr = GET_MOVE_BATTLESCRIPT(gCurrentMove); gBattlerTarget = GetMoveTarget(gCurrentMove, NO_TARGET_OVERRIDE); } @@ -12934,7 +12951,7 @@ static void Cmd_settypetorandomresistance(void) { case UQ_4_12(0): case UQ_4_12(0.5): - resistTypes |= gBitTable[i]; + resistTypes |= 1u << i; break; } } @@ -12942,11 +12959,11 @@ static void Cmd_settypetorandomresistance(void) while (resistTypes != 0) { i = Random() % NUMBER_OF_MON_TYPES; - if (resistTypes & gBitTable[i]) + if (resistTypes & 1u << i) { if (IS_BATTLER_OF_TYPE(gBattlerAttacker, i)) { - resistTypes &= ~(gBitTable[i]); // Type resists, but the user is already of this type. + resistTypes &= ~(1u << i); // Type resists, but the user is already of this type. } else { @@ -12991,7 +13008,7 @@ static void Cmd_settypetorandomresistance(void) { case UQ_4_12(0): case UQ_4_12(0.5): - resistTypes |= gBitTable[i]; + resistTypes |= 1u << i; break; } } @@ -12999,11 +13016,11 @@ static void Cmd_settypetorandomresistance(void) while (resistTypes != 0) { i = Random() % NUMBER_OF_MON_TYPES; - if (resistTypes & gBitTable[i]) + if (resistTypes & 1u << i) { if (IS_BATTLER_OF_TYPE(gBattlerAttacker, i)) { - resistTypes &= ~(gBitTable[i]); // Type resists, but the user is already of this type. + resistTypes &= ~(1u << i); // Type resists, but the user is already of this type. } else { @@ -13094,7 +13111,7 @@ static void Cmd_trychoosesleeptalkmove(void) if (gMovesInfo[gBattleMons[gBattlerAttacker].moves[i]].sleepTalkBanned || gBattleMoveEffects[gMovesInfo[gBattleMons[gBattlerAttacker].moves[i]].effect].twoTurnEffect) { - unusableMovesBits |= gBitTable[i]; + unusableMovesBits |= (1 << (i)); } } @@ -13106,11 +13123,11 @@ static void Cmd_trychoosesleeptalkmove(void) else // at least one move can be chosen { // Set Sleep Talk as used move, so it works with Last Resort. - gDisableStructs[gBattlerAttacker].usedMoves |= gBitTable[gCurrMovePos]; + gDisableStructs[gBattlerAttacker].usedMoves |= 1u << gCurrMovePos; do { movePosition = MOD(Random(), MAX_MON_MOVES); - } while ((gBitTable[movePosition] & unusableMovesBits)); + } while ((1u << movePosition) & unusableMovesBits); if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_Z_MOVE && !IS_MOVE_STATUS(gBattleMons[gBattlerAttacker].moves[movePosition])) { @@ -13221,7 +13238,7 @@ static void Cmd_tryspiteppreduce(void) gBattleMons[gBattlerTarget].pp[i] -= ppToDeduct; // if (MOVE_IS_PERMANENT(gBattlerTarget, i)), but backwards - if (!(gDisableStructs[gBattlerTarget].mimickedMoves & gBitTable[i]) + if (!(gDisableStructs[gBattlerTarget].mimickedMoves & (1u << i)) && !(gBattleMons[gBattlerTarget].status2 & STATUS2_TRANSFORMED)) { BtlController_EmitSetMonData(gBattlerTarget, BUFFER_A, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[gBattlerTarget].pp[i]), &gBattleMons[gBattlerTarget].pp[i]); @@ -13335,8 +13352,8 @@ static void Cmd_healpartystatus(void) gBattleMons[gBattlerAttacker].status1 = 0; gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_NIGHTMARE; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && !(gAbsentBattlerFlags & gBitTable[partner])) + if (IsDoubleBattle() + && !(gAbsentBattlerFlags & (1u <failInstr; } @@ -14715,7 +14733,7 @@ static void Cmd_switchoutabilities(void) case ABILITY_NATURAL_CURE: gBattleMons[battler].status1 = 0; BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, - gBitTable[*(gBattleStruct->battlerPartyIndexes + battler)], + 1u << *(gBattleStruct->battlerPartyIndexes + battler), sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); @@ -14726,7 +14744,7 @@ static void Cmd_switchoutabilities(void) if (gBattleMoveDamage > gBattleMons[battler].maxHP) gBattleMoveDamage = gBattleMons[battler].maxHP; BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_HP_BATTLE, - gBitTable[*(gBattleStruct->battlerPartyIndexes + battler)], + 1u << *(gBattleStruct->battlerPartyIndexes + battler), sizeof(gBattleMoveDamage), &gBattleMoveDamage); MarkBattlerForControllerExec(battler); @@ -15013,8 +15031,8 @@ static void Cmd_pursuitdoubles(void) u32 battler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && !(gAbsentBattlerFlags & gBitTable[battler]) + if (IsDoubleBattle() + && !(gAbsentBattlerFlags & (1u << battler)) && gChosenActionByBattler[battler] == B_ACTION_USE_MOVE && gMovesInfo[gChosenMoveByBattler[battler]].effect == EFFECT_PURSUIT) { @@ -15122,10 +15140,10 @@ static void Cmd_handleballthrow(void) else { u32 odds, i; - u8 catchRate; + u32 catchRate; + u32 ballId = ItemIdToBallId(gLastUsedItem); - gLastThrownBall = gLastUsedItem; - gBallToDisplay = gLastThrownBall; + gBallToDisplay = gLastThrownBall = gLastUsedItem; if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) catchRate = gBattleStruct->safariCatchFactor * 1275 / 100; else @@ -15133,39 +15151,39 @@ static void Cmd_handleballthrow(void) if (gSpeciesInfo[gBattleMons[gBattlerTarget].species].isUltraBeast) { - if (gLastUsedItem == ITEM_BEAST_BALL) + if (ballId == BALL_BEAST) ballMultiplier = 500; else ballMultiplier = 10; } else { - switch (gLastUsedItem) + switch (ballId) { - case ITEM_ULTRA_BALL: + case BALL_ULTRA: ballMultiplier = 200; break; - case ITEM_SPORT_BALL: + case BALL_SPORT: if (B_SPORT_BALL_MODIFIER <= GEN_7) ballMultiplier = 150; break; - case ITEM_GREAT_BALL: + case BALL_GREAT: ballMultiplier = 150; break; - case ITEM_SAFARI_BALL: + case BALL_SAFARI: if (B_SAFARI_BALL_MODIFIER <= GEN_7) ballMultiplier = 150; break; - case ITEM_NET_BALL: + case BALL_NET: if (IS_BATTLER_OF_TYPE(gBattlerTarget, TYPE_WATER) || IS_BATTLER_OF_TYPE(gBattlerTarget, TYPE_BUG)) ballMultiplier = B_NET_BALL_MODIFIER >= GEN_7 ? 350 : 300; break; - case ITEM_DIVE_BALL: + case BALL_DIVE: if (GetCurrentMapType() == MAP_TYPE_UNDERWATER || (B_DIVE_BALL_MODIFIER >= GEN_4 && (gIsFishingEncounter || gIsSurfingEncounter))) ballMultiplier = 350; break; - case ITEM_NEST_BALL: + case BALL_NEST: if (B_NEST_BALL_MODIFIER >= GEN_6) { //((41 - Pokémon's level) ÷ 10)× if Pokémon's level is between 1 and 29, 1× otherwise. @@ -15186,25 +15204,25 @@ static void Cmd_handleballthrow(void) ballMultiplier = 100; } break; - case ITEM_REPEAT_BALL: + case BALL_REPEAT: if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBattlerTarget].species), FLAG_GET_CAUGHT)) ballMultiplier = (B_REPEAT_BALL_MODIFIER >= GEN_7 ? 350 : 300); break; - case ITEM_TIMER_BALL: + case BALL_TIMER: ballMultiplier = 100 + (gBattleResults.battleTurnCounter * (B_TIMER_BALL_MODIFIER >= GEN_5 ? 30 : 10)); if (ballMultiplier > 400) ballMultiplier = 400; break; - case ITEM_DUSK_BALL: + case BALL_DUSK: i = GetTimeOfDay(); if (i == TIME_EVENING || i == TIME_NIGHT || gMapHeader.cave || gMapHeader.mapType == MAP_TYPE_UNDERGROUND) ballMultiplier = (B_DUSK_BALL_MODIFIER >= GEN_7 ? 300 : 350); break; - case ITEM_QUICK_BALL: + case BALL_QUICK: if (gBattleResults.battleTurnCounter == 0) ballMultiplier = (B_QUICK_BALL_MODIFIER >= GEN_5 ? 500 : 400); break; - case ITEM_LEVEL_BALL: + case BALL_LEVEL: if (gBattleMons[gBattlerAttacker].level >= 4 * gBattleMons[gBattlerTarget].level) ballMultiplier = 800; else if (gBattleMons[gBattlerAttacker].level > 2 * gBattleMons[gBattlerTarget].level) @@ -15212,7 +15230,7 @@ static void Cmd_handleballthrow(void) else if (gBattleMons[gBattlerAttacker].level > gBattleMons[gBattlerTarget].level) ballMultiplier = 200; break; - case ITEM_LURE_BALL: + case BALL_LURE: if (gIsFishingEncounter) { if (B_LURE_BALL_MODIFIER >= GEN_8) @@ -15223,7 +15241,7 @@ static void Cmd_handleballthrow(void) ballMultiplier = 300; } break; - case ITEM_MOON_BALL: + case BALL_MOON: { const struct Evolution *evolutions = GetSpeciesEvolutions(gBattleMons[gBattlerTarget].species); if (evolutions == NULL) @@ -15236,7 +15254,7 @@ static void Cmd_handleballthrow(void) } } break; - case ITEM_LOVE_BALL: + case BALL_LOVE: if (gBattleMons[gBattlerTarget].species == gBattleMons[gBattlerAttacker].species) { u8 gender1 = GetMonGender(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]]); @@ -15246,11 +15264,11 @@ static void Cmd_handleballthrow(void) ballMultiplier = 800; } break; - case ITEM_FAST_BALL: + case BALL_FAST: if (gSpeciesInfo[gBattleMons[gBattlerTarget].species].baseSpeed >= 100) ballMultiplier = 400; break; - case ITEM_HEAVY_BALL: + case BALL_HEAVY: i = GetSpeciesWeight(gBattleMons[gBattlerTarget].species); if (B_HEAVY_BALL_MODIFIER >= GEN_7) { @@ -15288,11 +15306,11 @@ static void Cmd_handleballthrow(void) ballAddition = 40; } break; - case ITEM_DREAM_BALL: + case BALL_DREAM: if (B_DREAM_BALL_MODIFIER >= GEN_8 && (gBattleMons[gBattlerTarget].status1 & STATUS1_SLEEP || GetBattlerAbility(gBattlerTarget) == ABILITY_COMATOSE)) ballMultiplier = 400; break; - case ITEM_BEAST_BALL: + case BALL_BEAST: ballMultiplier = 10; break; } @@ -15313,8 +15331,8 @@ static void Cmd_handleballthrow(void) if (gBattleMons[gBattlerTarget].status1 & (STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON | STATUS1_FROSTBITE)) odds = (odds * 15) / 10; - if (gBattleResults.catchAttempts[gLastUsedItem - FIRST_BALL] < 255) - gBattleResults.catchAttempts[gLastUsedItem - FIRST_BALL]++; + if (gBattleResults.catchAttempts[ballId] < 255) + gBattleResults.catchAttempts[ballId]++; if (odds > 254) // mon caught { @@ -15322,14 +15340,14 @@ static void Cmd_handleballthrow(void) MarkBattlerForControllerExec(gBattlerAttacker); TryBattleFormChange(gBattlerTarget, FORM_CHANGE_END_BATTLE); gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; - SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &gLastUsedItem); + SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &ballId); if (CalculatePlayerPartyCount() == PARTY_SIZE) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else gBattleCommunication[MULTISTRING_CHOOSER] = 1; - if (gLastUsedItem == ITEM_HEAL_BALL) + if (gLastUsedItem == BALL_HEAL) { MonRestorePP(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]]); HealStatusConditions(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], STATUS1_ANY, gBattlerTarget); @@ -15355,7 +15373,7 @@ static void Cmd_handleballthrow(void) maxShakes = BALL_3_SHAKES_SUCCESS; } - if (gLastUsedItem == ITEM_MASTER_BALL) + if (ballId == BALL_MASTER) { shakes = maxShakes; } @@ -15376,14 +15394,14 @@ static void Cmd_handleballthrow(void) TryBattleFormChange(gBattlerTarget, FORM_CHANGE_END_BATTLE); gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; - SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &gLastUsedItem); + SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &ballId); if (CalculatePlayerPartyCount() == PARTY_SIZE) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else gBattleCommunication[MULTISTRING_CHOOSER] = 1; - if (gLastUsedItem == ITEM_HEAL_BALL) + if (ballId == BALL_HEAL) { MonRestorePP(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]]); HealStatusConditions(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], STATUS1_ANY, gBattlerTarget); @@ -15705,8 +15723,8 @@ static const u16 sTelekinesisBanList[] = { SPECIES_DIGLETT, SPECIES_DUGTRIO, - SPECIES_DIGLETT_ALOLAN, - SPECIES_DUGTRIO_ALOLAN, + SPECIES_DIGLETT_ALOLA, + SPECIES_DUGTRIO_ALOLA, SPECIES_SANDYGAST, SPECIES_PALOSSAND, SPECIES_GENGAR_MEGA, @@ -15827,7 +15845,7 @@ static void Cmd_callnative(void) // Callnative Funcs -static void SaveBattlerTarget(u32 battler) +void SaveBattlerTarget(u32 battler) { if (gBattleStruct->savedTargetCount < NELEMS(gBattleStruct->savedBattlerTarget)) gBattleStruct->savedBattlerTarget[gBattleStruct->savedTargetCount++] = battler; @@ -15835,7 +15853,7 @@ static void SaveBattlerTarget(u32 battler) DebugPrintfLevel(MGBA_LOG_WARN, "Attempting to exceed savedBattlerTarget array size!"); } -static void SaveBattlerAttacker(u32 battler) +void SaveBattlerAttacker(u32 battler) { if (gBattleStruct->savedAttackerCount < NELEMS(gBattleStruct->savedBattlerAttacker)) gBattleStruct->savedBattlerAttacker[gBattleStruct->savedAttackerCount++] = battler; @@ -16021,7 +16039,7 @@ bool32 IsMoveAffectedByParentalBond(u32 move, u32 battler) && gMovesInfo[move].strikeCount < 2 && gMovesInfo[move].effect != EFFECT_MULTI_HIT) { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { switch (GetBattlerMoveTargetType(battler, move)) { @@ -16138,7 +16156,7 @@ void BS_SetZEffect(void) static void TryUpdateRoundTurnOrder(void) { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { u32 i; u32 j = 0; @@ -16274,8 +16292,7 @@ void BS_ItemRestoreHP(void) // Check if the recipient is an active battler. if (gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[gBattlerAttacker]) battler = gBattlerAttacker; - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerAttacker)]) + else if (IsDoubleBattle() && gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerAttacker)]) battler = BATTLE_PARTNER(gBattlerAttacker); // Get amount to heal. @@ -16312,9 +16329,9 @@ void BS_ItemRestoreHP(void) SetMonData(&party[gBattleStruct->itemPartyIndex[gBattlerAttacker]], MON_DATA_HP, &hp); // Revived battlers on the field need to be brought back. - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && battler != MAX_BATTLERS_COUNT) + if (IsDoubleBattle() && battler != MAX_BATTLERS_COUNT) { - gAbsentBattlerFlags &= ~gBitTable[battler]; + gAbsentBattlerFlags &= ~(1u << battler); gBattleMons[battler].hp = hp; gBattleCommunication[MULTIUSE_STATE] = TRUE; } @@ -16338,7 +16355,7 @@ void BS_ItemCureStatus(void) previousStatus2 = gBattleMons[battler].status2; gBattleMons[gBattlerAttacker].status2 &= ~GetItemStatus2Mask(gLastUsedItem); } - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE + else if (IsDoubleBattle() && gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerAttacker)]) { battler = BATTLE_PARTNER(gBattlerAttacker); @@ -16403,7 +16420,7 @@ void BS_ItemRestorePP(void) // Check if the recipient is an active battler. if (gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[gBattlerAttacker]) battler = gBattlerAttacker; - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE + else if (IsDoubleBattle() && gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerAttacker)]) battler = BATTLE_PARTNER(gBattlerAttacker); @@ -16734,7 +16751,7 @@ void BS_SetPledge(void) gBattleCommunication[MSG_DISPLAY] = 0; } else if ((gChosenActionByBattler[partner] == B_ACTION_USE_MOVE) - && gBattleTypeFlags & BATTLE_TYPE_DOUBLE + && IsDoubleBattle() && IsBattlerAlive(partner) && GetBattlerTurnOrderNum(gBattlerAttacker) < GetBattlerTurnOrderNum(partner) && !(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) @@ -17263,6 +17280,17 @@ void BS_TryTarShot(void) } } +void BS_CanTarShotWork(void) +{ + NATIVE_ARGS(const u8 *failInstr); + // Tar Shot will fail if it's already been used on the target and its speed can't be lowered further + if (!gDisableStructs[gBattlerTarget].tarShot + && CompareStat(gBattlerTarget, STAT_SPEED, MAX_STAT_STAGE, CMP_LESS_THAN)) + gBattlescriptCurrInstr = cmd->nextInstr; + else + gBattlescriptCurrInstr = cmd->failInstr; +} + void BS_JumpIfBlockedBySoundproof(void) { NATIVE_ARGS(u8 battler, const u8 *jumpInstr); @@ -17314,3 +17342,217 @@ void BS_SetMagicCoatTarget(void) gBattlescriptCurrInstr = cmd->nextInstr; } + +void BS_TeatimeInvul(void) +{ + NATIVE_ARGS(u8 battler, const u8 *jumpInstr); + + u32 battler = GetBattlerForBattleScript(cmd->battler); + if (ItemId_GetPocket(gBattleMons[battler].item) == POCKET_BERRIES && !(gStatuses3[gBattlerTarget] & (STATUS3_SEMI_INVULNERABLE))) + gBattlescriptCurrInstr = cmd->nextInstr; + else + gBattlescriptCurrInstr = cmd->jumpInstr; +} + +void BS_TeatimeTargets(void) +{ + NATIVE_ARGS(const u8 *failInstr); + u32 count = 0, i; + + for (i = 0; i < gBattlersCount; i++) + { + if (IsTeatimeAffected(i)) + count++; + } + if (count == 0) + gBattlescriptCurrInstr = cmd->failInstr; + else + gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_TryWindRiderPower(void) +{ + NATIVE_ARGS(u8 battler, const u8 *failInstr); + + u32 battler = GetBattlerForBattleScript(cmd->battler); + u16 ability = GetBattlerAbility(battler); + if (GetBattlerSide(battler) == GetBattlerSide(gBattlerAttacker) + && (ability == ABILITY_WIND_RIDER || ability == ABILITY_WIND_POWER)) + { + gLastUsedAbility = ability; + RecordAbilityBattle(battler, gLastUsedAbility); + gBattlerAbility = gBattleScripting.battler = battler; + gBattlescriptCurrInstr = cmd->nextInstr; + } + else + { + gBattlescriptCurrInstr = cmd->failInstr; + } +} + +void BS_ActivateWeatherChangeAbilities(void) +{ + NATIVE_ARGS(u8 battler); + + u32 battler = GetBattlerForBattleScript(cmd->battler); + gBattlescriptCurrInstr = cmd->nextInstr; + AbilityBattleEffects(ABILITYEFFECT_ON_WEATHER, battler, 0, 0, 0); +} + +void BS_ActivateTerrainChangeAbilities(void) +{ + NATIVE_ARGS(u8 battler); + + u32 battler = GetBattlerForBattleScript(cmd->battler); + gBattlescriptCurrInstr = cmd->nextInstr; + AbilityBattleEffects(ABILITYEFFECT_ON_TERRAIN, battler, 0, 0, 0); +} + +void BS_StoreHealingWish(void) +{ + NATIVE_ARGS(u8 battler); + + u32 battler = GetBattlerForBattleScript(cmd->battler); + if (gCurrentMove == MOVE_LUNAR_DANCE) + gBattleStruct->storedLunarDance |= 1u << battler; + else + gBattleStruct->storedHealingWish |= 1u << battler; + gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_HitSwitchTargetFailed(void) +{ + NATIVE_ARGS(); + gBattleStruct->hitSwitchTargetFailed = TRUE; + gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_TryRevivalBlessing(void) +{ + NATIVE_ARGS(const u8 *failInstr); + u32 side = GetBattlerSide(gBattlerAttacker); + u8 index = GetFirstFaintedPartyIndex(gBattlerAttacker); + + // Move fails if there are no battlers to revive. + if (index == PARTY_SIZE) + { + gBattlescriptCurrInstr = cmd->failInstr; + return; + } + + // Battler selected! Revive and go to next instruction. + if (gSelectedMonPartyId != PARTY_SIZE) + { + struct Pokemon *party = GetSideParty(side); + + u16 hp = GetMonData(&party[gSelectedMonPartyId], MON_DATA_MAX_HP) / 2; + BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_HP_BATTLE, 1u << gSelectedMonPartyId, sizeof(hp), &hp); + MarkBattlerForControllerExec(gBattlerAttacker); + PREPARE_SPECIES_BUFFER(gBattleTextBuff1, GetMonData(&party[gSelectedMonPartyId], MON_DATA_SPECIES)); + + // If an on-field battler is revived, it needs to be sent out again. + if (IsDoubleBattle() && + gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerAttacker)] == gSelectedMonPartyId) + { + u32 i = BATTLE_PARTNER(gBattlerAttacker); + gAbsentBattlerFlags &= ~(1u << i); + gBattleStruct->monToSwitchIntoId[i] = gSelectedMonPartyId; + gBattleScripting.battler = i; + gBattleCommunication[MULTIUSE_STATE] = TRUE; + } + + gSelectedMonPartyId = PARTY_SIZE; + gBattlescriptCurrInstr = cmd->nextInstr; + } + else + { + // Open party menu, wait to go to next instruction. + BtlController_EmitChoosePokemon(gBattlerAttacker, BUFFER_A, PARTY_ACTION_CHOOSE_FAINTED_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gBattlerAttacker]); + MarkBattlerForControllerExec(gBattlerAttacker); + } +} + +void BS_JumpIfCommanderActive(void) +{ + NATIVE_ARGS(const u8 *jumpInstr); + + if (gBattleStruct->commanderActive[gBattlerTarget] != SPECIES_NONE) + gBattlescriptCurrInstr = cmd->jumpInstr; + else if (gStatuses3[gBattlerTarget] & STATUS3_COMMANDER) + gBattlescriptCurrInstr = cmd->jumpInstr; + else + gBattlescriptCurrInstr = cmd->nextInstr; +} + +static void UpdatePokeFlutePartyStatus(struct Pokemon* party, u8 position) +{ + s32 i; + u8 battler; + u32 monToCheck, status; + u16 species, abilityNum; + monToCheck = 0; + for (i = 0; i < PARTY_SIZE; i++) + { + species = GetMonData(&party[i], MON_DATA_SPECIES_OR_EGG); + abilityNum = GetMonData(&party[i], MON_DATA_ABILITY_NUM); + status = GetMonData(&party[i], MON_DATA_STATUS); + if (species != SPECIES_NONE + && species != SPECIES_EGG + && status & AILMENT_FNT + && GetAbilityBySpecies(species, abilityNum) != ABILITY_SOUNDPROOF) + monToCheck |= (1 << i); + } + if (monToCheck) + { + battler = GetBattlerAtPosition(position); + status = 0; + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, monToCheck, 4, &status); + MarkBattlerForControllerExec(battler); + gBattleCommunication[MULTISTRING_CHOOSER] = 1; + } +} + +void BS_CheckPokeFlute(void) +{ + NATIVE_ARGS(); + gBattleCommunication[MULTISTRING_CHOOSER] = 0; + + s32 i; + for (i = 0; i < gBattlersCount; i++) + { + if (GetBattlerAbility(i) != ABILITY_SOUNDPROOF) + { + gBattleMons[i].status1 &= ~STATUS1_SLEEP; + gBattleMons[i].status2 &= ~STATUS2_NIGHTMARE; + } + } + + UpdatePokeFlutePartyStatus(gPlayerParty, B_POSITION_PLAYER_LEFT); + UpdatePokeFlutePartyStatus(gEnemyParty, B_POSITION_OPPONENT_LEFT); + + gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_WaitFanfare(void) +{ + NATIVE_ARGS(); + + if (!IsFanfareTaskInactive()) + return; + + gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_SetBeakBlast(void) +{ + NATIVE_ARGS(); + gProtectStructs[gBattlerAttacker].beakBlastCharge = TRUE; + gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_RemoveTerrain(void) +{ + NATIVE_ARGS(); + RemoveAllTerrains(); + gBattlescriptCurrInstr = cmd->nextInstr; +} diff --git a/src/battle_terastal.c b/src/battle_terastal.c index a0580a73d210..2c140414dba0 100644 --- a/src/battle_terastal.c +++ b/src/battle_terastal.c @@ -30,7 +30,7 @@ void ActivateTera(u32 battler) if (B_FLAG_TERA_ORB_CHARGED != 0 && (B_FLAG_TERA_ORB_NO_COST == 0 || !FlagGet(B_FLAG_TERA_ORB_NO_COST)) && side == B_SIDE_PLAYER - && !(gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !IsPartnerMonFromSameTrainer(battler))) + && !(IsDoubleBattle() && !IsPartnerMonFromSameTrainer(battler))) { FlagClear(B_FLAG_TERA_ORB_CHARGED); } @@ -114,14 +114,14 @@ u32 GetBattlerTeraType(u32 battler) void ExpendTypeStellarBoost(u32 battler, u32 type) { if (type < 32 && gBattleMons[battler].species != SPECIES_TERAPAGOS_STELLAR) // avoid OOB access - gBattleStruct->stellarBoostFlags[GetBattlerSide(battler)] |= gBitTable[type]; + gBattleStruct->stellarBoostFlags[GetBattlerSide(battler)] |= 1u << type; } // Checks whether a type's Stellar boost has been expended. bool32 IsTypeStellarBoosted(u32 battler, u32 type) { if (type < 32) // avoid OOB access - return !(gBattleStruct->stellarBoostFlags[GetBattlerSide(battler)] & gBitTable[type]); + return !(gBattleStruct->stellarBoostFlags[GetBattlerSide(battler)] & (1u << type)); else return FALSE; } diff --git a/src/battle_tv.c b/src/battle_tv.c index 24d573d0bf86..ccea3551cd86 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -338,17 +338,8 @@ void BattleTv_SetDataBasedOnString(u16 stringId) defSide = GetBattlerSide(gBattlerTarget); effSide = GetBattlerSide(gEffectBattler); scriptingSide = GetBattlerSide(gBattleMsgDataPtr->scrActive); - - if (atkSide == B_SIDE_PLAYER) - atkMon = &gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]]; - else - atkMon = &gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker]]; - - if (defSide == B_SIDE_PLAYER) - defMon = &gPlayerParty[gBattlerPartyIndexes[gBattlerTarget]]; - else - defMon = &gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]]; - + atkMon = GetPartyBattlerData(gBattlerAttacker); + defMon = GetPartyBattlerData(gBattlerTarget); moveSlot = GetBattlerMoveSlotId(gBattlerAttacker, gBattleMsgDataPtr->currentMove); if (moveSlot >= MAX_MON_MOVES && IsNotSpecialBattleString(stringId) && stringId > BATTLESTRINGS_TABLE_START) @@ -1259,7 +1250,15 @@ static void TrySetBattleSeminarShow(void) powerOverride = 0; if (ShouldCalculateDamage(gCurrentMove, &dmgByMove[i], &powerOverride)) { - gBattleMoveDamage = CalculateMoveDamage(gCurrentMove, gBattlerAttacker, gBattlerTarget, gMovesInfo[gCurrentMove].type, powerOverride, FALSE, FALSE, FALSE); + struct DamageCalculationData damageCalcData; + damageCalcData.battlerAtk = gBattlerAttacker; + damageCalcData.battlerDef = gBattlerTarget; + damageCalcData.move = gCurrentMove; + damageCalcData.moveType = gMovesInfo[gCurrentMove].type; + damageCalcData.isCrit = FALSE; + damageCalcData.randomFactor = FALSE; + damageCalcData.updateFlags = FALSE; + gBattleMoveDamage = CalculateMoveDamage(&damageCalcData, powerOverride); dmgByMove[i] = gBattleMoveDamage; if (dmgByMove[i] == 0 && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) dmgByMove[i] = 1; @@ -1362,11 +1361,7 @@ u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId) { s32 i; struct Pokemon *party; - - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) - party = gPlayerParty; - else - party = gEnemyParty; + party = GetBattlerParty(battlerId); i = 0; while (1) diff --git a/src/battle_util.c b/src/battle_util.c index 4dd236a69540..bcd43f8962cc 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -130,7 +130,9 @@ void HandleAction_UseMove(void) u16 moveTarget; gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; - if (gBattleStruct->absentBattlerFlags & gBitTable[gBattlerAttacker] || !IsBattlerAlive(gBattlerAttacker)) + if (gBattleStruct->absentBattlerFlags & (1u << gBattlerAttacker) + || gBattleStruct->commandingDondozo & (1u << gBattlerAttacker) + || !IsBattlerAlive(gBattlerAttacker)) { gCurrentActionFuncId = B_ACTION_FINISHED; return; @@ -196,7 +198,7 @@ void HandleAction_UseMove(void) // Set dynamic move type. SetTypeBeforeUsingMove(gChosenMove, gBattlerAttacker); - GET_MOVE_TYPE(gChosenMove, moveType); + moveType = GetMoveType(gCurrentMove); // check Z-Move used if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_Z_MOVE && !IS_MOVE_STATUS(gCurrentMove) && !IsZMove(gCurrentMove)) @@ -221,7 +223,7 @@ void HandleAction_UseMove(void) { gBattleStruct->moveTarget[gBattlerAttacker] = gBattlerTarget = gSideTimers[side].followmeTarget; // follow me moxie fix } - else if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + else if (IsDoubleBattle() && gSideTimers[side].followmeTimer == 0 && (gMovesInfo[gCurrentMove].power != 0 || (moveTarget != MOVE_TARGET_USER && moveTarget != MOVE_TARGET_ALL_BATTLERS)) && ((GetBattlerAbility(*(gBattleStruct->moveTarget + gBattlerAttacker)) != ABILITY_LIGHTNING_ROD && moveType == TYPE_ELECTRIC) @@ -247,20 +249,7 @@ void HandleAction_UseMove(void) { if (moveTarget & MOVE_TARGET_RANDOM) { - if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) - { - if (Random() & 1) - gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - else - gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); - } - else - { - if (Random() & 1) - gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - else - gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); - } + gBattlerTarget = SetRandomTarget(gBattlerAttacker); } else if (moveTarget & MOVE_TARGET_FOES_AND_ALLY) { @@ -296,24 +285,10 @@ void HandleAction_UseMove(void) gBattlerTarget = battler; } } - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && moveTarget & MOVE_TARGET_RANDOM) + else if (IsDoubleBattle() && moveTarget & MOVE_TARGET_RANDOM) { - if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) - { - if (Random() & 1) - gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - else - gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); - } - else - { - if (Random() & 1) - gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - else - gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); - } - - if (gAbsentBattlerFlags & gBitTable[gBattlerTarget] + gBattlerTarget = SetRandomTarget(gBattlerAttacker); + if (gAbsentBattlerFlags & (1u << gBattlerTarget) && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)) { gBattlerTarget = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerTarget))); @@ -326,8 +301,7 @@ void HandleAction_UseMove(void) else gBattlerTarget = gBattlerAttacker; } - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && moveTarget == MOVE_TARGET_FOES_AND_ALLY) + else if (IsDoubleBattle() && moveTarget == MOVE_TARGET_FOES_AND_ALLY) { for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++) { @@ -432,6 +406,10 @@ bool32 TryRunFromBattle(u32 battler) u8 pyramidMultiplier; u8 speedVar; + // If this flag is set, running will never be successful under any circumstances. + if (FlagGet(B_FLAG_NO_RUNNING)) + return effect; + if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY_E_READER) holdEffect = gEnigmaBerries[battler].holdEffect; else @@ -706,7 +684,8 @@ void HandleAction_ActionFinished(void) | HITMARKER_CHARGING | HITMARKER_NEVER_SET | HITMARKER_IGNORE_DISGUISE); // check if Stellar type boost should be used up - GET_MOVE_TYPE(gCurrentMove, moveType); + moveType = GetMoveType(gCurrentMove); + if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_TERA && GetBattlerTeraType(gBattlerAttacker) == TYPE_STELLAR && gMovesInfo[gCurrentMove].category != DAMAGE_CATEGORY_STATUS @@ -947,29 +926,29 @@ static void UNUSED MarkAllBattlersForControllerExec(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { for (i = 0; i < gBattlersCount; i++) - gBattleControllerExecFlags |= gBitTable[i] << (32 - MAX_BATTLERS_COUNT); + gBattleControllerExecFlags |= 1u << (i + 32 - MAX_BATTLERS_COUNT); } else { for (i = 0; i < gBattlersCount; i++) - gBattleControllerExecFlags |= gBitTable[i]; + gBattleControllerExecFlags |= 1 << i; } } bool32 IsBattlerMarkedForControllerExec(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) - return (gBattleControllerExecFlags & (gBitTable[battler] << 0x1C)) != 0; + return (gBattleControllerExecFlags & (1 << (battler + 28))) != 0; else - return (gBattleControllerExecFlags & (gBitTable[battler])) != 0; + return (gBattleControllerExecFlags & (1 << battler)) != 0; } void MarkBattlerForControllerExec(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) - gBattleControllerExecFlags |= gBitTable[battler] << (32 - MAX_BATTLERS_COUNT); + gBattleControllerExecFlags |= 1u << (32 - MAX_BATTLERS_COUNT); else - gBattleControllerExecFlags |= gBitTable[battler]; + gBattleControllerExecFlags |= 1u << battler; } void MarkBattlerReceivedLinkData(u32 battler) @@ -977,9 +956,9 @@ void MarkBattlerReceivedLinkData(u32 battler) s32 i; for (i = 0; i < GetLinkPlayerCount(); i++) - gBattleControllerExecFlags |= gBitTable[battler] << (i << 2); + gBattleControllerExecFlags |= 1u << (battler + (i << 2)); - gBattleControllerExecFlags &= ~((1 << 28) << battler); + gBattleControllerExecFlags &= ~(1u << (28 + battler)); } const u8* CancelMultiTurnMoves(u32 battler) @@ -1155,7 +1134,7 @@ void ResetSentPokesToOpponentValue(void) gSentPokesToOpponent[1] = 0; for (i = 0; i < gBattlersCount; i += 2) - bits |= gBitTable[gBattlerPartyIndexes[i]]; + bits |= 1u << gBattlerPartyIndexes[i]; for (i = 1; i < gBattlersCount; i += 2) gSentPokesToOpponent[(i & BIT_FLANK) >> 1] = bits; @@ -1173,8 +1152,8 @@ void OpponentSwitchInResetSentPokesToOpponentValue(u32 battler) for (i = 0; i < gBattlersCount; i += 2) { - if (!(gAbsentBattlerFlags & gBitTable[i])) - bits |= gBitTable[gBattlerPartyIndexes[i]]; + if (!(gAbsentBattlerFlags & (1u << i))) + bits |= 1u << gBattlerPartyIndexes[i]; } gSentPokesToOpponent[flank] = bits; } @@ -1190,7 +1169,7 @@ void UpdateSentPokesToOpponentValue(u32 battler) { s32 i; for (i = 1; i < gBattlersCount; i++) - gSentPokesToOpponent[(i & BIT_FLANK) >> 1] |= gBitTable[gBattlerPartyIndexes[battler]]; + gSentPokesToOpponent[(i & BIT_FLANK) >> 1] |= 1u << gBattlerPartyIndexes[battler]; } } @@ -1231,7 +1210,7 @@ bool32 IsBelchPreventingMove(u32 battler, u32 move) if (gMovesInfo[move].effect != EFFECT_BELCH) return FALSE; - return !(gBattleStruct->ateBerry[battler & BIT_SIDE] & gBitTable[gBattlerPartyIndexes[battler]]); + return !(gBattleStruct->ateBerry[battler & BIT_SIDE] & (1u << gBattlerPartyIndexes[battler])); } // Dynamax bypasses all selection prevention except Taunt and Assault Vest. @@ -1496,55 +1475,55 @@ u8 CheckMoveLimitations(u32 battler, u8 unusableMoves, u16 check) moveEffect = gMovesInfo[move].effect; // No move if (check & MOVE_LIMITATION_ZEROMOVE && move == MOVE_NONE) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; // No PP else if (check & MOVE_LIMITATION_PP && gBattleMons[battler].pp[i] == 0) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; // Placeholder else if (check & MOVE_LIMITATION_PLACEHOLDER && moveEffect == EFFECT_PLACEHOLDER) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; // Disable else if (check & MOVE_LIMITATION_DISABLED && move == gDisableStructs[battler].disabledMove) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; // Torment else if (check & MOVE_LIMITATION_TORMENTED && move == gLastMoves[battler] && gBattleMons[battler].status2 & STATUS2_TORMENT) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; // Taunt else if (check & MOVE_LIMITATION_TAUNT && gDisableStructs[battler].tauntTimer && IS_MOVE_STATUS(move)) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; // Imprison else if (check & MOVE_LIMITATION_IMPRISON && GetImprisonedMovesCount(battler, move)) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; // Encore else if (check & MOVE_LIMITATION_ENCORE && gDisableStructs[battler].encoreTimer && gDisableStructs[battler].encoredMove != move) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; // Choice Items else if (check & MOVE_LIMITATION_CHOICE_ITEM && HOLD_EFFECT_CHOICE(holdEffect) && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != move) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; // Assault Vest else if (check & MOVE_LIMITATION_ASSAULT_VEST && holdEffect == HOLD_EFFECT_ASSAULT_VEST && IS_MOVE_STATUS(move) && gMovesInfo[move].effect != EFFECT_ME_FIRST) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; // Gravity else if (check & MOVE_LIMITATION_GRAVITY && IsGravityPreventingMove(move)) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; // Heal Block else if (check & MOVE_LIMITATION_HEAL_BLOCK && IsHealBlockPreventingMove(battler, move)) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; // Belch else if (check & MOVE_LIMITATION_BELCH && IsBelchPreventingMove(battler, move)) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; // Throat Chop else if (check & MOVE_LIMITATION_THROAT_CHOP && gDisableStructs[battler].throatChopTimer && gMovesInfo[move].soundMove) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; // Stuff Cheeks else if (check & MOVE_LIMITATION_STUFF_CHEEKS && moveEffect == EFFECT_STUFF_CHEEKS && ItemId_GetPocket(gBattleMons[battler].item) != POCKET_BERRIES) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; // Gorilla Tactics else if (check & MOVE_LIMITATION_CHOICE_ITEM && GetBattlerAbility(battler) == ABILITY_GORILLA_TACTICS && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != move) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; // Can't Use Twice flag else if (check & MOVE_LIMITATION_CANT_USE_TWICE && gMovesInfo[move].cantUseTwice && move == gLastResultingMoves[battler]) - unusableMoves |= gBitTable[i]; + unusableMoves |= 1u << i; } return unusableMoves; } @@ -1684,10 +1663,10 @@ u8 DoFieldEndTurnEffects(void) { u8 effect = 0; - for (gBattlerAttacker = 0; gBattlerAttacker < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBattlerAttacker]; gBattlerAttacker++) + for (gBattlerAttacker = 0; gBattlerAttacker < gBattlersCount && gAbsentBattlerFlags & (1u << gBattlerAttacker); gBattlerAttacker++) { } - for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBattlerTarget]; gBattlerTarget++) + for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount && gAbsentBattlerFlags & (1u << gBattlerTarget); gBattlerTarget++) { } @@ -2333,7 +2312,7 @@ u8 DoBattlerEndTurnEffects(void) while (gBattleStruct->turnEffectsBattlerId < gBattlersCount && gBattleStruct->turnEffectsTracker <= ENDTURN_BATTLER_COUNT) { battler = gBattlerAttacker = gBattlerByTurnOrder[gBattleStruct->turnEffectsBattlerId]; - if (gAbsentBattlerFlags & gBitTable[battler]) + if (gAbsentBattlerFlags & (1u << battler)) { gBattleStruct->turnEffectsBattlerId++; continue; @@ -2455,12 +2434,25 @@ u8 DoBattlerEndTurnEffects(void) && !IsBattlerProtectedByMagicGuard(battler, ability)) { gBattlerTarget = gStatuses3[battler] & STATUS3_LEECHSEED_BATTLER; // Notice gBattlerTarget is actually the HP receiver. - gBattleMoveDamage = GetNonDynamaxMaxHP(battler) / 8; - if (gBattleMoveDamage == 0) - gBattleMoveDamage = 1; + gBattlerAttacker = battler; gBattleScripting.animArg1 = gBattlerTarget; gBattleScripting.animArg2 = gBattlerAttacker; - BattleScriptExecute(BattleScript_LeechSeedTurnDrain); + gBattleMoveDamage = max(1, GetNonDynamaxMaxHP(battler) / 8); + gHitMarker |= HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE; + if (GetBattlerAbility(battler) == ABILITY_LIQUID_OOZE) + { + gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_LEECH_SEED_OOZE; + BattleScriptExecute(BattleScript_LeechSeedTurnDrainLiquidOoze); + } + else if (gStatuses3[gBattlerTarget] & STATUS3_HEAL_BLOCK) + { + BattleScriptExecute(BattleScript_LeechSeedTurnDrainHealBlock); + } + else + { + gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_LEECH_SEED_DRAIN; + BattleScriptExecute(BattleScript_LeechSeedTurnDrainRecovery); + } effect++; } gBattleStruct->turnEffectsTracker++; @@ -2642,7 +2634,7 @@ u8 DoBattlerEndTurnEffects(void) for (gBattlerAttacker = 0; gBattlerAttacker < gBattlersCount; gBattlerAttacker++) { if ((gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP) - && GetBattlerAbility(gBattlerAttacker) != ABILITY_SOUNDPROOF) + && (B_UPROAR_IGNORE_SOUNDPROOF >= GEN_5 || GetBattlerAbility(gBattlerAttacker) != ABILITY_SOUNDPROOF)) { gBattleMons[gBattlerAttacker].status1 &= ~STATUS1_SLEEP; gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_NIGHTMARE; @@ -3013,7 +3005,7 @@ bool32 HandleWishPerishSongOnTurnEnd(void) if (gWishFutureKnock.futureSightCounter[battler] != 0 && --gWishFutureKnock.futureSightCounter[battler] == 0 - && !(gAbsentBattlerFlags & gBitTable[battler])) + && !(gAbsentBattlerFlags & (1u << battler))) { struct Pokemon *party; @@ -3054,7 +3046,7 @@ bool32 HandleWishPerishSongOnTurnEnd(void) while (gBattleStruct->wishPerishSongBattlerId < gBattlersCount) { battler = gBattlerAttacker = gBattlerByTurnOrder[gBattleStruct->wishPerishSongBattlerId]; - if (gAbsentBattlerFlags & gBitTable[battler]) + if (gAbsentBattlerFlags & (1u << battler)) { gBattleStruct->wishPerishSongBattlerId++; continue; @@ -3120,8 +3112,8 @@ bool32 HandleFaintedMonActions(void) gBattleStruct->faintedActionsState++; for (i = 0; i < gBattlersCount; i++) { - if (gAbsentBattlerFlags & gBitTable[i] && !HasNoMonsToSwitch(i, PARTY_SIZE, PARTY_SIZE)) - gAbsentBattlerFlags &= ~(gBitTable[i]); + if (gAbsentBattlerFlags & (1u << i) && !HasNoMonsToSwitch(i, PARTY_SIZE, PARTY_SIZE)) + gAbsentBattlerFlags &= ~(1u << i); } // fall through case 1: @@ -3129,8 +3121,8 @@ bool32 HandleFaintedMonActions(void) { gBattlerFainted = gBattlerTarget = gBattleStruct->faintedActionsBattlerId; if (gBattleMons[gBattleStruct->faintedActionsBattlerId].hp == 0 - && !(gBattleStruct->givenExpMons & gBitTable[gBattlerPartyIndexes[gBattleStruct->faintedActionsBattlerId]]) - && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBattlerId])) + && !(gBattleStruct->givenExpMons & (1u << gBattlerPartyIndexes[gBattleStruct->faintedActionsBattlerId])) + && !(gAbsentBattlerFlags & (1u << gBattleStruct->faintedActionsBattlerId))) { BattleScriptExecute(BattleScript_GiveExp); gBattleStruct->faintedActionsState = 2; @@ -3151,7 +3143,7 @@ bool32 HandleFaintedMonActions(void) && !NoAliveMonsForEitherParty() && gCurrentTurnActionNumber != gBattlersCount) { - gAbsentBattlerFlags |= gBitTable[gBattlerFainted]; + gAbsentBattlerFlags |= 1u << gBattlerFainted; if (gBattleStruct->faintedActionsState != 1) return FALSE; } @@ -3173,7 +3165,7 @@ bool32 HandleFaintedMonActions(void) { gBattlerFainted = gBattlerTarget = gBattleStruct->faintedActionsBattlerId; if (gBattleMons[gBattleStruct->faintedActionsBattlerId].hp == 0 - && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBattlerId])) + && !(gAbsentBattlerFlags & (1u << gBattleStruct->faintedActionsBattlerId))) { BattleScriptExecute(BattleScript_HandleFaintedMon); gBattleStruct->faintedActionsState = 5; @@ -3322,7 +3314,14 @@ u8 AtkCanceller_UnableToUseMove(u32 moveType) break; case DISOBEYS_HITS_SELF: gBattlerTarget = gBattlerAttacker; - gBattleMoveDamage = CalculateMoveDamage(MOVE_NONE, gBattlerAttacker, gBattlerAttacker, TYPE_MYSTERY, 40, FALSE, FALSE, TRUE); + struct DamageCalculationData damageCalcData; + damageCalcData.battlerAtk = damageCalcData.battlerDef = gBattlerAttacker; + damageCalcData.move = MOVE_NONE; + damageCalcData.moveType = TYPE_MYSTERY; + damageCalcData.isCrit = FALSE; + damageCalcData.randomFactor = FALSE; + damageCalcData.updateFlags = TRUE; + gBattleMoveDamage = CalculateMoveDamage(&damageCalcData, 40); gBattlescriptCurrInstr = BattleScript_IgnoresAndHitsItself; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; gHitMarker |= HITMARKER_OBEYS; @@ -3458,7 +3457,14 @@ u8 AtkCanceller_UnableToUseMove(u32 moveType) { gBattleCommunication[MULTISTRING_CHOOSER] = TRUE; gBattlerTarget = gBattlerAttacker; - gBattleMoveDamage = CalculateMoveDamage(MOVE_NONE, gBattlerAttacker, gBattlerAttacker, TYPE_MYSTERY, 40, FALSE, FALSE, TRUE); + struct DamageCalculationData damageCalcData; + damageCalcData.battlerAtk = damageCalcData.battlerDef = gBattlerAttacker; + damageCalcData.move = MOVE_NONE; + damageCalcData.moveType = TYPE_MYSTERY; + damageCalcData.isCrit = FALSE; + damageCalcData.randomFactor = FALSE; + damageCalcData.updateFlags = TRUE; + gBattleMoveDamage = CalculateMoveDamage(&damageCalcData, 40); gProtectStructs[gBattlerAttacker].confusionSelfDmg = TRUE; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; } @@ -3527,7 +3533,7 @@ u8 AtkCanceller_UnableToUseMove(u32 moveType) gCurrentMove = MOVE_BIDE; gBattleScripting.bideDmg = gBideDmg[gBattlerAttacker] * 2; gBattlerTarget = gBideTarget[gBattlerAttacker]; - if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + if (gAbsentBattlerFlags & (1u << gBattlerTarget)) gBattlerTarget = GetMoveTarget(MOVE_BIDE, MOVE_TARGET_SELECTED + 1); gBattlescriptCurrInstr = BattleScript_BideAttack; } @@ -3789,7 +3795,7 @@ bool32 HasNoMonsToSwitch(u32 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2 u32 i, side, playerId, flankId; struct Pokemon *party; - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if (!IsDoubleBattle()) return FALSE; side = GetBattlerSide(battler); @@ -4137,13 +4143,126 @@ static void ChooseStatBoostAnimation(u32 battler) #undef ANIM_STAT_ACC #undef ANIM_STAT_EVASION +u32 CanAbilityBlockMove(u32 battlerAtk, u32 battlerDef, u32 move, u32 abilityDef) +{ + enum MoveBlocked effect = MOVE_BLOCKED_BY_NO_ABILITY; + + switch (abilityDef) + { + case ABILITY_SOUNDPROOF: + if (gMovesInfo[move].soundMove && !(GetBattlerMoveTargetType(battlerAtk, move) & MOVE_TARGET_USER)) + effect = MOVE_BLOCKED_BY_SOUNDPROOF_OR_BULLETPROOF; + break; + case ABILITY_BULLETPROOF: + if (gMovesInfo[move].ballisticMove) + effect = MOVE_BLOCKED_BY_SOUNDPROOF_OR_BULLETPROOF; + break; + case ABILITY_DAZZLING: + case ABILITY_QUEENLY_MAJESTY: + case ABILITY_ARMOR_TAIL: + if (GetBattlerSide(battlerAtk) != GetBattlerSide(battlerDef)) + { + u32 priority = AI_DATA->aiCalcInProgress ? GetMovePriority(battlerAtk, move) : GetChosenMovePriority(battlerAtk); + if (priority > 0) + effect = MOVE_BLOCKED_BY_DAZZLING; + } + break; + case ABILITY_GOOD_AS_GOLD: + if (IS_MOVE_STATUS(move)) + { + u32 moveTarget = GetBattlerMoveTargetType(battlerAtk, move); + if (!(moveTarget & MOVE_TARGET_OPPONENTS_FIELD) && !(moveTarget & MOVE_TARGET_ALL_BATTLERS)) + effect = MOVE_BLOCKED_BY_GOOD_AS_GOLD; + } + break; + } + + if (!effect) + effect = CanPartnerAbilityBlockMove(battlerAtk, battlerDef, move, GetBattlerAbility(BATTLE_PARTNER(battlerDef))); + + return effect; +} + +u32 CanPartnerAbilityBlockMove(u32 battlerAtk, u32 battlerDef, u32 move, u32 abilityDef) +{ + switch (abilityDef) + { + case ABILITY_DAZZLING: + case ABILITY_QUEENLY_MAJESTY: + case ABILITY_ARMOR_TAIL: + if (GetBattlerSide(battlerAtk) != GetBattlerSide(battlerDef)) + { + s32 priority = AI_DATA->aiCalcInProgress ? GetMovePriority(battlerAtk, move) : GetChosenMovePriority(battlerAtk); + if (priority > 0) + return MOVE_BLOCKED_BY_PARTNER_DAZZLING; + } + break; + } + return MOVE_BLOCKED_BY_NO_ABILITY; +} + +u32 CanAbilityAbsorbMove(u32 battlerAtk, u32 battlerDef, u32 abilityDef, u32 move, u32 moveType) +{ + enum MoveAbsorbed effect = MOVE_ABSORBED_BY_NO_ABILITY; + + switch (abilityDef) + { + default: + effect = MOVE_ABSORBED_BY_NO_ABILITY; + break; + case ABILITY_VOLT_ABSORB: + if (moveType == TYPE_ELECTRIC && gMovesInfo[move].target != MOVE_TARGET_ALL_BATTLERS) + effect = MOVE_ABSORBED_BY_DRAIN_HP_ABILITY; + break; + case ABILITY_WATER_ABSORB: + case ABILITY_DRY_SKIN: + if (moveType == TYPE_WATER) + effect = MOVE_ABSORBED_BY_DRAIN_HP_ABILITY; + break; + case ABILITY_EARTH_EATER: + if (moveType == TYPE_GROUND) + effect = MOVE_ABSORBED_BY_DRAIN_HP_ABILITY; + break; + case ABILITY_MOTOR_DRIVE: + if (moveType == TYPE_ELECTRIC && gMovesInfo[move].target != MOVE_TARGET_ALL_BATTLERS) // Potential bug in singles (might be solved with simu hp reudction) + effect = MOVE_ABSORBED_BY_STAT_INCREASE_ABILITY; + break; + case ABILITY_LIGHTNING_ROD: + if (B_REDIRECT_ABILITY_IMMUNITY >= GEN_5 && moveType == TYPE_ELECTRIC && gMovesInfo[move].target != MOVE_TARGET_ALL_BATTLERS) // Potential bug in singles (might be solved with simu hp reudction) + effect = MOVE_ABSORBED_BY_STAT_INCREASE_ABILITY; + break; + case ABILITY_STORM_DRAIN: + if (B_REDIRECT_ABILITY_IMMUNITY >= GEN_5 && moveType == TYPE_WATER) + effect = MOVE_ABSORBED_BY_STAT_INCREASE_ABILITY; + break; + case ABILITY_SAP_SIPPER: + if (moveType == TYPE_GRASS) + effect = MOVE_ABSORBED_BY_STAT_INCREASE_ABILITY; + break; + case ABILITY_WELL_BAKED_BODY: + if (moveType == TYPE_FIRE) + effect = MOVE_ABSORBED_BY_STAT_INCREASE_ABILITY; + break; + case ABILITY_WIND_RIDER: + if (gMovesInfo[move].windMove && !(GetBattlerMoveTargetType(battlerAtk, move) & MOVE_TARGET_USER)) + effect = MOVE_ABSORBED_BY_STAT_INCREASE_ABILITY; + break; + case ABILITY_FLASH_FIRE: + if (moveType == TYPE_FIRE && (B_FLASH_FIRE_FROZEN >= GEN_5 || !(gBattleMons[battlerDef].status1 & STATUS1_FREEZE))) + effect = MOVE_ABSORBED_BY_BOOST_FLASH_FIRE; + break; + } + + return effect; +} + u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 moveArg) { u32 effect = 0; - u32 moveType, move; - u32 side; - u32 i, j; - u32 partner; + u32 moveType = 0, move = 0; + u32 side = 0; + u32 i = 0, j = 0; + u32 partner = 0; struct Pokemon *mon; if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) @@ -4162,7 +4281,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 else move = gCurrentMove; - GET_MOVE_TYPE(move, moveType); + moveType = GetMoveType(move); switch (caseID) { @@ -4401,7 +4520,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 side = (BATTLE_OPPOSITE(GetBattlerPosition(battler))) & BIT_SIDE; target1 = GetBattlerAtPosition(side); target2 = GetBattlerAtPosition(side + BIT_FLANK); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { if (!gAbilitiesInfo[gBattleMons[target1].ability].cantBeTraced && gBattleMons[target1].hp != 0 && !gAbilitiesInfo[gBattleMons[target2].ability].cantBeTraced && gBattleMons[target2].hp != 0) @@ -4424,7 +4543,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 RecordAbilityBattle(chosenTarget, gLastUsedAbility); // Record the opposing battler has this ability gBattlerAbility = battler; - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, chosenTarget, gBattlerPartyIndexes[chosenTarget]) + PREPARE_MON_NICK_WITH_PREFIX_LOWER_BUFFER(gBattleTextBuff1, chosenTarget, gBattlerPartyIndexes[chosenTarget]) PREPARE_ABILITY_BUFFER(gBattleTextBuff2, gLastUsedAbility) } } @@ -4434,7 +4553,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 && !(gBattleMons[BATTLE_OPPOSITE(battler)].status2 & (STATUS2_TRANSFORMED | STATUS2_SUBSTITUTE)) && !(gBattleMons[battler].status2 & STATUS2_TRANSFORMED) && !(gBattleStruct->illusion[BATTLE_OPPOSITE(battler)].on) - && !(gStatuses3[BATTLE_OPPOSITE(battler)] & STATUS3_SEMI_INVULNERABLE)) + && !(gStatuses3[BATTLE_OPPOSITE(battler)] & STATUS3_SEMI_INVULNERABLE_NO_COMMANDER)) { gBattlerAttacker = battler; gBattlerTarget = BATTLE_OPPOSITE(battler); @@ -4531,7 +4650,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 for (j = 0; j < MAX_MON_MOVES; j++) { move = gBattleMons[i].moves[j]; - GET_MOVE_TYPE(move, moveType); + moveType = GetMoveType(move); if (CalcTypeEffectivenessMultiplier(move, moveType, i, battler, ABILITY_ANTICIPATION, FALSE) >= UQ_4_12(2.0)) { effect++; @@ -4757,11 +4876,11 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 break; case ABILITY_SUPERSWEET_SYRUP: if (!gSpecialStatuses[battler].switchInAbilityDone - && !(gBattleStruct->supersweetSyrup[GetBattlerSide(battler)] & gBitTable[gBattlerPartyIndexes[battler]])) + && !(gBattleStruct->supersweetSyrup[GetBattlerSide(battler)] & (1u << gBattlerPartyIndexes[battler]))) { gBattlerAttacker = battler; gSpecialStatuses[battler].switchInAbilityDone = TRUE; - gBattleStruct->supersweetSyrup[GetBattlerSide(battler)] |= gBitTable[gBattlerPartyIndexes[battler]]; + gBattleStruct->supersweetSyrup[GetBattlerSide(battler)] |= (1u << gBattlerPartyIndexes[battler]); BattleScriptPushCursorAndCallback(BattleScript_SupersweetSyrupActivates); effect++; } @@ -4798,12 +4917,12 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 break; case ABILITY_INTREPID_SWORD: if (!gSpecialStatuses[battler].switchInAbilityDone && CompareStat(battler, STAT_ATK, MAX_STAT_STAGE, CMP_LESS_THAN) - && !(gBattleStruct->intrepidSwordBoost[GetBattlerSide(battler)] & gBitTable[gBattlerPartyIndexes[battler]])) + && !(gBattleStruct->intrepidSwordBoost[GetBattlerSide(battler)] & (1u << gBattlerPartyIndexes[battler]))) { gBattleScripting.savedBattler = gBattlerAttacker; gBattlerAttacker = battler; if (B_INTREPID_SWORD == GEN_9) - gBattleStruct->intrepidSwordBoost[GetBattlerSide(battler)] |= gBitTable[gBattlerPartyIndexes[battler]]; + gBattleStruct->intrepidSwordBoost[GetBattlerSide(battler)] |= 1u << gBattlerPartyIndexes[battler]; gSpecialStatuses[battler].switchInAbilityDone = TRUE; SET_STATCHANGER(STAT_ATK, 1, FALSE); BattleScriptPushCursorAndCallback(BattleScript_BattlerAbilityStatRaiseOnSwitchIn); @@ -4812,12 +4931,12 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 break; case ABILITY_DAUNTLESS_SHIELD: if (!gSpecialStatuses[battler].switchInAbilityDone && CompareStat(battler, STAT_DEF, MAX_STAT_STAGE, CMP_LESS_THAN) - && !(gBattleStruct->dauntlessShieldBoost[GetBattlerSide(battler)] & gBitTable[gBattlerPartyIndexes[battler]])) + && !(gBattleStruct->dauntlessShieldBoost[GetBattlerSide(battler)] & (1u << gBattlerPartyIndexes[battler]))) { gBattleScripting.savedBattler = gBattlerAttacker; gBattlerAttacker = battler; if (B_DAUNTLESS_SHIELD == GEN_9) - gBattleStruct->dauntlessShieldBoost[GetBattlerSide(battler)] |= gBitTable[gBattlerPartyIndexes[battler]]; + gBattleStruct->dauntlessShieldBoost[GetBattlerSide(battler)] |= 1u << gBattlerPartyIndexes[battler]; gSpecialStatuses[battler].switchInAbilityDone = TRUE; SET_STATCHANGER(STAT_DEF, 1, FALSE); BattleScriptPushCursorAndCallback(BattleScript_BattlerAbilityStatRaiseOnSwitchIn); @@ -4934,11 +5053,10 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 if (!gSpecialStatuses[battler].switchInAbilityDone && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_PALAFIN_HERO - && !(gBattleStruct->transformZeroToHero[side] & gBitTable[gBattlerPartyIndexes[battler]])) + && !(gBattleStruct->transformZeroToHero[side] & (1u << gBattlerPartyIndexes[battler]))) { gSpecialStatuses[battler].switchInAbilityDone = TRUE; - gBattlerAttacker = battler; - gBattleStruct->transformZeroToHero[side] |= gBitTable[gBattlerPartyIndexes[battler]]; + gBattleStruct->transformZeroToHero[side] |= 1u << gBattlerPartyIndexes[battler]; BattleScriptPushCursorAndCallback(BattleScript_ZeroToHeroActivates); effect++; } @@ -5001,15 +5119,37 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 break; case ABILITY_ICE_FACE: if (IsBattlerWeatherAffected(battler, B_WEATHER_HAIL | B_WEATHER_SNOW) - && gBattleMons[battler].species == SPECIES_EISCUE_NOICE_FACE + && gBattleMons[battler].species == SPECIES_EISCUE_NOICE && !(gBattleMons[battler].status2 & STATUS2_TRANSFORMED)) { // TODO: Convert this to a proper FORM_CHANGE type. - gBattleMons[battler].species = SPECIES_EISCUE_ICE_FACE; + gBattleMons[battler].species = SPECIES_EISCUE_ICE; BattleScriptPushCursorAndCallback(BattleScript_BattlerFormChangeWithStringEnd3); effect++; } break; + case ABILITY_COMMANDER: + partner = BATTLE_PARTNER(battler); + if (!gSpecialStatuses[battler].switchInAbilityDone + && gBattleStruct->commanderActive[partner] == SPECIES_NONE + && gBattleMons[partner].species == SPECIES_DONDOZO + && GET_BASE_SPECIES_ID(GetMonData(GetPartyBattlerData(battler), MON_DATA_SPECIES)) == SPECIES_TATSUGIRI) + { + SaveBattlerAttacker(gBattlerAttacker); + gSpecialStatuses[battler].switchInAbilityDone = TRUE; + gBattlerAttacker = partner; + gBattleStruct->commandingDondozo |= 1u << battler; + gBattleStruct->commanderActive[partner] = gBattleMons[battler].species; + gStatuses3[battler] |= STATUS3_COMMANDER; + if (gBattleMons[battler].status2 & STATUS2_CONFUSION + && !(gStatuses4[battler] & STATUS4_INFINITE_CONFUSION)) + gBattleMons[battler].status2 -= STATUS2_CONFUSION_TURN(1); + BtlController_EmitSpriteInvisibility(battler, BUFFER_A, TRUE); + MarkBattlerForControllerExec(battler); + BattleScriptPushCursorAndCallback(BattleScript_CommanderActivates); + effect++; + } + break; } break; case ABILITYEFFECT_ENDTURN: @@ -5107,9 +5247,9 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 for (i = STAT_ATK; i < statsNum; i++) { if (CompareStat(battler, i, MIN_STAT_STAGE, CMP_GREATER_THAN)) - validToLower |= gBitTable[i]; + validToLower |= 1u << i; if (CompareStat(battler, i, MAX_STAT_STAGE, CMP_LESS_THAN)) - validToRaise |= gBitTable[i]; + validToRaise |= 1u << i; } if (validToLower != 0 || validToRaise != 0) // Can lower one stat, or can raise one stat @@ -5120,16 +5260,16 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 do { i = (Random() % statsNum) + STAT_ATK; - } while (!(validToRaise & gBitTable[i])); + } while (!(validToRaise & (1u << i))); SET_STATCHANGER(i, 2, FALSE); - validToLower &= ~(gBitTable[i]); // Can't lower the same stat as raising. + validToLower &= ~(1u << i); // Can't lower the same stat as raising. } if (validToLower != 0) // Find stat to lower { do { i = (Random() % statsNum) + STAT_ATK; - } while (!(validToLower & gBitTable[i])); + } while (!(validToLower & (1u << i))); SET_STATCHANGER2(gBattleScripting.savedStatChanger, i, 1, TRUE); } BattleScriptPushCursorAndCallback(BattleScript_MoodyActivates); @@ -5159,7 +5299,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 gBattleScripting.battler = BATTLE_PARTNER(battler); if (IsBattlerAlive(gBattleScripting.battler) && gBattleMons[gBattleScripting.battler].status1 & STATUS1_ANY - && (Random() % 100) < 30) + && RandomPercentage(RNG_HEALER, 30)) { BattleScriptPushCursorAndCallback(BattleScript_HealerActivates); effect++; @@ -5215,153 +5355,87 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 } } break; - case ABILITYEFFECT_MOVES_BLOCK: case ABILITYEFFECT_WOULD_BLOCK: + effect = CanAbilityBlockMove(gBattlerAttacker, battler, move, gLastUsedAbility); + if (effect && gLastUsedAbility != 0xFFFF) + RecordAbilityBattle(battler, gLastUsedAbility); + break; + case ABILITYEFFECT_MOVES_BLOCK: { - u16 moveTarget = GetBattlerMoveTargetType(battler, move); + effect = CanAbilityBlockMove(gBattlerAttacker, battler, move, gLastUsedAbility); const u8 * battleScriptBlocksMove = NULL; - - switch (gLastUsedAbility) - { - case ABILITY_SOUNDPROOF: - if (gMovesInfo[move].soundMove && !(moveTarget & MOVE_TARGET_USER)) - effect = 1; - break; - case ABILITY_BULLETPROOF: - if (gMovesInfo[move].ballisticMove) - effect = 1; - break; - case ABILITY_DAZZLING: - case ABILITY_QUEENLY_MAJESTY: - case ABILITY_ARMOR_TAIL: - if (GetChosenMovePriority(gBattlerAttacker) > 0 && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(battler)) - effect = 2; - break; - case ABILITY_GOOD_AS_GOLD: - if (IS_MOVE_STATUS(gCurrentMove) - && !(moveTarget & MOVE_TARGET_OPPONENTS_FIELD) - && !(moveTarget & MOVE_TARGET_ALL_BATTLERS)) - effect = 3; - break; - } - - if (!effect) - { - switch (GetBattlerAbility(BATTLE_PARTNER(battler))) - { - case ABILITY_DAZZLING: - case ABILITY_QUEENLY_MAJESTY: - case ABILITY_ARMOR_TAIL: - if (GetChosenMovePriority(gBattlerAttacker) > 0 && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(battler)) - effect = 4; - break; - } - } - - if (effect == 1) + switch (effect) { + case MOVE_BLOCKED_BY_SOUNDPROOF_OR_BULLETPROOF: if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS) gHitMarker |= HITMARKER_NO_PPDEDUCT; battleScriptBlocksMove = BattleScript_SoundproofProtected; - } - else if (effect == 2 || effect == 4) - { - if (effect == 4) + break; + case MOVE_BLOCKED_BY_DAZZLING: + case MOVE_BLOCKED_BY_PARTNER_DAZZLING: + if (effect == MOVE_BLOCKED_BY_PARTNER_DAZZLING) gBattleScripting.battler = BATTLE_PARTNER(battler); else gBattleScripting.battler = battler; - if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS) gHitMarker |= HITMARKER_NO_PPDEDUCT; battleScriptBlocksMove = BattleScript_DazzlingProtected; - } - else if (effect == 3) - { + break; + case MOVE_BLOCKED_BY_GOOD_AS_GOLD: battleScriptBlocksMove = BattleScript_GoodAsGoldActivates; + break; + default: + if (GetChosenMovePriority(gBattlerAttacker) > 0 + && BlocksPrankster(move, gBattlerAttacker, gBattlerTarget, TRUE) + && !(IS_MOVE_STATUS(move) && (gLastUsedAbility == ABILITY_MAGIC_BOUNCE || gProtectStructs[gBattlerTarget].bounceMove))) + { + if (!IsDoubleBattle() + || !(GetBattlerMoveTargetType(gBattlerAttacker, move) & (MOVE_TARGET_BOTH | MOVE_TARGET_FOES_AND_ALLY))) + CancelMultiTurnMoves(gBattlerAttacker); // Don't cancel moves that can hit two targets bc one target might not be protected + gBattleScripting.battler = gBattlerAbility = gBattlerTarget; + battleScriptBlocksMove = BattleScript_DarkTypePreventsPrankster; + effect = 1; + } } - else if (GetChosenMovePriority(gBattlerAttacker) > 0 - && BlocksPrankster(move, gBattlerAttacker, gBattlerTarget, TRUE) - && !(IS_MOVE_STATUS(move) && (gLastUsedAbility == ABILITY_MAGIC_BOUNCE || gProtectStructs[gBattlerTarget].bounceMove))) - { - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE) || !(moveTarget & (MOVE_TARGET_BOTH | MOVE_TARGET_FOES_AND_ALLY))) - CancelMultiTurnMoves(gBattlerAttacker); // Don't cancel moves that can hit two targets bc one target might not be protected - gBattleScripting.battler = gBattlerAbility = gBattlerTarget; - battleScriptBlocksMove = BattleScript_DarkTypePreventsPrankster; - effect = 1; - } - if (caseID == ABILITYEFFECT_WOULD_BLOCK) - { - if (effect && gLastUsedAbility != 0xFFFF) - RecordAbilityBattle(battler, gLastUsedAbility); - - return effect; - } - else if (effect) - { + if (effect) gBattlescriptCurrInstr = battleScriptBlocksMove; - } - break; } - case ABILITYEFFECT_ABSORBING: + break; case ABILITYEFFECT_WOULD_ABSORB: - if (move != MOVE_NONE) + effect = CanAbilityAbsorbMove(gBattlerAttacker, battler, gLastUsedAbility, move, moveType); + gBattleStruct->pledgeMove = FALSE; + if (effect && gLastUsedAbility != 0xFFFF) + RecordAbilityBattle(battler, gLastUsedAbility); + return effect; + case ABILITYEFFECT_ABSORBING: { - u8 statId = 0; - u8 statAmount = 1; - switch (gLastUsedAbility) - { - case ABILITY_VOLT_ABSORB: - if (moveType == TYPE_ELECTRIC && gMovesInfo[move].target != MOVE_TARGET_ALL_BATTLERS) - effect = 1; - break; - case ABILITY_WATER_ABSORB: - case ABILITY_DRY_SKIN: - if (moveType == TYPE_WATER) - effect = 1; - break; - case ABILITY_MOTOR_DRIVE: - if (moveType == TYPE_ELECTRIC && gMovesInfo[move].target != MOVE_TARGET_ALL_BATTLERS) - effect = 2, statId = STAT_SPEED; - break; - case ABILITY_LIGHTNING_ROD: - if (B_REDIRECT_ABILITY_IMMUNITY >= GEN_5 && moveType == TYPE_ELECTRIC && gMovesInfo[move].target != MOVE_TARGET_ALL_BATTLERS) - effect = 2, statId = STAT_SPATK; - break; - case ABILITY_STORM_DRAIN: - if (B_REDIRECT_ABILITY_IMMUNITY >= GEN_5 && moveType == TYPE_WATER) - effect = 2, statId = STAT_SPATK; - break; - case ABILITY_SAP_SIPPER: - if (moveType == TYPE_GRASS) - effect = 2, statId = STAT_ATK; - break; - case ABILITY_FLASH_FIRE: - if (moveType == TYPE_FIRE && (B_FLASH_FIRE_FROZEN >= GEN_5 || !(gBattleMons[battler].status1 & STATUS1_FREEZE))) - effect = 3; - break; - case ABILITY_WELL_BAKED_BODY: - if (moveType == TYPE_FIRE) - effect = 2, statId = STAT_DEF, statAmount = 2; - break; - case ABILITY_WIND_RIDER: - if (gMovesInfo[gCurrentMove].windMove && !(GetBattlerMoveTargetType(gBattlerAttacker, gCurrentMove) & MOVE_TARGET_USER)) - effect = 2, statId = STAT_ATK; - break; - case ABILITY_EARTH_EATER: - if (moveType == TYPE_GROUND) - effect = 1; - break; - } - if (caseID == ABILITYEFFECT_WOULD_ABSORB) + u32 statId = 0; + u32 statAmount = 1; + effect = CanAbilityAbsorbMove(gBattlerAttacker, battler, gLastUsedAbility, move, moveType); + if (effect) { - gBattleStruct->pledgeMove = FALSE; - if (effect && gLastUsedAbility != 0xFFFF) - RecordAbilityBattle(battler, gLastUsedAbility); - - return effect; + switch(gLastUsedAbility) + { + case ABILITY_MOTOR_DRIVE: + statId = STAT_SPEED; + break; + case ABILITY_LIGHTNING_ROD: + case ABILITY_STORM_DRAIN: + statId = STAT_SPATK; + break; + case ABILITY_SAP_SIPPER: + case ABILITY_WIND_RIDER: + statId = STAT_ATK; + break; + case ABILITY_WELL_BAKED_BODY: + statAmount = 2; + statId = STAT_DEF; + break; + } } - else if (effect == 1) // Drain Hp ability. + switch (effect) { + case MOVE_ABSORBED_BY_DRAIN_HP_ABILITY: gBattleStruct->pledgeMove = FALSE; if (BATTLER_MAX_HP(battler) || (B_HEAL_BLOCKING >= GEN_5 && gStatuses3[battler] & STATUS3_HEAL_BLOCK)) { @@ -5382,9 +5456,8 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 gBattleMoveDamage = 1; gBattleMoveDamage *= -1; } - } - else if (effect == 2) // Boost Stat ability; - { + break; + case MOVE_ABSORBED_BY_STAT_INCREASE_ABILITY: gBattleStruct->pledgeMove = FALSE; if (!CompareStat(battler, statId, MAX_STAT_STAGE, CMP_LESS_THAN)) { @@ -5404,9 +5477,8 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 if (B_ABSORBING_ABILITY_STRING < GEN_5) PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); } - } - else if (effect == 3) - { + break; + case MOVE_ABSORBED_BY_BOOST_FLASH_FIRE: gBattleStruct->pledgeMove = FALSE; if (!(gBattleResources->flags->flags[battler] & RESOURCE_FLAG_FLASH_FIRE)) { @@ -5425,10 +5497,11 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; } + break; } - if (effect) gMultiHitCounter = 0; // Prevent multi-hit moves from hitting more than once after move has been absorbed. + } break; case ABILITYEFFECT_MOVE_END: // Think contact abilities. @@ -5979,7 +6052,6 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 && HadMoreThanHalfHpNowDoesnt(gBattlerTarget) && !(TestIfSheerForceAffected(gBattlerAttacker, gCurrentMove))) { - gBattlerAttacker = gBattlerTarget; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_AngerShellActivates; effect++; @@ -6348,12 +6420,12 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 break; case ABILITY_ICE_FACE: if (IsBattlerWeatherAffected(battler, B_WEATHER_HAIL | B_WEATHER_SNOW) - && gBattleMons[battler].species == SPECIES_EISCUE_NOICE_FACE + && gBattleMons[battler].species == SPECIES_EISCUE_NOICE && !(gBattleMons[battler].status2 & STATUS2_TRANSFORMED)) { // TODO: Convert this to a proper FORM_CHANGE type. gBattleScripting.battler = battler; - gBattleMons[battler].species = SPECIES_EISCUE_ICE_FACE; + gBattleMons[battler].species = SPECIES_EISCUE_ICE; BattleScriptPushCursorAndCallback(BattleScript_BattlerFormChangeWithStringEnd3); effect++; } @@ -6417,17 +6489,8 @@ bool32 TryPrimalReversion(u32 battler) if (GetBattlerHoldEffect(battler, FALSE) == HOLD_EFFECT_PRIMAL_ORB && GetBattleFormChangeTargetSpecies(battler, FORM_CHANGE_BATTLE_PRIMAL_REVERSION) != SPECIES_NONE) { - if (gBattlerAttacker == battler) - { - BattleScriptPushCursorAndCallback(BattleScript_PrimalReversion); - } - else - { - // edge case for scenarios like a switch-in after activated eject button - gBattleScripting.savedBattler = gBattlerAttacker; - gBattlerAttacker = battler; - BattleScriptPushCursorAndCallback(BattleScript_PrimalReversionRestoreAttacker); - } + gBattleScripting.battler = battler; + BattleScriptPushCursorAndCallback(BattleScript_PrimalReversion); return TRUE; } return FALSE; @@ -6557,7 +6620,9 @@ u32 IsAbilityPreventingEscape(u32 battler) bool32 CanBattlerEscape(u32 battler) // no ability check { - if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_SHED_SHELL) + if (gBattleStruct->commanderActive[battler] != SPECIES_NONE) + return FALSE; + else if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_SHED_SHELL) return TRUE; else if (B_GHOSTS_ESCAPE >= GEN_6 && IS_BATTLER_OF_TYPE(battler, TYPE_GHOST)) return TRUE; @@ -7115,7 +7180,7 @@ static u8 TryConsumeMirrorHerb(u32 battler, bool32 execute) static inline u32 TryBoosterEnergy(u32 battler) { - if (gBattleStruct->boosterEnergyActivates & gBitTable[battler] || gBattleMons[battler].status2 & STATUS2_TRANSFORMED) + if (gBattleStruct->boosterEnergyActivates & (1u << battler) || gBattleMons[battler].status2 & STATUS2_TRANSFORMED) return ITEM_NO_EFFECT; if (((GetBattlerAbility(battler) == ABILITY_PROTOSYNTHESIS) && !((gBattleWeather & B_WEATHER_SUN) && WEATHER_HAS_EFFECT)) @@ -7123,7 +7188,7 @@ static inline u32 TryBoosterEnergy(u32 battler) { PREPARE_STAT_BUFFER(gBattleTextBuff1, GetHighestStatId(battler)); gBattlerAbility = gBattleScripting.battler = battler; - gBattleStruct->boosterEnergyActivates |= gBitTable[battler]; + gBattleStruct->boosterEnergyActivates |= 1u << battler; BattleScriptExecute(BattleScript_BoosterEnergyEnd2); return ITEM_EFFECT_OTHER; } @@ -8054,7 +8119,7 @@ u8 ItemBattleEffects(u8 caseID, u32 battler, bool32 moveTurn) case ITEMEFFECT_TARGET: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - GET_MOVE_TYPE(gCurrentMove, moveType); + moveType = GetMoveType(gCurrentMove); switch (battlerHoldEffect) { case HOLD_EFFECT_AIR_BALLOON: @@ -8279,7 +8344,7 @@ u8 ItemBattleEffects(u8 caseID, u32 battler, bool32 moveTurn) // Berry was successfully used on a Pokemon. if (effect && (gLastUsedItem >= FIRST_BERRY_INDEX && gLastUsedItem <= LAST_BERRY_INDEX)) - gBattleStruct->ateBerry[battler & BIT_SIDE] |= gBitTable[gBattlerPartyIndexes[battler]]; + gBattleStruct->ateBerry[battler & BIT_SIDE] |= 1u << gBattlerPartyIndexes[battler]; return effect; } @@ -8298,7 +8363,7 @@ void HandleAction_RunBattleScript(void) // identical to RunBattleScriptCommands gBattleScriptingCommandsTable[*gBattlescriptCurrInstr](); } -u32 SetRandomTarget(u32 battler) +u32 SetRandomTarget(u32 battlerAtk) { u32 target; static const u8 targets[2][2] = @@ -8307,15 +8372,15 @@ u32 SetRandomTarget(u32 battler) [B_SIDE_OPPONENT] = {B_POSITION_PLAYER_LEFT, B_POSITION_PLAYER_RIGHT}, }; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { - target = GetBattlerAtPosition(targets[GetBattlerSide(battler)][Random() % 2]); + target = GetBattlerAtPosition(targets[GetBattlerSide(battlerAtk)][RandomUniform(RNG_RANDOM_TARGET, 0, 1)]); if (!IsBattlerAlive(target)) target ^= BIT_FLANK; } else { - target = GetBattlerAtPosition(targets[GetBattlerSide(battler)][0]); + target = GetBattlerAtPosition(targets[GetBattlerSide(battlerAtk)][0]); } return target; @@ -8325,8 +8390,7 @@ u32 GetMoveTarget(u16 move, u8 setTarget) { u8 targetBattler = 0; u32 moveTarget, side; - u32 moveType; - GET_MOVE_TYPE(move, moveType); + u32 moveType = GetMoveType(move); if (setTarget != NO_TARGET_OVERRIDE) moveTarget = setTarget - 1; @@ -8376,7 +8440,7 @@ u32 GetMoveTarget(u16 move, u8 setTarget) side = BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker)); if (IsAffectedByFollowMe(gBattlerAttacker, side, move)) targetBattler = gSideTimers[side].followmeTarget; - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && moveTarget & MOVE_TARGET_RANDOM) + else if (IsDoubleBattle() && moveTarget & MOVE_TARGET_RANDOM) targetBattler = SetRandomTarget(gBattlerAttacker); else targetBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker))); @@ -8463,19 +8527,19 @@ u8 GetAttackerObedienceForAction() // is not obedient if (gCurrentMove == MOVE_RAGE) gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_RAGE; - if (gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK)) + if (gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP && (gMovesInfo[gCurrentMove].effect == EFFECT_SNORE || gMovesInfo[gCurrentMove].effect == EFFECT_SLEEP_TALK)) return DISOBEYS_WHILE_ASLEEP; calc = (levelReferenced + obedienceLevel) * ((rnd >> 8) & 255) >> 8; if (calc < obedienceLevel) { - calc = CheckMoveLimitations(gBattlerAttacker, gBitTable[gCurrMovePos], MOVE_LIMITATIONS_ALL); + calc = CheckMoveLimitations(gBattlerAttacker, 1u << gCurrMovePos, MOVE_LIMITATIONS_ALL); if (calc == ALL_MOVES_MASK) // all moves cannot be used return DISOBEYS_LOAFS; else // use a random move do gCurrMovePos = gChosenMovePos = MOD(Random(), MAX_MON_MOVES); - while (gBitTable[gCurrMovePos] & calc); + while ((1u << gCurrMovePos) & calc); return DISOBEYS_RANDOM_MOVE; } else @@ -8571,15 +8635,6 @@ bool32 IsMoveMakingContact(u32 move, u32 battlerAtk) bool32 IsBattlerProtected(u32 battlerAtk, u32 battlerDef, u32 move) { - // Decorate bypasses protect and detect, but not crafty shield - if (move == MOVE_DECORATE) - { - if (gSideStatuses[GetBattlerSide(battlerDef)] & SIDE_STATUS_CRAFTY_SHIELD) - return TRUE; - else if (gProtectStructs[battlerDef].protected) - return FALSE; - } - // Z-Moves and Max Moves bypass protection (except Max Guard). if ((IsZMove(move) || IsMaxMove(move)) && (!gProtectStructs[battlerDef].maxGuarded @@ -8590,13 +8645,9 @@ bool32 IsBattlerProtected(u32 battlerAtk, u32 battlerDef, u32 move) if (gProtectStructs[battlerDef].maxGuarded && IsMoveBlockedByMaxGuard(move)) return TRUE; - // Protective Pads doesn't stop Unseen Fist from bypassing Protect effects, so IsMoveMakingContact() isn't used here. - // This means extra logic is needed to handle Shell Side Arm. - if (GetBattlerAbility(gBattlerAttacker) == ABILITY_UNSEEN_FIST - && (gMovesInfo[move].makesContact - || (gMovesInfo[move].effect == EFFECT_SHELL_SIDE_ARM - && gBattleStruct->shellSideArmCategory[battlerAtk][battlerDef] == DAMAGE_CATEGORY_PHYSICAL)) - && !gProtectStructs[battlerDef].maxGuarded) // Max Guard cannot be bypassed by Unseen Fist + if (!gProtectStructs[battlerDef].maxGuarded // Max Guard cannot be bypassed by Unseen Fist + && IsMoveMakingContact(move, gBattlerAttacker) + && GetBattlerAbility(gBattlerAttacker) == ABILITY_UNSEEN_FIST) return FALSE; else if (gSideStatuses[GetBattlerSide(battlerDef)] & SIDE_STATUS_CRAFTY_SHIELD && IS_MOVE_STATUS(move)) @@ -8631,7 +8682,7 @@ bool32 IsBattlerProtected(u32 battlerAtk, u32 battlerDef, u32 move) } // Only called directly when calculating damage type effectiveness -static bool32 IsBattlerGrounded2(u32 battler, bool32 considerInverse) +static bool32 IsBattlerGroundedInverseCheck(u32 battler, bool32 considerInverse) { u32 holdEffect = GetBattlerHoldEffect(battler, TRUE); @@ -8649,7 +8700,7 @@ static bool32 IsBattlerGrounded2(u32 battler, bool32 considerInverse) return FALSE; if (holdEffect == HOLD_EFFECT_AIR_BALLOON) return FALSE; - if (GetBattlerAbility(battler) == ABILITY_LEVITATE) + if ((AI_DATA->aiCalcInProgress ? AI_DATA->abilities[battler] : GetBattlerAbility(battler)) == ABILITY_LEVITATE) return FALSE; if (IS_BATTLER_OF_TYPE(battler, TYPE_FLYING) && (!considerInverse || !FlagGet(B_FLAG_INVERSE_BATTLE))) return FALSE; @@ -8658,7 +8709,7 @@ static bool32 IsBattlerGrounded2(u32 battler, bool32 considerInverse) bool32 IsBattlerGrounded(u32 battler) { - return IsBattlerGrounded2(battler, FALSE); + return IsBattlerGroundedInverseCheck(battler, FALSE); } bool32 IsBattlerAlive(u32 battler) @@ -8667,7 +8718,7 @@ bool32 IsBattlerAlive(u32 battler) return FALSE; else if (battler >= gBattlersCount) return FALSE; - else if (gAbsentBattlerFlags & gBitTable[battler]) + else if (gAbsentBattlerFlags & (1u << battler)) return FALSE; else return TRUE; @@ -8735,17 +8786,21 @@ u32 CountBattlerStatIncreases(u32 battler, bool32 countEvasionAcc) return count; } -u32 GetMoveTargetCount(u32 move, u32 battlerAtk, u32 battlerDef) +u32 GetMoveTargetCount(struct DamageCalculationData *damageCalcData) { + u32 battlerAtk = damageCalcData->battlerAtk; + u32 battlerDef = damageCalcData->battlerDef; + u32 move = damageCalcData->move; + switch (GetBattlerMoveTargetType(battlerAtk, move)) { case MOVE_TARGET_BOTH: - return !(gAbsentBattlerFlags & gBitTable[battlerDef]) - + !(gAbsentBattlerFlags & gBitTable[BATTLE_PARTNER(battlerDef)]); + return !(gAbsentBattlerFlags & (1u << battlerDef)) + + !(gAbsentBattlerFlags & (1u << BATTLE_PARTNER(battlerDef))); case MOVE_TARGET_FOES_AND_ALLY: - return !(gAbsentBattlerFlags & gBitTable[battlerDef]) - + !(gAbsentBattlerFlags & gBitTable[BATTLE_PARTNER(battlerDef)]) - + !(gAbsentBattlerFlags & gBitTable[BATTLE_PARTNER(battlerAtk)]); + return !(gAbsentBattlerFlags & (1u << battlerDef)) + + !(gAbsentBattlerFlags & (1u << BATTLE_PARTNER(battlerDef))) + + !(gAbsentBattlerFlags & (1u << BATTLE_PARTNER(battlerAtk))); case MOVE_TARGET_OPPONENTS_FIELD: return 1; case MOVE_TARGET_DEPENDS: @@ -8874,8 +8929,12 @@ u32 CalcFuryCutterBasePower(u32 basePower, u32 furyCutterCounter) return basePower; } -static inline u32 CalcMoveBasePower(u32 move, u32 battlerAtk, u32 battlerDef, u32 abilityDef, u32 weather) +static inline u32 CalcMoveBasePower(struct DamageCalculationData *damageCalcData, u32 abilityDef, u32 weather) { + u32 battlerAtk = damageCalcData->battlerAtk; + u32 battlerDef = damageCalcData->battlerDef; + u32 move = damageCalcData->move; + u32 i; u32 basePower = gMovesInfo[move].power; u32 weight, hpFraction, speed; @@ -8895,7 +8954,7 @@ static inline u32 CalcMoveBasePower(u32 move, u32 battlerAtk, u32 battlerDef, u3 case EFFECT_FLING: basePower = GetFlingPowerFromItemId(gBattleMons[battlerAtk].item); break; - case EFFECT_ERUPTION: + case EFFECT_POWER_BASED_ON_USER_HP: basePower = gBattleMons[battlerAtk].hp * basePower / gBattleMons[battlerAtk].maxHP; break; case EFFECT_FLAIL: @@ -8957,8 +9016,8 @@ static inline u32 CalcMoveBasePower(u32 move, u32 battlerAtk, u32 battlerDef, u3 basePower *= 2; } break; - case EFFECT_VARY_POWER_BASED_ON_HP: - basePower = gMovesInfo[move].argument * gBattleMons[battlerDef].hp / gBattleMons[battlerDef].maxHP; + case EFFECT_POWER_BASED_ON_TARGET_HP: + basePower = gBattleMons[battlerDef].hp * basePower / gBattleMons[battlerDef].maxHP; break; case EFFECT_ASSURANCE: if (gProtectStructs[battlerDef].physicalDmg != 0 || gProtectStructs[battlerDef].specialDmg != 0 || gProtectStructs[battlerDef].confusionSelfDmg) @@ -9137,11 +9196,16 @@ static inline u32 CalcMoveBasePower(u32 move, u32 battlerAtk, u32 battlerDef, u3 return basePower; } -static inline u32 CalcMoveBasePowerAfterModifiers(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, bool32 updateFlags, u32 atkAbility, u32 defAbility, u32 holdEffectAtk, u32 weather) +static inline u32 CalcMoveBasePowerAfterModifiers(struct DamageCalculationData *damageCalcData, u32 atkAbility, u32 defAbility, u32 holdEffectAtk, u32 weather) { u32 i; u32 holdEffectParamAtk; - u32 basePower = CalcMoveBasePower(move, battlerAtk, battlerDef, defAbility, weather); + u32 basePower = CalcMoveBasePower(damageCalcData, defAbility, weather); + u32 battlerAtk = damageCalcData->battlerAtk; + u32 battlerDef = damageCalcData->battlerDef; + u32 move = damageCalcData->move; + u32 moveType = damageCalcData->moveType; + uq4_12_t holdEffectModifier; uq4_12_t modifier = UQ_4_12(1.0); u32 atkSide = GetBattlerSide(battlerAtk); @@ -9166,7 +9230,7 @@ static inline u32 CalcMoveBasePowerAfterModifiers(u32 move, u32 battlerAtk, u32 modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); break; case EFFECT_STOMPING_TANTRUM: - if (gBattleStruct->lastMoveFailed & gBitTable[battlerAtk]) + if (gBattleStruct->lastMoveFailed & (1u << battlerAtk)) modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; case EFFECT_MAGNITUDE: @@ -9343,7 +9407,7 @@ static inline u32 CalcMoveBasePowerAfterModifiers(u32 move, u32 battlerAtk, u32 if (moveType == TYPE_FIRE) { modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); - if (updateFlags) + if (damageCalcData->updateFlags) RecordAbilityBattle(battlerDef, defAbility); } break; @@ -9463,12 +9527,16 @@ static inline u32 CalcMoveBasePowerAfterModifiers(u32 move, u32 battlerAtk, u32 return uq4_12_multiply_by_int_half_down(modifier, basePower); } -static inline u32 CalcAttackStat(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, bool32 isCrit, bool32 updateFlags, u32 atkAbility, u32 defAbility, u32 holdEffectAtk, u32 weather) +static inline u32 CalcAttackStat(struct DamageCalculationData *damageCalcData, u32 atkAbility, u32 defAbility, u32 holdEffectAtk, u32 weather) { u8 atkStage; u32 atkStat; uq4_12_t modifier; u16 atkBaseSpeciesId; + u32 battlerAtk = damageCalcData->battlerAtk; + u32 battlerDef = damageCalcData->battlerDef; + u32 move = damageCalcData->move; + u32 moveType = damageCalcData->moveType; atkBaseSpeciesId = GET_BASE_SPECIES_ID(gBattleMons[battlerAtk].species); @@ -9517,7 +9585,7 @@ static inline u32 CalcAttackStat(u32 move, u32 battlerAtk, u32 battlerDef, u32 m } // critical hits ignore attack stat's stage drops - if (isCrit && atkStage < DEFAULT_STAT_STAGE) + if (damageCalcData->isCrit && atkStage < DEFAULT_STAT_STAGE) atkStage = DEFAULT_STAT_STAGE; // pokemon with unaware ignore attack stat changes while taking damage if (defAbility == ABILITY_UNAWARE) @@ -9663,7 +9731,7 @@ static inline u32 CalcAttackStat(u32 move, u32 battlerAtk, u32 battlerDef, u32 m if (moveType == TYPE_FIRE || moveType == TYPE_ICE) { modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(0.5)); - if (updateFlags) + if (damageCalcData->updateFlags) RecordAbilityBattle(battlerDef, ABILITY_THICK_FAT); } break; @@ -9740,12 +9808,15 @@ static bool32 CanEvolve(u32 species) return FALSE; } -static inline u32 CalcDefenseStat(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, bool32 isCrit, bool32 updateFlags, u32 atkAbility, u32 defAbility, u32 holdEffectDef, u32 weather) +static inline u32 CalcDefenseStat(struct DamageCalculationData *damageCalcData, u32 atkAbility, u32 defAbility, u32 holdEffectDef, u32 weather) { bool32 usesDefStat; u8 defStage; u32 defStat, def, spDef; uq4_12_t modifier; + u32 battlerDef = damageCalcData->battlerDef; + u32 move = damageCalcData->move; + u32 moveType = damageCalcData->moveType; if (gFieldStatuses & STATUS_FIELD_WONDER_ROOM) // the defense stats are swapped { @@ -9776,7 +9847,7 @@ static inline u32 CalcDefenseStat(u32 move, u32 battlerAtk, u32 battlerDef, u32 defStat /= 2; // critical hits ignore positive stat changes - if (isCrit && defStage > DEFAULT_STAT_STAGE) + if (damageCalcData->isCrit && defStage > DEFAULT_STAT_STAGE) defStage = DEFAULT_STAT_STAGE; // pokemon with unaware ignore defense stat changes while dealing damage if (atkAbility == ABILITY_UNAWARE) @@ -9798,7 +9869,7 @@ static inline u32 CalcDefenseStat(u32 move, u32 battlerAtk, u32 battlerDef, u32 if (gBattleMons[battlerDef].status1 & STATUS1_ANY && usesDefStat) { modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); - if (updateFlags) + if (damageCalcData->updateFlags) RecordAbilityBattle(battlerDef, ABILITY_MARVEL_SCALE); } break; @@ -9806,7 +9877,7 @@ static inline u32 CalcDefenseStat(u32 move, u32 battlerAtk, u32 battlerDef, u32 if (usesDefStat) { modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(2.0)); - if (updateFlags) + if (damageCalcData->updateFlags) RecordAbilityBattle(battlerDef, ABILITY_FUR_COAT); } break; @@ -9814,7 +9885,7 @@ static inline u32 CalcDefenseStat(u32 move, u32 battlerAtk, u32 battlerDef, u32 if (gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN && usesDefStat) { modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); - if (updateFlags) + if (damageCalcData->updateFlags) RecordAbilityBattle(battlerDef, ABILITY_GRASS_PELT); } break; @@ -9898,9 +9969,9 @@ static inline s32 CalculateBaseDamage(u32 power, u32 userFinalAttack, u32 level, return power * userFinalAttack * (2 * level / 5 + 2) / targetFinalDefense / 50 + 2; } -static inline uq4_12_t GetTargetDamageModifier(u32 move, u32 battlerAtk, u32 battlerDef) +static inline uq4_12_t GetTargetDamageModifier(struct DamageCalculationData *damageCalcData) { - if (IsDoubleBattle() && GetMoveTargetCount(move, battlerAtk, battlerDef) >= 2) + if (IsDoubleBattle() && GetMoveTargetCount(damageCalcData) >= 2) return B_MULTIPLE_TARGETS_DMG >= GEN_4 ? UQ_4_12(0.75) : UQ_4_12(0.5); return UQ_4_12(1.0); } @@ -9912,8 +9983,12 @@ static inline uq4_12_t GetParentalBondModifier(u32 battlerAtk) return B_PARENTAL_BOND_DMG >= GEN_7 ? UQ_4_12(0.25) : UQ_4_12(0.5); } -static inline uq4_12_t GetSameTypeAttackBonusModifier(u32 battlerAtk, u32 moveType, u32 move, u32 abilityAtk) +static inline uq4_12_t GetSameTypeAttackBonusModifier(struct DamageCalculationData *damageCalcData, u32 abilityAtk) { + u32 battlerAtk = damageCalcData->battlerAtk; + u32 move = damageCalcData->move; + u32 moveType = damageCalcData->moveType; + if (moveType == TYPE_MYSTERY) return UQ_4_12(1.0); else if (gBattleStruct->pledgeMove && IS_BATTLER_OF_TYPE(BATTLE_PARTNER(battlerAtk), moveType)) @@ -9924,8 +9999,11 @@ static inline uq4_12_t GetSameTypeAttackBonusModifier(u32 battlerAtk, u32 moveTy } // Utility Umbrella holders take normal damage from what would be rain- and sun-weakened attacks. -static uq4_12_t GetWeatherDamageModifier(u32 battlerAtk, u32 move, u32 moveType, u32 holdEffectAtk, u32 holdEffectDef, u32 weather) +static uq4_12_t GetWeatherDamageModifier(struct DamageCalculationData *damageCalcData, u32 holdEffectAtk, u32 holdEffectDef, u32 weather) { + u32 move = damageCalcData->move; + u32 moveType = damageCalcData->moveType; + if (weather == B_WEATHER_NONE) return UQ_4_12(1.0); if (gMovesInfo[move].effect == EFFECT_HYDRO_STEAM && (weather & B_WEATHER_SUN) && holdEffectAtk != HOLD_EFFECT_UTILITY_UMBRELLA) @@ -9948,8 +10026,11 @@ static uq4_12_t GetWeatherDamageModifier(u32 battlerAtk, u32 move, u32 moveType, return UQ_4_12(1.0); } -static inline uq4_12_t GetBurnOrFrostBiteModifier(u32 battlerAtk, u32 move, u32 abilityAtk) +static inline uq4_12_t GetBurnOrFrostBiteModifier(struct DamageCalculationData *damageCalcData, u32 abilityAtk) { + u32 battlerAtk = damageCalcData->battlerAtk; + u32 move = damageCalcData->move; + if (gBattleMons[battlerAtk].status1 & STATUS1_BURN && IS_MOVE_PHYSICAL(move) && (B_BURN_FACADE_DMG < GEN_6 || gMovesInfo[move].effect != EFFECT_FACADE) @@ -9976,9 +10057,9 @@ static inline uq4_12_t GetGlaiveRushModifier(u32 battlerDef) return UQ_4_12(1.0); } -static inline uq4_12_t GetZMaxMoveAgainstProtectionModifier(u32 battlerDef, u32 move) +static inline uq4_12_t GetZMaxMoveAgainstProtectionModifier(struct DamageCalculationData *damageCalcData) { - if ((IsZMove(move) || IsMaxMove(move)) && IS_BATTLER_PROTECTED(battlerDef)) + if ((IsZMove(damageCalcData->move) || IsMaxMove(damageCalcData->move)) && IS_BATTLER_PROTECTED(damageCalcData->battlerDef)) return UQ_4_12(0.25); return UQ_4_12(1.0); } @@ -10021,7 +10102,7 @@ static inline uq4_12_t GetScreensModifier(u32 move, u32 battlerAtk, u32 battlerD if (isCrit || abilityAtk == ABILITY_INFILTRATOR || gProtectStructs[battlerAtk].confusionSelfDmg) return UQ_4_12(1.0); if (reflect || lightScreen || auroraVeil) - return (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) ? UQ_4_12(0.667) : UQ_4_12(0.5); + return (IsDoubleBattle()) ? UQ_4_12(0.667) : UQ_4_12(0.5); return UQ_4_12(1.0); } @@ -10119,8 +10200,11 @@ static inline uq4_12_t GetAttackerItemsModifier(u32 battlerAtk, uq4_12_t typeEff return UQ_4_12(1.0); } -static inline uq4_12_t GetDefenderItemsModifier(u32 moveType, u32 battlerDef, uq4_12_t typeEffectivenessModifier, bool32 updateFlags, u32 abilityDef, u32 holdEffectDef) +static inline uq4_12_t GetDefenderItemsModifier(struct DamageCalculationData *damageCalcData, uq4_12_t typeEffectivenessModifier, u32 abilityDef, u32 holdEffectDef) { + u32 battlerDef = damageCalcData->battlerDef; + u32 moveType = damageCalcData->moveType; + u32 holdEffectDefParam = GetBattlerHoldEffectParam(battlerDef); u32 itemDef = gBattleMons[battlerDef].item; @@ -10131,7 +10215,7 @@ static inline uq4_12_t GetDefenderItemsModifier(u32 moveType, u32 battlerDef, uq return UQ_4_12(1.0); if (moveType == holdEffectDefParam && (moveType == TYPE_NORMAL || typeEffectivenessModifier >= UQ_4_12(2.0))) { - if (updateFlags) + if (damageCalcData->updateFlags) gSpecialStatuses[battlerDef].berryReduced = TRUE; return (abilityDef == ABILITY_RIPEN) ? UQ_4_12(0.25) : UQ_4_12(0.5); } @@ -10150,9 +10234,15 @@ static inline uq4_12_t GetDefenderItemsModifier(u32 moveType, u32 battlerDef, uq // https://bulbapedia.bulbagarden.net/wiki/Damage#Generation_V_onward // Please Note: Fixed Point Multiplication is not associative. // The order of operations is relevant. -static inline uq4_12_t GetOtherModifiers(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, bool32 isCrit, uq4_12_t typeEffectivenessModifier, bool32 updateFlags, +static inline uq4_12_t GetOtherModifiers(struct DamageCalculationData *damageCalcData, uq4_12_t typeEffectivenessModifier, u32 abilityAtk, u32 abilityDef, u32 holdEffectAtk, u32 holdEffectDef) { + u32 battlerAtk = damageCalcData->battlerAtk; + u32 battlerDef = damageCalcData->battlerDef; + u32 move = damageCalcData->move; + u32 moveType = damageCalcData->moveType; + u32 isCrit = damageCalcData->isCrit; + uq4_12_t finalModifier = UQ_4_12(1.0); u32 battlerDefPartner = BATTLE_PARTNER(battlerDef); u32 unmodifiedAttackerSpeed = gBattleMons[battlerAtk].speed; @@ -10171,14 +10261,14 @@ static inline uq4_12_t GetOtherModifiers(u32 move, u32 moveType, u32 battlerAtk, DAMAGE_MULTIPLY_MODIFIER(GetDefenderAbilitiesModifier(move, moveType, battlerAtk, battlerDef, typeEffectivenessModifier, abilityDef)); DAMAGE_MULTIPLY_MODIFIER(GetDefenderPartnerAbilitiesModifier(battlerDefPartner)); DAMAGE_MULTIPLY_MODIFIER(GetAttackerItemsModifier(battlerAtk, typeEffectivenessModifier, holdEffectAtk)); - DAMAGE_MULTIPLY_MODIFIER(GetDefenderItemsModifier(moveType, battlerDef, typeEffectivenessModifier, updateFlags, abilityDef, holdEffectDef)); + DAMAGE_MULTIPLY_MODIFIER(GetDefenderItemsModifier(damageCalcData, typeEffectivenessModifier, abilityDef, holdEffectDef)); } else { DAMAGE_MULTIPLY_MODIFIER(GetDefenderAbilitiesModifier(move, moveType, battlerAtk, battlerDef, typeEffectivenessModifier, abilityDef)); DAMAGE_MULTIPLY_MODIFIER(GetDefenderPartnerAbilitiesModifier(battlerDefPartner)); DAMAGE_MULTIPLY_MODIFIER(GetAttackerAbilitiesModifier(battlerAtk, typeEffectivenessModifier, isCrit, abilityAtk)); - DAMAGE_MULTIPLY_MODIFIER(GetDefenderItemsModifier(moveType, battlerDef, typeEffectivenessModifier, updateFlags, abilityDef, holdEffectDef)); + DAMAGE_MULTIPLY_MODIFIER(GetDefenderItemsModifier(damageCalcData, typeEffectivenessModifier, abilityDef, holdEffectDef)); DAMAGE_MULTIPLY_MODIFIER(GetAttackerItemsModifier(battlerAtk, typeEffectivenessModifier, holdEffectAtk)); } return finalModifier; @@ -10190,73 +10280,75 @@ static inline uq4_12_t GetOtherModifiers(u32 move, u32 moveType, u32 battlerAtk, dmg = uq4_12_multiply_by_int_half_down(modifier, dmg); \ } while (0) -static inline s32 DoMoveDamageCalcVars(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, - bool32 isCrit, bool32 randomFactor, bool32 updateFlags, uq4_12_t typeEffectivenessModifier, u32 weather, - u32 holdEffectAtk, u32 holdEffectDef, u32 abilityAtk, u32 abilityDef) +static inline s32 DoMoveDamageCalcVars(struct DamageCalculationData *damageCalcData, u32 fixedBasePower, uq4_12_t typeEffectivenessModifier, u32 weather, + u32 holdEffectAtk, u32 holdEffectDef, u32 abilityAtk, u32 abilityDef) { s32 dmg; u32 userFinalAttack; u32 targetFinalDefense; + u32 battlerAtk = damageCalcData->battlerAtk; + u32 battlerDef = damageCalcData->battlerDef; if (fixedBasePower) gBattleMovePower = fixedBasePower; else - gBattleMovePower = CalcMoveBasePowerAfterModifiers(move, battlerAtk, battlerDef, moveType, updateFlags, abilityAtk, abilityDef, holdEffectAtk, weather); + gBattleMovePower = CalcMoveBasePowerAfterModifiers(damageCalcData, abilityAtk, abilityDef, holdEffectAtk, weather); - userFinalAttack = CalcAttackStat(move, battlerAtk, battlerDef, moveType, isCrit, updateFlags, abilityAtk, abilityDef, holdEffectAtk, weather); - targetFinalDefense = CalcDefenseStat(move, battlerAtk, battlerDef, moveType, isCrit, updateFlags, abilityAtk, abilityDef, holdEffectDef, weather); + userFinalAttack = CalcAttackStat(damageCalcData, abilityAtk, abilityDef, holdEffectAtk, weather); + targetFinalDefense = CalcDefenseStat(damageCalcData, abilityAtk, abilityDef, holdEffectDef, weather); dmg = CalculateBaseDamage(gBattleMovePower, userFinalAttack, gBattleMons[battlerAtk].level, targetFinalDefense); - DAMAGE_APPLY_MODIFIER(GetTargetDamageModifier(move, battlerAtk, battlerDef)); + DAMAGE_APPLY_MODIFIER(GetTargetDamageModifier(damageCalcData)); DAMAGE_APPLY_MODIFIER(GetParentalBondModifier(battlerAtk)); - DAMAGE_APPLY_MODIFIER(GetWeatherDamageModifier(battlerAtk, move, moveType, holdEffectAtk, holdEffectDef, weather)); - DAMAGE_APPLY_MODIFIER(GetCriticalModifier(isCrit)); + DAMAGE_APPLY_MODIFIER(GetWeatherDamageModifier(damageCalcData, holdEffectAtk, holdEffectDef, weather)); + DAMAGE_APPLY_MODIFIER(GetCriticalModifier(damageCalcData->isCrit)); DAMAGE_APPLY_MODIFIER(GetGlaiveRushModifier(battlerDef)); - if (randomFactor) + if (damageCalcData->randomFactor) { dmg *= DMG_ROLL_PERCENT_HI - RandomUniform(RNG_DAMAGE_MODIFIER, 0, DMG_ROLL_PERCENT_HI - DMG_ROLL_PERCENT_LO); dmg /= 100; } if (GetActiveGimmick(battlerAtk) == GIMMICK_TERA) - DAMAGE_APPLY_MODIFIER(GetTeraMultiplier(battlerAtk, moveType)); + DAMAGE_APPLY_MODIFIER(GetTeraMultiplier(battlerAtk, damageCalcData->moveType)); else - DAMAGE_APPLY_MODIFIER(GetSameTypeAttackBonusModifier(battlerAtk, moveType, move, abilityAtk)); + DAMAGE_APPLY_MODIFIER(GetSameTypeAttackBonusModifier(damageCalcData, abilityAtk)); DAMAGE_APPLY_MODIFIER(typeEffectivenessModifier); - DAMAGE_APPLY_MODIFIER(GetBurnOrFrostBiteModifier(battlerAtk, move, abilityAtk)); - DAMAGE_APPLY_MODIFIER(GetZMaxMoveAgainstProtectionModifier(battlerDef, move)); - DAMAGE_APPLY_MODIFIER(GetOtherModifiers(move, moveType, battlerAtk, battlerDef, isCrit, typeEffectivenessModifier, updateFlags, abilityAtk, abilityDef, holdEffectAtk, holdEffectDef)); + DAMAGE_APPLY_MODIFIER(GetBurnOrFrostBiteModifier(damageCalcData, abilityAtk)); + DAMAGE_APPLY_MODIFIER(GetZMaxMoveAgainstProtectionModifier(damageCalcData)); + DAMAGE_APPLY_MODIFIER(GetOtherModifiers(damageCalcData, typeEffectivenessModifier, abilityAtk, abilityDef, holdEffectAtk, holdEffectDef)); if (dmg == 0) dmg = 1; return dmg; } -static inline s32 DoMoveDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, - bool32 isCrit, bool32 randomFactor, bool32 updateFlags, uq4_12_t typeEffectivenessModifier, u32 weather) +static inline s32 DoMoveDamageCalc(struct DamageCalculationData *damageCalcData, u32 fixedBasePower, uq4_12_t typeEffectivenessModifier, u32 weather) { u32 holdEffectAtk, holdEffectDef, abilityAtk, abilityDef; if (typeEffectivenessModifier == UQ_4_12(0.0)) return 0; - holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); - holdEffectDef = GetBattlerHoldEffect(battlerDef, TRUE); - abilityAtk = GetBattlerAbility(battlerAtk); - abilityDef = GetBattlerAbility(battlerDef); + holdEffectAtk = GetBattlerHoldEffect(damageCalcData->battlerAtk, TRUE); + holdEffectDef = GetBattlerHoldEffect(damageCalcData->battlerDef, TRUE); + abilityAtk = GetBattlerAbility(damageCalcData->battlerAtk); + abilityDef = GetBattlerAbility(damageCalcData->battlerDef); - return DoMoveDamageCalcVars(move, battlerAtk, battlerDef, moveType, fixedBasePower, isCrit, randomFactor, - updateFlags, typeEffectivenessModifier, weather, holdEffectAtk, holdEffectDef, abilityAtk, abilityDef); + return DoMoveDamageCalcVars(damageCalcData, fixedBasePower, typeEffectivenessModifier, weather, holdEffectAtk, holdEffectDef, abilityAtk, abilityDef); } -static inline s32 DoFutureSightAttackDamageCalcVars(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, - bool32 isCrit, bool32 randomFactor, bool32 updateFlags, uq4_12_t typeEffectivenessModifier, u32 weather, - u32 holdEffectDef, u32 abilityDef) +static inline s32 DoFutureSightAttackDamageCalcVars(struct DamageCalculationData *damageCalcData, uq4_12_t typeEffectivenessModifier, + u32 weather, u32 holdEffectDef, u32 abilityDef) { s32 dmg; u32 userFinalAttack; u32 targetFinalDefense; + u32 battlerAtk = damageCalcData->battlerAtk; + u32 battlerDef = damageCalcData->battlerDef; + u32 move = damageCalcData->move; + u32 moveType = damageCalcData->moveType; struct Pokemon *party = GetSideParty(GetBattlerSide(battlerAtk)); struct Pokemon *partyMon = &party[gWishFutureKnock.futureSightPartyIndex[battlerDef]]; @@ -10269,12 +10361,12 @@ static inline s32 DoFutureSightAttackDamageCalcVars(u32 move, u32 battlerAtk, u3 else userFinalAttack = GetMonData(partyMon, MON_DATA_SPATK, NULL); - targetFinalDefense = CalcDefenseStat(move, battlerAtk, battlerDef, moveType, isCrit, updateFlags, ABILITY_NONE, abilityDef, holdEffectDef, weather); + targetFinalDefense = CalcDefenseStat(damageCalcData, ABILITY_NONE, abilityDef, holdEffectDef, weather); dmg = CalculateBaseDamage(gBattleMovePower, userFinalAttack, partyMonLevel, targetFinalDefense); - DAMAGE_APPLY_MODIFIER(GetCriticalModifier(isCrit)); + DAMAGE_APPLY_MODIFIER(GetCriticalModifier(damageCalcData->isCrit)); - if (randomFactor) + if (damageCalcData->randomFactor) { dmg *= DMG_ROLL_PERCENT_HI - RandomUniform(RNG_DAMAGE_MODIFIER, 0, DMG_ROLL_PERCENT_HI - DMG_ROLL_PERCENT_LO); dmg /= 100; @@ -10295,19 +10387,17 @@ static inline s32 DoFutureSightAttackDamageCalcVars(u32 move, u32 battlerAtk, u3 return dmg; } -static inline s32 DoFutureSightAttackDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, - bool32 isCrit, bool32 randomFactor, bool32 updateFlags, uq4_12_t typeEffectivenessModifier, u32 weather) +static inline s32 DoFutureSightAttackDamageCalc(struct DamageCalculationData *damageCalcData, uq4_12_t typeEffectivenessModifier, u32 weather) { u32 holdEffectDef, abilityDef; if (typeEffectivenessModifier == UQ_4_12(0.0)) return 0; - holdEffectDef = GetBattlerHoldEffect(battlerDef, TRUE); - abilityDef = GetBattlerAbility(battlerDef); + holdEffectDef = GetBattlerHoldEffect(damageCalcData->battlerDef, TRUE); + abilityDef = GetBattlerAbility(damageCalcData->battlerDef); - return DoFutureSightAttackDamageCalcVars(move, battlerAtk, battlerDef, moveType, isCrit, randomFactor, - updateFlags, typeEffectivenessModifier, weather, holdEffectDef, abilityDef); + return DoFutureSightAttackDamageCalcVars(damageCalcData, typeEffectivenessModifier, weather, holdEffectDef, abilityDef); } #undef DAMAGE_APPLY_MODIFIER @@ -10320,31 +10410,37 @@ static u32 GetWeather(void) return gBattleWeather; } -s32 CalculateMoveDamage(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags) +static inline bool32 IsFutureSightAttackerInParty(struct DamageCalculationData *damageCalcData) { + if (gMovesInfo[damageCalcData->move].effect != EFFECT_FUTURE_SIGHT) + return FALSE; + struct Pokemon *party = GetSideParty(GetBattlerSide(gBattlerAttacker)); + return &party[gWishFutureKnock.futureSightPartyIndex[damageCalcData->battlerDef]] + != &party[gBattlerPartyIndexes[damageCalcData->battlerAtk]]; +} - if (gMovesInfo[move].effect == EFFECT_FUTURE_SIGHT - && (&party[gWishFutureKnock.futureSightPartyIndex[battlerDef]] != &party[gBattlerPartyIndexes[battlerAtk]]) ) - { - return DoFutureSightAttackDamageCalc(move, battlerAtk, battlerDef, moveType, isCrit, randomFactor, - updateFlags, CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, GetBattlerAbility(battlerDef), updateFlags), - GetWeather()); - } - else - { - return DoMoveDamageCalc(move, battlerAtk, battlerDef, moveType, fixedBasePower, isCrit, randomFactor, - updateFlags, CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, GetBattlerAbility(battlerDef), updateFlags), - GetWeather()); - } +s32 CalculateMoveDamage(struct DamageCalculationData *damageCalcData, u32 fixedBasePower) +{ + u32 typeEffectivenessMultiplier = CalcTypeEffectivenessMultiplier(damageCalcData->move, + damageCalcData->moveType, + damageCalcData->battlerAtk, + damageCalcData->battlerDef, + GetBattlerAbility(damageCalcData->battlerDef), + damageCalcData->updateFlags); + + if (IsFutureSightAttackerInParty(damageCalcData)) + return DoFutureSightAttackDamageCalc(damageCalcData, typeEffectivenessMultiplier, GetWeather()); + + return DoMoveDamageCalc(damageCalcData, fixedBasePower, typeEffectivenessMultiplier, GetWeather()); } // for AI so that typeEffectivenessModifier, weather, abilities and holdEffects are calculated only once -s32 CalculateMoveDamageVars(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t typeEffectivenessModifier, - u32 weather, bool32 isCrit, u32 holdEffectAtk, u32 holdEffectDef, u32 abilityAtk, u32 abilityDef) +s32 CalculateMoveDamageVars(struct DamageCalculationData *damageCalcData, u32 fixedBasePower, uq4_12_t typeEffectivenessModifier, + u32 weather, u32 holdEffectAtk, u32 holdEffectDef, u32 abilityAtk, u32 abilityDef) { - return DoMoveDamageCalcVars(move, battlerAtk, battlerDef, moveType, fixedBasePower, isCrit, FALSE, FALSE, - typeEffectivenessModifier, weather, holdEffectAtk, holdEffectDef, abilityAtk, abilityDef); + return DoMoveDamageCalcVars(damageCalcData, fixedBasePower, typeEffectivenessModifier, weather, + holdEffectAtk, holdEffectDef, abilityAtk, abilityDef); } static inline void MulByTypeEffectiveness(uq4_12_t *modifier, u32 move, u32 moveType, u32 battlerDef, u32 defType, u32 battlerAtk, bool32 recordAbilities) @@ -10387,7 +10483,7 @@ static inline void MulByTypeEffectiveness(uq4_12_t *modifier, u32 move, u32 move mod = UQ_4_12(1.0); } - if (gBattleStruct->distortedTypeMatchups & gBitTable[battlerDef] || (gBattleStruct->aiCalcInProgress && ShouldTeraShellDistortTypeMatchups(move, battlerDef))) + if (gSpecialStatuses[battlerDef].distortedTypeMatchups || (AI_DATA->aiCalcInProgress && ShouldTeraShellDistortTypeMatchups(move, battlerDef))) { mod = UQ_4_12(0.5); if (recordAbilities) @@ -10454,7 +10550,7 @@ static inline uq4_12_t CalcTypeEffectivenessMultiplierInternal(u32 move, u32 mov if (B_GLARE_GHOST < GEN_4 && move == MOVE_GLARE && IS_BATTLER_OF_TYPE(battlerDef, TYPE_GHOST)) modifier = UQ_4_12(0.0); } - else if (moveType == TYPE_GROUND && !IsBattlerGrounded2(battlerDef, TRUE) && !(gMovesInfo[move].ignoreTypeIfFlyingAndUngrounded)) + else if (moveType == TYPE_GROUND && !IsBattlerGroundedInverseCheck(battlerDef, TRUE) && !(gMovesInfo[move].ignoreTypeIfFlyingAndUngrounded)) { modifier = UQ_4_12(0.0); if (recordAbilities && defAbility == ABILITY_LEVITATE) @@ -10519,8 +10615,7 @@ uq4_12_t CalcTypeEffectivenessMultiplier(u32 move, u32 moveType, u32 battlerAtk, uq4_12_t CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilityDef) { uq4_12_t modifier = UQ_4_12(1.0); - u32 moveType; - GET_MOVE_TYPE(move, moveType); + u32 moveType = GetMoveType(move); if (move != MOVE_STRUGGLE && moveType != TYPE_MYSTERY) { @@ -11118,7 +11213,6 @@ static u32 SwapMoveDamageCategory(u32 move) u8 GetBattleMoveCategory(u32 moveId) { - u8 moveType; if (gBattleStruct != NULL && gBattleStruct->swapDamageCategory) // Photon Geyser, Shell Side Arm, Light That Burns the Sky, Tera Blast return SwapMoveDamageCategory(moveId); if (gBattleStruct != NULL && (IsZMove(moveId) || IsMaxMove(moveId))) // TODO: Might be buggy depending on when this is called. @@ -11128,11 +11222,7 @@ u8 GetBattleMoveCategory(u32 moveId) if (IS_MOVE_STATUS(moveId)) return DAMAGE_CATEGORY_STATUS; - else if (gMain.inBattle) - GET_MOVE_TYPE(moveId, moveType); - else - moveType = gMovesInfo[moveId].type; - return gTypesInfo[moveType].damageCategory; + return gTypesInfo[GetMoveType(gCurrentMove)].damageCategory; } static bool32 TryRemoveScreens(u32 battler) @@ -11308,7 +11398,7 @@ bool32 CanStealItem(u32 battlerStealing, u32 battlerItem, u16 item) | BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_SECRET_BASE)) - && (gWishFutureKnock.knockedOffMons[stealerSide] & gBitTable[gBattlerPartyIndexes[battlerStealing]])) + && (gWishFutureKnock.knockedOffMons[stealerSide] & (1u << gBattlerPartyIndexes[battlerStealing]))) { return FALSE; } @@ -11510,14 +11600,11 @@ bool32 IsBattlerWeatherAffected(u32 battler, u32 weatherFlags) // Possible return values are defined in battle.h following MOVE_TARGET_SELECTED u32 GetBattlerMoveTargetType(u32 battler, u32 move) { - if (move == MOVE_CURSE - && !IS_BATTLER_OF_TYPE(battler, TYPE_GHOST)) + if (move == MOVE_CURSE && !IS_BATTLER_OF_TYPE(battler, TYPE_GHOST)) return MOVE_TARGET_USER; - else if (gMovesInfo[move].effect == EFFECT_EXPANDING_FORCE - && IsBattlerTerrainAffected(battler, STATUS_FIELD_PSYCHIC_TERRAIN)) + if (gMovesInfo[move].effect == EFFECT_EXPANDING_FORCE && IsBattlerTerrainAffected(battler, STATUS_FIELD_PSYCHIC_TERRAIN)) return MOVE_TARGET_BOTH; - else if (gMovesInfo[move].effect == EFFECT_TERA_STARSTORM - && gBattleMons[battler].species == SPECIES_TERAPAGOS_STELLAR) + if (gMovesInfo[move].effect == EFFECT_TERA_STARSTORM && gBattleMons[battler].species == SPECIES_TERAPAGOS_STELLAR) return MOVE_TARGET_BOTH; return gMovesInfo[move].target; @@ -11855,7 +11942,7 @@ void SetShellSideArmCategory(void) bool32 CanTargetPartner(u32 battlerAtk, u32 battlerDef) { - return (gBattleTypeFlags & BATTLE_TYPE_DOUBLE + return (IsDoubleBattle() && IsBattlerAlive(BATTLE_PARTNER(battlerDef)) && battlerDef != BATTLE_PARTNER(battlerAtk)); } @@ -11868,11 +11955,20 @@ static inline bool32 DoesBattlerHaveAbilityImmunity(u32 battlerDef) bool32 TargetFullyImmuneToCurrMove(u32 battlerAtk, u32 battlerDef) { - u32 moveType = 0; - GET_MOVE_TYPE(gCurrentMove, moveType); - - return ((CalcTypeEffectivenessMultiplier(gCurrentMove, moveType, battlerAtk, battlerDef, GetBattlerAbility(battlerDef), FALSE) == UQ_4_12(0.0)) + return ((CalcTypeEffectivenessMultiplier(gCurrentMove, GetMoveType(gCurrentMove), battlerAtk, battlerDef, GetBattlerAbility(battlerDef), FALSE) == UQ_4_12(0.0)) || IsBattlerProtected(battlerAtk, battlerDef, gCurrentMove) || IsSemiInvulnerable(battlerDef, gCurrentMove) || DoesBattlerHaveAbilityImmunity(battlerDef)); } + +u32 GetMoveType(u32 move) +{ + if (gMain.inBattle && gBattleStruct->dynamicMoveType) + return gBattleStruct->dynamicMoveType & DYNAMIC_TYPE_MASK; + else if (B_UPDATED_MOVE_TYPES < GEN_5 + && (move == MOVE_BEAT_UP + || move == MOVE_FUTURE_SIGHT + || move == MOVE_DOOM_DESIRE)) + return TYPE_MYSTERY; + return gMovesInfo[move].type; +} diff --git a/src/battle_util2.c b/src/battle_util2.c index 2c333978d240..326acf0e40a8 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -80,7 +80,7 @@ void AdjustFriendshipOnBattleFaint(u8 battler) { u8 opposingBattlerId; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (IsDoubleBattle()) { u8 opposingBattlerId2; diff --git a/src/battle_z_move.c b/src/battle_z_move.c index 89514336a728..5e6cfe8e0e79 100644 --- a/src/battle_z_move.c +++ b/src/battle_z_move.c @@ -56,10 +56,10 @@ static const struct SignatureZMove sSignatureZMoves[] = {SPECIES_PIKACHU_ROCK_STAR, ITEM_PIKANIUM_Z, MOVE_VOLT_TACKLE, MOVE_CATASTROPIKA}, {SPECIES_PIKACHU_BELLE, ITEM_PIKANIUM_Z, MOVE_VOLT_TACKLE, MOVE_CATASTROPIKA}, {SPECIES_PIKACHU_POP_STAR, ITEM_PIKANIUM_Z, MOVE_VOLT_TACKLE, MOVE_CATASTROPIKA}, - {SPECIES_PIKACHU_PH_D, ITEM_PIKANIUM_Z, MOVE_VOLT_TACKLE, MOVE_CATASTROPIKA}, + {SPECIES_PIKACHU_PHD, ITEM_PIKANIUM_Z, MOVE_VOLT_TACKLE, MOVE_CATASTROPIKA}, {SPECIES_PIKACHU_LIBRE, ITEM_PIKANIUM_Z, MOVE_VOLT_TACKLE, MOVE_CATASTROPIKA}, - {SPECIES_RAICHU_ALOLAN, ITEM_ALORAICHIUM_Z, MOVE_THUNDERBOLT, MOVE_STOKED_SPARKSURFER}, + {SPECIES_RAICHU_ALOLA, ITEM_ALORAICHIUM_Z, MOVE_THUNDERBOLT, MOVE_STOKED_SPARKSURFER}, {SPECIES_DECIDUEYE, ITEM_DECIDIUM_Z, MOVE_SPIRIT_SHACKLE, MOVE_SINISTER_ARROW_RAID}, {SPECIES_INCINEROAR, ITEM_INCINIUM_Z, MOVE_DARKEST_LARIAT, MOVE_MALICIOUS_MOONSAULT}, {SPECIES_KOMMO_O, ITEM_KOMMONIUM_Z, MOVE_CLANGING_SCALES, MOVE_CLANGOROUS_SOULBLAZE}, @@ -72,15 +72,15 @@ static const struct SignatureZMove sSignatureZMoves[] = {SPECIES_MIMIKYU_DISGUISED, ITEM_MIMIKIUM_Z, MOVE_PLAY_ROUGH, MOVE_LETS_SNUGGLE_FOREVER}, {SPECIES_MIMIKYU_BUSTED, ITEM_MIMIKIUM_Z, MOVE_PLAY_ROUGH, MOVE_LETS_SNUGGLE_FOREVER}, {SPECIES_MIMIKYU_TOTEM_DISGUISED, ITEM_MIMIKIUM_Z, MOVE_PLAY_ROUGH, MOVE_LETS_SNUGGLE_FOREVER}, - {SPECIES_MIMIKYU_TOTEM_BUSTED, ITEM_MIMIKIUM_Z, MOVE_PLAY_ROUGH, MOVE_LETS_SNUGGLE_FOREVER}, - {SPECIES_PIKACHU_ORIGINAL_CAP, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, - {SPECIES_PIKACHU_HOENN_CAP, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, - {SPECIES_PIKACHU_SINNOH_CAP, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, - {SPECIES_PIKACHU_UNOVA_CAP, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, - {SPECIES_PIKACHU_KALOS_CAP, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, - {SPECIES_PIKACHU_ALOLA_CAP, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, - {SPECIES_PIKACHU_PARTNER_CAP, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, - {SPECIES_PIKACHU_WORLD_CAP, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, + {SPECIES_MIMIKYU_BUSTED_TOTEM, ITEM_MIMIKIUM_Z, MOVE_PLAY_ROUGH, MOVE_LETS_SNUGGLE_FOREVER}, + {SPECIES_PIKACHU_ORIGINAL, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, + {SPECIES_PIKACHU_HOENN, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, + {SPECIES_PIKACHU_SINNOH, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, + {SPECIES_PIKACHU_UNOVA, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, + {SPECIES_PIKACHU_KALOS, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, + {SPECIES_PIKACHU_ALOLA, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, + {SPECIES_PIKACHU_PARTNER, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, + {SPECIES_PIKACHU_WORLD, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, {SPECIES_PRIMARINA, ITEM_PRIMARIUM_Z, MOVE_SPARKLING_ARIA, MOVE_OCEANIC_OPERETTA}, {SPECIES_SOLGALEO, ITEM_SOLGANIUM_Z, MOVE_SUNSTEEL_STRIKE, MOVE_SEARING_SUNRAZE_SMASH}, {SPECIES_NECROZMA_DUSK_MANE, ITEM_SOLGANIUM_Z, MOVE_SUNSTEEL_STRIKE, MOVE_SEARING_SUNRAZE_SMASH}, @@ -209,13 +209,13 @@ void AssignUsableZMoves(u32 battler, u16 *moves) for (i = 0; i < MAX_MON_MOVES; i++) { if (moves[i] != MOVE_NONE && IsViableZMove(battler, moves[i])) - gBattleStruct->zmove.possibleZMoves[battler] |= gBitTable[i]; + gBattleStruct->zmove.possibleZMoves[battler] |= 1u << i; } } bool32 TryChangeZTrigger(u32 battler, u32 moveIndex) { - bool32 viableZMove = (gBattleStruct->zmove.possibleZMoves[battler] & gBitTable[moveIndex]) != 0; + bool32 viableZMove = (gBattleStruct->zmove.possibleZMoves[battler] & (1u << moveIndex)) != 0; if (gBattleStruct->zmove.viable && !viableZMove) HideGimmickTriggerSprite(); // Was a viable z move, now is not -> slide out @@ -415,9 +415,7 @@ static void ZMoveSelectionDisplayPpNumber(u32 battler) static void ZMoveSelectionDisplayMoveType(u16 zMove, u32 battler) { u8 *txtPtr, *end; - u8 zMoveType; - - GET_MOVE_TYPE(zMove, zMoveType); + u32 zMoveType = GetMoveType(zMove); txtPtr = StringCopy(gDisplayedStringBattle, gText_MoveInterfaceType); *(txtPtr)++ = EXT_CTRL_CODE_BEGIN; diff --git a/src/berry.c b/src/berry.c index b1e29be6db02..88278db47b4b 100644 --- a/src/berry.c +++ b/src/berry.c @@ -1817,6 +1817,8 @@ bool32 BerryTreeGrow(struct BerryTree *tree) tree->stage = BERRY_STAGE_BERRIES; break; case BERRY_STAGE_BERRIES: + if (OW_BERRY_IMMORTAL) + break; tree->watered = 0; tree->berryYield = 0; tree->stage = BERRY_STAGE_SPROUTED; @@ -1842,16 +1844,16 @@ static u16 GetMulchAffectedGrowthRate(u16 berryDuration, u8 mulch, u8 stage) void BerryTreeTimeUpdate(s32 minutes) { int i; - u8 drainVal; + u32 drainVal; struct BerryTree *tree; for (i = 0; i < BERRY_TREES_COUNT; i++) { tree = &gSaveBlock1Ptr->berryTrees[i]; - if (tree->berry && tree->stage && !tree->stopGrowth) + if (tree->berry && tree->stage && !tree->stopGrowth && (!OW_BERRY_IMMORTAL || tree->stage != BERRY_STAGE_BERRIES)) { - if (minutes >= GetStageDurationByBerryType(tree->berry) * 71) + if ((!OW_BERRY_IMMORTAL) && (minutes >= GetStageDurationByBerryType(tree->berry) * 71)) { *tree = gBlankBerryTree; } @@ -2142,6 +2144,8 @@ void ObjectEventInteractionGetBerryCountString(void) u8 treeId = GetObjectEventBerryTreeId(gSelectedObjectEvent); u8 berry = GetBerryTypeByBerryTreeId(treeId); u8 count = GetBerryCountByBerryTreeId(treeId); + + gSpecialVar_0x8006 = BerryTypeToItemId(berry); CopyItemNameHandlePlural(BerryTypeToItemId(berry), gStringVar1, count); berry = GetTreeMutationValue(treeId); if (berry > 0) @@ -2420,7 +2424,7 @@ static u16 GetBerryPestSpecies(u8 berryId) return P_FAMILY_VOLBEAT_ILLUMISE ? SPECIES_ILLUMISE : SPECIES_NONE; break; case BERRY_COLOR_GREEN: - return P_FAMILY_BURMY ? SPECIES_BURMY_PLANT_CLOAK : SPECIES_NONE; + return P_FAMILY_BURMY ? SPECIES_BURMY_PLANT : SPECIES_NONE; break; case BERRY_COLOR_YELLOW: return P_FAMILY_COMBEE ? SPECIES_COMBEE : SPECIES_NONE; diff --git a/src/berry_blender.c b/src/berry_blender.c index c758a572ab2e..bf094b6fb98a 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -255,35 +255,20 @@ static const u16 sBlenderOuter_Pal[] = INCBIN_U16("graphics/berry_blender/outer. static const u16 sUnused_Pal[] = INCBIN_U16("graphics/berry_blender/unused.gbapal"); static const u16 sEmpty_Pal[16 * 14] = {0}; -// unused text -static const u8 sUnusedText_YesNo[] = _("YES\nNO"); -static const u8 sUnusedText_2[] = _("▶"); -static const u8 sUnusedText_Space[] = _(" "); -static const u8 sUnusedText_Terminating[] = _("Terminating."); -static const u8 sUnusedText_LinkPartnerNotFound[] = _("Link partner(s) not found.\nPlease try again.\p"); - static const u8 sText_BerryBlenderStart[] = _("Starting up the BERRY BLENDER.\pPlease select a BERRY from your BAG\nto put in the BERRY BLENDER.\p"); static const u8 sText_NewParagraph[] = _("\p"); static const u8 sText_WasMade[] = _(" was made!"); -static const u8 sText_Mister[] = _("MISTER"); -static const u8 sText_Laddie[] = _("LADDIE"); -static const u8 sText_Lassie[] = _("LASSIE"); -static const u8 sText_Master[] = _("MASTER"); -static const u8 sText_Dude[] = _("DUDE"); -static const u8 sText_Miss[] = _("MISS"); static const u8 *const sBlenderOpponentsNames[] = { - [BLENDER_MISTER] = sText_Mister, - [BLENDER_LADDIE] = sText_Laddie, - [BLENDER_LASSIE] = sText_Lassie, - [BLENDER_MASTER] = sText_Master, - [BLENDER_DUDE] = sText_Dude, - [BLENDER_MISS] = sText_Miss + [BLENDER_MISTER] = COMPOUND_STRING("MISTER"), + [BLENDER_LADDIE] = COMPOUND_STRING("LADDIE"), + [BLENDER_LASSIE] = COMPOUND_STRING("LASSIE"), + [BLENDER_MASTER] = COMPOUND_STRING("MASTER"), + [BLENDER_DUDE] = COMPOUND_STRING("DUDE"), + [BLENDER_MISS] = COMPOUND_STRING("MISS"), }; -static const u8 sText_PressAToStart[] = _("Press the A Button to start."); -static const u8 sText_PleaseWaitAWhile[] = _("Please wait a while."); static const u8 sText_CommunicationStandby[] = _("Communication standby…"); static const u8 sText_WouldLikeToBlendAnotherBerry[] = _("Would you like to blend another BERRY?"); static const u8 sText_RunOutOfBerriesForBlending[] = _("You've run out of BERRIES for\nblending in the BERRY BLENDER.\p"); @@ -291,7 +276,6 @@ static const u8 sText_YourPokeblockCaseIsFull[] = _("Your {POKEBLOCK} CASE is fu static const u8 sText_HasNoBerriesToPut[] = _(" has no BERRIES to put in\nthe BERRY BLENDER."); static const u8 sText_ApostropheSPokeblockCaseIsFull[] = _("'s {POKEBLOCK} CASE is full.\p"); static const u8 sText_BlendingResults[] = _("RESULTS OF BLENDING"); -static const u8 sText_BerryUsed[] = _("BERRY USED"); static const u8 sText_SpaceBerry[] = _(" BERRY"); static const u8 sText_Time[] = _("Time:"); static const u8 sText_Min[] = _(" min. "); @@ -300,7 +284,6 @@ static const u8 sText_MaximumSpeed[] = _("MAXIMUM SPEED"); static const u8 sText_RPM[] = _(" RPM"); static const u8 sText_Dot[] = _("."); static const u8 sText_NewLine[] = _("\n"); -static const u8 sText_Space[] = _(" "); static const u8 sText_Ranking[] = _("RANKING"); static const u8 sText_TheLevelIs[] = _("The level is "); static const u8 sText_TheFeelIs[] = _(", and the feel is "); diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index c6eb731845e2..fcd322ce3374 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -143,11 +143,12 @@ static const struct WindowTemplate sWindowTemplates[] = static const u8 *const sBerryFirmnessStrings[] = { - gBerryFirmnessString_VerySoft, - gBerryFirmnessString_Soft, - gBerryFirmnessString_Hard, - gBerryFirmnessString_VeryHard, - gBerryFirmnessString_SuperHard + [BERRY_FIRMNESS_UNKNOWN] = COMPOUND_STRING("???"), + [BERRY_FIRMNESS_VERY_SOFT] = COMPOUND_STRING("Very soft"), + [BERRY_FIRMNESS_SOFT] = COMPOUND_STRING("Soft"), + [BERRY_FIRMNESS_HARD] = COMPOUND_STRING("Hard"), + [BERRY_FIRMNESS_VERY_HARD] = COMPOUND_STRING("Very hard"), + [BERRY_FIRMNESS_SUPER_HARD] = COMPOUND_STRING("Super hard") }; // this file's functions @@ -172,6 +173,13 @@ static void Task_DisplayAnotherBerry(u8 taskId); static void TryChangeDisplayedBerry(u8 taskId, s8 toMove); static void HandleBagCursorPositionChange(s8 toMove); +static const u8 sText_SizeSlash[] = _("SIZE /"); +static const u8 sText_FirmSlash[] = _("FIRM /"); +static const u8 sText_Var1DotVar2[] = _("{STR_VAR_1}.{STR_VAR_2}”"); +static const u8 sText_NumberVar1Var2[] = _("{NO}{STR_VAR_1} {STR_VAR_2}"); +static const u8 sText_BerryTag[] = _("BERRY TAG"); +static const u8 sText_ThreeMarks[] = _("???"); + // code void DoBerryTagScreen(void) { @@ -386,7 +394,7 @@ static void AddBerryTagTextToBg0(void) { memcpy(GetBgTilemapBuffer(0), sBerryTag->tilemapBuffers[2], sizeof(sBerryTag->tilemapBuffers[2])); FillWindowPixelBuffer(WIN_BERRY_TAG, PIXEL_FILL(15)); - PrintTextInBerryTagScreen(WIN_BERRY_TAG, gText_BerryTag, GetStringCenterAlignXOffset(FONT_NORMAL, gText_BerryTag, 0x40), 1, 0, 1); + PrintTextInBerryTagScreen(WIN_BERRY_TAG, sText_BerryTag, GetStringCenterAlignXOffset(FONT_NORMAL, sText_BerryTag, 0x40), 1, 0, 1); PutWindowTilemap(WIN_BERRY_TAG); ScheduleBgCopyTilemapToVram(0); } @@ -405,14 +413,14 @@ static void PrintBerryNumberAndName(void) const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); ConvertIntToDecimalStringN(gStringVar1, sBerryTag->berryId, STR_CONV_MODE_LEADING_ZEROS, 2); StringCopy(gStringVar2, berry->name); - StringExpandPlaceholders(gStringVar4, gText_NumberVar1Var2); + StringExpandPlaceholders(gStringVar4, sText_NumberVar1Var2); PrintTextInBerryTagScreen(WIN_BERRY_NAME, gStringVar4, 0, 1, 0, 0); } static void PrintBerrySize(void) { const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); - AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, gText_SizeSlash, 0, 1, TEXT_SKIP_DRAW, NULL); + AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, sText_SizeSlash, 0, 1, TEXT_SKIP_DRAW, NULL); if (berry->size != 0) { u32 inches, fraction; @@ -425,23 +433,23 @@ static void PrintBerrySize(void) ConvertIntToDecimalStringN(gStringVar1, inches, STR_CONV_MODE_LEFT_ALIGN, 2); ConvertIntToDecimalStringN(gStringVar2, fraction, STR_CONV_MODE_LEFT_ALIGN, 2); - StringExpandPlaceholders(gStringVar4, gText_Var1DotVar2); + StringExpandPlaceholders(gStringVar4, sText_Var1DotVar2); AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, gStringVar4, 0x28, 1, 0, NULL); } else { - AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, gText_ThreeMarks, 0x28, 1, 0, NULL); + AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, sText_ThreeMarks, 0x28, 1, 0, NULL); } } static void PrintBerryFirmness(void) { const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); - AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, gText_FirmSlash, 0, 0x11, TEXT_SKIP_DRAW, NULL); + AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, sText_FirmSlash, 0, 0x11, TEXT_SKIP_DRAW, NULL); if (berry->firmness != 0) - AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, sBerryFirmnessStrings[berry->firmness - 1], 0x28, 0x11, 0, NULL); + AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, sBerryFirmnessStrings[berry->firmness], 0x28, 0x11, 0, NULL); else - AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, gText_ThreeMarks, 0x28, 0x11, 0, NULL); + AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, sText_ThreeMarks, 0x28, 0x11, 0, NULL); } static void PrintBerryDescription1(void) diff --git a/src/bike.c b/src/bike.c index de150dae4bff..b369883093ef 100644 --- a/src/bike.c +++ b/src/bike.c @@ -143,6 +143,19 @@ static u8 GetMachBikeTransition(u8 *dirTraveling) // if the dir updated before this function, get the relevent new direction to check later. u8 direction = GetPlayerMovementDirection(); + // fix direction when moving on sideways stairs + switch (direction) + { + case DIR_SOUTHWEST: + case DIR_NORTHWEST: + direction = DIR_WEST; + break; + case DIR_SOUTHEAST: + case DIR_NORTHEAST: + direction = DIR_EAST; + break; + } + // is the player standing still? if (*dirTraveling == 0) { @@ -234,6 +247,9 @@ static void MachBikeTransition_TrySpeedUp(u8 direction) else { // we did not hit anything that can slow us down, so perform the advancement callback depending on the bikeFrameCounter and try to increase the mach bike's speed. + if (ObjectMovingOnRockStairs(playerObjEvent, direction) && gPlayerAvatar.bikeFrameCounter > 1) + gPlayerAvatar.bikeFrameCounter--; + sMachBikeSpeedCallbacks[gPlayerAvatar.bikeFrameCounter](direction); gPlayerAvatar.bikeSpeed = gPlayerAvatar.bikeFrameCounter + (gPlayerAvatar.bikeFrameCounter >> 1); // same as dividing by 2, but compiler is insistent on >> 1 if (gPlayerAvatar.bikeFrameCounter < 2) // do not go faster than the last element in the mach bike array @@ -368,6 +384,7 @@ static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16 struct ObjectEvent *playerObjEvent; direction = GetPlayerMovementDirection(); + playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; gPlayerAvatar.runningState = NOT_MOVING; @@ -563,7 +580,10 @@ static void AcroBikeTransition_Moving(u8 direction) } else { - PlayerRideWaterCurrent(direction); + if (ObjectMovingOnRockStairs(playerObjEvent, direction)) + PlayerWalkFast(direction); + else + PlayerRideWaterCurrent(direction); } } @@ -696,6 +716,7 @@ static void AcroBikeTransition_WheelieMoving(u8 direction) } return; } + PlayerWheelieMove(direction); gPlayerAvatar.runningState = MOVING; } @@ -730,6 +751,7 @@ static void AcroBikeTransition_WheelieRisingMoving(u8 direction) } return; } + PlayerPopWheelieWhileMoving(direction); gPlayerAvatar.runningState = MOVING; } @@ -753,6 +775,7 @@ static void AcroBikeTransition_WheelieLoweringMoving(u8 direction) PlayerEndWheelie(direction); return; } + PlayerEndWheelieWhileMoving(direction); } diff --git a/src/level_caps.c b/src/caps.c similarity index 69% rename from src/level_caps.c rename to src/caps.c index 61b4c8dc8f30..9c30e5552750 100644 --- a/src/level_caps.c +++ b/src/caps.c @@ -1,7 +1,7 @@ #include "global.h" #include "battle.h" #include "event_data.h" -#include "level_caps.h" +#include "caps.h" #include "pokemon.h" @@ -81,3 +81,39 @@ u32 GetSoftLevelCapExpValue(u32 level, u32 expValue) return expValue; } } + +u32 GetCurrentEVCap(void) +{ + + static const u16 sEvCapFlagMap[][2] = { + // Define EV caps for each milestone + {FLAG_BADGE01_GET, 30}, + {FLAG_BADGE02_GET, 90}, + {FLAG_BADGE03_GET, 150}, + {FLAG_BADGE04_GET, 210}, + {FLAG_BADGE05_GET, 270}, + {FLAG_BADGE06_GET, 330}, + {FLAG_BADGE07_GET, 390}, + {FLAG_BADGE08_GET, 450}, + {FLAG_IS_CHAMPION, MAX_TOTAL_EVS}, + }; + + if (B_EV_CAP_TYPE == EV_CAP_FLAG_LIST) + { + for (u32 evCap = 0; evCap < ARRAY_COUNT(sEvCapFlagMap); evCap++) + { + if (!FlagGet(sEvCapFlagMap[evCap][0])) + return sEvCapFlagMap[evCap][1]; + } + } + else if (B_EV_CAP_TYPE == EV_CAP_VARIABLE) + { + return VarGet(B_EV_CAP_VARIABLE); + } + else if (B_EV_CAP_TYPE == EV_CAP_NO_GAIN) + { + return 0; + } + + return MAX_TOTAL_EVS; +} diff --git a/src/data/abilities.h b/src/data/abilities.h index 5c28e17c052d..9e60122d2ca1 100644 --- a/src/data/abilities.h +++ b/src/data/abilities.h @@ -110,11 +110,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_COMPOUND_EYES] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Compound Eyes"), - #else - .name = _("CompoundEyes"), - #endif .description = COMPOUND_STRING("Raises accuracy."), .aiRating = 7, }, @@ -244,11 +240,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_LIGHTNING_ROD] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Lightning Rod"), - #else - .name = _("LightningRod"), - #endif .description = COMPOUND_STRING("Draws electrical moves."), .aiRating = 7, .breakable = TRUE, @@ -1328,11 +1320,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_STANCE_CHANGE] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Stance Change"), - #else - .name = _("StanceChange"), - #endif .description = COMPOUND_STRING("Transforms as it battles."), .aiRating = 10, .cantBeCopied = TRUE, @@ -1351,11 +1339,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_MEGA_LAUNCHER] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Mega Launcher"), - #else - .name = _("MegaLauncher"), - #endif .description = COMPOUND_STRING("Boosts pulse moves."), .aiRating = 7, }, @@ -1405,11 +1389,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_PARENTAL_BOND] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Parental Bond"), - #else - .name = _("ParentalBond"), - #endif .description = COMPOUND_STRING("Moves hit twice."), .aiRating = 10, }, @@ -1437,22 +1417,14 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_PRIMORDIAL_SEA] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Primordial Sea"), - #else - .name = _("PrimrdialSea"), - #endif .description = COMPOUND_STRING("Summons heavy rain."), .aiRating = 10, }, [ABILITY_DESOLATE_LAND] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Desolate Land"), - #else - .name = _("DesolateLand"), - #endif .description = COMPOUND_STRING("Summons intense sunlight."), .aiRating = 10, }, @@ -1480,22 +1452,14 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_EMERGENCY_EXIT] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Emergency Exit"), - #else - .name = _("EmergncyExit"), - #endif .description = COMPOUND_STRING("Flees at half HP."), .aiRating = 3, }, [ABILITY_WATER_COMPACTION] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Water Compaction"), - #else - .name = _("WtrCmpaction"), - #endif .description = COMPOUND_STRING("Water boosts Defense."), .aiRating = 4, }, @@ -1629,11 +1593,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_POWER_CONSTRUCT] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Power Construct"), - #else - .name = _("PwrConstruct"), - #endif .description = COMPOUND_STRING("Cells aid it when weakened."), .aiRating = 10, .cantBeCopied = TRUE, @@ -1664,11 +1624,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_QUEENLY_MAJESTY] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Queenly Majesty"), - #else - .name = _("QueenlyMjsty"), - #endif .description = COMPOUND_STRING("Protects from priority."), .aiRating = 6, .breakable = TRUE, @@ -1720,11 +1676,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_TANGLING_HAIR] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Tangling Hair"), - #else - .name = _("TanglingHair"), - #endif .description = COMPOUND_STRING("Lowers Speed on contact."), .aiRating = 5, }, @@ -1740,11 +1692,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_POWER_OF_ALCHEMY] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Power Of Alchemy"), - #else - .name = _("PwrOfAlchemy"), - #endif .description = COMPOUND_STRING("Copies ally's ability."), .aiRating = 0, .cantBeCopied = TRUE, @@ -1772,22 +1720,14 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_ELECTRIC_SURGE] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Electric Surge"), - #else - .name = _("ElectrcSurge"), - #endif .description = COMPOUND_STRING("Field becomes Electric."), .aiRating = 8, }, [ABILITY_PSYCHIC_SURGE] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Psychic Surge"), - #else - .name = _("PsychicSurge"), - #endif .description = COMPOUND_STRING("Field becomes weird."), .aiRating = 8, }, @@ -1808,22 +1748,14 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_FULL_METAL_BODY] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Full Metal Body"), - #else - .name = _("FullMetalBdy"), - #endif .description = COMPOUND_STRING("Prevents stat reduction."), .aiRating = 4, }, [ABILITY_SHADOW_SHIELD] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Shadow Shield"), - #else - .name = _("ShadowShield"), - #endif .description = COMPOUND_STRING("Halves damage at full HP."), .aiRating = 8, }, @@ -1844,22 +1776,14 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_INTREPID_SWORD] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Intrepid Sword"), - #else - .name = _("IntrepidSwrd"), - #endif .description = COMPOUND_STRING("Ups Attack on entry."), .aiRating = 3, }, [ABILITY_DAUNTLESS_SHIELD] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Dauntless Shield"), - #else - .name = _("DauntlssShld"), - #endif .description = COMPOUND_STRING("Ups Defense on entry."), .aiRating = 3, }, @@ -1886,11 +1810,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_PROPELLER_TAIL] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Propeller Tail"), - #else - .name = _("PropellrTail"), - #endif .description = COMPOUND_STRING("Ignores foe's redirection."), .aiRating = 2, }, @@ -1988,22 +1908,14 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_SCREEN_CLEANER] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Screen Cleaner"), - #else - .name = _("ScreenCleanr"), - #endif .description = COMPOUND_STRING("Removes walls of light."), .aiRating = 3, }, [ABILITY_STEELY_SPIRIT] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Steely Spirit"), - #else - .name = _("SteelySpirit"), - #endif .description = COMPOUND_STRING("Boosts ally's Steel moves."), .aiRating = 2, }, @@ -2017,33 +1929,21 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_WANDERING_SPIRIT] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Wandering Spirit"), - #else - .name = _("WandrngSprit"), - #endif .description = COMPOUND_STRING("Trade abilities on contact."), .aiRating = 2, }, [ABILITY_GORILLA_TACTICS] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Gorilla Tactics"), - #else - .name = _("GorillaTacti"), - #endif .description = COMPOUND_STRING("Ups Attack and locks move."), .aiRating = 4, }, [ABILITY_NEUTRALIZING_GAS] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Neutralizing Gas"), - #else - .name = _("NeutrlzngGas"), - #endif .description = COMPOUND_STRING("All Abilities are nullified."), .aiRating = 5, .cantBeCopied = TRUE, @@ -2062,11 +1962,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_HUNGER_SWITCH] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Hunger Switch"), - #else - .name = _("HungerSwitch"), - #endif .description = COMPOUND_STRING("Changes form each turn."), .aiRating = 2, .cantBeCopied = TRUE, @@ -2091,11 +1987,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_CURIOUS_MEDICINE] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Curious Medicine"), - #else - .name = _("CuriusMedicn"), - #endif .description = COMPOUND_STRING("Remove ally's stat changes."), .aiRating = 3, }, @@ -2116,11 +2008,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_CHILLING_NEIGH] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Chilling Neigh"), - #else - .name = _("ChillngNeigh"), - #endif .description = COMPOUND_STRING("KOs boost Attack stat."), .aiRating = 7, }, @@ -2158,11 +2046,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_LINGERING_AROMA] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Lingering Aroma"), - #else - .name = _("LngerngAroma"), - #endif .description = COMPOUND_STRING("Spreads with contact."), .aiRating = 5, }, @@ -2176,11 +2060,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_THERMAL_EXCHANGE] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Thermal Exchange"), - #else - .name = _("ThrmlExchnge"), - #endif .description = COMPOUND_STRING("Fire hits up Attack."), .aiRating = 4, .breakable = TRUE, @@ -2195,11 +2075,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_PURIFYING_SALT] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Purifying Salt"), - #else - .name = _("PurfyingSalt"), - #endif .description = COMPOUND_STRING("Protected by pure salts."), .aiRating = 6, .breakable = TRUE, @@ -2207,11 +2083,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_WELL_BAKED_BODY] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Well-Baked Body"), - #else - .name = _("WellBakedBdy"), - #endif .description = COMPOUND_STRING("Strengthened by Fire."), .aiRating = 5, .breakable = TRUE, @@ -2235,11 +2107,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_ROCKY_PAYLOAD] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Rocky Payload"), - #else - .name = _("RockyPayload"), - #endif .description = COMPOUND_STRING("Powers up Rock moves."), .aiRating = 6, }, @@ -2278,22 +2146,14 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_ELECTROMORPHOSIS] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Electromorphosis"), - #else - .name = _("Elecmrphosis"), - #endif .description = COMPOUND_STRING("Gets Charged when hit."), .aiRating = 5, }, [ABILITY_PROTOSYNTHESIS] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Protosynthesis"), - #else - .name = _("Protosnthsis"), - #endif .description = COMPOUND_STRING("Sun boosts best stat."), .aiRating = 7, .cantBeCopied = TRUE, @@ -2323,11 +2183,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_VESSEL_OF_RUIN] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Vessel of Ruin"), - #else - .name = _("VesselOfRuin"), - #endif .description = COMPOUND_STRING("Lowers foes' sp. damage."), .aiRating = 5, .breakable = TRUE, @@ -2335,11 +2191,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_SWORD_OF_RUIN] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Sword of Ruin"), - #else - .name = _("SwordOfRuin"), - #endif .description = COMPOUND_STRING("Lowers foes' Defense."), .aiRating = 5, .breakable = TRUE, @@ -2347,11 +2199,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_TABLETS_OF_RUIN] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Tablets of Ruin"), - #else - .name = _("TabltsOfRuin"), - #endif .description = COMPOUND_STRING("Lowers foes' damage."), .aiRating = 5, .breakable = TRUE, @@ -2359,11 +2207,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_BEADS_OF_RUIN] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Beads of Ruin"), - #else - .name = _("BeadsOfRuin"), - #endif .description = COMPOUND_STRING("Lowers foes' Sp. Defense."), .aiRating = 5, .breakable = TRUE, @@ -2371,22 +2215,14 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_ORICHALCUM_PULSE] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Orichalcum Pulse"), - #else - .name = _("OrchlcumPlse"), - #endif .description = COMPOUND_STRING("Summons sunlight in battle."), .aiRating = 8, }, [ABILITY_HADRON_ENGINE] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Hadron Engine"), - #else - .name = _("HadronEngine"), - #endif .description = COMPOUND_STRING("Field becomes Electric."), .aiRating = 8, }, @@ -2414,11 +2250,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_SUPREME_OVERLORD] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Supreme Overlord"), - #else - .name = _("SuprmeOvrlrd"), - #endif .description = COMPOUND_STRING("Inherits fallen's strength."), .aiRating = 6, }, @@ -2455,11 +2287,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_MYCELIUM_MIGHT] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Mycelium Might"), - #else - .name = _("MceliumMight"), - #endif .description = COMPOUND_STRING("Status moves never fail."), .aiRating = 2, }, @@ -2481,11 +2309,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_EMBODY_ASPECT_TEAL_MASK] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Embody Aspect"), - #else - .name = _("EmbodyAspect"), - #endif .description = COMPOUND_STRING("Raises Speed."), .aiRating = 6, .cantBeCopied = TRUE, @@ -2496,11 +2320,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_EMBODY_ASPECT_HEARTHFLAME_MASK] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Embody Aspect"), - #else - .name = _("EmbodyAspect"), - #endif .description = COMPOUND_STRING("Raises Attack."), .aiRating = 6, .cantBeCopied = TRUE, @@ -2511,11 +2331,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_EMBODY_ASPECT_WELLSPRING_MASK] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Embody Aspect"), - #else - .name = _("EmbodyAspect"), - #endif .description = COMPOUND_STRING("Raises Sp. Def."), .aiRating = 6, .cantBeCopied = TRUE, @@ -2526,11 +2342,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_EMBODY_ASPECT_CORNERSTONE_MASK] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Embody Aspect"), - #else - .name = _("EmbodyAspect"), - #endif .description = COMPOUND_STRING("Raises Defense."), .aiRating = 6, .cantBeCopied = TRUE, @@ -2548,11 +2360,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_SUPERSWEET_SYRUP] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Supersweet Syrup"), - #else - .name = _("SuprswtSyrup"), - #endif .description = COMPOUND_STRING("Lowers the foe's Evasion."), .aiRating = 5, }, @@ -2583,11 +2391,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_TERAFORM_ZERO] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Teraform Zero"), - #else - .name = _("TeraformZero"), - #endif .description = COMPOUND_STRING("Zeroes weather and terrain."), .aiRating = 10, .cantBeCopied = TRUE, @@ -2597,11 +2401,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_POISON_PUPPETEER] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Poison Puppeteer"), - #else - .name = _("PoisnPuppter"), - #endif .description = COMPOUND_STRING("Confuses poisoned foes."), .aiRating = 8, .cantBeCopied = TRUE, diff --git a/src/data/battle_anim.h b/src/data/battle_anim.h index 72a3c7121bda..a09c8d72c8cc 100644 --- a/src/data/battle_anim.h +++ b/src/data/battle_anim.h @@ -1465,6 +1465,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] = {gBattleAnimSpriteGfx_RedExplosion, 0x0800, ANIM_TAG_RED_EXPLOSION}, {gBattleAnimSpriteGfx_Beam, 0x0800, ANIM_TAG_BEAM}, {gBattleAnimSpriteGfx_PurpleChain, 0x1000, ANIM_TAG_PURPLE_CHAIN}, + {gBattleAnimSpriteGfx_PinkVioletOrb, 0x0080, ANIM_TAG_PINKVIO_ORB}, }; const struct CompressedSpritePalette gBattleAnimPaletteTable[] = @@ -1931,6 +1932,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] = {gBattleAnimSpritePal_RedExplosion, ANIM_TAG_RED_EXPLOSION}, {gBattleAnimSpritePal_Beam, ANIM_TAG_BEAM}, {gBattleAnimSpritePal_PurpleChain, ANIM_TAG_PURPLE_CHAIN}, + {gBattleAnimSpritePal_PinkVioletOrb, ANIM_TAG_PINKVIO_ORB}, }; const struct BattleAnimBackground gBattleAnimBackgroundTable[] = @@ -2018,4 +2020,5 @@ const struct BattleAnimBackground gBattleAnimBackgroundTable[] = [BG_STEEL_BEAM_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_SteelBeam, gBattleAnimBgTilemap_HighspeedPlayer}, [BG_CHLOROBLAST] = {gBattleAnimBgImage_HydroCannon, gBattleAnimBgPalette_Chloroblast, gBattleAnimBgTilemap_HydroCannon}, [BG_RAINBOW] = {gBattleAnimBgImage_Rainbow, gBattleAnimBGPalette_Rainbow, gBattleAnimBgTilemap_Rainbow}, + [BG_SWAMP] = {gBattleAnimBgImage_Swamp, gBattleAnimBGPalette_Swamp, gBattleAnimBgTilemap_Swamp}, }; diff --git a/src/data/battle_move_effects.h b/src/data/battle_move_effects.h index ead7cee6f1ef..b5b3e539c87e 100644 --- a/src/data/battle_move_effects.h +++ b/src/data/battle_move_effects.h @@ -24,7 +24,7 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = [EFFECT_ABSORB] = { - .battleScript = BattleScript_EffectAbsorb, + .battleScript = BattleScript_EffectHit, .battleTvScore = 4, }, @@ -1011,7 +1011,7 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = .battleTvScore = 1, }, - [EFFECT_ERUPTION] = + [EFFECT_POWER_BASED_ON_USER_HP] = { .battleScript = BattleScript_EffectHit, .battleTvScore = 1, @@ -1144,7 +1144,7 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = .encourageEncore = TRUE, }, - [EFFECT_VARY_POWER_BASED_ON_HP] = + [EFFECT_POWER_BASED_ON_TARGET_HP] = { .battleScript = BattleScript_EffectHit, .battleTvScore = 0, // TODO: Assign points @@ -2255,4 +2255,10 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = .battleScript = BattleScript_EffectHit, .battleTvScore = 0, // TODO: Assign points }, + + [EFFECT_ORDER_UP] = + { + .battleScript = BattleScript_EffectHit, + .battleTvScore = 0, // TODO: Assign points + }, }; diff --git a/src/data/graphics/items.h b/src/data/graphics/items.h index 45e3ec0e2cb4..b508df90a18c 100644 --- a/src/data/graphics/items.h +++ b/src/data/graphics/items.h @@ -6,6 +6,9 @@ const u32 gItemIconPalette_ReturnToFieldArrow[] = INCBIN_U32("graphics/items/ico // Poké Balls +const u32 gItemIcon_StrangeBall[] = INCBIN_U32("graphics/items/icons/strange_ball.4bpp.lz"); +const u32 gItemIconPalette_StrangeBall[] = INCBIN_U32("graphics/items/icon_palettes/strange_ball.gbapal.lz"); + const u32 gItemIcon_PokeBall[] = INCBIN_U32("graphics/items/icons/poke_ball.4bpp.lz"); const u32 gItemIconPalette_PokeBall[] = INCBIN_U32("graphics/items/icon_palettes/poke_ball.gbapal.lz"); diff --git a/src/data/graphics/pokeballs.h b/src/data/graphics/pokeballs.h index 44f47cde48ed..f09d635d2168 100644 --- a/src/data/graphics/pokeballs.h +++ b/src/data/graphics/pokeballs.h @@ -1,3 +1,6 @@ +const u32 gBallGfx_Strange[] = INCBIN_U32("graphics/balls/strange.4bpp.lz"); +const u32 gBallPal_Strange[] = INCBIN_U32("graphics/balls/strange.gbapal.lz"); + const u32 gBallGfx_Poke[] = INCBIN_U32("graphics/balls/poke.4bpp.lz"); const u32 gBallPal_Poke[] = INCBIN_U32("graphics/balls/poke.gbapal.lz"); diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index 284977bcc2f6..39b11560d486 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -10,16 +10,31 @@ const u32 gMonPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/quest const u32 gMonShinyPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/shiny.gbapal.lz"); const u8 gMonIcon_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/icon.4bpp"); #if P_FOOTPRINTS -const u8 gMonFootprint_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/footprint.1bpp"); +#if !P_GBA_STYLE_SPECIES_FOOTPRINTS + const u8 gMonFootprint_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/footprint.1bpp"); +#else + const u8 gMonFootprint_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/footprint_gba.1bpp"); +#endif //P_GBA_STYLE_SPECIES_FOOTPRINTS #endif //P_FOOTPRINTS const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_mark/overworld.4bpp"); #if P_FAMILY_BULBASAUR +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/anim_front.4bpp.lz"); const u32 gMonPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/normal.gbapal.lz"); const u32 gMonBackPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/back.4bpp.lz"); const u32 gMonShinyPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Bulbasaur[] = INCBIN_U8("graphics/pokemon/bulbasaur/icon.4bpp"); +#else + const u8 gMonIcon_Bulbasaur[] = INCBIN_U8("graphics/pokemon/bulbasaur/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Bulbasaur[] = INCBIN_U8("graphics/pokemon/bulbasaur/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -31,11 +46,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/anim_front.4bpp.lz"); const u32 gMonPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/normal.gbapal.lz"); const u32 gMonBackPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/back.4bpp.lz"); const u32 gMonShinyPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Ivysaur[] = INCBIN_U8("graphics/pokemon/ivysaur/icon.4bpp"); +#else + const u8 gMonIcon_Ivysaur[] = INCBIN_U8("graphics/pokemon/ivysaur/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Ivysaur[] = INCBIN_U8("graphics/pokemon/ivysaur/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -47,11 +73,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/anim_front.4bpp.lz"); const u32 gMonPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/normal.gbapal.lz"); const u32 gMonBackPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/back.4bpp.lz"); const u32 gMonShinyPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Venusaur[] = INCBIN_U8("graphics/pokemon/venusaur/icon.4bpp"); +#else + const u8 gMonIcon_Venusaur[] = INCBIN_U8("graphics/pokemon/venusaur/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Venusaur[] = INCBIN_U8("graphics/pokemon/venusaur/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -63,8 +100,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_VenusaurF[] = INCBIN_U32("graphics/pokemon/venusaur/anim_frontf.4bpp.lz"); const u32 gMonBackPic_VenusaurF[] = INCBIN_U32("graphics/pokemon/venusaur/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_VenusaurF[] = INCBIN_COMP("graphics/pokemon/venusaur/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS const u32 gMonFrontPic_VenusaurMega[] = INCBIN_U32("graphics/pokemon/venusaur/mega/front.4bpp.lz"); @@ -82,27 +124,38 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_VenusaurGigantamax[] = INCBIN_U32("graphics/pokemon/venusaur/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_VenusaurGigantamax[] = INCBIN_U32("graphics/pokemon/venusaur/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_VenusaurGigantamax[] = INCBIN_U32("graphics/pokemon/venusaur/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_VenusaurGigantamax[] = INCBIN_U32("graphics/pokemon/venusaur/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_VenusaurGigantamax[] = INCBIN_U8("graphics/pokemon/venusaur/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_VenusaurGmax[] = INCBIN_U32("graphics/pokemon/venusaur/gmax/front.4bpp.lz"); + const u32 gMonBackPic_VenusaurGmax[] = INCBIN_U32("graphics/pokemon/venusaur/gmax/back.4bpp.lz"); + const u32 gMonPalette_VenusaurGmax[] = INCBIN_U32("graphics/pokemon/venusaur/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_VenusaurGmax[] = INCBIN_U32("graphics/pokemon/venusaur/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_VenusaurGmax[] = INCBIN_U8("graphics/pokemon/venusaur/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_VenusaurGigantamax[] = INCBIN_COMP("graphics/pokemon/venusaur/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_VenusaurGmax[] = INCBIN_COMP("graphics/pokemon/venusaur/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_VenusaurGigantamax[] = INCBIN_U32("graphics/pokemon/venusaur/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_VenusaurGigantamax[] = INCBIN_U32("graphics/pokemon/venusaur/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_VenusaurGmax[] = INCBIN_U32("graphics/pokemon/venusaur/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_VenusaurGmax[] = INCBIN_U32("graphics/pokemon/venusaur/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_BULBASAUR #if P_FAMILY_CHARMANDER +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/anim_front.4bpp.lz"); const u32 gMonPalette_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/normal.gbapal.lz"); const u32 gMonBackPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/back.4bpp.lz"); const u32 gMonShinyPalette_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Charmander[] = INCBIN_U8("graphics/pokemon/charmander/icon.4bpp"); +#else + const u8 gMonIcon_Charmander[] = INCBIN_U8("graphics/pokemon/charmander/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Charmander[] = INCBIN_U8("graphics/pokemon/charmander/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -114,11 +167,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/anim_front.4bpp.lz"); const u32 gMonPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/normal.gbapal.lz"); const u32 gMonBackPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/back.4bpp.lz"); const u32 gMonShinyPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Charmeleon[] = INCBIN_U8("graphics/pokemon/charmeleon/icon.4bpp"); +#else + const u8 gMonIcon_Charmeleon[] = INCBIN_U8("graphics/pokemon/charmeleon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Charmeleon[] = INCBIN_U8("graphics/pokemon/charmeleon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -130,11 +194,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/anim_front.4bpp.lz"); const u32 gMonPalette_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/normal.gbapal.lz"); const u32 gMonBackPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/back.4bpp.lz"); const u32 gMonShinyPalette_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Charizard[] = INCBIN_U8("graphics/pokemon/charizard/icon.4bpp"); +#else + const u8 gMonIcon_Charizard[] = INCBIN_U8("graphics/pokemon/charizard/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Charizard[] = INCBIN_U8("graphics/pokemon/charizard/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -175,27 +250,38 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_CharizardGigantamax[] = INCBIN_U32("graphics/pokemon/charizard/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_CharizardGigantamax[] = INCBIN_U32("graphics/pokemon/charizard/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_CharizardGigantamax[] = INCBIN_U32("graphics/pokemon/charizard/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_CharizardGigantamax[] = INCBIN_U32("graphics/pokemon/charizard/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_CharizardGigantamax[] = INCBIN_U8("graphics/pokemon/charizard/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_CharizardGmax[] = INCBIN_U32("graphics/pokemon/charizard/gmax/front.4bpp.lz"); + const u32 gMonBackPic_CharizardGmax[] = INCBIN_U32("graphics/pokemon/charizard/gmax/back.4bpp.lz"); + const u32 gMonPalette_CharizardGmax[] = INCBIN_U32("graphics/pokemon/charizard/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_CharizardGmax[] = INCBIN_U32("graphics/pokemon/charizard/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_CharizardGmax[] = INCBIN_U8("graphics/pokemon/charizard/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_CharizardGigantamax[] = INCBIN_COMP("graphics/pokemon/charizard/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_CharizardGmax[] = INCBIN_COMP("graphics/pokemon/charizard/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_CharizardGigantamax[] = INCBIN_U32("graphics/pokemon/charizard/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_CharizardGigantamax[] = INCBIN_U32("graphics/pokemon/charizard/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_CharizardGmax[] = INCBIN_U32("graphics/pokemon/charizard/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_CharizardGmax[] = INCBIN_U32("graphics/pokemon/charizard/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_CHARMANDER #if P_FAMILY_SQUIRTLE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/anim_front.4bpp.lz"); const u32 gMonPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/normal.gbapal.lz"); const u32 gMonBackPic_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/back.4bpp.lz"); const u32 gMonShinyPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Squirtle[] = INCBIN_U8("graphics/pokemon/squirtle/icon.4bpp"); +#else + const u8 gMonIcon_Squirtle[] = INCBIN_U8("graphics/pokemon/squirtle/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Squirtle[] = INCBIN_U8("graphics/pokemon/squirtle/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -207,11 +293,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/anim_front.4bpp.lz"); const u32 gMonPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/normal.gbapal.lz"); const u32 gMonBackPic_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/back.4bpp.lz"); const u32 gMonShinyPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Wartortle[] = INCBIN_U8("graphics/pokemon/wartortle/icon.4bpp"); +#else + const u8 gMonIcon_Wartortle[] = INCBIN_U8("graphics/pokemon/wartortle/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Wartortle[] = INCBIN_U8("graphics/pokemon/wartortle/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -223,11 +320,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/anim_front.4bpp.lz"); const u32 gMonPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/normal.gbapal.lz"); const u32 gMonBackPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/back.4bpp.lz"); const u32 gMonShinyPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Blastoise[] = INCBIN_U8("graphics/pokemon/blastoise/icon.4bpp"); +#else + const u8 gMonIcon_Blastoise[] = INCBIN_U8("graphics/pokemon/blastoise/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Blastoise[] = INCBIN_U8("graphics/pokemon/blastoise/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -255,27 +363,38 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_BlastoiseGigantamax[] = INCBIN_U32("graphics/pokemon/blastoise/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_BlastoiseGigantamax[] = INCBIN_U32("graphics/pokemon/blastoise/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_BlastoiseGigantamax[] = INCBIN_U32("graphics/pokemon/blastoise/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_BlastoiseGigantamax[] = INCBIN_U32("graphics/pokemon/blastoise/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_BlastoiseGigantamax[] = INCBIN_U8("graphics/pokemon/blastoise/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_BlastoiseGmax[] = INCBIN_U32("graphics/pokemon/blastoise/gmax/front.4bpp.lz"); + const u32 gMonBackPic_BlastoiseGmax[] = INCBIN_U32("graphics/pokemon/blastoise/gmax/back.4bpp.lz"); + const u32 gMonPalette_BlastoiseGmax[] = INCBIN_U32("graphics/pokemon/blastoise/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_BlastoiseGmax[] = INCBIN_U32("graphics/pokemon/blastoise/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_BlastoiseGmax[] = INCBIN_U8("graphics/pokemon/blastoise/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_BlastoiseGigantamax[] = INCBIN_COMP("graphics/pokemon/blastoise/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_BlastoiseGmax[] = INCBIN_COMP("graphics/pokemon/blastoise/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_BlastoiseGigantamax[] = INCBIN_U32("graphics/pokemon/blastoise/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_BlastoiseGigantamax[] = INCBIN_U32("graphics/pokemon/blastoise/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_BlastoiseGmax[] = INCBIN_U32("graphics/pokemon/blastoise/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_BlastoiseGmax[] = INCBIN_U32("graphics/pokemon/blastoise/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SQUIRTLE #if P_FAMILY_CATERPIE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/anim_front.4bpp.lz"); const u32 gMonPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/normal.gbapal.lz"); const u32 gMonBackPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/back.4bpp.lz"); const u32 gMonShinyPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Caterpie[] = INCBIN_U8("graphics/pokemon/caterpie/icon.4bpp"); +#else + const u8 gMonIcon_Caterpie[] = INCBIN_U8("graphics/pokemon/caterpie/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Caterpie[] = INCBIN_U8("graphics/pokemon/caterpie/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -287,10 +406,17 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/anim_front.4bpp.lz"); const u32 gMonPalette_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/normal.gbapal.lz"); const u32 gMonBackPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/back.4bpp.lz"); const u32 gMonShinyPalette_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX const u8 gMonIcon_Metapod[] = INCBIN_U8( "graphics/pokemon/metapod/icon.4bpp"); #if P_FOOTPRINTS const u8 gMonFootprint_Metapod[] = INCBIN_U8("graphics/pokemon/metapod/footprint.1bpp"); @@ -303,11 +429,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/anim_front.4bpp.lz"); const u32 gMonPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/normal.gbapal.lz"); const u32 gMonBackPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/back.4bpp.lz"); const u32 gMonShinyPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Butterfree[] = INCBIN_U8("graphics/pokemon/butterfree/icon.4bpp"); +#else + const u8 gMonIcon_Butterfree[] = INCBIN_U8("graphics/pokemon/butterfree/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Butterfree[] = INCBIN_U8("graphics/pokemon/butterfree/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -319,31 +456,47 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_ButterfreeF[] = INCBIN_U32("graphics/pokemon/butterfree/anim_frontf.4bpp.lz"); const u32 gMonBackPic_ButterfreeF[] = INCBIN_U32("graphics/pokemon/butterfree/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_ButterfreeF[] = INCBIN_COMP("graphics/pokemon/butterfree/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_ButterfreeGigantamax[] = INCBIN_U32("graphics/pokemon/butterfree/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_ButterfreeGigantamax[] = INCBIN_U32("graphics/pokemon/butterfree/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_ButterfreeGigantamax[] = INCBIN_U32("graphics/pokemon/butterfree/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_ButterfreeGigantamax[] = INCBIN_U32("graphics/pokemon/butterfree/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_ButterfreeGigantamax[] = INCBIN_U8("graphics/pokemon/butterfree/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_ButterfreeGmax[] = INCBIN_U32("graphics/pokemon/butterfree/gmax/front.4bpp.lz"); + const u32 gMonBackPic_ButterfreeGmax[] = INCBIN_U32("graphics/pokemon/butterfree/gmax/back.4bpp.lz"); + const u32 gMonPalette_ButterfreeGmax[] = INCBIN_U32("graphics/pokemon/butterfree/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_ButterfreeGmax[] = INCBIN_U32("graphics/pokemon/butterfree/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_ButterfreeGmax[] = INCBIN_U8("graphics/pokemon/butterfree/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_ButterfreeGigantamax[] = INCBIN_COMP("graphics/pokemon/butterfree/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_ButterfreeGmax[] = INCBIN_COMP("graphics/pokemon/butterfree/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_ButterfreeGigantamax[] = INCBIN_U32("graphics/pokemon/butterfree/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_ButterfreeGigantamax[] = INCBIN_U32("graphics/pokemon/butterfree/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_ButterfreeGmax[] = INCBIN_U32("graphics/pokemon/butterfree/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_ButterfreeGmax[] = INCBIN_U32("graphics/pokemon/butterfree/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_CATERPIE #if P_FAMILY_WEEDLE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/anim_front.4bpp.lz"); const u32 gMonPalette_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/normal.gbapal.lz"); const u32 gMonBackPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/back.4bpp.lz"); const u32 gMonShinyPalette_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Weedle[] = INCBIN_U8("graphics/pokemon/weedle/icon.4bpp"); +#else + const u8 gMonIcon_Weedle[] = INCBIN_U8("graphics/pokemon/weedle/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Weedle[] = INCBIN_U8("graphics/pokemon/weedle/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -355,11 +508,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/anim_front.4bpp.lz"); const u32 gMonPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/normal.gbapal.lz"); const u32 gMonBackPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/back.4bpp.lz"); const u32 gMonShinyPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Kakuna[] = INCBIN_U8("graphics/pokemon/kakuna/icon.4bpp"); +#else + const u8 gMonIcon_Kakuna[] = INCBIN_U8("graphics/pokemon/kakuna/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Kakuna[] = INCBIN_U8("graphics/pokemon/kakuna/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -371,11 +535,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/anim_front.4bpp.lz"); const u32 gMonPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/normal.gbapal.lz"); const u32 gMonBackPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/back.4bpp.lz"); const u32 gMonShinyPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Beedrill[] = INCBIN_U8("graphics/pokemon/beedrill/icon.4bpp"); +#else + const u8 gMonIcon_Beedrill[] = INCBIN_U8("graphics/pokemon/beedrill/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Beedrill[] = INCBIN_U8("graphics/pokemon/beedrill/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -404,11 +579,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_WEEDLE #if P_FAMILY_PIDGEY +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/anim_front.4bpp.lz"); const u32 gMonPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/normal.gbapal.lz"); const u32 gMonBackPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/back.4bpp.lz"); const u32 gMonShinyPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Pidgey[] = INCBIN_U8("graphics/pokemon/pidgey/icon.4bpp"); +#else + const u8 gMonIcon_Pidgey[] = INCBIN_U8("graphics/pokemon/pidgey/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Pidgey[] = INCBIN_U8("graphics/pokemon/pidgey/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -420,11 +606,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/anim_front.4bpp.lz"); const u32 gMonPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/normal.gbapal.lz"); const u32 gMonBackPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/back.4bpp.lz"); const u32 gMonShinyPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Pidgeotto[] = INCBIN_U8("graphics/pokemon/pidgeotto/icon.4bpp"); +#else + const u8 gMonIcon_Pidgeotto[] = INCBIN_U8("graphics/pokemon/pidgeotto/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Pidgeotto[] = INCBIN_U8("graphics/pokemon/pidgeotto/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -436,11 +633,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/anim_front.4bpp.lz"); const u32 gMonPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/normal.gbapal.lz"); const u32 gMonBackPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/back.4bpp.lz"); const u32 gMonShinyPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Pidgeot[] = INCBIN_U8("graphics/pokemon/pidgeot/icon.4bpp"); +#else + const u8 gMonIcon_Pidgeot[] = INCBIN_U8("graphics/pokemon/pidgeot/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Pidgeot[] = INCBIN_U8("graphics/pokemon/pidgeot/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -469,11 +677,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_PIDGEY #if P_FAMILY_RATTATA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/anim_front.4bpp.lz"); const u32 gMonPalette_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/normal.gbapal.lz"); const u32 gMonBackPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/back.4bpp.lz"); const u32 gMonShinyPalette_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Rattata[] = INCBIN_U8("graphics/pokemon/rattata/icon.4bpp"); +#else + const u8 gMonIcon_Rattata[] = INCBIN_U8("graphics/pokemon/rattata/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Rattata[] = INCBIN_U8("graphics/pokemon/rattata/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -485,14 +704,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_RattataF[] = INCBIN_U32("graphics/pokemon/rattata/anim_frontf.4bpp.lz"); const u32 gMonBackPic_RattataF[] = INCBIN_U32("graphics/pokemon/rattata/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_RattataF[] = INCBIN_COMP("graphics/pokemon/rattata/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/anim_front.4bpp.lz"); const u32 gMonPalette_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/normal.gbapal.lz"); const u32 gMonBackPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/back.4bpp.lz"); const u32 gMonShinyPalette_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Raticate[] = INCBIN_U8("graphics/pokemon/raticate/icon.4bpp"); +#else + const u8 gMonIcon_Raticate[] = INCBIN_U8("graphics/pokemon/raticate/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Raticate[] = INCBIN_U8("graphics/pokemon/raticate/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -504,44 +739,60 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_RaticateF[] = INCBIN_U32("graphics/pokemon/raticate/anim_frontf.4bpp.lz"); const u32 gMonBackPic_RaticateF[] = INCBIN_U32("graphics/pokemon/raticate/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_RaticateF[] = INCBIN_COMP("graphics/pokemon/raticate/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_ALOLAN_FORMS - const u32 gMonFrontPic_RattataAlolan[] = INCBIN_U32("graphics/pokemon/rattata/alolan/front.4bpp.lz"); - const u32 gMonPalette_RattataAlolan[] = INCBIN_U32("graphics/pokemon/rattata/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_RattataAlolan[] = INCBIN_U32("graphics/pokemon/rattata/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_RattataAlolan[] = INCBIN_U32("graphics/pokemon/rattata/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_RattataAlolan[] = INCBIN_U8("graphics/pokemon/rattata/alolan/icon.4bpp"); + const u32 gMonFrontPic_RattataAlola[] = INCBIN_U32("graphics/pokemon/rattata/alola/front.4bpp.lz"); + const u32 gMonPalette_RattataAlola[] = INCBIN_U32("graphics/pokemon/rattata/alola/normal.gbapal.lz"); + const u32 gMonBackPic_RattataAlola[] = INCBIN_U32("graphics/pokemon/rattata/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_RattataAlola[] = INCBIN_U32("graphics/pokemon/rattata/alola/shiny.gbapal.lz"); + const u8 gMonIcon_RattataAlola[] = INCBIN_U8("graphics/pokemon/rattata/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_RattataAlolan[] = INCBIN_COMP("graphics/pokemon/rattata/alolan/overworld.4bpp"); + const u32 gObjectEventPic_RattataAlola[] = INCBIN_COMP("graphics/pokemon/rattata/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_RattataAlolan[] = INCBIN_U32("graphics/pokemon/rattata/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_RattataAlolan[] = INCBIN_U32("graphics/pokemon/rattata/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_RattataAlola[] = INCBIN_U32("graphics/pokemon/rattata/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_RattataAlola[] = INCBIN_U32("graphics/pokemon/rattata/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_RaticateAlolan[] = INCBIN_U32("graphics/pokemon/raticate/alolan/front.4bpp.lz"); - const u32 gMonPalette_RaticateAlolan[] = INCBIN_U32("graphics/pokemon/raticate/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_RaticateAlolan[] = INCBIN_U32("graphics/pokemon/raticate/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_RaticateAlolan[] = INCBIN_U32("graphics/pokemon/raticate/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_RaticateAlolan[] = INCBIN_U8("graphics/pokemon/raticate/alolan/icon.4bpp"); + const u32 gMonFrontPic_RaticateAlola[] = INCBIN_U32("graphics/pokemon/raticate/alola/front.4bpp.lz"); + const u32 gMonPalette_RaticateAlola[] = INCBIN_U32("graphics/pokemon/raticate/alola/normal.gbapal.lz"); + const u32 gMonBackPic_RaticateAlola[] = INCBIN_U32("graphics/pokemon/raticate/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_RaticateAlola[] = INCBIN_U32("graphics/pokemon/raticate/alola/shiny.gbapal.lz"); + const u8 gMonIcon_RaticateAlola[] = INCBIN_U8("graphics/pokemon/raticate/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_RaticateAlolan[] = INCBIN_COMP("graphics/pokemon/raticate/alolan/overworld.4bpp"); + const u32 gObjectEventPic_RaticateAlola[] = INCBIN_COMP("graphics/pokemon/raticate/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_RaticateAlolan[] = INCBIN_U32("graphics/pokemon/raticate/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_RaticateAlolan[] = INCBIN_U32("graphics/pokemon/raticate/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_RaticateAlola[] = INCBIN_U32("graphics/pokemon/raticate/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_RaticateAlola[] = INCBIN_U32("graphics/pokemon/raticate/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_ALOLAN_FORMS #endif //P_FAMILY_RATTATA #if P_FAMILY_SPEAROW +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/anim_front.4bpp.lz"); const u32 gMonPalette_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/normal.gbapal.lz"); const u32 gMonBackPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/back.4bpp.lz"); const u32 gMonShinyPalette_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Spearow[] = INCBIN_U8("graphics/pokemon/spearow/icon.4bpp"); +#else + const u8 gMonIcon_Spearow[] = INCBIN_U8("graphics/pokemon/spearow/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Spearow[] = INCBIN_U8("graphics/pokemon/spearow/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -553,11 +804,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/anim_front.4bpp.lz"); const u32 gMonPalette_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/normal.gbapal.lz"); const u32 gMonBackPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/back.4bpp.lz"); const u32 gMonShinyPalette_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Fearow[] = INCBIN_U8("graphics/pokemon/fearow/icon.4bpp"); +#else + const u8 gMonIcon_Fearow[] = INCBIN_U8("graphics/pokemon/fearow/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Fearow[] = INCBIN_U8("graphics/pokemon/fearow/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -571,11 +833,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SPEAROW #if P_FAMILY_EKANS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/anim_front.4bpp.lz"); const u32 gMonPalette_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/normal.gbapal.lz"); const u32 gMonBackPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/back.4bpp.lz"); const u32 gMonShinyPalette_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Ekans[] = INCBIN_U8("graphics/pokemon/ekans/icon.4bpp"); +#else + const u8 gMonIcon_Ekans[] = INCBIN_U8("graphics/pokemon/ekans/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Ekans[] = INCBIN_U8("graphics/pokemon/ekans/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -587,11 +860,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/anim_front.4bpp.lz"); const u32 gMonPalette_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/normal.gbapal.lz"); const u32 gMonBackPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/back.4bpp.lz"); const u32 gMonShinyPalette_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Arbok[] = INCBIN_U8("graphics/pokemon/arbok/icon.4bpp"); +#else + const u8 gMonIcon_Arbok[] = INCBIN_U8("graphics/pokemon/arbok/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Arbok[] = INCBIN_U8("graphics/pokemon/arbok/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -606,11 +890,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #if P_FAMILY_PIKACHU #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/anim_front.4bpp.lz"); const u32 gMonPalette_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/normal.gbapal.lz"); const u32 gMonBackPic_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/back.4bpp.lz"); const u32 gMonShinyPalette_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Pichu[] = INCBIN_U8("graphics/pokemon/pichu/icon.4bpp"); +#else + const u8 gMonIcon_Pichu[] = INCBIN_U8("graphics/pokemon/pichu/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Pichu[] = INCBIN_U8("graphics/pokemon/pichu/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -636,11 +931,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/anim_front.4bpp.lz"); const u32 gMonPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/normal.gbapal.lz"); const u32 gMonBackPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/back.4bpp.lz"); const u32 gMonShinyPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Pikachu[] = INCBIN_U8("graphics/pokemon/pikachu/icon.4bpp"); +#else + const u8 gMonIcon_Pikachu[] = INCBIN_U8("graphics/pokemon/pikachu/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Pikachu[] = INCBIN_U8("graphics/pokemon/pikachu/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -652,11 +958,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_PikachuF[] = INCBIN_U32("graphics/pokemon/pikachu/anim_frontf.4bpp.lz"); const u32 gMonBackPic_PikachuF[] = INCBIN_U32("graphics/pokemon/pikachu/backf.4bpp.lz"); #if P_CUSTOM_GENDER_DIFF_ICONS const u8 gMonIcon_PikachuF[] = INCBIN_U8("graphics/pokemon/pikachu/iconf.4bpp"); #endif +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_PikachuF[] = INCBIN_COMP("graphics/pokemon/pikachu/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_COSPLAY_PIKACHU_FORMS const u32 gMonFrontPic_PikachuCosplay[] = INCBIN_U32("graphics/pokemon/pikachu/cosplay/front.4bpp.lz"); @@ -683,11 +994,11 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_PikachuPopStar[] = INCBIN_U32("graphics/pokemon/pikachu/pop_star/shiny.gbapal.lz"); const u8 gMonIcon_PikachuPopStar[] = INCBIN_U8("graphics/pokemon/pikachu/pop_star/icon.4bpp"); - const u32 gMonFrontPic_PikachuPhD[] = INCBIN_U32("graphics/pokemon/pikachu/ph_d/front.4bpp.lz"); - const u32 gMonPalette_PikachuPhD[] = INCBIN_U32("graphics/pokemon/pikachu/ph_d/normal.gbapal.lz"); - const u32 gMonBackPic_PikachuPhD[] = INCBIN_U32("graphics/pokemon/pikachu/ph_d/back.4bpp.lz"); - const u32 gMonShinyPalette_PikachuPhD[] = INCBIN_U32("graphics/pokemon/pikachu/ph_d/shiny.gbapal.lz"); - const u8 gMonIcon_PikachuPhD[] = INCBIN_U8("graphics/pokemon/pikachu/ph_d/icon.4bpp"); + const u32 gMonFrontPic_PikachuPhD[] = INCBIN_U32("graphics/pokemon/pikachu/phd/front.4bpp.lz"); + const u32 gMonPalette_PikachuPhD[] = INCBIN_U32("graphics/pokemon/pikachu/phd/normal.gbapal.lz"); + const u32 gMonBackPic_PikachuPhD[] = INCBIN_U32("graphics/pokemon/pikachu/phd/back.4bpp.lz"); + const u32 gMonShinyPalette_PikachuPhD[] = INCBIN_U32("graphics/pokemon/pikachu/phd/shiny.gbapal.lz"); + const u8 gMonIcon_PikachuPhD[] = INCBIN_U8("graphics/pokemon/pikachu/phd/icon.4bpp"); const u32 gMonFrontPic_PikachuLibre[] = INCBIN_U32("graphics/pokemon/pikachu/libre/front.4bpp.lz"); const u32 gMonPalette_PikachuLibre[] = INCBIN_U32("graphics/pokemon/pikachu/libre/normal.gbapal.lz"); @@ -700,97 +1011,108 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ // const u32 gObjectEventPic_PikachuRockStar[] = INCBIN_COMP("graphics/pokemon/pikachu/rock_star/overworld.4bpp"); // const u32 gObjectEventPic_PikachuBelle[] = INCBIN_COMP("graphics/pokemon/pikachu/belle/overworld.4bpp"); // const u32 gObjectEventPic_PikachuPopStar[] = INCBIN_COMP("graphics/pokemon/pikachu/pop_star/overworld.4bpp"); - // const u32 gObjectEventPic_PikachuPhD[] = INCBIN_COMP("graphics/pokemon/pikachu/ph_d/overworld.4bpp"); + // const u32 gObjectEventPic_PikachuPhD[] = INCBIN_COMP("graphics/pokemon/pikachu/phd/overworld.4bpp"); // const u32 gObjectEventPic_PikachuLibre[] = INCBIN_COMP("graphics/pokemon/pikachu/libre/overworld.4bpp"); #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_COSPLAY_PIKACHU_FORMS #if P_CAP_PIKACHU_FORMS - const u32 gMonFrontPic_PikachuOriginalCap[] = INCBIN_U32("graphics/pokemon/pikachu/original_cap/front.4bpp.lz"); - const u32 gMonPalette_PikachuOriginalCap[] = INCBIN_U32("graphics/pokemon/pikachu/original_cap/normal.gbapal.lz"); - const u32 gMonBackPic_PikachuOriginalCap[] = INCBIN_U32("graphics/pokemon/pikachu/original_cap/back.4bpp.lz"); - const u32 gMonShinyPalette_PikachuOriginalCap[] = INCBIN_U32("graphics/pokemon/pikachu/original_cap/shiny.gbapal.lz"); - const u8 gMonIcon_PikachuOriginalCap[] = INCBIN_U8("graphics/pokemon/pikachu/original_cap/icon.4bpp"); - - const u32 gMonFrontPic_PikachuHoennCap[] = INCBIN_U32("graphics/pokemon/pikachu/hoenn_cap/front.4bpp.lz"); - const u32 gMonPalette_PikachuHoennCap[] = INCBIN_U32("graphics/pokemon/pikachu/hoenn_cap/normal.gbapal.lz"); - const u32 gMonBackPic_PikachuHoennCap[] = INCBIN_U32("graphics/pokemon/pikachu/hoenn_cap/back.4bpp.lz"); - const u32 gMonShinyPalette_PikachuHoennCap[] = INCBIN_U32("graphics/pokemon/pikachu/hoenn_cap/shiny.gbapal.lz"); - const u8 gMonIcon_PikachuHoennCap[] = INCBIN_U8("graphics/pokemon/pikachu/hoenn_cap/icon.4bpp"); - - const u32 gMonFrontPic_PikachuSinnohCap[] = INCBIN_U32("graphics/pokemon/pikachu/sinnoh_cap/front.4bpp.lz"); - const u32 gMonPalette_PikachuSinnohCap[] = INCBIN_U32("graphics/pokemon/pikachu/sinnoh_cap/normal.gbapal.lz"); - const u32 gMonBackPic_PikachuSinnohCap[] = INCBIN_U32("graphics/pokemon/pikachu/sinnoh_cap/back.4bpp.lz"); - const u32 gMonShinyPalette_PikachuSinnohCap[] = INCBIN_U32("graphics/pokemon/pikachu/sinnoh_cap/shiny.gbapal.lz"); - const u8 gMonIcon_PikachuSinnohCap[] = INCBIN_U8("graphics/pokemon/pikachu/sinnoh_cap/icon.4bpp"); - - const u32 gMonFrontPic_PikachuUnovaCap[] = INCBIN_U32("graphics/pokemon/pikachu/unova_cap/front.4bpp.lz"); - const u32 gMonPalette_PikachuUnovaCap[] = INCBIN_U32("graphics/pokemon/pikachu/unova_cap/normal.gbapal.lz"); - const u32 gMonBackPic_PikachuUnovaCap[] = INCBIN_U32("graphics/pokemon/pikachu/unova_cap/back.4bpp.lz"); - const u32 gMonShinyPalette_PikachuUnovaCap[] = INCBIN_U32("graphics/pokemon/pikachu/unova_cap/shiny.gbapal.lz"); - const u8 gMonIcon_PikachuUnovaCap[] = INCBIN_U8("graphics/pokemon/pikachu/unova_cap/icon.4bpp"); - - const u32 gMonFrontPic_PikachuKalosCap[] = INCBIN_U32("graphics/pokemon/pikachu/kalos_cap/front.4bpp.lz"); - const u32 gMonPalette_PikachuKalosCap[] = INCBIN_U32("graphics/pokemon/pikachu/kalos_cap/normal.gbapal.lz"); - const u32 gMonBackPic_PikachuKalosCap[] = INCBIN_U32("graphics/pokemon/pikachu/kalos_cap/back.4bpp.lz"); - const u32 gMonShinyPalette_PikachuKalosCap[] = INCBIN_U32("graphics/pokemon/pikachu/kalos_cap/shiny.gbapal.lz"); - const u8 gMonIcon_PikachuKalosCap[] = INCBIN_U8("graphics/pokemon/pikachu/kalos_cap/icon.4bpp"); - - const u32 gMonFrontPic_PikachuAlolaCap[] = INCBIN_U32("graphics/pokemon/pikachu/alola_cap/front.4bpp.lz"); - const u32 gMonPalette_PikachuAlolaCap[] = INCBIN_U32("graphics/pokemon/pikachu/alola_cap/normal.gbapal.lz"); - const u32 gMonBackPic_PikachuAlolaCap[] = INCBIN_U32("graphics/pokemon/pikachu/alola_cap/back.4bpp.lz"); - const u32 gMonShinyPalette_PikachuAlolaCap[] = INCBIN_U32("graphics/pokemon/pikachu/alola_cap/shiny.gbapal.lz"); - const u8 gMonIcon_PikachuAlolaCap[] = INCBIN_U8("graphics/pokemon/pikachu/alola_cap/icon.4bpp"); - - const u32 gMonFrontPic_PikachuPartnerCap[] = INCBIN_U32("graphics/pokemon/pikachu/partner_cap/front.4bpp.lz"); - const u32 gMonPalette_PikachuPartnerCap[] = INCBIN_U32("graphics/pokemon/pikachu/partner_cap/normal.gbapal.lz"); - const u32 gMonBackPic_PikachuPartnerCap[] = INCBIN_U32("graphics/pokemon/pikachu/partner_cap/back.4bpp.lz"); - const u32 gMonShinyPalette_PikachuPartnerCap[] = INCBIN_U32("graphics/pokemon/pikachu/partner_cap/shiny.gbapal.lz"); - const u8 gMonIcon_PikachuPartnerCap[] = INCBIN_U8("graphics/pokemon/pikachu/partner_cap/icon.4bpp"); - - const u32 gMonFrontPic_PikachuWorldCap[] = INCBIN_U32("graphics/pokemon/pikachu/world_cap/front.4bpp.lz"); - const u32 gMonPalette_PikachuWorldCap[] = INCBIN_U32("graphics/pokemon/pikachu/world_cap/normal.gbapal.lz"); - const u32 gMonBackPic_PikachuWorldCap[] = INCBIN_U32("graphics/pokemon/pikachu/world_cap/back.4bpp.lz"); - const u32 gMonShinyPalette_PikachuWorldCap[] = INCBIN_U32("graphics/pokemon/pikachu/world_cap/shiny.gbapal.lz"); - const u8 gMonIcon_PikachuWorldCap[] = INCBIN_U8("graphics/pokemon/pikachu/world_cap/icon.4bpp"); - -#if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_PikachuOriginalCap[] = INCBIN_COMP("graphics/pokemon/pikachu/original_cap/overworld.4bpp"); - // const u32 gObjectEventPic_PikachuHoennCap[] = INCBIN_COMP("graphics/pokemon/pikachu/hoenn_cap/overworld.4bpp"); - // const u32 gObjectEventPic_PikachuSinnohCap[] = INCBIN_COMP("graphics/pokemon/pikachu/sinnoh_cap/overworld.4bpp"); - // const u32 gObjectEventPic_PikachuUnovaCap[] = INCBIN_COMP("graphics/pokemon/pikachu/unova_cap/overworld.4bpp"); - // const u32 gObjectEventPic_PikachuKalosCap[] = INCBIN_COMP("graphics/pokemon/pikachu/kalos_cap/overworld.4bpp"); - // const u32 gObjectEventPic_PikachuAlolaCap[] = INCBIN_COMP("graphics/pokemon/pikachu/alola_cap/overworld.4bpp"); - // const u32 gObjectEventPic_PikachuPartnerCap[] = INCBIN_COMP("graphics/pokemon/pikachu/partner_cap/overworld.4bpp"); - // const u32 gObjectEventPic_PikachuWorldCap[] = INCBIN_COMP("graphics/pokemon/pikachu/world_cap/overworld.4bpp"); + const u32 gMonFrontPic_PikachuOriginal[] = INCBIN_U32("graphics/pokemon/pikachu/original/front.4bpp.lz"); + const u32 gMonPalette_PikachuOriginal[] = INCBIN_U32("graphics/pokemon/pikachu/original/normal.gbapal.lz"); + const u32 gMonBackPic_PikachuOriginal[] = INCBIN_U32("graphics/pokemon/pikachu/original/back.4bpp.lz"); + const u32 gMonShinyPalette_PikachuOriginal[] = INCBIN_U32("graphics/pokemon/pikachu/original/shiny.gbapal.lz"); + const u8 gMonIcon_PikachuOriginal[] = INCBIN_U8("graphics/pokemon/pikachu/original/icon.4bpp"); + + const u32 gMonFrontPic_PikachuHoenn[] = INCBIN_U32("graphics/pokemon/pikachu/hoenn/front.4bpp.lz"); + const u32 gMonPalette_PikachuHoenn[] = INCBIN_U32("graphics/pokemon/pikachu/hoenn/normal.gbapal.lz"); + const u32 gMonBackPic_PikachuHoenn[] = INCBIN_U32("graphics/pokemon/pikachu/hoenn/back.4bpp.lz"); + const u32 gMonShinyPalette_PikachuHoenn[] = INCBIN_U32("graphics/pokemon/pikachu/hoenn/shiny.gbapal.lz"); + const u8 gMonIcon_PikachuHoenn[] = INCBIN_U8("graphics/pokemon/pikachu/hoenn/icon.4bpp"); + + const u32 gMonFrontPic_PikachuSinnoh[] = INCBIN_U32("graphics/pokemon/pikachu/sinnoh/front.4bpp.lz"); + const u32 gMonPalette_PikachuSinnoh[] = INCBIN_U32("graphics/pokemon/pikachu/sinnoh/normal.gbapal.lz"); + const u32 gMonBackPic_PikachuSinnoh[] = INCBIN_U32("graphics/pokemon/pikachu/sinnoh/back.4bpp.lz"); + const u32 gMonShinyPalette_PikachuSinnoh[] = INCBIN_U32("graphics/pokemon/pikachu/sinnoh/shiny.gbapal.lz"); + const u8 gMonIcon_PikachuSinnoh[] = INCBIN_U8("graphics/pokemon/pikachu/sinnoh/icon.4bpp"); + + const u32 gMonFrontPic_PikachuUnova[] = INCBIN_U32("graphics/pokemon/pikachu/unova/front.4bpp.lz"); + const u32 gMonPalette_PikachuUnova[] = INCBIN_U32("graphics/pokemon/pikachu/unova/normal.gbapal.lz"); + const u32 gMonBackPic_PikachuUnova[] = INCBIN_U32("graphics/pokemon/pikachu/unova/back.4bpp.lz"); + const u32 gMonShinyPalette_PikachuUnova[] = INCBIN_U32("graphics/pokemon/pikachu/unova/shiny.gbapal.lz"); + const u8 gMonIcon_PikachuUnova[] = INCBIN_U8("graphics/pokemon/pikachu/unova/icon.4bpp"); + + const u32 gMonFrontPic_PikachuKalos[] = INCBIN_U32("graphics/pokemon/pikachu/kalos/front.4bpp.lz"); + const u32 gMonPalette_PikachuKalos[] = INCBIN_U32("graphics/pokemon/pikachu/kalos/normal.gbapal.lz"); + const u32 gMonBackPic_PikachuKalos[] = INCBIN_U32("graphics/pokemon/pikachu/kalos/back.4bpp.lz"); + const u32 gMonShinyPalette_PikachuKalos[] = INCBIN_U32("graphics/pokemon/pikachu/kalos/shiny.gbapal.lz"); + const u8 gMonIcon_PikachuKalos[] = INCBIN_U8("graphics/pokemon/pikachu/kalos/icon.4bpp"); + + const u32 gMonFrontPic_PikachuAlola[] = INCBIN_U32("graphics/pokemon/pikachu/alola/front.4bpp.lz"); + const u32 gMonPalette_PikachuAlola[] = INCBIN_U32("graphics/pokemon/pikachu/alola/normal.gbapal.lz"); + const u32 gMonBackPic_PikachuAlola[] = INCBIN_U32("graphics/pokemon/pikachu/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_PikachuAlola[] = INCBIN_U32("graphics/pokemon/pikachu/alola/shiny.gbapal.lz"); + const u8 gMonIcon_PikachuAlola[] = INCBIN_U8("graphics/pokemon/pikachu/alola/icon.4bpp"); + + const u32 gMonFrontPic_PikachuPartner[] = INCBIN_U32("graphics/pokemon/pikachu/partner/front.4bpp.lz"); + const u32 gMonPalette_PikachuPartner[] = INCBIN_U32("graphics/pokemon/pikachu/partner/normal.gbapal.lz"); + const u32 gMonBackPic_PikachuPartner[] = INCBIN_U32("graphics/pokemon/pikachu/partner/back.4bpp.lz"); + const u32 gMonShinyPalette_PikachuPartner[] = INCBIN_U32("graphics/pokemon/pikachu/partner/shiny.gbapal.lz"); + const u8 gMonIcon_PikachuPartner[] = INCBIN_U8("graphics/pokemon/pikachu/partner/icon.4bpp"); + + const u32 gMonFrontPic_PikachuWorld[] = INCBIN_U32("graphics/pokemon/pikachu/world/front.4bpp.lz"); + const u32 gMonPalette_PikachuWorld[] = INCBIN_U32("graphics/pokemon/pikachu/world/normal.gbapal.lz"); + const u32 gMonBackPic_PikachuWorld[] = INCBIN_U32("graphics/pokemon/pikachu/world/back.4bpp.lz"); + const u32 gMonShinyPalette_PikachuWorld[] = INCBIN_U32("graphics/pokemon/pikachu/world/shiny.gbapal.lz"); + const u8 gMonIcon_PikachuWorld[] = INCBIN_U8("graphics/pokemon/pikachu/world/icon.4bpp"); + +#if OW_POKEMON_OBJECT_EVENTS + // const u32 gObjectEventPic_PikachuOriginal[] = INCBIN_COMP("graphics/pokemon/pikachu/original/overworld.4bpp"); + // const u32 gObjectEventPic_PikachuHoenn[] = INCBIN_COMP("graphics/pokemon/pikachu/hoenn/overworld.4bpp"); + // const u32 gObjectEventPic_PikachuSinnoh[] = INCBIN_COMP("graphics/pokemon/pikachu/sinnoh/overworld.4bpp"); + // const u32 gObjectEventPic_PikachuUnova[] = INCBIN_COMP("graphics/pokemon/pikachu/unova/overworld.4bpp"); + // const u32 gObjectEventPic_PikachuKalos[] = INCBIN_COMP("graphics/pokemon/pikachu/kalos/overworld.4bpp"); + // const u32 gObjectEventPic_PikachuAlola[] = INCBIN_COMP("graphics/pokemon/pikachu/alola/overworld.4bpp"); + // const u32 gObjectEventPic_PikachuPartner[] = INCBIN_COMP("graphics/pokemon/pikachu/partner/overworld.4bpp"); + // const u32 gObjectEventPic_PikachuWorld[] = INCBIN_COMP("graphics/pokemon/pikachu/world/overworld.4bpp"); #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_CAP_PIKACHU_FORMS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_PikachuGigantamax[] = INCBIN_U32("graphics/pokemon/pikachu/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_PikachuGigantamax[] = INCBIN_U32("graphics/pokemon/pikachu/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_PikachuGigantamax[] = INCBIN_U32("graphics/pokemon/pikachu/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_PikachuGigantamax[] = INCBIN_U32("graphics/pokemon/pikachu/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_PikachuGigantamax[] = INCBIN_U8("graphics/pokemon/pikachu/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_PikachuGmax[] = INCBIN_U32("graphics/pokemon/pikachu/gmax/front.4bpp.lz"); + const u32 gMonBackPic_PikachuGmax[] = INCBIN_U32("graphics/pokemon/pikachu/gmax/back.4bpp.lz"); + const u32 gMonPalette_PikachuGmax[] = INCBIN_U32("graphics/pokemon/pikachu/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_PikachuGmax[] = INCBIN_U32("graphics/pokemon/pikachu/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_PikachuGmax[] = INCBIN_U8("graphics/pokemon/pikachu/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_PikachuGigantamax[] = INCBIN_COMP("graphics/pokemon/pikachu/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_PikachuGmax[] = INCBIN_COMP("graphics/pokemon/pikachu/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_PikachuGigantamax[] = INCBIN_U32("graphics/pokemon/pikachu/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_PikachuGigantamax[] = INCBIN_U32("graphics/pokemon/pikachu/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_PikachuGmax[] = INCBIN_U32("graphics/pokemon/pikachu/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_PikachuGmax[] = INCBIN_U32("graphics/pokemon/pikachu/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS - const u8 gMonIcon_PikachuPartner[] = INCBIN_U8("graphics/pokemon/pikachu/partner/icon.4bpp"); - #if P_CUSTOM_GENDER_DIFF_ICONS - const u8 gMonIcon_PikachuPartnerF[] = INCBIN_U8("graphics/pokemon/pikachu/partner/iconf.4bpp"); - #endif + const u8 gMonIcon_PikachuStarter[] = INCBIN_U8("graphics/pokemon/pikachu/starter/icon.4bpp"); +#if P_GENDER_DIFFERENCES && P_CUSTOM_GENDER_DIFF_ICONS + const u8 gMonIcon_PikachuStarterF[] = INCBIN_U8("graphics/pokemon/pikachu/starter/iconf.4bpp"); +#endif //P_GENDER_DIFFERENCES && P_CUSTOM_GENDER_DIFF_ICONS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/anim_front.4bpp.lz"); const u32 gMonPalette_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/normal.gbapal.lz"); const u32 gMonBackPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/back.4bpp.lz"); const u32 gMonShinyPalette_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Raichu[] = INCBIN_U8("graphics/pokemon/raichu/icon.4bpp"); +#else + const u8 gMonIcon_Raichu[] = INCBIN_U8("graphics/pokemon/raichu/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Raichu[] = INCBIN_U8("graphics/pokemon/raichu/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -802,30 +1124,46 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_RaichuF[] = INCBIN_U32("graphics/pokemon/raichu/anim_frontf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_RaichuF[] = INCBIN_COMP("graphics/pokemon/raichu/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_ALOLAN_FORMS - const u32 gMonFrontPic_RaichuAlolan[] = INCBIN_U32("graphics/pokemon/raichu/alolan/front.4bpp.lz"); - const u32 gMonPalette_RaichuAlolan[] = INCBIN_U32("graphics/pokemon/raichu/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_RaichuAlolan[] = INCBIN_U32("graphics/pokemon/raichu/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_RaichuAlolan[] = INCBIN_U32("graphics/pokemon/raichu/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_RaichuAlolan[] = INCBIN_U8("graphics/pokemon/raichu/alolan/icon.4bpp"); + const u32 gMonFrontPic_RaichuAlola[] = INCBIN_U32("graphics/pokemon/raichu/alola/front.4bpp.lz"); + const u32 gMonPalette_RaichuAlola[] = INCBIN_U32("graphics/pokemon/raichu/alola/normal.gbapal.lz"); + const u32 gMonBackPic_RaichuAlola[] = INCBIN_U32("graphics/pokemon/raichu/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_RaichuAlola[] = INCBIN_U32("graphics/pokemon/raichu/alola/shiny.gbapal.lz"); + const u8 gMonIcon_RaichuAlola[] = INCBIN_U8("graphics/pokemon/raichu/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_RaichuAlolan[] = INCBIN_COMP("graphics/pokemon/raichu/alolan/overworld.4bpp"); + const u32 gObjectEventPic_RaichuAlola[] = INCBIN_COMP("graphics/pokemon/raichu/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_RaichuAlolan[] = INCBIN_U32("graphics/pokemon/raichu/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_RaichuAlolan[] = INCBIN_U32("graphics/pokemon/raichu/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_RaichuAlola[] = INCBIN_U32("graphics/pokemon/raichu/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_RaichuAlola[] = INCBIN_U32("graphics/pokemon/raichu/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_ALOLAN_FORMS #endif //P_FAMILY_PIKACHU #if P_FAMILY_SANDSHREW +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/anim_front.4bpp.lz"); const u32 gMonPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/normal.gbapal.lz"); const u32 gMonBackPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/back.4bpp.lz"); const u32 gMonShinyPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Sandshrew[] = INCBIN_U8("graphics/pokemon/sandshrew/icon.4bpp"); +#else + const u8 gMonIcon_Sandshrew[] = INCBIN_U8("graphics/pokemon/sandshrew/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Sandshrew[] = INCBIN_U8("graphics/pokemon/sandshrew/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -837,11 +1175,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/anim_front.4bpp.lz"); const u32 gMonPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/normal.gbapal.lz"); const u32 gMonBackPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/back.4bpp.lz"); const u32 gMonShinyPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Sandslash[] = INCBIN_U8("graphics/pokemon/sandslash/icon.4bpp"); +#else + const u8 gMonIcon_Sandslash[] = INCBIN_U8("graphics/pokemon/sandslash/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Sandslash[] = INCBIN_U8("graphics/pokemon/sandslash/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -854,40 +1203,51 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_ALOLAN_FORMS - const u32 gMonFrontPic_SandshrewAlolan[] = INCBIN_U32("graphics/pokemon/sandshrew/alolan/front.4bpp.lz"); - const u32 gMonPalette_SandshrewAlolan[] = INCBIN_U32("graphics/pokemon/sandshrew/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_SandshrewAlolan[] = INCBIN_U32("graphics/pokemon/sandshrew/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_SandshrewAlolan[] = INCBIN_U32("graphics/pokemon/sandshrew/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_SandshrewAlolan[] = INCBIN_U8("graphics/pokemon/sandshrew/alolan/icon.4bpp"); + const u32 gMonFrontPic_SandshrewAlola[] = INCBIN_U32("graphics/pokemon/sandshrew/alola/front.4bpp.lz"); + const u32 gMonPalette_SandshrewAlola[] = INCBIN_U32("graphics/pokemon/sandshrew/alola/normal.gbapal.lz"); + const u32 gMonBackPic_SandshrewAlola[] = INCBIN_U32("graphics/pokemon/sandshrew/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_SandshrewAlola[] = INCBIN_U32("graphics/pokemon/sandshrew/alola/shiny.gbapal.lz"); + const u8 gMonIcon_SandshrewAlola[] = INCBIN_U8("graphics/pokemon/sandshrew/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_SandshrewAlolan[] = INCBIN_COMP("graphics/pokemon/sandshrew/alolan/overworld.4bpp"); + const u32 gObjectEventPic_SandshrewAlola[] = INCBIN_COMP("graphics/pokemon/sandshrew/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_SandshrewAlolan[] = INCBIN_U32("graphics/pokemon/sandshrew/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_SandshrewAlolan[] = INCBIN_U32("graphics/pokemon/sandshrew/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_SandshrewAlola[] = INCBIN_U32("graphics/pokemon/sandshrew/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_SandshrewAlola[] = INCBIN_U32("graphics/pokemon/sandshrew/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_SandslashAlolan[] = INCBIN_U32("graphics/pokemon/sandslash/alolan/front.4bpp.lz"); - const u32 gMonPalette_SandslashAlolan[] = INCBIN_U32("graphics/pokemon/sandslash/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_SandslashAlolan[] = INCBIN_U32("graphics/pokemon/sandslash/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_SandslashAlolan[] = INCBIN_U32("graphics/pokemon/sandslash/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_SandslashAlolan[] = INCBIN_U8("graphics/pokemon/sandslash/alolan/icon.4bpp"); + const u32 gMonFrontPic_SandslashAlola[] = INCBIN_U32("graphics/pokemon/sandslash/alola/front.4bpp.lz"); + const u32 gMonPalette_SandslashAlola[] = INCBIN_U32("graphics/pokemon/sandslash/alola/normal.gbapal.lz"); + const u32 gMonBackPic_SandslashAlola[] = INCBIN_U32("graphics/pokemon/sandslash/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_SandslashAlola[] = INCBIN_U32("graphics/pokemon/sandslash/alola/shiny.gbapal.lz"); + const u8 gMonIcon_SandslashAlola[] = INCBIN_U8("graphics/pokemon/sandslash/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_SandslashAlolan[] = INCBIN_COMP("graphics/pokemon/sandslash/alolan/overworld.4bpp"); + const u32 gObjectEventPic_SandslashAlola[] = INCBIN_COMP("graphics/pokemon/sandslash/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_SandslashAlolan[] = INCBIN_U32("graphics/pokemon/sandslash/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_SandslashAlolan[] = INCBIN_U32("graphics/pokemon/sandslash/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_SandslashAlola[] = INCBIN_U32("graphics/pokemon/sandslash/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_SandslashAlola[] = INCBIN_U32("graphics/pokemon/sandslash/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_ALOLAN_FORMS #endif //P_FAMILY_SANDSHREW #if P_FAMILY_NIDORAN +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/anim_front.4bpp.lz"); const u32 gMonPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/normal.gbapal.lz"); const u32 gMonBackPic_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/back.4bpp.lz"); const u32 gMonShinyPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/normal_gba.gbapal.lz"); + const u32 gMonBackPic_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_NidoranF[] = INCBIN_U8("graphics/pokemon/nidoran_f/icon.4bpp"); +#else + const u8 gMonIcon_NidoranF[] = INCBIN_U8("graphics/pokemon/nidoran_f/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_NidoranF[] = INCBIN_U8("graphics/pokemon/nidoran_f/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -899,11 +1259,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/anim_front.4bpp.lz"); const u32 gMonPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/normal.gbapal.lz"); const u32 gMonBackPic_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/back.4bpp.lz"); const u32 gMonShinyPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Nidorina[] = INCBIN_U8("graphics/pokemon/nidorina/icon.4bpp"); +#else + const u8 gMonIcon_Nidorina[] = INCBIN_U8("graphics/pokemon/nidorina/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Nidorina[] = INCBIN_U8("graphics/pokemon/nidorina/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -915,11 +1286,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/anim_front.4bpp.lz"); const u32 gMonPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/normal.gbapal.lz"); const u32 gMonBackPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/back.4bpp.lz"); const u32 gMonShinyPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Nidoqueen[] = INCBIN_U8("graphics/pokemon/nidoqueen/icon.4bpp"); +#else + const u8 gMonIcon_Nidoqueen[] = INCBIN_U8("graphics/pokemon/nidoqueen/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Nidoqueen[] = INCBIN_U8("graphics/pokemon/nidoqueen/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -931,11 +1313,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/anim_front.4bpp.lz"); const u32 gMonPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/normal.gbapal.lz"); const u32 gMonBackPic_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/back.4bpp.lz"); const u32 gMonShinyPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/normal_gba.gbapal.lz"); + const u32 gMonBackPic_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_NidoranM[] = INCBIN_U8("graphics/pokemon/nidoran_m/icon.4bpp"); +#else + const u8 gMonIcon_NidoranM[] = INCBIN_U8("graphics/pokemon/nidoran_m/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_NidoranM[] = INCBIN_U8("graphics/pokemon/nidoran_m/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -947,11 +1340,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/anim_front.4bpp.lz"); const u32 gMonPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/normal.gbapal.lz"); const u32 gMonBackPic_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/back.4bpp.lz"); const u32 gMonShinyPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Nidorino[] = INCBIN_U8("graphics/pokemon/nidorino/icon.4bpp"); +#else + const u8 gMonIcon_Nidorino[] = INCBIN_U8("graphics/pokemon/nidorino/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Nidorino[] = INCBIN_U8("graphics/pokemon/nidorino/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -963,11 +1367,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/anim_front.4bpp.lz"); const u32 gMonPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/normal.gbapal.lz"); const u32 gMonBackPic_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/back.4bpp.lz"); const u32 gMonShinyPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Nidoking[] = INCBIN_U8("graphics/pokemon/nidoking/icon.4bpp"); +#else + const u8 gMonIcon_Nidoking[] = INCBIN_U8("graphics/pokemon/nidoking/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Nidoking[] = INCBIN_U8("graphics/pokemon/nidoking/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -982,11 +1397,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #if P_FAMILY_CLEFAIRY #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/anim_front.4bpp.lz"); const u32 gMonPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/normal.gbapal.lz"); const u32 gMonBackPic_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/back.4bpp.lz"); const u32 gMonShinyPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Cleffa[] = INCBIN_U8("graphics/pokemon/cleffa/icon.4bpp"); +#else + const u8 gMonIcon_Cleffa[] = INCBIN_U8("graphics/pokemon/cleffa/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Cleffa[] = INCBIN_U8("graphics/pokemon/cleffa/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -999,11 +1425,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/anim_front.4bpp.lz"); const u32 gMonPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/normal.gbapal.lz"); const u32 gMonBackPic_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/back.4bpp.lz"); const u32 gMonShinyPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Clefairy[] = INCBIN_U8("graphics/pokemon/clefairy/icon.4bpp"); +#else + const u8 gMonIcon_Clefairy[] = INCBIN_U8("graphics/pokemon/clefairy/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Clefairy[] = INCBIN_U8("graphics/pokemon/clefairy/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1015,11 +1452,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/anim_front.4bpp.lz"); const u32 gMonPalette_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/normal.gbapal.lz"); const u32 gMonBackPic_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/back.4bpp.lz"); const u32 gMonShinyPalette_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Clefable[] = INCBIN_U8("graphics/pokemon/clefable/icon.4bpp"); +#else + const u8 gMonIcon_Clefable[] = INCBIN_U8("graphics/pokemon/clefable/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Clefable[] = INCBIN_U8("graphics/pokemon/clefable/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1033,11 +1481,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_CLEFAIRY #if P_FAMILY_VULPIX +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/anim_front.4bpp.lz"); const u32 gMonPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/normal.gbapal.lz"); const u32 gMonBackPic_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/back.4bpp.lz"); const u32 gMonShinyPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Vulpix[] = INCBIN_U8("graphics/pokemon/vulpix/icon.4bpp"); +#else + const u8 gMonIcon_Vulpix[] = INCBIN_U8("graphics/pokemon/vulpix/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Vulpix[] = INCBIN_U8("graphics/pokemon/vulpix/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1049,11 +1508,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/anim_front.4bpp.lz"); const u32 gMonPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/normal.gbapal.lz"); const u32 gMonBackPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/back.4bpp.lz"); const u32 gMonShinyPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Ninetales[] = INCBIN_U8("graphics/pokemon/ninetales/icon.4bpp"); +#else + const u8 gMonIcon_Ninetales[] = INCBIN_U8("graphics/pokemon/ninetales/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Ninetales[] = INCBIN_U8("graphics/pokemon/ninetales/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1066,29 +1536,29 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_ALOLAN_FORMS - const u32 gMonFrontPic_VulpixAlolan[] = INCBIN_U32("graphics/pokemon/vulpix/alolan/front.4bpp.lz"); - const u32 gMonPalette_VulpixAlolan[] = INCBIN_U32("graphics/pokemon/vulpix/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_VulpixAlolan[] = INCBIN_U32("graphics/pokemon/vulpix/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_VulpixAlolan[] = INCBIN_U32("graphics/pokemon/vulpix/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_VulpixAlolan[] = INCBIN_U8("graphics/pokemon/vulpix/alolan/icon.4bpp"); + const u32 gMonFrontPic_VulpixAlola[] = INCBIN_U32("graphics/pokemon/vulpix/alola/front.4bpp.lz"); + const u32 gMonPalette_VulpixAlola[] = INCBIN_U32("graphics/pokemon/vulpix/alola/normal.gbapal.lz"); + const u32 gMonBackPic_VulpixAlola[] = INCBIN_U32("graphics/pokemon/vulpix/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_VulpixAlola[] = INCBIN_U32("graphics/pokemon/vulpix/alola/shiny.gbapal.lz"); + const u8 gMonIcon_VulpixAlola[] = INCBIN_U8("graphics/pokemon/vulpix/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_VulpixAlolan[] = INCBIN_COMP("graphics/pokemon/vulpix/alolan/overworld.4bpp"); + const u32 gObjectEventPic_VulpixAlola[] = INCBIN_COMP("graphics/pokemon/vulpix/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_VulpixAlolan[] = INCBIN_U32("graphics/pokemon/vulpix/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_VulpixAlolan[] = INCBIN_U32("graphics/pokemon/vulpix/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_VulpixAlola[] = INCBIN_U32("graphics/pokemon/vulpix/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_VulpixAlola[] = INCBIN_U32("graphics/pokemon/vulpix/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_NinetalesAlolan[] = INCBIN_U32("graphics/pokemon/ninetales/alolan/front.4bpp.lz"); - const u32 gMonPalette_NinetalesAlolan[] = INCBIN_U32("graphics/pokemon/ninetales/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_NinetalesAlolan[] = INCBIN_U32("graphics/pokemon/ninetales/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_NinetalesAlolan[] = INCBIN_U32("graphics/pokemon/ninetales/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_NinetalesAlolan[] = INCBIN_U8("graphics/pokemon/ninetales/alolan/icon.4bpp"); + const u32 gMonFrontPic_NinetalesAlola[] = INCBIN_U32("graphics/pokemon/ninetales/alola/front.4bpp.lz"); + const u32 gMonPalette_NinetalesAlola[] = INCBIN_U32("graphics/pokemon/ninetales/alola/normal.gbapal.lz"); + const u32 gMonBackPic_NinetalesAlola[] = INCBIN_U32("graphics/pokemon/ninetales/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_NinetalesAlola[] = INCBIN_U32("graphics/pokemon/ninetales/alola/shiny.gbapal.lz"); + const u8 gMonIcon_NinetalesAlola[] = INCBIN_U8("graphics/pokemon/ninetales/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_NinetalesAlolan[] = INCBIN_COMP("graphics/pokemon/ninetales/alolan/overworld.4bpp"); + const u32 gObjectEventPic_NinetalesAlola[] = INCBIN_COMP("graphics/pokemon/ninetales/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_NinetalesAlolan[] = INCBIN_U32("graphics/pokemon/ninetales/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_NinetalesAlolan[] = INCBIN_U32("graphics/pokemon/ninetales/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_NinetalesAlola[] = INCBIN_U32("graphics/pokemon/ninetales/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_NinetalesAlola[] = INCBIN_U32("graphics/pokemon/ninetales/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_ALOLAN_FORMS @@ -1096,11 +1566,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #if P_FAMILY_JIGGLYPUFF #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/anim_front.4bpp.lz"); const u32 gMonPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/normal.gbapal.lz"); const u32 gMonBackPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/back.4bpp.lz"); const u32 gMonShinyPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Igglybuff[] = INCBIN_U8("graphics/pokemon/igglybuff/icon.4bpp"); +#else + const u8 gMonIcon_Igglybuff[] = INCBIN_U8("graphics/pokemon/igglybuff/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Igglybuff[] = INCBIN_U8("graphics/pokemon/igglybuff/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1113,11 +1594,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/anim_front.4bpp.lz"); const u32 gMonPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/normal.gbapal.lz"); const u32 gMonBackPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/back.4bpp.lz"); const u32 gMonShinyPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Jigglypuff[] = INCBIN_U8("graphics/pokemon/jigglypuff/icon.4bpp"); +#else + const u8 gMonIcon_Jigglypuff[] = INCBIN_U8("graphics/pokemon/jigglypuff/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Jigglypuff[] = INCBIN_U8("graphics/pokemon/jigglypuff/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1129,11 +1621,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/anim_front.4bpp.lz"); const u32 gMonPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/normal.gbapal.lz"); const u32 gMonBackPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/back.4bpp.lz"); const u32 gMonShinyPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Wigglytuff[] = INCBIN_U8("graphics/pokemon/wigglytuff/icon.4bpp"); +#else + const u8 gMonIcon_Wigglytuff[] = INCBIN_U8("graphics/pokemon/wigglytuff/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Wigglytuff[] = INCBIN_U8("graphics/pokemon/wigglytuff/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1147,11 +1650,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_JIGGLYPUFF #if P_FAMILY_ZUBAT +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/anim_front.4bpp.lz"); const u32 gMonPalette_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/normal.gbapal.lz"); const u32 gMonBackPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/back.4bpp.lz"); const u32 gMonShinyPalette_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Zubat[] = INCBIN_U8("graphics/pokemon/zubat/icon.4bpp"); +#else + const u8 gMonIcon_Zubat[] = INCBIN_U8("graphics/pokemon/zubat/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Zubat[] = INCBIN_U8("graphics/pokemon/zubat/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1163,14 +1677,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_ZubatF[] = INCBIN_U32("graphics/pokemon/zubat/anim_frontf.4bpp.lz"); const u32 gMonBackPic_ZubatF[] = INCBIN_U32("graphics/pokemon/zubat/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_ZubatF[] = INCBIN_COMP("graphics/pokemon/zubat/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/anim_front.4bpp.lz"); const u32 gMonPalette_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/normal.gbapal.lz"); const u32 gMonBackPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/back.4bpp.lz"); const u32 gMonShinyPalette_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Golbat[] = INCBIN_U8("graphics/pokemon/golbat/icon.4bpp"); +#else + const u8 gMonIcon_Golbat[] = INCBIN_U8("graphics/pokemon/golbat/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Golbat[] = INCBIN_U8("graphics/pokemon/golbat/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1182,15 +1712,31 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_GolbatF[] = INCBIN_U32("graphics/pokemon/golbat/anim_frontf.4bpp.lz"); const u32 gMonBackPic_GolbatF[] = INCBIN_U32("graphics/pokemon/golbat/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_GolbatF[] = INCBIN_COMP("graphics/pokemon/golbat/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/anim_front.4bpp.lz"); const u32 gMonPalette_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/normal.gbapal.lz"); const u32 gMonBackPic_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/back.4bpp.lz"); const u32 gMonShinyPalette_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Crobat[] = INCBIN_U8("graphics/pokemon/crobat/icon.4bpp"); +#else + const u8 gMonIcon_Crobat[] = INCBIN_U8("graphics/pokemon/crobat/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Crobat[] = INCBIN_U8("graphics/pokemon/crobat/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1205,11 +1751,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_ZUBAT #if P_FAMILY_ODDISH +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/anim_front.4bpp.lz"); const u32 gMonPalette_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/normal.gbapal.lz"); const u32 gMonBackPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/back.4bpp.lz"); const u32 gMonShinyPalette_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Oddish[] = INCBIN_U8("graphics/pokemon/oddish/icon.4bpp"); +#else + const u8 gMonIcon_Oddish[] = INCBIN_U8("graphics/pokemon/oddish/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Oddish[] = INCBIN_U8("graphics/pokemon/oddish/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1221,11 +1778,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/anim_front.4bpp.lz"); const u32 gMonPalette_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/normal.gbapal.lz"); const u32 gMonBackPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/back.4bpp.lz"); const u32 gMonShinyPalette_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Gloom[] = INCBIN_U8("graphics/pokemon/gloom/icon.4bpp"); +#else + const u8 gMonIcon_Gloom[] = INCBIN_U8("graphics/pokemon/gloom/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Gloom[] = INCBIN_U8("graphics/pokemon/gloom/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1237,14 +1805,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_GloomF[] = INCBIN_U32("graphics/pokemon/gloom/anim_frontf.4bpp.lz"); const u32 gMonBackPic_GloomF[] = INCBIN_U32("graphics/pokemon/gloom/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_GloomF[] = INCBIN_COMP("graphics/pokemon/gloom/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/anim_front.4bpp.lz"); const u32 gMonPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/normal.gbapal.lz"); const u32 gMonBackPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/back.4bpp.lz"); const u32 gMonShinyPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Vileplume[] = INCBIN_U8("graphics/pokemon/vileplume/icon.4bpp"); +#else + const u8 gMonIcon_Vileplume[] = INCBIN_U8("graphics/pokemon/vileplume/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Vileplume[] = INCBIN_U8("graphics/pokemon/vileplume/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1256,15 +1840,31 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_VileplumeF[] = INCBIN_U32("graphics/pokemon/vileplume/anim_frontf.4bpp.lz"); const u32 gMonBackPic_VileplumeF[] = INCBIN_U32("graphics/pokemon/vileplume/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_VileplumeF[] = INCBIN_COMP("graphics/pokemon/vileplume/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/anim_front.4bpp.lz"); const u32 gMonPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/normal.gbapal.lz"); const u32 gMonBackPic_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/back.4bpp.lz"); const u32 gMonShinyPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Bellossom[] = INCBIN_U8("graphics/pokemon/bellossom/icon.4bpp"); +#else + const u8 gMonIcon_Bellossom[] = INCBIN_U8("graphics/pokemon/bellossom/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Bellossom[] = INCBIN_U8("graphics/pokemon/bellossom/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1279,11 +1879,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_ODDISH #if P_FAMILY_PARAS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/anim_front.4bpp.lz"); const u32 gMonPalette_Paras[] = INCBIN_U32("graphics/pokemon/paras/normal.gbapal.lz"); const u32 gMonBackPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/back.4bpp.lz"); const u32 gMonShinyPalette_Paras[] = INCBIN_U32("graphics/pokemon/paras/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Paras[] = INCBIN_U32("graphics/pokemon/paras/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Paras[] = INCBIN_U32("graphics/pokemon/paras/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Paras[] = INCBIN_U8("graphics/pokemon/paras/icon.4bpp"); +#else + const u8 gMonIcon_Paras[] = INCBIN_U8("graphics/pokemon/paras/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Paras[] = INCBIN_U8("graphics/pokemon/paras/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1295,11 +1906,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/anim_front.4bpp.lz"); const u32 gMonPalette_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/normal.gbapal.lz"); const u32 gMonBackPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/back.4bpp.lz"); const u32 gMonShinyPalette_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Parasect[] = INCBIN_U8("graphics/pokemon/parasect/icon.4bpp"); +#else + const u8 gMonIcon_Parasect[] = INCBIN_U8("graphics/pokemon/parasect/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Parasect[] = INCBIN_U8("graphics/pokemon/parasect/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1313,11 +1935,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_PARAS #if P_FAMILY_VENONAT +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/anim_front.4bpp.lz"); const u32 gMonPalette_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/normal.gbapal.lz"); const u32 gMonBackPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/back.4bpp.lz"); const u32 gMonShinyPalette_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Venonat[] = INCBIN_U8("graphics/pokemon/venonat/icon.4bpp"); +#else + const u8 gMonIcon_Venonat[] = INCBIN_U8("graphics/pokemon/venonat/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Venonat[] = INCBIN_U8("graphics/pokemon/venonat/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1329,11 +1962,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/anim_front.4bpp.lz"); const u32 gMonPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/normal.gbapal.lz"); const u32 gMonBackPic_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/back.4bpp.lz"); const u32 gMonShinyPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Venomoth[] = INCBIN_U8("graphics/pokemon/venomoth/icon.4bpp"); +#else + const u8 gMonIcon_Venomoth[] = INCBIN_U8("graphics/pokemon/venomoth/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Venomoth[] = INCBIN_U8("graphics/pokemon/venomoth/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1347,11 +1991,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_VENONAT #if P_FAMILY_DIGLETT +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/anim_front.4bpp.lz"); const u32 gMonPalette_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/normal.gbapal.lz"); const u32 gMonBackPic_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/back.4bpp.lz"); const u32 gMonShinyPalette_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Diglett[] = INCBIN_U8("graphics/pokemon/diglett/icon.4bpp"); +#else + const u8 gMonIcon_Diglett[] = INCBIN_U8("graphics/pokemon/diglett/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Diglett[] = INCBIN_U8("graphics/pokemon/diglett/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1363,11 +2018,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/anim_front.4bpp.lz"); const u32 gMonPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/normal.gbapal.lz"); const u32 gMonBackPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/back.4bpp.lz"); const u32 gMonShinyPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Dugtrio[] = INCBIN_U8("graphics/pokemon/dugtrio/icon.4bpp"); +#else + const u8 gMonIcon_Dugtrio[] = INCBIN_U8("graphics/pokemon/dugtrio/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Dugtrio[] = INCBIN_U8("graphics/pokemon/dugtrio/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1380,40 +2046,51 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_ALOLAN_FORMS - const u32 gMonFrontPic_DiglettAlolan[] = INCBIN_U32("graphics/pokemon/diglett/alolan/front.4bpp.lz"); - const u32 gMonPalette_DiglettAlolan[] = INCBIN_U32("graphics/pokemon/diglett/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_DiglettAlolan[] = INCBIN_U32("graphics/pokemon/diglett/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_DiglettAlolan[] = INCBIN_U32("graphics/pokemon/diglett/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_DiglettAlolan[] = INCBIN_U8("graphics/pokemon/diglett/alolan/icon.4bpp"); + const u32 gMonFrontPic_DiglettAlola[] = INCBIN_U32("graphics/pokemon/diglett/alola/front.4bpp.lz"); + const u32 gMonPalette_DiglettAlola[] = INCBIN_U32("graphics/pokemon/diglett/alola/normal.gbapal.lz"); + const u32 gMonBackPic_DiglettAlola[] = INCBIN_U32("graphics/pokemon/diglett/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_DiglettAlola[] = INCBIN_U32("graphics/pokemon/diglett/alola/shiny.gbapal.lz"); + const u8 gMonIcon_DiglettAlola[] = INCBIN_U8("graphics/pokemon/diglett/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_DiglettAlolan[] = INCBIN_COMP("graphics/pokemon/diglett/alolan/overworld.4bpp"); + const u32 gObjectEventPic_DiglettAlola[] = INCBIN_COMP("graphics/pokemon/diglett/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_DiglettAlolan[] = INCBIN_U32("graphics/pokemon/diglett/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_DiglettAlolan[] = INCBIN_U32("graphics/pokemon/diglett/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_DiglettAlola[] = INCBIN_U32("graphics/pokemon/diglett/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_DiglettAlola[] = INCBIN_U32("graphics/pokemon/diglett/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_DugtrioAlolan[] = INCBIN_U32("graphics/pokemon/dugtrio/alolan/front.4bpp.lz"); - const u32 gMonPalette_DugtrioAlolan[] = INCBIN_U32("graphics/pokemon/dugtrio/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_DugtrioAlolan[] = INCBIN_U32("graphics/pokemon/dugtrio/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_DugtrioAlolan[] = INCBIN_U32("graphics/pokemon/dugtrio/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_DugtrioAlolan[] = INCBIN_U8("graphics/pokemon/dugtrio/alolan/icon.4bpp"); + const u32 gMonFrontPic_DugtrioAlola[] = INCBIN_U32("graphics/pokemon/dugtrio/alola/front.4bpp.lz"); + const u32 gMonPalette_DugtrioAlola[] = INCBIN_U32("graphics/pokemon/dugtrio/alola/normal.gbapal.lz"); + const u32 gMonBackPic_DugtrioAlola[] = INCBIN_U32("graphics/pokemon/dugtrio/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_DugtrioAlola[] = INCBIN_U32("graphics/pokemon/dugtrio/alola/shiny.gbapal.lz"); + const u8 gMonIcon_DugtrioAlola[] = INCBIN_U8("graphics/pokemon/dugtrio/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_DugtrioAlolan[] = INCBIN_COMP("graphics/pokemon/dugtrio/alolan/overworld.4bpp"); + const u32 gObjectEventPic_DugtrioAlola[] = INCBIN_COMP("graphics/pokemon/dugtrio/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_DugtrioAlolan[] = INCBIN_U32("graphics/pokemon/dugtrio/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_DugtrioAlolan[] = INCBIN_U32("graphics/pokemon/dugtrio/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_DugtrioAlola[] = INCBIN_U32("graphics/pokemon/dugtrio/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_DugtrioAlola[] = INCBIN_U32("graphics/pokemon/dugtrio/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_ALOLAN_FORMS #endif //P_FAMILY_DIGLETT #if P_FAMILY_MEOWTH +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/anim_front.4bpp.lz"); const u32 gMonPalette_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/normal.gbapal.lz"); const u32 gMonBackPic_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/back.4bpp.lz"); const u32 gMonShinyPalette_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Meowth[] = INCBIN_U8("graphics/pokemon/meowth/icon.4bpp"); +#else + const u8 gMonIcon_Meowth[] = INCBIN_U8("graphics/pokemon/meowth/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Meowth[] = INCBIN_U8("graphics/pokemon/meowth/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1425,11 +2102,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Persian[] = INCBIN_U32("graphics/pokemon/persian/anim_front.4bpp.lz"); const u32 gMonPalette_Persian[] = INCBIN_U32("graphics/pokemon/persian/normal.gbapal.lz"); const u32 gMonBackPic_Persian[] = INCBIN_U32("graphics/pokemon/persian/back.4bpp.lz"); const u32 gMonShinyPalette_Persian[] = INCBIN_U32("graphics/pokemon/persian/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Persian[] = INCBIN_U32("graphics/pokemon/persian/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Persian[] = INCBIN_U32("graphics/pokemon/persian/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Persian[] = INCBIN_U32("graphics/pokemon/persian/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Persian[] = INCBIN_U32("graphics/pokemon/persian/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Persian[] = INCBIN_U8("graphics/pokemon/persian/icon.4bpp"); +#else + const u8 gMonIcon_Persian[] = INCBIN_U8("graphics/pokemon/persian/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Persian[] = INCBIN_U8("graphics/pokemon/persian/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1442,44 +2130,44 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_ALOLAN_FORMS - const u32 gMonFrontPic_MeowthAlolan[] = INCBIN_U32("graphics/pokemon/meowth/alolan/front.4bpp.lz"); - const u32 gMonPalette_MeowthAlolan[] = INCBIN_U32("graphics/pokemon/meowth/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_MeowthAlolan[] = INCBIN_U32("graphics/pokemon/meowth/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_MeowthAlolan[] = INCBIN_U32("graphics/pokemon/meowth/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_MeowthAlolan[] = INCBIN_U8("graphics/pokemon/meowth/alolan/icon.4bpp"); + const u32 gMonFrontPic_MeowthAlola[] = INCBIN_U32("graphics/pokemon/meowth/alola/front.4bpp.lz"); + const u32 gMonPalette_MeowthAlola[] = INCBIN_U32("graphics/pokemon/meowth/alola/normal.gbapal.lz"); + const u32 gMonBackPic_MeowthAlola[] = INCBIN_U32("graphics/pokemon/meowth/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_MeowthAlola[] = INCBIN_U32("graphics/pokemon/meowth/alola/shiny.gbapal.lz"); + const u8 gMonIcon_MeowthAlola[] = INCBIN_U8("graphics/pokemon/meowth/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_MeowthAlolan[] = INCBIN_COMP("graphics/pokemon/meowth/alolan/overworld.4bpp"); + const u32 gObjectEventPic_MeowthAlola[] = INCBIN_COMP("graphics/pokemon/meowth/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_MeowthAlolan[] = INCBIN_U32("graphics/pokemon/meowth/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_MeowthAlolan[] = INCBIN_U32("graphics/pokemon/meowth/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_MeowthAlola[] = INCBIN_U32("graphics/pokemon/meowth/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_MeowthAlola[] = INCBIN_U32("graphics/pokemon/meowth/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_PersianAlolan[] = INCBIN_U32("graphics/pokemon/persian/alolan/front.4bpp.lz"); - const u32 gMonPalette_PersianAlolan[] = INCBIN_U32("graphics/pokemon/persian/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_PersianAlolan[] = INCBIN_U32("graphics/pokemon/persian/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_PersianAlolan[] = INCBIN_U32("graphics/pokemon/persian/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_PersianAlolan[] = INCBIN_U8("graphics/pokemon/persian/alolan/icon.4bpp"); + const u32 gMonFrontPic_PersianAlola[] = INCBIN_U32("graphics/pokemon/persian/alola/front.4bpp.lz"); + const u32 gMonPalette_PersianAlola[] = INCBIN_U32("graphics/pokemon/persian/alola/normal.gbapal.lz"); + const u32 gMonBackPic_PersianAlola[] = INCBIN_U32("graphics/pokemon/persian/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_PersianAlola[] = INCBIN_U32("graphics/pokemon/persian/alola/shiny.gbapal.lz"); + const u8 gMonIcon_PersianAlola[] = INCBIN_U8("graphics/pokemon/persian/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_PersianAlolan[] = INCBIN_COMP("graphics/pokemon/persian/alolan/overworld.4bpp"); + const u32 gObjectEventPic_PersianAlola[] = INCBIN_COMP("graphics/pokemon/persian/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_PersianAlolan[] = INCBIN_U32("graphics/pokemon/persian/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_PersianAlolan[] = INCBIN_U32("graphics/pokemon/persian/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_PersianAlola[] = INCBIN_U32("graphics/pokemon/persian/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_PersianAlola[] = INCBIN_U32("graphics/pokemon/persian/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS - const u32 gMonFrontPic_MeowthGalarian[] = INCBIN_U32("graphics/pokemon/meowth/galarian/front.4bpp.lz"); - const u32 gMonPalette_MeowthGalarian[] = INCBIN_U32("graphics/pokemon/meowth/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_MeowthGalarian[] = INCBIN_U32("graphics/pokemon/meowth/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_MeowthGalarian[] = INCBIN_U32("graphics/pokemon/meowth/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_MeowthGalarian[] = INCBIN_U8("graphics/pokemon/meowth/galarian/icon.4bpp"); + const u32 gMonFrontPic_MeowthGalar[] = INCBIN_U32("graphics/pokemon/meowth/galar/front.4bpp.lz"); + const u32 gMonPalette_MeowthGalar[] = INCBIN_U32("graphics/pokemon/meowth/galar/normal.gbapal.lz"); + const u32 gMonBackPic_MeowthGalar[] = INCBIN_U32("graphics/pokemon/meowth/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_MeowthGalar[] = INCBIN_U32("graphics/pokemon/meowth/galar/shiny.gbapal.lz"); + const u8 gMonIcon_MeowthGalar[] = INCBIN_U8("graphics/pokemon/meowth/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_MeowthGalarian[] = INCBIN_COMP("graphics/pokemon/meowth/galarian/overworld.4bpp"); + const u32 gObjectEventPic_MeowthGalar[] = INCBIN_COMP("graphics/pokemon/meowth/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_MeowthGalarian[] = INCBIN_U32("graphics/pokemon/meowth/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_MeowthGalarian[] = INCBIN_U32("graphics/pokemon/meowth/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_MeowthGalar[] = INCBIN_U32("graphics/pokemon/meowth/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_MeowthGalar[] = INCBIN_U32("graphics/pokemon/meowth/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS @@ -1501,27 +2189,38 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_GALARIAN_FORMS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_MeowthGigantamax[] = INCBIN_U32("graphics/pokemon/meowth/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_MeowthGigantamax[] = INCBIN_U32("graphics/pokemon/meowth/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_MeowthGigantamax[] = INCBIN_U32("graphics/pokemon/meowth/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_MeowthGigantamax[] = INCBIN_U32("graphics/pokemon/meowth/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_MeowthGigantamax[] = INCBIN_U8("graphics/pokemon/meowth/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_MeowthGmax[] = INCBIN_U32("graphics/pokemon/meowth/gmax/front.4bpp.lz"); + const u32 gMonBackPic_MeowthGmax[] = INCBIN_U32("graphics/pokemon/meowth/gmax/back.4bpp.lz"); + const u32 gMonPalette_MeowthGmax[] = INCBIN_U32("graphics/pokemon/meowth/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_MeowthGmax[] = INCBIN_U32("graphics/pokemon/meowth/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_MeowthGmax[] = INCBIN_U8("graphics/pokemon/meowth/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_MeowthGigantamax[] = INCBIN_COMP("graphics/pokemon/meowth/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_MeowthGmax[] = INCBIN_COMP("graphics/pokemon/meowth/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_MeowthGigantamax[] = INCBIN_U32("graphics/pokemon/meowth/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_MeowthGigantamax[] = INCBIN_U32("graphics/pokemon/meowth/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_MeowthGmax[] = INCBIN_U32("graphics/pokemon/meowth/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_MeowthGmax[] = INCBIN_U32("graphics/pokemon/meowth/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_MEOWTH #if P_FAMILY_PSYDUCK +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/anim_front.4bpp.lz"); const u32 gMonPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/normal.gbapal.lz"); const u32 gMonBackPic_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/back.4bpp.lz"); const u32 gMonShinyPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Psyduck[] = INCBIN_U8("graphics/pokemon/psyduck/icon.4bpp"); +#else + const u8 gMonIcon_Psyduck[] = INCBIN_U8("graphics/pokemon/psyduck/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Psyduck[] = INCBIN_U8("graphics/pokemon/psyduck/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1533,11 +2232,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/anim_front.4bpp.lz"); const u32 gMonPalette_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/normal.gbapal.lz"); const u32 gMonBackPic_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/back.4bpp.lz"); const u32 gMonShinyPalette_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Golduck[] = INCBIN_U8("graphics/pokemon/golduck/icon.4bpp"); +#else + const u8 gMonIcon_Golduck[] = INCBIN_U8("graphics/pokemon/golduck/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Golduck[] = INCBIN_U8("graphics/pokemon/golduck/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1551,11 +2261,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_PSYDUCK #if P_FAMILY_MANKEY +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/anim_front.4bpp.lz"); const u32 gMonPalette_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/normal.gbapal.lz"); const u32 gMonBackPic_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/back.4bpp.lz"); const u32 gMonShinyPalette_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Mankey[] = INCBIN_U8("graphics/pokemon/mankey/icon.4bpp"); +#else + const u8 gMonIcon_Mankey[] = INCBIN_U8("graphics/pokemon/mankey/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Mankey[] = INCBIN_U8("graphics/pokemon/mankey/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1567,11 +2288,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/anim_front.4bpp.lz"); const u32 gMonPalette_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/normal.gbapal.lz"); const u32 gMonBackPic_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/back.4bpp.lz"); const u32 gMonShinyPalette_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Primeape[] = INCBIN_U8("graphics/pokemon/primeape/icon.4bpp"); +#else + const u8 gMonIcon_Primeape[] = INCBIN_U8("graphics/pokemon/primeape/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Primeape[] = INCBIN_U8("graphics/pokemon/primeape/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1603,11 +2335,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_MANKEY #if P_FAMILY_GROWLITHE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/anim_front.4bpp.lz"); const u32 gMonPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/normal.gbapal.lz"); const u32 gMonBackPic_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/back.4bpp.lz"); const u32 gMonShinyPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Growlithe[] = INCBIN_U8("graphics/pokemon/growlithe/icon.4bpp"); +#else + const u8 gMonIcon_Growlithe[] = INCBIN_U8("graphics/pokemon/growlithe/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Growlithe[] = INCBIN_U8("graphics/pokemon/growlithe/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1619,11 +2362,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/anim_front.4bpp.lz"); const u32 gMonPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/normal.gbapal.lz"); const u32 gMonBackPic_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/back.4bpp.lz"); const u32 gMonShinyPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Arcanine[] = INCBIN_U8("graphics/pokemon/arcanine/icon.4bpp"); +#else + const u8 gMonIcon_Arcanine[] = INCBIN_U8("graphics/pokemon/arcanine/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Arcanine[] = INCBIN_U8("graphics/pokemon/arcanine/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1636,40 +2390,51 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_HISUIAN_FORMS - const u32 gMonFrontPic_GrowlitheHisuian[] = INCBIN_U32("graphics/pokemon/growlithe/hisuian/front.4bpp.lz"); - const u32 gMonPalette_GrowlitheHisuian[] = INCBIN_U32("graphics/pokemon/growlithe/hisuian/normal.gbapal.lz"); - const u32 gMonBackPic_GrowlitheHisuian[] = INCBIN_U32("graphics/pokemon/growlithe/hisuian/back.4bpp.lz"); - const u32 gMonShinyPalette_GrowlitheHisuian[] = INCBIN_U32("graphics/pokemon/growlithe/hisuian/shiny.gbapal.lz"); - const u8 gMonIcon_GrowlitheHisuian[] = INCBIN_U8("graphics/pokemon/growlithe/hisuian/icon.4bpp"); + const u32 gMonFrontPic_GrowlitheHisui[] = INCBIN_U32("graphics/pokemon/growlithe/hisui/front.4bpp.lz"); + const u32 gMonPalette_GrowlitheHisui[] = INCBIN_U32("graphics/pokemon/growlithe/hisui/normal.gbapal.lz"); + const u32 gMonBackPic_GrowlitheHisui[] = INCBIN_U32("graphics/pokemon/growlithe/hisui/back.4bpp.lz"); + const u32 gMonShinyPalette_GrowlitheHisui[] = INCBIN_U32("graphics/pokemon/growlithe/hisui/shiny.gbapal.lz"); + const u8 gMonIcon_GrowlitheHisui[] = INCBIN_U8("graphics/pokemon/growlithe/hisui/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_GrowlitheHisuian[] = INCBIN_COMP("graphics/pokemon/growlithe/hisuian/overworld.4bpp"); + const u32 gObjectEventPic_GrowlitheHisui[] = INCBIN_COMP("graphics/pokemon/growlithe/hisui/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_GrowlitheHisuian[] = INCBIN_U32("graphics/pokemon/growlithe/hisuian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_GrowlitheHisuian[] = INCBIN_U32("graphics/pokemon/growlithe/hisuian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_GrowlitheHisui[] = INCBIN_U32("graphics/pokemon/growlithe/hisui/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_GrowlitheHisui[] = INCBIN_U32("graphics/pokemon/growlithe/hisui/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_ArcanineHisuian[] = INCBIN_U32("graphics/pokemon/arcanine/hisuian/front.4bpp.lz"); - const u32 gMonPalette_ArcanineHisuian[] = INCBIN_U32("graphics/pokemon/arcanine/hisuian/normal.gbapal.lz"); - const u32 gMonBackPic_ArcanineHisuian[] = INCBIN_U32("graphics/pokemon/arcanine/hisuian/back.4bpp.lz"); - const u32 gMonShinyPalette_ArcanineHisuian[] = INCBIN_U32("graphics/pokemon/arcanine/hisuian/shiny.gbapal.lz"); - const u8 gMonIcon_ArcanineHisuian[] = INCBIN_U8("graphics/pokemon/arcanine/hisuian/icon.4bpp"); + const u32 gMonFrontPic_ArcanineHisui[] = INCBIN_U32("graphics/pokemon/arcanine/hisui/front.4bpp.lz"); + const u32 gMonPalette_ArcanineHisui[] = INCBIN_U32("graphics/pokemon/arcanine/hisui/normal.gbapal.lz"); + const u32 gMonBackPic_ArcanineHisui[] = INCBIN_U32("graphics/pokemon/arcanine/hisui/back.4bpp.lz"); + const u32 gMonShinyPalette_ArcanineHisui[] = INCBIN_U32("graphics/pokemon/arcanine/hisui/shiny.gbapal.lz"); + const u8 gMonIcon_ArcanineHisui[] = INCBIN_U8("graphics/pokemon/arcanine/hisui/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_ArcanineHisuian[] = INCBIN_COMP("graphics/pokemon/arcanine/hisuian/overworld.4bpp"); + const u32 gObjectEventPic_ArcanineHisui[] = INCBIN_COMP("graphics/pokemon/arcanine/hisui/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_ArcanineHisuian[] = INCBIN_U32("graphics/pokemon/arcanine/hisuian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_ArcanineHisuian[] = INCBIN_U32("graphics/pokemon/arcanine/hisuian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_ArcanineHisui[] = INCBIN_U32("graphics/pokemon/arcanine/hisui/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_ArcanineHisui[] = INCBIN_U32("graphics/pokemon/arcanine/hisui/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_HISUIAN_FORMS #endif //P_FAMILY_GROWLITHE #if P_FAMILY_POLIWAG +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/anim_front.4bpp.lz"); const u32 gMonPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/normal.gbapal.lz"); const u32 gMonBackPic_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/back.4bpp.lz"); const u32 gMonShinyPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Poliwag[] = INCBIN_U8("graphics/pokemon/poliwag/icon.4bpp"); +#else + const u8 gMonIcon_Poliwag[] = INCBIN_U8("graphics/pokemon/poliwag/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Poliwag[] = INCBIN_U8("graphics/pokemon/poliwag/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1681,11 +2446,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/anim_front.4bpp.lz"); const u32 gMonPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/normal.gbapal.lz"); const u32 gMonBackPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/back.4bpp.lz"); const u32 gMonShinyPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Poliwhirl[] = INCBIN_U8("graphics/pokemon/poliwhirl/icon.4bpp"); +#else + const u8 gMonIcon_Poliwhirl[] = INCBIN_U8("graphics/pokemon/poliwhirl/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Poliwhirl[] = INCBIN_U8("graphics/pokemon/poliwhirl/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1697,11 +2473,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/anim_front.4bpp.lz"); const u32 gMonPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/normal.gbapal.lz"); const u32 gMonBackPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/back.4bpp.lz"); const u32 gMonShinyPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Poliwrath[] = INCBIN_U8("graphics/pokemon/poliwrath/icon.4bpp"); +#else + const u8 gMonIcon_Poliwrath[] = INCBIN_U8("graphics/pokemon/poliwrath/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Poliwrath[] = INCBIN_U8("graphics/pokemon/poliwrath/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1714,11 +2501,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/anim_front.4bpp.lz"); const u32 gMonPalette_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/normal.gbapal.lz"); const u32 gMonBackPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/back.4bpp.lz"); const u32 gMonShinyPalette_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Politoed[] = INCBIN_U8("graphics/pokemon/politoed/icon.4bpp"); +#else + const u8 gMonIcon_Politoed[] = INCBIN_U8("graphics/pokemon/politoed/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Politoed[] = INCBIN_U8("graphics/pokemon/politoed/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1730,17 +2528,33 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_PolitoedF[] = INCBIN_U32("graphics/pokemon/politoed/anim_frontf.4bpp.lz"); const u32 gMonBackPic_PolitoedF[] = INCBIN_U32("graphics/pokemon/politoed/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_PolitoedF[] = INCBIN_COMP("graphics/pokemon/politoed/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_GEN_2_CROSS_EVOS #endif //P_FAMILY_POLIWAG #if P_FAMILY_ABRA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/anim_front.4bpp.lz"); const u32 gMonPalette_Abra[] = INCBIN_U32("graphics/pokemon/abra/normal.gbapal.lz"); const u32 gMonBackPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/back.4bpp.lz"); const u32 gMonShinyPalette_Abra[] = INCBIN_U32("graphics/pokemon/abra/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Abra[] = INCBIN_U32("graphics/pokemon/abra/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Abra[] = INCBIN_U32("graphics/pokemon/abra/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Abra[] = INCBIN_U8("graphics/pokemon/abra/icon.4bpp"); +#else + const u8 gMonIcon_Abra[] = INCBIN_U8("graphics/pokemon/abra/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Abra[] = INCBIN_U8("graphics/pokemon/abra/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1752,11 +2566,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/anim_front.4bpp.lz"); const u32 gMonPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/normal.gbapal.lz"); const u32 gMonBackPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/back.4bpp.lz"); const u32 gMonShinyPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Kadabra[] = INCBIN_U8("graphics/pokemon/kadabra/icon.4bpp"); +#else + const u8 gMonIcon_Kadabra[] = INCBIN_U8("graphics/pokemon/kadabra/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Kadabra[] = INCBIN_U8("graphics/pokemon/kadabra/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1768,14 +2593,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_KadabraF[] = INCBIN_U32("graphics/pokemon/kadabra/anim_frontf.4bpp.lz"); const u32 gMonBackPic_KadabraF[] = INCBIN_U32("graphics/pokemon/kadabra/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_KadabraF[] = INCBIN_COMP("graphics/pokemon/kadabra/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/anim_front.4bpp.lz"); const u32 gMonPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/normal.gbapal.lz"); const u32 gMonBackPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/back.4bpp.lz"); const u32 gMonShinyPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Alakazam[] = INCBIN_U8("graphics/pokemon/alakazam/icon.4bpp"); +#else + const u8 gMonIcon_Alakazam[] = INCBIN_U8("graphics/pokemon/alakazam/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Alakazam[] = INCBIN_U8("graphics/pokemon/alakazam/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1787,8 +2628,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_AlakazamF[] = INCBIN_U32("graphics/pokemon/alakazam/anim_frontf.4bpp.lz"); const u32 gMonBackPic_AlakazamF[] = INCBIN_U32("graphics/pokemon/alakazam/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_AlakazamF[] = INCBIN_COMP("graphics/pokemon/alakazam/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS const u32 gMonFrontPic_AlakazamMega[] = INCBIN_U32("graphics/pokemon/alakazam/mega/front.4bpp.lz"); @@ -1807,11 +2653,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_ABRA #if P_FAMILY_MACHOP +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/anim_front.4bpp.lz"); const u32 gMonPalette_Machop[] = INCBIN_U32("graphics/pokemon/machop/normal.gbapal.lz"); const u32 gMonBackPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/back.4bpp.lz"); const u32 gMonShinyPalette_Machop[] = INCBIN_U32("graphics/pokemon/machop/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Machop[] = INCBIN_U32("graphics/pokemon/machop/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Machop[] = INCBIN_U32("graphics/pokemon/machop/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Machop[] = INCBIN_U8("graphics/pokemon/machop/icon.4bpp"); +#else + const u8 gMonIcon_Machop[] = INCBIN_U8("graphics/pokemon/machop/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Machop[] = INCBIN_U8("graphics/pokemon/machop/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1823,11 +2680,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/anim_front.4bpp.lz"); const u32 gMonPalette_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/normal.gbapal.lz"); const u32 gMonBackPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/back.4bpp.lz"); const u32 gMonShinyPalette_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Machoke[] = INCBIN_U8("graphics/pokemon/machoke/icon.4bpp"); +#else + const u8 gMonIcon_Machoke[] = INCBIN_U8("graphics/pokemon/machoke/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Machoke[] = INCBIN_U8("graphics/pokemon/machoke/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1839,11 +2707,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/anim_front.4bpp.lz"); const u32 gMonPalette_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/normal.gbapal.lz"); const u32 gMonBackPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/back.4bpp.lz"); const u32 gMonShinyPalette_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Machamp[] = INCBIN_U8("graphics/pokemon/machamp/icon.4bpp"); +#else + const u8 gMonIcon_Machamp[] = INCBIN_U8("graphics/pokemon/machamp/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Machamp[] = INCBIN_U8("graphics/pokemon/machamp/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1856,27 +2735,38 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_MachampGigantamax[] = INCBIN_U32("graphics/pokemon/machamp/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_MachampGigantamax[] = INCBIN_U32("graphics/pokemon/machamp/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_MachampGigantamax[] = INCBIN_U32("graphics/pokemon/machamp/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_MachampGigantamax[] = INCBIN_U32("graphics/pokemon/machamp/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_MachampGigantamax[] = INCBIN_U8("graphics/pokemon/machamp/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_MachampGmax[] = INCBIN_U32("graphics/pokemon/machamp/gmax/front.4bpp.lz"); + const u32 gMonBackPic_MachampGmax[] = INCBIN_U32("graphics/pokemon/machamp/gmax/back.4bpp.lz"); + const u32 gMonPalette_MachampGmax[] = INCBIN_U32("graphics/pokemon/machamp/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_MachampGmax[] = INCBIN_U32("graphics/pokemon/machamp/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_MachampGmax[] = INCBIN_U8("graphics/pokemon/machamp/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_MachampGigantamax[] = INCBIN_COMP("graphics/pokemon/machamp/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_MachampGmax[] = INCBIN_COMP("graphics/pokemon/machamp/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_MachampGigantamax[] = INCBIN_U32("graphics/pokemon/machamp/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_MachampGigantamax[] = INCBIN_U32("graphics/pokemon/machamp/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_MachampGmax[] = INCBIN_U32("graphics/pokemon/machamp/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_MachampGmax[] = INCBIN_U32("graphics/pokemon/machamp/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_MACHOP #if P_FAMILY_BELLSPROUT +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/anim_front.4bpp.lz"); const u32 gMonPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/normal.gbapal.lz"); const u32 gMonBackPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/back.4bpp.lz"); const u32 gMonShinyPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Bellsprout[] = INCBIN_U8("graphics/pokemon/bellsprout/icon.4bpp"); +#else + const u8 gMonIcon_Bellsprout[] = INCBIN_U8("graphics/pokemon/bellsprout/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Bellsprout[] = INCBIN_U8("graphics/pokemon/bellsprout/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1888,11 +2778,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/anim_front.4bpp.lz"); const u32 gMonPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/normal.gbapal.lz"); const u32 gMonBackPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/back.4bpp.lz"); const u32 gMonShinyPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Weepinbell[] = INCBIN_U8("graphics/pokemon/weepinbell/icon.4bpp"); +#else + const u8 gMonIcon_Weepinbell[] = INCBIN_U8("graphics/pokemon/weepinbell/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Weepinbell[] = INCBIN_U8("graphics/pokemon/weepinbell/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1904,11 +2805,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/anim_front.4bpp.lz"); const u32 gMonPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/normal.gbapal.lz"); const u32 gMonBackPic_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/back.4bpp.lz"); const u32 gMonShinyPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Victreebel[] = INCBIN_U8("graphics/pokemon/victreebel/icon.4bpp"); +#else + const u8 gMonIcon_Victreebel[] = INCBIN_U8("graphics/pokemon/victreebel/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Victreebel[] = INCBIN_U8("graphics/pokemon/victreebel/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1922,11 +2834,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_BELLSPROUT #if P_FAMILY_TENTACOOL +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/anim_front.4bpp.lz"); const u32 gMonPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/normal.gbapal.lz"); const u32 gMonBackPic_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/back.4bpp.lz"); const u32 gMonShinyPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Tentacool[] = INCBIN_U8("graphics/pokemon/tentacool/icon.4bpp"); +#else + const u8 gMonIcon_Tentacool[] = INCBIN_U8("graphics/pokemon/tentacool/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Tentacool[] = INCBIN_U8("graphics/pokemon/tentacool/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1938,11 +2861,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/anim_front.4bpp.lz"); const u32 gMonPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/normal.gbapal.lz"); const u32 gMonBackPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/back.4bpp.lz"); const u32 gMonShinyPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Tentacruel[] = INCBIN_U8("graphics/pokemon/tentacruel/icon.4bpp"); +#else + const u8 gMonIcon_Tentacruel[] = INCBIN_U8("graphics/pokemon/tentacruel/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Tentacruel[] = INCBIN_U8("graphics/pokemon/tentacruel/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1956,11 +2890,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_TENTACOOL #if P_FAMILY_GEODUDE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/anim_front.4bpp.lz"); const u32 gMonPalette_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/normal.gbapal.lz"); const u32 gMonBackPic_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/back.4bpp.lz"); const u32 gMonShinyPalette_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Geodude[] = INCBIN_U8("graphics/pokemon/geodude/icon.4bpp"); +#else + const u8 gMonIcon_Geodude[] = INCBIN_U8("graphics/pokemon/geodude/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Geodude[] = INCBIN_U8("graphics/pokemon/geodude/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1972,11 +2917,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/anim_front.4bpp.lz"); const u32 gMonPalette_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/normal.gbapal.lz"); const u32 gMonBackPic_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/back.4bpp.lz"); const u32 gMonShinyPalette_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Graveler[] = INCBIN_U8("graphics/pokemon/graveler/icon.4bpp"); +#else + const u8 gMonIcon_Graveler[] = INCBIN_U8("graphics/pokemon/graveler/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Graveler[] = INCBIN_U8("graphics/pokemon/graveler/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -1988,13 +2944,28 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Golem[] = INCBIN_U32("graphics/pokemon/golem/anim_front.4bpp.lz"); const u32 gMonPalette_Golem[] = INCBIN_U32("graphics/pokemon/golem/normal.gbapal.lz"); const u32 gMonBackPic_Golem[] = INCBIN_U32("graphics/pokemon/golem/back.4bpp.lz"); const u32 gMonShinyPalette_Golem[] = INCBIN_U32("graphics/pokemon/golem/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Golem[] = INCBIN_U32("graphics/pokemon/golem/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Golem[] = INCBIN_U32("graphics/pokemon/golem/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Golem[] = INCBIN_U32("graphics/pokemon/golem/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Golem[] = INCBIN_U32("graphics/pokemon/golem/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Golem[] = INCBIN_U8("graphics/pokemon/golem/icon.4bpp"); +#else + const u8 gMonIcon_Golem[] = INCBIN_U8("graphics/pokemon/golem/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS +#if !P_GBA_STYLE_SPECIES_FOOTPRINTS const u8 gMonFootprint_Golem[] = INCBIN_U8("graphics/pokemon/golem/footprint.1bpp"); +#else + const u8 gMonFootprint_Golem[] = INCBIN_U8("graphics/pokemon/golem/footprint_gba.1bpp"); +#endif //P_GBA_STYLE_SPECIES_FOOTPRINTS #endif //P_FOOTPRINTS #if OW_POKEMON_OBJECT_EVENTS const u32 gObjectEventPic_Golem[] = INCBIN_COMP("graphics/pokemon/golem/overworld.4bpp"); @@ -2005,53 +2976,64 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_ALOLAN_FORMS - const u32 gMonFrontPic_GeodudeAlolan[] = INCBIN_U32("graphics/pokemon/geodude/alolan/front.4bpp.lz"); - const u32 gMonPalette_GeodudeAlolan[] = INCBIN_U32("graphics/pokemon/geodude/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_GeodudeAlolan[] = INCBIN_U32("graphics/pokemon/geodude/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_GeodudeAlolan[] = INCBIN_U32("graphics/pokemon/geodude/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_GeodudeAlolan[] = INCBIN_U8("graphics/pokemon/geodude/alolan/icon.4bpp"); + const u32 gMonFrontPic_GeodudeAlola[] = INCBIN_U32("graphics/pokemon/geodude/alola/front.4bpp.lz"); + const u32 gMonPalette_GeodudeAlola[] = INCBIN_U32("graphics/pokemon/geodude/alola/normal.gbapal.lz"); + const u32 gMonBackPic_GeodudeAlola[] = INCBIN_U32("graphics/pokemon/geodude/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_GeodudeAlola[] = INCBIN_U32("graphics/pokemon/geodude/alola/shiny.gbapal.lz"); + const u8 gMonIcon_GeodudeAlola[] = INCBIN_U8("graphics/pokemon/geodude/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_GeodudeAlolan[] = INCBIN_COMP("graphics/pokemon/geodude/alolan/overworld.4bpp"); + const u32 gObjectEventPic_GeodudeAlola[] = INCBIN_COMP("graphics/pokemon/geodude/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_GeodudeAlolan[] = INCBIN_U32("graphics/pokemon/geodude/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_GeodudeAlolan[] = INCBIN_U32("graphics/pokemon/geodude/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_GeodudeAlola[] = INCBIN_U32("graphics/pokemon/geodude/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_GeodudeAlola[] = INCBIN_U32("graphics/pokemon/geodude/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_GravelerAlolan[] = INCBIN_U32("graphics/pokemon/graveler/alolan/front.4bpp.lz"); - const u32 gMonPalette_GravelerAlolan[] = INCBIN_U32("graphics/pokemon/graveler/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_GravelerAlolan[] = INCBIN_U32("graphics/pokemon/graveler/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_GravelerAlolan[] = INCBIN_U32("graphics/pokemon/graveler/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_GravelerAlolan[] = INCBIN_U8("graphics/pokemon/graveler/alolan/icon.4bpp"); + const u32 gMonFrontPic_GravelerAlola[] = INCBIN_U32("graphics/pokemon/graveler/alola/front.4bpp.lz"); + const u32 gMonPalette_GravelerAlola[] = INCBIN_U32("graphics/pokemon/graveler/alola/normal.gbapal.lz"); + const u32 gMonBackPic_GravelerAlola[] = INCBIN_U32("graphics/pokemon/graveler/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_GravelerAlola[] = INCBIN_U32("graphics/pokemon/graveler/alola/shiny.gbapal.lz"); + const u8 gMonIcon_GravelerAlola[] = INCBIN_U8("graphics/pokemon/graveler/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_GravelerAlolan[] = INCBIN_COMP("graphics/pokemon/graveler/alolan/overworld.4bpp"); + const u32 gObjectEventPic_GravelerAlola[] = INCBIN_COMP("graphics/pokemon/graveler/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_GravelerAlolan[] = INCBIN_U32("graphics/pokemon/graveler/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_GravelerAlolan[] = INCBIN_U32("graphics/pokemon/graveler/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_GravelerAlola[] = INCBIN_U32("graphics/pokemon/graveler/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_GravelerAlola[] = INCBIN_U32("graphics/pokemon/graveler/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_GolemAlolan[] = INCBIN_U32("graphics/pokemon/golem/alolan/front.4bpp.lz"); - const u32 gMonPalette_GolemAlolan[] = INCBIN_U32("graphics/pokemon/golem/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_GolemAlolan[] = INCBIN_U32("graphics/pokemon/golem/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_GolemAlolan[] = INCBIN_U32("graphics/pokemon/golem/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_GolemAlolan[] = INCBIN_U8("graphics/pokemon/golem/alolan/icon.4bpp"); + const u32 gMonFrontPic_GolemAlola[] = INCBIN_U32("graphics/pokemon/golem/alola/front.4bpp.lz"); + const u32 gMonPalette_GolemAlola[] = INCBIN_U32("graphics/pokemon/golem/alola/normal.gbapal.lz"); + const u32 gMonBackPic_GolemAlola[] = INCBIN_U32("graphics/pokemon/golem/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_GolemAlola[] = INCBIN_U32("graphics/pokemon/golem/alola/shiny.gbapal.lz"); + const u8 gMonIcon_GolemAlola[] = INCBIN_U8("graphics/pokemon/golem/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_GolemAlolan[] = INCBIN_COMP("graphics/pokemon/golem/alolan/overworld.4bpp"); + const u32 gObjectEventPic_GolemAlola[] = INCBIN_COMP("graphics/pokemon/golem/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_GolemAlolan[] = INCBIN_U32("graphics/pokemon/golem/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_GolemAlolan[] = INCBIN_U32("graphics/pokemon/golem/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_GolemAlola[] = INCBIN_U32("graphics/pokemon/golem/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_GolemAlola[] = INCBIN_U32("graphics/pokemon/golem/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_ALOLAN_FORMS #endif //P_FAMILY_GEODUDE #if P_FAMILY_PONYTA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/anim_front.4bpp.lz"); const u32 gMonPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/normal.gbapal.lz"); const u32 gMonBackPic_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/back.4bpp.lz"); const u32 gMonShinyPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Ponyta[] = INCBIN_U8("graphics/pokemon/ponyta/icon.4bpp"); +#else + const u8 gMonIcon_Ponyta[] = INCBIN_U8("graphics/pokemon/ponyta/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Ponyta[] = INCBIN_U8("graphics/pokemon/ponyta/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2063,11 +3045,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/anim_front.4bpp.lz"); const u32 gMonPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/normal.gbapal.lz"); const u32 gMonBackPic_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/back.4bpp.lz"); const u32 gMonShinyPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Rapidash[] = INCBIN_U8("graphics/pokemon/rapidash/icon.4bpp"); +#else + const u8 gMonIcon_Rapidash[] = INCBIN_U8("graphics/pokemon/rapidash/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Rapidash[] = INCBIN_U8("graphics/pokemon/rapidash/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2080,40 +3073,51 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GALARIAN_FORMS - const u32 gMonFrontPic_PonytaGalarian[] = INCBIN_U32("graphics/pokemon/ponyta/galarian/front.4bpp.lz"); - const u32 gMonPalette_PonytaGalarian[] = INCBIN_U32("graphics/pokemon/ponyta/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_PonytaGalarian[] = INCBIN_U32("graphics/pokemon/ponyta/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_PonytaGalarian[] = INCBIN_U32("graphics/pokemon/ponyta/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_PonytaGalarian[] = INCBIN_U8("graphics/pokemon/ponyta/galarian/icon.4bpp"); + const u32 gMonFrontPic_PonytaGalar[] = INCBIN_U32("graphics/pokemon/ponyta/galar/front.4bpp.lz"); + const u32 gMonPalette_PonytaGalar[] = INCBIN_U32("graphics/pokemon/ponyta/galar/normal.gbapal.lz"); + const u32 gMonBackPic_PonytaGalar[] = INCBIN_U32("graphics/pokemon/ponyta/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_PonytaGalar[] = INCBIN_U32("graphics/pokemon/ponyta/galar/shiny.gbapal.lz"); + const u8 gMonIcon_PonytaGalar[] = INCBIN_U8("graphics/pokemon/ponyta/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_PonytaGalarian[] = INCBIN_COMP("graphics/pokemon/ponyta/galarian/overworld.4bpp"); + const u32 gObjectEventPic_PonytaGalar[] = INCBIN_COMP("graphics/pokemon/ponyta/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_PonytaGalarian[] = INCBIN_U32("graphics/pokemon/ponyta/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_PonytaGalarian[] = INCBIN_U32("graphics/pokemon/ponyta/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_PonytaGalar[] = INCBIN_U32("graphics/pokemon/ponyta/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_PonytaGalar[] = INCBIN_U32("graphics/pokemon/ponyta/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_RapidashGalarian[] = INCBIN_U32("graphics/pokemon/rapidash/galarian/front.4bpp.lz"); - const u32 gMonPalette_RapidashGalarian[] = INCBIN_U32("graphics/pokemon/rapidash/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_RapidashGalarian[] = INCBIN_U32("graphics/pokemon/rapidash/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_RapidashGalarian[] = INCBIN_U32("graphics/pokemon/rapidash/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_RapidashGalarian[] = INCBIN_U8("graphics/pokemon/rapidash/galarian/icon.4bpp"); + const u32 gMonFrontPic_RapidashGalar[] = INCBIN_U32("graphics/pokemon/rapidash/galar/front.4bpp.lz"); + const u32 gMonPalette_RapidashGalar[] = INCBIN_U32("graphics/pokemon/rapidash/galar/normal.gbapal.lz"); + const u32 gMonBackPic_RapidashGalar[] = INCBIN_U32("graphics/pokemon/rapidash/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_RapidashGalar[] = INCBIN_U32("graphics/pokemon/rapidash/galar/shiny.gbapal.lz"); + const u8 gMonIcon_RapidashGalar[] = INCBIN_U8("graphics/pokemon/rapidash/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_RapidashGalarian[] = INCBIN_COMP("graphics/pokemon/rapidash/galarian/overworld.4bpp"); + const u32 gObjectEventPic_RapidashGalar[] = INCBIN_COMP("graphics/pokemon/rapidash/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_RapidashGalarian[] = INCBIN_U32("graphics/pokemon/rapidash/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_RapidashGalarian[] = INCBIN_U32("graphics/pokemon/rapidash/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_RapidashGalar[] = INCBIN_U32("graphics/pokemon/rapidash/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_RapidashGalar[] = INCBIN_U32("graphics/pokemon/rapidash/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GALARIAN_FORMS #endif //P_FAMILY_PONYTA #if P_FAMILY_SLOWPOKE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/anim_front.4bpp.lz"); const u32 gMonPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/normal.gbapal.lz"); const u32 gMonBackPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/back.4bpp.lz"); const u32 gMonShinyPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Slowpoke[] = INCBIN_U8("graphics/pokemon/slowpoke/icon.4bpp"); +#else + const u8 gMonIcon_Slowpoke[] = INCBIN_U8("graphics/pokemon/slowpoke/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Slowpoke[] = INCBIN_U8("graphics/pokemon/slowpoke/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2125,11 +3129,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/anim_front.4bpp.lz"); const u32 gMonPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/normal.gbapal.lz"); const u32 gMonBackPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/back.4bpp.lz"); const u32 gMonShinyPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Slowbro[] = INCBIN_U8("graphics/pokemon/slowbro/icon.4bpp"); +#else + const u8 gMonIcon_Slowbro[] = INCBIN_U8("graphics/pokemon/slowbro/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Slowbro[] = INCBIN_U8("graphics/pokemon/slowbro/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2142,11 +3157,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/anim_front.4bpp.lz"); const u32 gMonPalette_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/normal.gbapal.lz"); const u32 gMonBackPic_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/back.4bpp.lz"); const u32 gMonShinyPalette_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Slowking[] = INCBIN_U8("graphics/pokemon/slowking/icon.4bpp"); +#else + const u8 gMonIcon_Slowking[] = INCBIN_U8("graphics/pokemon/slowking/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Slowking[] = INCBIN_U8("graphics/pokemon/slowking/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2175,43 +3201,43 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_MEGA_EVOLUTIONS #if P_GALARIAN_FORMS - const u32 gMonFrontPic_SlowpokeGalarian[] = INCBIN_U32("graphics/pokemon/slowpoke/galarian/front.4bpp.lz"); - const u32 gMonPalette_SlowpokeGalarian[] = INCBIN_U32("graphics/pokemon/slowpoke/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_SlowpokeGalarian[] = INCBIN_U32("graphics/pokemon/slowpoke/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_SlowpokeGalarian[] = INCBIN_U32("graphics/pokemon/slowpoke/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_SlowpokeGalarian[] = INCBIN_U8("graphics/pokemon/slowpoke/galarian/icon.4bpp"); + const u32 gMonFrontPic_SlowpokeGalar[] = INCBIN_U32("graphics/pokemon/slowpoke/galar/front.4bpp.lz"); + const u32 gMonPalette_SlowpokeGalar[] = INCBIN_U32("graphics/pokemon/slowpoke/galar/normal.gbapal.lz"); + const u32 gMonBackPic_SlowpokeGalar[] = INCBIN_U32("graphics/pokemon/slowpoke/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_SlowpokeGalar[] = INCBIN_U32("graphics/pokemon/slowpoke/galar/shiny.gbapal.lz"); + const u8 gMonIcon_SlowpokeGalar[] = INCBIN_U8("graphics/pokemon/slowpoke/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_SlowpokeGalarian[] = INCBIN_COMP("graphics/pokemon/slowpoke/galarian/overworld.4bpp"); + const u32 gObjectEventPic_SlowpokeGalar[] = INCBIN_COMP("graphics/pokemon/slowpoke/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_SlowpokeGalarian[] = INCBIN_U32("graphics/pokemon/slowpoke/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_SlowpokeGalarian[] = INCBIN_U32("graphics/pokemon/slowpoke/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_SlowpokeGalar[] = INCBIN_U32("graphics/pokemon/slowpoke/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_SlowpokeGalar[] = INCBIN_U32("graphics/pokemon/slowpoke/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_SlowbroGalarian[] = INCBIN_U32("graphics/pokemon/slowbro/galarian/front.4bpp.lz"); - const u32 gMonPalette_SlowbroGalarian[] = INCBIN_U32("graphics/pokemon/slowbro/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_SlowbroGalarian[] = INCBIN_U32("graphics/pokemon/slowbro/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_SlowbroGalarian[] = INCBIN_U32("graphics/pokemon/slowbro/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_SlowbroGalarian[] = INCBIN_U8("graphics/pokemon/slowbro/galarian/icon.4bpp"); + const u32 gMonFrontPic_SlowbroGalar[] = INCBIN_U32("graphics/pokemon/slowbro/galar/front.4bpp.lz"); + const u32 gMonPalette_SlowbroGalar[] = INCBIN_U32("graphics/pokemon/slowbro/galar/normal.gbapal.lz"); + const u32 gMonBackPic_SlowbroGalar[] = INCBIN_U32("graphics/pokemon/slowbro/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_SlowbroGalar[] = INCBIN_U32("graphics/pokemon/slowbro/galar/shiny.gbapal.lz"); + const u8 gMonIcon_SlowbroGalar[] = INCBIN_U8("graphics/pokemon/slowbro/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_SlowbroGalarian[] = INCBIN_COMP("graphics/pokemon/slowbro/galarian/overworld.4bpp"); + const u32 gObjectEventPic_SlowbroGalar[] = INCBIN_COMP("graphics/pokemon/slowbro/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_SlowbroGalarian[] = INCBIN_U32("graphics/pokemon/slowbro/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_SlowbroGalarian[] = INCBIN_U32("graphics/pokemon/slowbro/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_SlowbroGalar[] = INCBIN_U32("graphics/pokemon/slowbro/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_SlowbroGalar[] = INCBIN_U32("graphics/pokemon/slowbro/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #if P_GEN_2_CROSS_EVOS - const u32 gMonFrontPic_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slowking/galarian/front.4bpp.lz"); - const u32 gMonPalette_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slowking/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slowking/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slowking/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_SlowkingGalarian[] = INCBIN_U8("graphics/pokemon/slowking/galarian/icon.4bpp"); + const u32 gMonFrontPic_SlowkingGalar[] = INCBIN_U32("graphics/pokemon/slowking/galar/front.4bpp.lz"); + const u32 gMonPalette_SlowkingGalar[] = INCBIN_U32("graphics/pokemon/slowking/galar/normal.gbapal.lz"); + const u32 gMonBackPic_SlowkingGalar[] = INCBIN_U32("graphics/pokemon/slowking/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_SlowkingGalar[] = INCBIN_U32("graphics/pokemon/slowking/galar/shiny.gbapal.lz"); + const u8 gMonIcon_SlowkingGalar[] = INCBIN_U8("graphics/pokemon/slowking/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_SlowkingGalarian[] = INCBIN_COMP("graphics/pokemon/slowking/galarian/overworld.4bpp"); + const u32 gObjectEventPic_SlowkingGalar[] = INCBIN_COMP("graphics/pokemon/slowking/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slowking/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slowking/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_SlowkingGalar[] = INCBIN_U32("graphics/pokemon/slowking/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_SlowkingGalar[] = INCBIN_U32("graphics/pokemon/slowking/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_2_CROSS_EVOS @@ -2219,11 +3245,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SLOWPOKE #if P_FAMILY_MAGNEMITE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/anim_front.4bpp.lz"); const u32 gMonPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/normal.gbapal.lz"); const u32 gMonBackPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/back.4bpp.lz"); const u32 gMonShinyPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Magnemite[] = INCBIN_U8("graphics/pokemon/magnemite/icon.4bpp"); +#else + const u8 gMonIcon_Magnemite[] = INCBIN_U8("graphics/pokemon/magnemite/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Magnemite[] = INCBIN_U8("graphics/pokemon/magnemite/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2235,11 +3272,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/anim_front.4bpp.lz"); const u32 gMonPalette_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/normal.gbapal.lz"); const u32 gMonBackPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/back.4bpp.lz"); const u32 gMonShinyPalette_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/icon.4bpp"); +#else + const u8 gMonIcon_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2271,11 +3319,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_MAGNEMITE #if P_FAMILY_FARFETCHD +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/anim_front.4bpp.lz"); const u32 gMonPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/normal.gbapal.lz"); const u32 gMonBackPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/back.4bpp.lz"); const u32 gMonShinyPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetchd/icon.4bpp"); +#else + const u8 gMonIcon_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetchd/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetchd/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2288,16 +3347,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GALARIAN_FORMS - const u32 gMonFrontPic_FarfetchdGalarian[] = INCBIN_U32("graphics/pokemon/farfetchd/galarian/front.4bpp.lz"); - const u32 gMonPalette_FarfetchdGalarian[] = INCBIN_U32("graphics/pokemon/farfetchd/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_FarfetchdGalarian[] = INCBIN_U32("graphics/pokemon/farfetchd/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_FarfetchdGalarian[] = INCBIN_U32("graphics/pokemon/farfetchd/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_FarfetchdGalarian[] = INCBIN_U8("graphics/pokemon/farfetchd/galarian/icon.4bpp"); + const u32 gMonFrontPic_FarfetchdGalar[] = INCBIN_U32("graphics/pokemon/farfetchd/galar/front.4bpp.lz"); + const u32 gMonPalette_FarfetchdGalar[] = INCBIN_U32("graphics/pokemon/farfetchd/galar/normal.gbapal.lz"); + const u32 gMonBackPic_FarfetchdGalar[] = INCBIN_U32("graphics/pokemon/farfetchd/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_FarfetchdGalar[] = INCBIN_U32("graphics/pokemon/farfetchd/galar/shiny.gbapal.lz"); + const u8 gMonIcon_FarfetchdGalar[] = INCBIN_U8("graphics/pokemon/farfetchd/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_FarfetchdGalarian[] = INCBIN_COMP("graphics/pokemon/farfetchd/galarian/overworld.4bpp"); + const u32 gObjectEventPic_FarfetchdGalar[] = INCBIN_COMP("graphics/pokemon/farfetchd/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_FarfetchdGalarian[] = INCBIN_U32("graphics/pokemon/farfetchd/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_FarfetchdGalarian[] = INCBIN_U32("graphics/pokemon/farfetchd/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_FarfetchdGalar[] = INCBIN_U32("graphics/pokemon/farfetchd/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_FarfetchdGalar[] = INCBIN_U32("graphics/pokemon/farfetchd/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS @@ -2320,11 +3379,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_FARFETCHD #if P_FAMILY_DODUO +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/anim_front.4bpp.lz"); const u32 gMonPalette_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/normal.gbapal.lz"); const u32 gMonBackPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/back.4bpp.lz"); const u32 gMonShinyPalette_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Doduo[] = INCBIN_U8("graphics/pokemon/doduo/icon.4bpp"); +#else + const u8 gMonIcon_Doduo[] = INCBIN_U8("graphics/pokemon/doduo/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Doduo[] = INCBIN_U8("graphics/pokemon/doduo/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2336,14 +3406,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_DoduoF[] = INCBIN_U32("graphics/pokemon/doduo/anim_frontf.4bpp.lz"); const u32 gMonBackPic_DoduoF[] = INCBIN_U32("graphics/pokemon/doduo/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_DoduoF[] = INCBIN_COMP("graphics/pokemon/doduo/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/anim_front.4bpp.lz"); const u32 gMonPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/normal.gbapal.lz"); const u32 gMonBackPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/back.4bpp.lz"); const u32 gMonShinyPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Dodrio[] = INCBIN_U8("graphics/pokemon/dodrio/icon.4bpp"); +#else + const u8 gMonIcon_Dodrio[] = INCBIN_U8("graphics/pokemon/dodrio/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Dodrio[] = INCBIN_U8("graphics/pokemon/dodrio/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2355,16 +3441,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_DodrioF[] = INCBIN_U32("graphics/pokemon/dodrio/anim_frontf.4bpp.lz"); const u32 gMonBackPic_DodrioF[] = INCBIN_U32("graphics/pokemon/dodrio/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_DodrioF[] = INCBIN_COMP("graphics/pokemon/dodrio/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_DODUO #if P_FAMILY_SEEL +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/anim_front.4bpp.lz"); const u32 gMonPalette_Seel[] = INCBIN_U32("graphics/pokemon/seel/normal.gbapal.lz"); const u32 gMonBackPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/back.4bpp.lz"); const u32 gMonShinyPalette_Seel[] = INCBIN_U32("graphics/pokemon/seel/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Seel[] = INCBIN_U32("graphics/pokemon/seel/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Seel[] = INCBIN_U32("graphics/pokemon/seel/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Seel[] = INCBIN_U8("graphics/pokemon/seel/icon.4bpp"); +#else + const u8 gMonIcon_Seel[] = INCBIN_U8("graphics/pokemon/seel/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Seel[] = INCBIN_U8("graphics/pokemon/seel/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2376,11 +3478,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/anim_front.4bpp.lz"); const u32 gMonPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/normal.gbapal.lz"); const u32 gMonBackPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/back.4bpp.lz"); const u32 gMonShinyPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Dewgong[] = INCBIN_U8("graphics/pokemon/dewgong/icon.4bpp"); +#else + const u8 gMonIcon_Dewgong[] = INCBIN_U8("graphics/pokemon/dewgong/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Dewgong[] = INCBIN_U8("graphics/pokemon/dewgong/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2394,11 +3507,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SEEL #if P_FAMILY_GRIMER +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/anim_front.4bpp.lz"); const u32 gMonPalette_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/normal.gbapal.lz"); const u32 gMonBackPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/back.4bpp.lz"); const u32 gMonShinyPalette_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Grimer[] = INCBIN_U8("graphics/pokemon/grimer/icon.4bpp"); +#else + const u8 gMonIcon_Grimer[] = INCBIN_U8("graphics/pokemon/grimer/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Grimer[] = INCBIN_U8("graphics/pokemon/grimer/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2410,11 +3534,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Muk[] = INCBIN_U32("graphics/pokemon/muk/anim_front.4bpp.lz"); const u32 gMonPalette_Muk[] = INCBIN_U32("graphics/pokemon/muk/normal.gbapal.lz"); const u32 gMonBackPic_Muk[] = INCBIN_U32("graphics/pokemon/muk/back.4bpp.lz"); const u32 gMonShinyPalette_Muk[] = INCBIN_U32("graphics/pokemon/muk/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Muk[] = INCBIN_U32("graphics/pokemon/muk/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Muk[] = INCBIN_U32("graphics/pokemon/muk/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Muk[] = INCBIN_U32("graphics/pokemon/muk/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Muk[] = INCBIN_U32("graphics/pokemon/muk/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Muk[] = INCBIN_U8("graphics/pokemon/muk/icon.4bpp"); +#else + const u8 gMonIcon_Muk[] = INCBIN_U8("graphics/pokemon/muk/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Muk[] = INCBIN_U8("graphics/pokemon/muk/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2427,40 +3562,51 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_ALOLAN_FORMS - const u32 gMonFrontPic_GrimerAlolan[] = INCBIN_U32("graphics/pokemon/grimer/alolan/front.4bpp.lz"); - const u32 gMonPalette_GrimerAlolan[] = INCBIN_U32("graphics/pokemon/grimer/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_GrimerAlolan[] = INCBIN_U32("graphics/pokemon/grimer/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_GrimerAlolan[] = INCBIN_U32("graphics/pokemon/grimer/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_GrimerAlolan[] = INCBIN_U8("graphics/pokemon/grimer/alolan/icon.4bpp"); + const u32 gMonFrontPic_GrimerAlola[] = INCBIN_U32("graphics/pokemon/grimer/alola/front.4bpp.lz"); + const u32 gMonPalette_GrimerAlola[] = INCBIN_U32("graphics/pokemon/grimer/alola/normal.gbapal.lz"); + const u32 gMonBackPic_GrimerAlola[] = INCBIN_U32("graphics/pokemon/grimer/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_GrimerAlola[] = INCBIN_U32("graphics/pokemon/grimer/alola/shiny.gbapal.lz"); + const u8 gMonIcon_GrimerAlola[] = INCBIN_U8("graphics/pokemon/grimer/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_GrimerAlolan[] = INCBIN_COMP("graphics/pokemon/grimer/alolan/overworld.4bpp"); + const u32 gObjectEventPic_GrimerAlola[] = INCBIN_COMP("graphics/pokemon/grimer/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_GrimerAlolan[] = INCBIN_U32("graphics/pokemon/grimer/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_GrimerAlolan[] = INCBIN_U32("graphics/pokemon/grimer/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_GrimerAlola[] = INCBIN_U32("graphics/pokemon/grimer/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_GrimerAlola[] = INCBIN_U32("graphics/pokemon/grimer/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_MukAlolan[] = INCBIN_U32("graphics/pokemon/muk/alolan/front.4bpp.lz"); - const u32 gMonPalette_MukAlolan[] = INCBIN_U32("graphics/pokemon/muk/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_MukAlolan[] = INCBIN_U32("graphics/pokemon/muk/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_MukAlolan[] = INCBIN_U32("graphics/pokemon/muk/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_MukAlolan[] = INCBIN_U8("graphics/pokemon/muk/alolan/icon.4bpp"); + const u32 gMonFrontPic_MukAlola[] = INCBIN_U32("graphics/pokemon/muk/alola/front.4bpp.lz"); + const u32 gMonPalette_MukAlola[] = INCBIN_U32("graphics/pokemon/muk/alola/normal.gbapal.lz"); + const u32 gMonBackPic_MukAlola[] = INCBIN_U32("graphics/pokemon/muk/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_MukAlola[] = INCBIN_U32("graphics/pokemon/muk/alola/shiny.gbapal.lz"); + const u8 gMonIcon_MukAlola[] = INCBIN_U8("graphics/pokemon/muk/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_MukAlolan[] = INCBIN_COMP("graphics/pokemon/muk/alolan/overworld.4bpp"); + const u32 gObjectEventPic_MukAlola[] = INCBIN_COMP("graphics/pokemon/muk/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_MukAlolan[] = INCBIN_U32("graphics/pokemon/muk/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_MukAlolan[] = INCBIN_U32("graphics/pokemon/muk/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_MukAlola[] = INCBIN_U32("graphics/pokemon/muk/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_MukAlola[] = INCBIN_U32("graphics/pokemon/muk/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_ALOLAN_FORMS #endif //P_FAMILY_GRIMER #if P_FAMILY_SHELLDER +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/anim_front.4bpp.lz"); const u32 gMonPalette_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/normal.gbapal.lz"); const u32 gMonBackPic_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/back.4bpp.lz"); const u32 gMonShinyPalette_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Shellder[] = INCBIN_U8("graphics/pokemon/shellder/icon.4bpp"); +#else + const u8 gMonIcon_Shellder[] = INCBIN_U8("graphics/pokemon/shellder/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Shellder[] = INCBIN_U8("graphics/pokemon/shellder/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2472,11 +3618,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/anim_front.4bpp.lz"); const u32 gMonPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/normal.gbapal.lz"); const u32 gMonBackPic_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/back.4bpp.lz"); const u32 gMonShinyPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Cloyster[] = INCBIN_U8("graphics/pokemon/cloyster/icon.4bpp"); +#else + const u8 gMonIcon_Cloyster[] = INCBIN_U8("graphics/pokemon/cloyster/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Cloyster[] = INCBIN_U8("graphics/pokemon/cloyster/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2490,11 +3647,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SHELLDER #if P_FAMILY_GASTLY +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/anim_front.4bpp.lz"); const u32 gMonPalette_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/normal.gbapal.lz"); const u32 gMonBackPic_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/back.4bpp.lz"); const u32 gMonShinyPalette_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Gastly[] = INCBIN_U8("graphics/pokemon/gastly/icon.4bpp"); +#else + const u8 gMonIcon_Gastly[] = INCBIN_U8("graphics/pokemon/gastly/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Gastly[] = INCBIN_U8("graphics/pokemon/gastly/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2506,11 +3674,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/anim_front.4bpp.lz"); const u32 gMonPalette_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/normal.gbapal.lz"); const u32 gMonBackPic_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/back.4bpp.lz"); const u32 gMonShinyPalette_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Haunter[] = INCBIN_U8("graphics/pokemon/haunter/icon.4bpp"); +#else + const u8 gMonIcon_Haunter[] = INCBIN_U8("graphics/pokemon/haunter/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Haunter[] = INCBIN_U8("graphics/pokemon/haunter/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2522,11 +3701,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/anim_front.4bpp.lz"); const u32 gMonPalette_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/normal.gbapal.lz"); const u32 gMonBackPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/back.4bpp.lz"); const u32 gMonShinyPalette_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Gengar[] = INCBIN_U8("graphics/pokemon/gengar/icon.4bpp"); +#else + const u8 gMonIcon_Gengar[] = INCBIN_U8("graphics/pokemon/gengar/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Gengar[] = INCBIN_U8("graphics/pokemon/gengar/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2554,27 +3744,38 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_GengarGigantamax[] = INCBIN_U32("graphics/pokemon/gengar/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_GengarGigantamax[] = INCBIN_U32("graphics/pokemon/gengar/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_GengarGigantamax[] = INCBIN_U32("graphics/pokemon/gengar/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_GengarGigantamax[] = INCBIN_U32("graphics/pokemon/gengar/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_GengarGigantamax[] = INCBIN_U8("graphics/pokemon/gengar/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_GengarGmax[] = INCBIN_U32("graphics/pokemon/gengar/gmax/front.4bpp.lz"); + const u32 gMonBackPic_GengarGmax[] = INCBIN_U32("graphics/pokemon/gengar/gmax/back.4bpp.lz"); + const u32 gMonPalette_GengarGmax[] = INCBIN_U32("graphics/pokemon/gengar/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_GengarGmax[] = INCBIN_U32("graphics/pokemon/gengar/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_GengarGmax[] = INCBIN_U8("graphics/pokemon/gengar/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_GengarGigantamax[] = INCBIN_COMP("graphics/pokemon/gengar/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_GengarGmax[] = INCBIN_COMP("graphics/pokemon/gengar/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_GengarGigantamax[] = INCBIN_U32("graphics/pokemon/gengar/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_GengarGigantamax[] = INCBIN_U32("graphics/pokemon/gengar/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_GengarGmax[] = INCBIN_U32("graphics/pokemon/gengar/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_GengarGmax[] = INCBIN_U32("graphics/pokemon/gengar/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_GASTLY #if P_FAMILY_ONIX +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/anim_front.4bpp.lz"); const u32 gMonPalette_Onix[] = INCBIN_U32("graphics/pokemon/onix/normal.gbapal.lz"); const u32 gMonBackPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/back.4bpp.lz"); const u32 gMonShinyPalette_Onix[] = INCBIN_U32("graphics/pokemon/onix/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Onix[] = INCBIN_U32("graphics/pokemon/onix/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Onix[] = INCBIN_U32("graphics/pokemon/onix/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Onix[] = INCBIN_U8("graphics/pokemon/onix/icon.4bpp"); +#else + const u8 gMonIcon_Onix[] = INCBIN_U8("graphics/pokemon/onix/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Onix[] = INCBIN_U8("graphics/pokemon/onix/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2587,11 +3788,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/anim_front.4bpp.lz"); const u32 gMonPalette_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/normal.gbapal.lz"); const u32 gMonBackPic_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/back.4bpp.lz"); const u32 gMonShinyPalette_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Steelix[] = INCBIN_U8("graphics/pokemon/steelix/icon.4bpp"); +#else + const u8 gMonIcon_Steelix[] = INCBIN_U8("graphics/pokemon/steelix/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Steelix[] = INCBIN_U8("graphics/pokemon/steelix/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2603,8 +3815,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_SteelixF[] = INCBIN_U32("graphics/pokemon/steelix/anim_frontf.4bpp.lz"); const u32 gMonBackPic_SteelixF[] = INCBIN_U32("graphics/pokemon/steelix/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_SteelixF[] = INCBIN_COMP("graphics/pokemon/steelix/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS const u32 gMonFrontPic_SteelixMega[] = INCBIN_U32("graphics/pokemon/steelix/mega/front.4bpp.lz"); @@ -2624,11 +3841,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_ONIX #if P_FAMILY_DROWZEE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/anim_front.4bpp.lz"); const u32 gMonPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/normal.gbapal.lz"); const u32 gMonBackPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/back.4bpp.lz"); const u32 gMonShinyPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Drowzee[] = INCBIN_U8("graphics/pokemon/drowzee/icon.4bpp"); +#else + const u8 gMonIcon_Drowzee[] = INCBIN_U8("graphics/pokemon/drowzee/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Drowzee[] = INCBIN_U8("graphics/pokemon/drowzee/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2640,11 +3868,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/anim_front.4bpp.lz"); const u32 gMonPalette_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/normal.gbapal.lz"); const u32 gMonBackPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/back.4bpp.lz"); const u32 gMonShinyPalette_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Hypno[] = INCBIN_U8("graphics/pokemon/hypno/icon.4bpp"); +#else + const u8 gMonIcon_Hypno[] = INCBIN_U8("graphics/pokemon/hypno/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Hypno[] = INCBIN_U8("graphics/pokemon/hypno/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2656,16 +3895,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_HypnoF[] = INCBIN_U32("graphics/pokemon/hypno/anim_frontf.4bpp.lz"); const u32 gMonBackPic_HypnoF[] = INCBIN_U32("graphics/pokemon/hypno/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_HypnoF[] = INCBIN_COMP("graphics/pokemon/hypno/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_DROWZEE #if P_FAMILY_KRABBY +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/anim_front.4bpp.lz"); const u32 gMonPalette_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/normal.gbapal.lz"); const u32 gMonBackPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/back.4bpp.lz"); const u32 gMonShinyPalette_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Krabby[] = INCBIN_U8("graphics/pokemon/krabby/icon.4bpp"); +#else + const u8 gMonIcon_Krabby[] = INCBIN_U8("graphics/pokemon/krabby/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Krabby[] = INCBIN_U8("graphics/pokemon/krabby/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2677,11 +3932,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/anim_front.4bpp.lz"); const u32 gMonPalette_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/normal.gbapal.lz"); const u32 gMonBackPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/back.4bpp.lz"); const u32 gMonShinyPalette_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Kingler[] = INCBIN_U8("graphics/pokemon/kingler/icon.4bpp"); +#else + const u8 gMonIcon_Kingler[] = INCBIN_U8("graphics/pokemon/kingler/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Kingler[] = INCBIN_U8("graphics/pokemon/kingler/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2694,27 +3960,38 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_KinglerGigantamax[] = INCBIN_U32("graphics/pokemon/kingler/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_KinglerGigantamax[] = INCBIN_U32("graphics/pokemon/kingler/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_KinglerGigantamax[] = INCBIN_U32("graphics/pokemon/kingler/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_KinglerGigantamax[] = INCBIN_U32("graphics/pokemon/kingler/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_KinglerGigantamax[] = INCBIN_U8("graphics/pokemon/kingler/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_KinglerGmax[] = INCBIN_U32("graphics/pokemon/kingler/gmax/front.4bpp.lz"); + const u32 gMonBackPic_KinglerGmax[] = INCBIN_U32("graphics/pokemon/kingler/gmax/back.4bpp.lz"); + const u32 gMonPalette_KinglerGmax[] = INCBIN_U32("graphics/pokemon/kingler/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_KinglerGmax[] = INCBIN_U32("graphics/pokemon/kingler/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_KinglerGmax[] = INCBIN_U8("graphics/pokemon/kingler/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_KinglerGigantamax[] = INCBIN_COMP("graphics/pokemon/kingler/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_KinglerGmax[] = INCBIN_COMP("graphics/pokemon/kingler/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_KinglerGigantamax[] = INCBIN_U32("graphics/pokemon/kingler/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_KinglerGigantamax[] = INCBIN_U32("graphics/pokemon/kingler/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_KinglerGmax[] = INCBIN_U32("graphics/pokemon/kingler/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_KinglerGmax[] = INCBIN_U32("graphics/pokemon/kingler/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_KRABBY #if P_FAMILY_VOLTORB +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/anim_front.4bpp.lz"); const u32 gMonPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/normal.gbapal.lz"); const u32 gMonBackPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/back.4bpp.lz"); const u32 gMonShinyPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Voltorb[] = INCBIN_U8("graphics/pokemon/voltorb/icon.4bpp"); +#else + const u8 gMonIcon_Voltorb[] = INCBIN_U8("graphics/pokemon/voltorb/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Voltorb[] = INCBIN_U8("graphics/pokemon/voltorb/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2726,11 +4003,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/anim_front.4bpp.lz"); const u32 gMonPalette_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/normal.gbapal.lz"); const u32 gMonBackPic_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/back.4bpp.lz"); const u32 gMonShinyPalette_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Electrode[] = INCBIN_U8("graphics/pokemon/electrode/icon.4bpp"); +#else + const u8 gMonIcon_Electrode[] = INCBIN_U8("graphics/pokemon/electrode/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Electrode[] = INCBIN_U8("graphics/pokemon/electrode/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2743,40 +4031,51 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_HISUIAN_FORMS - const u32 gMonFrontPic_VoltorbHisuian[] = INCBIN_U32("graphics/pokemon/voltorb/hisuian/front.4bpp.lz"); - const u32 gMonPalette_VoltorbHisuian[] = INCBIN_U32("graphics/pokemon/voltorb/hisuian/normal.gbapal.lz"); - const u32 gMonBackPic_VoltorbHisuian[] = INCBIN_U32("graphics/pokemon/voltorb/hisuian/back.4bpp.lz"); - const u32 gMonShinyPalette_VoltorbHisuian[] = INCBIN_U32("graphics/pokemon/voltorb/hisuian/shiny.gbapal.lz"); - const u8 gMonIcon_VoltorbHisuian[] = INCBIN_U8("graphics/pokemon/voltorb/hisuian/icon.4bpp"); + const u32 gMonFrontPic_VoltorbHisui[] = INCBIN_U32("graphics/pokemon/voltorb/hisui/front.4bpp.lz"); + const u32 gMonPalette_VoltorbHisui[] = INCBIN_U32("graphics/pokemon/voltorb/hisui/normal.gbapal.lz"); + const u32 gMonBackPic_VoltorbHisui[] = INCBIN_U32("graphics/pokemon/voltorb/hisui/back.4bpp.lz"); + const u32 gMonShinyPalette_VoltorbHisui[] = INCBIN_U32("graphics/pokemon/voltorb/hisui/shiny.gbapal.lz"); + const u8 gMonIcon_VoltorbHisui[] = INCBIN_U8("graphics/pokemon/voltorb/hisui/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_VoltorbHisuian[] = INCBIN_COMP("graphics/pokemon/voltorb/hisuian/overworld.4bpp"); + const u32 gObjectEventPic_VoltorbHisui[] = INCBIN_COMP("graphics/pokemon/voltorb/hisui/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_VoltorbHisuian[] = INCBIN_U32("graphics/pokemon/voltorb/hisuian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_VoltorbHisuian[] = INCBIN_U32("graphics/pokemon/voltorb/hisuian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_VoltorbHisui[] = INCBIN_U32("graphics/pokemon/voltorb/hisui/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_VoltorbHisui[] = INCBIN_U32("graphics/pokemon/voltorb/hisui/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/electrode/hisuian/front.4bpp.lz"); - const u32 gMonPalette_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/electrode/hisuian/normal.gbapal.lz"); - const u32 gMonBackPic_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/electrode/hisuian/back.4bpp.lz"); - const u32 gMonShinyPalette_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/electrode/hisuian/shiny.gbapal.lz"); - const u8 gMonIcon_ElectrodeHisuian[] = INCBIN_U8("graphics/pokemon/electrode/hisuian/icon.4bpp"); + const u32 gMonFrontPic_ElectrodeHisui[] = INCBIN_U32("graphics/pokemon/electrode/hisui/front.4bpp.lz"); + const u32 gMonPalette_ElectrodeHisui[] = INCBIN_U32("graphics/pokemon/electrode/hisui/normal.gbapal.lz"); + const u32 gMonBackPic_ElectrodeHisui[] = INCBIN_U32("graphics/pokemon/electrode/hisui/back.4bpp.lz"); + const u32 gMonShinyPalette_ElectrodeHisui[] = INCBIN_U32("graphics/pokemon/electrode/hisui/shiny.gbapal.lz"); + const u8 gMonIcon_ElectrodeHisui[] = INCBIN_U8("graphics/pokemon/electrode/hisui/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_ElectrodeHisuian[] = INCBIN_COMP("graphics/pokemon/electrode/hisuian/overworld.4bpp"); + const u32 gObjectEventPic_ElectrodeHisui[] = INCBIN_COMP("graphics/pokemon/electrode/hisui/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/electrode/hisuian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/electrode/hisuian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_ElectrodeHisui[] = INCBIN_U32("graphics/pokemon/electrode/hisui/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_ElectrodeHisui[] = INCBIN_U32("graphics/pokemon/electrode/hisui/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_HISUIAN_FORMS #endif //P_FAMILY_VOLTORB #if P_FAMILY_EXEGGCUTE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/anim_front.4bpp.lz"); const u32 gMonPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/normal.gbapal.lz"); const u32 gMonBackPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/back.4bpp.lz"); const u32 gMonShinyPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Exeggcute[] = INCBIN_U8("graphics/pokemon/exeggcute/icon.4bpp"); +#else + const u8 gMonIcon_Exeggcute[] = INCBIN_U8("graphics/pokemon/exeggcute/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Exeggcute[] = INCBIN_U8("graphics/pokemon/exeggcute/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2788,11 +4087,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/anim_front.4bpp.lz"); const u32 gMonPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/normal.gbapal.lz"); const u32 gMonBackPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/back.4bpp.lz"); const u32 gMonShinyPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Exeggutor[] = INCBIN_U8("graphics/pokemon/exeggutor/icon.4bpp"); +#else + const u8 gMonIcon_Exeggutor[] = INCBIN_U8("graphics/pokemon/exeggutor/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Exeggutor[] = INCBIN_U8("graphics/pokemon/exeggutor/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2805,27 +4115,38 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_ALOLAN_FORMS - const u32 gMonFrontPic_ExeggutorAlolan[] = INCBIN_U32("graphics/pokemon/exeggutor/alolan/anim_front.4bpp.lz"); - const u32 gMonPalette_ExeggutorAlolan[] = INCBIN_U32("graphics/pokemon/exeggutor/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_ExeggutorAlolan[] = INCBIN_U32("graphics/pokemon/exeggutor/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_ExeggutorAlolan[] = INCBIN_U32("graphics/pokemon/exeggutor/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_ExeggutorAlolan[] = INCBIN_U8("graphics/pokemon/exeggutor/alolan/icon.4bpp"); + const u32 gMonFrontPic_ExeggutorAlola[] = INCBIN_U32("graphics/pokemon/exeggutor/alola/anim_front.4bpp.lz"); + const u32 gMonPalette_ExeggutorAlola[] = INCBIN_U32("graphics/pokemon/exeggutor/alola/normal.gbapal.lz"); + const u32 gMonBackPic_ExeggutorAlola[] = INCBIN_U32("graphics/pokemon/exeggutor/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_ExeggutorAlola[] = INCBIN_U32("graphics/pokemon/exeggutor/alola/shiny.gbapal.lz"); + const u8 gMonIcon_ExeggutorAlola[] = INCBIN_U8("graphics/pokemon/exeggutor/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_ExeggutorAlolan[] = INCBIN_COMP("graphics/pokemon/exeggutor/alolan/overworld.4bpp"); + const u32 gObjectEventPic_ExeggutorAlola[] = INCBIN_COMP("graphics/pokemon/exeggutor/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_ExeggutorAlolan[] = INCBIN_U32("graphics/pokemon/exeggutor/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_ExeggutorAlolan[] = INCBIN_U32("graphics/pokemon/exeggutor/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_ExeggutorAlola[] = INCBIN_U32("graphics/pokemon/exeggutor/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_ExeggutorAlola[] = INCBIN_U32("graphics/pokemon/exeggutor/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_ALOLAN_FORMS #endif //P_FAMILY_EXEGGCUTE #if P_FAMILY_CUBONE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/anim_front.4bpp.lz"); const u32 gMonPalette_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/normal.gbapal.lz"); const u32 gMonBackPic_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/back.4bpp.lz"); const u32 gMonShinyPalette_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Cubone[] = INCBIN_U8("graphics/pokemon/cubone/icon.4bpp"); +#else + const u8 gMonIcon_Cubone[] = INCBIN_U8("graphics/pokemon/cubone/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Cubone[] = INCBIN_U8("graphics/pokemon/cubone/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2837,11 +4158,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/anim_front.4bpp.lz"); const u32 gMonPalette_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/normal.gbapal.lz"); const u32 gMonBackPic_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/back.4bpp.lz"); const u32 gMonShinyPalette_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Marowak[] = INCBIN_U8("graphics/pokemon/marowak/icon.4bpp"); +#else + const u8 gMonIcon_Marowak[] = INCBIN_U8("graphics/pokemon/marowak/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Marowak[] = INCBIN_U8("graphics/pokemon/marowak/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2854,16 +4186,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_ALOLAN_FORMS - const u32 gMonFrontPic_MarowakAlolan[] = INCBIN_U32("graphics/pokemon/marowak/alolan/front.4bpp.lz"); - const u32 gMonPalette_MarowakAlolan[] = INCBIN_U32("graphics/pokemon/marowak/alolan/normal.gbapal.lz"); - const u32 gMonBackPic_MarowakAlolan[] = INCBIN_U32("graphics/pokemon/marowak/alolan/back.4bpp.lz"); - const u32 gMonShinyPalette_MarowakAlolan[] = INCBIN_U32("graphics/pokemon/marowak/alolan/shiny.gbapal.lz"); - const u8 gMonIcon_MarowakAlolan[] = INCBIN_U8("graphics/pokemon/marowak/alolan/icon.4bpp"); + const u32 gMonFrontPic_MarowakAlola[] = INCBIN_U32("graphics/pokemon/marowak/alola/front.4bpp.lz"); + const u32 gMonPalette_MarowakAlola[] = INCBIN_U32("graphics/pokemon/marowak/alola/normal.gbapal.lz"); + const u32 gMonBackPic_MarowakAlola[] = INCBIN_U32("graphics/pokemon/marowak/alola/back.4bpp.lz"); + const u32 gMonShinyPalette_MarowakAlola[] = INCBIN_U32("graphics/pokemon/marowak/alola/shiny.gbapal.lz"); + const u8 gMonIcon_MarowakAlola[] = INCBIN_U8("graphics/pokemon/marowak/alola/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_MarowakAlolan[] = INCBIN_COMP("graphics/pokemon/marowak/alolan/overworld.4bpp"); + const u32 gObjectEventPic_MarowakAlola[] = INCBIN_COMP("graphics/pokemon/marowak/alola/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_MarowakAlolan[] = INCBIN_U32("graphics/pokemon/marowak/alolan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_MarowakAlolan[] = INCBIN_U32("graphics/pokemon/marowak/alolan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_MarowakAlola[] = INCBIN_U32("graphics/pokemon/marowak/alola/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_MarowakAlola[] = INCBIN_U32("graphics/pokemon/marowak/alola/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_ALOLAN_FORMS @@ -2871,11 +4203,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #if P_FAMILY_HITMONS #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/anim_front.4bpp.lz"); const u32 gMonPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/normal.gbapal.lz"); const u32 gMonBackPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/back.4bpp.lz"); const u32 gMonShinyPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Tyrogue[] = INCBIN_U8("graphics/pokemon/tyrogue/icon.4bpp"); +#else + const u8 gMonIcon_Tyrogue[] = INCBIN_U8("graphics/pokemon/tyrogue/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Tyrogue[] = INCBIN_U8("graphics/pokemon/tyrogue/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2888,11 +4231,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/anim_front.4bpp.lz"); const u32 gMonPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/normal.gbapal.lz"); const u32 gMonBackPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/back.4bpp.lz"); const u32 gMonShinyPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Hitmonlee[] = INCBIN_U8("graphics/pokemon/hitmonlee/icon.4bpp"); +#else + const u8 gMonIcon_Hitmonlee[] = INCBIN_U8("graphics/pokemon/hitmonlee/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Hitmonlee[] = INCBIN_U8("graphics/pokemon/hitmonlee/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2904,11 +4258,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/anim_front.4bpp.lz"); const u32 gMonPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/normal.gbapal.lz"); const u32 gMonBackPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/back.4bpp.lz"); const u32 gMonShinyPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Hitmonchan[] = INCBIN_U8("graphics/pokemon/hitmonchan/icon.4bpp"); +#else + const u8 gMonIcon_Hitmonchan[] = INCBIN_U8("graphics/pokemon/hitmonchan/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Hitmonchan[] = INCBIN_U8("graphics/pokemon/hitmonchan/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2921,11 +4286,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/anim_front.4bpp.lz"); const u32 gMonPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/normal.gbapal.lz"); const u32 gMonBackPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/back.4bpp.lz"); const u32 gMonShinyPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Hitmontop[] = INCBIN_U8("graphics/pokemon/hitmontop/icon.4bpp"); +#else + const u8 gMonIcon_Hitmontop[] = INCBIN_U8("graphics/pokemon/hitmontop/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Hitmontop[] = INCBIN_U8("graphics/pokemon/hitmontop/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2940,11 +4316,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_HITMONS #if P_FAMILY_LICKITUNG +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/anim_front.4bpp.lz"); const u32 gMonPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/normal.gbapal.lz"); const u32 gMonBackPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/back.4bpp.lz"); const u32 gMonShinyPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Lickitung[] = INCBIN_U8("graphics/pokemon/lickitung/icon.4bpp"); +#else + const u8 gMonIcon_Lickitung[] = INCBIN_U8("graphics/pokemon/lickitung/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Lickitung[] = INCBIN_U8("graphics/pokemon/lickitung/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2976,11 +4363,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_LICKITUNG #if P_FAMILY_KOFFING +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/anim_front.4bpp.lz"); const u32 gMonPalette_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/normal.gbapal.lz"); const u32 gMonBackPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/back.4bpp.lz"); const u32 gMonShinyPalette_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Koffing[] = INCBIN_U8("graphics/pokemon/koffing/icon.4bpp"); +#else + const u8 gMonIcon_Koffing[] = INCBIN_U8("graphics/pokemon/koffing/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Koffing[] = INCBIN_U8("graphics/pokemon/koffing/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -2992,11 +4390,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/anim_front.4bpp.lz"); const u32 gMonPalette_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/normal.gbapal.lz"); const u32 gMonBackPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/back.4bpp.lz"); const u32 gMonShinyPalette_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Weezing[] = INCBIN_U8("graphics/pokemon/weezing/icon.4bpp"); +#else + const u8 gMonIcon_Weezing[] = INCBIN_U8("graphics/pokemon/weezing/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Weezing[] = INCBIN_U8("graphics/pokemon/weezing/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3009,27 +4418,38 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GALARIAN_FORMS - const u32 gMonFrontPic_WeezingGalarian[] = INCBIN_U32("graphics/pokemon/weezing/galarian/front.4bpp.lz"); - const u32 gMonPalette_WeezingGalarian[] = INCBIN_U32("graphics/pokemon/weezing/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_WeezingGalarian[] = INCBIN_U32("graphics/pokemon/weezing/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_WeezingGalarian[] = INCBIN_U32("graphics/pokemon/weezing/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_WeezingGalarian[] = INCBIN_U8("graphics/pokemon/weezing/galarian/icon.4bpp"); + const u32 gMonFrontPic_WeezingGalar[] = INCBIN_U32("graphics/pokemon/weezing/galar/front.4bpp.lz"); + const u32 gMonPalette_WeezingGalar[] = INCBIN_U32("graphics/pokemon/weezing/galar/normal.gbapal.lz"); + const u32 gMonBackPic_WeezingGalar[] = INCBIN_U32("graphics/pokemon/weezing/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_WeezingGalar[] = INCBIN_U32("graphics/pokemon/weezing/galar/shiny.gbapal.lz"); + const u8 gMonIcon_WeezingGalar[] = INCBIN_U8("graphics/pokemon/weezing/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_WeezingGalarian[] = INCBIN_COMP("graphics/pokemon/weezing/galarian/overworld.4bpp"); + const u32 gObjectEventPic_WeezingGalar[] = INCBIN_COMP("graphics/pokemon/weezing/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_WeezingGalarian[] = INCBIN_U32("graphics/pokemon/weezing/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_WeezingGalarian[] = INCBIN_U32("graphics/pokemon/weezing/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_WeezingGalar[] = INCBIN_U32("graphics/pokemon/weezing/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_WeezingGalar[] = INCBIN_U32("graphics/pokemon/weezing/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GALARIAN_FORMS #endif //P_FAMILY_KOFFING #if P_FAMILY_RHYHORN +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/anim_front.4bpp.lz"); const u32 gMonPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/normal.gbapal.lz"); const u32 gMonBackPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/back.4bpp.lz"); const u32 gMonShinyPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Rhyhorn[] = INCBIN_U8("graphics/pokemon/rhyhorn/icon.4bpp"); +#else + const u8 gMonIcon_Rhyhorn[] = INCBIN_U8("graphics/pokemon/rhyhorn/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Rhyhorn[] = INCBIN_U8("graphics/pokemon/rhyhorn/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3041,14 +4461,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_RhyhornF[] = INCBIN_U32("graphics/pokemon/rhyhorn/anim_frontf.4bpp.lz"); const u32 gMonBackPic_RhyhornF[] = INCBIN_U32("graphics/pokemon/rhyhorn/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_RhyhornF[] = INCBIN_COMP("graphics/pokemon/rhyhorn/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/anim_front.4bpp.lz"); const u32 gMonPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/normal.gbapal.lz"); const u32 gMonBackPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/back.4bpp.lz"); const u32 gMonShinyPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Rhydon[] = INCBIN_U8("graphics/pokemon/rhydon/icon.4bpp"); +#else + const u8 gMonIcon_Rhydon[] = INCBIN_U8("graphics/pokemon/rhydon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Rhydon[] = INCBIN_U8("graphics/pokemon/rhydon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3060,8 +4496,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_RhydonF[] = INCBIN_U32("graphics/pokemon/rhydon/anim_frontf.4bpp.lz"); const u32 gMonBackPic_RhydonF[] = INCBIN_U32("graphics/pokemon/rhydon/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_RhydonF[] = INCBIN_COMP("graphics/pokemon/rhydon/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_GEN_4_CROSS_EVOS const u32 gMonFrontPic_Rhyperior[] = INCBIN_U32("graphics/pokemon/rhyperior/anim_front.4bpp.lz"); @@ -3080,8 +4521,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_RhyperiorF[] = INCBIN_U32("graphics/pokemon/rhyperior/anim_frontf.4bpp.lz"); const u32 gMonBackPic_RhyperiorF[] = INCBIN_U32("graphics/pokemon/rhyperior/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_RhyperiorF[] = INCBIN_COMP("graphics/pokemon/rhyperior/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_GEN_4_CROSS_EVOS #endif //P_FAMILY_RHYHORN @@ -3104,11 +4550,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_4_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/anim_front.4bpp.lz"); const u32 gMonPalette_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/normal.gbapal.lz"); const u32 gMonBackPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/back.4bpp.lz"); const u32 gMonShinyPalette_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Chansey[] = INCBIN_U8("graphics/pokemon/chansey/icon.4bpp"); +#else + const u8 gMonIcon_Chansey[] = INCBIN_U8("graphics/pokemon/chansey/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Chansey[] = INCBIN_U8("graphics/pokemon/chansey/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3121,11 +4578,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/anim_front.4bpp.lz"); const u32 gMonPalette_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/normal.gbapal.lz"); const u32 gMonBackPic_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/back.4bpp.lz"); const u32 gMonShinyPalette_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Blissey[] = INCBIN_U8("graphics/pokemon/blissey/icon.4bpp"); +#else + const u8 gMonIcon_Blissey[] = INCBIN_U8("graphics/pokemon/blissey/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Blissey[] = INCBIN_U8("graphics/pokemon/blissey/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3140,11 +4608,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_CHANSEY #if P_FAMILY_TANGELA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/anim_front.4bpp.lz"); const u32 gMonPalette_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/normal.gbapal.lz"); const u32 gMonBackPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/back.4bpp.lz"); const u32 gMonShinyPalette_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Tangela[] = INCBIN_U8("graphics/pokemon/tangela/icon.4bpp"); +#else + const u8 gMonIcon_Tangela[] = INCBIN_U8("graphics/pokemon/tangela/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Tangela[] = INCBIN_U8("graphics/pokemon/tangela/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3173,16 +4652,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_TangrowthF[] = INCBIN_U32("graphics/pokemon/tangrowth/anim_frontf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_TangrowthF[] = INCBIN_COMP("graphics/pokemon/tangrowth/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_GEN_4_CROSS_EVOS #endif //P_FAMILY_TANGELA #if P_FAMILY_KANGASKHAN +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/anim_front.4bpp.lz"); const u32 gMonPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/normal.gbapal.lz"); const u32 gMonBackPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/back.4bpp.lz"); const u32 gMonShinyPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Kangaskhan[] = INCBIN_U8("graphics/pokemon/kangaskhan/icon.4bpp"); +#else + const u8 gMonIcon_Kangaskhan[] = INCBIN_U8("graphics/pokemon/kangaskhan/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Kangaskhan[] = INCBIN_U8("graphics/pokemon/kangaskhan/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3211,11 +4706,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_KANGASKHAN #if P_FAMILY_HORSEA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/anim_front.4bpp.lz"); const u32 gMonPalette_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/normal.gbapal.lz"); const u32 gMonBackPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/back.4bpp.lz"); const u32 gMonShinyPalette_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Horsea[] = INCBIN_U8("graphics/pokemon/horsea/icon.4bpp"); +#else + const u8 gMonIcon_Horsea[] = INCBIN_U8("graphics/pokemon/horsea/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Horsea[] = INCBIN_U8("graphics/pokemon/horsea/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3227,11 +4733,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/anim_front.4bpp.lz"); const u32 gMonPalette_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/normal.gbapal.lz"); const u32 gMonBackPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/back.4bpp.lz"); const u32 gMonShinyPalette_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Seadra[] = INCBIN_U8("graphics/pokemon/seadra/icon.4bpp"); +#else + const u8 gMonIcon_Seadra[] = INCBIN_U8("graphics/pokemon/seadra/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Seadra[] = INCBIN_U8("graphics/pokemon/seadra/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3244,11 +4761,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/anim_front.4bpp.lz"); const u32 gMonPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/normal.gbapal.lz"); const u32 gMonBackPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/back.4bpp.lz"); const u32 gMonShinyPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Kingdra[] = INCBIN_U8("graphics/pokemon/kingdra/icon.4bpp"); +#else + const u8 gMonIcon_Kingdra[] = INCBIN_U8("graphics/pokemon/kingdra/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Kingdra[] = INCBIN_U8("graphics/pokemon/kingdra/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3263,11 +4791,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_HORSEA #if P_FAMILY_GOLDEEN +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/anim_front.4bpp.lz"); const u32 gMonPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/normal.gbapal.lz"); const u32 gMonBackPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/back.4bpp.lz"); const u32 gMonShinyPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Goldeen[] = INCBIN_U8("graphics/pokemon/goldeen/icon.4bpp"); +#else + const u8 gMonIcon_Goldeen[] = INCBIN_U8("graphics/pokemon/goldeen/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Goldeen[] = INCBIN_U8("graphics/pokemon/goldeen/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3279,14 +4818,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_GoldeenF[] = INCBIN_U32("graphics/pokemon/goldeen/anim_frontf.4bpp.lz"); const u32 gMonBackPic_GoldeenF[] = INCBIN_U32("graphics/pokemon/goldeen/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_GoldeenF[] = INCBIN_COMP("graphics/pokemon/goldeen/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/anim_front.4bpp.lz"); const u32 gMonPalette_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/normal.gbapal.lz"); const u32 gMonBackPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/back.4bpp.lz"); const u32 gMonShinyPalette_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Seaking[] = INCBIN_U8("graphics/pokemon/seaking/icon.4bpp"); +#else + const u8 gMonIcon_Seaking[] = INCBIN_U8("graphics/pokemon/seaking/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Seaking[] = INCBIN_U8("graphics/pokemon/seaking/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3298,16 +4853,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_SeakingF[] = INCBIN_U32("graphics/pokemon/seaking/anim_frontf.4bpp.lz"); const u32 gMonBackPic_SeakingF[] = INCBIN_U32("graphics/pokemon/seaking/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_SeakingF[] = INCBIN_COMP("graphics/pokemon/seaking/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_GOLDEEN #if P_FAMILY_STARYU +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/anim_front.4bpp.lz"); const u32 gMonPalette_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/normal.gbapal.lz"); const u32 gMonBackPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/back.4bpp.lz"); const u32 gMonShinyPalette_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Staryu[] = INCBIN_U8("graphics/pokemon/staryu/icon.4bpp"); +#else + const u8 gMonIcon_Staryu[] = INCBIN_U8("graphics/pokemon/staryu/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Staryu[] = INCBIN_U8("graphics/pokemon/staryu/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3319,11 +4890,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/anim_front.4bpp.lz"); const u32 gMonPalette_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/normal.gbapal.lz"); const u32 gMonBackPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/back.4bpp.lz"); const u32 gMonShinyPalette_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Starmie[] = INCBIN_U8("graphics/pokemon/starmie/icon.4bpp"); +#else + const u8 gMonIcon_Starmie[] = INCBIN_U8("graphics/pokemon/starmie/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Starmie[] = INCBIN_U8("graphics/pokemon/starmie/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3355,11 +4937,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_4_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_MrMime[] = INCBIN_U32("graphics/pokemon/mr_mime/anim_front.4bpp.lz"); const u32 gMonPalette_MrMime[] = INCBIN_U32("graphics/pokemon/mr_mime/normal.gbapal.lz"); const u32 gMonBackPic_MrMime[] = INCBIN_U32("graphics/pokemon/mr_mime/back.4bpp.lz"); const u32 gMonShinyPalette_MrMime[] = INCBIN_U32("graphics/pokemon/mr_mime/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_MrMime[] = INCBIN_U32("graphics/pokemon/mr_mime/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_MrMime[] = INCBIN_U32("graphics/pokemon/mr_mime/normal_gba.gbapal.lz"); + const u32 gMonBackPic_MrMime[] = INCBIN_U32("graphics/pokemon/mr_mime/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_MrMime[] = INCBIN_U32("graphics/pokemon/mr_mime/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_MrMime[] = INCBIN_U8("graphics/pokemon/mr_mime/icon.4bpp"); +#else + const u8 gMonIcon_MrMime[] = INCBIN_U8("graphics/pokemon/mr_mime/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_MrMime[] = INCBIN_U8("graphics/pokemon/mr_mime/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3372,16 +4965,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GALARIAN_FORMS - const u32 gMonFrontPic_MrMimeGalarian[] = INCBIN_U32("graphics/pokemon/mr_mime/galarian/front.4bpp.lz"); - const u32 gMonPalette_MrMimeGalarian[] = INCBIN_U32("graphics/pokemon/mr_mime/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_MrMimeGalarian[] = INCBIN_U32("graphics/pokemon/mr_mime/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_MrMimeGalarian[] = INCBIN_U32("graphics/pokemon/mr_mime/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_MrMimeGalarian[] = INCBIN_U8("graphics/pokemon/mr_mime/galarian/icon.4bpp"); + const u32 gMonFrontPic_MrMimeGalar[] = INCBIN_U32("graphics/pokemon/mr_mime/galar/front.4bpp.lz"); + const u32 gMonPalette_MrMimeGalar[] = INCBIN_U32("graphics/pokemon/mr_mime/galar/normal.gbapal.lz"); + const u32 gMonBackPic_MrMimeGalar[] = INCBIN_U32("graphics/pokemon/mr_mime/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_MrMimeGalar[] = INCBIN_U32("graphics/pokemon/mr_mime/galar/shiny.gbapal.lz"); + const u8 gMonIcon_MrMimeGalar[] = INCBIN_U8("graphics/pokemon/mr_mime/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_MrMimeGalarian[] = INCBIN_COMP("graphics/pokemon/mr_mime/galarian/overworld.4bpp"); + const u32 gObjectEventPic_MrMimeGalar[] = INCBIN_COMP("graphics/pokemon/mr_mime/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_MrMimeGalarian[] = INCBIN_U32("graphics/pokemon/mr_mime/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_MrMimeGalarian[] = INCBIN_U32("graphics/pokemon/mr_mime/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_MrMimeGalar[] = INCBIN_U32("graphics/pokemon/mr_mime/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_MrMimeGalar[] = INCBIN_U32("graphics/pokemon/mr_mime/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS @@ -3404,11 +4997,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_MR_MIME #if P_FAMILY_SCYTHER +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/anim_front.4bpp.lz"); const u32 gMonPalette_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/normal.gbapal.lz"); const u32 gMonBackPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/back.4bpp.lz"); const u32 gMonShinyPalette_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Scyther[] = INCBIN_U8("graphics/pokemon/scyther/icon.4bpp"); +#else + const u8 gMonIcon_Scyther[] = INCBIN_U8("graphics/pokemon/scyther/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Scyther[] = INCBIN_U8("graphics/pokemon/scyther/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3420,14 +5024,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_ScytherF[] = INCBIN_U32("graphics/pokemon/scyther/anim_frontf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_ScytherF[] = INCBIN_COMP("graphics/pokemon/scyther/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/anim_front.4bpp.lz"); const u32 gMonPalette_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/normal.gbapal.lz"); const u32 gMonBackPic_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/back.4bpp.lz"); const u32 gMonShinyPalette_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Scizor[] = INCBIN_U8("graphics/pokemon/scizor/icon.4bpp"); +#else + const u8 gMonIcon_Scizor[] = INCBIN_U8("graphics/pokemon/scizor/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Scizor[] = INCBIN_U8("graphics/pokemon/scizor/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3439,7 +5059,12 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_ScizorF[] = INCBIN_U32("graphics/pokemon/scizor/anim_frontf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_ScizorF[] = INCBIN_COMP("graphics/pokemon/scizor/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS const u32 gMonFrontPic_ScizorMega[] = INCBIN_U32("graphics/pokemon/scizor/mega/front.4bpp.lz"); @@ -3478,11 +5103,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #if P_FAMILY_JYNX #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/anim_front.4bpp.lz"); const u32 gMonPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/normal.gbapal.lz"); const u32 gMonBackPic_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/back.4bpp.lz"); const u32 gMonShinyPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Smoochum[] = INCBIN_U8("graphics/pokemon/smoochum/icon.4bpp"); +#else + const u8 gMonIcon_Smoochum[] = INCBIN_U8("graphics/pokemon/smoochum/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Smoochum[] = INCBIN_U8("graphics/pokemon/smoochum/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3495,11 +5131,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/anim_front.4bpp.lz"); const u32 gMonPalette_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/normal.gbapal.lz"); const u32 gMonBackPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/back.4bpp.lz"); const u32 gMonShinyPalette_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Jynx[] = INCBIN_U8("graphics/pokemon/jynx/icon.4bpp"); +#else + const u8 gMonIcon_Jynx[] = INCBIN_U8("graphics/pokemon/jynx/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Jynx[] = INCBIN_U8("graphics/pokemon/jynx/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3514,11 +5161,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #if P_FAMILY_ELECTABUZZ #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/anim_front.4bpp.lz"); const u32 gMonPalette_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/normal.gbapal.lz"); const u32 gMonBackPic_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/back.4bpp.lz"); const u32 gMonShinyPalette_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Elekid[] = INCBIN_U8("graphics/pokemon/elekid/icon.4bpp"); +#else + const u8 gMonIcon_Elekid[] = INCBIN_U8("graphics/pokemon/elekid/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Elekid[] = INCBIN_U8("graphics/pokemon/elekid/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3531,11 +5189,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/anim_front.4bpp.lz"); const u32 gMonPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/normal.gbapal.lz"); const u32 gMonBackPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/back.4bpp.lz"); const u32 gMonShinyPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Electabuzz[] = INCBIN_U8("graphics/pokemon/electabuzz/icon.4bpp"); +#else + const u8 gMonIcon_Electabuzz[] = INCBIN_U8("graphics/pokemon/electabuzz/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Electabuzz[] = INCBIN_U8("graphics/pokemon/electabuzz/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3568,11 +5237,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #if P_FAMILY_MAGMAR #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Magby[] = INCBIN_U32("graphics/pokemon/magby/anim_front.4bpp.lz"); const u32 gMonPalette_Magby[] = INCBIN_U32("graphics/pokemon/magby/normal.gbapal.lz"); const u32 gMonBackPic_Magby[] = INCBIN_U32("graphics/pokemon/magby/back.4bpp.lz"); const u32 gMonShinyPalette_Magby[] = INCBIN_U32("graphics/pokemon/magby/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Magby[] = INCBIN_U32("graphics/pokemon/magby/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Magby[] = INCBIN_U32("graphics/pokemon/magby/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Magby[] = INCBIN_U32("graphics/pokemon/magby/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Magby[] = INCBIN_U32("graphics/pokemon/magby/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Magby[] = INCBIN_U8("graphics/pokemon/magby/icon.4bpp"); +#else + const u8 gMonIcon_Magby[] = INCBIN_U8("graphics/pokemon/magby/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Magby[] = INCBIN_U8("graphics/pokemon/magby/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3585,11 +5265,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/anim_front.4bpp.lz"); const u32 gMonPalette_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/normal.gbapal.lz"); const u32 gMonBackPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/back.4bpp.lz"); const u32 gMonShinyPalette_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Magmar[] = INCBIN_U8("graphics/pokemon/magmar/icon.4bpp"); +#else + const u8 gMonIcon_Magmar[] = INCBIN_U8("graphics/pokemon/magmar/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Magmar[] = INCBIN_U8("graphics/pokemon/magmar/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3621,11 +5312,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_MAGMAR #if P_FAMILY_PINSIR +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/anim_front.4bpp.lz"); const u32 gMonPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/normal.gbapal.lz"); const u32 gMonBackPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/back.4bpp.lz"); const u32 gMonShinyPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Pinsir[] = INCBIN_U8("graphics/pokemon/pinsir/icon.4bpp"); +#else + const u8 gMonIcon_Pinsir[] = INCBIN_U8("graphics/pokemon/pinsir/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Pinsir[] = INCBIN_U8("graphics/pokemon/pinsir/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3654,11 +5356,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_PINSIR #if P_FAMILY_TAUROS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/anim_front.4bpp.lz"); const u32 gMonPalette_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/normal.gbapal.lz"); const u32 gMonBackPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/back.4bpp.lz"); const u32 gMonShinyPalette_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Tauros[] = INCBIN_U8("graphics/pokemon/tauros/icon.4bpp"); +#else + const u8 gMonIcon_Tauros[] = INCBIN_U8("graphics/pokemon/tauros/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Tauros[] = INCBIN_U8("graphics/pokemon/tauros/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3671,46 +5384,57 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_PALDEAN_FORMS - const u32 gMonFrontPic_TaurosPaldeanCombatBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_combat_breed/front.4bpp.lz"); - const u32 gMonPalette_TaurosPaldeanCombatBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_combat_breed/normal.gbapal.lz"); - const u32 gMonBackPic_TaurosPaldeanCombatBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_combat_breed/back.4bpp.lz"); - const u32 gMonShinyPalette_TaurosPaldeanCombatBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_combat_breed/shiny.gbapal.lz"); - const u8 gMonIcon_TaurosPaldeanCombatBreed[] = INCBIN_U8("graphics/pokemon/tauros/paldean_combat_breed/icon.4bpp"); + const u32 gMonFrontPic_TaurosPaldeaCombat[] = INCBIN_U32("graphics/pokemon/tauros/paldea_combat/front.4bpp.lz"); + const u32 gMonPalette_TaurosPaldeaCombat[] = INCBIN_U32("graphics/pokemon/tauros/paldea_combat/normal.gbapal.lz"); + const u32 gMonBackPic_TaurosPaldeaCombat[] = INCBIN_U32("graphics/pokemon/tauros/paldea_combat/back.4bpp.lz"); + const u32 gMonShinyPalette_TaurosPaldeaCombat[] = INCBIN_U32("graphics/pokemon/tauros/paldea_combat/shiny.gbapal.lz"); + const u8 gMonIcon_TaurosPaldeaCombat[] = INCBIN_U8("graphics/pokemon/tauros/paldea_combat/icon.4bpp"); - const u32 gMonFrontPic_TaurosPaldeanBlazeBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_blaze_breed/front.4bpp.lz"); - const u32 gMonPalette_TaurosPaldeanBlazeBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_blaze_breed/normal.gbapal.lz"); - const u32 gMonBackPic_TaurosPaldeanBlazeBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_blaze_breed/back.4bpp.lz"); - const u32 gMonShinyPalette_TaurosPaldeanBlazeBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_blaze_breed/shiny.gbapal.lz"); - const u8 gMonIcon_TaurosPaldeanBlazeBreed[] = INCBIN_U8("graphics/pokemon/tauros/paldean_blaze_breed/icon.4bpp"); + const u32 gMonFrontPic_TaurosPaldeaBlaze[] = INCBIN_U32("graphics/pokemon/tauros/paldea_blaze/front.4bpp.lz"); + const u32 gMonPalette_TaurosPaldeaBlaze[] = INCBIN_U32("graphics/pokemon/tauros/paldea_blaze/normal.gbapal.lz"); + const u32 gMonBackPic_TaurosPaldeaBlaze[] = INCBIN_U32("graphics/pokemon/tauros/paldea_blaze/back.4bpp.lz"); + const u32 gMonShinyPalette_TaurosPaldeaBlaze[] = INCBIN_U32("graphics/pokemon/tauros/paldea_blaze/shiny.gbapal.lz"); + const u8 gMonIcon_TaurosPaldeaBlaze[] = INCBIN_U8("graphics/pokemon/tauros/paldea_blaze/icon.4bpp"); - const u32 gMonFrontPic_TaurosPaldeanAquaBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_aqua_breed/front.4bpp.lz"); - const u32 gMonPalette_TaurosPaldeanAquaBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_aqua_breed/normal.gbapal.lz"); - const u32 gMonBackPic_TaurosPaldeanAquaBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_aqua_breed/back.4bpp.lz"); - const u32 gMonShinyPalette_TaurosPaldeanAquaBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_aqua_breed/shiny.gbapal.lz"); - const u8 gMonIcon_TaurosPaldeanAquaBreed[] = INCBIN_U8("graphics/pokemon/tauros/paldean_aqua_breed/icon.4bpp"); + const u32 gMonFrontPic_TaurosPaldeaAqua[] = INCBIN_U32("graphics/pokemon/tauros/paldea_aqua/front.4bpp.lz"); + const u32 gMonPalette_TaurosPaldeaAqua[] = INCBIN_U32("graphics/pokemon/tauros/paldea_aqua/normal.gbapal.lz"); + const u32 gMonBackPic_TaurosPaldeaAqua[] = INCBIN_U32("graphics/pokemon/tauros/paldea_aqua/back.4bpp.lz"); + const u32 gMonShinyPalette_TaurosPaldeaAqua[] = INCBIN_U32("graphics/pokemon/tauros/paldea_aqua/shiny.gbapal.lz"); + const u8 gMonIcon_TaurosPaldeaAqua[] = INCBIN_U8("graphics/pokemon/tauros/paldea_aqua/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_TaurosPaldeanCombatBreed[] = INCBIN_COMP("graphics/pokemon/tauros/paldean_combat_breed/overworld.4bpp"); - const u32 gObjectEventPic_TaurosPaldeanBlazeBreed[] = INCBIN_COMP("graphics/pokemon/tauros/paldean_blaze_breed/overworld.4bpp"); - const u32 gObjectEventPic_TaurosPaldeanAquaBreed[] = INCBIN_COMP("graphics/pokemon/tauros/paldean_aqua_breed/overworld.4bpp"); + const u32 gObjectEventPic_TaurosPaldeaCombat[] = INCBIN_COMP("graphics/pokemon/tauros/paldea_combat/overworld.4bpp"); + const u32 gObjectEventPic_TaurosPaldeaBlaze[] = INCBIN_COMP("graphics/pokemon/tauros/paldea_blaze/overworld.4bpp"); + const u32 gObjectEventPic_TaurosPaldeaAqua[] = INCBIN_COMP("graphics/pokemon/tauros/paldea_aqua/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_TaurosPaldeanCombatBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_combat_breed/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_TaurosPaldeanBlazeBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_blaze_breed/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_TaurosPaldeanAquaBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_aqua_breed/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_TaurosPaldeanCombatBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_combat_breed/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_TaurosPaldeanBlazeBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_blaze_breed/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_TaurosPaldeanAquaBreed[] = INCBIN_U32("graphics/pokemon/tauros/paldean_aqua_breed/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_TaurosPaldeaCombat[] = INCBIN_U32("graphics/pokemon/tauros/paldea_combat/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_TaurosPaldeaBlaze[] = INCBIN_U32("graphics/pokemon/tauros/paldea_blaze/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_TaurosPaldeaAqua[] = INCBIN_U32("graphics/pokemon/tauros/paldea_aqua/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_TaurosPaldeaCombat[] = INCBIN_U32("graphics/pokemon/tauros/paldea_combat/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_TaurosPaldeaBlaze[] = INCBIN_U32("graphics/pokemon/tauros/paldea_blaze/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_TaurosPaldeaAqua[] = INCBIN_U32("graphics/pokemon/tauros/paldea_aqua/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_PALDEAN_FORMS #endif //P_FAMILY_TAUROS #if P_FAMILY_MAGIKARP +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/anim_front.4bpp.lz"); const u32 gMonPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/normal.gbapal.lz"); const u32 gMonBackPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/back.4bpp.lz"); const u32 gMonShinyPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Magikarp[] = INCBIN_U8("graphics/pokemon/magikarp/icon.4bpp"); +#else + const u8 gMonIcon_Magikarp[] = INCBIN_U8("graphics/pokemon/magikarp/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Magikarp[] = INCBIN_U8("graphics/pokemon/magikarp/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3722,14 +5446,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_MagikarpF[] = INCBIN_U32("graphics/pokemon/magikarp/anim_frontf.4bpp.lz"); const u32 gMonBackPic_MagikarpF[] = INCBIN_U32("graphics/pokemon/magikarp/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_MagikarpF[] = INCBIN_COMP("graphics/pokemon/magikarp/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/anim_front.4bpp.lz"); const u32 gMonPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/normal.gbapal.lz"); const u32 gMonBackPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/back.4bpp.lz"); const u32 gMonShinyPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Gyarados[] = INCBIN_U8("graphics/pokemon/gyarados/icon.4bpp"); +#else + const u8 gMonIcon_Gyarados[] = INCBIN_U8("graphics/pokemon/gyarados/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Gyarados[] = INCBIN_U8("graphics/pokemon/gyarados/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3741,8 +5481,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_GyaradosF[] = INCBIN_U32("graphics/pokemon/gyarados/anim_frontf.4bpp.lz"); const u32 gMonBackPic_GyaradosF[] = INCBIN_U32("graphics/pokemon/gyarados/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_GyaradosF[] = INCBIN_COMP("graphics/pokemon/gyarados/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS const u32 gMonFrontPic_GyaradosMega[] = INCBIN_U32("graphics/pokemon/gyarados/mega/front.4bpp.lz"); @@ -3761,11 +5506,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_MAGIKARP #if P_FAMILY_LAPRAS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/anim_front.4bpp.lz"); const u32 gMonPalette_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/normal.gbapal.lz"); const u32 gMonBackPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/back.4bpp.lz"); const u32 gMonShinyPalette_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Lapras[] = INCBIN_U8("graphics/pokemon/lapras/icon.4bpp"); +#else + const u8 gMonIcon_Lapras[] = INCBIN_U8("graphics/pokemon/lapras/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Lapras[] = INCBIN_U8("graphics/pokemon/lapras/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3778,27 +5534,38 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_LaprasGigantamax[] = INCBIN_U32("graphics/pokemon/lapras/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_LaprasGigantamax[] = INCBIN_U32("graphics/pokemon/lapras/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_LaprasGigantamax[] = INCBIN_U32("graphics/pokemon/lapras/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_LaprasGigantamax[] = INCBIN_U32("graphics/pokemon/lapras/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_LaprasGigantamax[] = INCBIN_U8("graphics/pokemon/lapras/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_LaprasGmax[] = INCBIN_U32("graphics/pokemon/lapras/gmax/front.4bpp.lz"); + const u32 gMonBackPic_LaprasGmax[] = INCBIN_U32("graphics/pokemon/lapras/gmax/back.4bpp.lz"); + const u32 gMonPalette_LaprasGmax[] = INCBIN_U32("graphics/pokemon/lapras/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_LaprasGmax[] = INCBIN_U32("graphics/pokemon/lapras/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_LaprasGmax[] = INCBIN_U8("graphics/pokemon/lapras/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_LaprasGigantamax[] = INCBIN_COMP("graphics/pokemon/lapras/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_LaprasGmax[] = INCBIN_COMP("graphics/pokemon/lapras/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_LaprasGigantamax[] = INCBIN_U32("graphics/pokemon/lapras/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_LaprasGigantamax[] = INCBIN_U32("graphics/pokemon/lapras/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_LaprasGmax[] = INCBIN_U32("graphics/pokemon/lapras/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_LaprasGmax[] = INCBIN_U32("graphics/pokemon/lapras/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_LAPRAS #if P_FAMILY_DITTO +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/anim_front.4bpp.lz"); const u32 gMonPalette_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/normal.gbapal.lz"); const u32 gMonBackPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/back.4bpp.lz"); const u32 gMonShinyPalette_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Ditto[] = INCBIN_U8("graphics/pokemon/ditto/icon.4bpp"); +#else + const u8 gMonIcon_Ditto[] = INCBIN_U8("graphics/pokemon/ditto/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Ditto[] = INCBIN_U8("graphics/pokemon/ditto/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3812,11 +5579,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_DITTO #if P_FAMILY_EEVEE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/anim_front.4bpp.lz"); const u32 gMonPalette_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/normal.gbapal.lz"); const u32 gMonBackPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/back.4bpp.lz"); const u32 gMonShinyPalette_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Eevee[] = INCBIN_U8("graphics/pokemon/eevee/icon.4bpp"); +#else + const u8 gMonIcon_Eevee[] = INCBIN_U8("graphics/pokemon/eevee/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Eevee[] = INCBIN_U8("graphics/pokemon/eevee/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3828,34 +5606,50 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_EeveeF[] = INCBIN_U32("graphics/pokemon/eevee/anim_frontf.4bpp.lz"); const u32 gMonBackPic_EeveeF[] = INCBIN_U32("graphics/pokemon/eevee/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_EeveeF[] = INCBIN_COMP("graphics/pokemon/eevee/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_EeveeGigantamax[] = INCBIN_U32("graphics/pokemon/eevee/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_EeveeGigantamax[] = INCBIN_U32("graphics/pokemon/eevee/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_EeveeGigantamax[] = INCBIN_U32("graphics/pokemon/eevee/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_EeveeGigantamax[] = INCBIN_U32("graphics/pokemon/eevee/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_EeveeGigantamax[] = INCBIN_U8("graphics/pokemon/eevee/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_EeveeGmax[] = INCBIN_U32("graphics/pokemon/eevee/gmax/front.4bpp.lz"); + const u32 gMonBackPic_EeveeGmax[] = INCBIN_U32("graphics/pokemon/eevee/gmax/back.4bpp.lz"); + const u32 gMonPalette_EeveeGmax[] = INCBIN_U32("graphics/pokemon/eevee/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_EeveeGmax[] = INCBIN_U32("graphics/pokemon/eevee/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_EeveeGmax[] = INCBIN_U8("graphics/pokemon/eevee/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_EeveeGigantamax[] = INCBIN_COMP("graphics/pokemon/eevee/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_EeveeGmax[] = INCBIN_COMP("graphics/pokemon/eevee/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_EeveeGigantamax[] = INCBIN_U32("graphics/pokemon/eevee/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_EeveeGigantamax[] = INCBIN_U32("graphics/pokemon/eevee/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_EeveeGmax[] = INCBIN_U32("graphics/pokemon/eevee/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_EeveeGmax[] = INCBIN_U32("graphics/pokemon/eevee/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS const u8 gMonIcon_EeveePartner[] = INCBIN_U8("graphics/pokemon/eevee/partner/icon.4bpp"); - #if P_CUSTOM_GENDER_DIFF_ICONS - const u8 gMonIcon_EeveePartnerF[] = INCBIN_U8("graphics/pokemon/eevee/partner/iconf.4bpp"); - #endif +#if P_GENDER_DIFFERENCES && P_CUSTOM_GENDER_DIFF_ICONS + const u8 gMonIcon_EeveePartnerF[] = INCBIN_U8("graphics/pokemon/eevee/partner/iconf.4bpp"); +#endif //P_GENDER_DIFFERENCES && P_CUSTOM_GENDER_DIFF_ICONS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/anim_front.4bpp.lz"); const u32 gMonPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/normal.gbapal.lz"); const u32 gMonBackPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/back.4bpp.lz"); const u32 gMonShinyPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Vaporeon[] = INCBIN_U8("graphics/pokemon/vaporeon/icon.4bpp"); +#else + const u8 gMonIcon_Vaporeon[] = INCBIN_U8("graphics/pokemon/vaporeon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Vaporeon[] = INCBIN_U8("graphics/pokemon/vaporeon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3867,11 +5661,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/anim_front.4bpp.lz"); const u32 gMonPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/normal.gbapal.lz"); const u32 gMonBackPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/back.4bpp.lz"); const u32 gMonShinyPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Jolteon[] = INCBIN_U8("graphics/pokemon/jolteon/icon.4bpp"); +#else + const u8 gMonIcon_Jolteon[] = INCBIN_U8("graphics/pokemon/jolteon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Jolteon[] = INCBIN_U8("graphics/pokemon/jolteon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3883,11 +5688,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/anim_front.4bpp.lz"); const u32 gMonPalette_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/normal.gbapal.lz"); const u32 gMonBackPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/back.4bpp.lz"); const u32 gMonShinyPalette_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Flareon[] = INCBIN_U8("graphics/pokemon/flareon/icon.4bpp"); +#else + const u8 gMonIcon_Flareon[] = INCBIN_U8("graphics/pokemon/flareon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Flareon[] = INCBIN_U8("graphics/pokemon/flareon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3900,11 +5716,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/anim_front.4bpp.lz"); const u32 gMonPalette_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/normal.gbapal.lz"); const u32 gMonBackPic_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/back.4bpp.lz"); const u32 gMonShinyPalette_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Espeon[] = INCBIN_U8("graphics/pokemon/espeon/icon.4bpp"); +#else + const u8 gMonIcon_Espeon[] = INCBIN_U8("graphics/pokemon/espeon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Espeon[] = INCBIN_U8("graphics/pokemon/espeon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3916,11 +5743,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/anim_front.4bpp.lz"); const u32 gMonPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/normal.gbapal.lz"); const u32 gMonBackPic_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/back.4bpp.lz"); const u32 gMonShinyPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Umbreon[] = INCBIN_U8("graphics/pokemon/umbreon/icon.4bpp"); +#else + const u8 gMonIcon_Umbreon[] = INCBIN_U8("graphics/pokemon/umbreon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Umbreon[] = INCBIN_U8("graphics/pokemon/umbreon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -3987,11 +5825,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_EEVEE #if P_FAMILY_PORYGON +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/anim_front.4bpp.lz"); const u32 gMonPalette_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/normal.gbapal.lz"); const u32 gMonBackPic_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/back.4bpp.lz"); const u32 gMonShinyPalette_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Porygon[] = INCBIN_U8("graphics/pokemon/porygon/icon.4bpp"); +#else + const u8 gMonIcon_Porygon[] = INCBIN_U8("graphics/pokemon/porygon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Porygon[] = INCBIN_U8("graphics/pokemon/porygon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4004,11 +5853,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GEN_2_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/anim_front.4bpp.lz"); const u32 gMonPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/normal.gbapal.lz"); const u32 gMonBackPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/back.4bpp.lz"); const u32 gMonShinyPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Porygon2[] = INCBIN_U8("graphics/pokemon/porygon2/icon.4bpp"); +#else + const u8 gMonIcon_Porygon2[] = INCBIN_U8("graphics/pokemon/porygon2/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Porygon2[] = INCBIN_U8("graphics/pokemon/porygon2/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4041,11 +5901,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_PORYGON #if P_FAMILY_OMANYTE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/anim_front.4bpp.lz"); const u32 gMonPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/normal.gbapal.lz"); const u32 gMonBackPic_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/back.4bpp.lz"); const u32 gMonShinyPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Omanyte[] = INCBIN_U8("graphics/pokemon/omanyte/icon.4bpp"); +#else + const u8 gMonIcon_Omanyte[] = INCBIN_U8("graphics/pokemon/omanyte/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Omanyte[] = INCBIN_U8("graphics/pokemon/omanyte/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4057,11 +5928,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/anim_front.4bpp.lz"); const u32 gMonPalette_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/normal.gbapal.lz"); const u32 gMonBackPic_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/back.4bpp.lz"); const u32 gMonShinyPalette_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Omastar[] = INCBIN_U8("graphics/pokemon/omastar/icon.4bpp"); +#else + const u8 gMonIcon_Omastar[] = INCBIN_U8("graphics/pokemon/omastar/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Omastar[] = INCBIN_U8("graphics/pokemon/omastar/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4075,11 +5957,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_OMANYTE #if P_FAMILY_KABUTO +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/anim_front.4bpp.lz"); const u32 gMonPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/normal.gbapal.lz"); const u32 gMonBackPic_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/back.4bpp.lz"); const u32 gMonShinyPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Kabuto[] = INCBIN_U8("graphics/pokemon/kabuto/icon.4bpp"); +#else + const u8 gMonIcon_Kabuto[] = INCBIN_U8("graphics/pokemon/kabuto/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Kabuto[] = INCBIN_U8("graphics/pokemon/kabuto/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4091,11 +5984,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/anim_front.4bpp.lz"); const u32 gMonPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/normal.gbapal.lz"); const u32 gMonBackPic_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/back.4bpp.lz"); const u32 gMonShinyPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Kabutops[] = INCBIN_U8("graphics/pokemon/kabutops/icon.4bpp"); +#else + const u8 gMonIcon_Kabutops[] = INCBIN_U8("graphics/pokemon/kabutops/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Kabutops[] = INCBIN_U8("graphics/pokemon/kabutops/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4109,11 +6013,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_KABUTO #if P_FAMILY_AERODACTYL +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/anim_front.4bpp.lz"); const u32 gMonPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/normal.gbapal.lz"); const u32 gMonBackPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/back.4bpp.lz"); const u32 gMonShinyPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Aerodactyl[] = INCBIN_U8("graphics/pokemon/aerodactyl/icon.4bpp"); +#else + const u8 gMonIcon_Aerodactyl[] = INCBIN_U8("graphics/pokemon/aerodactyl/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Aerodactyl[] = INCBIN_U8("graphics/pokemon/aerodactyl/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4160,11 +6075,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_4_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/anim_front.4bpp.lz"); const u32 gMonPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/normal.gbapal.lz"); const u32 gMonBackPic_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/back.4bpp.lz"); const u32 gMonShinyPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Snorlax[] = INCBIN_U8("graphics/pokemon/snorlax/icon.4bpp"); +#else + const u8 gMonIcon_Snorlax[] = INCBIN_U8("graphics/pokemon/snorlax/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Snorlax[] = INCBIN_U8("graphics/pokemon/snorlax/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4177,27 +6103,38 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_SnorlaxGigantamax[] = INCBIN_U32("graphics/pokemon/snorlax/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_SnorlaxGigantamax[] = INCBIN_U32("graphics/pokemon/snorlax/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_SnorlaxGigantamax[] = INCBIN_U32("graphics/pokemon/snorlax/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_SnorlaxGigantamax[] = INCBIN_U32("graphics/pokemon/snorlax/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_SnorlaxGigantamax[] = INCBIN_U8("graphics/pokemon/snorlax/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_SnorlaxGmax[] = INCBIN_U32("graphics/pokemon/snorlax/gmax/front.4bpp.lz"); + const u32 gMonBackPic_SnorlaxGmax[] = INCBIN_U32("graphics/pokemon/snorlax/gmax/back.4bpp.lz"); + const u32 gMonPalette_SnorlaxGmax[] = INCBIN_U32("graphics/pokemon/snorlax/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_SnorlaxGmax[] = INCBIN_U32("graphics/pokemon/snorlax/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_SnorlaxGmax[] = INCBIN_U8("graphics/pokemon/snorlax/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_SnorlaxGigantamax[] = INCBIN_COMP("graphics/pokemon/snorlax/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_SnorlaxGmax[] = INCBIN_COMP("graphics/pokemon/snorlax/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_SnorlaxGigantamax[] = INCBIN_U32("graphics/pokemon/snorlax/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_SnorlaxGigantamax[] = INCBIN_U32("graphics/pokemon/snorlax/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_SnorlaxGmax[] = INCBIN_U32("graphics/pokemon/snorlax/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_SnorlaxGmax[] = INCBIN_U32("graphics/pokemon/snorlax/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SNORLAX #if P_FAMILY_ARTICUNO +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/anim_front.4bpp.lz"); const u32 gMonPalette_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/normal.gbapal.lz"); const u32 gMonBackPic_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/back.4bpp.lz"); const u32 gMonShinyPalette_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Articuno[] = INCBIN_U8("graphics/pokemon/articuno/icon.4bpp"); +#else + const u8 gMonIcon_Articuno[] = INCBIN_U8("graphics/pokemon/articuno/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Articuno[] = INCBIN_U8("graphics/pokemon/articuno/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4210,27 +6147,38 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GALARIAN_FORMS - const u32 gMonFrontPic_ArticunoGalarian[] = INCBIN_U32("graphics/pokemon/articuno/galarian/front.4bpp.lz"); - const u32 gMonPalette_ArticunoGalarian[] = INCBIN_U32("graphics/pokemon/articuno/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_ArticunoGalarian[] = INCBIN_U32("graphics/pokemon/articuno/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_ArticunoGalarian[] = INCBIN_U32("graphics/pokemon/articuno/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_ArticunoGalarian[] = INCBIN_U8("graphics/pokemon/articuno/galarian/icon.4bpp"); + const u32 gMonFrontPic_ArticunoGalar[] = INCBIN_U32("graphics/pokemon/articuno/galar/front.4bpp.lz"); + const u32 gMonPalette_ArticunoGalar[] = INCBIN_U32("graphics/pokemon/articuno/galar/normal.gbapal.lz"); + const u32 gMonBackPic_ArticunoGalar[] = INCBIN_U32("graphics/pokemon/articuno/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_ArticunoGalar[] = INCBIN_U32("graphics/pokemon/articuno/galar/shiny.gbapal.lz"); + const u8 gMonIcon_ArticunoGalar[] = INCBIN_U8("graphics/pokemon/articuno/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_ArticunoGalarian[] = INCBIN_COMP("graphics/pokemon/articuno/galarian/overworld.4bpp"); + const u32 gObjectEventPic_ArticunoGalar[] = INCBIN_COMP("graphics/pokemon/articuno/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_ArticunoGalarian[] = INCBIN_U32("graphics/pokemon/articuno/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_ArticunoGalarian[] = INCBIN_U32("graphics/pokemon/articuno/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_ArticunoGalar[] = INCBIN_U32("graphics/pokemon/articuno/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_ArticunoGalar[] = INCBIN_U32("graphics/pokemon/articuno/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GALARIAN_FORMS #endif //P_FAMILY_ARTICUNO #if P_FAMILY_ZAPDOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/anim_front.4bpp.lz"); const u32 gMonPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/normal.gbapal.lz"); const u32 gMonBackPic_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/back.4bpp.lz"); const u32 gMonShinyPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Zapdos[] = INCBIN_U8("graphics/pokemon/zapdos/icon.4bpp"); +#else + const u8 gMonIcon_Zapdos[] = INCBIN_U8("graphics/pokemon/zapdos/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Zapdos[] = INCBIN_U8("graphics/pokemon/zapdos/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4243,27 +6191,38 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GALARIAN_FORMS - const u32 gMonFrontPic_ZapdosGalarian[] = INCBIN_U32("graphics/pokemon/zapdos/galarian/front.4bpp.lz"); - const u32 gMonPalette_ZapdosGalarian[] = INCBIN_U32("graphics/pokemon/zapdos/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_ZapdosGalarian[] = INCBIN_U32("graphics/pokemon/zapdos/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_ZapdosGalarian[] = INCBIN_U32("graphics/pokemon/zapdos/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_ZapdosGalarian[] = INCBIN_U8("graphics/pokemon/zapdos/galarian/icon.4bpp"); + const u32 gMonFrontPic_ZapdosGalar[] = INCBIN_U32("graphics/pokemon/zapdos/galar/front.4bpp.lz"); + const u32 gMonPalette_ZapdosGalar[] = INCBIN_U32("graphics/pokemon/zapdos/galar/normal.gbapal.lz"); + const u32 gMonBackPic_ZapdosGalar[] = INCBIN_U32("graphics/pokemon/zapdos/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_ZapdosGalar[] = INCBIN_U32("graphics/pokemon/zapdos/galar/shiny.gbapal.lz"); + const u8 gMonIcon_ZapdosGalar[] = INCBIN_U8("graphics/pokemon/zapdos/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_ZapdosGalarian[] = INCBIN_COMP("graphics/pokemon/zapdos/galarian/overworld.4bpp"); + const u32 gObjectEventPic_ZapdosGalar[] = INCBIN_COMP("graphics/pokemon/zapdos/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_ZapdosGalarian[] = INCBIN_U32("graphics/pokemon/zapdos/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_ZapdosGalarian[] = INCBIN_U32("graphics/pokemon/zapdos/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_ZapdosGalar[] = INCBIN_U32("graphics/pokemon/zapdos/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_ZapdosGalar[] = INCBIN_U32("graphics/pokemon/zapdos/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GALARIAN_FORMS #endif //P_FAMILY_ZAPDOS #if P_FAMILY_MOLTRES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/anim_front.4bpp.lz"); const u32 gMonPalette_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/normal.gbapal.lz"); const u32 gMonBackPic_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/back.4bpp.lz"); const u32 gMonShinyPalette_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Moltres[] = INCBIN_U8("graphics/pokemon/moltres/icon.4bpp"); +#else + const u8 gMonIcon_Moltres[] = INCBIN_U8("graphics/pokemon/moltres/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Moltres[] = INCBIN_U8("graphics/pokemon/moltres/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4276,27 +6235,38 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GALARIAN_FORMS - const u32 gMonFrontPic_MoltresGalarian[] = INCBIN_U32("graphics/pokemon/moltres/galarian/front.4bpp.lz"); - const u32 gMonPalette_MoltresGalarian[] = INCBIN_U32("graphics/pokemon/moltres/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_MoltresGalarian[] = INCBIN_U32("graphics/pokemon/moltres/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_MoltresGalarian[] = INCBIN_U32("graphics/pokemon/moltres/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_MoltresGalarian[] = INCBIN_U8("graphics/pokemon/moltres/galarian/icon.4bpp"); + const u32 gMonFrontPic_MoltresGalar[] = INCBIN_U32("graphics/pokemon/moltres/galar/front.4bpp.lz"); + const u32 gMonPalette_MoltresGalar[] = INCBIN_U32("graphics/pokemon/moltres/galar/normal.gbapal.lz"); + const u32 gMonBackPic_MoltresGalar[] = INCBIN_U32("graphics/pokemon/moltres/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_MoltresGalar[] = INCBIN_U32("graphics/pokemon/moltres/galar/shiny.gbapal.lz"); + const u8 gMonIcon_MoltresGalar[] = INCBIN_U8("graphics/pokemon/moltres/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_MoltresGalarian[] = INCBIN_COMP("graphics/pokemon/moltres/galarian/overworld.4bpp"); + const u32 gObjectEventPic_MoltresGalar[] = INCBIN_COMP("graphics/pokemon/moltres/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_MoltresGalarian[] = INCBIN_U32("graphics/pokemon/moltres/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_MoltresGalarian[] = INCBIN_U32("graphics/pokemon/moltres/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_MoltresGalar[] = INCBIN_U32("graphics/pokemon/moltres/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_MoltresGalar[] = INCBIN_U32("graphics/pokemon/moltres/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GALARIAN_FORMS #endif //P_FAMILY_MOLTRES #if P_FAMILY_DRATINI +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/anim_front.4bpp.lz"); const u32 gMonPalette_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/normal.gbapal.lz"); const u32 gMonBackPic_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/back.4bpp.lz"); const u32 gMonShinyPalette_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Dratini[] = INCBIN_U8("graphics/pokemon/dratini/icon.4bpp"); +#else + const u8 gMonIcon_Dratini[] = INCBIN_U8("graphics/pokemon/dratini/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Dratini[] = INCBIN_U8("graphics/pokemon/dratini/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4308,11 +6278,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/anim_front.4bpp.lz"); const u32 gMonPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/normal.gbapal.lz"); const u32 gMonBackPic_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/back.4bpp.lz"); const u32 gMonShinyPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Dragonair[] = INCBIN_U8("graphics/pokemon/dragonair/icon.4bpp"); +#else + const u8 gMonIcon_Dragonair[] = INCBIN_U8("graphics/pokemon/dragonair/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Dragonair[] = INCBIN_U8("graphics/pokemon/dragonair/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4324,11 +6305,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/anim_front.4bpp.lz"); const u32 gMonPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/normal.gbapal.lz"); const u32 gMonBackPic_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/back.4bpp.lz"); const u32 gMonShinyPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Dragonite[] = INCBIN_U8("graphics/pokemon/dragonite/icon.4bpp"); +#else + const u8 gMonIcon_Dragonite[] = INCBIN_U8("graphics/pokemon/dragonite/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Dragonite[] = INCBIN_U8("graphics/pokemon/dragonite/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4342,11 +6334,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_DRATINI #if P_FAMILY_MEWTWO +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/anim_front.4bpp.lz"); const u32 gMonPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/normal.gbapal.lz"); const u32 gMonBackPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/back.4bpp.lz"); const u32 gMonShinyPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Mewtwo[] = INCBIN_U8("graphics/pokemon/mewtwo/icon.4bpp"); +#else + const u8 gMonIcon_Mewtwo[] = INCBIN_U8("graphics/pokemon/mewtwo/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Mewtwo[] = INCBIN_U8("graphics/pokemon/mewtwo/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4388,11 +6391,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_MEWTWO #if P_FAMILY_MEW +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Mew[] = INCBIN_U32("graphics/pokemon/mew/anim_front.4bpp.lz"); const u32 gMonPalette_Mew[] = INCBIN_U32("graphics/pokemon/mew/normal.gbapal.lz"); const u32 gMonBackPic_Mew[] = INCBIN_U32("graphics/pokemon/mew/back.4bpp.lz"); const u32 gMonShinyPalette_Mew[] = INCBIN_U32("graphics/pokemon/mew/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Mew[] = INCBIN_U32("graphics/pokemon/mew/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Mew[] = INCBIN_U32("graphics/pokemon/mew/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Mew[] = INCBIN_U32("graphics/pokemon/mew/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Mew[] = INCBIN_U32("graphics/pokemon/mew/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Mew[] = INCBIN_U8("graphics/pokemon/mew/icon.4bpp"); +#else + const u8 gMonIcon_Mew[] = INCBIN_U8("graphics/pokemon/mew/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Mew[] = INCBIN_U8("graphics/pokemon/mew/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4406,11 +6420,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_MEW #if P_FAMILY_CHIKORITA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/anim_front.4bpp.lz"); const u32 gMonPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/normal.gbapal.lz"); const u32 gMonBackPic_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/back.4bpp.lz"); const u32 gMonShinyPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Chikorita[] = INCBIN_U8("graphics/pokemon/chikorita/icon.4bpp"); +#else + const u8 gMonIcon_Chikorita[] = INCBIN_U8("graphics/pokemon/chikorita/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Chikorita[] = INCBIN_U8("graphics/pokemon/chikorita/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4422,11 +6447,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/anim_front.4bpp.lz"); const u32 gMonPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/normal.gbapal.lz"); const u32 gMonBackPic_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/back.4bpp.lz"); const u32 gMonShinyPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Bayleef[] = INCBIN_U8("graphics/pokemon/bayleef/icon.4bpp"); +#else + const u8 gMonIcon_Bayleef[] = INCBIN_U8("graphics/pokemon/bayleef/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Bayleef[] = INCBIN_U8("graphics/pokemon/bayleef/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4438,11 +6474,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/anim_front.4bpp.lz"); const u32 gMonPalette_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/normal.gbapal.lz"); const u32 gMonBackPic_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/back.4bpp.lz"); const u32 gMonShinyPalette_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Meganium[] = INCBIN_U8("graphics/pokemon/meganium/icon.4bpp"); +#else + const u8 gMonIcon_Meganium[] = INCBIN_U8("graphics/pokemon/meganium/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Meganium[] = INCBIN_U8("graphics/pokemon/meganium/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4454,16 +6501,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_MeganiumF[] = INCBIN_U32("graphics/pokemon/meganium/anim_frontf.4bpp.lz"); const u32 gMonBackPic_MeganiumF[] = INCBIN_U32("graphics/pokemon/meganium/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_MeganiumF[] = INCBIN_COMP("graphics/pokemon/meganium/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_CHIKORITA #if P_FAMILY_CYNDAQUIL +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/anim_front.4bpp.lz"); const u32 gMonPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/normal.gbapal.lz"); const u32 gMonBackPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/back.4bpp.lz"); const u32 gMonShinyPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Cyndaquil[] = INCBIN_U8("graphics/pokemon/cyndaquil/icon.4bpp"); +#else + const u8 gMonIcon_Cyndaquil[] = INCBIN_U8("graphics/pokemon/cyndaquil/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Cyndaquil[] = INCBIN_U8("graphics/pokemon/cyndaquil/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4475,11 +6538,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/anim_front.4bpp.lz"); const u32 gMonPalette_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/normal.gbapal.lz"); const u32 gMonBackPic_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/back.4bpp.lz"); const u32 gMonShinyPalette_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Quilava[] = INCBIN_U8("graphics/pokemon/quilava/icon.4bpp"); +#else + const u8 gMonIcon_Quilava[] = INCBIN_U8("graphics/pokemon/quilava/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Quilava[] = INCBIN_U8("graphics/pokemon/quilava/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4491,11 +6565,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/anim_front.4bpp.lz"); const u32 gMonPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/normal.gbapal.lz"); const u32 gMonBackPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/back.4bpp.lz"); const u32 gMonShinyPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Typhlosion[] = INCBIN_U8("graphics/pokemon/typhlosion/icon.4bpp"); +#else + const u8 gMonIcon_Typhlosion[] = INCBIN_U8("graphics/pokemon/typhlosion/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Typhlosion[] = INCBIN_U8("graphics/pokemon/typhlosion/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4508,27 +6593,38 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_HISUIAN_FORMS - const u32 gMonFrontPic_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/front.4bpp.lz"); - const u32 gMonPalette_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/normal.gbapal.lz"); - const u32 gMonBackPic_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/back.4bpp.lz"); - const u32 gMonShinyPalette_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/shiny.gbapal.lz"); - const u8 gMonIcon_TyphlosionHisuian[] = INCBIN_U8("graphics/pokemon/typhlosion/hisuian/icon.4bpp"); + const u32 gMonFrontPic_TyphlosionHisui[] = INCBIN_U32("graphics/pokemon/typhlosion/hisui/front.4bpp.lz"); + const u32 gMonPalette_TyphlosionHisui[] = INCBIN_U32("graphics/pokemon/typhlosion/hisui/normal.gbapal.lz"); + const u32 gMonBackPic_TyphlosionHisui[] = INCBIN_U32("graphics/pokemon/typhlosion/hisui/back.4bpp.lz"); + const u32 gMonShinyPalette_TyphlosionHisui[] = INCBIN_U32("graphics/pokemon/typhlosion/hisui/shiny.gbapal.lz"); + const u8 gMonIcon_TyphlosionHisui[] = INCBIN_U8("graphics/pokemon/typhlosion/hisui/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_TyphlosionHisuian[] = INCBIN_COMP("graphics/pokemon/typhlosion/hisuian/overworld.4bpp"); + const u32 gObjectEventPic_TyphlosionHisui[] = INCBIN_COMP("graphics/pokemon/typhlosion/hisui/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_TyphlosionHisui[] = INCBIN_U32("graphics/pokemon/typhlosion/hisui/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_TyphlosionHisui[] = INCBIN_U32("graphics/pokemon/typhlosion/hisui/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_HISUIAN_FORMS #endif //P_FAMILY_CYNDAQUIL #if P_FAMILY_TOTODILE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/anim_front.4bpp.lz"); const u32 gMonPalette_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/normal.gbapal.lz"); const u32 gMonBackPic_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/back.4bpp.lz"); const u32 gMonShinyPalette_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Totodile[] = INCBIN_U8("graphics/pokemon/totodile/icon.4bpp"); +#else + const u8 gMonIcon_Totodile[] = INCBIN_U8("graphics/pokemon/totodile/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Totodile[] = INCBIN_U8("graphics/pokemon/totodile/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4540,11 +6636,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/anim_front.4bpp.lz"); const u32 gMonPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/normal.gbapal.lz"); const u32 gMonBackPic_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/back.4bpp.lz"); const u32 gMonShinyPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Croconaw[] = INCBIN_U8("graphics/pokemon/croconaw/icon.4bpp"); +#else + const u8 gMonIcon_Croconaw[] = INCBIN_U8("graphics/pokemon/croconaw/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Croconaw[] = INCBIN_U8("graphics/pokemon/croconaw/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4556,11 +6663,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/anim_front.4bpp.lz"); const u32 gMonPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/normal.gbapal.lz"); const u32 gMonBackPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/back.4bpp.lz"); const u32 gMonShinyPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Feraligatr[] = INCBIN_U8("graphics/pokemon/feraligatr/icon.4bpp"); +#else + const u8 gMonIcon_Feraligatr[] = INCBIN_U8("graphics/pokemon/feraligatr/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Feraligatr[] = INCBIN_U8("graphics/pokemon/feraligatr/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4574,11 +6692,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_TOTODILE #if P_FAMILY_SENTRET +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/anim_front.4bpp.lz"); const u32 gMonPalette_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/normal.gbapal.lz"); const u32 gMonBackPic_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/back.4bpp.lz"); const u32 gMonShinyPalette_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Sentret[] = INCBIN_U8("graphics/pokemon/sentret/icon.4bpp"); +#else + const u8 gMonIcon_Sentret[] = INCBIN_U8("graphics/pokemon/sentret/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Sentret[] = INCBIN_U8("graphics/pokemon/sentret/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4590,11 +6719,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Furret[] = INCBIN_U32("graphics/pokemon/furret/anim_front.4bpp.lz"); const u32 gMonPalette_Furret[] = INCBIN_U32("graphics/pokemon/furret/normal.gbapal.lz"); const u32 gMonBackPic_Furret[] = INCBIN_U32("graphics/pokemon/furret/back.4bpp.lz"); const u32 gMonShinyPalette_Furret[] = INCBIN_U32("graphics/pokemon/furret/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Furret[] = INCBIN_U32("graphics/pokemon/furret/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Furret[] = INCBIN_U32("graphics/pokemon/furret/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Furret[] = INCBIN_U32("graphics/pokemon/furret/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Furret[] = INCBIN_U32("graphics/pokemon/furret/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Furret[] = INCBIN_U8("graphics/pokemon/furret/icon.4bpp"); +#else + const u8 gMonIcon_Furret[] = INCBIN_U8("graphics/pokemon/furret/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Furret[] = INCBIN_U8("graphics/pokemon/furret/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4608,11 +6748,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SENTRET #if P_FAMILY_HOOTHOOT +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/anim_front.4bpp.lz"); const u32 gMonPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/normal.gbapal.lz"); const u32 gMonBackPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/back.4bpp.lz"); const u32 gMonShinyPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Hoothoot[] = INCBIN_U8("graphics/pokemon/hoothoot/icon.4bpp"); +#else + const u8 gMonIcon_Hoothoot[] = INCBIN_U8("graphics/pokemon/hoothoot/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Hoothoot[] = INCBIN_U8("graphics/pokemon/hoothoot/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4624,11 +6775,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/anim_front.4bpp.lz"); const u32 gMonPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/normal.gbapal.lz"); const u32 gMonBackPic_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/back.4bpp.lz"); const u32 gMonShinyPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Noctowl[] = INCBIN_U8("graphics/pokemon/noctowl/icon.4bpp"); +#else + const u8 gMonIcon_Noctowl[] = INCBIN_U8("graphics/pokemon/noctowl/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Noctowl[] = INCBIN_U8("graphics/pokemon/noctowl/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4642,11 +6804,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_HOOTHOOT #if P_FAMILY_LEDYBA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/anim_front.4bpp.lz"); const u32 gMonPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/normal.gbapal.lz"); const u32 gMonBackPic_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/back.4bpp.lz"); const u32 gMonShinyPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Ledyba[] = INCBIN_U8("graphics/pokemon/ledyba/icon.4bpp"); +#else + const u8 gMonIcon_Ledyba[] = INCBIN_U8("graphics/pokemon/ledyba/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Ledyba[] = INCBIN_U8("graphics/pokemon/ledyba/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4658,14 +6831,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_LedybaF[] = INCBIN_U32("graphics/pokemon/ledyba/anim_frontf.4bpp.lz"); const u32 gMonBackPic_LedybaF[] = INCBIN_U32("graphics/pokemon/ledyba/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_LedybaF[] = INCBIN_COMP("graphics/pokemon/ledyba/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/anim_front.4bpp.lz"); const u32 gMonPalette_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/normal.gbapal.lz"); const u32 gMonBackPic_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/back.4bpp.lz"); const u32 gMonShinyPalette_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Ledian[] = INCBIN_U8("graphics/pokemon/ledian/icon.4bpp"); +#else + const u8 gMonIcon_Ledian[] = INCBIN_U8("graphics/pokemon/ledian/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Ledian[] = INCBIN_U8("graphics/pokemon/ledian/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4677,16 +6866,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_LedianF[] = INCBIN_U32("graphics/pokemon/ledian/anim_frontf.4bpp.lz"); const u32 gMonBackPic_LedianF[] = INCBIN_U32("graphics/pokemon/ledian/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_LedianF[] = INCBIN_COMP("graphics/pokemon/ledian/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_LEDYBA #if P_FAMILY_SPINARAK +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/anim_front.4bpp.lz"); const u32 gMonPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/normal.gbapal.lz"); const u32 gMonBackPic_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/back.4bpp.lz"); const u32 gMonShinyPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Spinarak[] = INCBIN_U8("graphics/pokemon/spinarak/icon.4bpp"); +#else + const u8 gMonIcon_Spinarak[] = INCBIN_U8("graphics/pokemon/spinarak/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Spinarak[] = INCBIN_U8("graphics/pokemon/spinarak/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4698,11 +6903,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/anim_front.4bpp.lz"); const u32 gMonPalette_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/normal.gbapal.lz"); const u32 gMonBackPic_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/back.4bpp.lz"); const u32 gMonShinyPalette_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Ariados[] = INCBIN_U8("graphics/pokemon/ariados/icon.4bpp"); +#else + const u8 gMonIcon_Ariados[] = INCBIN_U8("graphics/pokemon/ariados/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Ariados[] = INCBIN_U8("graphics/pokemon/ariados/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4716,11 +6932,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SPINARAK #if P_FAMILY_CHINCHOU +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/anim_front.4bpp.lz"); const u32 gMonPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/normal.gbapal.lz"); const u32 gMonBackPic_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/back.4bpp.lz"); const u32 gMonShinyPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Chinchou[] = INCBIN_U8("graphics/pokemon/chinchou/icon.4bpp"); +#else + const u8 gMonIcon_Chinchou[] = INCBIN_U8("graphics/pokemon/chinchou/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Chinchou[] = INCBIN_U8("graphics/pokemon/chinchou/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4732,11 +6959,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/anim_front.4bpp.lz"); const u32 gMonPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/normal.gbapal.lz"); const u32 gMonBackPic_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/back.4bpp.lz"); const u32 gMonShinyPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Lanturn[] = INCBIN_U8("graphics/pokemon/lanturn/icon.4bpp"); +#else + const u8 gMonIcon_Lanturn[] = INCBIN_U8("graphics/pokemon/lanturn/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Lanturn[] = INCBIN_U8("graphics/pokemon/lanturn/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4750,11 +6988,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_CHINCHOU #if P_FAMILY_TOGEPI +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/anim_front.4bpp.lz"); const u32 gMonPalette_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/normal.gbapal.lz"); const u32 gMonBackPic_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/back.4bpp.lz"); const u32 gMonShinyPalette_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Togepi[] = INCBIN_U8("graphics/pokemon/togepi/icon.4bpp"); +#else + const u8 gMonIcon_Togepi[] = INCBIN_U8("graphics/pokemon/togepi/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Togepi[] = INCBIN_U8("graphics/pokemon/togepi/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4766,11 +7015,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/anim_front.4bpp.lz"); const u32 gMonPalette_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/normal.gbapal.lz"); const u32 gMonBackPic_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/back.4bpp.lz"); const u32 gMonShinyPalette_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Togetic[] = INCBIN_U8("graphics/pokemon/togetic/icon.4bpp"); +#else + const u8 gMonIcon_Togetic[] = INCBIN_U8("graphics/pokemon/togetic/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Togetic[] = INCBIN_U8("graphics/pokemon/togetic/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4802,11 +7062,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_TOGEPI #if P_FAMILY_NATU +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Natu[] = INCBIN_U32("graphics/pokemon/natu/anim_front.4bpp.lz"); const u32 gMonPalette_Natu[] = INCBIN_U32("graphics/pokemon/natu/normal.gbapal.lz"); const u32 gMonBackPic_Natu[] = INCBIN_U32("graphics/pokemon/natu/back.4bpp.lz"); const u32 gMonShinyPalette_Natu[] = INCBIN_U32("graphics/pokemon/natu/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Natu[] = INCBIN_U32("graphics/pokemon/natu/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Natu[] = INCBIN_U32("graphics/pokemon/natu/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Natu[] = INCBIN_U32("graphics/pokemon/natu/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Natu[] = INCBIN_U32("graphics/pokemon/natu/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Natu[] = INCBIN_U8("graphics/pokemon/natu/icon.4bpp"); +#else + const u8 gMonIcon_Natu[] = INCBIN_U8("graphics/pokemon/natu/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Natu[] = INCBIN_U8("graphics/pokemon/natu/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4818,11 +7089,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/anim_front.4bpp.lz"); const u32 gMonPalette_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/normal.gbapal.lz"); const u32 gMonBackPic_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/back.4bpp.lz"); const u32 gMonShinyPalette_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Xatu[] = INCBIN_U8("graphics/pokemon/xatu/icon.4bpp"); +#else + const u8 gMonIcon_Xatu[] = INCBIN_U8("graphics/pokemon/xatu/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Xatu[] = INCBIN_U8("graphics/pokemon/xatu/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4834,15 +7116,31 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_XatuF[] = INCBIN_U32("graphics/pokemon/xatu/anim_frontf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_XatuF[] = INCBIN_COMP("graphics/pokemon/xatu/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_NATU #if P_FAMILY_MAREEP +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/anim_front.4bpp.lz"); const u32 gMonPalette_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/normal.gbapal.lz"); const u32 gMonBackPic_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/back.4bpp.lz"); const u32 gMonShinyPalette_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Mareep[] = INCBIN_U8("graphics/pokemon/mareep/icon.4bpp"); +#else + const u8 gMonIcon_Mareep[] = INCBIN_U8("graphics/pokemon/mareep/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Mareep[] = INCBIN_U8("graphics/pokemon/mareep/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4854,11 +7152,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/anim_front.4bpp.lz"); const u32 gMonPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/normal.gbapal.lz"); const u32 gMonBackPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/back.4bpp.lz"); const u32 gMonShinyPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Flaaffy[] = INCBIN_U8("graphics/pokemon/flaaffy/icon.4bpp"); +#else + const u8 gMonIcon_Flaaffy[] = INCBIN_U8("graphics/pokemon/flaaffy/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Flaaffy[] = INCBIN_U8("graphics/pokemon/flaaffy/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4870,11 +7179,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/anim_front.4bpp.lz"); const u32 gMonPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/normal.gbapal.lz"); const u32 gMonBackPic_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/back.4bpp.lz"); const u32 gMonShinyPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Ampharos[] = INCBIN_U8("graphics/pokemon/ampharos/icon.4bpp"); +#else + const u8 gMonIcon_Ampharos[] = INCBIN_U8("graphics/pokemon/ampharos/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Ampharos[] = INCBIN_U8("graphics/pokemon/ampharos/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4904,11 +7224,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #if P_FAMILY_MARILL #if P_GEN_3_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/anim_front.4bpp.lz"); const u32 gMonPalette_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/normal.gbapal.lz"); const u32 gMonBackPic_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/back.4bpp.lz"); const u32 gMonShinyPalette_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Azurill[] = INCBIN_U8("graphics/pokemon/azurill/icon.4bpp"); +#else + const u8 gMonIcon_Azurill[] = INCBIN_U8("graphics/pokemon/azurill/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Azurill[] = INCBIN_U8("graphics/pokemon/azurill/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4921,11 +7252,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_3_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/anim_front.4bpp.lz"); const u32 gMonPalette_Marill[] = INCBIN_U32("graphics/pokemon/marill/normal.gbapal.lz"); const u32 gMonBackPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/back.4bpp.lz"); const u32 gMonShinyPalette_Marill[] = INCBIN_U32("graphics/pokemon/marill/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Marill[] = INCBIN_U32("graphics/pokemon/marill/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Marill[] = INCBIN_U32("graphics/pokemon/marill/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Marill[] = INCBIN_U8("graphics/pokemon/marill/icon.4bpp"); +#else + const u8 gMonIcon_Marill[] = INCBIN_U8("graphics/pokemon/marill/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Marill[] = INCBIN_U8("graphics/pokemon/marill/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4937,11 +7279,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/anim_front.4bpp.lz"); const u32 gMonPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/normal.gbapal.lz"); const u32 gMonBackPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/back.4bpp.lz"); const u32 gMonShinyPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Azumarill[] = INCBIN_U8("graphics/pokemon/azumarill/icon.4bpp"); +#else + const u8 gMonIcon_Azumarill[] = INCBIN_U8("graphics/pokemon/azumarill/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Azumarill[] = INCBIN_U8("graphics/pokemon/azumarill/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4973,11 +7326,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_4_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/anim_front.4bpp.lz"); const u32 gMonPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/normal.gbapal.lz"); const u32 gMonBackPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/back.4bpp.lz"); const u32 gMonShinyPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Sudowoodo[] = INCBIN_U8("graphics/pokemon/sudowoodo/icon.4bpp"); +#else + const u8 gMonIcon_Sudowoodo[] = INCBIN_U8("graphics/pokemon/sudowoodo/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Sudowoodo[] = INCBIN_U8("graphics/pokemon/sudowoodo/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -4989,16 +7353,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_SudowoodoF[] = INCBIN_U32("graphics/pokemon/sudowoodo/anim_frontf.4bpp.lz"); const u32 gMonBackPic_SudowoodoF[] = INCBIN_U32("graphics/pokemon/sudowoodo/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_SudowoodoF[] = INCBIN_COMP("graphics/pokemon/sudowoodo/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_SUDOWOODO #if P_FAMILY_HOPPIP +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/anim_front.4bpp.lz"); const u32 gMonPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/normal.gbapal.lz"); const u32 gMonBackPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/back.4bpp.lz"); const u32 gMonShinyPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Hoppip[] = INCBIN_U8("graphics/pokemon/hoppip/icon.4bpp"); +#else + const u8 gMonIcon_Hoppip[] = INCBIN_U8("graphics/pokemon/hoppip/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Hoppip[] = INCBIN_U8("graphics/pokemon/hoppip/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5010,11 +7390,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/anim_front.4bpp.lz"); const u32 gMonPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/normal.gbapal.lz"); const u32 gMonBackPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/back.4bpp.lz"); const u32 gMonShinyPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Skiploom[] = INCBIN_U8("graphics/pokemon/skiploom/icon.4bpp"); +#else + const u8 gMonIcon_Skiploom[] = INCBIN_U8("graphics/pokemon/skiploom/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Skiploom[] = INCBIN_U8("graphics/pokemon/skiploom/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5026,11 +7417,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/anim_front.4bpp.lz"); const u32 gMonPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/normal.gbapal.lz"); const u32 gMonBackPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/back.4bpp.lz"); const u32 gMonShinyPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Jumpluff[] = INCBIN_U8("graphics/pokemon/jumpluff/icon.4bpp"); +#else + const u8 gMonIcon_Jumpluff[] = INCBIN_U8("graphics/pokemon/jumpluff/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Jumpluff[] = INCBIN_U8("graphics/pokemon/jumpluff/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5044,11 +7446,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_HOPPIP #if P_FAMILY_AIPOM +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/anim_front.4bpp.lz"); const u32 gMonPalette_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/normal.gbapal.lz"); const u32 gMonBackPic_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/back.4bpp.lz"); const u32 gMonShinyPalette_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Aipom[] = INCBIN_U8("graphics/pokemon/aipom/icon.4bpp"); +#else + const u8 gMonIcon_Aipom[] = INCBIN_U8("graphics/pokemon/aipom/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Aipom[] = INCBIN_U8("graphics/pokemon/aipom/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5060,8 +7473,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_AipomF[] = INCBIN_U32("graphics/pokemon/aipom/anim_frontf.4bpp.lz"); const u32 gMonBackPic_AipomF[] = INCBIN_U32("graphics/pokemon/aipom/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_AipomF[] = INCBIN_COMP("graphics/pokemon/aipom/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_GEN_4_CROSS_EVOS const u32 gMonFrontPic_Ambipom[] = INCBIN_U32("graphics/pokemon/ambipom/anim_front.4bpp.lz"); @@ -5080,17 +7498,33 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_AmbipomF[] = INCBIN_U32("graphics/pokemon/ambipom/anim_frontf.4bpp.lz"); const u32 gMonBackPic_AmbipomF[] = INCBIN_U32("graphics/pokemon/ambipom/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_AmbipomF[] = INCBIN_COMP("graphics/pokemon/ambipom/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_GEN_4_CROSS_EVOS #endif //P_FAMILY_AIPOM #if P_FAMILY_SUNKERN +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/anim_front.4bpp.lz"); const u32 gMonPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/normal.gbapal.lz"); const u32 gMonBackPic_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/back.4bpp.lz"); const u32 gMonShinyPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Sunkern[] = INCBIN_U8("graphics/pokemon/sunkern/icon.4bpp"); +#else + const u8 gMonIcon_Sunkern[] = INCBIN_U8("graphics/pokemon/sunkern/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Sunkern[] = INCBIN_U8("graphics/pokemon/sunkern/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5102,11 +7536,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/anim_front.4bpp.lz"); const u32 gMonPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/normal.gbapal.lz"); const u32 gMonBackPic_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/back.4bpp.lz"); const u32 gMonShinyPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Sunflora[] = INCBIN_U8("graphics/pokemon/sunflora/icon.4bpp"); +#else + const u8 gMonIcon_Sunflora[] = INCBIN_U8("graphics/pokemon/sunflora/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Sunflora[] = INCBIN_U8("graphics/pokemon/sunflora/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5120,11 +7565,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SUNKERN #if P_FAMILY_YANMA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/anim_front.4bpp.lz"); const u32 gMonPalette_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/normal.gbapal.lz"); const u32 gMonBackPic_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/back.4bpp.lz"); const u32 gMonShinyPalette_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Yanma[] = INCBIN_U8("graphics/pokemon/yanma/icon.4bpp"); +#else + const u8 gMonIcon_Yanma[] = INCBIN_U8("graphics/pokemon/yanma/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Yanma[] = INCBIN_U8("graphics/pokemon/yanma/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5156,11 +7612,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_YANMA #if P_FAMILY_WOOPER +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/anim_front.4bpp.lz"); const u32 gMonPalette_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/normal.gbapal.lz"); const u32 gMonBackPic_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/back.4bpp.lz"); const u32 gMonShinyPalette_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Wooper[] = INCBIN_U8("graphics/pokemon/wooper/icon.4bpp"); +#else + const u8 gMonIcon_Wooper[] = INCBIN_U8("graphics/pokemon/wooper/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Wooper[] = INCBIN_U8("graphics/pokemon/wooper/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5172,14 +7639,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_WooperF[] = INCBIN_U32("graphics/pokemon/wooper/anim_frontf.4bpp.lz"); const u32 gMonBackPic_WooperF[] = INCBIN_U32("graphics/pokemon/wooper/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_WooperF[] = INCBIN_COMP("graphics/pokemon/wooper/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/anim_front.4bpp.lz"); const u32 gMonPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/normal.gbapal.lz"); const u32 gMonBackPic_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/back.4bpp.lz"); const u32 gMonShinyPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Quagsire[] = INCBIN_U8("graphics/pokemon/quagsire/icon.4bpp"); +#else + const u8 gMonIcon_Quagsire[] = INCBIN_U8("graphics/pokemon/quagsire/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Quagsire[] = INCBIN_U8("graphics/pokemon/quagsire/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5191,20 +7674,25 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_QuagsireF[] = INCBIN_U32("graphics/pokemon/quagsire/anim_frontf.4bpp.lz"); const u32 gMonBackPic_QuagsireF[] = INCBIN_U32("graphics/pokemon/quagsire/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_QuagsireF[] = INCBIN_COMP("graphics/pokemon/quagsire/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_PALDEAN_FORMS - const u32 gMonFrontPic_WooperPaldean[] = INCBIN_U32("graphics/pokemon/wooper/wooper_paldean/front.4bpp.lz"); - const u32 gMonPalette_WooperPaldean[] = INCBIN_U32("graphics/pokemon/wooper/wooper_paldean/normal.gbapal.lz"); - const u32 gMonBackPic_WooperPaldean[] = INCBIN_U32("graphics/pokemon/wooper/wooper_paldean/back.4bpp.lz"); - const u32 gMonShinyPalette_WooperPaldean[] = INCBIN_U32("graphics/pokemon/wooper/wooper_paldean/shiny.gbapal.lz"); - const u8 gMonIcon_WooperPaldean[] = INCBIN_U8("graphics/pokemon/wooper/wooper_paldean/icon.4bpp"); + const u32 gMonFrontPic_WooperPaldea[] = INCBIN_U32("graphics/pokemon/wooper/paldea/front.4bpp.lz"); + const u32 gMonPalette_WooperPaldea[] = INCBIN_U32("graphics/pokemon/wooper/paldea/normal.gbapal.lz"); + const u32 gMonBackPic_WooperPaldea[] = INCBIN_U32("graphics/pokemon/wooper/paldea/back.4bpp.lz"); + const u32 gMonShinyPalette_WooperPaldea[] = INCBIN_U32("graphics/pokemon/wooper/paldea/shiny.gbapal.lz"); + const u8 gMonIcon_WooperPaldea[] = INCBIN_U8("graphics/pokemon/wooper/paldea/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_WooperPaldean[] = INCBIN_COMP("graphics/pokemon/wooper/wooper_paldean/overworld.4bpp"); + const u32 gObjectEventPic_WooperPaldea[] = INCBIN_COMP("graphics/pokemon/wooper/paldea/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_WooperPaldean[] = INCBIN_U32("graphics/pokemon/wooper/wooper_paldean/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_WooperPaldean[] = INCBIN_U32("graphics/pokemon/wooper/wooper_paldean/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_WooperPaldea[] = INCBIN_U32("graphics/pokemon/wooper/paldea/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_WooperPaldea[] = INCBIN_U32("graphics/pokemon/wooper/paldea/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS @@ -5227,11 +7715,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_WOOPER #if P_FAMILY_MURKROW +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/anim_front.4bpp.lz"); const u32 gMonPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/normal.gbapal.lz"); const u32 gMonBackPic_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/back.4bpp.lz"); const u32 gMonShinyPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Murkrow[] = INCBIN_U8("graphics/pokemon/murkrow/icon.4bpp"); +#else + const u8 gMonIcon_Murkrow[] = INCBIN_U8("graphics/pokemon/murkrow/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Murkrow[] = INCBIN_U8("graphics/pokemon/murkrow/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5243,8 +7742,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_MurkrowF[] = INCBIN_U32("graphics/pokemon/murkrow/anim_frontf.4bpp.lz"); const u32 gMonBackPic_MurkrowF[] = INCBIN_U32("graphics/pokemon/murkrow/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_MurkrowF[] = INCBIN_COMP("graphics/pokemon/murkrow/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_GEN_4_CROSS_EVOS const u32 gMonFrontPic_Honchkrow[] = INCBIN_U32("graphics/pokemon/honchkrow/anim_front.4bpp.lz"); @@ -5266,11 +7770,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_MURKROW #if P_FAMILY_MISDREAVUS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/anim_front.4bpp.lz"); const u32 gMonPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/normal.gbapal.lz"); const u32 gMonBackPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/back.4bpp.lz"); const u32 gMonShinyPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Misdreavus[] = INCBIN_U8("graphics/pokemon/misdreavus/icon.4bpp"); +#else + const u8 gMonIcon_Misdreavus[] = INCBIN_U8("graphics/pokemon/misdreavus/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Misdreavus[] = INCBIN_U8("graphics/pokemon/misdreavus/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5412,13 +7927,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonBackPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/z/back.4bpp.lz"); const u8 gMonIcon_UnownZ[] = INCBIN_U8("graphics/pokemon/unown/z/icon.4bpp"); - const u32 gMonFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/exclamation_mark/front.4bpp.lz"); - const u32 gMonBackPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/exclamation_mark/back.4bpp.lz"); - const u8 gMonIcon_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/unown/exclamation_mark/icon.4bpp"); + const u32 gMonFrontPic_UnownExclamation[] = INCBIN_U32("graphics/pokemon/unown/exclamation/front.4bpp.lz"); + const u32 gMonBackPic_UnownExclamation[] = INCBIN_U32("graphics/pokemon/unown/exclamation/back.4bpp.lz"); + const u8 gMonIcon_UnownExclamation[] = INCBIN_U8("graphics/pokemon/unown/exclamation/icon.4bpp"); - const u32 gMonFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/question_mark/front.4bpp.lz"); - const u32 gMonBackPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/question_mark/back.4bpp.lz"); - const u8 gMonIcon_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/unown/question_mark/icon.4bpp"); + const u32 gMonFrontPic_UnownQuestion[] = INCBIN_U32("graphics/pokemon/unown/question/front.4bpp.lz"); + const u32 gMonBackPic_UnownQuestion[] = INCBIN_U32("graphics/pokemon/unown/question/back.4bpp.lz"); + const u8 gMonIcon_UnownQuestion[] = INCBIN_U8("graphics/pokemon/unown/question/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS const u32 gObjectEventPic_UnownA[] = INCBIN_COMP("graphics/pokemon/unown/overworld.4bpp"); @@ -5447,8 +7962,8 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gObjectEventPic_UnownX[] = INCBIN_COMP("graphics/pokemon/unown/x/overworld.4bpp"); const u32 gObjectEventPic_UnownY[] = INCBIN_COMP("graphics/pokemon/unown/y/overworld.4bpp"); const u32 gObjectEventPic_UnownZ[] = INCBIN_COMP("graphics/pokemon/unown/z/overworld.4bpp"); - const u32 gObjectEventPic_UnownExclamationMark[] = INCBIN_COMP("graphics/pokemon/unown/exclamation_mark/overworld.4bpp"); - const u32 gObjectEventPic_UnownQuestionMark[] = INCBIN_COMP("graphics/pokemon/unown/question_mark/overworld.4bpp"); + const u32 gObjectEventPic_UnownExclamation[] = INCBIN_COMP("graphics/pokemon/unown/exclamation/overworld.4bpp"); + const u32 gObjectEventPic_UnownQuestion[] = INCBIN_COMP("graphics/pokemon/unown/question/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE const u32 gOverworldPalette_Unown[] = INCBIN_U32("graphics/pokemon/unown/overworld_normal.gbapal.lz"); const u32 gShinyOverworldPalette_Unown[] = INCBIN_U32("graphics/pokemon/unown/overworld_shiny.gbapal.lz"); @@ -5458,11 +7973,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #if P_FAMILY_WOBBUFFET #if P_GEN_3_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/anim_front.4bpp.lz"); const u32 gMonPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/normal.gbapal.lz"); const u32 gMonBackPic_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/back.4bpp.lz"); const u32 gMonShinyPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Wynaut[] = INCBIN_U8("graphics/pokemon/wynaut/icon.4bpp"); +#else + const u8 gMonIcon_Wynaut[] = INCBIN_U8("graphics/pokemon/wynaut/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Wynaut[] = INCBIN_U8("graphics/pokemon/wynaut/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5475,11 +8001,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_3_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/anim_front.4bpp.lz"); const u32 gMonPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/normal.gbapal.lz"); const u32 gMonBackPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/back.4bpp.lz"); const u32 gMonShinyPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Wobbuffet[] = INCBIN_U8("graphics/pokemon/wobbuffet/icon.4bpp"); +#else + const u8 gMonIcon_Wobbuffet[] = INCBIN_U8("graphics/pokemon/wobbuffet/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Wobbuffet[] = INCBIN_U8("graphics/pokemon/wobbuffet/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5491,19 +8028,35 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_WobbuffetF[] = INCBIN_U32("graphics/pokemon/wobbuffet/anim_frontf.4bpp.lz"); const u32 gMonBackPic_WobbuffetF[] = INCBIN_U32("graphics/pokemon/wobbuffet/backf.4bpp.lz"); #if P_CUSTOM_GENDER_DIFF_ICONS const u8 gMonIcon_WobbuffetF[] = INCBIN_U8("graphics/pokemon/wobbuffet/iconf.4bpp"); #endif +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_WobbuffetF[] = INCBIN_COMP("graphics/pokemon/wobbuffet/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_WOBBUFFET #if P_FAMILY_GIRAFARIG +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/anim_front.4bpp.lz"); const u32 gMonPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/normal.gbapal.lz"); const u32 gMonBackPic_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/back.4bpp.lz"); const u32 gMonShinyPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Girafarig[] = INCBIN_U8("graphics/pokemon/girafarig/icon.4bpp"); +#else + const u8 gMonIcon_Girafarig[] = INCBIN_U8("graphics/pokemon/girafarig/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Girafarig[] = INCBIN_U8("graphics/pokemon/girafarig/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5515,8 +8068,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_GirafarigF[] = INCBIN_U32("graphics/pokemon/girafarig/anim_frontf.4bpp.lz"); const u32 gMonBackPic_GirafarigF[] = INCBIN_U32("graphics/pokemon/girafarig/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_GirafarigF[] = INCBIN_COMP("graphics/pokemon/girafarig/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_GEN_9_CROSS_EVOS const u32 gMonFrontPic_Farigiraf[] = INCBIN_U32("graphics/pokemon/farigiraf/front.4bpp.lz"); @@ -5538,11 +8096,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_GIRAFARIG #if P_FAMILY_PINECO +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/anim_front.4bpp.lz"); const u32 gMonPalette_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/normal.gbapal.lz"); const u32 gMonBackPic_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/back.4bpp.lz"); const u32 gMonShinyPalette_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Pineco[] = INCBIN_U8("graphics/pokemon/pineco/icon.4bpp"); +#else + const u8 gMonIcon_Pineco[] = INCBIN_U8("graphics/pokemon/pineco/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Pineco[] = INCBIN_U8("graphics/pokemon/pineco/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5554,11 +8123,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/anim_front.4bpp.lz"); const u32 gMonPalette_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/normal.gbapal.lz"); const u32 gMonBackPic_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/back.4bpp.lz"); const u32 gMonShinyPalette_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Forretress[] = INCBIN_U8("graphics/pokemon/forretress/icon.4bpp"); +#else + const u8 gMonIcon_Forretress[] = INCBIN_U8("graphics/pokemon/forretress/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Forretress[] = INCBIN_U8("graphics/pokemon/forretress/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5572,11 +8152,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_PINECO #if P_FAMILY_DUNSPARCE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/anim_front.4bpp.lz"); const u32 gMonPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/normal.gbapal.lz"); const u32 gMonBackPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/back.4bpp.lz"); const u32 gMonShinyPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Dunsparce[] = INCBIN_U8("graphics/pokemon/dunsparce/icon.4bpp"); +#else + const u8 gMonIcon_Dunsparce[] = INCBIN_U8("graphics/pokemon/dunsparce/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Dunsparce[] = INCBIN_U8("graphics/pokemon/dunsparce/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5615,11 +8206,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_DUNSPARCE #if P_FAMILY_GLIGAR +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/anim_front.4bpp.lz"); const u32 gMonPalette_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/normal.gbapal.lz"); const u32 gMonBackPic_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/back.4bpp.lz"); const u32 gMonShinyPalette_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Gligar[] = INCBIN_U8("graphics/pokemon/gligar/icon.4bpp"); +#else + const u8 gMonIcon_Gligar[] = INCBIN_U8("graphics/pokemon/gligar/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Gligar[] = INCBIN_U8("graphics/pokemon/gligar/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5631,8 +8233,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_GligarF[] = INCBIN_U32("graphics/pokemon/gligar/anim_frontf.4bpp.lz"); const u32 gMonBackPic_GligarF[] = INCBIN_U32("graphics/pokemon/gligar/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_GligarF[] = INCBIN_COMP("graphics/pokemon/gligar/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_GEN_4_CROSS_EVOS const u32 gMonFrontPic_Gliscor[] = INCBIN_U32("graphics/pokemon/gliscor/anim_front.4bpp.lz"); @@ -5654,11 +8261,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_GLIGAR #if P_FAMILY_SNUBBULL +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/anim_front.4bpp.lz"); const u32 gMonPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/normal.gbapal.lz"); const u32 gMonBackPic_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/back.4bpp.lz"); const u32 gMonShinyPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Snubbull[] = INCBIN_U8("graphics/pokemon/snubbull/icon.4bpp"); +#else + const u8 gMonIcon_Snubbull[] = INCBIN_U8("graphics/pokemon/snubbull/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Snubbull[] = INCBIN_U8("graphics/pokemon/snubbull/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5670,11 +8288,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/anim_front.4bpp.lz"); const u32 gMonPalette_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/normal.gbapal.lz"); const u32 gMonBackPic_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/back.4bpp.lz"); const u32 gMonShinyPalette_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Granbull[] = INCBIN_U8("graphics/pokemon/granbull/icon.4bpp"); +#else + const u8 gMonIcon_Granbull[] = INCBIN_U8("graphics/pokemon/granbull/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Granbull[] = INCBIN_U8("graphics/pokemon/granbull/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5688,11 +8317,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SNUBBULL #if P_FAMILY_QWILFISH +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/anim_front.4bpp.lz"); const u32 gMonPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/normal.gbapal.lz"); const u32 gMonBackPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/back.4bpp.lz"); const u32 gMonShinyPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Qwilfish[] = INCBIN_U8("graphics/pokemon/qwilfish/icon.4bpp"); +#else + const u8 gMonIcon_Qwilfish[] = INCBIN_U8("graphics/pokemon/qwilfish/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Qwilfish[] = INCBIN_U8("graphics/pokemon/qwilfish/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5705,16 +8345,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_HISUIAN_FORMS - const u32 gMonFrontPic_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/front.4bpp.lz"); - const u32 gMonPalette_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/normal.gbapal.lz"); - const u32 gMonBackPic_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/back.4bpp.lz"); - const u32 gMonShinyPalette_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/shiny.gbapal.lz"); - const u8 gMonIcon_QwilfishHisuian[] = INCBIN_U8("graphics/pokemon/qwilfish/hisuian/icon.4bpp"); + const u32 gMonFrontPic_QwilfishHisui[] = INCBIN_U32("graphics/pokemon/qwilfish/hisui/front.4bpp.lz"); + const u32 gMonPalette_QwilfishHisui[] = INCBIN_U32("graphics/pokemon/qwilfish/hisui/normal.gbapal.lz"); + const u32 gMonBackPic_QwilfishHisui[] = INCBIN_U32("graphics/pokemon/qwilfish/hisui/back.4bpp.lz"); + const u32 gMonShinyPalette_QwilfishHisui[] = INCBIN_U32("graphics/pokemon/qwilfish/hisui/shiny.gbapal.lz"); + const u8 gMonIcon_QwilfishHisui[] = INCBIN_U8("graphics/pokemon/qwilfish/hisui/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_QwilfishHisuian[] = INCBIN_COMP("graphics/pokemon/qwilfish/hisuian/overworld.4bpp"); + const u32 gObjectEventPic_QwilfishHisui[] = INCBIN_COMP("graphics/pokemon/qwilfish/hisui/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_QwilfishHisui[] = INCBIN_U32("graphics/pokemon/qwilfish/hisui/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_QwilfishHisui[] = INCBIN_U32("graphics/pokemon/qwilfish/hisui/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS @@ -5737,11 +8377,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_QWILFISH #if P_FAMILY_SHUCKLE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/anim_front.4bpp.lz"); const u32 gMonPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/normal.gbapal.lz"); const u32 gMonBackPic_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/back.4bpp.lz"); const u32 gMonShinyPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Shuckle[] = INCBIN_U8("graphics/pokemon/shuckle/icon.4bpp"); +#else + const u8 gMonIcon_Shuckle[] = INCBIN_U8("graphics/pokemon/shuckle/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Shuckle[] = INCBIN_U8("graphics/pokemon/shuckle/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5755,11 +8406,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SHUCKLE #if P_FAMILY_HERACROSS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/anim_front.4bpp.lz"); const u32 gMonPalette_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/normal.gbapal.lz"); const u32 gMonBackPic_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/back.4bpp.lz"); const u32 gMonShinyPalette_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Heracross[] = INCBIN_U8("graphics/pokemon/heracross/icon.4bpp"); +#else + const u8 gMonIcon_Heracross[] = INCBIN_U8("graphics/pokemon/heracross/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Heracross[] = INCBIN_U8("graphics/pokemon/heracross/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5771,8 +8433,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_HeracrossF[] = INCBIN_U32("graphics/pokemon/heracross/anim_frontf.4bpp.lz"); const u32 gMonBackPic_HeracrossF[] = INCBIN_U32("graphics/pokemon/heracross/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_HeracrossF[] = INCBIN_COMP("graphics/pokemon/heracross/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS const u32 gMonFrontPic_HeracrossMega[] = INCBIN_U32("graphics/pokemon/heracross/mega/front.4bpp.lz"); @@ -5791,11 +8458,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_HERACROSS #if P_FAMILY_SNEASEL +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/anim_front.4bpp.lz"); const u32 gMonPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/normal.gbapal.lz"); const u32 gMonBackPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/back.4bpp.lz"); const u32 gMonShinyPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Sneasel[] = INCBIN_U8("graphics/pokemon/sneasel/icon.4bpp"); +#else + const u8 gMonIcon_Sneasel[] = INCBIN_U8("graphics/pokemon/sneasel/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Sneasel[] = INCBIN_U8("graphics/pokemon/sneasel/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5807,8 +8485,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_SneaselF[] = INCBIN_U32("graphics/pokemon/sneasel/anim_frontf.4bpp.lz"); const u32 gMonBackPic_SneaselF[] = INCBIN_U32("graphics/pokemon/sneasel/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_SneaselF[] = INCBIN_COMP("graphics/pokemon/sneasel/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_GEN_4_CROSS_EVOS const u32 gMonFrontPic_Weavile[] = INCBIN_U32("graphics/pokemon/weavile/anim_front.4bpp.lz"); @@ -5827,26 +8510,36 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_WeavileF[] = INCBIN_U32("graphics/pokemon/weavile/anim_frontf.4bpp.lz"); const u32 gMonBackPic_WeavileF[] = INCBIN_U32("graphics/pokemon/weavile/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_WeavileF[] = INCBIN_COMP("graphics/pokemon/weavile/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_GEN_4_CROSS_EVOS #if P_HISUIAN_FORMS - const u32 gMonFrontPic_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/front.4bpp.lz"); - const u32 gMonPalette_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/normal.gbapal.lz"); - const u32 gMonBackPic_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/back.4bpp.lz"); - const u32 gMonShinyPalette_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/shiny.gbapal.lz"); - const u8 gMonIcon_SneaselHisuian[] = INCBIN_U8("graphics/pokemon/sneasel/hisuian/icon.4bpp"); + const u32 gMonFrontPic_SneaselHisui[] = INCBIN_U32("graphics/pokemon/sneasel/hisui/front.4bpp.lz"); + const u32 gMonPalette_SneaselHisui[] = INCBIN_U32("graphics/pokemon/sneasel/hisui/normal.gbapal.lz"); + const u32 gMonBackPic_SneaselHisui[] = INCBIN_U32("graphics/pokemon/sneasel/hisui/back.4bpp.lz"); + const u32 gMonShinyPalette_SneaselHisui[] = INCBIN_U32("graphics/pokemon/sneasel/hisui/shiny.gbapal.lz"); + const u8 gMonIcon_SneaselHisui[] = INCBIN_U8("graphics/pokemon/sneasel/hisui/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_SneaselHisuian[] = INCBIN_COMP("graphics/pokemon/sneasel/hisuian/overworld.4bpp"); + const u32 gObjectEventPic_SneaselHisui[] = INCBIN_COMP("graphics/pokemon/sneasel/hisui/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_SneaselHisui[] = INCBIN_U32("graphics/pokemon/sneasel/hisui/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_SneaselHisui[] = INCBIN_U32("graphics/pokemon/sneasel/hisui/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_SneaselHisuianF[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/frontf.4bpp.lz"); - const u32 gMonBackPic_SneaselHisuianF[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/backf.4bpp.lz"); +#if P_GENDER_DIFFERENCES + const u32 gMonFrontPic_SneaselHisuiF[] = INCBIN_U32("graphics/pokemon/sneasel/hisui/frontf.4bpp.lz"); + const u32 gMonBackPic_SneaselHisuiF[] = INCBIN_U32("graphics/pokemon/sneasel/hisui/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_SneaselHisuiF[] = INCBIN_COMP("graphics/pokemon/sneasel/hisui/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES const u32 gMonFrontPic_Sneasler[] = INCBIN_U32("graphics/pokemon/sneasler/front.4bpp.lz"); const u32 gMonPalette_Sneasler[] = INCBIN_U32("graphics/pokemon/sneasler/normal.gbapal.lz"); @@ -5867,11 +8560,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SNEASEL #if P_FAMILY_TEDDIURSA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/anim_front.4bpp.lz"); const u32 gMonPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/normal.gbapal.lz"); const u32 gMonBackPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/back.4bpp.lz"); const u32 gMonShinyPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Teddiursa[] = INCBIN_U8("graphics/pokemon/teddiursa/icon.4bpp"); +#else + const u8 gMonIcon_Teddiursa[] = INCBIN_U8("graphics/pokemon/teddiursa/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Teddiursa[] = INCBIN_U8("graphics/pokemon/teddiursa/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5883,11 +8587,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/anim_front.4bpp.lz"); const u32 gMonPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/normal.gbapal.lz"); const u32 gMonBackPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/back.4bpp.lz"); const u32 gMonShinyPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Ursaring[] = INCBIN_U8("graphics/pokemon/ursaring/icon.4bpp"); +#else + const u8 gMonIcon_Ursaring[] = INCBIN_U8("graphics/pokemon/ursaring/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Ursaring[] = INCBIN_U8("graphics/pokemon/ursaring/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5899,8 +8614,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_UrsaringF[] = INCBIN_U32("graphics/pokemon/ursaring/anim_frontf.4bpp.lz"); const u32 gMonBackPic_UrsaringF[] = INCBIN_U32("graphics/pokemon/ursaring/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_UrsaringF[] = INCBIN_COMP("graphics/pokemon/ursaring/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_GEN_8_CROSS_EVOS const u32 gMonFrontPic_Ursaluna[] = INCBIN_U32("graphics/pokemon/ursaluna/front.4bpp.lz"); @@ -5935,11 +8655,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_TEDDIURSA #if P_FAMILY_SLUGMA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/anim_front.4bpp.lz"); const u32 gMonPalette_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/normal.gbapal.lz"); const u32 gMonBackPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/back.4bpp.lz"); const u32 gMonShinyPalette_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Slugma[] = INCBIN_U8("graphics/pokemon/slugma/icon.4bpp"); +#else + const u8 gMonIcon_Slugma[] = INCBIN_U8("graphics/pokemon/slugma/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Slugma[] = INCBIN_U8("graphics/pokemon/slugma/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5951,11 +8682,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/anim_front.4bpp.lz"); const u32 gMonPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/normal.gbapal.lz"); const u32 gMonBackPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/back.4bpp.lz"); const u32 gMonShinyPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Magcargo[] = INCBIN_U8("graphics/pokemon/magcargo/icon.4bpp"); +#else + const u8 gMonIcon_Magcargo[] = INCBIN_U8("graphics/pokemon/magcargo/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Magcargo[] = INCBIN_U8("graphics/pokemon/magcargo/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5969,11 +8711,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SLUGMA #if P_FAMILY_SWINUB +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/anim_front.4bpp.lz"); const u32 gMonPalette_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/normal.gbapal.lz"); const u32 gMonBackPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/back.4bpp.lz"); const u32 gMonShinyPalette_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Swinub[] = INCBIN_U8("graphics/pokemon/swinub/icon.4bpp"); +#else + const u8 gMonIcon_Swinub[] = INCBIN_U8("graphics/pokemon/swinub/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Swinub[] = INCBIN_U8("graphics/pokemon/swinub/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -5985,11 +8738,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/anim_front.4bpp.lz"); const u32 gMonPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/normal.gbapal.lz"); const u32 gMonBackPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/back.4bpp.lz"); const u32 gMonShinyPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Piloswine[] = INCBIN_U8("graphics/pokemon/piloswine/icon.4bpp"); +#else + const u8 gMonIcon_Piloswine[] = INCBIN_U8("graphics/pokemon/piloswine/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Piloswine[] = INCBIN_U8("graphics/pokemon/piloswine/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6001,8 +8765,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_PiloswineF[] = INCBIN_U32("graphics/pokemon/piloswine/anim_frontf.4bpp.lz"); const u32 gMonBackPic_PiloswineF[] = INCBIN_U32("graphics/pokemon/piloswine/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_PiloswineF[] = INCBIN_COMP("graphics/pokemon/piloswine/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_GEN_4_CROSS_EVOS const u32 gMonFrontPic_Mamoswine[] = INCBIN_U32("graphics/pokemon/mamoswine/anim_front.4bpp.lz"); @@ -6021,16 +8790,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_MamoswineF[] = INCBIN_U32("graphics/pokemon/mamoswine/anim_frontf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_MamoswineF[] = INCBIN_COMP("graphics/pokemon/mamoswine/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_GEN_4_CROSS_EVOS #endif //P_FAMILY_SWINUB #if P_FAMILY_CORSOLA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/anim_front.4bpp.lz"); const u32 gMonPalette_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/normal.gbapal.lz"); const u32 gMonBackPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/back.4bpp.lz"); const u32 gMonShinyPalette_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Corsola[] = INCBIN_U8("graphics/pokemon/corsola/icon.4bpp"); +#else + const u8 gMonIcon_Corsola[] = INCBIN_U8("graphics/pokemon/corsola/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Corsola[] = INCBIN_U8("graphics/pokemon/corsola/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6043,16 +8828,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GALARIAN_FORMS - const u32 gMonFrontPic_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/front.4bpp.lz"); - const u32 gMonPalette_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_CorsolaGalarian[] = INCBIN_U8("graphics/pokemon/corsola/galarian/icon.4bpp"); + const u32 gMonFrontPic_CorsolaGalar[] = INCBIN_U32("graphics/pokemon/corsola/galar/front.4bpp.lz"); + const u32 gMonPalette_CorsolaGalar[] = INCBIN_U32("graphics/pokemon/corsola/galar/normal.gbapal.lz"); + const u32 gMonBackPic_CorsolaGalar[] = INCBIN_U32("graphics/pokemon/corsola/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_CorsolaGalar[] = INCBIN_U32("graphics/pokemon/corsola/galar/shiny.gbapal.lz"); + const u8 gMonIcon_CorsolaGalar[] = INCBIN_U8("graphics/pokemon/corsola/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_CorsolaGalarian[] = INCBIN_COMP("graphics/pokemon/corsola/galarian/overworld.4bpp"); + const u32 gObjectEventPic_CorsolaGalar[] = INCBIN_COMP("graphics/pokemon/corsola/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_CorsolaGalar[] = INCBIN_U32("graphics/pokemon/corsola/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_CorsolaGalar[] = INCBIN_U32("graphics/pokemon/corsola/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS @@ -6075,11 +8860,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_CORSOLA #if P_FAMILY_REMORAID +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/anim_front.4bpp.lz"); const u32 gMonPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/normal.gbapal.lz"); const u32 gMonBackPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/back.4bpp.lz"); const u32 gMonShinyPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Remoraid[] = INCBIN_U8("graphics/pokemon/remoraid/icon.4bpp"); +#else + const u8 gMonIcon_Remoraid[] = INCBIN_U8("graphics/pokemon/remoraid/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Remoraid[] = INCBIN_U8("graphics/pokemon/remoraid/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6091,11 +8887,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/anim_front.4bpp.lz"); const u32 gMonPalette_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/normal.gbapal.lz"); const u32 gMonBackPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/back.4bpp.lz"); const u32 gMonShinyPalette_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Octillery[] = INCBIN_U8("graphics/pokemon/octillery/icon.4bpp"); +#else + const u8 gMonIcon_Octillery[] = INCBIN_U8("graphics/pokemon/octillery/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Octillery[] = INCBIN_U8("graphics/pokemon/octillery/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6107,16 +8914,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_OctilleryF[] = INCBIN_U32("graphics/pokemon/octillery/anim_frontf.4bpp.lz"); const u32 gMonBackPic_OctilleryF[] = INCBIN_U32("graphics/pokemon/octillery/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_OctilleryF[] = INCBIN_COMP("graphics/pokemon/octillery/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_REMORAID #if P_FAMILY_DELIBIRD +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/anim_front.4bpp.lz"); const u32 gMonPalette_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/normal.gbapal.lz"); const u32 gMonBackPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/back.4bpp.lz"); const u32 gMonShinyPalette_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Delibird[] = INCBIN_U8("graphics/pokemon/delibird/icon.4bpp"); +#else + const u8 gMonIcon_Delibird[] = INCBIN_U8("graphics/pokemon/delibird/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Delibird[] = INCBIN_U8("graphics/pokemon/delibird/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6148,11 +8971,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_4_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/anim_front.4bpp.lz"); const u32 gMonPalette_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/normal.gbapal.lz"); const u32 gMonBackPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/back.4bpp.lz"); const u32 gMonShinyPalette_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Mantine[] = INCBIN_U8("graphics/pokemon/mantine/icon.4bpp"); +#else + const u8 gMonIcon_Mantine[] = INCBIN_U8("graphics/pokemon/mantine/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Mantine[] = INCBIN_U8("graphics/pokemon/mantine/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6166,11 +9000,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_MANTINE #if P_FAMILY_SKARMORY +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/anim_front.4bpp.lz"); const u32 gMonPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/normal.gbapal.lz"); const u32 gMonBackPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/back.4bpp.lz"); const u32 gMonShinyPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Skarmory[] = INCBIN_U8("graphics/pokemon/skarmory/icon.4bpp"); +#else + const u8 gMonIcon_Skarmory[] = INCBIN_U8("graphics/pokemon/skarmory/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Skarmory[] = INCBIN_U8("graphics/pokemon/skarmory/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6184,11 +9029,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SKARMORY #if P_FAMILY_HOUNDOUR +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/anim_front.4bpp.lz"); const u32 gMonPalette_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/normal.gbapal.lz"); const u32 gMonBackPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/back.4bpp.lz"); const u32 gMonShinyPalette_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Houndour[] = INCBIN_U8("graphics/pokemon/houndour/icon.4bpp"); +#else + const u8 gMonIcon_Houndour[] = INCBIN_U8("graphics/pokemon/houndour/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Houndour[] = INCBIN_U8("graphics/pokemon/houndour/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6200,11 +9056,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/anim_front.4bpp.lz"); const u32 gMonPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/normal.gbapal.lz"); const u32 gMonBackPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/back.4bpp.lz"); const u32 gMonShinyPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Houndoom[] = INCBIN_U8("graphics/pokemon/houndoom/icon.4bpp"); +#else + const u8 gMonIcon_Houndoom[] = INCBIN_U8("graphics/pokemon/houndoom/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Houndoom[] = INCBIN_U8("graphics/pokemon/houndoom/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6216,8 +9083,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_HoundoomF[] = INCBIN_U32("graphics/pokemon/houndoom/anim_frontf.4bpp.lz"); const u32 gMonBackPic_HoundoomF[] = INCBIN_U32("graphics/pokemon/houndoom/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_HoundoomF[] = INCBIN_COMP("graphics/pokemon/houndoom/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS const u32 gMonFrontPic_HoundoomMega[] = INCBIN_U32("graphics/pokemon/houndoom/mega/front.4bpp.lz"); @@ -6236,11 +9108,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_HOUNDOUR #if P_FAMILY_PHANPY +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/anim_front.4bpp.lz"); const u32 gMonPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/normal.gbapal.lz"); const u32 gMonBackPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/back.4bpp.lz"); const u32 gMonShinyPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Phanpy[] = INCBIN_U8("graphics/pokemon/phanpy/icon.4bpp"); +#else + const u8 gMonIcon_Phanpy[] = INCBIN_U8("graphics/pokemon/phanpy/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Phanpy[] = INCBIN_U8("graphics/pokemon/phanpy/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6252,11 +9135,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/anim_front.4bpp.lz"); const u32 gMonPalette_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/normal.gbapal.lz"); const u32 gMonBackPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/back.4bpp.lz"); const u32 gMonShinyPalette_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Donphan[] = INCBIN_U8("graphics/pokemon/donphan/icon.4bpp"); +#else + const u8 gMonIcon_Donphan[] = INCBIN_U8("graphics/pokemon/donphan/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Donphan[] = INCBIN_U8("graphics/pokemon/donphan/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6268,16 +9162,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_DonphanF[] = INCBIN_U32("graphics/pokemon/donphan/anim_frontf.4bpp.lz"); const u32 gMonBackPic_DonphanF[] = INCBIN_U32("graphics/pokemon/donphan/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_DonphanF[] = INCBIN_COMP("graphics/pokemon/donphan/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_PHANPY #if P_FAMILY_STANTLER +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/anim_front.4bpp.lz"); const u32 gMonPalette_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/normal.gbapal.lz"); const u32 gMonBackPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/back.4bpp.lz"); const u32 gMonShinyPalette_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Stantler[] = INCBIN_U8("graphics/pokemon/stantler/icon.4bpp"); +#else + const u8 gMonIcon_Stantler[] = INCBIN_U8("graphics/pokemon/stantler/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Stantler[] = INCBIN_U8("graphics/pokemon/stantler/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6309,11 +9219,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_STANTLER #if P_FAMILY_SMEARGLE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/anim_front.4bpp.lz"); const u32 gMonPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/normal.gbapal.lz"); const u32 gMonBackPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/back.4bpp.lz"); const u32 gMonShinyPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Smeargle[] = INCBIN_U8("graphics/pokemon/smeargle/icon.4bpp"); +#else + const u8 gMonIcon_Smeargle[] = INCBIN_U8("graphics/pokemon/smeargle/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Smeargle[] = INCBIN_U8("graphics/pokemon/smeargle/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6327,11 +9248,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SMEARGLE #if P_FAMILY_MILTANK +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/anim_front.4bpp.lz"); const u32 gMonPalette_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/normal.gbapal.lz"); const u32 gMonBackPic_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/back.4bpp.lz"); const u32 gMonShinyPalette_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Miltank[] = INCBIN_U8("graphics/pokemon/miltank/icon.4bpp"); +#else + const u8 gMonIcon_Miltank[] = INCBIN_U8("graphics/pokemon/miltank/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Miltank[] = INCBIN_U8("graphics/pokemon/miltank/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6345,11 +9277,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_MILTANK #if P_FAMILY_RAIKOU +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/anim_front.4bpp.lz"); const u32 gMonPalette_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/normal.gbapal.lz"); const u32 gMonBackPic_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/back.4bpp.lz"); const u32 gMonShinyPalette_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Raikou[] = INCBIN_U8("graphics/pokemon/raikou/icon.4bpp"); +#else + const u8 gMonIcon_Raikou[] = INCBIN_U8("graphics/pokemon/raikou/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Raikou[] = INCBIN_U8("graphics/pokemon/raikou/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6363,11 +9306,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_RAIKOU #if P_FAMILY_ENTEI +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Entei[] = INCBIN_U32("graphics/pokemon/entei/anim_front.4bpp.lz"); const u32 gMonPalette_Entei[] = INCBIN_U32("graphics/pokemon/entei/normal.gbapal.lz"); const u32 gMonBackPic_Entei[] = INCBIN_U32("graphics/pokemon/entei/back.4bpp.lz"); const u32 gMonShinyPalette_Entei[] = INCBIN_U32("graphics/pokemon/entei/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Entei[] = INCBIN_U32("graphics/pokemon/entei/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Entei[] = INCBIN_U32("graphics/pokemon/entei/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Entei[] = INCBIN_U32("graphics/pokemon/entei/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Entei[] = INCBIN_U32("graphics/pokemon/entei/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Entei[] = INCBIN_U8("graphics/pokemon/entei/icon.4bpp"); +#else + const u8 gMonIcon_Entei[] = INCBIN_U8("graphics/pokemon/entei/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Entei[] = INCBIN_U8("graphics/pokemon/entei/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6381,11 +9335,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_ENTEI #if P_FAMILY_SUICUNE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/anim_front.4bpp.lz"); const u32 gMonPalette_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/normal.gbapal.lz"); const u32 gMonBackPic_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/back.4bpp.lz"); const u32 gMonShinyPalette_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Suicune[] = INCBIN_U8("graphics/pokemon/suicune/icon.4bpp"); +#else + const u8 gMonIcon_Suicune[] = INCBIN_U8("graphics/pokemon/suicune/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Suicune[] = INCBIN_U8("graphics/pokemon/suicune/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6399,11 +9364,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SUICUNE #if P_FAMILY_LARVITAR +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/anim_front.4bpp.lz"); const u32 gMonPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/normal.gbapal.lz"); const u32 gMonBackPic_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/back.4bpp.lz"); const u32 gMonShinyPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Larvitar[] = INCBIN_U8("graphics/pokemon/larvitar/icon.4bpp"); +#else + const u8 gMonIcon_Larvitar[] = INCBIN_U8("graphics/pokemon/larvitar/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Larvitar[] = INCBIN_U8("graphics/pokemon/larvitar/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6415,11 +9391,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/anim_front.4bpp.lz"); const u32 gMonPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/normal.gbapal.lz"); const u32 gMonBackPic_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/back.4bpp.lz"); const u32 gMonShinyPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Pupitar[] = INCBIN_U8("graphics/pokemon/pupitar/icon.4bpp"); +#else + const u8 gMonIcon_Pupitar[] = INCBIN_U8("graphics/pokemon/pupitar/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Pupitar[] = INCBIN_U8("graphics/pokemon/pupitar/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6431,11 +9418,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/anim_front.4bpp.lz"); const u32 gMonPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/normal.gbapal.lz"); const u32 gMonBackPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/back.4bpp.lz"); const u32 gMonShinyPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Tyranitar[] = INCBIN_U8("graphics/pokemon/tyranitar/icon.4bpp"); +#else + const u8 gMonIcon_Tyranitar[] = INCBIN_U8("graphics/pokemon/tyranitar/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Tyranitar[] = INCBIN_U8("graphics/pokemon/tyranitar/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6464,11 +9462,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_LARVITAR #if P_FAMILY_LUGIA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/anim_front.4bpp.lz"); const u32 gMonPalette_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/normal.gbapal.lz"); const u32 gMonBackPic_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/back.4bpp.lz"); const u32 gMonShinyPalette_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Lugia[] = INCBIN_U8("graphics/pokemon/lugia/icon.4bpp"); +#else + const u8 gMonIcon_Lugia[] = INCBIN_U8("graphics/pokemon/lugia/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Lugia[] = INCBIN_U8("graphics/pokemon/lugia/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6482,11 +9491,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_LUGIA #if P_FAMILY_HO_OH +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/anim_front.4bpp.lz"); const u32 gMonPalette_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/normal.gbapal.lz"); const u32 gMonBackPic_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/back.4bpp.lz"); const u32 gMonShinyPalette_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/normal_gba.gbapal.lz"); + const u32 gMonBackPic_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_HoOh[] = INCBIN_U8("graphics/pokemon/ho_oh/icon.4bpp"); +#else + const u8 gMonIcon_HoOh[] = INCBIN_U8("graphics/pokemon/ho_oh/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_HoOh[] = INCBIN_U8("graphics/pokemon/ho_oh/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6500,11 +9520,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_HO_OH #if P_FAMILY_CELEBI +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/anim_front.4bpp.lz"); const u32 gMonPalette_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/normal.gbapal.lz"); const u32 gMonBackPic_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/back.4bpp.lz"); const u32 gMonShinyPalette_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Celebi[] = INCBIN_U8("graphics/pokemon/celebi/icon.4bpp"); +#else + const u8 gMonIcon_Celebi[] = INCBIN_U8("graphics/pokemon/celebi/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Celebi[] = INCBIN_U8("graphics/pokemon/celebi/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6518,11 +9549,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_CELEBI #if P_FAMILY_TREECKO +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/anim_front.4bpp.lz"); const u32 gMonPalette_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/normal.gbapal.lz"); const u32 gMonBackPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/back.4bpp.lz"); const u32 gMonShinyPalette_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Treecko[] = INCBIN_U8("graphics/pokemon/treecko/icon.4bpp"); +#else + const u8 gMonIcon_Treecko[] = INCBIN_U8("graphics/pokemon/treecko/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Treecko[] = INCBIN_U8("graphics/pokemon/treecko/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6534,11 +9576,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/anim_front.4bpp.lz"); const u32 gMonPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/normal.gbapal.lz"); const u32 gMonBackPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/back.4bpp.lz"); const u32 gMonShinyPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Grovyle[] = INCBIN_U8("graphics/pokemon/grovyle/icon.4bpp"); +#else + const u8 gMonIcon_Grovyle[] = INCBIN_U8("graphics/pokemon/grovyle/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Grovyle[] = INCBIN_U8("graphics/pokemon/grovyle/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6550,11 +9603,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/anim_front.4bpp.lz"); const u32 gMonPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/normal.gbapal.lz"); const u32 gMonBackPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/back.4bpp.lz"); const u32 gMonShinyPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Sceptile[] = INCBIN_U8("graphics/pokemon/sceptile/icon.4bpp"); +#else + const u8 gMonIcon_Sceptile[] = INCBIN_U8("graphics/pokemon/sceptile/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Sceptile[] = INCBIN_U8("graphics/pokemon/sceptile/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6583,11 +9647,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_TREECKO #if P_FAMILY_TORCHIC +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/anim_front.4bpp.lz"); const u32 gMonPalette_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/normal.gbapal.lz"); const u32 gMonBackPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/back.4bpp.lz"); const u32 gMonShinyPalette_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Torchic[] = INCBIN_U8("graphics/pokemon/torchic/icon.4bpp"); +#else + const u8 gMonIcon_Torchic[] = INCBIN_U8("graphics/pokemon/torchic/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Torchic[] = INCBIN_U8("graphics/pokemon/torchic/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6599,13 +9674,29 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonBackPic_TorchicF[] = INCBIN_U32("graphics/pokemon/torchic/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_TorchicF[] = INCBIN_COMP("graphics/pokemon/torchic/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/anim_front.4bpp.lz"); const u32 gMonPalette_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/normal.gbapal.lz"); const u32 gMonBackPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/back.4bpp.lz"); const u32 gMonShinyPalette_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Combusken[] = INCBIN_U8("graphics/pokemon/combusken/icon.4bpp"); +#else + const u8 gMonIcon_Combusken[] = INCBIN_U8("graphics/pokemon/combusken/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Combusken[] = INCBIN_U8("graphics/pokemon/combusken/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6617,14 +9708,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_CombuskenF[] = INCBIN_U32("graphics/pokemon/combusken/anim_frontf.4bpp.lz"); const u32 gMonBackPic_CombuskenF[] = INCBIN_U32("graphics/pokemon/combusken/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_CombuskenF[] = INCBIN_COMP("graphics/pokemon/combusken/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/anim_front.4bpp.lz"); const u32 gMonPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/normal.gbapal.lz"); const u32 gMonBackPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/back.4bpp.lz"); const u32 gMonShinyPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Blaziken[] = INCBIN_U8("graphics/pokemon/blaziken/icon.4bpp"); +#else + const u8 gMonIcon_Blaziken[] = INCBIN_U8("graphics/pokemon/blaziken/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Blaziken[] = INCBIN_U8("graphics/pokemon/blaziken/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6636,8 +9743,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_BlazikenF[] = INCBIN_U32("graphics/pokemon/blaziken/anim_frontf.4bpp.lz"); const u32 gMonBackPic_BlazikenF[] = INCBIN_U32("graphics/pokemon/blaziken/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_BlazikenF[] = INCBIN_COMP("graphics/pokemon/blaziken/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS const u32 gMonFrontPic_BlazikenMega[] = INCBIN_U32("graphics/pokemon/blaziken/mega/front.4bpp.lz"); @@ -6656,11 +9768,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_TORCHIC #if P_FAMILY_MUDKIP +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/anim_front.4bpp.lz"); const u32 gMonPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/normal.gbapal.lz"); const u32 gMonBackPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/back.4bpp.lz"); const u32 gMonShinyPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Mudkip[] = INCBIN_U8("graphics/pokemon/mudkip/icon.4bpp"); +#else + const u8 gMonIcon_Mudkip[] = INCBIN_U8("graphics/pokemon/mudkip/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Mudkip[] = INCBIN_U8("graphics/pokemon/mudkip/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6672,11 +9795,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/anim_front.4bpp.lz"); const u32 gMonPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/normal.gbapal.lz"); const u32 gMonBackPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/back.4bpp.lz"); const u32 gMonShinyPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Marshtomp[] = INCBIN_U8("graphics/pokemon/marshtomp/icon.4bpp"); +#else + const u8 gMonIcon_Marshtomp[] = INCBIN_U8("graphics/pokemon/marshtomp/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Marshtomp[] = INCBIN_U8("graphics/pokemon/marshtomp/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6688,11 +9822,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/anim_front.4bpp.lz"); const u32 gMonPalette_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/normal.gbapal.lz"); const u32 gMonBackPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/back.4bpp.lz"); const u32 gMonShinyPalette_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Swampert[] = INCBIN_U8("graphics/pokemon/swampert/icon.4bpp"); +#else + const u8 gMonIcon_Swampert[] = INCBIN_U8("graphics/pokemon/swampert/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Swampert[] = INCBIN_U8("graphics/pokemon/swampert/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6721,11 +9866,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_MUDKIP #if P_FAMILY_POOCHYENA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/anim_front.4bpp.lz"); const u32 gMonPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/normal.gbapal.lz"); const u32 gMonBackPic_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/back.4bpp.lz"); const u32 gMonShinyPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Poochyena[] = INCBIN_U8("graphics/pokemon/poochyena/icon.4bpp"); +#else + const u8 gMonIcon_Poochyena[] = INCBIN_U8("graphics/pokemon/poochyena/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Poochyena[] = INCBIN_U8("graphics/pokemon/poochyena/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6737,11 +9893,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/anim_front.4bpp.lz"); const u32 gMonPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/normal.gbapal.lz"); const u32 gMonBackPic_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/back.4bpp.lz"); const u32 gMonShinyPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Mightyena[] = INCBIN_U8("graphics/pokemon/mightyena/icon.4bpp"); +#else + const u8 gMonIcon_Mightyena[] = INCBIN_U8("graphics/pokemon/mightyena/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Mightyena[] = INCBIN_U8("graphics/pokemon/mightyena/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6755,11 +9922,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_POOCHYENA #if P_FAMILY_ZIGZAGOON +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/anim_front.4bpp.lz"); const u32 gMonPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/normal.gbapal.lz"); const u32 gMonBackPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/back.4bpp.lz"); const u32 gMonShinyPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Zigzagoon[] = INCBIN_U8("graphics/pokemon/zigzagoon/icon.4bpp"); +#else + const u8 gMonIcon_Zigzagoon[] = INCBIN_U8("graphics/pokemon/zigzagoon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Zigzagoon[] = INCBIN_U8("graphics/pokemon/zigzagoon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6771,11 +9949,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/anim_front.4bpp.lz"); const u32 gMonPalette_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/normal.gbapal.lz"); const u32 gMonBackPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/back.4bpp.lz"); const u32 gMonShinyPalette_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Linoone[] = INCBIN_U8("graphics/pokemon/linoone/icon.4bpp"); +#else + const u8 gMonIcon_Linoone[] = INCBIN_U8("graphics/pokemon/linoone/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Linoone[] = INCBIN_U8("graphics/pokemon/linoone/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6788,29 +9977,29 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GALARIAN_FORMS - const u32 gMonFrontPic_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/front.4bpp.lz"); - const u32 gMonPalette_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_ZigzagoonGalarian[] = INCBIN_U8("graphics/pokemon/zigzagoon/galarian/icon.4bpp"); + const u32 gMonFrontPic_ZigzagoonGalar[] = INCBIN_U32("graphics/pokemon/zigzagoon/galar/front.4bpp.lz"); + const u32 gMonPalette_ZigzagoonGalar[] = INCBIN_U32("graphics/pokemon/zigzagoon/galar/normal.gbapal.lz"); + const u32 gMonBackPic_ZigzagoonGalar[] = INCBIN_U32("graphics/pokemon/zigzagoon/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_ZigzagoonGalar[] = INCBIN_U32("graphics/pokemon/zigzagoon/galar/shiny.gbapal.lz"); + const u8 gMonIcon_ZigzagoonGalar[] = INCBIN_U8("graphics/pokemon/zigzagoon/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_ZigzagoonGalarian[] = INCBIN_COMP("graphics/pokemon/zigzagoon/galarian/overworld.4bpp"); + const u32 gObjectEventPic_ZigzagoonGalar[] = INCBIN_COMP("graphics/pokemon/zigzagoon/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_ZigzagoonGalar[] = INCBIN_U32("graphics/pokemon/zigzagoon/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_ZigzagoonGalar[] = INCBIN_U32("graphics/pokemon/zigzagoon/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/front.4bpp.lz"); - const u32 gMonPalette_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_LinooneGalarian[] = INCBIN_U8("graphics/pokemon/linoone/galarian/icon.4bpp"); + const u32 gMonFrontPic_LinooneGalar[] = INCBIN_U32("graphics/pokemon/linoone/galar/front.4bpp.lz"); + const u32 gMonPalette_LinooneGalar[] = INCBIN_U32("graphics/pokemon/linoone/galar/normal.gbapal.lz"); + const u32 gMonBackPic_LinooneGalar[] = INCBIN_U32("graphics/pokemon/linoone/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_LinooneGalar[] = INCBIN_U32("graphics/pokemon/linoone/galar/shiny.gbapal.lz"); + const u8 gMonIcon_LinooneGalar[] = INCBIN_U8("graphics/pokemon/linoone/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_LinooneGalarian[] = INCBIN_COMP("graphics/pokemon/linoone/galarian/overworld.4bpp"); + const u32 gObjectEventPic_LinooneGalar[] = INCBIN_COMP("graphics/pokemon/linoone/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_LinooneGalar[] = INCBIN_U32("graphics/pokemon/linoone/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_LinooneGalar[] = INCBIN_U32("graphics/pokemon/linoone/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS @@ -6833,11 +10022,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_ZIGZAGOON #if P_FAMILY_WURMPLE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/anim_front.4bpp.lz"); const u32 gMonPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/normal.gbapal.lz"); const u32 gMonBackPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/back.4bpp.lz"); const u32 gMonShinyPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Wurmple[] = INCBIN_U8("graphics/pokemon/wurmple/icon.4bpp"); +#else + const u8 gMonIcon_Wurmple[] = INCBIN_U8("graphics/pokemon/wurmple/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Wurmple[] = INCBIN_U8("graphics/pokemon/wurmple/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6849,11 +10049,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/anim_front.4bpp.lz"); const u32 gMonPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/normal.gbapal.lz"); const u32 gMonBackPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/back.4bpp.lz"); const u32 gMonShinyPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Silcoon[] = INCBIN_U8("graphics/pokemon/silcoon/icon.4bpp"); +#else + const u8 gMonIcon_Silcoon[] = INCBIN_U8("graphics/pokemon/silcoon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Silcoon[] = INCBIN_U8("graphics/pokemon/silcoon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6865,11 +10076,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/anim_front.4bpp.lz"); const u32 gMonPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/normal.gbapal.lz"); const u32 gMonBackPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/back.4bpp.lz"); const u32 gMonShinyPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Beautifly[] = INCBIN_U8("graphics/pokemon/beautifly/icon.4bpp"); +#else + const u8 gMonIcon_Beautifly[] = INCBIN_U8("graphics/pokemon/beautifly/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Beautifly[] = INCBIN_U8("graphics/pokemon/beautifly/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6881,14 +10103,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_BeautiflyF[] = INCBIN_U32("graphics/pokemon/beautifly/anim_frontf.4bpp.lz"); const u32 gMonBackPic_BeautiflyF[] = INCBIN_U32("graphics/pokemon/beautifly/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_BeautiflyF[] = INCBIN_COMP("graphics/pokemon/beautifly/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/anim_front.4bpp.lz"); const u32 gMonPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/normal.gbapal.lz"); const u32 gMonBackPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/back.4bpp.lz"); const u32 gMonShinyPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Cascoon[] = INCBIN_U8("graphics/pokemon/cascoon/icon.4bpp"); +#else + const u8 gMonIcon_Cascoon[] = INCBIN_U8("graphics/pokemon/cascoon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Cascoon[] = INCBIN_U8("graphics/pokemon/cascoon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6900,11 +10138,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/anim_front.4bpp.lz"); const u32 gMonPalette_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/normal.gbapal.lz"); const u32 gMonBackPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/back.4bpp.lz"); const u32 gMonShinyPalette_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Dustox[] = INCBIN_U8("graphics/pokemon/dustox/icon.4bpp"); +#else + const u8 gMonIcon_Dustox[] = INCBIN_U8("graphics/pokemon/dustox/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Dustox[] = INCBIN_U8("graphics/pokemon/dustox/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6916,16 +10165,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_DustoxF[] = INCBIN_U32("graphics/pokemon/dustox/anim_frontf.4bpp.lz"); const u32 gMonBackPic_DustoxF[] = INCBIN_U32("graphics/pokemon/dustox/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_DustoxF[] = INCBIN_COMP("graphics/pokemon/dustox/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_WURMPLE #if P_FAMILY_LOTAD +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/anim_front.4bpp.lz"); const u32 gMonPalette_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/normal.gbapal.lz"); const u32 gMonBackPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/back.4bpp.lz"); const u32 gMonShinyPalette_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Lotad[] = INCBIN_U8("graphics/pokemon/lotad/icon.4bpp"); +#else + const u8 gMonIcon_Lotad[] = INCBIN_U8("graphics/pokemon/lotad/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Lotad[] = INCBIN_U8("graphics/pokemon/lotad/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6937,11 +10202,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/anim_front.4bpp.lz"); const u32 gMonPalette_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/normal.gbapal.lz"); const u32 gMonBackPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/back.4bpp.lz"); const u32 gMonShinyPalette_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Lombre[] = INCBIN_U8("graphics/pokemon/lombre/icon.4bpp"); +#else + const u8 gMonIcon_Lombre[] = INCBIN_U8("graphics/pokemon/lombre/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Lombre[] = INCBIN_U8("graphics/pokemon/lombre/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6953,13 +10229,28 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/anim_front.4bpp.lz"); const u32 gMonPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/normal.gbapal.lz"); const u32 gMonBackPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/back.4bpp.lz"); const u32 gMonShinyPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Ludicolo[] = INCBIN_U8("graphics/pokemon/ludicolo/icon.4bpp"); +#else + const u8 gMonIcon_Ludicolo[] = INCBIN_U8("graphics/pokemon/ludicolo/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS +#if !P_GBA_STYLE_SPECIES_FOOTPRINTS const u8 gMonFootprint_Ludicolo[] = INCBIN_U8("graphics/pokemon/ludicolo/footprint.1bpp"); +#else + const u8 gMonFootprint_Ludicolo[] = INCBIN_U8("graphics/pokemon/ludicolo/footprint_gba.1bpp"); +#endif //P_GBA_STYLE_SPECIES_FOOTPRINTS #endif //P_FOOTPRINTS #if OW_POKEMON_OBJECT_EVENTS const u32 gObjectEventPic_Ludicolo[] = INCBIN_COMP("graphics/pokemon/ludicolo/overworld.4bpp"); @@ -6969,16 +10260,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_LudicoloF[] = INCBIN_U32("graphics/pokemon/ludicolo/anim_frontf.4bpp.lz"); const u32 gMonBackPic_LudicoloF[] = INCBIN_U32("graphics/pokemon/ludicolo/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_LudicoloF[] = INCBIN_COMP("graphics/pokemon/ludicolo/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_LOTAD #if P_FAMILY_SEEDOT +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/anim_front.4bpp.lz"); const u32 gMonPalette_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/normal.gbapal.lz"); const u32 gMonBackPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/back.4bpp.lz"); const u32 gMonShinyPalette_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Seedot[] = INCBIN_U8("graphics/pokemon/seedot/icon.4bpp"); +#else + const u8 gMonIcon_Seedot[] = INCBIN_U8("graphics/pokemon/seedot/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Seedot[] = INCBIN_U8("graphics/pokemon/seedot/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -6990,11 +10297,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/anim_front.4bpp.lz"); const u32 gMonPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/normal.gbapal.lz"); const u32 gMonBackPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/back.4bpp.lz"); const u32 gMonShinyPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Nuzleaf[] = INCBIN_U8("graphics/pokemon/nuzleaf/icon.4bpp"); +#else + const u8 gMonIcon_Nuzleaf[] = INCBIN_U8("graphics/pokemon/nuzleaf/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Nuzleaf[] = INCBIN_U8("graphics/pokemon/nuzleaf/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7006,14 +10324,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_NuzleafF[] = INCBIN_U32("graphics/pokemon/nuzleaf/anim_frontf.4bpp.lz"); const u32 gMonBackPic_NuzleafF[] = INCBIN_U32("graphics/pokemon/nuzleaf/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_NuzleafF[] = INCBIN_COMP("graphics/pokemon/nuzleaf/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/anim_front.4bpp.lz"); const u32 gMonPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/normal.gbapal.lz"); const u32 gMonBackPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/back.4bpp.lz"); const u32 gMonShinyPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Shiftry[] = INCBIN_U8("graphics/pokemon/shiftry/icon.4bpp"); +#else + const u8 gMonIcon_Shiftry[] = INCBIN_U8("graphics/pokemon/shiftry/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Shiftry[] = INCBIN_U8("graphics/pokemon/shiftry/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7025,16 +10359,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_ShiftryF[] = INCBIN_U32("graphics/pokemon/shiftry/anim_frontf.4bpp.lz"); const u32 gMonBackPic_ShiftryF[] = INCBIN_U32("graphics/pokemon/shiftry/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_ShiftryF[] = INCBIN_COMP("graphics/pokemon/shiftry/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_SEEDOT #if P_FAMILY_TAILLOW +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/anim_front.4bpp.lz"); const u32 gMonPalette_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/normal.gbapal.lz"); const u32 gMonBackPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/back.4bpp.lz"); const u32 gMonShinyPalette_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Taillow[] = INCBIN_U8("graphics/pokemon/taillow/icon.4bpp"); +#else + const u8 gMonIcon_Taillow[] = INCBIN_U8("graphics/pokemon/taillow/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Taillow[] = INCBIN_U8("graphics/pokemon/taillow/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7046,11 +10396,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/anim_front.4bpp.lz"); const u32 gMonPalette_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/normal.gbapal.lz"); const u32 gMonBackPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/back.4bpp.lz"); const u32 gMonShinyPalette_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Swellow[] = INCBIN_U8("graphics/pokemon/swellow/icon.4bpp"); +#else + const u8 gMonIcon_Swellow[] = INCBIN_U8("graphics/pokemon/swellow/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Swellow[] = INCBIN_U8("graphics/pokemon/swellow/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7064,11 +10425,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_TAILLOW #if P_FAMILY_WINGULL +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/anim_front.4bpp.lz"); const u32 gMonPalette_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/normal.gbapal.lz"); const u32 gMonBackPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/back.4bpp.lz"); const u32 gMonShinyPalette_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Wingull[] = INCBIN_U8("graphics/pokemon/wingull/icon.4bpp"); +#else + const u8 gMonIcon_Wingull[] = INCBIN_U8("graphics/pokemon/wingull/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Wingull[] = INCBIN_U8("graphics/pokemon/wingull/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7080,11 +10452,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/anim_front.4bpp.lz"); const u32 gMonPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/normal.gbapal.lz"); const u32 gMonBackPic_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/back.4bpp.lz"); const u32 gMonShinyPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Pelipper[] = INCBIN_U8("graphics/pokemon/pelipper/icon.4bpp"); +#else + const u8 gMonIcon_Pelipper[] = INCBIN_U8("graphics/pokemon/pelipper/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Pelipper[] = INCBIN_U8("graphics/pokemon/pelipper/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7098,11 +10481,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_WINGULL #if P_FAMILY_RALTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/anim_front.4bpp.lz"); const u32 gMonPalette_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/normal.gbapal.lz"); const u32 gMonBackPic_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/back.4bpp.lz"); const u32 gMonShinyPalette_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Ralts[] = INCBIN_U8("graphics/pokemon/ralts/icon.4bpp"); +#else + const u8 gMonIcon_Ralts[] = INCBIN_U8("graphics/pokemon/ralts/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Ralts[] = INCBIN_U8("graphics/pokemon/ralts/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7114,11 +10508,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/anim_front.4bpp.lz"); const u32 gMonPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/normal.gbapal.lz"); const u32 gMonBackPic_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/back.4bpp.lz"); const u32 gMonShinyPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Kirlia[] = INCBIN_U8("graphics/pokemon/kirlia/icon.4bpp"); +#else + const u8 gMonIcon_Kirlia[] = INCBIN_U8("graphics/pokemon/kirlia/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Kirlia[] = INCBIN_U8("graphics/pokemon/kirlia/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7130,11 +10535,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/anim_front.4bpp.lz"); const u32 gMonPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/normal.gbapal.lz"); const u32 gMonBackPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/back.4bpp.lz"); const u32 gMonShinyPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Gardevoir[] = INCBIN_U8("graphics/pokemon/gardevoir/icon.4bpp"); +#else + const u8 gMonIcon_Gardevoir[] = INCBIN_U8("graphics/pokemon/gardevoir/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Gardevoir[] = INCBIN_U8("graphics/pokemon/gardevoir/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7196,11 +10612,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_RALTS #if P_FAMILY_SURSKIT +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/anim_front.4bpp.lz"); const u32 gMonPalette_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/normal.gbapal.lz"); const u32 gMonBackPic_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/back.4bpp.lz"); const u32 gMonShinyPalette_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Surskit[] = INCBIN_U8("graphics/pokemon/surskit/icon.4bpp"); +#else + const u8 gMonIcon_Surskit[] = INCBIN_U8("graphics/pokemon/surskit/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Surskit[] = INCBIN_U8("graphics/pokemon/surskit/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7212,11 +10639,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/anim_front.4bpp.lz"); const u32 gMonPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/normal.gbapal.lz"); const u32 gMonBackPic_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/back.4bpp.lz"); const u32 gMonShinyPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Masquerain[] = INCBIN_U8("graphics/pokemon/masquerain/icon.4bpp"); +#else + const u8 gMonIcon_Masquerain[] = INCBIN_U8("graphics/pokemon/masquerain/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Masquerain[] = INCBIN_U8("graphics/pokemon/masquerain/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7230,13 +10668,28 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SURSKIT #if P_FAMILY_SHROOMISH +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/anim_front.4bpp.lz"); const u32 gMonPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/normal.gbapal.lz"); const u32 gMonBackPic_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/back.4bpp.lz"); const u32 gMonShinyPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Shroomish[] = INCBIN_U8("graphics/pokemon/shroomish/icon.4bpp"); +#else + const u8 gMonIcon_Shroomish[] = INCBIN_U8("graphics/pokemon/shroomish/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS +#if !P_GBA_STYLE_SPECIES_FOOTPRINTS const u8 gMonFootprint_Shroomish[] = INCBIN_U8("graphics/pokemon/shroomish/footprint.1bpp"); +#else + const u8 gMonFootprint_Shroomish[] = INCBIN_U8("graphics/pokemon/shroomish/footprint_gba.1bpp"); +#endif //P_GBA_STYLE_SPECIES_FOOTPRINTS #endif //P_FOOTPRINTS #if OW_POKEMON_OBJECT_EVENTS const u32 gObjectEventPic_Shroomish[] = INCBIN_COMP("graphics/pokemon/shroomish/overworld.4bpp"); @@ -7246,11 +10699,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/anim_front.4bpp.lz"); const u32 gMonPalette_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/normal.gbapal.lz"); const u32 gMonBackPic_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/back.4bpp.lz"); const u32 gMonShinyPalette_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Breloom[] = INCBIN_U8("graphics/pokemon/breloom/icon.4bpp"); +#else + const u8 gMonIcon_Breloom[] = INCBIN_U8("graphics/pokemon/breloom/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Breloom[] = INCBIN_U8("graphics/pokemon/breloom/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7264,11 +10728,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SHROOMISH #if P_FAMILY_SLAKOTH +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/anim_front.4bpp.lz"); const u32 gMonPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/normal.gbapal.lz"); const u32 gMonBackPic_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/back.4bpp.lz"); const u32 gMonShinyPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Slakoth[] = INCBIN_U8("graphics/pokemon/slakoth/icon.4bpp"); +#else + const u8 gMonIcon_Slakoth[] = INCBIN_U8("graphics/pokemon/slakoth/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Slakoth[] = INCBIN_U8("graphics/pokemon/slakoth/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7280,11 +10755,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/anim_front.4bpp.lz"); const u32 gMonPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/normal.gbapal.lz"); const u32 gMonBackPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/back.4bpp.lz"); const u32 gMonShinyPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Vigoroth[] = INCBIN_U8("graphics/pokemon/vigoroth/icon.4bpp"); +#else + const u8 gMonIcon_Vigoroth[] = INCBIN_U8("graphics/pokemon/vigoroth/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Vigoroth[] = INCBIN_U8("graphics/pokemon/vigoroth/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7296,11 +10782,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/anim_front.4bpp.lz"); const u32 gMonPalette_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/normal.gbapal.lz"); const u32 gMonBackPic_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/back.4bpp.lz"); const u32 gMonShinyPalette_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Slaking[] = INCBIN_U8("graphics/pokemon/slaking/icon.4bpp"); +#else + const u8 gMonIcon_Slaking[] = INCBIN_U8("graphics/pokemon/slaking/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Slaking[] = INCBIN_U8("graphics/pokemon/slaking/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7314,11 +10811,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SLAKOTH #if P_FAMILY_NINCADA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/anim_front.4bpp.lz"); const u32 gMonPalette_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/normal.gbapal.lz"); const u32 gMonBackPic_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/back.4bpp.lz"); const u32 gMonShinyPalette_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Nincada[] = INCBIN_U8("graphics/pokemon/nincada/icon.4bpp"); +#else + const u8 gMonIcon_Nincada[] = INCBIN_U8("graphics/pokemon/nincada/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Nincada[] = INCBIN_U8("graphics/pokemon/nincada/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7330,11 +10838,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/anim_front.4bpp.lz"); const u32 gMonPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/normal.gbapal.lz"); const u32 gMonBackPic_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/back.4bpp.lz"); const u32 gMonShinyPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Ninjask[] = INCBIN_U8("graphics/pokemon/ninjask/icon.4bpp"); +#else + const u8 gMonIcon_Ninjask[] = INCBIN_U8("graphics/pokemon/ninjask/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Ninjask[] = INCBIN_U8("graphics/pokemon/ninjask/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7346,11 +10865,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/anim_front.4bpp.lz"); const u32 gMonPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/normal.gbapal.lz"); const u32 gMonBackPic_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/back.4bpp.lz"); const u32 gMonShinyPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Shedinja[] = INCBIN_U8("graphics/pokemon/shedinja/icon.4bpp"); +#else + const u8 gMonIcon_Shedinja[] = INCBIN_U8("graphics/pokemon/shedinja/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Shedinja[] = INCBIN_U8("graphics/pokemon/shedinja/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7364,11 +10894,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_NINCADA #if P_FAMILY_WHISMUR +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/anim_front.4bpp.lz"); const u32 gMonPalette_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/normal.gbapal.lz"); const u32 gMonBackPic_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/back.4bpp.lz"); const u32 gMonShinyPalette_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Whismur[] = INCBIN_U8("graphics/pokemon/whismur/icon.4bpp"); +#else + const u8 gMonIcon_Whismur[] = INCBIN_U8("graphics/pokemon/whismur/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Whismur[] = INCBIN_U8("graphics/pokemon/whismur/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7380,11 +10921,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/anim_front.4bpp.lz"); const u32 gMonPalette_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/normal.gbapal.lz"); const u32 gMonBackPic_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/back.4bpp.lz"); const u32 gMonShinyPalette_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Loudred[] = INCBIN_U8("graphics/pokemon/loudred/icon.4bpp"); +#else + const u8 gMonIcon_Loudred[] = INCBIN_U8("graphics/pokemon/loudred/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Loudred[] = INCBIN_U8("graphics/pokemon/loudred/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7396,11 +10948,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/anim_front.4bpp.lz"); const u32 gMonPalette_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/normal.gbapal.lz"); const u32 gMonBackPic_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/back.4bpp.lz"); const u32 gMonShinyPalette_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Exploud[] = INCBIN_U8("graphics/pokemon/exploud/icon.4bpp"); +#else + const u8 gMonIcon_Exploud[] = INCBIN_U8("graphics/pokemon/exploud/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Exploud[] = INCBIN_U8("graphics/pokemon/exploud/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7414,11 +10977,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_WHISMUR #if P_FAMILY_MAKUHITA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/anim_front.4bpp.lz"); const u32 gMonPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/normal.gbapal.lz"); const u32 gMonBackPic_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/back.4bpp.lz"); const u32 gMonShinyPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Makuhita[] = INCBIN_U8("graphics/pokemon/makuhita/icon.4bpp"); +#else + const u8 gMonIcon_Makuhita[] = INCBIN_U8("graphics/pokemon/makuhita/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Makuhita[] = INCBIN_U8("graphics/pokemon/makuhita/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7430,11 +11004,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/anim_front.4bpp.lz"); const u32 gMonPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/normal.gbapal.lz"); const u32 gMonBackPic_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/back.4bpp.lz"); const u32 gMonShinyPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Hariyama[] = INCBIN_U8("graphics/pokemon/hariyama/icon.4bpp"); +#else + const u8 gMonIcon_Hariyama[] = INCBIN_U8("graphics/pokemon/hariyama/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Hariyama[] = INCBIN_U8("graphics/pokemon/hariyama/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7448,11 +11033,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_MAKUHITA #if P_FAMILY_NOSEPASS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/anim_front.4bpp.lz"); const u32 gMonPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/normal.gbapal.lz"); const u32 gMonBackPic_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/back.4bpp.lz"); const u32 gMonShinyPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Nosepass[] = INCBIN_U8("graphics/pokemon/nosepass/icon.4bpp"); +#else + const u8 gMonIcon_Nosepass[] = INCBIN_U8("graphics/pokemon/nosepass/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Nosepass[] = INCBIN_U8("graphics/pokemon/nosepass/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7484,11 +11080,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_NOSEPASS #if P_FAMILY_SKITTY +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/anim_front.4bpp.lz"); const u32 gMonPalette_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/normal.gbapal.lz"); const u32 gMonBackPic_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/back.4bpp.lz"); const u32 gMonShinyPalette_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Skitty[] = INCBIN_U8("graphics/pokemon/skitty/icon.4bpp"); +#else + const u8 gMonIcon_Skitty[] = INCBIN_U8("graphics/pokemon/skitty/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Skitty[] = INCBIN_U8("graphics/pokemon/skitty/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7500,11 +11107,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/anim_front.4bpp.lz"); const u32 gMonPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/normal.gbapal.lz"); const u32 gMonBackPic_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/back.4bpp.lz"); const u32 gMonShinyPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Delcatty[] = INCBIN_U8("graphics/pokemon/delcatty/icon.4bpp"); +#else + const u8 gMonIcon_Delcatty[] = INCBIN_U8("graphics/pokemon/delcatty/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Delcatty[] = INCBIN_U8("graphics/pokemon/delcatty/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7518,11 +11136,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SKITTY #if P_FAMILY_SABLEYE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/anim_front.4bpp.lz"); const u32 gMonPalette_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/normal.gbapal.lz"); const u32 gMonBackPic_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/back.4bpp.lz"); const u32 gMonShinyPalette_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Sableye[] = INCBIN_U8("graphics/pokemon/sableye/icon.4bpp"); +#else + const u8 gMonIcon_Sableye[] = INCBIN_U8("graphics/pokemon/sableye/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Sableye[] = INCBIN_U8("graphics/pokemon/sableye/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7551,13 +11180,28 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SABLEYE #if P_FAMILY_MAWILE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/anim_front.4bpp.lz"); const u32 gMonPalette_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/normal.gbapal.lz"); const u32 gMonBackPic_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/back.4bpp.lz"); const u32 gMonShinyPalette_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Mawile[] = INCBIN_U8("graphics/pokemon/mawile/icon.4bpp"); +#else + const u8 gMonIcon_Mawile[] = INCBIN_U8("graphics/pokemon/mawile/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS +#if !P_GBA_STYLE_SPECIES_FOOTPRINTS const u8 gMonFootprint_Mawile[] = INCBIN_U8("graphics/pokemon/mawile/footprint.1bpp"); +#else + const u8 gMonFootprint_Mawile[] = INCBIN_U8("graphics/pokemon/mawile/footprint_gba.1bpp"); +#endif //P_GBA_STYLE_SPECIES_FOOTPRINTS #endif //P_FOOTPRINTS #if OW_POKEMON_OBJECT_EVENTS const u32 gObjectEventPic_Mawile[] = INCBIN_COMP("graphics/pokemon/mawile/overworld.4bpp"); @@ -7584,11 +11228,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_MAWILE #if P_FAMILY_ARON +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/anim_front.4bpp.lz"); const u32 gMonPalette_Aron[] = INCBIN_U32("graphics/pokemon/aron/normal.gbapal.lz"); const u32 gMonBackPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/back.4bpp.lz"); const u32 gMonShinyPalette_Aron[] = INCBIN_U32("graphics/pokemon/aron/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Aron[] = INCBIN_U32("graphics/pokemon/aron/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Aron[] = INCBIN_U32("graphics/pokemon/aron/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Aron[] = INCBIN_U8("graphics/pokemon/aron/icon.4bpp"); +#else + const u8 gMonIcon_Aron[] = INCBIN_U8("graphics/pokemon/aron/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Aron[] = INCBIN_U8("graphics/pokemon/aron/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7600,11 +11255,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/anim_front.4bpp.lz"); const u32 gMonPalette_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/normal.gbapal.lz"); const u32 gMonBackPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/back.4bpp.lz"); const u32 gMonShinyPalette_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Lairon[] = INCBIN_U8("graphics/pokemon/lairon/icon.4bpp"); +#else + const u8 gMonIcon_Lairon[] = INCBIN_U8("graphics/pokemon/lairon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Lairon[] = INCBIN_U8("graphics/pokemon/lairon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7616,11 +11282,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/anim_front.4bpp.lz"); const u32 gMonPalette_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/normal.gbapal.lz"); const u32 gMonBackPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/back.4bpp.lz"); const u32 gMonShinyPalette_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Aggron[] = INCBIN_U8("graphics/pokemon/aggron/icon.4bpp"); +#else + const u8 gMonIcon_Aggron[] = INCBIN_U8("graphics/pokemon/aggron/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Aggron[] = INCBIN_U8("graphics/pokemon/aggron/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7649,11 +11326,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_ARON #if P_FAMILY_MEDITITE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/anim_front.4bpp.lz"); const u32 gMonPalette_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/normal.gbapal.lz"); const u32 gMonBackPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/back.4bpp.lz"); const u32 gMonShinyPalette_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Meditite[] = INCBIN_U8("graphics/pokemon/meditite/icon.4bpp"); +#else + const u8 gMonIcon_Meditite[] = INCBIN_U8("graphics/pokemon/meditite/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Meditite[] = INCBIN_U8("graphics/pokemon/meditite/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7665,14 +11353,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_MedititeF[] = INCBIN_U32("graphics/pokemon/meditite/anim_frontf.4bpp.lz"); const u32 gMonBackPic_MedititeF[] = INCBIN_U32("graphics/pokemon/meditite/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_MedititeF[] = INCBIN_COMP("graphics/pokemon/meditite/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/anim_front.4bpp.lz"); const u32 gMonPalette_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/normal.gbapal.lz"); const u32 gMonBackPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/back.4bpp.lz"); const u32 gMonShinyPalette_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Medicham[] = INCBIN_U8("graphics/pokemon/medicham/icon.4bpp"); +#else + const u8 gMonIcon_Medicham[] = INCBIN_U8("graphics/pokemon/medicham/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Medicham[] = INCBIN_U8("graphics/pokemon/medicham/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7684,8 +11388,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_MedichamF[] = INCBIN_U32("graphics/pokemon/medicham/anim_frontf.4bpp.lz"); const u32 gMonBackPic_MedichamF[] = INCBIN_U32("graphics/pokemon/medicham/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_MedichamF[] = INCBIN_COMP("graphics/pokemon/medicham/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS const u32 gMonFrontPic_MedichamMega[] = INCBIN_U32("graphics/pokemon/medicham/mega/front.4bpp.lz"); @@ -7704,11 +11413,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_MEDITITE #if P_FAMILY_ELECTRIKE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/anim_front.4bpp.lz"); const u32 gMonPalette_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/normal.gbapal.lz"); const u32 gMonBackPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/back.4bpp.lz"); const u32 gMonShinyPalette_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Electrike[] = INCBIN_U8("graphics/pokemon/electrike/icon.4bpp"); +#else + const u8 gMonIcon_Electrike[] = INCBIN_U8("graphics/pokemon/electrike/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Electrike[] = INCBIN_U8("graphics/pokemon/electrike/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7720,11 +11440,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/anim_front.4bpp.lz"); const u32 gMonPalette_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/normal.gbapal.lz"); const u32 gMonBackPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/back.4bpp.lz"); const u32 gMonShinyPalette_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Manectric[] = INCBIN_U8("graphics/pokemon/manectric/icon.4bpp"); +#else + const u8 gMonIcon_Manectric[] = INCBIN_U8("graphics/pokemon/manectric/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Manectric[] = INCBIN_U8("graphics/pokemon/manectric/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7753,11 +11484,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_ELECTRIKE #if P_FAMILY_PLUSLE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/anim_front.4bpp.lz"); const u32 gMonPalette_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/normal.gbapal.lz"); const u32 gMonBackPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/back.4bpp.lz"); const u32 gMonShinyPalette_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Plusle[] = INCBIN_U8("graphics/pokemon/plusle/icon.4bpp"); +#else + const u8 gMonIcon_Plusle[] = INCBIN_U8("graphics/pokemon/plusle/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Plusle[] = INCBIN_U8("graphics/pokemon/plusle/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7771,11 +11513,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_PLUSLE #if P_FAMILY_MINUN +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Minun[] = INCBIN_U32("graphics/pokemon/minun/anim_front.4bpp.lz"); const u32 gMonPalette_Minun[] = INCBIN_U32("graphics/pokemon/minun/normal.gbapal.lz"); const u32 gMonBackPic_Minun[] = INCBIN_U32("graphics/pokemon/minun/back.4bpp.lz"); const u32 gMonShinyPalette_Minun[] = INCBIN_U32("graphics/pokemon/minun/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Minun[] = INCBIN_U32("graphics/pokemon/minun/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Minun[] = INCBIN_U32("graphics/pokemon/minun/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Minun[] = INCBIN_U32("graphics/pokemon/minun/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Minun[] = INCBIN_U32("graphics/pokemon/minun/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Minun[] = INCBIN_U8("graphics/pokemon/minun/icon.4bpp"); +#else + const u8 gMonIcon_Minun[] = INCBIN_U8("graphics/pokemon/minun/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Minun[] = INCBIN_U8("graphics/pokemon/minun/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7789,11 +11542,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_MINUN #if P_FAMILY_VOLBEAT_ILLUMISE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/anim_front.4bpp.lz"); const u32 gMonPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/normal.gbapal.lz"); const u32 gMonBackPic_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/back.4bpp.lz"); const u32 gMonShinyPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Volbeat[] = INCBIN_U8("graphics/pokemon/volbeat/icon.4bpp"); +#else + const u8 gMonIcon_Volbeat[] = INCBIN_U8("graphics/pokemon/volbeat/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Volbeat[] = INCBIN_U8("graphics/pokemon/volbeat/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7805,11 +11569,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/anim_front.4bpp.lz"); const u32 gMonPalette_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/normal.gbapal.lz"); const u32 gMonBackPic_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/back.4bpp.lz"); const u32 gMonShinyPalette_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Illumise[] = INCBIN_U8("graphics/pokemon/illumise/icon.4bpp"); +#else + const u8 gMonIcon_Illumise[] = INCBIN_U8("graphics/pokemon/illumise/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Illumise[] = INCBIN_U8("graphics/pokemon/illumise/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7841,11 +11616,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_4_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/anim_front.4bpp.lz"); const u32 gMonPalette_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/normal.gbapal.lz"); const u32 gMonBackPic_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/back.4bpp.lz"); const u32 gMonShinyPalette_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Roselia[] = INCBIN_U8("graphics/pokemon/roselia/icon.4bpp"); +#else + const u8 gMonIcon_Roselia[] = INCBIN_U8("graphics/pokemon/roselia/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Roselia[] = INCBIN_U8("graphics/pokemon/roselia/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7857,8 +11643,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_RoseliaF[] = INCBIN_U32("graphics/pokemon/roselia/anim_frontf.4bpp.lz"); const u32 gMonBackPic_RoseliaF[] = INCBIN_U32("graphics/pokemon/roselia/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_RoseliaF[] = INCBIN_COMP("graphics/pokemon/roselia/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_GEN_4_CROSS_EVOS const u32 gMonFrontPic_Roserade[] = INCBIN_U32("graphics/pokemon/roserade/anim_front.4bpp.lz"); @@ -7877,17 +11668,33 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_RoseradeF[] = INCBIN_U32("graphics/pokemon/roserade/anim_frontf.4bpp.lz"); const u32 gMonBackPic_RoseradeF[] = INCBIN_U32("graphics/pokemon/roserade/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_RoseradeF[] = INCBIN_COMP("graphics/pokemon/roserade/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_GEN_4_CROSS_EVOS #endif //P_FAMILY_ROSELIA #if P_FAMILY_GULPIN +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/anim_front.4bpp.lz"); const u32 gMonPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/normal.gbapal.lz"); const u32 gMonBackPic_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/back.4bpp.lz"); const u32 gMonShinyPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Gulpin[] = INCBIN_U8("graphics/pokemon/gulpin/icon.4bpp"); +#else + const u8 gMonIcon_Gulpin[] = INCBIN_U8("graphics/pokemon/gulpin/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Gulpin[] = INCBIN_U8("graphics/pokemon/gulpin/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7899,14 +11706,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_GulpinF[] = INCBIN_U32("graphics/pokemon/gulpin/anim_frontf.4bpp.lz"); const u32 gMonBackPic_GulpinF[] = INCBIN_U32("graphics/pokemon/gulpin/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_GulpinF[] = INCBIN_COMP("graphics/pokemon/gulpin/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/anim_front.4bpp.lz"); const u32 gMonPalette_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/normal.gbapal.lz"); const u32 gMonBackPic_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/back.4bpp.lz"); const u32 gMonShinyPalette_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Swalot[] = INCBIN_U8("graphics/pokemon/swalot/icon.4bpp"); +#else + const u8 gMonIcon_Swalot[] = INCBIN_U8("graphics/pokemon/swalot/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Swalot[] = INCBIN_U8("graphics/pokemon/swalot/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7918,16 +11741,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_SwalotF[] = INCBIN_U32("graphics/pokemon/swalot/anim_frontf.4bpp.lz"); const u32 gMonBackPic_SwalotF[] = INCBIN_U32("graphics/pokemon/swalot/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_SwalotF[] = INCBIN_COMP("graphics/pokemon/swalot/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_GULPIN #if P_FAMILY_CARVANHA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/anim_front.4bpp.lz"); const u32 gMonPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/normal.gbapal.lz"); const u32 gMonBackPic_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/back.4bpp.lz"); const u32 gMonShinyPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Carvanha[] = INCBIN_U8("graphics/pokemon/carvanha/icon.4bpp"); +#else + const u8 gMonIcon_Carvanha[] = INCBIN_U8("graphics/pokemon/carvanha/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Carvanha[] = INCBIN_U8("graphics/pokemon/carvanha/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7939,11 +11778,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/anim_front.4bpp.lz"); const u32 gMonPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/normal.gbapal.lz"); const u32 gMonBackPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/back.4bpp.lz"); const u32 gMonShinyPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Sharpedo[] = INCBIN_U8("graphics/pokemon/sharpedo/icon.4bpp"); +#else + const u8 gMonIcon_Sharpedo[] = INCBIN_U8("graphics/pokemon/sharpedo/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Sharpedo[] = INCBIN_U8("graphics/pokemon/sharpedo/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7972,11 +11822,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_CARVANHA #if P_FAMILY_WAILMER +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/anim_front.4bpp.lz"); const u32 gMonPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/normal.gbapal.lz"); const u32 gMonBackPic_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/back.4bpp.lz"); const u32 gMonShinyPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Wailmer[] = INCBIN_U8("graphics/pokemon/wailmer/icon.4bpp"); +#else + const u8 gMonIcon_Wailmer[] = INCBIN_U8("graphics/pokemon/wailmer/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Wailmer[] = INCBIN_U8("graphics/pokemon/wailmer/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -7988,11 +11849,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/anim_front.4bpp.lz"); const u32 gMonPalette_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/normal.gbapal.lz"); const u32 gMonBackPic_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/back.4bpp.lz"); const u32 gMonShinyPalette_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Wailord[] = INCBIN_U8("graphics/pokemon/wailord/icon.4bpp"); +#else + const u8 gMonIcon_Wailord[] = INCBIN_U8("graphics/pokemon/wailord/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Wailord[] = INCBIN_U8("graphics/pokemon/wailord/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8006,11 +11878,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_WAILMER #if P_FAMILY_NUMEL +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Numel[] = INCBIN_U32("graphics/pokemon/numel/anim_front.4bpp.lz"); const u32 gMonPalette_Numel[] = INCBIN_U32("graphics/pokemon/numel/normal.gbapal.lz"); const u32 gMonBackPic_Numel[] = INCBIN_U32("graphics/pokemon/numel/back.4bpp.lz"); const u32 gMonShinyPalette_Numel[] = INCBIN_U32("graphics/pokemon/numel/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Numel[] = INCBIN_U32("graphics/pokemon/numel/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Numel[] = INCBIN_U32("graphics/pokemon/numel/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Numel[] = INCBIN_U32("graphics/pokemon/numel/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Numel[] = INCBIN_U32("graphics/pokemon/numel/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Numel[] = INCBIN_U8("graphics/pokemon/numel/icon.4bpp"); +#else + const u8 gMonIcon_Numel[] = INCBIN_U8("graphics/pokemon/numel/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Numel[] = INCBIN_U8("graphics/pokemon/numel/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8022,14 +11905,30 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_NumelF[] = INCBIN_U32("graphics/pokemon/numel/anim_frontf.4bpp.lz"); const u32 gMonBackPic_NumelF[] = INCBIN_U32("graphics/pokemon/numel/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_NumelF[] = INCBIN_COMP("graphics/pokemon/numel/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/anim_front.4bpp.lz"); const u32 gMonPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/normal.gbapal.lz"); const u32 gMonBackPic_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/back.4bpp.lz"); const u32 gMonShinyPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Camerupt[] = INCBIN_U8("graphics/pokemon/camerupt/icon.4bpp"); +#else + const u8 gMonIcon_Camerupt[] = INCBIN_U8("graphics/pokemon/camerupt/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Camerupt[] = INCBIN_U8("graphics/pokemon/camerupt/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8041,8 +11940,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_CameruptF[] = INCBIN_U32("graphics/pokemon/camerupt/anim_frontf.4bpp.lz"); const u32 gMonBackPic_CameruptF[] = INCBIN_U32("graphics/pokemon/camerupt/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_CameruptF[] = INCBIN_COMP("graphics/pokemon/camerupt/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS const u32 gMonFrontPic_CameruptMega[] = INCBIN_U32("graphics/pokemon/camerupt/mega/front.4bpp.lz"); @@ -8061,11 +11965,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_NUMEL #if P_FAMILY_TORKOAL +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/anim_front.4bpp.lz"); const u32 gMonPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/normal.gbapal.lz"); const u32 gMonBackPic_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/back.4bpp.lz"); const u32 gMonShinyPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Torkoal[] = INCBIN_U8("graphics/pokemon/torkoal/icon.4bpp"); +#else + const u8 gMonIcon_Torkoal[] = INCBIN_U8("graphics/pokemon/torkoal/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Torkoal[] = INCBIN_U8("graphics/pokemon/torkoal/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8079,11 +11994,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_TORKOAL #if P_FAMILY_SPOINK +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/anim_front.4bpp.lz"); const u32 gMonPalette_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/normal.gbapal.lz"); const u32 gMonBackPic_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/back.4bpp.lz"); const u32 gMonShinyPalette_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Spoink[] = INCBIN_U8("graphics/pokemon/spoink/icon.4bpp"); +#else + const u8 gMonIcon_Spoink[] = INCBIN_U8("graphics/pokemon/spoink/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Spoink[] = INCBIN_U8("graphics/pokemon/spoink/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8095,11 +12021,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/anim_front.4bpp.lz"); const u32 gMonPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/normal.gbapal.lz"); const u32 gMonBackPic_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/back.4bpp.lz"); const u32 gMonShinyPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Grumpig[] = INCBIN_U8("graphics/pokemon/grumpig/icon.4bpp"); +#else + const u8 gMonIcon_Grumpig[] = INCBIN_U8("graphics/pokemon/grumpig/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Grumpig[] = INCBIN_U8("graphics/pokemon/grumpig/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8131,11 +12068,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SPINDA #if P_FAMILY_TRAPINCH +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/anim_front.4bpp.lz"); const u32 gMonPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/normal.gbapal.lz"); const u32 gMonBackPic_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/back.4bpp.lz"); const u32 gMonShinyPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Trapinch[] = INCBIN_U8("graphics/pokemon/trapinch/icon.4bpp"); +#else + const u8 gMonIcon_Trapinch[] = INCBIN_U8("graphics/pokemon/trapinch/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Trapinch[] = INCBIN_U8("graphics/pokemon/trapinch/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8147,11 +12095,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/anim_front.4bpp.lz"); const u32 gMonPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/normal.gbapal.lz"); const u32 gMonBackPic_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/back.4bpp.lz"); const u32 gMonShinyPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Vibrava[] = INCBIN_U8("graphics/pokemon/vibrava/icon.4bpp"); +#else + const u8 gMonIcon_Vibrava[] = INCBIN_U8("graphics/pokemon/vibrava/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Vibrava[] = INCBIN_U8("graphics/pokemon/vibrava/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8163,11 +12122,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/anim_front.4bpp.lz"); const u32 gMonPalette_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/normal.gbapal.lz"); const u32 gMonBackPic_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/back.4bpp.lz"); const u32 gMonShinyPalette_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Flygon[] = INCBIN_U8("graphics/pokemon/flygon/icon.4bpp"); +#else + const u8 gMonIcon_Flygon[] = INCBIN_U8("graphics/pokemon/flygon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Flygon[] = INCBIN_U8("graphics/pokemon/flygon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8181,11 +12151,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_TRAPINCH #if P_FAMILY_CACNEA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/anim_front.4bpp.lz"); const u32 gMonPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/normal.gbapal.lz"); const u32 gMonBackPic_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/back.4bpp.lz"); const u32 gMonShinyPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Cacnea[] = INCBIN_U8("graphics/pokemon/cacnea/icon.4bpp"); +#else + const u8 gMonIcon_Cacnea[] = INCBIN_U8("graphics/pokemon/cacnea/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Cacnea[] = INCBIN_U8("graphics/pokemon/cacnea/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8197,11 +12178,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/anim_front.4bpp.lz"); const u32 gMonPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/normal.gbapal.lz"); const u32 gMonBackPic_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/back.4bpp.lz"); const u32 gMonShinyPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Cacturne[] = INCBIN_U8("graphics/pokemon/cacturne/icon.4bpp"); +#else + const u8 gMonIcon_Cacturne[] = INCBIN_U8("graphics/pokemon/cacturne/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Cacturne[] = INCBIN_U8("graphics/pokemon/cacturne/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8213,15 +12205,31 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_CacturneF[] = INCBIN_U32("graphics/pokemon/cacturne/anim_frontf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_CacturneF[] = INCBIN_COMP("graphics/pokemon/cacturne/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_CACNEA #if P_FAMILY_SWABLU +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/anim_front.4bpp.lz"); const u32 gMonPalette_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/normal.gbapal.lz"); const u32 gMonBackPic_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/back.4bpp.lz"); const u32 gMonShinyPalette_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Swablu[] = INCBIN_U8("graphics/pokemon/swablu/icon.4bpp"); +#else + const u8 gMonIcon_Swablu[] = INCBIN_U8("graphics/pokemon/swablu/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Swablu[] = INCBIN_U8("graphics/pokemon/swablu/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8233,11 +12241,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/anim_front.4bpp.lz"); const u32 gMonPalette_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/normal.gbapal.lz"); const u32 gMonBackPic_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/back.4bpp.lz"); const u32 gMonShinyPalette_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Altaria[] = INCBIN_U8("graphics/pokemon/altaria/icon.4bpp"); +#else + const u8 gMonIcon_Altaria[] = INCBIN_U8("graphics/pokemon/altaria/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Altaria[] = INCBIN_U8("graphics/pokemon/altaria/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8266,11 +12285,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SWABLU #if P_FAMILY_ZANGOOSE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/anim_front.4bpp.lz"); const u32 gMonPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/normal.gbapal.lz"); const u32 gMonBackPic_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/back.4bpp.lz"); const u32 gMonShinyPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Zangoose[] = INCBIN_U8("graphics/pokemon/zangoose/icon.4bpp"); +#else + const u8 gMonIcon_Zangoose[] = INCBIN_U8("graphics/pokemon/zangoose/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Zangoose[] = INCBIN_U8("graphics/pokemon/zangoose/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8284,11 +12314,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_ZANGOOSE #if P_FAMILY_SEVIPER +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/anim_front.4bpp.lz"); const u32 gMonPalette_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/normal.gbapal.lz"); const u32 gMonBackPic_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/back.4bpp.lz"); const u32 gMonShinyPalette_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Seviper[] = INCBIN_U8("graphics/pokemon/seviper/icon.4bpp"); +#else + const u8 gMonIcon_Seviper[] = INCBIN_U8("graphics/pokemon/seviper/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Seviper[] = INCBIN_U8("graphics/pokemon/seviper/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8302,11 +12343,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SEVIPER #if P_FAMILY_LUNATONE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/anim_front.4bpp.lz"); const u32 gMonPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/normal.gbapal.lz"); const u32 gMonBackPic_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/back.4bpp.lz"); const u32 gMonShinyPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Lunatone[] = INCBIN_U8("graphics/pokemon/lunatone/icon.4bpp"); +#else + const u8 gMonIcon_Lunatone[] = INCBIN_U8("graphics/pokemon/lunatone/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Lunatone[] = INCBIN_U8("graphics/pokemon/lunatone/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8320,11 +12372,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_LUNATONE #if P_FAMILY_SOLROCK +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/anim_front.4bpp.lz"); const u32 gMonPalette_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/normal.gbapal.lz"); const u32 gMonBackPic_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/back.4bpp.lz"); const u32 gMonShinyPalette_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Solrock[] = INCBIN_U8("graphics/pokemon/solrock/icon.4bpp"); +#else + const u8 gMonIcon_Solrock[] = INCBIN_U8("graphics/pokemon/solrock/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Solrock[] = INCBIN_U8("graphics/pokemon/solrock/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8338,11 +12401,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SOLROCK #if P_FAMILY_BARBOACH +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/anim_front.4bpp.lz"); const u32 gMonPalette_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/normal.gbapal.lz"); const u32 gMonBackPic_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/back.4bpp.lz"); const u32 gMonShinyPalette_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Barboach[] = INCBIN_U8("graphics/pokemon/barboach/icon.4bpp"); +#else + const u8 gMonIcon_Barboach[] = INCBIN_U8("graphics/pokemon/barboach/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Barboach[] = INCBIN_U8("graphics/pokemon/barboach/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8354,11 +12428,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/anim_front.4bpp.lz"); const u32 gMonPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/normal.gbapal.lz"); const u32 gMonBackPic_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/back.4bpp.lz"); const u32 gMonShinyPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Whiscash[] = INCBIN_U8("graphics/pokemon/whiscash/icon.4bpp"); +#else + const u8 gMonIcon_Whiscash[] = INCBIN_U8("graphics/pokemon/whiscash/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Whiscash[] = INCBIN_U8("graphics/pokemon/whiscash/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8372,11 +12457,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_BARBOACH #if P_FAMILY_CORPHISH +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/anim_front.4bpp.lz"); const u32 gMonPalette_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/normal.gbapal.lz"); const u32 gMonBackPic_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/back.4bpp.lz"); const u32 gMonShinyPalette_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Corphish[] = INCBIN_U8("graphics/pokemon/corphish/icon.4bpp"); +#else + const u8 gMonIcon_Corphish[] = INCBIN_U8("graphics/pokemon/corphish/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Corphish[] = INCBIN_U8("graphics/pokemon/corphish/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8388,11 +12484,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/anim_front.4bpp.lz"); const u32 gMonPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/normal.gbapal.lz"); const u32 gMonBackPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/back.4bpp.lz"); const u32 gMonShinyPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Crawdaunt[] = INCBIN_U8("graphics/pokemon/crawdaunt/icon.4bpp"); +#else + const u8 gMonIcon_Crawdaunt[] = INCBIN_U8("graphics/pokemon/crawdaunt/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Crawdaunt[] = INCBIN_U8("graphics/pokemon/crawdaunt/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8406,11 +12513,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_CORPHISH #if P_FAMILY_BALTOY +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/anim_front.4bpp.lz"); const u32 gMonPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/normal.gbapal.lz"); const u32 gMonBackPic_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/back.4bpp.lz"); const u32 gMonShinyPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Baltoy[] = INCBIN_U8("graphics/pokemon/baltoy/icon.4bpp"); +#else + const u8 gMonIcon_Baltoy[] = INCBIN_U8("graphics/pokemon/baltoy/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Baltoy[] = INCBIN_U8("graphics/pokemon/baltoy/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8422,11 +12540,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/anim_front.4bpp.lz"); const u32 gMonPalette_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/normal.gbapal.lz"); const u32 gMonBackPic_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/back.4bpp.lz"); const u32 gMonShinyPalette_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Claydol[] = INCBIN_U8("graphics/pokemon/claydol/icon.4bpp"); +#else + const u8 gMonIcon_Claydol[] = INCBIN_U8("graphics/pokemon/claydol/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Claydol[] = INCBIN_U8("graphics/pokemon/claydol/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8440,11 +12569,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_BALTOY #if P_FAMILY_LILEEP +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/anim_front.4bpp.lz"); const u32 gMonPalette_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/normal.gbapal.lz"); const u32 gMonBackPic_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/back.4bpp.lz"); const u32 gMonShinyPalette_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Lileep[] = INCBIN_U8("graphics/pokemon/lileep/icon.4bpp"); +#else + const u8 gMonIcon_Lileep[] = INCBIN_U8("graphics/pokemon/lileep/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Lileep[] = INCBIN_U8("graphics/pokemon/lileep/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8456,11 +12596,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/anim_front.4bpp.lz"); const u32 gMonPalette_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/normal.gbapal.lz"); const u32 gMonBackPic_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/back.4bpp.lz"); const u32 gMonShinyPalette_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Cradily[] = INCBIN_U8("graphics/pokemon/cradily/icon.4bpp"); +#else + const u8 gMonIcon_Cradily[] = INCBIN_U8("graphics/pokemon/cradily/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Cradily[] = INCBIN_U8("graphics/pokemon/cradily/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8474,11 +12625,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_LILEEP #if P_FAMILY_ANORITH +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/anim_front.4bpp.lz"); const u32 gMonPalette_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/normal.gbapal.lz"); const u32 gMonBackPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/back.4bpp.lz"); const u32 gMonShinyPalette_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Anorith[] = INCBIN_U8("graphics/pokemon/anorith/icon.4bpp"); +#else + const u8 gMonIcon_Anorith[] = INCBIN_U8("graphics/pokemon/anorith/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Anorith[] = INCBIN_U8("graphics/pokemon/anorith/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8490,11 +12652,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/anim_front.4bpp.lz"); const u32 gMonPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/normal.gbapal.lz"); const u32 gMonBackPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/back.4bpp.lz"); const u32 gMonShinyPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Armaldo[] = INCBIN_U8("graphics/pokemon/armaldo/icon.4bpp"); +#else + const u8 gMonIcon_Armaldo[] = INCBIN_U8("graphics/pokemon/armaldo/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Armaldo[] = INCBIN_U8("graphics/pokemon/armaldo/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8508,11 +12681,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_ANORITH #if P_FAMILY_FEEBAS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/anim_front.4bpp.lz"); const u32 gMonPalette_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/normal.gbapal.lz"); const u32 gMonBackPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/back.4bpp.lz"); const u32 gMonShinyPalette_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Feebas[] = INCBIN_U8("graphics/pokemon/feebas/icon.4bpp"); +#else + const u8 gMonIcon_Feebas[] = INCBIN_U8("graphics/pokemon/feebas/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Feebas[] = INCBIN_U8("graphics/pokemon/feebas/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8524,11 +12708,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/anim_front.4bpp.lz"); const u32 gMonPalette_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/normal.gbapal.lz"); const u32 gMonBackPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/back.4bpp.lz"); const u32 gMonShinyPalette_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Milotic[] = INCBIN_U8("graphics/pokemon/milotic/icon.4bpp"); +#else + const u8 gMonIcon_Milotic[] = INCBIN_U8("graphics/pokemon/milotic/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Milotic[] = INCBIN_U8("graphics/pokemon/milotic/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8540,8 +12735,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_MiloticF[] = INCBIN_U32("graphics/pokemon/milotic/anim_frontf.4bpp.lz"); const u32 gMonBackPic_MiloticF[] = INCBIN_U32("graphics/pokemon/milotic/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_MiloticF[] = INCBIN_COMP("graphics/pokemon/milotic/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_FEEBAS #if P_FAMILY_CASTFORM @@ -8591,11 +12791,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_CASTFORM #if P_FAMILY_KECLEON +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/anim_front.4bpp.lz"); const u32 gMonPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/normal.gbapal.lz"); const u32 gMonBackPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/back.4bpp.lz"); const u32 gMonShinyPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Kecleon[] = INCBIN_U8("graphics/pokemon/kecleon/icon.4bpp"); +#else + const u8 gMonIcon_Kecleon[] = INCBIN_U8("graphics/pokemon/kecleon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Kecleon[] = INCBIN_U8("graphics/pokemon/kecleon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8609,11 +12820,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_KECLEON #if P_FAMILY_SHUPPET +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/anim_front.4bpp.lz"); const u32 gMonPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/normal.gbapal.lz"); const u32 gMonBackPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/back.4bpp.lz"); const u32 gMonShinyPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Shuppet[] = INCBIN_U8("graphics/pokemon/shuppet/icon.4bpp"); +#else + const u8 gMonIcon_Shuppet[] = INCBIN_U8("graphics/pokemon/shuppet/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Shuppet[] = INCBIN_U8("graphics/pokemon/shuppet/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8625,11 +12847,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/anim_front.4bpp.lz"); const u32 gMonPalette_Banette[] = INCBIN_U32("graphics/pokemon/banette/normal.gbapal.lz"); const u32 gMonBackPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/back.4bpp.lz"); const u32 gMonShinyPalette_Banette[] = INCBIN_U32("graphics/pokemon/banette/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Banette[] = INCBIN_U32("graphics/pokemon/banette/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Banette[] = INCBIN_U32("graphics/pokemon/banette/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Banette[] = INCBIN_U8("graphics/pokemon/banette/icon.4bpp"); +#else + const u8 gMonIcon_Banette[] = INCBIN_U8("graphics/pokemon/banette/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Banette[] = INCBIN_U8("graphics/pokemon/banette/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8658,11 +12891,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SHUPPET #if P_FAMILY_DUSKULL +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/anim_front.4bpp.lz"); const u32 gMonPalette_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/normal.gbapal.lz"); const u32 gMonBackPic_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/back.4bpp.lz"); const u32 gMonShinyPalette_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Duskull[] = INCBIN_U8("graphics/pokemon/duskull/icon.4bpp"); +#else + const u8 gMonIcon_Duskull[] = INCBIN_U8("graphics/pokemon/duskull/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Duskull[] = INCBIN_U8("graphics/pokemon/duskull/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8674,11 +12918,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/anim_front.4bpp.lz"); const u32 gMonPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/normal.gbapal.lz"); const u32 gMonBackPic_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/back.4bpp.lz"); const u32 gMonShinyPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Dusclops[] = INCBIN_U8("graphics/pokemon/dusclops/icon.4bpp"); +#else + const u8 gMonIcon_Dusclops[] = INCBIN_U8("graphics/pokemon/dusclops/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Dusclops[] = INCBIN_U8("graphics/pokemon/dusclops/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8710,11 +12965,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_DUSKULL #if P_FAMILY_TROPIUS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/anim_front.4bpp.lz"); const u32 gMonPalette_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/normal.gbapal.lz"); const u32 gMonBackPic_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/back.4bpp.lz"); const u32 gMonShinyPalette_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Tropius[] = INCBIN_U8("graphics/pokemon/tropius/icon.4bpp"); +#else + const u8 gMonIcon_Tropius[] = INCBIN_U8("graphics/pokemon/tropius/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Tropius[] = INCBIN_U8("graphics/pokemon/tropius/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8746,11 +13012,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GEN_4_CROSS_EVOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/anim_front.4bpp.lz"); const u32 gMonPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/normal.gbapal.lz"); const u32 gMonBackPic_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/back.4bpp.lz"); const u32 gMonShinyPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Chimecho[] = INCBIN_U8("graphics/pokemon/chimecho/icon.4bpp"); +#else + const u8 gMonIcon_Chimecho[] = INCBIN_U8("graphics/pokemon/chimecho/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Chimecho[] = INCBIN_U8("graphics/pokemon/chimecho/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8764,11 +13041,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_CHIMECHO #if P_FAMILY_ABSOL +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Absol[] = INCBIN_U32("graphics/pokemon/absol/anim_front.4bpp.lz"); const u32 gMonPalette_Absol[] = INCBIN_U32("graphics/pokemon/absol/normal.gbapal.lz"); const u32 gMonBackPic_Absol[] = INCBIN_U32("graphics/pokemon/absol/back.4bpp.lz"); const u32 gMonShinyPalette_Absol[] = INCBIN_U32("graphics/pokemon/absol/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Absol[] = INCBIN_U32("graphics/pokemon/absol/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Absol[] = INCBIN_U32("graphics/pokemon/absol/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Absol[] = INCBIN_U32("graphics/pokemon/absol/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Absol[] = INCBIN_U32("graphics/pokemon/absol/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Absol[] = INCBIN_U8("graphics/pokemon/absol/icon.4bpp"); +#else + const u8 gMonIcon_Absol[] = INCBIN_U8("graphics/pokemon/absol/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Absol[] = INCBIN_U8("graphics/pokemon/absol/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8797,11 +13085,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_ABSOL #if P_FAMILY_SNORUNT +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/anim_front.4bpp.lz"); const u32 gMonPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/normal.gbapal.lz"); const u32 gMonBackPic_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/back.4bpp.lz"); const u32 gMonShinyPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Snorunt[] = INCBIN_U8("graphics/pokemon/snorunt/icon.4bpp"); +#else + const u8 gMonIcon_Snorunt[] = INCBIN_U8("graphics/pokemon/snorunt/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Snorunt[] = INCBIN_U8("graphics/pokemon/snorunt/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8813,11 +13112,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/anim_front.4bpp.lz"); const u32 gMonPalette_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/normal.gbapal.lz"); const u32 gMonBackPic_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/back.4bpp.lz"); const u32 gMonShinyPalette_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Glalie[] = INCBIN_U8("graphics/pokemon/glalie/icon.4bpp"); +#else + const u8 gMonIcon_Glalie[] = INCBIN_U8("graphics/pokemon/glalie/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Glalie[] = INCBIN_U8("graphics/pokemon/glalie/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8864,11 +13174,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SNORUNT #if P_FAMILY_SPHEAL +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/anim_front.4bpp.lz"); const u32 gMonPalette_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/normal.gbapal.lz"); const u32 gMonBackPic_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/back.4bpp.lz"); const u32 gMonShinyPalette_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Spheal[] = INCBIN_U8("graphics/pokemon/spheal/icon.4bpp"); +#else + const u8 gMonIcon_Spheal[] = INCBIN_U8("graphics/pokemon/spheal/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Spheal[] = INCBIN_U8("graphics/pokemon/spheal/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8880,11 +13201,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/anim_front.4bpp.lz"); const u32 gMonPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/normal.gbapal.lz"); const u32 gMonBackPic_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/back.4bpp.lz"); const u32 gMonShinyPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Sealeo[] = INCBIN_U8("graphics/pokemon/sealeo/icon.4bpp"); +#else + const u8 gMonIcon_Sealeo[] = INCBIN_U8("graphics/pokemon/sealeo/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Sealeo[] = INCBIN_U8("graphics/pokemon/sealeo/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8896,11 +13228,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/anim_front.4bpp.lz"); const u32 gMonPalette_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/normal.gbapal.lz"); const u32 gMonBackPic_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/back.4bpp.lz"); const u32 gMonShinyPalette_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Walrein[] = INCBIN_U8("graphics/pokemon/walrein/icon.4bpp"); +#else + const u8 gMonIcon_Walrein[] = INCBIN_U8("graphics/pokemon/walrein/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Walrein[] = INCBIN_U8("graphics/pokemon/walrein/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8914,11 +13257,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_SPHEAL #if P_FAMILY_CLAMPERL +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/anim_front.4bpp.lz"); const u32 gMonPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/normal.gbapal.lz"); const u32 gMonBackPic_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/back.4bpp.lz"); const u32 gMonShinyPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Clamperl[] = INCBIN_U8("graphics/pokemon/clamperl/icon.4bpp"); +#else + const u8 gMonIcon_Clamperl[] = INCBIN_U8("graphics/pokemon/clamperl/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Clamperl[] = INCBIN_U8("graphics/pokemon/clamperl/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8930,11 +13284,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/anim_front.4bpp.lz"); const u32 gMonPalette_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/normal.gbapal.lz"); const u32 gMonBackPic_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/back.4bpp.lz"); const u32 gMonShinyPalette_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Huntail[] = INCBIN_U8("graphics/pokemon/huntail/icon.4bpp"); +#else + const u8 gMonIcon_Huntail[] = INCBIN_U8("graphics/pokemon/huntail/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Huntail[] = INCBIN_U8("graphics/pokemon/huntail/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8946,11 +13311,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/anim_front.4bpp.lz"); const u32 gMonPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/normal.gbapal.lz"); const u32 gMonBackPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/back.4bpp.lz"); const u32 gMonShinyPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Gorebyss[] = INCBIN_U8("graphics/pokemon/gorebyss/icon.4bpp"); +#else + const u8 gMonIcon_Gorebyss[] = INCBIN_U8("graphics/pokemon/gorebyss/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Gorebyss[] = INCBIN_U8("graphics/pokemon/gorebyss/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8964,11 +13340,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_CLAMPERL #if P_FAMILY_RELICANTH +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/anim_front.4bpp.lz"); const u32 gMonPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/normal.gbapal.lz"); const u32 gMonBackPic_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/back.4bpp.lz"); const u32 gMonShinyPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Relicanth[] = INCBIN_U8("graphics/pokemon/relicanth/icon.4bpp"); +#else + const u8 gMonIcon_Relicanth[] = INCBIN_U8("graphics/pokemon/relicanth/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Relicanth[] = INCBIN_U8("graphics/pokemon/relicanth/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -8980,16 +13367,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_RelicanthF[] = INCBIN_U32("graphics/pokemon/relicanth/anim_frontf.4bpp.lz"); const u32 gMonBackPic_RelicanthF[] = INCBIN_U32("graphics/pokemon/relicanth/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_RelicanthF[] = INCBIN_COMP("graphics/pokemon/relicanth/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_RELICANTH #if P_FAMILY_LUVDISC +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/anim_front.4bpp.lz"); const u32 gMonPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/normal.gbapal.lz"); const u32 gMonBackPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/back.4bpp.lz"); const u32 gMonShinyPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Luvdisc[] = INCBIN_U8("graphics/pokemon/luvdisc/icon.4bpp"); +#else + const u8 gMonIcon_Luvdisc[] = INCBIN_U8("graphics/pokemon/luvdisc/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Luvdisc[] = INCBIN_U8("graphics/pokemon/luvdisc/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9003,11 +13406,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_LUVDISC #if P_FAMILY_BAGON +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/anim_front.4bpp.lz"); const u32 gMonPalette_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/normal.gbapal.lz"); const u32 gMonBackPic_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/back.4bpp.lz"); const u32 gMonShinyPalette_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Bagon[] = INCBIN_U8("graphics/pokemon/bagon/icon.4bpp"); +#else + const u8 gMonIcon_Bagon[] = INCBIN_U8("graphics/pokemon/bagon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Bagon[] = INCBIN_U8("graphics/pokemon/bagon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9019,11 +13433,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/anim_front.4bpp.lz"); const u32 gMonPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/normal.gbapal.lz"); const u32 gMonBackPic_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/back.4bpp.lz"); const u32 gMonShinyPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Shelgon[] = INCBIN_U8("graphics/pokemon/shelgon/icon.4bpp"); +#else + const u8 gMonIcon_Shelgon[] = INCBIN_U8("graphics/pokemon/shelgon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Shelgon[] = INCBIN_U8("graphics/pokemon/shelgon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9035,11 +13460,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/anim_front.4bpp.lz"); const u32 gMonPalette_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/normal.gbapal.lz"); const u32 gMonBackPic_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/back.4bpp.lz"); const u32 gMonShinyPalette_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Salamence[] = INCBIN_U8("graphics/pokemon/salamence/icon.4bpp"); +#else + const u8 gMonIcon_Salamence[] = INCBIN_U8("graphics/pokemon/salamence/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Salamence[] = INCBIN_U8("graphics/pokemon/salamence/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9068,11 +13504,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_BAGON #if P_FAMILY_BELDUM +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/anim_front.4bpp.lz"); const u32 gMonPalette_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/normal.gbapal.lz"); const u32 gMonBackPic_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/back.4bpp.lz"); const u32 gMonShinyPalette_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Beldum[] = INCBIN_U8("graphics/pokemon/beldum/icon.4bpp"); +#else + const u8 gMonIcon_Beldum[] = INCBIN_U8("graphics/pokemon/beldum/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Beldum[] = INCBIN_U8("graphics/pokemon/beldum/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9084,11 +13531,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Metang[] = INCBIN_U32("graphics/pokemon/metang/anim_front.4bpp.lz"); const u32 gMonPalette_Metang[] = INCBIN_U32("graphics/pokemon/metang/normal.gbapal.lz"); const u32 gMonBackPic_Metang[] = INCBIN_U32("graphics/pokemon/metang/back.4bpp.lz"); const u32 gMonShinyPalette_Metang[] = INCBIN_U32("graphics/pokemon/metang/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Metang[] = INCBIN_U32("graphics/pokemon/metang/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Metang[] = INCBIN_U32("graphics/pokemon/metang/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Metang[] = INCBIN_U32("graphics/pokemon/metang/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Metang[] = INCBIN_U32("graphics/pokemon/metang/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Metang[] = INCBIN_U8("graphics/pokemon/metang/icon.4bpp"); +#else + const u8 gMonIcon_Metang[] = INCBIN_U8("graphics/pokemon/metang/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Metang[] = INCBIN_U8("graphics/pokemon/metang/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9100,11 +13558,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/anim_front.4bpp.lz"); const u32 gMonPalette_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/normal.gbapal.lz"); const u32 gMonBackPic_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/back.4bpp.lz"); const u32 gMonShinyPalette_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Metagross[] = INCBIN_U8("graphics/pokemon/metagross/icon.4bpp"); +#else + const u8 gMonIcon_Metagross[] = INCBIN_U8("graphics/pokemon/metagross/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Metagross[] = INCBIN_U8("graphics/pokemon/metagross/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9133,11 +13602,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_BELDUM #if P_FAMILY_REGIROCK +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/anim_front.4bpp.lz"); const u32 gMonPalette_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/normal.gbapal.lz"); const u32 gMonBackPic_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/back.4bpp.lz"); const u32 gMonShinyPalette_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Regirock[] = INCBIN_U8("graphics/pokemon/regirock/icon.4bpp"); +#else + const u8 gMonIcon_Regirock[] = INCBIN_U8("graphics/pokemon/regirock/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Regirock[] = INCBIN_U8("graphics/pokemon/regirock/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9151,11 +13631,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_REGIROCK #if P_FAMILY_REGICE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Regice[] = INCBIN_U32("graphics/pokemon/regice/anim_front.4bpp.lz"); const u32 gMonPalette_Regice[] = INCBIN_U32("graphics/pokemon/regice/normal.gbapal.lz"); const u32 gMonBackPic_Regice[] = INCBIN_U32("graphics/pokemon/regice/back.4bpp.lz"); const u32 gMonShinyPalette_Regice[] = INCBIN_U32("graphics/pokemon/regice/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Regice[] = INCBIN_U32("graphics/pokemon/regice/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Regice[] = INCBIN_U32("graphics/pokemon/regice/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Regice[] = INCBIN_U32("graphics/pokemon/regice/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Regice[] = INCBIN_U32("graphics/pokemon/regice/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Regice[] = INCBIN_U8("graphics/pokemon/regice/icon.4bpp"); +#else + const u8 gMonIcon_Regice[] = INCBIN_U8("graphics/pokemon/regice/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Regice[] = INCBIN_U8("graphics/pokemon/regice/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9169,11 +13660,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_REGICE #if P_FAMILY_REGISTEEL +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/anim_front.4bpp.lz"); const u32 gMonPalette_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/normal.gbapal.lz"); const u32 gMonBackPic_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/back.4bpp.lz"); const u32 gMonShinyPalette_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Registeel[] = INCBIN_U8("graphics/pokemon/registeel/icon.4bpp"); +#else + const u8 gMonIcon_Registeel[] = INCBIN_U8("graphics/pokemon/registeel/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Registeel[] = INCBIN_U8("graphics/pokemon/registeel/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9187,11 +13689,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_REGISTEEL #if P_FAMILY_LATIAS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Latias[] = INCBIN_U32("graphics/pokemon/latias/anim_front.4bpp.lz"); const u32 gMonPalette_Latias[] = INCBIN_U32("graphics/pokemon/latias/normal.gbapal.lz"); const u32 gMonBackPic_Latias[] = INCBIN_U32("graphics/pokemon/latias/back.4bpp.lz"); const u32 gMonShinyPalette_Latias[] = INCBIN_U32("graphics/pokemon/latias/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Latias[] = INCBIN_U32("graphics/pokemon/latias/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Latias[] = INCBIN_U32("graphics/pokemon/latias/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Latias[] = INCBIN_U32("graphics/pokemon/latias/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Latias[] = INCBIN_U32("graphics/pokemon/latias/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Latias[] = INCBIN_U8("graphics/pokemon/latias/icon.4bpp"); +#else + const u8 gMonIcon_Latias[] = INCBIN_U8("graphics/pokemon/latias/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Latias[] = INCBIN_U8("graphics/pokemon/latias/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9220,11 +13733,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_LATIAS #if P_FAMILY_LATIOS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Latios[] = INCBIN_U32("graphics/pokemon/latios/anim_front.4bpp.lz"); const u32 gMonPalette_Latios[] = INCBIN_U32("graphics/pokemon/latios/normal.gbapal.lz"); const u32 gMonBackPic_Latios[] = INCBIN_U32("graphics/pokemon/latios/back.4bpp.lz"); const u32 gMonShinyPalette_Latios[] = INCBIN_U32("graphics/pokemon/latios/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Latios[] = INCBIN_U32("graphics/pokemon/latios/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Latios[] = INCBIN_U32("graphics/pokemon/latios/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Latios[] = INCBIN_U32("graphics/pokemon/latios/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Latios[] = INCBIN_U32("graphics/pokemon/latios/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Latios[] = INCBIN_U8("graphics/pokemon/latios/icon.4bpp"); +#else + const u8 gMonIcon_Latios[] = INCBIN_U8("graphics/pokemon/latios/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Latios[] = INCBIN_U8("graphics/pokemon/latios/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9253,11 +13777,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_LATIOS #if P_FAMILY_KYOGRE +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/anim_front.4bpp.lz"); const u32 gMonPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/normal.gbapal.lz"); const u32 gMonBackPic_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/back.4bpp.lz"); const u32 gMonShinyPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Kyogre[] = INCBIN_U8("graphics/pokemon/kyogre/icon.4bpp"); +#else + const u8 gMonIcon_Kyogre[] = INCBIN_U8("graphics/pokemon/kyogre/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Kyogre[] = INCBIN_U8("graphics/pokemon/kyogre/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9286,11 +13821,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_KYOGRE #if P_FAMILY_GROUDON +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/anim_front.4bpp.lz"); const u32 gMonPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/normal.gbapal.lz"); const u32 gMonBackPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/back.4bpp.lz"); const u32 gMonShinyPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Groudon[] = INCBIN_U8("graphics/pokemon/groudon/icon.4bpp"); +#else + const u8 gMonIcon_Groudon[] = INCBIN_U8("graphics/pokemon/groudon/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Groudon[] = INCBIN_U8("graphics/pokemon/groudon/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9319,11 +13865,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_GROUDON #if P_FAMILY_RAYQUAZA +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/anim_front.4bpp.lz"); const u32 gMonPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/normal.gbapal.lz"); const u32 gMonBackPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/back.4bpp.lz"); const u32 gMonShinyPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Rayquaza[] = INCBIN_U8("graphics/pokemon/rayquaza/icon.4bpp"); +#else + const u8 gMonIcon_Rayquaza[] = INCBIN_U8("graphics/pokemon/rayquaza/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Rayquaza[] = INCBIN_U8("graphics/pokemon/rayquaza/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9352,11 +13909,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_RAYQUAZA #if P_FAMILY_JIRACHI +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/anim_front.4bpp.lz"); const u32 gMonPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/normal.gbapal.lz"); const u32 gMonBackPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/back.4bpp.lz"); const u32 gMonShinyPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/normal_gba.gbapal.lz"); + const u32 gMonBackPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/icon.4bpp"); +#else + const u8 gMonIcon_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9370,11 +13938,22 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_JIRACHI #if P_FAMILY_DEOXYS +#if !P_GBA_STYLE_SPECIES_GFX const u32 gMonFrontPic_DeoxysNormal[] = INCBIN_U32("graphics/pokemon/deoxys/anim_front.4bpp.lz"); const u32 gMonPalette_DeoxysNormal[] = INCBIN_U32("graphics/pokemon/deoxys/normal.gbapal.lz"); const u32 gMonBackPic_DeoxysNormal[] = INCBIN_U32("graphics/pokemon/deoxys/back.4bpp.lz"); const u32 gMonShinyPalette_DeoxysNormal[] = INCBIN_U32("graphics/pokemon/deoxys/shiny.gbapal.lz"); +#else + const u32 gMonFrontPic_DeoxysNormal[] = INCBIN_U32("graphics/pokemon/deoxys/anim_front_gba.4bpp.lz"); + const u32 gMonPalette_DeoxysNormal[] = INCBIN_U32("graphics/pokemon/deoxys/normal_gba.gbapal.lz"); + const u32 gMonBackPic_DeoxysNormal[] = INCBIN_U32("graphics/pokemon/deoxys/back_gba.4bpp.lz"); + const u32 gMonShinyPalette_DeoxysNormal[] = INCBIN_U32("graphics/pokemon/deoxys/shiny_gba.gbapal.lz"); +#endif //P_GBA_STYLE_SPECIES_GFX +#if !P_GBA_STYLE_SPECIES_ICONS const u8 gMonIcon_DeoxysNormal[] = INCBIN_U8("graphics/pokemon/deoxys/icon.4bpp"); +#else + const u8 gMonIcon_DeoxysNormal[] = INCBIN_U8("graphics/pokemon/deoxys/icon_gba.4bpp"); +#endif //P_GBA_STYLE_SPECIES_ICONS #if P_FOOTPRINTS const u8 gMonFootprint_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/footprint.1bpp"); #endif //P_FOOTPRINTS @@ -9582,8 +14161,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_StarlyF[] = INCBIN_U32("graphics/pokemon/starly/anim_frontf.4bpp.lz"); const u32 gMonBackPic_StarlyF[] = INCBIN_U32("graphics/pokemon/starly/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_StarlyF[] = INCBIN_COMP("graphics/pokemon/starly/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES const u32 gMonFrontPic_Staravia[] = INCBIN_U32("graphics/pokemon/staravia/anim_front.4bpp.lz"); const u32 gMonPalette_Staravia[] = INCBIN_U32("graphics/pokemon/staravia/normal.gbapal.lz"); @@ -9601,8 +14185,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_StaraviaF[] = INCBIN_U32("graphics/pokemon/staravia/anim_frontf.4bpp.lz"); const u32 gMonBackPic_StaraviaF[] = INCBIN_U32("graphics/pokemon/staravia/back.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_StaraviaF[] = INCBIN_COMP("graphics/pokemon/staravia/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES const u32 gMonFrontPic_Staraptor[] = INCBIN_U32("graphics/pokemon/staraptor/anim_front.4bpp.lz"); const u32 gMonPalette_Staraptor[] = INCBIN_U32("graphics/pokemon/staraptor/normal.gbapal.lz"); @@ -9620,7 +14209,12 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_StaraptorF[] = INCBIN_U32("graphics/pokemon/staraptor/anim_frontf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_StaraptorF[] = INCBIN_COMP("graphics/pokemon/staraptor/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_STARLY #if P_FAMILY_BIDOOF @@ -9640,8 +14234,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_BidoofF[] = INCBIN_U32("graphics/pokemon/bidoof/anim_frontf.4bpp.lz"); const u32 gMonBackPic_BidoofF[] = INCBIN_U32("graphics/pokemon/bidoof/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_BidoofF[] = INCBIN_COMP("graphics/pokemon/bidoof/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES const u32 gMonFrontPic_Bibarel[] = INCBIN_U32("graphics/pokemon/bibarel/anim_front.4bpp.lz"); const u32 gMonPalette_Bibarel[] = INCBIN_U32("graphics/pokemon/bibarel/normal.gbapal.lz"); @@ -9659,7 +14258,12 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_BibarelF[] = INCBIN_U32("graphics/pokemon/bibarel/anim_frontf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_BibarelF[] = INCBIN_COMP("graphics/pokemon/bibarel/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_BIDOOF #if P_FAMILY_KRICKETOT @@ -9679,8 +14283,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_KricketotF[] = INCBIN_U32("graphics/pokemon/kricketot/anim_frontf.4bpp.lz"); const u32 gMonBackPic_KricketotF[] = INCBIN_U32("graphics/pokemon/kricketot/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_KricketotF[] = INCBIN_COMP("graphics/pokemon/kricketot/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES const u32 gMonFrontPic_Kricketune[] = INCBIN_U32("graphics/pokemon/kricketune/anim_front.4bpp.lz"); const u32 gMonPalette_Kricketune[] = INCBIN_U32("graphics/pokemon/kricketune/normal.gbapal.lz"); @@ -9698,8 +14307,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_KricketuneF[] = INCBIN_U32("graphics/pokemon/kricketune/anim_frontf.4bpp.lz"); const u32 gMonBackPic_KricketuneF[] = INCBIN_U32("graphics/pokemon/kricketune/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_KricketuneF[] = INCBIN_COMP("graphics/pokemon/kricketune/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_KRICKETOT #if P_FAMILY_SHINX @@ -9719,8 +14333,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_ShinxF[] = INCBIN_U32("graphics/pokemon/shinx/anim_frontf.4bpp.lz"); const u32 gMonBackPic_ShinxF[] = INCBIN_U32("graphics/pokemon/shinx/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_ShinxF[] = INCBIN_COMP("graphics/pokemon/shinx/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES const u32 gMonFrontPic_Luxio[] = INCBIN_U32("graphics/pokemon/luxio/anim_front.4bpp.lz"); const u32 gMonPalette_Luxio[] = INCBIN_U32("graphics/pokemon/luxio/normal.gbapal.lz"); @@ -9738,8 +14357,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_LuxioF[] = INCBIN_U32("graphics/pokemon/luxio/anim_frontf.4bpp.lz"); const u32 gMonBackPic_LuxioF[] = INCBIN_U32("graphics/pokemon/luxio/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_LuxioF[] = INCBIN_COMP("graphics/pokemon/luxio/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES const u32 gMonFrontPic_Luxray[] = INCBIN_U32("graphics/pokemon/luxray/anim_front.4bpp.lz"); const u32 gMonPalette_Luxray[] = INCBIN_U32("graphics/pokemon/luxray/normal.gbapal.lz"); @@ -9757,8 +14381,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_LuxrayF[] = INCBIN_U32("graphics/pokemon/luxray/anim_frontf.4bpp.lz"); const u32 gMonBackPic_LuxrayF[] = INCBIN_U32("graphics/pokemon/luxray/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_LuxrayF[] = INCBIN_COMP("graphics/pokemon/luxray/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_SHINX #if P_FAMILY_CRANIDOS @@ -9836,32 +14465,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_BurmyPlantCloak[] = INCBIN_U32("graphics/pokemon/burmy/shiny.gbapal.lz"); const u8 gMonIcon_BurmyPlantCloak[] = INCBIN_U8("graphics/pokemon/burmy/icon.4bpp"); #if P_FOOTPRINTS - const u8 gMonFootprint_Burmy[] = INCBIN_U8("graphics/pokemon/burmy/plant/footprint.1bpp"); + const u8 gMonFootprint_Burmy[] = INCBIN_U8("graphics/pokemon/burmy/footprint.1bpp"); #endif //P_FOOTPRINTS - const u32 gMonFrontPic_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/anim_front.4bpp.lz"); - const u32 gMonPalette_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/normal.gbapal.lz"); - const u32 gMonBackPic_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/back.4bpp.lz"); - const u32 gMonShinyPalette_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/shiny.gbapal.lz"); - const u8 gMonIcon_BurmySandyCloak[] = INCBIN_U8("graphics/pokemon/burmy/sandy_cloak/icon.4bpp"); + const u32 gMonFrontPic_BurmySandy[] = INCBIN_U32("graphics/pokemon/burmy/sandy/anim_front.4bpp.lz"); + const u32 gMonPalette_BurmySandy[] = INCBIN_U32("graphics/pokemon/burmy/sandy/normal.gbapal.lz"); + const u32 gMonBackPic_BurmySandy[] = INCBIN_U32("graphics/pokemon/burmy/sandy/back.4bpp.lz"); + const u32 gMonShinyPalette_BurmySandy[] = INCBIN_U32("graphics/pokemon/burmy/sandy/shiny.gbapal.lz"); + const u8 gMonIcon_BurmySandy[] = INCBIN_U8("graphics/pokemon/burmy/sandy/icon.4bpp"); - const u32 gMonFrontPic_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/anim_front.4bpp.lz"); - const u32 gMonPalette_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/normal.gbapal.lz"); - const u32 gMonBackPic_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/back.4bpp.lz"); - const u32 gMonShinyPalette_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/shiny.gbapal.lz"); - const u8 gMonIcon_BurmyTrashCloak[] = INCBIN_U8("graphics/pokemon/burmy/trash_cloak/icon.4bpp"); + const u32 gMonFrontPic_BurmyTrash[] = INCBIN_U32("graphics/pokemon/burmy/trash/anim_front.4bpp.lz"); + const u32 gMonPalette_BurmyTrash[] = INCBIN_U32("graphics/pokemon/burmy/trash/normal.gbapal.lz"); + const u32 gMonBackPic_BurmyTrash[] = INCBIN_U32("graphics/pokemon/burmy/trash/back.4bpp.lz"); + const u32 gMonShinyPalette_BurmyTrash[] = INCBIN_U32("graphics/pokemon/burmy/trash/shiny.gbapal.lz"); + const u8 gMonIcon_BurmyTrash[] = INCBIN_U8("graphics/pokemon/burmy/trash/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS const u32 gObjectEventPic_BurmyPlantCloak[] = INCBIN_COMP("graphics/pokemon/burmy/overworld.4bpp"); - const u32 gObjectEventPic_BurmySandyCloak[] = INCBIN_COMP("graphics/pokemon/burmy/sandy_cloak/overworld.4bpp"); - const u32 gObjectEventPic_BurmyTrashCloak[] = INCBIN_COMP("graphics/pokemon/burmy/trash_cloak/overworld.4bpp"); + const u32 gObjectEventPic_BurmySandy[] = INCBIN_COMP("graphics/pokemon/burmy/sandy/overworld.4bpp"); + const u32 gObjectEventPic_BurmyTrash[] = INCBIN_COMP("graphics/pokemon/burmy/trash/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE const u32 gOverworldPalette_BurmyPlantCloak[] = INCBIN_U32("graphics/pokemon/burmy/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_BurmySandy[] = INCBIN_U32("graphics/pokemon/burmy/sandy/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_BurmyTrash[] = INCBIN_U32("graphics/pokemon/burmy/trash/overworld_normal.gbapal.lz"); const u32 gShinyOverworldPalette_BurmyPlantCloak[] = INCBIN_U32("graphics/pokemon/burmy/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_BurmySandy[] = INCBIN_U32("graphics/pokemon/burmy/sandy/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_BurmyTrash[] = INCBIN_U32("graphics/pokemon/burmy/trash/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS @@ -9871,32 +14500,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_WormadamPlantCloak[] = INCBIN_U32("graphics/pokemon/wormadam/shiny.gbapal.lz"); const u8 gMonIcon_WormadamPlantCloak[] = INCBIN_U8("graphics/pokemon/wormadam/icon.4bpp"); #if P_FOOTPRINTS - const u8 gMonFootprint_Wormadam[] = INCBIN_U8("graphics/pokemon/wormadam/plant/footprint.1bpp"); + const u8 gMonFootprint_Wormadam[] = INCBIN_U8("graphics/pokemon/wormadam/footprint.1bpp"); #endif //P_FOOTPRINTS - const u32 gMonFrontPic_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/anim_front.4bpp.lz"); - const u32 gMonPalette_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/normal.gbapal.lz"); - const u32 gMonBackPic_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/back.4bpp.lz"); - const u32 gMonShinyPalette_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/shiny.gbapal.lz"); - const u8 gMonIcon_WormadamSandyCloak[] = INCBIN_U8("graphics/pokemon/wormadam/sandy_cloak/icon.4bpp"); + const u32 gMonFrontPic_WormadamSandy[] = INCBIN_U32("graphics/pokemon/wormadam/sandy/anim_front.4bpp.lz"); + const u32 gMonPalette_WormadamSandy[] = INCBIN_U32("graphics/pokemon/wormadam/sandy/normal.gbapal.lz"); + const u32 gMonBackPic_WormadamSandy[] = INCBIN_U32("graphics/pokemon/wormadam/sandy/back.4bpp.lz"); + const u32 gMonShinyPalette_WormadamSandy[] = INCBIN_U32("graphics/pokemon/wormadam/sandy/shiny.gbapal.lz"); + const u8 gMonIcon_WormadamSandy[] = INCBIN_U8("graphics/pokemon/wormadam/sandy/icon.4bpp"); - const u32 gMonFrontPic_WormadamTrashCloak[] = INCBIN_U32("graphics/pokemon/wormadam/trash_cloak/anim_front.4bpp.lz"); - const u32 gMonPalette_WormadamTrashCloak[] = INCBIN_U32("graphics/pokemon/wormadam/trash_cloak/normal.gbapal.lz"); - const u32 gMonBackPic_WormadamTrashCloak[] = INCBIN_U32("graphics/pokemon/wormadam/trash_cloak/back.4bpp.lz"); - const u32 gMonShinyPalette_WormadamTrashCloak[] = INCBIN_U32("graphics/pokemon/wormadam/trash_cloak/shiny.gbapal.lz"); - const u8 gMonIcon_WormadamTrashCloak[] = INCBIN_U8("graphics/pokemon/wormadam/trash_cloak/icon.4bpp"); + const u32 gMonFrontPic_WormadamTrash[] = INCBIN_U32("graphics/pokemon/wormadam/trash/anim_front.4bpp.lz"); + const u32 gMonPalette_WormadamTrash[] = INCBIN_U32("graphics/pokemon/wormadam/trash/normal.gbapal.lz"); + const u32 gMonBackPic_WormadamTrash[] = INCBIN_U32("graphics/pokemon/wormadam/trash/back.4bpp.lz"); + const u32 gMonShinyPalette_WormadamTrash[] = INCBIN_U32("graphics/pokemon/wormadam/trash/shiny.gbapal.lz"); + const u8 gMonIcon_WormadamTrash[] = INCBIN_U8("graphics/pokemon/wormadam/trash/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS const u32 gObjectEventPic_WormadamPlantCloak[] = INCBIN_COMP("graphics/pokemon/wormadam/overworld.4bpp"); - const u32 gObjectEventPic_WormadamSandyCloak[] = INCBIN_COMP("graphics/pokemon/wormadam/sandy_cloak/overworld.4bpp"); - const u32 gObjectEventPic_WormadamTrashCloak[] = INCBIN_COMP("graphics/pokemon/wormadam/trash_cloak/overworld.4bpp"); + const u32 gObjectEventPic_WormadamSandy[] = INCBIN_COMP("graphics/pokemon/wormadam/sandy/overworld.4bpp"); + const u32 gObjectEventPic_WormadamTrash[] = INCBIN_COMP("graphics/pokemon/wormadam/trash/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE const u32 gOverworldPalette_WormadamPlantCloak[] = INCBIN_U32("graphics/pokemon/wormadam/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_WormadamTrashCloak[] = INCBIN_U32("graphics/pokemon/wormadam/trash_cloak/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_WormadamSandy[] = INCBIN_U32("graphics/pokemon/wormadam/sandy/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_WormadamTrash[] = INCBIN_U32("graphics/pokemon/wormadam/trash/overworld_normal.gbapal.lz"); const u32 gShinyOverworldPalette_WormadamPlantCloak[] = INCBIN_U32("graphics/pokemon/wormadam/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_WormadamTrashCloak[] = INCBIN_U32("graphics/pokemon/wormadam/trash_cloak/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_WormadamSandy[] = INCBIN_U32("graphics/pokemon/wormadam/sandy/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_WormadamTrash[] = INCBIN_U32("graphics/pokemon/wormadam/trash/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS @@ -9934,11 +14563,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonPalette_CombeeF[] = INCBIN_U32("graphics/pokemon/combee/normalf.gbapal.lz"); const u32 gMonShinyPalette_CombeeF[] = INCBIN_U32("graphics/pokemon/combee/shinyf.gbapal.lz"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_CombeeF[] = INCBIN_COMP("graphics/pokemon/combee/followerf.4bpp"); + const u32 gObjectEventPic_CombeeF[] = INCBIN_COMP("graphics/pokemon/combee/overworldf.4bpp"); #endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES const u32 gMonFrontPic_Vespiquen[] = INCBIN_U32("graphics/pokemon/vespiquen/anim_front.4bpp.lz"); const u32 gMonPalette_Vespiquen[] = INCBIN_U32("graphics/pokemon/vespiquen/normal.gbapal.lz"); @@ -9974,7 +14605,12 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_PachirisuF[] = INCBIN_U32("graphics/pokemon/pachirisu/anim_frontf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_PachirisuF[] = INCBIN_COMP("graphics/pokemon/pachirisu/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_PACHIRISU #if P_FAMILY_BUIZEL @@ -9994,7 +14630,12 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonBackPic_BuizelF[] = INCBIN_U32("graphics/pokemon/buizel/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_BuizelF[] = INCBIN_COMP("graphics/pokemon/buizel/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES const u32 gMonFrontPic_Floatzel[] = INCBIN_U32("graphics/pokemon/floatzel/anim_front.4bpp.lz"); const u32 gMonPalette_Floatzel[] = INCBIN_U32("graphics/pokemon/floatzel/normal.gbapal.lz"); @@ -10012,7 +14653,12 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonBackPic_FloatzelF[] = INCBIN_U32("graphics/pokemon/floatzel/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_FloatzelF[] = INCBIN_COMP("graphics/pokemon/floatzel/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_BUIZEL #if P_FAMILY_CHERUBI @@ -10069,20 +14715,20 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u8 gMonFootprint_Shellos[] = INCBIN_U8("graphics/pokemon/shellos/footprint.1bpp"); #endif //P_FOOTPRINTS - const u32 gMonFrontPic_ShellosEastSea[] = INCBIN_U32("graphics/pokemon/shellos/east_sea/anim_front.4bpp.lz"); - const u32 gMonPalette_ShellosEastSea[] = INCBIN_U32("graphics/pokemon/shellos/east_sea/normal.gbapal.lz"); - const u32 gMonBackPic_ShellosEastSea[] = INCBIN_U32("graphics/pokemon/shellos/east_sea/back.4bpp.lz"); - const u32 gMonShinyPalette_ShellosEastSea[] = INCBIN_U32("graphics/pokemon/shellos/east_sea/shiny.gbapal.lz"); - const u8 gMonIcon_ShellosEastSea[] = INCBIN_U8("graphics/pokemon/shellos/east_sea/icon.4bpp"); + const u32 gMonFrontPic_ShellosEast[] = INCBIN_U32("graphics/pokemon/shellos/east/anim_front.4bpp.lz"); + const u32 gMonPalette_ShellosEast[] = INCBIN_U32("graphics/pokemon/shellos/east/normal.gbapal.lz"); + const u32 gMonBackPic_ShellosEast[] = INCBIN_U32("graphics/pokemon/shellos/east/back.4bpp.lz"); + const u32 gMonShinyPalette_ShellosEast[] = INCBIN_U32("graphics/pokemon/shellos/east/shiny.gbapal.lz"); + const u8 gMonIcon_ShellosEast[] = INCBIN_U8("graphics/pokemon/shellos/east/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS const u32 gObjectEventPic_ShellosWestSea[] = INCBIN_COMP("graphics/pokemon/shellos/overworld.4bpp"); - const u32 gObjectEventPic_ShellosEastSea[] = INCBIN_COMP("graphics/pokemon/shellos/east_sea/overworld.4bpp"); + const u32 gObjectEventPic_ShellosEast[] = INCBIN_COMP("graphics/pokemon/shellos/east/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE const u32 gOverworldPalette_ShellosWestSea[] = INCBIN_U32("graphics/pokemon/shellos/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_ShellosEastSea[] = INCBIN_U32("graphics/pokemon/shellos/east_sea/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_ShellosEast[] = INCBIN_U32("graphics/pokemon/shellos/east/overworld_normal.gbapal.lz"); const u32 gShinyOverworldPalette_ShellosWestSea[] = INCBIN_U32("graphics/pokemon/shellos/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_ShellosEastSea[] = INCBIN_U32("graphics/pokemon/shellos/east_sea/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_ShellosEast[] = INCBIN_U32("graphics/pokemon/shellos/east/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS @@ -10095,19 +14741,19 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u8 gMonFootprint_Gastrodon[] = INCBIN_U8("graphics/pokemon/gastrodon/footprint.1bpp"); #endif //P_FOOTPRINTS - const u32 gMonFrontPic_GastrodonEastSea[] = INCBIN_U32("graphics/pokemon/gastrodon/east_sea/anim_front.4bpp.lz"); - const u32 gMonPalette_GastrodonEastSea[] = INCBIN_U32("graphics/pokemon/gastrodon/east_sea/normal.gbapal.lz"); - const u32 gMonBackPic_GastrodonEastSea[] = INCBIN_U32("graphics/pokemon/gastrodon/east_sea/back.4bpp.lz"); - const u32 gMonShinyPalette_GastrodonEastSea[] = INCBIN_U32("graphics/pokemon/gastrodon/east_sea/shiny.gbapal.lz"); - const u8 gMonIcon_GastrodonEastSea[] = INCBIN_U8("graphics/pokemon/gastrodon/east_sea/icon.4bpp"); + const u32 gMonFrontPic_GastrodonEast[] = INCBIN_U32("graphics/pokemon/gastrodon/east/anim_front.4bpp.lz"); + const u32 gMonPalette_GastrodonEast[] = INCBIN_U32("graphics/pokemon/gastrodon/east/normal.gbapal.lz"); + const u32 gMonBackPic_GastrodonEast[] = INCBIN_U32("graphics/pokemon/gastrodon/east/back.4bpp.lz"); + const u32 gMonShinyPalette_GastrodonEast[] = INCBIN_U32("graphics/pokemon/gastrodon/east/shiny.gbapal.lz"); + const u8 gMonIcon_GastrodonEast[] = INCBIN_U8("graphics/pokemon/gastrodon/east/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS const u32 gObjectEventPic_GastrodonWestSea[] = INCBIN_COMP("graphics/pokemon/gastrodon/overworld.4bpp"); - const u32 gObjectEventPic_GastrodonEastSea[] = INCBIN_COMP("graphics/pokemon/gastrodon/east_sea/overworld.4bpp"); + const u32 gObjectEventPic_GastrodonEast[] = INCBIN_COMP("graphics/pokemon/gastrodon/east/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE const u32 gOverworldPalette_GastrodonWestSea[] = INCBIN_U32("graphics/pokemon/gastrodon/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_GastrodonEastSea[] = INCBIN_U32("graphics/pokemon/gastrodon/east_sea/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_GastrodonEast[] = INCBIN_U32("graphics/pokemon/gastrodon/east/overworld_normal.gbapal.lz"); const u32 gShinyOverworldPalette_GastrodonWestSea[] = INCBIN_U32("graphics/pokemon/gastrodon/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_GastrodonEastSea[] = INCBIN_U32("graphics/pokemon/gastrodon/east_sea/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_GastrodonEast[] = INCBIN_U32("graphics/pokemon/gastrodon/east/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_FAMILY_SHELLOS @@ -10350,8 +14996,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_GibleF[] = INCBIN_U32("graphics/pokemon/gible/anim_frontf.4bpp.lz"); const u32 gMonBackPic_GibleF[] = INCBIN_U32("graphics/pokemon/gible/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_GibleF[] = INCBIN_COMP("graphics/pokemon/gible/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES const u32 gMonFrontPic_Gabite[] = INCBIN_U32("graphics/pokemon/gabite/anim_front.4bpp.lz"); const u32 gMonPalette_Gabite[] = INCBIN_U32("graphics/pokemon/gabite/normal.gbapal.lz"); @@ -10369,8 +15020,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_GabiteF[] = INCBIN_U32("graphics/pokemon/gabite/anim_frontf.4bpp.lz"); const u32 gMonBackPic_GabiteF[] = INCBIN_U32("graphics/pokemon/gabite/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_GabiteF[] = INCBIN_COMP("graphics/pokemon/gabite/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES const u32 gMonFrontPic_Garchomp[] = INCBIN_U32("graphics/pokemon/garchomp/anim_front.4bpp.lz"); const u32 gMonPalette_Garchomp[] = INCBIN_U32("graphics/pokemon/garchomp/normal.gbapal.lz"); @@ -10388,7 +15044,12 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_GarchompF[] = INCBIN_U32("graphics/pokemon/garchomp/anim_frontf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_GarchompF[] = INCBIN_COMP("graphics/pokemon/garchomp/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS const u32 gMonFrontPic_GarchompMega[] = INCBIN_U32("graphics/pokemon/garchomp/mega/front.4bpp.lz"); @@ -10472,18 +15133,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonPalette_HippopotasF[] = INCBIN_U32("graphics/pokemon/hippopotas/normalf.gbapal.lz"); const u32 gMonShinyPalette_HippopotasF[] = INCBIN_U32("graphics/pokemon/hippopotas/shinyf.gbapal.lz"); #if P_CUSTOM_GENDER_DIFF_ICONS const u8 gMonIcon_HippopotasF[] = INCBIN_U8("graphics/pokemon/hippopotas/iconf.4bpp"); #endif #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_HippopotasF[] = INCBIN_COMP("graphics/pokemon/hippopotas/overworld.4bpp"); -#if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_HippopotasF[] = INCBIN_U32("graphics/pokemon/hippopotas/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_HippopotasF[] = INCBIN_U32("graphics/pokemon/hippopotas/overworld_shiny.gbapal.lz"); -#endif //OW_PKMN_OBJECTS_SHARE_PALETTES + const u32 gObjectEventPic_HippopotasF[] = INCBIN_COMP("graphics/pokemon/hippopotas/overworldf.4bpp"); #endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES const u32 gMonFrontPic_Hippowdon[] = INCBIN_U32("graphics/pokemon/hippowdon/anim_front.4bpp.lz"); const u32 gMonPalette_Hippowdon[] = INCBIN_U32("graphics/pokemon/hippowdon/normal.gbapal.lz"); @@ -10501,18 +15160,19 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonPalette_HippowdonF[] = INCBIN_U32("graphics/pokemon/hippowdon/normalf.gbapal.lz"); const u32 gMonShinyPalette_HippowdonF[] = INCBIN_U32("graphics/pokemon/hippowdon/shinyf.gbapal.lz"); #if P_CUSTOM_GENDER_DIFF_ICONS const u8 gMonIcon_HippowdonF[] = INCBIN_U8("graphics/pokemon/hippowdon/iconf.4bpp"); #endif #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_HippowdonF[] = INCBIN_COMP("graphics/pokemon/hippowdon/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_HippowdonF[] = INCBIN_U32("graphics/pokemon/hippowdon/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_HippowdonF[] = INCBIN_U32("graphics/pokemon/hippowdon/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_HippowdonF[] = INCBIN_U32("graphics/pokemon/hippowdon/overworld_normalf.gbapal.lz"); + const u32 gShinyOverworldPalette_HippowdonF[] = INCBIN_U32("graphics/pokemon/hippowdon/overworld_shinyf.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_HIPPOPOTAS #if P_FAMILY_SKORUPI @@ -10566,8 +15226,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_CroagunkF[] = INCBIN_U32("graphics/pokemon/croagunk/anim_frontf.4bpp.lz"); const u32 gMonBackPic_CroagunkF[] = INCBIN_U32("graphics/pokemon/croagunk/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_CroagunkF[] = INCBIN_COMP("graphics/pokemon/croagunk/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES const u32 gMonFrontPic_Toxicroak[] = INCBIN_U32("graphics/pokemon/toxicroak/anim_front.4bpp.lz"); const u32 gMonPalette_Toxicroak[] = INCBIN_U32("graphics/pokemon/toxicroak/normal.gbapal.lz"); @@ -10585,8 +15250,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_ToxicroakF[] = INCBIN_U32("graphics/pokemon/toxicroak/anim_frontf.4bpp.lz"); const u32 gMonBackPic_ToxicroakF[] = INCBIN_U32("graphics/pokemon/toxicroak/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_ToxicroakF[] = INCBIN_COMP("graphics/pokemon/toxicroak/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_CROAGUNK #if P_FAMILY_CARNIVINE @@ -10624,8 +15294,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_FinneonF[] = INCBIN_U32("graphics/pokemon/finneon/anim_frontf.4bpp.lz"); const u32 gMonBackPic_FinneonF[] = INCBIN_U32("graphics/pokemon/finneon/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_FinneonF[] = INCBIN_COMP("graphics/pokemon/finneon/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES const u32 gMonFrontPic_Lumineon[] = INCBIN_U32("graphics/pokemon/lumineon/anim_front.4bpp.lz"); const u32 gMonPalette_Lumineon[] = INCBIN_U32("graphics/pokemon/lumineon/normal.gbapal.lz"); @@ -10643,8 +15318,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_LumineonF[] = INCBIN_U32("graphics/pokemon/lumineon/anim_frontf.4bpp.lz"); const u32 gMonBackPic_LumineonF[] = INCBIN_U32("graphics/pokemon/lumineon/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_LumineonF[] = INCBIN_COMP("graphics/pokemon/lumineon/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_FINNEON #if P_FAMILY_SNOVER @@ -10664,8 +15344,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_SnoverF[] = INCBIN_U32("graphics/pokemon/snover/anim_frontf.4bpp.lz"); const u32 gMonBackPic_SnoverF[] = INCBIN_U32("graphics/pokemon/snover/backf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_SnoverF[] = INCBIN_COMP("graphics/pokemon/snover/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES const u32 gMonFrontPic_Abomasnow[] = INCBIN_U32("graphics/pokemon/abomasnow/anim_front.4bpp.lz"); const u32 gMonPalette_Abomasnow[] = INCBIN_U32("graphics/pokemon/abomasnow/normal.gbapal.lz"); @@ -10683,7 +15368,12 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_AbomasnowF[] = INCBIN_U32("graphics/pokemon/abomasnow/anim_frontf.4bpp.lz"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_AbomasnowF[] = INCBIN_COMP("graphics/pokemon/abomasnow/overworldf.4bpp"); +#endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS const u32 gMonFrontPic_AbomasnowMega[] = INCBIN_U32("graphics/pokemon/abomasnow/mega/front.4bpp.lz"); @@ -11361,16 +16051,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_HISUIAN_FORMS - const u32 gMonFrontPic_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/front.4bpp.lz"); - const u32 gMonPalette_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/normal.gbapal.lz"); - const u32 gMonBackPic_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/back.4bpp.lz"); - const u32 gMonShinyPalette_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/shiny.gbapal.lz"); - const u8 gMonIcon_SamurottHisuian[] = INCBIN_U8("graphics/pokemon/samurott/hisuian/icon.4bpp"); + const u32 gMonFrontPic_SamurottHisui[] = INCBIN_U32("graphics/pokemon/samurott/hisui/front.4bpp.lz"); + const u32 gMonPalette_SamurottHisui[] = INCBIN_U32("graphics/pokemon/samurott/hisui/normal.gbapal.lz"); + const u32 gMonBackPic_SamurottHisui[] = INCBIN_U32("graphics/pokemon/samurott/hisui/back.4bpp.lz"); + const u32 gMonShinyPalette_SamurottHisui[] = INCBIN_U32("graphics/pokemon/samurott/hisui/shiny.gbapal.lz"); + const u8 gMonIcon_SamurottHisui[] = INCBIN_U8("graphics/pokemon/samurott/hisui/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_SamurottHisuian[] = INCBIN_COMP("graphics/pokemon/samurott/hisuian/overworld.4bpp"); + const u32 gObjectEventPic_SamurottHisui[] = INCBIN_COMP("graphics/pokemon/samurott/hisui/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_SamurottHisui[] = INCBIN_U32("graphics/pokemon/samurott/hisui/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_SamurottHisui[] = INCBIN_U32("graphics/pokemon/samurott/hisui/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_HISUIAN_FORMS @@ -11679,18 +16369,20 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_UnfezantF[] = INCBIN_U32("graphics/pokemon/unfezant/anim_frontf.4bpp.lz"); const u32 gMonPalette_UnfezantF[] = INCBIN_U32("graphics/pokemon/unfezant/normalf.gbapal.lz"); const u32 gMonBackPic_UnfezantF[] = INCBIN_U32("graphics/pokemon/unfezant/backf.4bpp.lz"); const u32 gMonShinyPalette_UnfezantF[] = INCBIN_U32("graphics/pokemon/unfezant/shinyf.gbapal.lz"); const u8 gMonIcon_UnfezantF[] = INCBIN_U8("graphics/pokemon/unfezant/iconf.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_UnfezantF[] = INCBIN_COMP("graphics/pokemon/unfezant_f/overworld.4bpp"); + const u32 gObjectEventPic_UnfezantF[] = INCBIN_COMP("graphics/pokemon/unfezant/overworldf.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_UnfezantF[] = INCBIN_U32("graphics/pokemon/unfezant_f/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_UnfezantF[] = INCBIN_U32("graphics/pokemon/unfezant_f/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_UnfezantF[] = INCBIN_U32("graphics/pokemon/unfezant/overworld_normalf.gbapal.lz"); + const u32 gShinyOverworldPalette_UnfezantF[] = INCBIN_U32("graphics/pokemon/unfezant/overworld_shinyf.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_PIDOVE #if P_FAMILY_BLITZLE @@ -12182,16 +16874,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_HISUIAN_FORMS - const u32 gMonFrontPic_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/front.4bpp.lz"); - const u32 gMonPalette_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/normal.gbapal.lz"); - const u32 gMonBackPic_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/back.4bpp.lz"); - const u32 gMonShinyPalette_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/shiny.gbapal.lz"); - const u8 gMonIcon_LilligantHisuian[] = INCBIN_U8("graphics/pokemon/lilligant/hisuian/icon.4bpp"); + const u32 gMonFrontPic_LilligantHisui[] = INCBIN_U32("graphics/pokemon/lilligant/hisui/front.4bpp.lz"); + const u32 gMonPalette_LilligantHisui[] = INCBIN_U32("graphics/pokemon/lilligant/hisui/normal.gbapal.lz"); + const u32 gMonBackPic_LilligantHisui[] = INCBIN_U32("graphics/pokemon/lilligant/hisui/back.4bpp.lz"); + const u32 gMonShinyPalette_LilligantHisui[] = INCBIN_U32("graphics/pokemon/lilligant/hisui/shiny.gbapal.lz"); + const u8 gMonIcon_LilligantHisui[] = INCBIN_U8("graphics/pokemon/lilligant/hisui/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_LilligantHisuian[] = INCBIN_COMP("graphics/pokemon/lilligant/hisuian/overworld.4bpp"); + const u32 gObjectEventPic_LilligantHisui[] = INCBIN_COMP("graphics/pokemon/lilligant/hisui/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_LilligantHisui[] = INCBIN_U32("graphics/pokemon/lilligant/hisui/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_LilligantHisui[] = INCBIN_U32("graphics/pokemon/lilligant/hisui/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_HISUIAN_FORMS @@ -12239,29 +16931,29 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_BasculegionMale[] = INCBIN_U32("graphics/pokemon/basculegion/front.4bpp.lz"); - const u32 gMonPalette_BasculegionMale[] = INCBIN_U32("graphics/pokemon/basculegion/normal.gbapal.lz"); - const u32 gMonBackPic_BasculegionMale[] = INCBIN_U32("graphics/pokemon/basculegion/back.4bpp.lz"); - const u32 gMonShinyPalette_BasculegionMale[] = INCBIN_U32("graphics/pokemon/basculegion/shiny.gbapal.lz"); - const u8 gMonIcon_BasculegionMale[] = INCBIN_U8("graphics/pokemon/basculegion/icon.4bpp"); + const u32 gMonFrontPic_BasculegionM[] = INCBIN_U32("graphics/pokemon/basculegion/front.4bpp.lz"); + const u32 gMonPalette_BasculegionM[] = INCBIN_U32("graphics/pokemon/basculegion/normal.gbapal.lz"); + const u32 gMonBackPic_BasculegionM[] = INCBIN_U32("graphics/pokemon/basculegion/back.4bpp.lz"); + const u32 gMonShinyPalette_BasculegionM[] = INCBIN_U32("graphics/pokemon/basculegion/shiny.gbapal.lz"); + const u8 gMonIcon_BasculegionM[] = INCBIN_U8("graphics/pokemon/basculegion/icon.4bpp"); #if P_FOOTPRINTS const u8 gMonFootprint_Basculegion[] = INCBIN_U8("graphics/pokemon/basculegion/footprint.1bpp"); #endif //P_FOOTPRINTS - const u32 gMonFrontPic_BasculegionFemale[] = INCBIN_U32("graphics/pokemon/basculegion/female/front.4bpp.lz"); - const u32 gMonPalette_BasculegionFemale[] = INCBIN_U32("graphics/pokemon/basculegion/female/normal.gbapal.lz"); - const u32 gMonBackPic_BasculegionFemale[] = INCBIN_U32("graphics/pokemon/basculegion/female/back.4bpp.lz"); - const u32 gMonShinyPalette_BasculegionFemale[] = INCBIN_U32("graphics/pokemon/basculegion/female/shiny.gbapal.lz"); - const u8 gMonIcon_BasculegionFemale[] = INCBIN_U8("graphics/pokemon/basculegion/female/icon.4bpp"); + const u32 gMonFrontPic_BasculegionF[] = INCBIN_U32("graphics/pokemon/basculegion/f/front.4bpp.lz"); + const u32 gMonPalette_BasculegionF[] = INCBIN_U32("graphics/pokemon/basculegion/f/normal.gbapal.lz"); + const u32 gMonBackPic_BasculegionF[] = INCBIN_U32("graphics/pokemon/basculegion/f/back.4bpp.lz"); + const u32 gMonShinyPalette_BasculegionF[] = INCBIN_U32("graphics/pokemon/basculegion/f/shiny.gbapal.lz"); + const u8 gMonIcon_BasculegionF[] = INCBIN_U8("graphics/pokemon/basculegion/f/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_BasculegionMale[] = INCBIN_COMP("graphics/pokemon/basculegion/overworld.4bpp"); - const u32 gObjectEventPic_BasculegionFemale[] = INCBIN_COMP("graphics/pokemon/basculegion/female/overworld.4bpp"); + const u32 gObjectEventPic_BasculegionM[] = INCBIN_COMP("graphics/pokemon/basculegion/overworld.4bpp"); + const u32 gObjectEventPic_BasculegionF[] = INCBIN_COMP("graphics/pokemon/basculegion/f/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_BasculegionMale[] = INCBIN_U32("graphics/pokemon/basculegion/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_BasculegionFemale[] = INCBIN_U32("graphics/pokemon/basculegion/female/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_BasculegionMale[] = INCBIN_U32("graphics/pokemon/basculegion/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_BasculegionFemale[] = INCBIN_U32("graphics/pokemon/basculegion/female/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_BasculegionM[] = INCBIN_U32("graphics/pokemon/basculegion/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_BasculegionF[] = INCBIN_U32("graphics/pokemon/basculegion/f/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_BasculegionM[] = INCBIN_U32("graphics/pokemon/basculegion/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_BasculegionF[] = INCBIN_U32("graphics/pokemon/basculegion/f/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_HISUIAN_FORMS @@ -12334,72 +17026,72 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_DarmanitanStandardMode[] = INCBIN_U32("graphics/pokemon/darmanitan/anim_front.4bpp.lz"); - const u32 gMonPalette_DarmanitanStandardMode[] = INCBIN_U32("graphics/pokemon/darmanitan/normal.gbapal.lz"); - const u32 gMonBackPic_DarmanitanStandardMode[] = INCBIN_U32("graphics/pokemon/darmanitan/back.4bpp.lz"); - const u32 gMonShinyPalette_DarmanitanStandardMode[] = INCBIN_U32("graphics/pokemon/darmanitan/shiny.gbapal.lz"); - const u8 gMonIcon_DarmanitanStandardMode[] = INCBIN_U8("graphics/pokemon/darmanitan/icon.4bpp"); + const u32 gMonFrontPic_DarmanitanStandard[] = INCBIN_U32("graphics/pokemon/darmanitan/anim_front.4bpp.lz"); + const u32 gMonPalette_DarmanitanStandard[] = INCBIN_U32("graphics/pokemon/darmanitan/normal.gbapal.lz"); + const u32 gMonBackPic_DarmanitanStandard[] = INCBIN_U32("graphics/pokemon/darmanitan/back.4bpp.lz"); + const u32 gMonShinyPalette_DarmanitanStandard[] = INCBIN_U32("graphics/pokemon/darmanitan/shiny.gbapal.lz"); + const u8 gMonIcon_DarmanitanStandard[] = INCBIN_U8("graphics/pokemon/darmanitan/icon.4bpp"); #if P_FOOTPRINTS const u8 gMonFootprint_Darmanitan[] = INCBIN_U8("graphics/pokemon/darmanitan/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_DarmanitanStandardMode[] = INCBIN_COMP("graphics/pokemon/darmanitan/overworld.4bpp"); + const u32 gObjectEventPic_DarmanitanStandard[] = INCBIN_COMP("graphics/pokemon/darmanitan/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_DarmanitanStandardMode[] = INCBIN_U32("graphics/pokemon/darmanitan/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_DarmanitanStandardMode[] = INCBIN_U32("graphics/pokemon/darmanitan/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_DarmanitanStandard[] = INCBIN_U32("graphics/pokemon/darmanitan/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_DarmanitanStandard[] = INCBIN_U32("graphics/pokemon/darmanitan/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/anim_front.4bpp.lz"); - const u32 gMonPalette_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/normal.gbapal.lz"); - const u32 gMonBackPic_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/back.4bpp.lz"); - const u32 gMonShinyPalette_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/shiny.gbapal.lz"); - const u8 gMonIcon_DarmanitanZenMode[] = INCBIN_U8("graphics/pokemon/darmanitan/zen_mode/icon.4bpp"); + const u32 gMonFrontPic_DarmanitanZen[] = INCBIN_U32("graphics/pokemon/darmanitan/zen/anim_front.4bpp.lz"); + const u32 gMonPalette_DarmanitanZen[] = INCBIN_U32("graphics/pokemon/darmanitan/zen/normal.gbapal.lz"); + const u32 gMonBackPic_DarmanitanZen[] = INCBIN_U32("graphics/pokemon/darmanitan/zen/back.4bpp.lz"); + const u32 gMonShinyPalette_DarmanitanZen[] = INCBIN_U32("graphics/pokemon/darmanitan/zen/shiny.gbapal.lz"); + const u8 gMonIcon_DarmanitanZen[] = INCBIN_U8("graphics/pokemon/darmanitan/zen/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_DarmanitanZenMode[] = INCBIN_COMP("graphics/pokemon/darmanitan/zen_mode/overworld.4bpp"); + // const u32 gObjectEventPic_DarmanitanZen[] = INCBIN_COMP("graphics/pokemon/darmanitan/zen/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_DarmanitanZen[] = INCBIN_U32("graphics/pokemon/darmanitan/zen/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_DarmanitanZen[] = INCBIN_U32("graphics/pokemon/darmanitan/zen/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #if P_GALARIAN_FORMS - const u32 gMonFrontPic_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/front.4bpp.lz"); - const u32 gMonPalette_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_DarumakaGalarian[] = INCBIN_U8("graphics/pokemon/darumaka/galarian/icon.4bpp"); + const u32 gMonFrontPic_DarumakaGalar[] = INCBIN_U32("graphics/pokemon/darumaka/galar/front.4bpp.lz"); + const u32 gMonPalette_DarumakaGalar[] = INCBIN_U32("graphics/pokemon/darumaka/galar/normal.gbapal.lz"); + const u32 gMonBackPic_DarumakaGalar[] = INCBIN_U32("graphics/pokemon/darumaka/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_DarumakaGalar[] = INCBIN_U32("graphics/pokemon/darumaka/galar/shiny.gbapal.lz"); + const u8 gMonIcon_DarumakaGalar[] = INCBIN_U8("graphics/pokemon/darumaka/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_DarumakaGalarian[] = INCBIN_COMP("graphics/pokemon/darumaka/galarian/overworld.4bpp"); + const u32 gObjectEventPic_DarumakaGalar[] = INCBIN_COMP("graphics/pokemon/darumaka/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_DarumakaGalar[] = INCBIN_U32("graphics/pokemon/darumaka/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_DarumakaGalar[] = INCBIN_U32("graphics/pokemon/darumaka/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_DarmanitanGalarianStandardMode[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/front.4bpp.lz"); - const u32 gMonPalette_DarmanitanGalarianStandardMode[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_DarmanitanGalarianStandardMode[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_DarmanitanGalarianStandardMode[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_DarmanitanGalarianStandardMode[] = INCBIN_U8("graphics/pokemon/darmanitan/galarian/icon.4bpp"); + const u32 gMonFrontPic_DarmanitanGalarStandard[] = INCBIN_U32("graphics/pokemon/darmanitan/galar_standard/front.4bpp.lz"); + const u32 gMonPalette_DarmanitanGalarStandard[] = INCBIN_U32("graphics/pokemon/darmanitan/galar_standard/normal.gbapal.lz"); + const u32 gMonBackPic_DarmanitanGalarStandard[] = INCBIN_U32("graphics/pokemon/darmanitan/galar_standard/back.4bpp.lz"); + const u32 gMonShinyPalette_DarmanitanGalarStandard[] = INCBIN_U32("graphics/pokemon/darmanitan/galar_standard/shiny.gbapal.lz"); + const u8 gMonIcon_DarmanitanGalarStandard[] = INCBIN_U8("graphics/pokemon/darmanitan/galar_standard/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_DarmanitanGalarianStandardMode[] = INCBIN_COMP("graphics/pokemon/darmanitan/galarian/overworld.4bpp"); + const u32 gObjectEventPic_DarmanitanGalarStandard[] = INCBIN_COMP("graphics/pokemon/darmanitan/galar_standard/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_DarmanitanGalarianStandardMode[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_DarmanitanGalarianStandardMode[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_DarmanitanGalarStandard[] = INCBIN_U32("graphics/pokemon/darmanitan/galar_standard/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_DarmanitanGalarStandard[] = INCBIN_U32("graphics/pokemon/darmanitan/galar_standard/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_DarmanitanGalarianZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/galarian/front.4bpp.lz"); - const u32 gMonPalette_DarmanitanGalarianZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_DarmanitanGalarianZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_DarmanitanGalarianZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_DarmanitanGalarianZenMode[] = INCBIN_U8("graphics/pokemon/darmanitan/zen_mode/galarian/icon.4bpp"); + const u32 gMonFrontPic_DarmanitanGalarZen[] = INCBIN_U32("graphics/pokemon/darmanitan/galar_zen/front.4bpp.lz"); + const u32 gMonPalette_DarmanitanGalarZen[] = INCBIN_U32("graphics/pokemon/darmanitan/galar_zen/normal.gbapal.lz"); + const u32 gMonBackPic_DarmanitanGalarZen[] = INCBIN_U32("graphics/pokemon/darmanitan/galar_zen/back.4bpp.lz"); + const u32 gMonShinyPalette_DarmanitanGalarZen[] = INCBIN_U32("graphics/pokemon/darmanitan/galar_zen/shiny.gbapal.lz"); + const u8 gMonIcon_DarmanitanGalarZen[] = INCBIN_U8("graphics/pokemon/darmanitan/galar_zen/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_DarmanitanGalarianZenMode[] = INCBIN_COMP("graphics/pokemon/darmanitan/zen_mode/galarian/overworld.4bpp"); + // const u32 gObjectEventPic_DarmanitanGalarZen[] = INCBIN_COMP("graphics/pokemon/darmanitan/galar_zen/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_DarmanitanGalarianZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/galarian/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_DarmanitanGalarianZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/galarian/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_DarmanitanGalarZen[] = INCBIN_U32("graphics/pokemon/darmanitan/galar_zen/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_DarmanitanGalarZen[] = INCBIN_U32("graphics/pokemon/darmanitan/galar_zen/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GALARIAN_FORMS @@ -12543,16 +17235,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GALARIAN_FORMS - const u32 gMonFrontPic_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/front.4bpp.lz"); - const u32 gMonPalette_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_YamaskGalarian[] = INCBIN_U8("graphics/pokemon/yamask/galarian/icon.4bpp"); + const u32 gMonFrontPic_YamaskGalar[] = INCBIN_U32("graphics/pokemon/yamask/galar/front.4bpp.lz"); + const u32 gMonPalette_YamaskGalar[] = INCBIN_U32("graphics/pokemon/yamask/galar/normal.gbapal.lz"); + const u32 gMonBackPic_YamaskGalar[] = INCBIN_U32("graphics/pokemon/yamask/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_YamaskGalar[] = INCBIN_U32("graphics/pokemon/yamask/galar/shiny.gbapal.lz"); + const u8 gMonIcon_YamaskGalar[] = INCBIN_U8("graphics/pokemon/yamask/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_YamaskGalarian[] = INCBIN_COMP("graphics/pokemon/yamask/galarian/overworld.4bpp"); + const u32 gObjectEventPic_YamaskGalar[] = INCBIN_COMP("graphics/pokemon/yamask/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_YamaskGalar[] = INCBIN_U32("graphics/pokemon/yamask/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_YamaskGalar[] = INCBIN_U32("graphics/pokemon/yamask/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS @@ -12676,16 +17368,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_GarbodorGigantamax[] = INCBIN_U32("graphics/pokemon/garbodor/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_GarbodorGigantamax[] = INCBIN_U32("graphics/pokemon/garbodor/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_GarbodorGigantamax[] = INCBIN_U32("graphics/pokemon/garbodor/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_GarbodorGigantamax[] = INCBIN_U32("graphics/pokemon/garbodor/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_GarbodorGigantamax[] = INCBIN_U8("graphics/pokemon/garbodor/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_GarbodorGmax[] = INCBIN_U32("graphics/pokemon/garbodor/gmax/front.4bpp.lz"); + const u32 gMonBackPic_GarbodorGmax[] = INCBIN_U32("graphics/pokemon/garbodor/gmax/back.4bpp.lz"); + const u32 gMonPalette_GarbodorGmax[] = INCBIN_U32("graphics/pokemon/garbodor/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_GarbodorGmax[] = INCBIN_U32("graphics/pokemon/garbodor/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_GarbodorGmax[] = INCBIN_U8("graphics/pokemon/garbodor/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_GarbodorGigantamax[] = INCBIN_COMP("graphics/pokemon/garbodor/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_GarbodorGmax[] = INCBIN_COMP("graphics/pokemon/garbodor/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_GarbodorGigantamax[] = INCBIN_U32("graphics/pokemon/garbodor/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_GarbodorGigantamax[] = INCBIN_U32("graphics/pokemon/garbodor/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_GarbodorGmax[] = INCBIN_U32("graphics/pokemon/garbodor/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_GarbodorGmax[] = INCBIN_U32("graphics/pokemon/garbodor/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -12725,29 +17417,29 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_HISUIAN_FORMS - const u32 gMonFrontPic_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/front.4bpp.lz"); - const u32 gMonPalette_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/normal.gbapal.lz"); - const u32 gMonBackPic_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/back.4bpp.lz"); - const u32 gMonShinyPalette_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/shiny.gbapal.lz"); - const u8 gMonIcon_ZoruaHisuian[] = INCBIN_U8("graphics/pokemon/zorua/hisuian/icon.4bpp"); + const u32 gMonFrontPic_ZoruaHisui[] = INCBIN_U32("graphics/pokemon/zorua/hisui/front.4bpp.lz"); + const u32 gMonPalette_ZoruaHisui[] = INCBIN_U32("graphics/pokemon/zorua/hisui/normal.gbapal.lz"); + const u32 gMonBackPic_ZoruaHisui[] = INCBIN_U32("graphics/pokemon/zorua/hisui/back.4bpp.lz"); + const u32 gMonShinyPalette_ZoruaHisui[] = INCBIN_U32("graphics/pokemon/zorua/hisui/shiny.gbapal.lz"); + const u8 gMonIcon_ZoruaHisui[] = INCBIN_U8("graphics/pokemon/zorua/hisui/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_ZoruaHisuian[] = INCBIN_COMP("graphics/pokemon/zorua/hisuian/overworld.4bpp"); + const u32 gObjectEventPic_ZoruaHisui[] = INCBIN_COMP("graphics/pokemon/zorua/hisui/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_ZoruaHisui[] = INCBIN_U32("graphics/pokemon/zorua/hisui/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_ZoruaHisui[] = INCBIN_U32("graphics/pokemon/zorua/hisui/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/front.4bpp.lz"); - const u32 gMonPalette_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/normal.gbapal.lz"); - const u32 gMonBackPic_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/back.4bpp.lz"); - const u32 gMonShinyPalette_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/shiny.gbapal.lz"); - const u8 gMonIcon_ZoroarkHisuian[] = INCBIN_U8("graphics/pokemon/zoroark/hisuian/icon.4bpp"); + const u32 gMonFrontPic_ZoroarkHisui[] = INCBIN_U32("graphics/pokemon/zoroark/hisui/front.4bpp.lz"); + const u32 gMonPalette_ZoroarkHisui[] = INCBIN_U32("graphics/pokemon/zoroark/hisui/normal.gbapal.lz"); + const u32 gMonBackPic_ZoroarkHisui[] = INCBIN_U32("graphics/pokemon/zoroark/hisui/back.4bpp.lz"); + const u32 gMonShinyPalette_ZoroarkHisui[] = INCBIN_U32("graphics/pokemon/zoroark/hisui/shiny.gbapal.lz"); + const u8 gMonIcon_ZoroarkHisui[] = INCBIN_U8("graphics/pokemon/zoroark/hisui/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_ZoroarkHisuian[] = INCBIN_COMP("graphics/pokemon/zoroark/hisuian/overworld.4bpp"); + const u32 gObjectEventPic_ZoroarkHisui[] = INCBIN_COMP("graphics/pokemon/zoroark/hisui/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_ZoroarkHisui[] = INCBIN_U32("graphics/pokemon/zoroark/hisui/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_ZoroarkHisui[] = INCBIN_U32("graphics/pokemon/zoroark/hisui/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_HISUIAN_FORMS @@ -13159,18 +17851,20 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_FrillishF[] = INCBIN_U32("graphics/pokemon/frillish/anim_frontf.4bpp.lz"); const u32 gMonPalette_FrillishF[] = INCBIN_U32("graphics/pokemon/frillish/normalf.gbapal.lz"); const u32 gMonBackPic_FrillishF[] = INCBIN_U32("graphics/pokemon/frillish/backf.4bpp.lz"); const u32 gMonShinyPalette_FrillishF[] = INCBIN_U32("graphics/pokemon/frillish/shinyf.gbapal.lz"); const u8 gMonIcon_FrillishF[] = INCBIN_U8("graphics/pokemon/frillish/iconf.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_FrillishF[] = INCBIN_COMP("graphics/pokemon/frillish/followerf.4bpp"); + const u32 gObjectEventPic_FrillishF[] = INCBIN_COMP("graphics/pokemon/frillish/overworldf.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_FrillishF[] = INCBIN_U32("graphics/pokemon/frillish/overworld_normalf.gbapal.lz"); - // const u32 gShinyOverworldPalette_FrillishF[] = INCBIN_U32("graphics/pokemon/frillish/overworld_shinyf.gbapal.lz"); + const u32 gOverworldPalette_FrillishF[] = INCBIN_U32("graphics/pokemon/frillish/overworld_normalf.gbapal.lz"); + const u32 gShinyOverworldPalette_FrillishF[] = INCBIN_U32("graphics/pokemon/frillish/overworld_shinyf.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES const u32 gMonFrontPic_Jellicent[] = INCBIN_U32("graphics/pokemon/jellicent/anim_front.4bpp.lz"); const u32 gMonPalette_Jellicent[] = INCBIN_U32("graphics/pokemon/jellicent/normal.gbapal.lz"); @@ -13188,18 +17882,20 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_JellicentF[] = INCBIN_U32("graphics/pokemon/jellicent/anim_frontf.4bpp.lz"); const u32 gMonPalette_JellicentF[] = INCBIN_U32("graphics/pokemon/jellicent/normalf.gbapal.lz"); const u32 gMonBackPic_JellicentF[] = INCBIN_U32("graphics/pokemon/jellicent/backf.4bpp.lz"); const u32 gMonShinyPalette_JellicentF[] = INCBIN_U32("graphics/pokemon/jellicent/shinyf.gbapal.lz"); const u8 gMonIcon_JellicentF[] = INCBIN_U8("graphics/pokemon/jellicent/iconf.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_JellicentF[] = INCBIN_COMP("graphics/pokemon/jellicent/followerf.4bpp"); + const u32 gObjectEventPic_JellicentF[] = INCBIN_COMP("graphics/pokemon/jellicent/overworldf.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_JellicentF[] = INCBIN_U32("graphics/pokemon/jellicent/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_JellicentF[] = INCBIN_U32("graphics/pokemon/jellicent/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_JellicentF[] = INCBIN_U32("graphics/pokemon/jellicent/overworld_normalf.gbapal.lz"); + const u32 gShinyOverworldPalette_JellicentF[] = INCBIN_U32("graphics/pokemon/jellicent/overworld_shinyf.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_FRILLISH #if P_FAMILY_ALOMOMOLA @@ -13626,16 +18322,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GALARIAN_FORMS - const u32 gMonFrontPic_StunfiskGalarian[] = INCBIN_U32("graphics/pokemon/stunfisk/galarian/front.4bpp.lz"); - const u32 gMonPalette_StunfiskGalarian[] = INCBIN_U32("graphics/pokemon/stunfisk/galarian/normal.gbapal.lz"); - const u32 gMonBackPic_StunfiskGalarian[] = INCBIN_U32("graphics/pokemon/stunfisk/galarian/back.4bpp.lz"); - const u32 gMonShinyPalette_StunfiskGalarian[] = INCBIN_U32("graphics/pokemon/stunfisk/galarian/shiny.gbapal.lz"); - const u8 gMonIcon_StunfiskGalarian[] = INCBIN_U8("graphics/pokemon/stunfisk/galarian/icon.4bpp"); + const u32 gMonFrontPic_StunfiskGalar[] = INCBIN_U32("graphics/pokemon/stunfisk/galar/front.4bpp.lz"); + const u32 gMonPalette_StunfiskGalar[] = INCBIN_U32("graphics/pokemon/stunfisk/galar/normal.gbapal.lz"); + const u32 gMonBackPic_StunfiskGalar[] = INCBIN_U32("graphics/pokemon/stunfisk/galar/back.4bpp.lz"); + const u32 gMonShinyPalette_StunfiskGalar[] = INCBIN_U32("graphics/pokemon/stunfisk/galar/shiny.gbapal.lz"); + const u8 gMonIcon_StunfiskGalar[] = INCBIN_U8("graphics/pokemon/stunfisk/galar/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_StunfiskGalarian[] = INCBIN_COMP("graphics/pokemon/stunfisk/galarian/overworld.4bpp"); + const u32 gObjectEventPic_StunfiskGalar[] = INCBIN_COMP("graphics/pokemon/stunfisk/galar/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_StunfiskGalarian[] = INCBIN_U32("graphics/pokemon/stunfisk/galarian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_StunfiskGalarian[] = INCBIN_U32("graphics/pokemon/stunfisk/galarian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_StunfiskGalar[] = INCBIN_U32("graphics/pokemon/stunfisk/galar/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_StunfiskGalar[] = INCBIN_U32("graphics/pokemon/stunfisk/galar/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GALARIAN_FORMS @@ -13831,16 +18527,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_HISUIAN_FORMS - const u32 gMonFrontPic_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/front.4bpp.lz"); - const u32 gMonPalette_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/normal.gbapal.lz"); - const u32 gMonBackPic_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/back.4bpp.lz"); - const u32 gMonShinyPalette_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/shiny.gbapal.lz"); - const u8 gMonIcon_BraviaryHisuian[] = INCBIN_U8("graphics/pokemon/braviary/hisuian/icon.4bpp"); + const u32 gMonFrontPic_BraviaryHisui[] = INCBIN_U32("graphics/pokemon/braviary/hisui/front.4bpp.lz"); + const u32 gMonPalette_BraviaryHisui[] = INCBIN_U32("graphics/pokemon/braviary/hisui/normal.gbapal.lz"); + const u32 gMonBackPic_BraviaryHisui[] = INCBIN_U32("graphics/pokemon/braviary/hisui/back.4bpp.lz"); + const u32 gMonShinyPalette_BraviaryHisui[] = INCBIN_U32("graphics/pokemon/braviary/hisui/shiny.gbapal.lz"); + const u8 gMonIcon_BraviaryHisui[] = INCBIN_U8("graphics/pokemon/braviary/hisui/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_BraviaryHisuian[] = INCBIN_COMP("graphics/pokemon/braviary/hisuian/overworld.4bpp"); + const u32 gObjectEventPic_BraviaryHisui[] = INCBIN_COMP("graphics/pokemon/braviary/hisui/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_BraviaryHisui[] = INCBIN_U32("graphics/pokemon/braviary/hisui/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_BraviaryHisui[] = INCBIN_U32("graphics/pokemon/braviary/hisui/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_HISUIAN_FORMS @@ -14854,16 +19550,14 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS +#if P_GENDER_DIFFERENCES const u32 gMonFrontPic_PyroarF[] = INCBIN_U32("graphics/pokemon/pyroar/anim_frontf.4bpp.lz"); const u32 gMonBackPic_PyroarF[] = INCBIN_U32("graphics/pokemon/pyroar/backf.4bpp.lz"); const u8 gMonIcon_PyroarF[] = INCBIN_U8("graphics/pokemon/pyroar/iconf.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_PyroarF[] = INCBIN_COMP("graphics/pokemon/pyroar/followerf.4bpp"); -#if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_PyroarF[] = INCBIN_U32("graphics/pokemon/pyroar/overworld_normalf.gbapal.lz"); - // const u32 gShinyOverworldPalette_PyroarF[] = INCBIN_U32("graphics/pokemon/pyroar/overworld_shinyf.gbapal.lz"); -#endif //OW_PKMN_OBJECTS_SHARE_PALETTES + const u32 gObjectEventPic_PyroarF[] = INCBIN_COMP("graphics/pokemon/pyroar/overworldf.4bpp"); #endif //OW_POKEMON_OBJECT_EVENTS +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_LITLEO #if P_FAMILY_FLABEBE @@ -14873,43 +19567,43 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u8 gMonFootprint_Flabebe[] = INCBIN_U8("graphics/pokemon/flabebe/footprint.1bpp"); #endif //P_FOOTPRINTS - const u32 gMonPalette_FlabebeRedFlower[] = INCBIN_U32("graphics/pokemon/flabebe/normal.gbapal.lz"); - const u32 gMonShinyPalette_FlabebeRedFlower[] = INCBIN_U32("graphics/pokemon/flabebe/shiny.gbapal.lz"); - const u8 gMonIcon_FlabebeRedFlower[] = INCBIN_U8("graphics/pokemon/flabebe/icon.4bpp"); + const u32 gMonPalette_FlabebeRed[] = INCBIN_U32("graphics/pokemon/flabebe/normal.gbapal.lz"); + const u32 gMonShinyPalette_FlabebeRed[] = INCBIN_U32("graphics/pokemon/flabebe/shiny.gbapal.lz"); + const u8 gMonIcon_FlabebeRed[] = INCBIN_U8("graphics/pokemon/flabebe/icon.4bpp"); - const u32 gMonPalette_FlabebeYellowFlower[] = INCBIN_U32("graphics/pokemon/flabebe/yellow_flower/normal.gbapal.lz"); - const u32 gMonShinyPalette_FlabebeYellowFlower[] = INCBIN_U32("graphics/pokemon/flabebe/yellow_flower/shiny.gbapal.lz"); - const u8 gMonIcon_FlabebeYellowFlower[] = INCBIN_U8("graphics/pokemon/flabebe/yellow_flower/icon.4bpp"); + const u32 gMonPalette_FlabebeYellow[] = INCBIN_U32("graphics/pokemon/flabebe/yellow/normal.gbapal.lz"); + const u32 gMonShinyPalette_FlabebeYellow[] = INCBIN_U32("graphics/pokemon/flabebe/yellow/shiny.gbapal.lz"); + const u8 gMonIcon_FlabebeYellow[] = INCBIN_U8("graphics/pokemon/flabebe/yellow/icon.4bpp"); - const u32 gMonPalette_FlabebeOrangeFlower[] = INCBIN_U32("graphics/pokemon/flabebe/orange_flower/normal.gbapal.lz"); - const u32 gMonShinyPalette_FlabebeOrangeFlower[] = INCBIN_U32("graphics/pokemon/flabebe/orange_flower/shiny.gbapal.lz"); - const u8 gMonIcon_FlabebeOrangeFlower[] = INCBIN_U8("graphics/pokemon/flabebe/orange_flower/icon.4bpp"); + const u32 gMonPalette_FlabebeOrange[] = INCBIN_U32("graphics/pokemon/flabebe/orange/normal.gbapal.lz"); + const u32 gMonShinyPalette_FlabebeOrange[] = INCBIN_U32("graphics/pokemon/flabebe/orange/shiny.gbapal.lz"); + const u8 gMonIcon_FlabebeOrange[] = INCBIN_U8("graphics/pokemon/flabebe/orange/icon.4bpp"); - const u32 gMonPalette_FlabebeBlueFlower[] = INCBIN_U32("graphics/pokemon/flabebe/blue_flower/normal.gbapal.lz"); - const u32 gMonShinyPalette_FlabebeBlueFlower[] = INCBIN_U32("graphics/pokemon/flabebe/blue_flower/shiny.gbapal.lz"); - const u8 gMonIcon_FlabebeBlueFlower[] = INCBIN_U8("graphics/pokemon/flabebe/blue_flower/icon.4bpp"); + const u32 gMonPalette_FlabebeBlue[] = INCBIN_U32("graphics/pokemon/flabebe/blue/normal.gbapal.lz"); + const u32 gMonShinyPalette_FlabebeBlue[] = INCBIN_U32("graphics/pokemon/flabebe/blue/shiny.gbapal.lz"); + const u8 gMonIcon_FlabebeBlue[] = INCBIN_U8("graphics/pokemon/flabebe/blue/icon.4bpp"); - const u32 gMonPalette_FlabebeWhiteFlower[] = INCBIN_U32("graphics/pokemon/flabebe/white_flower/normal.gbapal.lz"); - const u32 gMonShinyPalette_FlabebeWhiteFlower[] = INCBIN_U32("graphics/pokemon/flabebe/white_flower/shiny.gbapal.lz"); - const u8 gMonIcon_FlabebeWhiteFlower[] = INCBIN_U8("graphics/pokemon/flabebe/white_flower/icon.4bpp"); + const u32 gMonPalette_FlabebeWhite[] = INCBIN_U32("graphics/pokemon/flabebe/white/normal.gbapal.lz"); + const u32 gMonShinyPalette_FlabebeWhite[] = INCBIN_U32("graphics/pokemon/flabebe/white/shiny.gbapal.lz"); + const u8 gMonIcon_FlabebeWhite[] = INCBIN_U8("graphics/pokemon/flabebe/white/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_FlabebeRedFlower[] = INCBIN_COMP("graphics/pokemon/flabebe/overworld.4bpp"); - const u32 gObjectEventPic_FlabebeYellowFlower[] = INCBIN_COMP("graphics/pokemon/flabebe/yellow_flower/overworld.4bpp"); - const u32 gObjectEventPic_FlabebeOrangeFlower[] = INCBIN_COMP("graphics/pokemon/flabebe/orange_flower/overworld.4bpp"); - const u32 gObjectEventPic_FlabebeBlueFlower[] = INCBIN_COMP("graphics/pokemon/flabebe/blue_flower/overworld.4bpp"); - const u32 gObjectEventPic_FlabebeWhiteFlower[] = INCBIN_COMP("graphics/pokemon/flabebe/white_flower/overworld.4bpp"); + const u32 gObjectEventPic_FlabebeRed[] = INCBIN_COMP("graphics/pokemon/flabebe/overworld.4bpp"); + const u32 gObjectEventPic_FlabebeYellow[] = INCBIN_COMP("graphics/pokemon/flabebe/yellow/overworld.4bpp"); + const u32 gObjectEventPic_FlabebeOrange[] = INCBIN_COMP("graphics/pokemon/flabebe/orange/overworld.4bpp"); + const u32 gObjectEventPic_FlabebeBlue[] = INCBIN_COMP("graphics/pokemon/flabebe/blue/overworld.4bpp"); + const u32 gObjectEventPic_FlabebeWhite[] = INCBIN_COMP("graphics/pokemon/flabebe/white/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_FlabebeRedFlower[] = INCBIN_U32("graphics/pokemon/flabebe/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_FlabebeYellowFlower[] = INCBIN_U32("graphics/pokemon/flabebe/yellow_flower/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_FlabebeOrangeFlower[] = INCBIN_U32("graphics/pokemon/flabebe/orange_flower/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_FlabebeBlueFlower[] = INCBIN_U32("graphics/pokemon/flabebe/blue_flower/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_FlabebeWhiteFlower[] = INCBIN_U32("graphics/pokemon/flabebe/white_flower/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_FlabebeRedFlower[] = INCBIN_U32("graphics/pokemon/flabebe/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_FlabebeYellowFlower[] = INCBIN_U32("graphics/pokemon/flabebe/yellow_flower/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_FlabebeOrangeFlower[] = INCBIN_U32("graphics/pokemon/flabebe/orange_flower/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_FlabebeBlueFlower[] = INCBIN_U32("graphics/pokemon/flabebe/blue_flower/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_FlabebeWhiteFlower[] = INCBIN_U32("graphics/pokemon/flabebe/white_flower/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_FlabebeRed[] = INCBIN_U32("graphics/pokemon/flabebe/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_FlabebeYellow[] = INCBIN_U32("graphics/pokemon/flabebe/yellow/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_FlabebeOrange[] = INCBIN_U32("graphics/pokemon/flabebe/orange/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_FlabebeBlue[] = INCBIN_U32("graphics/pokemon/flabebe/blue/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_FlabebeWhite[] = INCBIN_U32("graphics/pokemon/flabebe/white/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_FlabebeRed[] = INCBIN_U32("graphics/pokemon/flabebe/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_FlabebeYellow[] = INCBIN_U32("graphics/pokemon/flabebe/yellow/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_FlabebeOrange[] = INCBIN_U32("graphics/pokemon/flabebe/orange/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_FlabebeBlue[] = INCBIN_U32("graphics/pokemon/flabebe/blue/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_FlabebeWhite[] = INCBIN_U32("graphics/pokemon/flabebe/white/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS @@ -14919,52 +19613,52 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u8 gMonFootprint_Floette[] = INCBIN_U8("graphics/pokemon/floette/footprint.1bpp"); #endif //P_FOOTPRINTS - const u32 gMonPalette_FloetteRedFlower[] = INCBIN_U32("graphics/pokemon/floette/normal.gbapal.lz"); - const u32 gMonShinyPalette_FloetteRedFlower[] = INCBIN_U32("graphics/pokemon/floette/shiny.gbapal.lz"); - const u8 gMonIcon_FloetteRedFlower[] = INCBIN_U8("graphics/pokemon/floette/icon.4bpp"); + const u32 gMonPalette_FloetteRed[] = INCBIN_U32("graphics/pokemon/floette/normal.gbapal.lz"); + const u32 gMonShinyPalette_FloetteRed[] = INCBIN_U32("graphics/pokemon/floette/shiny.gbapal.lz"); + const u8 gMonIcon_FloetteRed[] = INCBIN_U8("graphics/pokemon/floette/icon.4bpp"); - const u32 gMonPalette_FloetteYellowFlower[] = INCBIN_U32("graphics/pokemon/floette/yellow_flower/normal.gbapal.lz"); - const u32 gMonShinyPalette_FloetteYellowFlower[] = INCBIN_U32("graphics/pokemon/floette/yellow_flower/shiny.gbapal.lz"); - const u8 gMonIcon_FloetteYellowFlower[] = INCBIN_U8("graphics/pokemon/floette/yellow_flower/icon.4bpp"); + const u32 gMonPalette_FloetteYellow[] = INCBIN_U32("graphics/pokemon/floette/yellow/normal.gbapal.lz"); + const u32 gMonShinyPalette_FloetteYellow[] = INCBIN_U32("graphics/pokemon/floette/yellow/shiny.gbapal.lz"); + const u8 gMonIcon_FloetteYellow[] = INCBIN_U8("graphics/pokemon/floette/yellow/icon.4bpp"); - const u32 gMonPalette_FloetteOrangeFlower[] = INCBIN_U32("graphics/pokemon/floette/orange_flower/normal.gbapal.lz"); - const u32 gMonShinyPalette_FloetteOrangeFlower[] = INCBIN_U32("graphics/pokemon/floette/orange_flower/shiny.gbapal.lz"); - const u8 gMonIcon_FloetteOrangeFlower[] = INCBIN_U8("graphics/pokemon/floette/orange_flower/icon.4bpp"); + const u32 gMonPalette_FloetteOrange[] = INCBIN_U32("graphics/pokemon/floette/orange/normal.gbapal.lz"); + const u32 gMonShinyPalette_FloetteOrange[] = INCBIN_U32("graphics/pokemon/floette/orange/shiny.gbapal.lz"); + const u8 gMonIcon_FloetteOrange[] = INCBIN_U8("graphics/pokemon/floette/orange/icon.4bpp"); - const u32 gMonPalette_FloetteBlueFlower[] = INCBIN_U32("graphics/pokemon/floette/blue_flower/normal.gbapal.lz"); - const u32 gMonShinyPalette_FloetteBlueFlower[] = INCBIN_U32("graphics/pokemon/floette/blue_flower/shiny.gbapal.lz"); - const u8 gMonIcon_FloetteBlueFlower[] = INCBIN_U8("graphics/pokemon/floette/blue_flower/icon.4bpp"); + const u32 gMonPalette_FloetteBlue[] = INCBIN_U32("graphics/pokemon/floette/blue/normal.gbapal.lz"); + const u32 gMonShinyPalette_FloetteBlue[] = INCBIN_U32("graphics/pokemon/floette/blue/shiny.gbapal.lz"); + const u8 gMonIcon_FloetteBlue[] = INCBIN_U8("graphics/pokemon/floette/blue/icon.4bpp"); - const u32 gMonPalette_FloetteWhiteFlower[] = INCBIN_U32("graphics/pokemon/floette/white_flower/normal.gbapal.lz"); - const u32 gMonShinyPalette_FloetteWhiteFlower[] = INCBIN_U32("graphics/pokemon/floette/white_flower/shiny.gbapal.lz"); - const u8 gMonIcon_FloetteWhiteFlower[] = INCBIN_U8("graphics/pokemon/floette/white_flower/icon.4bpp"); + const u32 gMonPalette_FloetteWhite[] = INCBIN_U32("graphics/pokemon/floette/white/normal.gbapal.lz"); + const u32 gMonShinyPalette_FloetteWhite[] = INCBIN_U32("graphics/pokemon/floette/white/shiny.gbapal.lz"); + const u8 gMonIcon_FloetteWhite[] = INCBIN_U8("graphics/pokemon/floette/white/icon.4bpp"); - const u32 gMonFrontPic_FloetteEternalFlower[] = INCBIN_U32("graphics/pokemon/floette/eternal_flower/anim_front.4bpp.lz"); - const u32 gMonPalette_FloetteEternalFlower[] = INCBIN_U32("graphics/pokemon/floette/eternal_flower/normal.gbapal.lz"); - const u32 gMonBackPic_FloetteEternalFlower[] = INCBIN_U32("graphics/pokemon/floette/eternal_flower/back.4bpp.lz"); - const u32 gMonShinyPalette_FloetteEternalFlower[] = INCBIN_U32("graphics/pokemon/floette/eternal_flower/shiny.gbapal.lz"); - const u8 gMonIcon_FloetteEternalFlower[] = INCBIN_U8("graphics/pokemon/floette/eternal_flower/icon.4bpp"); + const u32 gMonFrontPic_FloetteEternal[] = INCBIN_U32("graphics/pokemon/floette/eternal/anim_front.4bpp.lz"); + const u32 gMonPalette_FloetteEternal[] = INCBIN_U32("graphics/pokemon/floette/eternal/normal.gbapal.lz"); + const u32 gMonBackPic_FloetteEternal[] = INCBIN_U32("graphics/pokemon/floette/eternal/back.4bpp.lz"); + const u32 gMonShinyPalette_FloetteEternal[] = INCBIN_U32("graphics/pokemon/floette/eternal/shiny.gbapal.lz"); + const u8 gMonIcon_FloetteEternal[] = INCBIN_U8("graphics/pokemon/floette/eternal/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_FloetteRedFlower[] = INCBIN_COMP("graphics/pokemon/floette/overworld.4bpp"); - const u32 gObjectEventPic_FloetteYellowFlower[] = INCBIN_COMP("graphics/pokemon/floette/yellow_flower/overworld.4bpp"); - const u32 gObjectEventPic_FloetteOrangeFlower[] = INCBIN_COMP("graphics/pokemon/floette/orange_flower/overworld.4bpp"); - const u32 gObjectEventPic_FloetteBlueFlower[] = INCBIN_COMP("graphics/pokemon/floette/blue_flower/overworld.4bpp"); - const u32 gObjectEventPic_FloetteWhiteFlower[] = INCBIN_COMP("graphics/pokemon/floette/white_flower/overworld.4bpp"); - const u32 gObjectEventPic_FloetteEternalFlower[] = INCBIN_COMP("graphics/pokemon/floette/eternal_flower/overworld.4bpp"); + const u32 gObjectEventPic_FloetteRed[] = INCBIN_COMP("graphics/pokemon/floette/overworld.4bpp"); + const u32 gObjectEventPic_FloetteYellow[] = INCBIN_COMP("graphics/pokemon/floette/yellow/overworld.4bpp"); + const u32 gObjectEventPic_FloetteOrange[] = INCBIN_COMP("graphics/pokemon/floette/orange/overworld.4bpp"); + const u32 gObjectEventPic_FloetteBlue[] = INCBIN_COMP("graphics/pokemon/floette/blue/overworld.4bpp"); + const u32 gObjectEventPic_FloetteWhite[] = INCBIN_COMP("graphics/pokemon/floette/white/overworld.4bpp"); + const u32 gObjectEventPic_FloetteEternal[] = INCBIN_COMP("graphics/pokemon/floette/eternal/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_FloetteRedFlower[] = INCBIN_U32("graphics/pokemon/floette/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_FloetteYellowFlower[] = INCBIN_U32("graphics/pokemon/floette/yellow_flower/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_FloetteOrangeFlower[] = INCBIN_U32("graphics/pokemon/floette/orange_flower/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_FloetteBlueFlower[] = INCBIN_U32("graphics/pokemon/floette/blue_flower/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_FloetteWhiteFlower[] = INCBIN_U32("graphics/pokemon/floette/white_flower/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_FloetteEternalFlower[] = INCBIN_U32("graphics/pokemon/floette/eternal_flower/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_FloetteRedFlower[] = INCBIN_U32("graphics/pokemon/floette/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_FloetteYellowFlower[] = INCBIN_U32("graphics/pokemon/floette/yellow_flower/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_FloetteOrangeFlower[] = INCBIN_U32("graphics/pokemon/floette/orange_flower/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_FloetteBlueFlower[] = INCBIN_U32("graphics/pokemon/floette/blue_flower/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_FloetteWhiteFlower[] = INCBIN_U32("graphics/pokemon/floette/white_flower/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_FloetteEternalFlower[] = INCBIN_U32("graphics/pokemon/floette/eternal_flower/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_FloetteRed[] = INCBIN_U32("graphics/pokemon/floette/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_FloetteYellow[] = INCBIN_U32("graphics/pokemon/floette/yellow/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_FloetteOrange[] = INCBIN_U32("graphics/pokemon/floette/orange/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_FloetteBlue[] = INCBIN_U32("graphics/pokemon/floette/blue/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_FloetteWhite[] = INCBIN_U32("graphics/pokemon/floette/white/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_FloetteEternal[] = INCBIN_U32("graphics/pokemon/floette/eternal/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_FloetteRed[] = INCBIN_U32("graphics/pokemon/floette/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_FloetteYellow[] = INCBIN_U32("graphics/pokemon/floette/yellow/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_FloetteOrange[] = INCBIN_U32("graphics/pokemon/floette/orange/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_FloetteBlue[] = INCBIN_U32("graphics/pokemon/floette/blue/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_FloetteWhite[] = INCBIN_U32("graphics/pokemon/floette/white/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_FloetteEternal[] = INCBIN_U32("graphics/pokemon/floette/eternal/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS @@ -14974,43 +19668,43 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u8 gMonFootprint_Florges[] = INCBIN_U8("graphics/pokemon/florges/footprint.1bpp"); #endif //P_FOOTPRINTS - const u32 gMonPalette_FlorgesRedFlower[] = INCBIN_U32("graphics/pokemon/florges/normal.gbapal.lz"); - const u32 gMonShinyPalette_FlorgesRedFlower[] = INCBIN_U32("graphics/pokemon/florges/shiny.gbapal.lz"); - const u8 gMonIcon_FlorgesRedFlower[] = INCBIN_U8("graphics/pokemon/florges/icon.4bpp"); + const u32 gMonPalette_FlorgesRed[] = INCBIN_U32("graphics/pokemon/florges/normal.gbapal.lz"); + const u32 gMonShinyPalette_FlorgesRed[] = INCBIN_U32("graphics/pokemon/florges/shiny.gbapal.lz"); + const u8 gMonIcon_FlorgesRed[] = INCBIN_U8("graphics/pokemon/florges/icon.4bpp"); - const u32 gMonPalette_FlorgesYellowFlower[] = INCBIN_U32("graphics/pokemon/florges/yellow_flower/normal.gbapal.lz"); - const u32 gMonShinyPalette_FlorgesYellowFlower[] = INCBIN_U32("graphics/pokemon/florges/yellow_flower/shiny.gbapal.lz"); - const u8 gMonIcon_FlorgesYellowFlower[] = INCBIN_U8("graphics/pokemon/florges/yellow_flower/icon.4bpp"); + const u32 gMonPalette_FlorgesYellow[] = INCBIN_U32("graphics/pokemon/florges/yellow/normal.gbapal.lz"); + const u32 gMonShinyPalette_FlorgesYellow[] = INCBIN_U32("graphics/pokemon/florges/yellow/shiny.gbapal.lz"); + const u8 gMonIcon_FlorgesYellow[] = INCBIN_U8("graphics/pokemon/florges/yellow/icon.4bpp"); - const u32 gMonPalette_FlorgesOrangeFlower[] = INCBIN_U32("graphics/pokemon/florges/orange_flower/normal.gbapal.lz"); - const u32 gMonShinyPalette_FlorgesOrangeFlower[] = INCBIN_U32("graphics/pokemon/florges/orange_flower/shiny.gbapal.lz"); - const u8 gMonIcon_FlorgesOrangeFlower[] = INCBIN_U8("graphics/pokemon/florges/orange_flower/icon.4bpp"); + const u32 gMonPalette_FlorgesOrange[] = INCBIN_U32("graphics/pokemon/florges/orange/normal.gbapal.lz"); + const u32 gMonShinyPalette_FlorgesOrange[] = INCBIN_U32("graphics/pokemon/florges/orange/shiny.gbapal.lz"); + const u8 gMonIcon_FlorgesOrange[] = INCBIN_U8("graphics/pokemon/florges/orange/icon.4bpp"); - const u32 gMonPalette_FlorgesBlueFlower[] = INCBIN_U32("graphics/pokemon/florges/blue_flower/normal.gbapal.lz"); - const u32 gMonShinyPalette_FlorgesBlueFlower[] = INCBIN_U32("graphics/pokemon/florges/blue_flower/shiny.gbapal.lz"); - const u8 gMonIcon_FlorgesBlueFlower[] = INCBIN_U8("graphics/pokemon/florges/blue_flower/icon.4bpp"); + const u32 gMonPalette_FlorgesBlue[] = INCBIN_U32("graphics/pokemon/florges/blue/normal.gbapal.lz"); + const u32 gMonShinyPalette_FlorgesBlue[] = INCBIN_U32("graphics/pokemon/florges/blue/shiny.gbapal.lz"); + const u8 gMonIcon_FlorgesBlue[] = INCBIN_U8("graphics/pokemon/florges/blue/icon.4bpp"); - const u32 gMonPalette_FlorgesWhiteFlower[] = INCBIN_U32("graphics/pokemon/florges/white_flower/normal.gbapal.lz"); - const u32 gMonShinyPalette_FlorgesWhiteFlower[] = INCBIN_U32("graphics/pokemon/florges/white_flower/shiny.gbapal.lz"); - const u8 gMonIcon_FlorgesWhiteFlower[] = INCBIN_U8("graphics/pokemon/florges/white_flower/icon.4bpp"); + const u32 gMonPalette_FlorgesWhite[] = INCBIN_U32("graphics/pokemon/florges/white/normal.gbapal.lz"); + const u32 gMonShinyPalette_FlorgesWhite[] = INCBIN_U32("graphics/pokemon/florges/white/shiny.gbapal.lz"); + const u8 gMonIcon_FlorgesWhite[] = INCBIN_U8("graphics/pokemon/florges/white/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_FlorgesRedFlower[] = INCBIN_COMP("graphics/pokemon/florges/overworld.4bpp"); - const u32 gObjectEventPic_FlorgesYellowFlower[] = INCBIN_COMP("graphics/pokemon/florges/yellow_flower/overworld.4bpp"); - const u32 gObjectEventPic_FlorgesOrangeFlower[] = INCBIN_COMP("graphics/pokemon/florges/orange_flower/overworld.4bpp"); - const u32 gObjectEventPic_FlorgesBlueFlower[] = INCBIN_COMP("graphics/pokemon/florges/blue_flower/overworld.4bpp"); - const u32 gObjectEventPic_FlorgesWhiteFlower[] = INCBIN_COMP("graphics/pokemon/florges/white_flower/overworld.4bpp"); + const u32 gObjectEventPic_FlorgesRed[] = INCBIN_COMP("graphics/pokemon/florges/overworld.4bpp"); + const u32 gObjectEventPic_FlorgesYellow[] = INCBIN_COMP("graphics/pokemon/florges/yellow/overworld.4bpp"); + const u32 gObjectEventPic_FlorgesOrange[] = INCBIN_COMP("graphics/pokemon/florges/orange/overworld.4bpp"); + const u32 gObjectEventPic_FlorgesBlue[] = INCBIN_COMP("graphics/pokemon/florges/blue/overworld.4bpp"); + const u32 gObjectEventPic_FlorgesWhite[] = INCBIN_COMP("graphics/pokemon/florges/white/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_FlorgesRedFlower[] = INCBIN_U32("graphics/pokemon/florges/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_FlorgesYellowFlower[] = INCBIN_U32("graphics/pokemon/florges/yellow_flower/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_FlorgesOrangeFlower[] = INCBIN_U32("graphics/pokemon/florges/orange_flower/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_FlorgesBlueFlower[] = INCBIN_U32("graphics/pokemon/florges/blue_flower/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_FlorgesWhiteFlower[] = INCBIN_U32("graphics/pokemon/florges/white_flower/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_FlorgesRedFlower[] = INCBIN_U32("graphics/pokemon/florges/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_FlorgesYellowFlower[] = INCBIN_U32("graphics/pokemon/florges/yellow_flower/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_FlorgesOrangeFlower[] = INCBIN_U32("graphics/pokemon/florges/orange_flower/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_FlorgesBlueFlower[] = INCBIN_U32("graphics/pokemon/florges/blue_flower/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_FlorgesWhiteFlower[] = INCBIN_U32("graphics/pokemon/florges/white_flower/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_FlorgesRed[] = INCBIN_U32("graphics/pokemon/florges/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_FlorgesYellow[] = INCBIN_U32("graphics/pokemon/florges/yellow/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_FlorgesOrange[] = INCBIN_U32("graphics/pokemon/florges/orange/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_FlorgesBlue[] = INCBIN_U32("graphics/pokemon/florges/blue/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_FlorgesWhite[] = INCBIN_U32("graphics/pokemon/florges/white/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_FlorgesRed[] = INCBIN_U32("graphics/pokemon/florges/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_FlorgesYellow[] = INCBIN_U32("graphics/pokemon/florges/yellow/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_FlorgesOrange[] = INCBIN_U32("graphics/pokemon/florges/orange/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_FlorgesBlue[] = INCBIN_U32("graphics/pokemon/florges/blue/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_FlorgesWhite[] = INCBIN_U32("graphics/pokemon/florges/white/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_FAMILY_FLABEBE @@ -15200,32 +19894,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_MeowsticMale[] = INCBIN_U32("graphics/pokemon/meowstic/anim_front.4bpp.lz"); - const u32 gMonPalette_MeowsticMale[] = INCBIN_U32("graphics/pokemon/meowstic/normal.gbapal.lz"); - const u32 gMonBackPic_MeowsticMale[] = INCBIN_U32("graphics/pokemon/meowstic/back.4bpp.lz"); - const u32 gMonShinyPalette_MeowsticMale[] = INCBIN_U32("graphics/pokemon/meowstic/shiny.gbapal.lz"); - const u8 gMonIcon_MeowsticMale[] = INCBIN_U8("graphics/pokemon/meowstic/icon.4bpp"); + const u32 gMonFrontPic_MeowsticM[] = INCBIN_U32("graphics/pokemon/meowstic/anim_front.4bpp.lz"); + const u32 gMonPalette_MeowsticM[] = INCBIN_U32("graphics/pokemon/meowstic/normal.gbapal.lz"); + const u32 gMonBackPic_MeowsticM[] = INCBIN_U32("graphics/pokemon/meowstic/back.4bpp.lz"); + const u32 gMonShinyPalette_MeowsticM[] = INCBIN_U32("graphics/pokemon/meowstic/shiny.gbapal.lz"); + const u8 gMonIcon_MeowsticM[] = INCBIN_U8("graphics/pokemon/meowstic/icon.4bpp"); #if P_FOOTPRINTS const u8 gMonFootprint_Meowstic[] = INCBIN_U8("graphics/pokemon/meowstic/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_MeowsticMale[] = INCBIN_COMP("graphics/pokemon/meowstic/overworld.4bpp"); + const u32 gObjectEventPic_MeowsticM[] = INCBIN_COMP("graphics/pokemon/meowstic/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_MeowsticMale[] = INCBIN_U32("graphics/pokemon/meowstic/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_MeowsticMale[] = INCBIN_U32("graphics/pokemon/meowstic/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_MeowsticM[] = INCBIN_U32("graphics/pokemon/meowstic/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_MeowsticM[] = INCBIN_U32("graphics/pokemon/meowstic/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_MeowsticFemale[] = INCBIN_U32("graphics/pokemon/meowstic/female/anim_front.4bpp.lz"); - const u32 gMonPalette_MeowsticFemale[] = INCBIN_U32("graphics/pokemon/meowstic/female/normal.gbapal.lz"); - const u32 gMonBackPic_MeowsticFemale[] = INCBIN_U32("graphics/pokemon/meowstic/female/back.4bpp.lz"); - const u32 gMonShinyPalette_MeowsticFemale[] = INCBIN_U32("graphics/pokemon/meowstic/female/shiny.gbapal.lz"); - const u8 gMonIcon_MeowsticFemale[] = INCBIN_U8("graphics/pokemon/meowstic/female/icon.4bpp"); + const u32 gMonFrontPic_MeowsticF[] = INCBIN_U32("graphics/pokemon/meowstic/f/anim_front.4bpp.lz"); + const u32 gMonPalette_MeowsticF[] = INCBIN_U32("graphics/pokemon/meowstic/f/normal.gbapal.lz"); + const u32 gMonBackPic_MeowsticF[] = INCBIN_U32("graphics/pokemon/meowstic/f/back.4bpp.lz"); + const u32 gMonShinyPalette_MeowsticF[] = INCBIN_U32("graphics/pokemon/meowstic/f/shiny.gbapal.lz"); + const u8 gMonIcon_MeowsticF[] = INCBIN_U8("graphics/pokemon/meowstic/f/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_MeowsticFemale[] = INCBIN_COMP("graphics/pokemon/meowstic/female/overworld.4bpp"); + const u32 gObjectEventPic_MeowsticF[] = INCBIN_COMP("graphics/pokemon/meowstic/f/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_MeowsticFemale[] = INCBIN_U32("graphics/pokemon/meowstic/female/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_MeowsticFemale[] = INCBIN_U32("graphics/pokemon/meowstic/female/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_MeowsticF[] = INCBIN_U32("graphics/pokemon/meowstic/f/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_MeowsticF[] = INCBIN_U32("graphics/pokemon/meowstic/f/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_FAMILY_ESPURR @@ -15687,16 +20381,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_HISUIAN_FORMS - const u32 gMonFrontPic_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/front.4bpp.lz"); - const u32 gMonPalette_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/normal.gbapal.lz"); - const u32 gMonBackPic_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/back.4bpp.lz"); - const u32 gMonShinyPalette_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/shiny.gbapal.lz"); - const u8 gMonIcon_SliggooHisuian[] = INCBIN_U8("graphics/pokemon/sliggoo/hisuian/icon.4bpp"); + const u32 gMonFrontPic_SliggooHisui[] = INCBIN_U32("graphics/pokemon/sliggoo/hisui/front.4bpp.lz"); + const u32 gMonPalette_SliggooHisui[] = INCBIN_U32("graphics/pokemon/sliggoo/hisui/normal.gbapal.lz"); + const u32 gMonBackPic_SliggooHisui[] = INCBIN_U32("graphics/pokemon/sliggoo/hisui/back.4bpp.lz"); + const u32 gMonShinyPalette_SliggooHisui[] = INCBIN_U32("graphics/pokemon/sliggoo/hisui/shiny.gbapal.lz"); + const u8 gMonIcon_SliggooHisui[] = INCBIN_U8("graphics/pokemon/sliggoo/hisui/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_SliggooHisuian[] = INCBIN_COMP("graphics/pokemon/sliggoo/hisuian/overworld.4bpp"); + const u32 gObjectEventPic_SliggooHisui[] = INCBIN_COMP("graphics/pokemon/sliggoo/hisui/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_SliggooHisui[] = INCBIN_U32("graphics/pokemon/sliggoo/hisui/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_SliggooHisui[] = INCBIN_U32("graphics/pokemon/sliggoo/hisui/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_HISUIAN_FORMS @@ -15718,16 +20412,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_HISUIAN_FORMS - const u32 gMonFrontPic_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/front.4bpp.lz"); - const u32 gMonPalette_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/normal.gbapal.lz"); - const u32 gMonBackPic_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/back.4bpp.lz"); - const u32 gMonShinyPalette_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/shiny.gbapal.lz"); - const u8 gMonIcon_GoodraHisuian[] = INCBIN_U8("graphics/pokemon/goodra/hisuian/icon.4bpp"); + const u32 gMonFrontPic_GoodraHisui[] = INCBIN_U32("graphics/pokemon/goodra/hisui/front.4bpp.lz"); + const u32 gMonPalette_GoodraHisui[] = INCBIN_U32("graphics/pokemon/goodra/hisui/normal.gbapal.lz"); + const u32 gMonBackPic_GoodraHisui[] = INCBIN_U32("graphics/pokemon/goodra/hisui/back.4bpp.lz"); + const u32 gMonShinyPalette_GoodraHisui[] = INCBIN_U32("graphics/pokemon/goodra/hisui/shiny.gbapal.lz"); + const u8 gMonIcon_GoodraHisui[] = INCBIN_U8("graphics/pokemon/goodra/hisui/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_GoodraHisuian[] = INCBIN_COMP("graphics/pokemon/goodra/hisuian/overworld.4bpp"); + const u32 gObjectEventPic_GoodraHisui[] = INCBIN_COMP("graphics/pokemon/goodra/hisui/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_GoodraHisui[] = INCBIN_U32("graphics/pokemon/goodra/hisui/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_GoodraHisui[] = INCBIN_U32("graphics/pokemon/goodra/hisui/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_HISUIAN_FORMS @@ -15883,16 +20577,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_HISUIAN_FORMS - const u32 gMonFrontPic_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/front.4bpp.lz"); - const u32 gMonPalette_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/normal.gbapal.lz"); - const u32 gMonBackPic_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/back.4bpp.lz"); - const u32 gMonShinyPalette_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/shiny.gbapal.lz"); - const u8 gMonIcon_AvaluggHisuian[] = INCBIN_U8("graphics/pokemon/avalugg/hisuian/icon.4bpp"); + const u32 gMonFrontPic_AvaluggHisui[] = INCBIN_U32("graphics/pokemon/avalugg/hisui/front.4bpp.lz"); + const u32 gMonPalette_AvaluggHisui[] = INCBIN_U32("graphics/pokemon/avalugg/hisui/normal.gbapal.lz"); + const u32 gMonBackPic_AvaluggHisui[] = INCBIN_U32("graphics/pokemon/avalugg/hisui/back.4bpp.lz"); + const u32 gMonShinyPalette_AvaluggHisui[] = INCBIN_U32("graphics/pokemon/avalugg/hisui/shiny.gbapal.lz"); + const u8 gMonIcon_AvaluggHisui[] = INCBIN_U8("graphics/pokemon/avalugg/hisui/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_AvaluggHisuian[] = INCBIN_COMP("graphics/pokemon/avalugg/hisuian/overworld.4bpp"); + const u32 gObjectEventPic_AvaluggHisui[] = INCBIN_COMP("graphics/pokemon/avalugg/hisui/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_AvaluggHisui[] = INCBIN_U32("graphics/pokemon/avalugg/hisui/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_AvaluggHisui[] = INCBIN_U32("graphics/pokemon/avalugg/hisui/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_HISUIAN_FORMS @@ -16158,16 +20852,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_HISUIAN_FORMS - const u32 gMonFrontPic_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/front.4bpp.lz"); - const u32 gMonPalette_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/normal.gbapal.lz"); - const u32 gMonBackPic_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/back.4bpp.lz"); - const u32 gMonShinyPalette_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/shiny.gbapal.lz"); - const u8 gMonIcon_DecidueyeHisuian[] = INCBIN_U8("graphics/pokemon/decidueye/hisuian/icon.4bpp"); + const u32 gMonFrontPic_DecidueyeHisui[] = INCBIN_U32("graphics/pokemon/decidueye/hisui/front.4bpp.lz"); + const u32 gMonPalette_DecidueyeHisui[] = INCBIN_U32("graphics/pokemon/decidueye/hisui/normal.gbapal.lz"); + const u32 gMonBackPic_DecidueyeHisui[] = INCBIN_U32("graphics/pokemon/decidueye/hisui/back.4bpp.lz"); + const u32 gMonShinyPalette_DecidueyeHisui[] = INCBIN_U32("graphics/pokemon/decidueye/hisui/shiny.gbapal.lz"); + const u8 gMonIcon_DecidueyeHisui[] = INCBIN_U8("graphics/pokemon/decidueye/hisui/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_DecidueyeHisuian[] = INCBIN_COMP("graphics/pokemon/decidueye/hisuian/overworld.4bpp"); + const u32 gObjectEventPic_DecidueyeHisui[] = INCBIN_COMP("graphics/pokemon/decidueye/hisui/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_DecidueyeHisui[] = INCBIN_U32("graphics/pokemon/decidueye/hisui/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_DecidueyeHisui[] = INCBIN_U32("graphics/pokemon/decidueye/hisui/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_HISUIAN_FORMS @@ -17712,16 +22406,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/front.4bpp.lz"); - const u32 gMonPalette_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/normal.gbapal.lz"); - const u32 gMonBackPic_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/back.4bpp.lz"); - const u32 gMonShinyPalette_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/shiny.gbapal.lz"); - const u8 gMonIcon_MagearnaOriginalColor[] = INCBIN_U8("graphics/pokemon/magearna/original_color/icon.4bpp"); + const u32 gMonFrontPic_MagearnaOriginal[] = INCBIN_U32("graphics/pokemon/magearna/original_color/front.4bpp.lz"); + const u32 gMonPalette_MagearnaOriginal[] = INCBIN_U32("graphics/pokemon/magearna/original_color/normal.gbapal.lz"); + const u32 gMonBackPic_MagearnaOriginal[] = INCBIN_U32("graphics/pokemon/magearna/original_color/back.4bpp.lz"); + const u32 gMonShinyPalette_MagearnaOriginal[] = INCBIN_U32("graphics/pokemon/magearna/original_color/shiny.gbapal.lz"); + const u8 gMonIcon_MagearnaOriginal[] = INCBIN_U8("graphics/pokemon/magearna/original_color/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_MagearnaOriginalColor[] = INCBIN_COMP("graphics/pokemon/magearna/original_color/overworld.4bpp"); + const u32 gObjectEventPic_MagearnaOriginal[] = INCBIN_COMP("graphics/pokemon/magearna/original_color/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_MagearnaOriginal[] = INCBIN_U32("graphics/pokemon/magearna/original_color/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_MagearnaOriginal[] = INCBIN_U32("graphics/pokemon/magearna/original_color/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_FAMILY_MAGEARNA @@ -17866,16 +22560,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_MelmetalGigantamax[] = INCBIN_U32("graphics/pokemon/melmetal/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_MelmetalGigantamax[] = INCBIN_U32("graphics/pokemon/melmetal/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_MelmetalGigantamax[] = INCBIN_U32("graphics/pokemon/melmetal/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_MelmetalGigantamax[] = INCBIN_U32("graphics/pokemon/melmetal/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_MelmetalGigantamax[] = INCBIN_U8("graphics/pokemon/melmetal/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_MelmetalGmax[] = INCBIN_U32("graphics/pokemon/melmetal/gmax/front.4bpp.lz"); + const u32 gMonBackPic_MelmetalGmax[] = INCBIN_U32("graphics/pokemon/melmetal/gmax/back.4bpp.lz"); + const u32 gMonPalette_MelmetalGmax[] = INCBIN_U32("graphics/pokemon/melmetal/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_MelmetalGmax[] = INCBIN_U32("graphics/pokemon/melmetal/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_MelmetalGmax[] = INCBIN_U8("graphics/pokemon/melmetal/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_MelmetalGigantamax[] = INCBIN_COMP("graphics/pokemon/melmetal/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_MelmetalGmax[] = INCBIN_COMP("graphics/pokemon/melmetal/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_MelmetalGigantamax[] = INCBIN_U32("graphics/pokemon/melmetal/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_MelmetalGigantamax[] = INCBIN_U32("graphics/pokemon/melmetal/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_MelmetalGmax[] = INCBIN_U32("graphics/pokemon/melmetal/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_MelmetalGmax[] = INCBIN_U32("graphics/pokemon/melmetal/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -17931,16 +22625,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_RillaboomGigantamax[] = INCBIN_U32("graphics/pokemon/rillaboom/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_RillaboomGigantamax[] = INCBIN_U32("graphics/pokemon/rillaboom/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_RillaboomGigantamax[] = INCBIN_U32("graphics/pokemon/rillaboom/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_RillaboomGigantamax[] = INCBIN_U32("graphics/pokemon/rillaboom/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_RillaboomGigantamax[] = INCBIN_U8("graphics/pokemon/rillaboom/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_RillaboomGmax[] = INCBIN_U32("graphics/pokemon/rillaboom/gmax/front.4bpp.lz"); + const u32 gMonBackPic_RillaboomGmax[] = INCBIN_U32("graphics/pokemon/rillaboom/gmax/back.4bpp.lz"); + const u32 gMonPalette_RillaboomGmax[] = INCBIN_U32("graphics/pokemon/rillaboom/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_RillaboomGmax[] = INCBIN_U32("graphics/pokemon/rillaboom/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_RillaboomGmax[] = INCBIN_U8("graphics/pokemon/rillaboom/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_RillaboomGigantamax[] = INCBIN_COMP("graphics/pokemon/rillaboom/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_RillaboomGmax[] = INCBIN_COMP("graphics/pokemon/rillaboom/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_RillaboomGigantamax[] = INCBIN_U32("graphics/pokemon/rillaboom/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_RillaboomGigantamax[] = INCBIN_U32("graphics/pokemon/rillaboom/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_RillaboomGmax[] = INCBIN_U32("graphics/pokemon/rillaboom/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_RillaboomGmax[] = INCBIN_U32("graphics/pokemon/rillaboom/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -17996,16 +22690,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_CinderaceGigantamax[] = INCBIN_U32("graphics/pokemon/cinderace/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_CinderaceGigantamax[] = INCBIN_U32("graphics/pokemon/cinderace/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_CinderaceGigantamax[] = INCBIN_U32("graphics/pokemon/cinderace/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_CinderaceGigantamax[] = INCBIN_U32("graphics/pokemon/cinderace/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_CinderaceGigantamax[] = INCBIN_U8("graphics/pokemon/cinderace/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_CinderaceGmax[] = INCBIN_U32("graphics/pokemon/cinderace/gmax/front.4bpp.lz"); + const u32 gMonBackPic_CinderaceGmax[] = INCBIN_U32("graphics/pokemon/cinderace/gmax/back.4bpp.lz"); + const u32 gMonPalette_CinderaceGmax[] = INCBIN_U32("graphics/pokemon/cinderace/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_CinderaceGmax[] = INCBIN_U32("graphics/pokemon/cinderace/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_CinderaceGmax[] = INCBIN_U8("graphics/pokemon/cinderace/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_CinderaceGigantamax[] = INCBIN_COMP("graphics/pokemon/cinderace/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_CinderaceGmax[] = INCBIN_COMP("graphics/pokemon/cinderace/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_CinderaceGigantamax[] = INCBIN_U32("graphics/pokemon/cinderace/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_CinderaceGigantamax[] = INCBIN_U32("graphics/pokemon/cinderace/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_CinderaceGmax[] = INCBIN_U32("graphics/pokemon/cinderace/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_CinderaceGmax[] = INCBIN_U32("graphics/pokemon/cinderace/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -18061,16 +22755,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_InteleonGigantamax[] = INCBIN_U32("graphics/pokemon/inteleon/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_InteleonGigantamax[] = INCBIN_U32("graphics/pokemon/inteleon/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_InteleonGigantamax[] = INCBIN_U32("graphics/pokemon/inteleon/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_InteleonGigantamax[] = INCBIN_U32("graphics/pokemon/inteleon/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_InteleonGigantamax[] = INCBIN_U8("graphics/pokemon/inteleon/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_InteleonGmax[] = INCBIN_U32("graphics/pokemon/inteleon/gmax/front.4bpp.lz"); + const u32 gMonBackPic_InteleonGmax[] = INCBIN_U32("graphics/pokemon/inteleon/gmax/back.4bpp.lz"); + const u32 gMonPalette_InteleonGmax[] = INCBIN_U32("graphics/pokemon/inteleon/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_InteleonGmax[] = INCBIN_U32("graphics/pokemon/inteleon/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_InteleonGmax[] = INCBIN_U8("graphics/pokemon/inteleon/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_InteleonGigantamax[] = INCBIN_COMP("graphics/pokemon/inteleon/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_InteleonGmax[] = INCBIN_COMP("graphics/pokemon/inteleon/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_InteleonGigantamax[] = INCBIN_U32("graphics/pokemon/inteleon/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_InteleonGigantamax[] = INCBIN_U32("graphics/pokemon/inteleon/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_InteleonGmax[] = INCBIN_U32("graphics/pokemon/inteleon/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_InteleonGmax[] = INCBIN_U32("graphics/pokemon/inteleon/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -18160,16 +22854,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_CorviknightGigantamax[] = INCBIN_U32("graphics/pokemon/corviknight/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_CorviknightGigantamax[] = INCBIN_U32("graphics/pokemon/corviknight/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_CorviknightGigantamax[] = INCBIN_U32("graphics/pokemon/corviknight/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_CorviknightGigantamax[] = INCBIN_U32("graphics/pokemon/corviknight/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_CorviknightGigantamax[] = INCBIN_U8("graphics/pokemon/corviknight/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_CorviknightGmax[] = INCBIN_U32("graphics/pokemon/corviknight/gmax/front.4bpp.lz"); + const u32 gMonBackPic_CorviknightGmax[] = INCBIN_U32("graphics/pokemon/corviknight/gmax/back.4bpp.lz"); + const u32 gMonPalette_CorviknightGmax[] = INCBIN_U32("graphics/pokemon/corviknight/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_CorviknightGmax[] = INCBIN_U32("graphics/pokemon/corviknight/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_CorviknightGmax[] = INCBIN_U8("graphics/pokemon/corviknight/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_CorviknightGigantamax[] = INCBIN_COMP("graphics/pokemon/corviknight/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_CorviknightGmax[] = INCBIN_COMP("graphics/pokemon/corviknight/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_CorviknightGigantamax[] = INCBIN_U32("graphics/pokemon/corviknight/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_CorviknightGigantamax[] = INCBIN_U32("graphics/pokemon/corviknight/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_CorviknightGmax[] = INCBIN_U32("graphics/pokemon/corviknight/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_CorviknightGmax[] = INCBIN_U32("graphics/pokemon/corviknight/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -18225,16 +22919,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_OrbeetleGigantamax[] = INCBIN_U32("graphics/pokemon/orbeetle/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_OrbeetleGigantamax[] = INCBIN_U32("graphics/pokemon/orbeetle/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_OrbeetleGigantamax[] = INCBIN_U32("graphics/pokemon/orbeetle/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_OrbeetleGigantamax[] = INCBIN_U32("graphics/pokemon/orbeetle/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_OrbeetleGigantamax[] = INCBIN_U8("graphics/pokemon/orbeetle/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_OrbeetleGmax[] = INCBIN_U32("graphics/pokemon/orbeetle/gmax/front.4bpp.lz"); + const u32 gMonBackPic_OrbeetleGmax[] = INCBIN_U32("graphics/pokemon/orbeetle/gmax/back.4bpp.lz"); + const u32 gMonPalette_OrbeetleGmax[] = INCBIN_U32("graphics/pokemon/orbeetle/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_OrbeetleGmax[] = INCBIN_U32("graphics/pokemon/orbeetle/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_OrbeetleGmax[] = INCBIN_U8("graphics/pokemon/orbeetle/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_OrbeetleGigantamax[] = INCBIN_COMP("graphics/pokemon/orbeetle/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_OrbeetleGmax[] = INCBIN_COMP("graphics/pokemon/orbeetle/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_OrbeetleGigantamax[] = INCBIN_U32("graphics/pokemon/orbeetle/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_OrbeetleGigantamax[] = INCBIN_U32("graphics/pokemon/orbeetle/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_OrbeetleGmax[] = INCBIN_U32("graphics/pokemon/orbeetle/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_OrbeetleGmax[] = INCBIN_U32("graphics/pokemon/orbeetle/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -18376,16 +23070,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_DrednawGigantamax[] = INCBIN_U32("graphics/pokemon/drednaw/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_DrednawGigantamax[] = INCBIN_U32("graphics/pokemon/drednaw/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_DrednawGigantamax[] = INCBIN_U32("graphics/pokemon/drednaw/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_DrednawGigantamax[] = INCBIN_U32("graphics/pokemon/drednaw/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_DrednawGigantamax[] = INCBIN_U8("graphics/pokemon/drednaw/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_DrednawGmax[] = INCBIN_U32("graphics/pokemon/drednaw/gmax/front.4bpp.lz"); + const u32 gMonBackPic_DrednawGmax[] = INCBIN_U32("graphics/pokemon/drednaw/gmax/back.4bpp.lz"); + const u32 gMonPalette_DrednawGmax[] = INCBIN_U32("graphics/pokemon/drednaw/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_DrednawGmax[] = INCBIN_U32("graphics/pokemon/drednaw/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_DrednawGmax[] = INCBIN_U8("graphics/pokemon/drednaw/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_DrednawGigantamax[] = INCBIN_COMP("graphics/pokemon/drednaw/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_DrednawGmax[] = INCBIN_COMP("graphics/pokemon/drednaw/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_DrednawGigantamax[] = INCBIN_U32("graphics/pokemon/drednaw/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_DrednawGigantamax[] = INCBIN_U32("graphics/pokemon/drednaw/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_DrednawGmax[] = INCBIN_U32("graphics/pokemon/drednaw/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_DrednawGmax[] = INCBIN_U32("graphics/pokemon/drednaw/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -18475,16 +23169,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_CoalossalGigantamax[] = INCBIN_U32("graphics/pokemon/coalossal/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_CoalossalGigantamax[] = INCBIN_U32("graphics/pokemon/coalossal/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_CoalossalGigantamax[] = INCBIN_U32("graphics/pokemon/coalossal/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_CoalossalGigantamax[] = INCBIN_U32("graphics/pokemon/coalossal/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_CoalossalGigantamax[] = INCBIN_U8("graphics/pokemon/coalossal/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_CoalossalGmax[] = INCBIN_U32("graphics/pokemon/coalossal/gmax/front.4bpp.lz"); + const u32 gMonBackPic_CoalossalGmax[] = INCBIN_U32("graphics/pokemon/coalossal/gmax/back.4bpp.lz"); + const u32 gMonPalette_CoalossalGmax[] = INCBIN_U32("graphics/pokemon/coalossal/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_CoalossalGmax[] = INCBIN_U32("graphics/pokemon/coalossal/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_CoalossalGmax[] = INCBIN_U8("graphics/pokemon/coalossal/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_CoalossalGigantamax[] = INCBIN_COMP("graphics/pokemon/coalossal/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_CoalossalGmax[] = INCBIN_COMP("graphics/pokemon/coalossal/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_CoalossalGigantamax[] = INCBIN_U32("graphics/pokemon/coalossal/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_CoalossalGigantamax[] = INCBIN_U32("graphics/pokemon/coalossal/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_CoalossalGmax[] = INCBIN_U32("graphics/pokemon/coalossal/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_CoalossalGmax[] = INCBIN_U32("graphics/pokemon/coalossal/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -18524,16 +23218,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_FlappleGigantamax[] = INCBIN_U32("graphics/pokemon/flapple/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_FlappleGigantamax[] = INCBIN_U32("graphics/pokemon/flapple/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_FlappleGigantamax[] = INCBIN_U32("graphics/pokemon/flapple/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_FlappleGigantamax[] = INCBIN_U32("graphics/pokemon/flapple/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_FlappleGigantamax[] = INCBIN_U8("graphics/pokemon/flapple/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_FlappleGmax[] = INCBIN_U32("graphics/pokemon/flapple/gmax/front.4bpp.lz"); + const u32 gMonBackPic_FlappleGmax[] = INCBIN_U32("graphics/pokemon/flapple/gmax/back.4bpp.lz"); + const u32 gMonPalette_FlappleGmax[] = INCBIN_U32("graphics/pokemon/flapple/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_FlappleGmax[] = INCBIN_U32("graphics/pokemon/flapple/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_FlappleGmax[] = INCBIN_U8("graphics/pokemon/flapple/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_FlappleGigantamax[] = INCBIN_COMP("graphics/pokemon/flapple/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_FlappleGmax[] = INCBIN_COMP("graphics/pokemon/flapple/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_FlappleGigantamax[] = INCBIN_U32("graphics/pokemon/flapple/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_FlappleGigantamax[] = INCBIN_U32("graphics/pokemon/flapple/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_FlappleGmax[] = INCBIN_U32("graphics/pokemon/flapple/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_FlappleGmax[] = INCBIN_U32("graphics/pokemon/flapple/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -18555,16 +23249,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_AppletunGigantamax[] = INCBIN_U32("graphics/pokemon/appletun/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_AppletunGigantamax[] = INCBIN_U32("graphics/pokemon/appletun/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_AppletunGigantamax[] = INCBIN_U32("graphics/pokemon/appletun/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_AppletunGigantamax[] = INCBIN_U32("graphics/pokemon/appletun/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_AppletunGigantamax[] = INCBIN_U8("graphics/pokemon/appletun/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_AppletunGmax[] = INCBIN_U32("graphics/pokemon/appletun/gmax/front.4bpp.lz"); + const u32 gMonBackPic_AppletunGmax[] = INCBIN_U32("graphics/pokemon/appletun/gmax/back.4bpp.lz"); + const u32 gMonPalette_AppletunGmax[] = INCBIN_U32("graphics/pokemon/appletun/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_AppletunGmax[] = INCBIN_U32("graphics/pokemon/appletun/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_AppletunGmax[] = INCBIN_U8("graphics/pokemon/appletun/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_AppletunGigantamax[] = INCBIN_COMP("graphics/pokemon/appletun/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_AppletunGmax[] = INCBIN_COMP("graphics/pokemon/appletun/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_AppletunGigantamax[] = INCBIN_U32("graphics/pokemon/appletun/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_AppletunGigantamax[] = INCBIN_U32("graphics/pokemon/appletun/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_AppletunGmax[] = INCBIN_U32("graphics/pokemon/appletun/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_AppletunGmax[] = INCBIN_U32("graphics/pokemon/appletun/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -18638,16 +23332,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_SandacondaGigantamax[] = INCBIN_U32("graphics/pokemon/sandaconda/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_SandacondaGigantamax[] = INCBIN_U32("graphics/pokemon/sandaconda/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_SandacondaGigantamax[] = INCBIN_U32("graphics/pokemon/sandaconda/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_SandacondaGigantamax[] = INCBIN_U32("graphics/pokemon/sandaconda/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_SandacondaGigantamax[] = INCBIN_U8("graphics/pokemon/sandaconda/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_SandacondaGmax[] = INCBIN_U32("graphics/pokemon/sandaconda/gmax/front.4bpp.lz"); + const u32 gMonBackPic_SandacondaGmax[] = INCBIN_U32("graphics/pokemon/sandaconda/gmax/back.4bpp.lz"); + const u32 gMonPalette_SandacondaGmax[] = INCBIN_U32("graphics/pokemon/sandaconda/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_SandacondaGmax[] = INCBIN_U32("graphics/pokemon/sandaconda/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_SandacondaGmax[] = INCBIN_U8("graphics/pokemon/sandaconda/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_SandacondaGigantamax[] = INCBIN_COMP("graphics/pokemon/sandaconda/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_SandacondaGmax[] = INCBIN_COMP("graphics/pokemon/sandaconda/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_SandacondaGigantamax[] = INCBIN_U32("graphics/pokemon/sandaconda/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_SandacondaGigantamax[] = INCBIN_U32("graphics/pokemon/sandaconda/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_SandacondaGmax[] = INCBIN_U32("graphics/pokemon/sandaconda/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_SandacondaGmax[] = INCBIN_U32("graphics/pokemon/sandaconda/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -18778,16 +23472,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_ToxtricityGigantamax[] = INCBIN_U32("graphics/pokemon/toxtricity/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_ToxtricityGigantamax[] = INCBIN_U32("graphics/pokemon/toxtricity/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_ToxtricityGigantamax[] = INCBIN_U32("graphics/pokemon/toxtricity/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_ToxtricityGigantamax[] = INCBIN_U32("graphics/pokemon/toxtricity/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_ToxtricityGigantamax[] = INCBIN_U8("graphics/pokemon/toxtricity/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_ToxtricityGmax[] = INCBIN_U32("graphics/pokemon/toxtricity/gmax/front.4bpp.lz"); + const u32 gMonBackPic_ToxtricityGmax[] = INCBIN_U32("graphics/pokemon/toxtricity/gmax/back.4bpp.lz"); + const u32 gMonPalette_ToxtricityGmax[] = INCBIN_U32("graphics/pokemon/toxtricity/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_ToxtricityGmax[] = INCBIN_U32("graphics/pokemon/toxtricity/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_ToxtricityGmax[] = INCBIN_U8("graphics/pokemon/toxtricity/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_ToxtricityGigantamax[] = INCBIN_COMP("graphics/pokemon/toxtricity/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_ToxtricityGmax[] = INCBIN_COMP("graphics/pokemon/toxtricity/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_ToxtricityGigantamax[] = INCBIN_U32("graphics/pokemon/toxtricity/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_ToxtricityGigantamax[] = INCBIN_U32("graphics/pokemon/toxtricity/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_ToxtricityGmax[] = INCBIN_U32("graphics/pokemon/toxtricity/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_ToxtricityGmax[] = INCBIN_U32("graphics/pokemon/toxtricity/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -18827,16 +23521,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_CentiskorchGigantamax[] = INCBIN_U32("graphics/pokemon/centiskorch/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_CentiskorchGigantamax[] = INCBIN_U32("graphics/pokemon/centiskorch/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_CentiskorchGigantamax[] = INCBIN_U32("graphics/pokemon/centiskorch/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_CentiskorchGigantamax[] = INCBIN_U32("graphics/pokemon/centiskorch/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_CentiskorchGigantamax[] = INCBIN_U8("graphics/pokemon/centiskorch/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_CentiskorchGmax[] = INCBIN_U32("graphics/pokemon/centiskorch/gmax/front.4bpp.lz"); + const u32 gMonBackPic_CentiskorchGmax[] = INCBIN_U32("graphics/pokemon/centiskorch/gmax/back.4bpp.lz"); + const u32 gMonPalette_CentiskorchGmax[] = INCBIN_U32("graphics/pokemon/centiskorch/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_CentiskorchGmax[] = INCBIN_U32("graphics/pokemon/centiskorch/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_CentiskorchGmax[] = INCBIN_U8("graphics/pokemon/centiskorch/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_CentiskorchGigantamax[] = INCBIN_COMP("graphics/pokemon/centiskorch/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_CentiskorchGmax[] = INCBIN_COMP("graphics/pokemon/centiskorch/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_CentiskorchGigantamax[] = INCBIN_U32("graphics/pokemon/centiskorch/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_CentiskorchGigantamax[] = INCBIN_U32("graphics/pokemon/centiskorch/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_CentiskorchGmax[] = INCBIN_U32("graphics/pokemon/centiskorch/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_CentiskorchGmax[] = INCBIN_U32("graphics/pokemon/centiskorch/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -18960,16 +23654,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_HattereneGigantamax[] = INCBIN_U32("graphics/pokemon/hatterene/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_HattereneGigantamax[] = INCBIN_U32("graphics/pokemon/hatterene/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_HattereneGigantamax[] = INCBIN_U32("graphics/pokemon/hatterene/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_HattereneGigantamax[] = INCBIN_U32("graphics/pokemon/hatterene/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_HattereneGigantamax[] = INCBIN_U8("graphics/pokemon/hatterene/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_HattereneGmax[] = INCBIN_U32("graphics/pokemon/hatterene/gmax/front.4bpp.lz"); + const u32 gMonBackPic_HattereneGmax[] = INCBIN_U32("graphics/pokemon/hatterene/gmax/back.4bpp.lz"); + const u32 gMonPalette_HattereneGmax[] = INCBIN_U32("graphics/pokemon/hatterene/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_HattereneGmax[] = INCBIN_U32("graphics/pokemon/hatterene/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_HattereneGmax[] = INCBIN_U8("graphics/pokemon/hatterene/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_HattereneGigantamax[] = INCBIN_COMP("graphics/pokemon/hatterene/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_HattereneGmax[] = INCBIN_COMP("graphics/pokemon/hatterene/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_HattereneGigantamax[] = INCBIN_U32("graphics/pokemon/hatterene/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_HattereneGigantamax[] = INCBIN_U32("graphics/pokemon/hatterene/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_HattereneGmax[] = INCBIN_U32("graphics/pokemon/hatterene/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_HattereneGmax[] = INCBIN_U32("graphics/pokemon/hatterene/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -19025,16 +23719,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_GrimmsnarlGigantamax[] = INCBIN_U32("graphics/pokemon/grimmsnarl/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_GrimmsnarlGigantamax[] = INCBIN_U32("graphics/pokemon/grimmsnarl/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_GrimmsnarlGigantamax[] = INCBIN_U32("graphics/pokemon/grimmsnarl/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_GrimmsnarlGigantamax[] = INCBIN_U32("graphics/pokemon/grimmsnarl/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_GrimmsnarlGigantamax[] = INCBIN_U8("graphics/pokemon/grimmsnarl/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_GrimmsnarlGmax[] = INCBIN_U32("graphics/pokemon/grimmsnarl/gmax/front.4bpp.lz"); + const u32 gMonBackPic_GrimmsnarlGmax[] = INCBIN_U32("graphics/pokemon/grimmsnarl/gmax/back.4bpp.lz"); + const u32 gMonPalette_GrimmsnarlGmax[] = INCBIN_U32("graphics/pokemon/grimmsnarl/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_GrimmsnarlGmax[] = INCBIN_U32("graphics/pokemon/grimmsnarl/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_GrimmsnarlGmax[] = INCBIN_U8("graphics/pokemon/grimmsnarl/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_GrimmsnarlGigantamax[] = INCBIN_COMP("graphics/pokemon/grimmsnarl/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_GrimmsnarlGmax[] = INCBIN_COMP("graphics/pokemon/grimmsnarl/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_GrimmsnarlGigantamax[] = INCBIN_U32("graphics/pokemon/grimmsnarl/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_GrimmsnarlGigantamax[] = INCBIN_U32("graphics/pokemon/grimmsnarl/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_GrimmsnarlGmax[] = INCBIN_U32("graphics/pokemon/grimmsnarl/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_GrimmsnarlGmax[] = INCBIN_U32("graphics/pokemon/grimmsnarl/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -19174,16 +23868,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_AlcremieGigantamax[] = INCBIN_U32("graphics/pokemon/alcremie/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_AlcremieGigantamax[] = INCBIN_U32("graphics/pokemon/alcremie/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_AlcremieGigantamax[] = INCBIN_U32("graphics/pokemon/alcremie/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_AlcremieGigantamax[] = INCBIN_U32("graphics/pokemon/alcremie/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_AlcremieGigantamax[] = INCBIN_U8("graphics/pokemon/alcremie/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_AlcremieGmax[] = INCBIN_U32("graphics/pokemon/alcremie/gmax/front.4bpp.lz"); + const u32 gMonBackPic_AlcremieGmax[] = INCBIN_U32("graphics/pokemon/alcremie/gmax/back.4bpp.lz"); + const u32 gMonPalette_AlcremieGmax[] = INCBIN_U32("graphics/pokemon/alcremie/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_AlcremieGmax[] = INCBIN_U32("graphics/pokemon/alcremie/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_AlcremieGmax[] = INCBIN_U8("graphics/pokemon/alcremie/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_AlcremieGigantamax[] = INCBIN_COMP("graphics/pokemon/alcremie/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_AlcremieGmax[] = INCBIN_COMP("graphics/pokemon/alcremie/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_AlcremieGigantamax[] = INCBIN_U32("graphics/pokemon/alcremie/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_AlcremieGigantamax[] = INCBIN_U32("graphics/pokemon/alcremie/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_AlcremieGmax[] = INCBIN_U32("graphics/pokemon/alcremie/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_AlcremieGmax[] = INCBIN_U32("graphics/pokemon/alcremie/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -19278,63 +23972,63 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_STONJOURNER #if P_FAMILY_EISCUE - const u32 gMonFrontPic_EiscueIceFace[] = INCBIN_U32("graphics/pokemon/eiscue/front.4bpp.lz"); - const u32 gMonPalette_EiscueIceFace[] = INCBIN_U32("graphics/pokemon/eiscue/normal.gbapal.lz"); - const u32 gMonBackPic_EiscueIceFace[] = INCBIN_U32("graphics/pokemon/eiscue/back.4bpp.lz"); - const u32 gMonShinyPalette_EiscueIceFace[] = INCBIN_U32("graphics/pokemon/eiscue/shiny.gbapal.lz"); - const u8 gMonIcon_EiscueIceFace[] = INCBIN_U8("graphics/pokemon/eiscue/icon.4bpp"); + const u32 gMonFrontPic_EiscueIce[] = INCBIN_U32("graphics/pokemon/eiscue/front.4bpp.lz"); + const u32 gMonPalette_EiscueIce[] = INCBIN_U32("graphics/pokemon/eiscue/normal.gbapal.lz"); + const u32 gMonBackPic_EiscueIce[] = INCBIN_U32("graphics/pokemon/eiscue/back.4bpp.lz"); + const u32 gMonShinyPalette_EiscueIce[] = INCBIN_U32("graphics/pokemon/eiscue/shiny.gbapal.lz"); + const u8 gMonIcon_EiscueIce[] = INCBIN_U8("graphics/pokemon/eiscue/icon.4bpp"); #if P_FOOTPRINTS const u8 gMonFootprint_Eiscue[] = INCBIN_U8("graphics/pokemon/eiscue/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_EiscueIceFace[] = INCBIN_COMP("graphics/pokemon/eiscue/overworld.4bpp"); + const u32 gObjectEventPic_EiscueIce[] = INCBIN_COMP("graphics/pokemon/eiscue/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_EiscueIceFace[] = INCBIN_U32("graphics/pokemon/eiscue/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_EiscueIceFace[] = INCBIN_U32("graphics/pokemon/eiscue/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_EiscueIce[] = INCBIN_U32("graphics/pokemon/eiscue/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_EiscueIce[] = INCBIN_U32("graphics/pokemon/eiscue/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_EiscueNoiceFace[] = INCBIN_U32("graphics/pokemon/eiscue/noice_face/front.4bpp.lz"); - const u32 gMonPalette_EiscueNoiceFace[] = INCBIN_U32("graphics/pokemon/eiscue/noice_face/normal.gbapal.lz"); - const u32 gMonBackPic_EiscueNoiceFace[] = INCBIN_U32("graphics/pokemon/eiscue/noice_face/back.4bpp.lz"); - const u32 gMonShinyPalette_EiscueNoiceFace[] = INCBIN_U32("graphics/pokemon/eiscue/noice_face/shiny.gbapal.lz"); - const u8 gMonIcon_EiscueNoiceFace[] = INCBIN_U8("graphics/pokemon/eiscue/noice_face/icon.4bpp"); + const u32 gMonFrontPic_EiscueNoice[] = INCBIN_U32("graphics/pokemon/eiscue/noice_face/front.4bpp.lz"); + const u32 gMonPalette_EiscueNoice[] = INCBIN_U32("graphics/pokemon/eiscue/noice_face/normal.gbapal.lz"); + const u32 gMonBackPic_EiscueNoice[] = INCBIN_U32("graphics/pokemon/eiscue/noice_face/back.4bpp.lz"); + const u32 gMonShinyPalette_EiscueNoice[] = INCBIN_U32("graphics/pokemon/eiscue/noice_face/shiny.gbapal.lz"); + const u8 gMonIcon_EiscueNoice[] = INCBIN_U8("graphics/pokemon/eiscue/noice_face/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_EiscueNoiceFace[] = INCBIN_COMP("graphics/pokemon/eiscue/noice_face/overworld.4bpp"); + // const u32 gObjectEventPic_EiscueNoice[] = INCBIN_COMP("graphics/pokemon/eiscue/noice_face/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_EiscueNoiceFace[] = INCBIN_U32("graphics/pokemon/eiscue/noice_face/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_EiscueNoiceFace[] = INCBIN_U32("graphics/pokemon/eiscue/noice_face/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_EiscueNoice[] = INCBIN_U32("graphics/pokemon/eiscue/noice_face/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_EiscueNoice[] = INCBIN_U32("graphics/pokemon/eiscue/noice_face/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_FAMILY_EISCUE #if P_FAMILY_INDEEDEE - const u32 gMonFrontPic_IndeedeeMale[] = INCBIN_U32("graphics/pokemon/indeedee/front.4bpp.lz"); - const u32 gMonPalette_IndeedeeMale[] = INCBIN_U32("graphics/pokemon/indeedee/normal.gbapal.lz"); - const u32 gMonBackPic_IndeedeeMale[] = INCBIN_U32("graphics/pokemon/indeedee/back.4bpp.lz"); - const u32 gMonShinyPalette_IndeedeeMale[] = INCBIN_U32("graphics/pokemon/indeedee/shiny.gbapal.lz"); - const u8 gMonIcon_IndeedeeMale[] = INCBIN_U8("graphics/pokemon/indeedee/icon.4bpp"); + const u32 gMonFrontPic_IndeedeeM[] = INCBIN_U32("graphics/pokemon/indeedee/front.4bpp.lz"); + const u32 gMonPalette_IndeedeeM[] = INCBIN_U32("graphics/pokemon/indeedee/normal.gbapal.lz"); + const u32 gMonBackPic_IndeedeeM[] = INCBIN_U32("graphics/pokemon/indeedee/back.4bpp.lz"); + const u32 gMonShinyPalette_IndeedeeM[] = INCBIN_U32("graphics/pokemon/indeedee/shiny.gbapal.lz"); + const u8 gMonIcon_IndeedeeM[] = INCBIN_U8("graphics/pokemon/indeedee/icon.4bpp"); #if P_FOOTPRINTS const u8 gMonFootprint_Indeedee[] = INCBIN_U8("graphics/pokemon/indeedee/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_IndeedeeMale[] = INCBIN_COMP("graphics/pokemon/indeedee/overworld.4bpp"); + const u32 gObjectEventPic_IndeedeeM[] = INCBIN_COMP("graphics/pokemon/indeedee/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_IndeedeeMale[] = INCBIN_U32("graphics/pokemon/indeedee/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_IndeedeeMale[] = INCBIN_U32("graphics/pokemon/indeedee/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_IndeedeeM[] = INCBIN_U32("graphics/pokemon/indeedee/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_IndeedeeM[] = INCBIN_U32("graphics/pokemon/indeedee/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_IndeedeeFemale[] = INCBIN_U32("graphics/pokemon/indeedee/female/front.4bpp.lz"); - const u32 gMonPalette_IndeedeeFemale[] = INCBIN_U32("graphics/pokemon/indeedee/female/normal.gbapal.lz"); - const u32 gMonBackPic_IndeedeeFemale[] = INCBIN_U32("graphics/pokemon/indeedee/female/back.4bpp.lz"); - const u32 gMonShinyPalette_IndeedeeFemale[] = INCBIN_U32("graphics/pokemon/indeedee/female/shiny.gbapal.lz"); - const u8 gMonIcon_IndeedeeFemale[] = INCBIN_U8("graphics/pokemon/indeedee/female/icon.4bpp"); + const u32 gMonFrontPic_IndeedeeF[] = INCBIN_U32("graphics/pokemon/indeedee/f/front.4bpp.lz"); + const u32 gMonPalette_IndeedeeF[] = INCBIN_U32("graphics/pokemon/indeedee/f/normal.gbapal.lz"); + const u32 gMonBackPic_IndeedeeF[] = INCBIN_U32("graphics/pokemon/indeedee/f/back.4bpp.lz"); + const u32 gMonShinyPalette_IndeedeeF[] = INCBIN_U32("graphics/pokemon/indeedee/f/shiny.gbapal.lz"); + const u8 gMonIcon_IndeedeeF[] = INCBIN_U8("graphics/pokemon/indeedee/f/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_IndeedeeFemale[] = INCBIN_COMP("graphics/pokemon/indeedee/female/overworld.4bpp"); + const u32 gObjectEventPic_IndeedeeF[] = INCBIN_COMP("graphics/pokemon/indeedee/f/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_IndeedeeFemale[] = INCBIN_U32("graphics/pokemon/indeedee/female/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_IndeedeeFemale[] = INCBIN_U32("graphics/pokemon/indeedee/female/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_IndeedeeF[] = INCBIN_U32("graphics/pokemon/indeedee/f/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_IndeedeeF[] = INCBIN_U32("graphics/pokemon/indeedee/f/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_FAMILY_INDEEDEE @@ -19404,16 +24098,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_CopperajahGigantamax[] = INCBIN_U32("graphics/pokemon/copperajah/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_CopperajahGigantamax[] = INCBIN_U32("graphics/pokemon/copperajah/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_CopperajahGigantamax[] = INCBIN_U32("graphics/pokemon/copperajah/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_CopperajahGigantamax[] = INCBIN_U32("graphics/pokemon/copperajah/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_CopperajahGigantamax[] = INCBIN_U8("graphics/pokemon/copperajah/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_CopperajahGmax[] = INCBIN_U32("graphics/pokemon/copperajah/gmax/front.4bpp.lz"); + const u32 gMonBackPic_CopperajahGmax[] = INCBIN_U32("graphics/pokemon/copperajah/gmax/back.4bpp.lz"); + const u32 gMonPalette_CopperajahGmax[] = INCBIN_U32("graphics/pokemon/copperajah/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_CopperajahGmax[] = INCBIN_U32("graphics/pokemon/copperajah/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_CopperajahGmax[] = INCBIN_U8("graphics/pokemon/copperajah/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_CopperajahGigantamax[] = INCBIN_COMP("graphics/pokemon/copperajah/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_CopperajahGmax[] = INCBIN_COMP("graphics/pokemon/copperajah/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_CopperajahGigantamax[] = INCBIN_U32("graphics/pokemon/copperajah/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_CopperajahGigantamax[] = INCBIN_U32("graphics/pokemon/copperajah/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_CopperajahGmax[] = INCBIN_U32("graphics/pokemon/copperajah/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_CopperajahGmax[] = INCBIN_U32("graphics/pokemon/copperajah/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -19509,16 +24203,16 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_DuraludonGigantamax[] = INCBIN_U32("graphics/pokemon/duraludon/gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_DuraludonGigantamax[] = INCBIN_U32("graphics/pokemon/duraludon/gigantamax/back.4bpp.lz"); - const u32 gMonPalette_DuraludonGigantamax[] = INCBIN_U32("graphics/pokemon/duraludon/gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_DuraludonGigantamax[] = INCBIN_U32("graphics/pokemon/duraludon/gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_DuraludonGigantamax[] = INCBIN_U8("graphics/pokemon/duraludon/gigantamax/icon.4bpp"); + const u32 gMonFrontPic_DuraludonGmax[] = INCBIN_U32("graphics/pokemon/duraludon/gmax/front.4bpp.lz"); + const u32 gMonBackPic_DuraludonGmax[] = INCBIN_U32("graphics/pokemon/duraludon/gmax/back.4bpp.lz"); + const u32 gMonPalette_DuraludonGmax[] = INCBIN_U32("graphics/pokemon/duraludon/gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_DuraludonGmax[] = INCBIN_U32("graphics/pokemon/duraludon/gmax/shiny.gbapal.lz"); + const u8 gMonIcon_DuraludonGmax[] = INCBIN_U8("graphics/pokemon/duraludon/gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_DuraludonGigantamax[] = INCBIN_COMP("graphics/pokemon/duraludon/gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_DuraludonGmax[] = INCBIN_COMP("graphics/pokemon/duraludon/gmax/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - // const u32 gOverworldPalette_DuraludonGigantamax[] = INCBIN_U32("graphics/pokemon/duraludon/gigantamax/overworld_normal.gbapal.lz"); - // const u32 gShinyOverworldPalette_DuraludonGigantamax[] = INCBIN_U32("graphics/pokemon/duraludon/gigantamax/overworld_shiny.gbapal.lz"); + // const u32 gOverworldPalette_DuraludonGmax[] = INCBIN_U32("graphics/pokemon/duraludon/gmax/overworld_normal.gbapal.lz"); + // const u32 gShinyOverworldPalette_DuraludonGmax[] = INCBIN_U32("graphics/pokemon/duraludon/gmax/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS @@ -19593,63 +24287,63 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_DREEPY #if P_FAMILY_ZACIAN - const u32 gMonFrontPic_ZacianHeroOfManyBattles[] = INCBIN_U32("graphics/pokemon/zacian/front.4bpp.lz"); - const u32 gMonPalette_ZacianHeroOfManyBattles[] = INCBIN_U32("graphics/pokemon/zacian/normal.gbapal.lz"); - const u32 gMonBackPic_ZacianHeroOfManyBattles[] = INCBIN_U32("graphics/pokemon/zacian/back.4bpp.lz"); - const u32 gMonShinyPalette_ZacianHeroOfManyBattles[] = INCBIN_U32("graphics/pokemon/zacian/shiny.gbapal.lz"); - const u8 gMonIcon_ZacianHeroOfManyBattles[] = INCBIN_U8("graphics/pokemon/zacian/icon.4bpp"); + const u32 gMonFrontPic_ZacianHero[] = INCBIN_U32("graphics/pokemon/zacian/front.4bpp.lz"); + const u32 gMonPalette_ZacianHero[] = INCBIN_U32("graphics/pokemon/zacian/normal.gbapal.lz"); + const u32 gMonBackPic_ZacianHero[] = INCBIN_U32("graphics/pokemon/zacian/back.4bpp.lz"); + const u32 gMonShinyPalette_ZacianHero[] = INCBIN_U32("graphics/pokemon/zacian/shiny.gbapal.lz"); + const u8 gMonIcon_ZacianHero[] = INCBIN_U8("graphics/pokemon/zacian/icon.4bpp"); #if P_FOOTPRINTS const u8 gMonFootprint_Zacian[] = INCBIN_U8("graphics/pokemon/zacian/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_ZacianHeroOfManyBattles[] = INCBIN_COMP("graphics/pokemon/zacian/overworld.4bpp"); + const u32 gObjectEventPic_ZacianHero[] = INCBIN_COMP("graphics/pokemon/zacian/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_ZacianHeroOfManyBattles[] = INCBIN_U32("graphics/pokemon/zacian/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_ZacianHeroOfManyBattles[] = INCBIN_U32("graphics/pokemon/zacian/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_ZacianHero[] = INCBIN_U32("graphics/pokemon/zacian/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_ZacianHero[] = INCBIN_U32("graphics/pokemon/zacian/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_ZacianCrownedSword[] = INCBIN_U32("graphics/pokemon/zacian/crowned_sword/front.4bpp.lz"); - const u32 gMonPalette_ZacianCrownedSword[] = INCBIN_U32("graphics/pokemon/zacian/crowned_sword/normal.gbapal.lz"); - const u32 gMonBackPic_ZacianCrownedSword[] = INCBIN_U32("graphics/pokemon/zacian/crowned_sword/back.4bpp.lz"); - const u32 gMonShinyPalette_ZacianCrownedSword[] = INCBIN_U32("graphics/pokemon/zacian/crowned_sword/shiny.gbapal.lz"); - const u8 gMonIcon_ZacianCrownedSword[] = INCBIN_U8("graphics/pokemon/zacian/crowned_sword/icon.4bpp"); + const u32 gMonFrontPic_ZacianCrowned[] = INCBIN_U32("graphics/pokemon/zacian/crowned_sword/front.4bpp.lz"); + const u32 gMonPalette_ZacianCrowned[] = INCBIN_U32("graphics/pokemon/zacian/crowned_sword/normal.gbapal.lz"); + const u32 gMonBackPic_ZacianCrowned[] = INCBIN_U32("graphics/pokemon/zacian/crowned_sword/back.4bpp.lz"); + const u32 gMonShinyPalette_ZacianCrowned[] = INCBIN_U32("graphics/pokemon/zacian/crowned_sword/shiny.gbapal.lz"); + const u8 gMonIcon_ZacianCrowned[] = INCBIN_U8("graphics/pokemon/zacian/crowned_sword/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_ZacianCrownedSword[] = INCBIN_COMP("graphics/pokemon/zacian/crowned_sword/overworld.4bpp"); + const u32 gObjectEventPic_ZacianCrowned[] = INCBIN_COMP("graphics/pokemon/zacian/crowned_sword/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_ZacianCrownedSword[] = INCBIN_U32("graphics/pokemon/zacian/crowned_sword/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_ZacianCrownedSword[] = INCBIN_U32("graphics/pokemon/zacian/crowned_sword/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_ZacianCrowned[] = INCBIN_U32("graphics/pokemon/zacian/crowned_sword/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_ZacianCrowned[] = INCBIN_U32("graphics/pokemon/zacian/crowned_sword/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_FAMILY_ZACIAN #if P_FAMILY_ZAMAZENTA - const u32 gMonFrontPic_ZamazentaHeroOfManyBattles[] = INCBIN_U32("graphics/pokemon/zamazenta/front.4bpp.lz"); - const u32 gMonPalette_ZamazentaHeroOfManyBattles[] = INCBIN_U32("graphics/pokemon/zamazenta/normal.gbapal.lz"); - const u32 gMonBackPic_ZamazentaHeroOfManyBattles[] = INCBIN_U32("graphics/pokemon/zamazenta/back.4bpp.lz"); - const u32 gMonShinyPalette_ZamazentaHeroOfManyBattles[] = INCBIN_U32("graphics/pokemon/zamazenta/shiny.gbapal.lz"); - const u8 gMonIcon_ZamazentaHeroOfManyBattles[] = INCBIN_U8("graphics/pokemon/zamazenta/icon.4bpp"); + const u32 gMonFrontPic_ZamazentaHero[] = INCBIN_U32("graphics/pokemon/zamazenta/front.4bpp.lz"); + const u32 gMonPalette_ZamazentaHero[] = INCBIN_U32("graphics/pokemon/zamazenta/normal.gbapal.lz"); + const u32 gMonBackPic_ZamazentaHero[] = INCBIN_U32("graphics/pokemon/zamazenta/back.4bpp.lz"); + const u32 gMonShinyPalette_ZamazentaHero[] = INCBIN_U32("graphics/pokemon/zamazenta/shiny.gbapal.lz"); + const u8 gMonIcon_ZamazentaHero[] = INCBIN_U8("graphics/pokemon/zamazenta/icon.4bpp"); #if P_FOOTPRINTS const u8 gMonFootprint_Zamazenta[] = INCBIN_U8("graphics/pokemon/zamazenta/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_ZamazentaHeroOfManyBattles[] = INCBIN_COMP("graphics/pokemon/zamazenta/overworld.4bpp"); + const u32 gObjectEventPic_ZamazentaHero[] = INCBIN_COMP("graphics/pokemon/zamazenta/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_ZamazentaHeroOfManyBattles[] = INCBIN_U32("graphics/pokemon/zamazenta/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_ZamazentaHeroOfManyBattles[] = INCBIN_U32("graphics/pokemon/zamazenta/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_ZamazentaHero[] = INCBIN_U32("graphics/pokemon/zamazenta/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_ZamazentaHero[] = INCBIN_U32("graphics/pokemon/zamazenta/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_ZamazentaCrownedShield[] = INCBIN_U32("graphics/pokemon/zamazenta/crowned_shield/front.4bpp.lz"); - const u32 gMonPalette_ZamazentaCrownedShield[] = INCBIN_U32("graphics/pokemon/zamazenta/crowned_shield/normal.gbapal.lz"); - const u32 gMonBackPic_ZamazentaCrownedShield[] = INCBIN_U32("graphics/pokemon/zamazenta/crowned_shield/back.4bpp.lz"); - const u32 gMonShinyPalette_ZamazentaCrownedShield[] = INCBIN_U32("graphics/pokemon/zamazenta/crowned_shield/shiny.gbapal.lz"); - const u8 gMonIcon_ZamazentaCrownedShield[] = INCBIN_U8("graphics/pokemon/zamazenta/crowned_shield/icon.4bpp"); + const u32 gMonFrontPic_ZamazentaCrowned[] = INCBIN_U32("graphics/pokemon/zamazenta/crowned_shield/front.4bpp.lz"); + const u32 gMonPalette_ZamazentaCrowned[] = INCBIN_U32("graphics/pokemon/zamazenta/crowned_shield/normal.gbapal.lz"); + const u32 gMonBackPic_ZamazentaCrowned[] = INCBIN_U32("graphics/pokemon/zamazenta/crowned_shield/back.4bpp.lz"); + const u32 gMonShinyPalette_ZamazentaCrowned[] = INCBIN_U32("graphics/pokemon/zamazenta/crowned_shield/shiny.gbapal.lz"); + const u8 gMonIcon_ZamazentaCrowned[] = INCBIN_U8("graphics/pokemon/zamazenta/crowned_shield/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_ZamazentaCrownedShield[] = INCBIN_COMP("graphics/pokemon/zamazenta/crowned_shield/overworld.4bpp"); + const u32 gObjectEventPic_ZamazentaCrowned[] = INCBIN_COMP("graphics/pokemon/zamazenta/crowned_shield/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_ZamazentaCrownedShield[] = INCBIN_U32("graphics/pokemon/zamazenta/crowned_shield/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_ZamazentaCrownedShield[] = INCBIN_U32("graphics/pokemon/zamazenta/crowned_shield/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_ZamazentaCrowned[] = INCBIN_U32("graphics/pokemon/zamazenta/crowned_shield/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_ZamazentaCrowned[] = INCBIN_U32("graphics/pokemon/zamazenta/crowned_shield/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_FAMILY_ZAMAZENTA @@ -19702,10 +24396,10 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_UrshifuSingleStrikeStyle[] = INCBIN_U32("graphics/pokemon/urshifu/front.4bpp.lz"); - const u32 gMonPalette_UrshifuSingleStrikeStyle[] = INCBIN_U32("graphics/pokemon/urshifu/normal.gbapal.lz"); - const u32 gMonBackPic_UrshifuSingleStrikeStyle[] = INCBIN_U32("graphics/pokemon/urshifu/back.4bpp.lz"); - const u32 gMonShinyPalette_UrshifuSingleStrikeStyle[] = INCBIN_U32("graphics/pokemon/urshifu/shiny.gbapal.lz"); + const u32 gMonFrontPic_UrshifuSingleStrike[] = INCBIN_U32("graphics/pokemon/urshifu/front.4bpp.lz"); + const u32 gMonPalette_UrshifuSingleStrike[] = INCBIN_U32("graphics/pokemon/urshifu/normal.gbapal.lz"); + const u32 gMonBackPic_UrshifuSingleStrike[] = INCBIN_U32("graphics/pokemon/urshifu/back.4bpp.lz"); + const u32 gMonShinyPalette_UrshifuSingleStrike[] = INCBIN_U32("graphics/pokemon/urshifu/shiny.gbapal.lz"); const u8 gMonIcon_Urshifu[] = INCBIN_U8("graphics/pokemon/urshifu/icon.4bpp"); #if P_FOOTPRINTS const u8 gMonFootprint_Urshifu[] = INCBIN_U8("graphics/pokemon/urshifu/footprint.1bpp"); @@ -19718,27 +24412,27 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_UrshifuRapidStrikeStyle[] = INCBIN_U32("graphics/pokemon/urshifu/rapid_strike_style/front.4bpp.lz"); - const u32 gMonPalette_UrshifuRapidStrikeStyle[] = INCBIN_U32("graphics/pokemon/urshifu/rapid_strike_style/normal.gbapal.lz"); - const u32 gMonBackPic_UrshifuRapidStrikeStyle[] = INCBIN_U32("graphics/pokemon/urshifu/rapid_strike_style/back.4bpp.lz"); - const u32 gMonShinyPalette_UrshifuRapidStrikeStyle[] = INCBIN_U32("graphics/pokemon/urshifu/rapid_strike_style/shiny.gbapal.lz"); + const u32 gMonFrontPic_UrshifuRapidStrike[] = INCBIN_U32("graphics/pokemon/urshifu/rapid_strike/front.4bpp.lz"); + const u32 gMonPalette_UrshifuRapidStrike[] = INCBIN_U32("graphics/pokemon/urshifu/rapid_strike/normal.gbapal.lz"); + const u32 gMonBackPic_UrshifuRapidStrike[] = INCBIN_U32("graphics/pokemon/urshifu/rapid_strike/back.4bpp.lz"); + const u32 gMonShinyPalette_UrshifuRapidStrike[] = INCBIN_U32("graphics/pokemon/urshifu/rapid_strike/shiny.gbapal.lz"); #if P_GIGANTAMAX_FORMS - const u32 gMonFrontPic_UrshifuSingleStrikeStyleGigantamax[] = INCBIN_U32("graphics/pokemon/urshifu/single_strike_style_gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_UrshifuSingleStrikeStyleGigantamax[] = INCBIN_U32("graphics/pokemon/urshifu/single_strike_style_gigantamax/back.4bpp.lz"); - const u32 gMonPalette_UrshifuSingleStrikeStyleGigantamax[] = INCBIN_U32("graphics/pokemon/urshifu/single_strike_style_gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_UrshifuSingleStrikeStyleGigantamax[] = INCBIN_U32("graphics/pokemon/urshifu/single_strike_style_gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_UrshifuSingleStrikeStyleGigantamax[] = INCBIN_U8("graphics/pokemon/urshifu/single_strike_style_gigantamax/icon.4bpp"); + const u32 gMonFrontPic_UrshifuSingleStrikeGmax[] = INCBIN_U32("graphics/pokemon/urshifu/single_strike_gmax/front.4bpp.lz"); + const u32 gMonBackPic_UrshifuSingleStrikeGmax[] = INCBIN_U32("graphics/pokemon/urshifu/single_strike_gmax/back.4bpp.lz"); + const u32 gMonPalette_UrshifuSingleStrikeGmax[] = INCBIN_U32("graphics/pokemon/urshifu/single_strike_gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_UrshifuSingleStrikeGmax[] = INCBIN_U32("graphics/pokemon/urshifu/single_strike_gmax/shiny.gbapal.lz"); + const u8 gMonIcon_UrshifuSingleStrikeGmax[] = INCBIN_U8("graphics/pokemon/urshifu/single_strike_gmax/icon.4bpp"); - const u32 gMonFrontPic_UrshifuRapidStrikeStyleGigantamax[] = INCBIN_U32("graphics/pokemon/urshifu/rapid_strike_style_gigantamax/front.4bpp.lz"); - const u32 gMonBackPic_UrshifuRapidStrikeStyleGigantamax[] = INCBIN_U32("graphics/pokemon/urshifu/rapid_strike_style_gigantamax/back.4bpp.lz"); - const u32 gMonPalette_UrshifuRapidStrikeStyleGigantamax[] = INCBIN_U32("graphics/pokemon/urshifu/rapid_strike_style_gigantamax/normal.gbapal.lz"); - const u32 gMonShinyPalette_UrshifuRapidStrikeStyleGigantamax[] = INCBIN_U32("graphics/pokemon/urshifu/rapid_strike_style_gigantamax/shiny.gbapal.lz"); - const u8 gMonIcon_UrshifuRapidStrikeStyleGigantamax[] = INCBIN_U8("graphics/pokemon/urshifu/rapid_strike_style_gigantamax/icon.4bpp"); + const u32 gMonFrontPic_UrshifuRapidStrikeGmax[] = INCBIN_U32("graphics/pokemon/urshifu/rapid_strike_gmax/front.4bpp.lz"); + const u32 gMonBackPic_UrshifuRapidStrikeGmax[] = INCBIN_U32("graphics/pokemon/urshifu/rapid_strike_gmax/back.4bpp.lz"); + const u32 gMonPalette_UrshifuRapidStrikeGmax[] = INCBIN_U32("graphics/pokemon/urshifu/rapid_strike_gmax/normal.gbapal.lz"); + const u32 gMonShinyPalette_UrshifuRapidStrikeGmax[] = INCBIN_U32("graphics/pokemon/urshifu/rapid_strike_gmax/shiny.gbapal.lz"); + const u8 gMonIcon_UrshifuRapidStrikeGmax[] = INCBIN_U8("graphics/pokemon/urshifu/rapid_strike_gmax/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - // const u32 gObjectEventPic_UrshifuSingleStrikeStyleGigantamax[] = INCBIN_COMP("graphics/pokemon/urshifu/single_strike_style_gigantamax/overworld.4bpp"); - // const u32 gObjectEventPic_UrshifuRapidStrikeStyleGigantamax[] = INCBIN_COMP("graphics/pokemon/urshifu/rapid_strike_style_gigantamax/overworld.4bpp"); + // const u32 gObjectEventPic_UrshifuSingleStrikeGmax[] = INCBIN_COMP("graphics/pokemon/urshifu/single_strike_gmax/overworld.4bpp"); + // const u32 gObjectEventPic_UrshifuRapidStrikeGmax[] = INCBIN_COMP("graphics/pokemon/urshifu/rapid_strike_gmax/overworld.4bpp"); #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_KUBFU @@ -19864,31 +24558,31 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_POKEMON_OBJECT_EVENTS #if P_FUSION_FORMS - const u32 gMonFrontPic_CalyrexIceRider[] = INCBIN_U32("graphics/pokemon/calyrex/ice_rider/front.4bpp.lz"); - const u32 gMonPalette_CalyrexIceRider[] = INCBIN_U32("graphics/pokemon/calyrex/ice_rider/normal.gbapal.lz"); - const u32 gMonBackPic_CalyrexIceRider[] = INCBIN_U32("graphics/pokemon/calyrex/ice_rider/back.4bpp.lz"); - const u32 gMonShinyPalette_CalyrexIceRider[] = INCBIN_U32("graphics/pokemon/calyrex/ice_rider/shiny.gbapal.lz"); - const u8 gMonIcon_CalyrexIceRider[] = INCBIN_U8("graphics/pokemon/calyrex/ice_rider/icon.4bpp"); + const u32 gMonFrontPic_CalyrexIce[] = INCBIN_U32("graphics/pokemon/calyrex/ice/front.4bpp.lz"); + const u32 gMonPalette_CalyrexIce[] = INCBIN_U32("graphics/pokemon/calyrex/ice/normal.gbapal.lz"); + const u32 gMonBackPic_CalyrexIce[] = INCBIN_U32("graphics/pokemon/calyrex/ice/back.4bpp.lz"); + const u32 gMonShinyPalette_CalyrexIce[] = INCBIN_U32("graphics/pokemon/calyrex/ice/shiny.gbapal.lz"); + const u8 gMonIcon_CalyrexIce[] = INCBIN_U8("graphics/pokemon/calyrex/ice/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_CalyrexIceRider[] = INCBIN_COMP("graphics/pokemon/calyrex/ice_rider/overworld.4bpp"); + const u32 gObjectEventPic_CalyrexIce[] = INCBIN_COMP("graphics/pokemon/calyrex/ice/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_CalyrexIceRider[] = INCBIN_U32("graphics/pokemon/calyrex/ice_rider/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_CalyrexIceRider[] = INCBIN_U32("graphics/pokemon/calyrex/ice_rider/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_CalyrexIce[] = INCBIN_U32("graphics/pokemon/calyrex/ice/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_CalyrexIce[] = INCBIN_U32("graphics/pokemon/calyrex/ice/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_FUSION_FORMS #if P_FUSION_FORMS - const u32 gMonFrontPic_CalyrexShadowRider[] = INCBIN_U32("graphics/pokemon/calyrex/shadow_rider/front.4bpp.lz"); - const u32 gMonPalette_CalyrexShadowRider[] = INCBIN_U32("graphics/pokemon/calyrex/shadow_rider/normal.gbapal.lz"); - const u32 gMonBackPic_CalyrexShadowRider[] = INCBIN_U32("graphics/pokemon/calyrex/shadow_rider/back.4bpp.lz"); - const u32 gMonShinyPalette_CalyrexShadowRider[] = INCBIN_U32("graphics/pokemon/calyrex/shadow_rider/shiny.gbapal.lz"); - const u8 gMonIcon_CalyrexShadowRider[] = INCBIN_U8("graphics/pokemon/calyrex/shadow_rider/icon.4bpp"); + const u32 gMonFrontPic_CalyrexShadow[] = INCBIN_U32("graphics/pokemon/calyrex/shadow/front.4bpp.lz"); + const u32 gMonPalette_CalyrexShadow[] = INCBIN_U32("graphics/pokemon/calyrex/shadow/normal.gbapal.lz"); + const u32 gMonBackPic_CalyrexShadow[] = INCBIN_U32("graphics/pokemon/calyrex/shadow/back.4bpp.lz"); + const u32 gMonShinyPalette_CalyrexShadow[] = INCBIN_U32("graphics/pokemon/calyrex/shadow/shiny.gbapal.lz"); + const u8 gMonIcon_CalyrexShadow[] = INCBIN_U8("graphics/pokemon/calyrex/shadow/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_CalyrexShadowRider[] = INCBIN_COMP("graphics/pokemon/calyrex/shadow_rider/overworld.4bpp"); + const u32 gObjectEventPic_CalyrexShadow[] = INCBIN_COMP("graphics/pokemon/calyrex/shadow/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_CalyrexShadowRider[] = INCBIN_U32("graphics/pokemon/calyrex/shadow_rider/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_CalyrexShadowRider[] = INCBIN_U32("graphics/pokemon/calyrex/shadow_rider/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_CalyrexShadow[] = INCBIN_U32("graphics/pokemon/calyrex/shadow/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_CalyrexShadow[] = INCBIN_U32("graphics/pokemon/calyrex/shadow/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_FUSION_FORMS @@ -20061,32 +24755,32 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_OinkologneMale[] = INCBIN_U32("graphics/pokemon/oinkologne/front.4bpp.lz"); - const u32 gMonPalette_OinkologneMale[] = INCBIN_U32("graphics/pokemon/oinkologne/normal.gbapal.lz"); - const u32 gMonBackPic_OinkologneMale[] = INCBIN_U32("graphics/pokemon/oinkologne/back.4bpp.lz"); - const u32 gMonShinyPalette_OinkologneMale[] = INCBIN_U32("graphics/pokemon/oinkologne/shiny.gbapal.lz"); - const u8 gMonIcon_OinkologneMale[] = INCBIN_U8("graphics/pokemon/oinkologne/icon.4bpp"); + const u32 gMonFrontPic_OinkologneM[] = INCBIN_U32("graphics/pokemon/oinkologne/front.4bpp.lz"); + const u32 gMonPalette_OinkologneM[] = INCBIN_U32("graphics/pokemon/oinkologne/normal.gbapal.lz"); + const u32 gMonBackPic_OinkologneM[] = INCBIN_U32("graphics/pokemon/oinkologne/back.4bpp.lz"); + const u32 gMonShinyPalette_OinkologneM[] = INCBIN_U32("graphics/pokemon/oinkologne/shiny.gbapal.lz"); + const u8 gMonIcon_OinkologneM[] = INCBIN_U8("graphics/pokemon/oinkologne/icon.4bpp"); #if P_FOOTPRINTS const u8 gMonFootprint_Oinkologne[] = INCBIN_U8("graphics/pokemon/oinkologne/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_OinkologneMale[] = INCBIN_COMP("graphics/pokemon/oinkologne/overworld.4bpp"); + const u32 gObjectEventPic_OinkologneM[] = INCBIN_COMP("graphics/pokemon/oinkologne/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_OinkologneMale[] = INCBIN_U32("graphics/pokemon/oinkologne/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_OinkologneMale[] = INCBIN_U32("graphics/pokemon/oinkologne/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_OinkologneM[] = INCBIN_U32("graphics/pokemon/oinkologne/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_OinkologneM[] = INCBIN_U32("graphics/pokemon/oinkologne/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_OinkologneFemale[] = INCBIN_U32("graphics/pokemon/oinkologne/female/front.4bpp.lz"); - const u32 gMonPalette_OinkologneFemale[] = INCBIN_U32("graphics/pokemon/oinkologne/female/normal.gbapal.lz"); - const u32 gMonBackPic_OinkologneFemale[] = INCBIN_U32("graphics/pokemon/oinkologne/female/back.4bpp.lz"); - const u32 gMonShinyPalette_OinkologneFemale[] = INCBIN_U32("graphics/pokemon/oinkologne/female/shiny.gbapal.lz"); - const u8 gMonIcon_OinkologneFemale[] = INCBIN_U8("graphics/pokemon/oinkologne/female/icon.4bpp"); + const u32 gMonFrontPic_OinkologneF[] = INCBIN_U32("graphics/pokemon/oinkologne/f/front.4bpp.lz"); + const u32 gMonPalette_OinkologneF[] = INCBIN_U32("graphics/pokemon/oinkologne/f/normal.gbapal.lz"); + const u32 gMonBackPic_OinkologneF[] = INCBIN_U32("graphics/pokemon/oinkologne/f/back.4bpp.lz"); + const u32 gMonShinyPalette_OinkologneF[] = INCBIN_U32("graphics/pokemon/oinkologne/f/shiny.gbapal.lz"); + const u8 gMonIcon_OinkologneF[] = INCBIN_U8("graphics/pokemon/oinkologne/f/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_OinkologneFemale[] = INCBIN_COMP("graphics/pokemon/oinkologne/female/overworld.4bpp"); + const u32 gObjectEventPic_OinkologneF[] = INCBIN_COMP("graphics/pokemon/oinkologne/f/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_OinkologneFemale[] = INCBIN_U32("graphics/pokemon/oinkologne/female/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_OinkologneFemale[] = INCBIN_U32("graphics/pokemon/oinkologne/female/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_OinkologneF[] = INCBIN_U32("graphics/pokemon/oinkologne/f/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_OinkologneF[] = INCBIN_U32("graphics/pokemon/oinkologne/f/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_FAMILY_LECHONK @@ -20229,31 +24923,31 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonPalette_Maushold[] = INCBIN_U32("graphics/pokemon/maushold/normal.gbapal.lz"); const u32 gMonShinyPalette_Maushold[] = INCBIN_U32("graphics/pokemon/maushold/shiny.gbapal.lz"); - const u32 gMonFrontPic_MausholdFamilyOfThree[] = INCBIN_U32("graphics/pokemon/maushold/front.4bpp.lz"); - const u32 gMonBackPic_MausholdFamilyOfThree[] = INCBIN_U32("graphics/pokemon/maushold/back.4bpp.lz"); - const u8 gMonIcon_MausholdFamilyOfThree[] = INCBIN_U8("graphics/pokemon/maushold/icon.4bpp"); + const u32 gMonFrontPic_MausholdThree[] = INCBIN_U32("graphics/pokemon/maushold/front.4bpp.lz"); + const u32 gMonBackPic_MausholdThree[] = INCBIN_U32("graphics/pokemon/maushold/back.4bpp.lz"); + const u8 gMonIcon_MausholdThree[] = INCBIN_U8("graphics/pokemon/maushold/icon.4bpp"); #if P_FOOTPRINTS - const u8 gMonFootprint_MausholdFamilyOfThree[] = INCBIN_U8("graphics/pokemon/maushold/footprint.1bpp"); + const u8 gMonFootprint_MausholdThree[] = INCBIN_U8("graphics/pokemon/maushold/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_MausholdFamilyOfThree[] = INCBIN_COMP("graphics/pokemon/maushold/overworld.4bpp"); + const u32 gObjectEventPic_MausholdThree[] = INCBIN_COMP("graphics/pokemon/maushold/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_MausholdFamilyOfThree[] = INCBIN_U32("graphics/pokemon/maushold/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_MausholdFamilyOfThree[] = INCBIN_U32("graphics/pokemon/maushold/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_MausholdThree[] = INCBIN_U32("graphics/pokemon/maushold/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_MausholdThree[] = INCBIN_U32("graphics/pokemon/maushold/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_MausholdFamilyOfFour[] = INCBIN_U32("graphics/pokemon/maushold/four/front.4bpp.lz"); - const u32 gMonBackPic_MausholdFamilyOfFour[] = INCBIN_U32("graphics/pokemon/maushold/four/back.4bpp.lz"); - const u8 gMonIcon_MausholdFamilyOfFour[] = INCBIN_U8("graphics/pokemon/maushold/four/icon.4bpp"); + const u32 gMonFrontPic_MausholdFour[] = INCBIN_U32("graphics/pokemon/maushold/four/front.4bpp.lz"); + const u32 gMonBackPic_MausholdFour[] = INCBIN_U32("graphics/pokemon/maushold/four/back.4bpp.lz"); + const u8 gMonIcon_MausholdFour[] = INCBIN_U8("graphics/pokemon/maushold/four/icon.4bpp"); #if P_FOOTPRINTS - const u8 gMonFootprint_MausholdFamilyOfFour[] = INCBIN_U8("graphics/pokemon/maushold/four/footprint.1bpp"); + const u8 gMonFootprint_MausholdFour[] = INCBIN_U8("graphics/pokemon/maushold/four/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_MausholdFamilyOfFour[] = INCBIN_COMP("graphics/pokemon/maushold/four/overworld.4bpp"); + const u32 gObjectEventPic_MausholdFour[] = INCBIN_COMP("graphics/pokemon/maushold/four/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_MausholdFamilyOfFour[] = INCBIN_U32("graphics/pokemon/maushold/four/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_MausholdFamilyOfFour[] = INCBIN_U32("graphics/pokemon/maushold/four/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_MausholdFour[] = INCBIN_U32("graphics/pokemon/maushold/four/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_MausholdFour[] = INCBIN_U32("graphics/pokemon/maushold/four/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_FAMILY_TANDEMAUS @@ -20349,47 +25043,47 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u8 gMonFootprint_Squawkabilly[] = INCBIN_U8("graphics/pokemon/squawkabilly/footprint.1bpp"); #endif //P_FOOTPRINTS - const u32 gMonPalette_SquawkabillyGreenPlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/normal.gbapal.lz"); - const u32 gMonShinyPalette_SquawkabillyGreenPlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/shiny.gbapal.lz"); - const u8 gMonIcon_SquawkabillyGreenPlumage[] = INCBIN_U8("graphics/pokemon/squawkabilly/icon.4bpp"); + const u32 gMonPalette_SquawkabillyGreen[] = INCBIN_U32("graphics/pokemon/squawkabilly/normal.gbapal.lz"); + const u32 gMonShinyPalette_SquawkabillyGreen[] = INCBIN_U32("graphics/pokemon/squawkabilly/shiny.gbapal.lz"); + const u8 gMonIcon_SquawkabillyGreen[] = INCBIN_U8("graphics/pokemon/squawkabilly/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_SquawkabillyGreenPlumage[] = INCBIN_COMP("graphics/pokemon/squawkabilly/overworld.4bpp"); + const u32 gObjectEventPic_SquawkabillyGreen[] = INCBIN_COMP("graphics/pokemon/squawkabilly/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_SquawkabillyGreenPlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_SquawkabillyGreenPlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_SquawkabillyGreen[] = INCBIN_U32("graphics/pokemon/squawkabilly/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_SquawkabillyGreen[] = INCBIN_U32("graphics/pokemon/squawkabilly/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonPalette_SquawkabillyBluePlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/blue_plumage/normal.gbapal.lz"); - const u32 gMonShinyPalette_SquawkabillyBluePlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/blue_plumage/shiny.gbapal.lz"); - const u8 gMonIcon_SquawkabillyBluePlumage[] = INCBIN_U8("graphics/pokemon/squawkabilly/blue_plumage/icon.4bpp"); + const u32 gMonPalette_SquawkabillyBlue[] = INCBIN_U32("graphics/pokemon/squawkabilly/blue/normal.gbapal.lz"); + const u32 gMonShinyPalette_SquawkabillyBlue[] = INCBIN_U32("graphics/pokemon/squawkabilly/blue/shiny.gbapal.lz"); + const u8 gMonIcon_SquawkabillyBlue[] = INCBIN_U8("graphics/pokemon/squawkabilly/blue/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_SquawkabillyBluePlumage[] = INCBIN_COMP("graphics/pokemon/squawkabilly/blue_plumage/overworld.4bpp"); + const u32 gObjectEventPic_SquawkabillyBlue[] = INCBIN_COMP("graphics/pokemon/squawkabilly/blue/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_SquawkabillyBluePlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/blue_plumage/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_SquawkabillyBluePlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/blue_plumage/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_SquawkabillyBlue[] = INCBIN_U32("graphics/pokemon/squawkabilly/blue/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_SquawkabillyBlue[] = INCBIN_U32("graphics/pokemon/squawkabilly/blue/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonPalette_SquawkabillyYellowPlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/yellow_plumage/normal.gbapal.lz"); - const u32 gMonShinyPalette_SquawkabillyYellowPlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/yellow_plumage/shiny.gbapal.lz"); - const u8 gMonIcon_SquawkabillyYellowPlumage[] = INCBIN_U8("graphics/pokemon/squawkabilly/yellow_plumage/icon.4bpp"); + const u32 gMonPalette_SquawkabillyYellow[] = INCBIN_U32("graphics/pokemon/squawkabilly/yellow/normal.gbapal.lz"); + const u32 gMonShinyPalette_SquawkabillyYellow[] = INCBIN_U32("graphics/pokemon/squawkabilly/yellow/shiny.gbapal.lz"); + const u8 gMonIcon_SquawkabillyYellow[] = INCBIN_U8("graphics/pokemon/squawkabilly/yellow/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_SquawkabillyYellowPlumage[] = INCBIN_COMP("graphics/pokemon/squawkabilly/yellow_plumage/overworld.4bpp"); + const u32 gObjectEventPic_SquawkabillyYellow[] = INCBIN_COMP("graphics/pokemon/squawkabilly/yellow/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_SquawkabillyYellowPlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/yellow_plumage/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_SquawkabillyYellowPlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/yellow_plumage/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_SquawkabillyYellow[] = INCBIN_U32("graphics/pokemon/squawkabilly/yellow/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_SquawkabillyYellow[] = INCBIN_U32("graphics/pokemon/squawkabilly/yellow/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonPalette_SquawkabillyWhitePlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/white_plumage/normal.gbapal.lz"); - const u32 gMonShinyPalette_SquawkabillyWhitePlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/white_plumage/shiny.gbapal.lz"); - const u8 gMonIcon_SquawkabillyWhitePlumage[] = INCBIN_U8("graphics/pokemon/squawkabilly/white_plumage/icon.4bpp"); + const u32 gMonPalette_SquawkabillyWhite[] = INCBIN_U32("graphics/pokemon/squawkabilly/white/normal.gbapal.lz"); + const u32 gMonShinyPalette_SquawkabillyWhite[] = INCBIN_U32("graphics/pokemon/squawkabilly/white/shiny.gbapal.lz"); + const u8 gMonIcon_SquawkabillyWhite[] = INCBIN_U8("graphics/pokemon/squawkabilly/white/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_SquawkabillyWhitePlumage[] = INCBIN_COMP("graphics/pokemon/squawkabilly/white_plumage/overworld.4bpp"); + const u32 gObjectEventPic_SquawkabillyWhite[] = INCBIN_COMP("graphics/pokemon/squawkabilly/white/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_SquawkabillyWhitePlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/white_plumage/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_SquawkabillyWhitePlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/white_plumage/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_SquawkabillyWhite[] = INCBIN_U32("graphics/pokemon/squawkabilly/white/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_SquawkabillyWhite[] = INCBIN_U32("graphics/pokemon/squawkabilly/white/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_FAMILY_SQUAWKABILLY @@ -21822,79 +26516,79 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_FEZANDIPITI #if P_FAMILY_OGERPON - const u32 gMonFrontPic_OgerponTealMask[] = INCBIN_U32("graphics/pokemon/ogerpon/front.4bpp.lz"); - const u32 gMonPalette_OgerponTealMask[] = INCBIN_U32("graphics/pokemon/ogerpon/normal.gbapal.lz"); - const u32 gMonBackPic_OgerponTealMask[] = INCBIN_U32("graphics/pokemon/ogerpon/back.4bpp.lz"); - const u32 gMonShinyPalette_OgerponTealMask[] = INCBIN_U32("graphics/pokemon/ogerpon/shiny.gbapal.lz"); - const u8 gMonIcon_OgerponTealMask[] = INCBIN_U8("graphics/pokemon/ogerpon/icon.4bpp"); + const u32 gMonFrontPic_OgerponTeal[] = INCBIN_U32("graphics/pokemon/ogerpon/front.4bpp.lz"); + const u32 gMonPalette_OgerponTeal[] = INCBIN_U32("graphics/pokemon/ogerpon/normal.gbapal.lz"); + const u32 gMonBackPic_OgerponTeal[] = INCBIN_U32("graphics/pokemon/ogerpon/back.4bpp.lz"); + const u32 gMonShinyPalette_OgerponTeal[] = INCBIN_U32("graphics/pokemon/ogerpon/shiny.gbapal.lz"); + const u8 gMonIcon_OgerponTeal[] = INCBIN_U8("graphics/pokemon/ogerpon/icon.4bpp"); #if P_FOOTPRINTS const u8 gMonFootprint_Ogerpon[] = INCBIN_U8("graphics/pokemon/ogerpon/footprint.1bpp"); #endif //P_FOOTPRINTS - const u32 gMonFrontPic_OgerponWellspringMask[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/front.4bpp.lz"); - const u32 gMonPalette_OgerponWellspringMask[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/normal.gbapal.lz"); - const u32 gMonBackPic_OgerponWellspringMask[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/back.4bpp.lz"); - const u32 gMonShinyPalette_OgerponWellspringMask[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/shiny.gbapal.lz"); - const u8 gMonIcon_OgerponWellspringMask[] = INCBIN_U8("graphics/pokemon/ogerpon/wellspring/icon.4bpp"); - - const u32 gMonFrontPic_OgerponHearthflameMask[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/front.4bpp.lz"); - const u32 gMonPalette_OgerponHearthflameMask[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/normal.gbapal.lz"); - const u32 gMonBackPic_OgerponHearthflameMask[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/back.4bpp.lz"); - const u32 gMonShinyPalette_OgerponHearthflameMask[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/shiny.gbapal.lz"); - const u8 gMonIcon_OgerponHearthflameMask[] = INCBIN_U8("graphics/pokemon/ogerpon/hearthflame/icon.4bpp"); - - const u32 gMonFrontPic_OgerponCornerstoneMask[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/front.4bpp.lz"); - const u32 gMonPalette_OgerponCornerstoneMask[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/normal.gbapal.lz"); - const u32 gMonBackPic_OgerponCornerstoneMask[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/back.4bpp.lz"); - const u32 gMonShinyPalette_OgerponCornerstoneMask[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/shiny.gbapal.lz"); - const u8 gMonIcon_OgerponCornerstoneMask[] = INCBIN_U8("graphics/pokemon/ogerpon/cornerstone/icon.4bpp"); - - const u32 gMonFrontPic_OgerponTealMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/tera/front.4bpp.lz"); - const u32 gMonPalette_OgerponTealMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/tera/normal.gbapal.lz"); - const u32 gMonBackPic_OgerponTealMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/tera/back.4bpp.lz"); - const u32 gMonShinyPalette_OgerponTealMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/tera/shiny.gbapal.lz"); - - const u32 gMonFrontPic_OgerponWellspringMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/tera/front.4bpp.lz"); - const u32 gMonPalette_OgerponWellspringMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/tera/normal.gbapal.lz"); - const u32 gMonBackPic_OgerponWellspringMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/tera/back.4bpp.lz"); - const u32 gMonShinyPalette_OgerponWellspringMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/tera/shiny.gbapal.lz"); - - const u32 gMonFrontPic_OgerponHearthflameMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/tera/front.4bpp.lz"); - const u32 gMonPalette_OgerponHearthflameMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/tera/normal.gbapal.lz"); - const u32 gMonBackPic_OgerponHearthflameMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/tera/back.4bpp.lz"); - const u32 gMonShinyPalette_OgerponHearthflameMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/tera/shiny.gbapal.lz"); - - const u32 gMonFrontPic_OgerponCornerstoneMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/tera/front.4bpp.lz"); - const u32 gMonPalette_OgerponCornerstoneMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/tera/normal.gbapal.lz"); - const u32 gMonBackPic_OgerponCornerstoneMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/tera/back.4bpp.lz"); - const u32 gMonShinyPalette_OgerponCornerstoneMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/tera/shiny.gbapal.lz"); - -#if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_OgerponTealMask[] = INCBIN_COMP("graphics/pokemon/ogerpon/overworld.4bpp"); - const u32 gObjectEventPic_OgerponWellspringMask[] = INCBIN_COMP("graphics/pokemon/ogerpon/wellspring/overworld.4bpp"); - const u32 gObjectEventPic_OgerponHearthflameMask[] = INCBIN_COMP("graphics/pokemon/ogerpon/hearthflame/overworld.4bpp"); - const u32 gObjectEventPic_OgerponCornerstoneMask[] = INCBIN_COMP("graphics/pokemon/ogerpon/cornerstone/overworld.4bpp"); - const u32 gOverworldPalette_OgerponWellspringMask[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_OgerponWellspringMask[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/overworld_shiny.gbapal.lz"); - const u32 gOverworldPalette_OgerponHearthflameMask[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_OgerponHearthflameMask[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/overworld_shiny.gbapal.lz"); - const u32 gOverworldPalette_OgerponCornerstoneMask[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_OgerponCornerstoneMask[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/overworld_shiny.gbapal.lz"); - const u32 gOverworldPalette_OgerponTealMask[] = INCBIN_U32("graphics/pokemon/ogerpon/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_OgerponTealMask[] = INCBIN_U32("graphics/pokemon/ogerpon/overworld_shiny.gbapal.lz"); - - const u32 gObjectEventPic_OgerponTealMaskTeraTera[] = INCBIN_COMP("graphics/pokemon/ogerpon/overworld.4bpp"); - const u32 gObjectEventPic_OgerponWellspringMaskTera[] = INCBIN_COMP("graphics/pokemon/ogerpon/wellspring/overworld.4bpp"); - const u32 gObjectEventPic_OgerponHearthflameMaskTera[] = INCBIN_COMP("graphics/pokemon/ogerpon/hearthflame/overworld.4bpp"); - const u32 gObjectEventPic_OgerponCornerstoneMaskTera[] = INCBIN_COMP("graphics/pokemon/ogerpon/cornerstone/overworld.4bpp"); - const u32 gOverworldPalette_OgerponWellspringMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_OgerponWellspringMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/overworld_shiny.gbapal.lz"); - const u32 gOverworldPalette_OgerponHearthflameMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_OgerponHearthflameMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/overworld_shiny.gbapal.lz"); - const u32 gOverworldPalette_OgerponCornerstoneMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_OgerponCornerstoneMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/overworld_shiny.gbapal.lz"); - const u32 gOverworldPalette_OgerponTealMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_OgerponTealMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/overworld_shiny.gbapal.lz"); + const u32 gMonFrontPic_OgerponWellspring[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/front.4bpp.lz"); + const u32 gMonPalette_OgerponWellspring[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/normal.gbapal.lz"); + const u32 gMonBackPic_OgerponWellspring[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/back.4bpp.lz"); + const u32 gMonShinyPalette_OgerponWellspring[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/shiny.gbapal.lz"); + const u8 gMonIcon_OgerponWellspring[] = INCBIN_U8("graphics/pokemon/ogerpon/wellspring/icon.4bpp"); + + const u32 gMonFrontPic_OgerponHearthflame[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/front.4bpp.lz"); + const u32 gMonPalette_OgerponHearthflame[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/normal.gbapal.lz"); + const u32 gMonBackPic_OgerponHearthflame[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/back.4bpp.lz"); + const u32 gMonShinyPalette_OgerponHearthflame[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/shiny.gbapal.lz"); + const u8 gMonIcon_OgerponHearthflame[] = INCBIN_U8("graphics/pokemon/ogerpon/hearthflame/icon.4bpp"); + + const u32 gMonFrontPic_OgerponCornerstone[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/front.4bpp.lz"); + const u32 gMonPalette_OgerponCornerstone[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/normal.gbapal.lz"); + const u32 gMonBackPic_OgerponCornerstone[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/back.4bpp.lz"); + const u32 gMonShinyPalette_OgerponCornerstone[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/shiny.gbapal.lz"); + const u8 gMonIcon_OgerponCornerstone[] = INCBIN_U8("graphics/pokemon/ogerpon/cornerstone/icon.4bpp"); + + const u32 gMonFrontPic_OgerponTealTera[] = INCBIN_U32("graphics/pokemon/ogerpon/teal_tera/front.4bpp.lz"); + const u32 gMonPalette_OgerponTealTera[] = INCBIN_U32("graphics/pokemon/ogerpon/teal_tera/normal.gbapal.lz"); + const u32 gMonBackPic_OgerponTealTera[] = INCBIN_U32("graphics/pokemon/ogerpon/teal_tera/back.4bpp.lz"); + const u32 gMonShinyPalette_OgerponTealTera[] = INCBIN_U32("graphics/pokemon/ogerpon/teal_tera/shiny.gbapal.lz"); + + const u32 gMonFrontPic_OgerponWellspringTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring_tera/front.4bpp.lz"); + const u32 gMonPalette_OgerponWellspringTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring_tera/normal.gbapal.lz"); + const u32 gMonBackPic_OgerponWellspringTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring_tera/back.4bpp.lz"); + const u32 gMonShinyPalette_OgerponWellspringTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring_tera/shiny.gbapal.lz"); + + const u32 gMonFrontPic_OgerponHearthflameTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame_tera/front.4bpp.lz"); + const u32 gMonPalette_OgerponHearthflameTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame_tera/normal.gbapal.lz"); + const u32 gMonBackPic_OgerponHearthflameTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame_tera/back.4bpp.lz"); + const u32 gMonShinyPalette_OgerponHearthflameTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame_tera/shiny.gbapal.lz"); + + const u32 gMonFrontPic_OgerponCornerstoneTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone_tera/front.4bpp.lz"); + const u32 gMonPalette_OgerponCornerstoneTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone_tera/normal.gbapal.lz"); + const u32 gMonBackPic_OgerponCornerstoneTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone_tera/back.4bpp.lz"); + const u32 gMonShinyPalette_OgerponCornerstoneTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone_tera/shiny.gbapal.lz"); + +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_OgerponTeal[] = INCBIN_COMP("graphics/pokemon/ogerpon/overworld.4bpp"); + const u32 gObjectEventPic_OgerponWellspring[] = INCBIN_COMP("graphics/pokemon/ogerpon/wellspring/overworld.4bpp"); + const u32 gObjectEventPic_OgerponHearthflame[] = INCBIN_COMP("graphics/pokemon/ogerpon/hearthflame/overworld.4bpp"); + const u32 gObjectEventPic_OgerponCornerstone[] = INCBIN_COMP("graphics/pokemon/ogerpon/cornerstone/overworld.4bpp"); + const u32 gOverworldPalette_OgerponWellspring[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_OgerponWellspring[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_OgerponHearthflame[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_OgerponHearthflame[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_OgerponCornerstone[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_OgerponCornerstone[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_OgerponTeal[] = INCBIN_U32("graphics/pokemon/ogerpon/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_OgerponTeal[] = INCBIN_U32("graphics/pokemon/ogerpon/overworld_shiny.gbapal.lz"); + + const u32 gObjectEventPic_OgerponTealTera[] = INCBIN_COMP("graphics/pokemon/ogerpon/overworld.4bpp"); + const u32 gObjectEventPic_OgerponWellspringTera[] = INCBIN_COMP("graphics/pokemon/ogerpon/wellspring/overworld.4bpp"); + const u32 gObjectEventPic_OgerponHearthflameTera[] = INCBIN_COMP("graphics/pokemon/ogerpon/hearthflame/overworld.4bpp"); + const u32 gObjectEventPic_OgerponCornerstoneTera[] = INCBIN_COMP("graphics/pokemon/ogerpon/cornerstone/overworld.4bpp"); + const u32 gOverworldPalette_OgerponWellspringTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_OgerponWellspringTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_OgerponHearthflameTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_OgerponHearthflameTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_OgerponCornerstoneTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_OgerponCornerstoneTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/overworld_shiny.gbapal.lz"); + const u32 gOverworldPalette_OgerponTealTera[] = INCBIN_U32("graphics/pokemon/ogerpon/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_OgerponTealTera[] = INCBIN_U32("graphics/pokemon/ogerpon/overworld_shiny.gbapal.lz"); #endif //OW_POKEMON_OBJECT_EVENTS #endif //P_FAMILY_OGERPON diff --git a/src/data/graphics/trainers.h b/src/data/graphics/trainers.h index 2a7baf1bc8ab..613e5fcb14f3 100644 --- a/src/data/graphics/trainers.h +++ b/src/data/graphics/trainers.h @@ -297,110 +297,110 @@ const u32 gTrainerBackPicPalette_Leaf[] = INCBIN_U32("graphics/trainers/back_pic // gTrainerFrontPic/gTrainerPalette pointers, (e.g "gTrainerFrontPic_Hiker" and "gTrainerPalette_Hiker"). // The last three parameters control the X and Y coordinates and rotation of the mugshot on the screen. // They default to 0, 0, and 0x200 which are default values used by the majority of the game's trainer sprites. -#define TRAINER_SPRITE(trainerPic, file, ...) \ - [TRAINER_PIC_##trainerPic] = \ - { \ - .frontPic = {gTrainerFrontPic_##file, TRAINER_PIC_SIZE, TRAINER_PIC_##trainerPic},\ - .palette = {gTrainerPalette_##file, TRAINER_PIC_##trainerPic}, \ - .mugshotCoords = {DEFAULT(0, __VA_ARGS__), DEFAULT_2(0, __VA_ARGS__)}, \ - .mugshotRotation = DEFAULT_3(0x200, __VA_ARGS__), \ +#define TRAINER_SPRITE(trainerPic, picFile, paletteFile, ...) \ + [trainerPic] = \ + { \ + .frontPic = {picFile, TRAINER_PIC_SIZE, trainerPic}, \ + .palette = {paletteFile, trainerPic}, \ + .mugshotCoords = {DEFAULT(0, __VA_ARGS__), DEFAULT_2(0, __VA_ARGS__)}, \ + .mugshotRotation = DEFAULT_3(0x200, __VA_ARGS__), \ } const struct TrainerSprite gTrainerSprites[] = { - TRAINER_SPRITE(HIKER, Hiker), - TRAINER_SPRITE(AQUA_GRUNT_M, AquaGruntM), - TRAINER_SPRITE(POKEMON_BREEDER_F, PokemonBreederF), - TRAINER_SPRITE(COOLTRAINER_M, CoolTrainerM), - TRAINER_SPRITE(BIRD_KEEPER, BirdKeeper), - TRAINER_SPRITE(COLLECTOR, Collector), - TRAINER_SPRITE(AQUA_GRUNT_F, AquaGruntF), - TRAINER_SPRITE(SWIMMER_M, SwimmerM), - TRAINER_SPRITE(MAGMA_GRUNT_M, MagmaGruntM), - TRAINER_SPRITE(EXPERT_M, ExpertM), - TRAINER_SPRITE(AQUA_ADMIN_M, AquaAdminM), - TRAINER_SPRITE(BLACK_BELT, BlackBelt), - TRAINER_SPRITE(AQUA_ADMIN_F, AquaAdminF), - TRAINER_SPRITE(AQUA_LEADER_ARCHIE, AquaLeaderArchie), - TRAINER_SPRITE(HEX_MANIAC, HexManiac), - TRAINER_SPRITE(AROMA_LADY, AromaLady), - TRAINER_SPRITE(RUIN_MANIAC, RuinManiac), - TRAINER_SPRITE(INTERVIEWER, Interviewer), - TRAINER_SPRITE(TUBER_F, TuberF), - TRAINER_SPRITE(TUBER_M, TuberM), - TRAINER_SPRITE(COOLTRAINER_F, CoolTrainerF), - TRAINER_SPRITE(LADY, Lady), - TRAINER_SPRITE(BEAUTY, Beauty), - TRAINER_SPRITE(RICH_BOY, RichBoy), - TRAINER_SPRITE(EXPERT_F, ExpertF), - TRAINER_SPRITE(POKEMANIAC, Pokemaniac), - TRAINER_SPRITE(MAGMA_GRUNT_F, MagmaGruntF), - TRAINER_SPRITE(GUITARIST, Guitarist), - TRAINER_SPRITE(KINDLER, Kindler), - TRAINER_SPRITE(CAMPER, Camper), - TRAINER_SPRITE(PICNICKER, Picnicker), - TRAINER_SPRITE(BUG_MANIAC, BugManiac), - TRAINER_SPRITE(POKEMON_BREEDER_M, PokemonBreederM), - TRAINER_SPRITE(PSYCHIC_M, PsychicM), - TRAINER_SPRITE(PSYCHIC_F, PsychicF), - TRAINER_SPRITE(GENTLEMAN, Gentleman), - TRAINER_SPRITE(ELITE_FOUR_SIDNEY, EliteFourSidney), - TRAINER_SPRITE(ELITE_FOUR_PHOEBE, EliteFourPhoebe), - TRAINER_SPRITE(ELITE_FOUR_GLACIA, EliteFourGlacia, -4, 4, 0x1B0), - TRAINER_SPRITE(ELITE_FOUR_DRAKE, EliteFourDrake, 0, 5, 0x1A0), - TRAINER_SPRITE(LEADER_ROXANNE, LeaderRoxanne), - TRAINER_SPRITE(LEADER_BRAWLY, LeaderBrawly), - TRAINER_SPRITE(LEADER_WATTSON, LeaderWattson), - TRAINER_SPRITE(LEADER_FLANNERY, LeaderFlannery), - TRAINER_SPRITE(LEADER_NORMAN, LeaderNorman), - TRAINER_SPRITE(LEADER_WINONA, LeaderWinona), - TRAINER_SPRITE(LEADER_TATE_AND_LIZA, LeaderTateAndLiza), - TRAINER_SPRITE(LEADER_JUAN, LeaderJuan), - TRAINER_SPRITE(SCHOOL_KID_M, SchoolKidM), - TRAINER_SPRITE(SCHOOL_KID_F, SchoolKidF), - TRAINER_SPRITE(SR_AND_JR, SrAndJr), - TRAINER_SPRITE(POKEFAN_M, PokefanM), - TRAINER_SPRITE(POKEFAN_F, PokefanF), - TRAINER_SPRITE(YOUNGSTER, Youngster), - TRAINER_SPRITE(CHAMPION_WALLACE, ChampionWallace, -8, 7, 0x188), - TRAINER_SPRITE(FISHERMAN, Fisherman), - TRAINER_SPRITE(CYCLING_TRIATHLETE_M, CyclingTriathleteM), - TRAINER_SPRITE(CYCLING_TRIATHLETE_F, CyclingTriathleteF), - TRAINER_SPRITE(RUNNING_TRIATHLETE_M, RunningTriathleteM), - TRAINER_SPRITE(RUNNING_TRIATHLETE_F, RunningTriathleteF), - TRAINER_SPRITE(SWIMMING_TRIATHLETE_M, SwimmingTriathleteM), - TRAINER_SPRITE(SWIMMING_TRIATHLETE_F, SwimmingTriathleteF), - TRAINER_SPRITE(DRAGON_TAMER, DragonTamer), - TRAINER_SPRITE(NINJA_BOY, NinjaBoy), - TRAINER_SPRITE(BATTLE_GIRL, BattleGirl), - TRAINER_SPRITE(PARASOL_LADY, ParasolLady), - TRAINER_SPRITE(SWIMMER_F, SwimmerF), - TRAINER_SPRITE(TWINS, Twins), - TRAINER_SPRITE(SAILOR, Sailor), - TRAINER_SPRITE(MAGMA_ADMIN, MagmaAdmin), - TRAINER_SPRITE(WALLY, Wally), - TRAINER_SPRITE(BRENDAN, Brendan), - TRAINER_SPRITE(MAY, May), - TRAINER_SPRITE(BUG_CATCHER, BugCatcher), - TRAINER_SPRITE(POKEMON_RANGER_M, PokemonRangerM), - TRAINER_SPRITE(POKEMON_RANGER_F, PokemonRangerF), - TRAINER_SPRITE(MAGMA_LEADER_MAXIE, MagmaLeaderMaxie), - TRAINER_SPRITE(LASS, Lass), - TRAINER_SPRITE(YOUNG_COUPLE, YoungCouple), - TRAINER_SPRITE(OLD_COUPLE, OldCouple), - TRAINER_SPRITE(SIS_AND_BRO, SisAndBro), - TRAINER_SPRITE(STEVEN, Steven, 0, 7, 0x188), - TRAINER_SPRITE(SALON_MAIDEN_ANABEL, SalonMaidenAnabel), - TRAINER_SPRITE(DOME_ACE_TUCKER, DomeAceTucker), - TRAINER_SPRITE(PALACE_MAVEN_SPENSER, PalaceMavenSpenser), - TRAINER_SPRITE(ARENA_TYCOON_GRETA, ArenaTycoonGreta), - TRAINER_SPRITE(FACTORY_HEAD_NOLAND, FactoryHeadNoland), - TRAINER_SPRITE(PIKE_QUEEN_LUCY, PikeQueenLucy), - TRAINER_SPRITE(PYRAMID_KING_BRANDON, PyramidKingBrandon), - TRAINER_SPRITE(RED, Red), - TRAINER_SPRITE(LEAF, Leaf), - TRAINER_SPRITE(RS_BRENDAN, RubySapphireBrendan), - TRAINER_SPRITE(RS_MAY, RubySapphireMay), + TRAINER_SPRITE(TRAINER_PIC_HIKER, gTrainerFrontPic_Hiker, gTrainerPalette_Hiker), + TRAINER_SPRITE(TRAINER_PIC_AQUA_GRUNT_M, gTrainerFrontPic_AquaGruntM, gTrainerPalette_AquaGruntM), + TRAINER_SPRITE(TRAINER_PIC_POKEMON_BREEDER_F, gTrainerFrontPic_PokemonBreederF, gTrainerPalette_PokemonBreederF), + TRAINER_SPRITE(TRAINER_PIC_COOLTRAINER_M, gTrainerFrontPic_CoolTrainerM, gTrainerPalette_CoolTrainerM), + TRAINER_SPRITE(TRAINER_PIC_BIRD_KEEPER, gTrainerFrontPic_BirdKeeper, gTrainerPalette_BirdKeeper), + TRAINER_SPRITE(TRAINER_PIC_COLLECTOR, gTrainerFrontPic_Collector, gTrainerPalette_Collector), + TRAINER_SPRITE(TRAINER_PIC_AQUA_GRUNT_F, gTrainerFrontPic_AquaGruntF, gTrainerPalette_AquaGruntF), + TRAINER_SPRITE(TRAINER_PIC_SWIMMER_M, gTrainerFrontPic_SwimmerM, gTrainerPalette_SwimmerM), + TRAINER_SPRITE(TRAINER_PIC_MAGMA_GRUNT_M, gTrainerFrontPic_MagmaGruntM, gTrainerPalette_MagmaGruntM), + TRAINER_SPRITE(TRAINER_PIC_EXPERT_M, gTrainerFrontPic_ExpertM, gTrainerPalette_ExpertM), + TRAINER_SPRITE(TRAINER_PIC_AQUA_ADMIN_M, gTrainerFrontPic_AquaAdminM, gTrainerPalette_AquaAdminM), + TRAINER_SPRITE(TRAINER_PIC_BLACK_BELT, gTrainerFrontPic_BlackBelt, gTrainerPalette_BlackBelt), + TRAINER_SPRITE(TRAINER_PIC_AQUA_ADMIN_F, gTrainerFrontPic_AquaAdminF, gTrainerPalette_AquaAdminF), + TRAINER_SPRITE(TRAINER_PIC_AQUA_LEADER_ARCHIE, gTrainerFrontPic_AquaLeaderArchie, gTrainerPalette_AquaLeaderArchie), + TRAINER_SPRITE(TRAINER_PIC_HEX_MANIAC, gTrainerFrontPic_HexManiac, gTrainerPalette_HexManiac), + TRAINER_SPRITE(TRAINER_PIC_AROMA_LADY, gTrainerFrontPic_AromaLady, gTrainerPalette_AromaLady), + TRAINER_SPRITE(TRAINER_PIC_RUIN_MANIAC, gTrainerFrontPic_RuinManiac, gTrainerPalette_RuinManiac), + TRAINER_SPRITE(TRAINER_PIC_INTERVIEWER, gTrainerFrontPic_Interviewer, gTrainerPalette_Interviewer), + TRAINER_SPRITE(TRAINER_PIC_TUBER_F, gTrainerFrontPic_TuberF, gTrainerPalette_TuberF), + TRAINER_SPRITE(TRAINER_PIC_TUBER_M, gTrainerFrontPic_TuberM, gTrainerPalette_TuberM), + TRAINER_SPRITE(TRAINER_PIC_COOLTRAINER_F, gTrainerFrontPic_CoolTrainerF, gTrainerPalette_CoolTrainerF), + TRAINER_SPRITE(TRAINER_PIC_LADY, gTrainerFrontPic_Lady, gTrainerPalette_Lady), + TRAINER_SPRITE(TRAINER_PIC_BEAUTY, gTrainerFrontPic_Beauty, gTrainerPalette_Beauty), + TRAINER_SPRITE(TRAINER_PIC_RICH_BOY, gTrainerFrontPic_RichBoy, gTrainerPalette_RichBoy), + TRAINER_SPRITE(TRAINER_PIC_EXPERT_F, gTrainerFrontPic_ExpertF, gTrainerPalette_ExpertF), + TRAINER_SPRITE(TRAINER_PIC_POKEMANIAC, gTrainerFrontPic_Pokemaniac, gTrainerPalette_Pokemaniac), + TRAINER_SPRITE(TRAINER_PIC_MAGMA_GRUNT_F, gTrainerFrontPic_MagmaGruntF, gTrainerPalette_MagmaGruntF), + TRAINER_SPRITE(TRAINER_PIC_GUITARIST, gTrainerFrontPic_Guitarist, gTrainerPalette_Guitarist), + TRAINER_SPRITE(TRAINER_PIC_KINDLER, gTrainerFrontPic_Kindler, gTrainerPalette_Kindler), + TRAINER_SPRITE(TRAINER_PIC_CAMPER, gTrainerFrontPic_Camper, gTrainerPalette_Camper), + TRAINER_SPRITE(TRAINER_PIC_PICNICKER, gTrainerFrontPic_Picnicker, gTrainerPalette_Picnicker), + TRAINER_SPRITE(TRAINER_PIC_BUG_MANIAC, gTrainerFrontPic_BugManiac, gTrainerPalette_BugManiac), + TRAINER_SPRITE(TRAINER_PIC_POKEMON_BREEDER_M, gTrainerFrontPic_PokemonBreederM, gTrainerPalette_PokemonBreederM), + TRAINER_SPRITE(TRAINER_PIC_PSYCHIC_M, gTrainerFrontPic_PsychicM, gTrainerPalette_PsychicM), + TRAINER_SPRITE(TRAINER_PIC_PSYCHIC_F, gTrainerFrontPic_PsychicF, gTrainerPalette_PsychicF), + TRAINER_SPRITE(TRAINER_PIC_GENTLEMAN, gTrainerFrontPic_Gentleman, gTrainerPalette_Gentleman), + TRAINER_SPRITE(TRAINER_PIC_ELITE_FOUR_SIDNEY, gTrainerFrontPic_EliteFourSidney, gTrainerPalette_EliteFourSidney), + TRAINER_SPRITE(TRAINER_PIC_ELITE_FOUR_PHOEBE, gTrainerFrontPic_EliteFourPhoebe, gTrainerPalette_EliteFourPhoebe), + TRAINER_SPRITE(TRAINER_PIC_ELITE_FOUR_GLACIA, gTrainerFrontPic_EliteFourGlacia, gTrainerPalette_EliteFourGlacia, -4, 4, 0x1B0), + TRAINER_SPRITE(TRAINER_PIC_ELITE_FOUR_DRAKE, gTrainerFrontPic_EliteFourDrake, gTrainerPalette_EliteFourDrake, 0, 5, 0x1A0), + TRAINER_SPRITE(TRAINER_PIC_LEADER_ROXANNE, gTrainerFrontPic_LeaderRoxanne, gTrainerPalette_LeaderRoxanne), + TRAINER_SPRITE(TRAINER_PIC_LEADER_BRAWLY, gTrainerFrontPic_LeaderBrawly, gTrainerPalette_LeaderBrawly), + TRAINER_SPRITE(TRAINER_PIC_LEADER_WATTSON, gTrainerFrontPic_LeaderWattson, gTrainerPalette_LeaderWattson), + TRAINER_SPRITE(TRAINER_PIC_LEADER_FLANNERY, gTrainerFrontPic_LeaderFlannery, gTrainerPalette_LeaderFlannery), + TRAINER_SPRITE(TRAINER_PIC_LEADER_NORMAN, gTrainerFrontPic_LeaderNorman, gTrainerPalette_LeaderNorman), + TRAINER_SPRITE(TRAINER_PIC_LEADER_WINONA, gTrainerFrontPic_LeaderWinona, gTrainerPalette_LeaderWinona), + TRAINER_SPRITE(TRAINER_PIC_LEADER_TATE_AND_LIZA, gTrainerFrontPic_LeaderTateAndLiza, gTrainerPalette_LeaderTateAndLiza), + TRAINER_SPRITE(TRAINER_PIC_LEADER_JUAN, gTrainerFrontPic_LeaderJuan, gTrainerPalette_LeaderJuan), + TRAINER_SPRITE(TRAINER_PIC_SCHOOL_KID_M, gTrainerFrontPic_SchoolKidM, gTrainerPalette_SchoolKidM), + TRAINER_SPRITE(TRAINER_PIC_SCHOOL_KID_F, gTrainerFrontPic_SchoolKidF, gTrainerPalette_SchoolKidF), + TRAINER_SPRITE(TRAINER_PIC_SR_AND_JR, gTrainerFrontPic_SrAndJr, gTrainerPalette_SrAndJr), + TRAINER_SPRITE(TRAINER_PIC_POKEFAN_M, gTrainerFrontPic_PokefanM, gTrainerPalette_PokefanM), + TRAINER_SPRITE(TRAINER_PIC_POKEFAN_F, gTrainerFrontPic_PokefanF, gTrainerPalette_PokefanF), + TRAINER_SPRITE(TRAINER_PIC_YOUNGSTER, gTrainerFrontPic_Youngster, gTrainerPalette_Youngster), + TRAINER_SPRITE(TRAINER_PIC_CHAMPION_WALLACE, gTrainerFrontPic_ChampionWallace, gTrainerPalette_ChampionWallace, -8, 7, 0x188), + TRAINER_SPRITE(TRAINER_PIC_FISHERMAN, gTrainerFrontPic_Fisherman, gTrainerPalette_Fisherman), + TRAINER_SPRITE(TRAINER_PIC_CYCLING_TRIATHLETE_M, gTrainerFrontPic_CyclingTriathleteM, gTrainerPalette_CyclingTriathleteM), + TRAINER_SPRITE(TRAINER_PIC_CYCLING_TRIATHLETE_F, gTrainerFrontPic_CyclingTriathleteF, gTrainerPalette_CyclingTriathleteF), + TRAINER_SPRITE(TRAINER_PIC_RUNNING_TRIATHLETE_M, gTrainerFrontPic_RunningTriathleteM, gTrainerPalette_RunningTriathleteM), + TRAINER_SPRITE(TRAINER_PIC_RUNNING_TRIATHLETE_F, gTrainerFrontPic_RunningTriathleteF, gTrainerPalette_RunningTriathleteF), + TRAINER_SPRITE(TRAINER_PIC_SWIMMING_TRIATHLETE_M, gTrainerFrontPic_SwimmingTriathleteM, gTrainerPalette_SwimmingTriathleteM), + TRAINER_SPRITE(TRAINER_PIC_SWIMMING_TRIATHLETE_F, gTrainerFrontPic_SwimmingTriathleteF, gTrainerPalette_SwimmingTriathleteF), + TRAINER_SPRITE(TRAINER_PIC_DRAGON_TAMER, gTrainerFrontPic_DragonTamer, gTrainerPalette_DragonTamer), + TRAINER_SPRITE(TRAINER_PIC_NINJA_BOY, gTrainerFrontPic_NinjaBoy, gTrainerPalette_NinjaBoy), + TRAINER_SPRITE(TRAINER_PIC_BATTLE_GIRL, gTrainerFrontPic_BattleGirl, gTrainerPalette_BattleGirl), + TRAINER_SPRITE(TRAINER_PIC_PARASOL_LADY, gTrainerFrontPic_ParasolLady, gTrainerPalette_ParasolLady), + TRAINER_SPRITE(TRAINER_PIC_SWIMMER_F, gTrainerFrontPic_SwimmerF, gTrainerPalette_SwimmerF), + TRAINER_SPRITE(TRAINER_PIC_TWINS, gTrainerFrontPic_Twins, gTrainerPalette_Twins), + TRAINER_SPRITE(TRAINER_PIC_SAILOR, gTrainerFrontPic_Sailor, gTrainerPalette_Sailor), + TRAINER_SPRITE(TRAINER_PIC_MAGMA_ADMIN, gTrainerFrontPic_MagmaAdmin, gTrainerPalette_MagmaAdmin), + TRAINER_SPRITE(TRAINER_PIC_WALLY, gTrainerFrontPic_Wally, gTrainerPalette_Wally), + TRAINER_SPRITE(TRAINER_PIC_BRENDAN, gTrainerFrontPic_Brendan, gTrainerPalette_Brendan), + TRAINER_SPRITE(TRAINER_PIC_MAY, gTrainerFrontPic_May, gTrainerPalette_May), + TRAINER_SPRITE(TRAINER_PIC_BUG_CATCHER, gTrainerFrontPic_BugCatcher, gTrainerPalette_BugCatcher), + TRAINER_SPRITE(TRAINER_PIC_POKEMON_RANGER_M, gTrainerFrontPic_PokemonRangerM, gTrainerPalette_PokemonRangerM), + TRAINER_SPRITE(TRAINER_PIC_POKEMON_RANGER_F, gTrainerFrontPic_PokemonRangerF, gTrainerPalette_PokemonRangerF), + TRAINER_SPRITE(TRAINER_PIC_MAGMA_LEADER_MAXIE, gTrainerFrontPic_MagmaLeaderMaxie, gTrainerPalette_MagmaLeaderMaxie), + TRAINER_SPRITE(TRAINER_PIC_LASS, gTrainerFrontPic_Lass, gTrainerPalette_Lass), + TRAINER_SPRITE(TRAINER_PIC_YOUNG_COUPLE, gTrainerFrontPic_YoungCouple, gTrainerPalette_YoungCouple), + TRAINER_SPRITE(TRAINER_PIC_OLD_COUPLE, gTrainerFrontPic_OldCouple, gTrainerPalette_OldCouple), + TRAINER_SPRITE(TRAINER_PIC_SIS_AND_BRO, gTrainerFrontPic_SisAndBro, gTrainerPalette_SisAndBro), + TRAINER_SPRITE(TRAINER_PIC_STEVEN, gTrainerFrontPic_Steven, gTrainerPalette_Steven, 0, 7, 0x188), + TRAINER_SPRITE(TRAINER_PIC_SALON_MAIDEN_ANABEL, gTrainerFrontPic_SalonMaidenAnabel, gTrainerPalette_SalonMaidenAnabel), + TRAINER_SPRITE(TRAINER_PIC_DOME_ACE_TUCKER, gTrainerFrontPic_DomeAceTucker, gTrainerPalette_DomeAceTucker), + TRAINER_SPRITE(TRAINER_PIC_PALACE_MAVEN_SPENSER, gTrainerFrontPic_PalaceMavenSpenser, gTrainerPalette_PalaceMavenSpenser), + TRAINER_SPRITE(TRAINER_PIC_ARENA_TYCOON_GRETA, gTrainerFrontPic_ArenaTycoonGreta, gTrainerPalette_ArenaTycoonGreta), + TRAINER_SPRITE(TRAINER_PIC_FACTORY_HEAD_NOLAND, gTrainerFrontPic_FactoryHeadNoland, gTrainerPalette_FactoryHeadNoland), + TRAINER_SPRITE(TRAINER_PIC_PIKE_QUEEN_LUCY, gTrainerFrontPic_PikeQueenLucy, gTrainerPalette_PikeQueenLucy), + TRAINER_SPRITE(TRAINER_PIC_PYRAMID_KING_BRANDON, gTrainerFrontPic_PyramidKingBrandon, gTrainerPalette_PyramidKingBrandon), + TRAINER_SPRITE(TRAINER_PIC_RED, gTrainerFrontPic_Red, gTrainerPalette_Red), + TRAINER_SPRITE(TRAINER_PIC_LEAF, gTrainerFrontPic_Leaf, gTrainerPalette_Leaf), + TRAINER_SPRITE(TRAINER_PIC_RS_BRENDAN, gTrainerFrontPic_RubySapphireBrendan, gTrainerPalette_RubySapphireBrendan), + TRAINER_SPRITE(TRAINER_PIC_RS_MAY, gTrainerFrontPic_RubySapphireMay, gTrainerPalette_RubySapphireMay), }; static const union AnimCmd sAnimCmd_Hoenn[] = @@ -526,23 +526,23 @@ const struct SpriteFrameImage gTrainerBackPicTable_Steven[] = // .backPic goes functionally unused, since none of these pics are compressed // and the place they would get extracted to gets overwritten later anyway // the casts are so they'll play nice with the strict struct definition -#define TRAINER_BACK_SPRITE(trainerPic, yOffset, sprite, pal, anim) \ - [TRAINER_BACK_PIC_##trainerPic] = \ - { \ - .coordinates = {.size = 8, .y_offset = yOffset}, \ - .backPic = {(const u32 *)gTrainerBackPic_##sprite, TRAINER_PIC_SIZE * ARRAY_COUNT(gTrainerBackPicTable_##sprite), TRAINER_BACK_PIC_##trainerPic}, \ - .palette = {gTrainer##pal, TRAINER_BACK_PIC_##trainerPic}, \ - .animation = sBackAnims_##anim, \ +#define TRAINER_BACK_SPRITE(trainerPic, yOffset, sprite, table, pal, anim) \ + [trainerPic] = \ + { \ + .coordinates = {.size = 8, .y_offset = yOffset}, \ + .backPic = {(const u32 *)sprite, TRAINER_PIC_SIZE * ARRAY_COUNT(table), trainerPic}, \ + .palette = {pal, trainerPic}, \ + .animation = anim, \ } const struct TrainerBacksprite gTrainerBacksprites[] = { - TRAINER_BACK_SPRITE(BRENDAN, 4, Brendan, Palette_Brendan, Hoenn), - TRAINER_BACK_SPRITE(MAY, 4, May, Palette_May, Hoenn), - TRAINER_BACK_SPRITE(RED, 5, Red, BackPicPalette_Red, Kanto), - TRAINER_BACK_SPRITE(LEAF, 5, Leaf, BackPicPalette_Leaf, Kanto), - TRAINER_BACK_SPRITE(RUBY_SAPPHIRE_BRENDAN, 4, RubySapphireBrendan, Palette_RubySapphireBrendan, Hoenn), - TRAINER_BACK_SPRITE(RUBY_SAPPHIRE_MAY, 4, RubySapphireMay, Palette_RubySapphireMay, Hoenn), - TRAINER_BACK_SPRITE(WALLY, 4, Wally, Palette_Wally, Hoenn), - TRAINER_BACK_SPRITE(STEVEN, 4, Steven, Palette_Steven, Hoenn), + TRAINER_BACK_SPRITE(TRAINER_BACK_PIC_BRENDAN, 4, gTrainerBackPic_Brendan, gTrainerBackPicTable_Brendan, gTrainerPalette_Brendan, sBackAnims_Hoenn), + TRAINER_BACK_SPRITE(TRAINER_BACK_PIC_MAY, 4, gTrainerBackPic_May, gTrainerBackPicTable_May, gTrainerPalette_May, sBackAnims_Hoenn), + TRAINER_BACK_SPRITE(TRAINER_BACK_PIC_RED, 5, gTrainerBackPic_Red, gTrainerBackPicTable_Red, gTrainerBackPicPalette_Red, sBackAnims_Kanto), + TRAINER_BACK_SPRITE(TRAINER_BACK_PIC_LEAF, 5, gTrainerBackPic_Leaf, gTrainerBackPicTable_Leaf, gTrainerBackPicPalette_Leaf, sBackAnims_Kanto), + TRAINER_BACK_SPRITE(TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN, 4, gTrainerBackPic_RubySapphireBrendan, gTrainerBackPicTable_RubySapphireBrendan, gTrainerPalette_RubySapphireBrendan, sBackAnims_Hoenn), + TRAINER_BACK_SPRITE(TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY, 4, gTrainerBackPic_RubySapphireMay, gTrainerBackPicTable_RubySapphireMay, gTrainerPalette_RubySapphireMay, sBackAnims_Hoenn), + TRAINER_BACK_SPRITE(TRAINER_BACK_PIC_WALLY, 4, gTrainerBackPic_Wally, gTrainerBackPicTable_Wally, gTrainerPalette_Wally, sBackAnims_Hoenn), + TRAINER_BACK_SPRITE(TRAINER_BACK_PIC_STEVEN, 4, gTrainerBackPic_Steven, gTrainerBackPicTable_Steven, gTrainerPalette_Steven, sBackAnims_Hoenn), }; diff --git a/src/data/heal_locations_pkm_center.h b/src/data/heal_locations_pkm_center.h new file mode 100644 index 000000000000..278f5d68b0a4 --- /dev/null +++ b/src/data/heal_locations_pkm_center.h @@ -0,0 +1,175 @@ +#define DEFAULT_POKEMON_CENTER_COORDS .x = 7, .y = 4 + +static const struct HealLocation sHealLocationsPokemonCenter[HEAL_LOCATION_COUNT - 1] = +{ + [HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F - 1] = + { + .group = MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F), + .map = MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F), + .x = 2, + .y = 7, + }, + [HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F - 1] = + { + .group = MAP_GROUP(LITTLEROOT_TOWN_MAYS_HOUSE_1F), + .map = MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_1F), + .x = 8, + .y = 7, + }, + [HEAL_LOCATION_PETALBURG_CITY - 1] = + { + .group = MAP_GROUP(PETALBURG_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(PETALBURG_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_SLATEPORT_CITY - 1] = + { + .group = MAP_GROUP(SLATEPORT_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(SLATEPORT_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_MAUVILLE_CITY - 1] = + { + .group = MAP_GROUP(MAUVILLE_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(MAUVILLE_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_RUSTBORO_CITY - 1] = + { + .group = MAP_GROUP(RUSTBORO_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(RUSTBORO_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_FORTREE_CITY - 1] = + { + .group = MAP_GROUP(FORTREE_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(FORTREE_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_LILYCOVE_CITY - 1] = + { + .group = MAP_GROUP(LILYCOVE_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(LILYCOVE_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_MOSSDEEP_CITY - 1] = + { + .group = MAP_GROUP(MOSSDEEP_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(MOSSDEEP_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_SOOTOPOLIS_CITY - 1] = + { + .group = MAP_GROUP(SOOTOPOLIS_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(SOOTOPOLIS_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_EVER_GRANDE_CITY - 1] = + { + .group = MAP_GROUP(EVER_GRANDE_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(EVER_GRANDE_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE - 1] = + { + .group = MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F), + .map = MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F), + .x = 2, + .y = 7, + }, + [HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE - 1] = + { + .group = MAP_GROUP(LITTLEROOT_TOWN_MAYS_HOUSE_1F), + .map = MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_1F), + .x = 8, + .y = 7, + }, + [HEAL_LOCATION_OLDALE_TOWN - 1] = + { + .group = MAP_GROUP(OLDALE_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(OLDALE_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_DEWFORD_TOWN - 1] = + { + .group = MAP_GROUP(DEWFORD_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(DEWFORD_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_LAVARIDGE_TOWN - 1] = + { + .group = MAP_GROUP(LAVARIDGE_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(LAVARIDGE_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_FALLARBOR_TOWN - 1] = + { + .group = MAP_GROUP(FALLARBOR_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(FALLARBOR_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_VERDANTURF_TOWN - 1] = + { + .group = MAP_GROUP(VERDANTURF_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(VERDANTURF_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_PACIFIDLOG_TOWN - 1] = + { + .group = MAP_GROUP(PACIFIDLOG_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(PACIFIDLOG_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_EVER_GRANDE_CITY_POKEMON_LEAGUE - 1] = + { + .group = MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), + .map = MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), + .x = 3, + .y = 4, + }, + [HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR - 1] = + { + .group = MAP_GROUP(SOUTHERN_ISLAND_EXTERIOR), + .map = MAP_NUM(SOUTHERN_ISLAND_EXTERIOR), + .x = 15, + .y = 20, + }, + [HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST - 1] = + { + .group = MAP_GROUP(BATTLE_FRONTIER_POKEMON_CENTER_1F), + .map = MAP_NUM(BATTLE_FRONTIER_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, +}; + +#undef DEFAULT_POKEMON_CENTER_COORDS + +// localIds can be found in the generated events.inc file for the specific heal location map +// e.g. for OldaleTown_PokemonCenter1F/events.inc the following entry gets generated: +// object_event 1, OBJ_EVENT_GFX_NURSE, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, TRAINER_TYPE_NONE, 0, OldaleTown_PokemonCenter_1F_EventScript_Nurse, 0 +// In this case the localId is 1. +static const u8 sHealNpcLocalId[HEAL_LOCATION_COUNT - 1] = +{ + [HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F - 1] = 1, + [HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F - 1] = 1, + [HEAL_LOCATION_PETALBURG_CITY - 1] = 1, + [HEAL_LOCATION_SLATEPORT_CITY - 1] = 1, + [HEAL_LOCATION_MAUVILLE_CITY - 1] = 1, + [HEAL_LOCATION_RUSTBORO_CITY - 1] = 1, + [HEAL_LOCATION_FORTREE_CITY - 1] = 1, + [HEAL_LOCATION_LILYCOVE_CITY - 1] = 1, + [HEAL_LOCATION_MOSSDEEP_CITY - 1] = 1, + [HEAL_LOCATION_SOOTOPOLIS_CITY - 1] = 1, + [HEAL_LOCATION_EVER_GRANDE_CITY - 1] = 1, + [HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE - 1] = 1, + [HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE - 1] = 1, + [HEAL_LOCATION_OLDALE_TOWN - 1] = 1, + [HEAL_LOCATION_DEWFORD_TOWN - 1] = 1, + [HEAL_LOCATION_LAVARIDGE_TOWN - 1] = 1, + [HEAL_LOCATION_FALLARBOR_TOWN - 1] = 1, + [HEAL_LOCATION_VERDANTURF_TOWN - 1] = 1, + [HEAL_LOCATION_PACIFIDLOG_TOWN - 1] = 1, + [HEAL_LOCATION_EVER_GRANDE_CITY_POKEMON_LEAGUE - 1] = 1, + [HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR - 1] = 0, // no heal npc + [HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST - 1] = 1, +}; diff --git a/src/data/items.h b/src/data/items.h index bffe48d7256c..2b560ad9d5fd 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -1,9 +1,3 @@ -#if I_EXPANDED_ITEM_NAMES == TRUE -#define HANDLE_EXPANDED_ITEM_NAME(_name, ...) _(DEFAULT(_name, __VA_ARGS__)) -#else -#define HANDLE_EXPANDED_ITEM_NAME(_name, ...) _(_name) -#endif - #if I_USE_EVO_HELD_ITEMS_FROM_BAG == TRUE #define EVO_HELD_ITEM_TYPE ITEM_USE_PARTY_MENU #define EVO_HELD_ITEM_FIELD_FUNC ItemUseOutOfBattle_EvolutionStone @@ -160,6 +154,22 @@ const struct Item gItemsInfo[] = // Poké Balls + [ITEM_STRANGE_BALL] = + { + .name = _("Strange Ball"), + .price = 0, + .description = COMPOUND_STRING( + "An unusual Ball\n" + "warped through\n" + "space and time."), + .pocket = POCKET_POKE_BALLS, + .type = ITEM_USE_BAG_MENU, + .battleUsage = EFFECT_ITEM_THROW_BALL, + .secondaryId = BALL_STRANGE, + .iconPic = gItemIcon_StrangeBall, + .iconPalette = gItemIconPalette_StrangeBall, + }, + [ITEM_POKE_BALL] = { .name = _("Poké Ball"), @@ -171,7 +181,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_POKE_BALL - FIRST_BALL, + .secondaryId = BALL_POKE, .iconPic = gItemIcon_PokeBall, .iconPalette = gItemIconPalette_PokeBall, }, @@ -187,7 +197,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_GREAT_BALL - FIRST_BALL, + .secondaryId = BALL_GREAT, .iconPic = gItemIcon_GreatBall, .iconPalette = gItemIconPalette_GreatBall, }, @@ -203,7 +213,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_ULTRA_BALL - FIRST_BALL, + .secondaryId = BALL_ULTRA, .iconPic = gItemIcon_UltraBall, .iconPalette = gItemIconPalette_UltraBall, }, @@ -219,7 +229,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_MASTER_BALL - FIRST_BALL, + .secondaryId = BALL_MASTER, .iconPic = gItemIcon_MasterBall, .iconPalette = gItemIconPalette_MasterBall, }, @@ -235,7 +245,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_PREMIER_BALL - FIRST_BALL, + .secondaryId = BALL_PREMIER, .iconPic = gItemIcon_PremierBall, .iconPalette = gItemIconPalette_LuxuryBall, }, @@ -251,7 +261,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_HEAL_BALL - FIRST_BALL, + .secondaryId = BALL_HEAL, .iconPic = gItemIcon_HealBall, .iconPalette = gItemIconPalette_HealBall, }, @@ -267,7 +277,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_NET_BALL - FIRST_BALL, + .secondaryId = BALL_NET, .iconPic = gItemIcon_NetBall, .iconPalette = gItemIconPalette_NetBall, }, @@ -283,7 +293,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_NEST_BALL - FIRST_BALL, + .secondaryId = BALL_NEST, .iconPic = gItemIcon_NestBall, .iconPalette = gItemIconPalette_NestBall, }, @@ -299,7 +309,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_DIVE_BALL - FIRST_BALL, + .secondaryId = BALL_DIVE, .iconPic = gItemIcon_DiveBall, .iconPalette = gItemIconPalette_DiveBall, }, @@ -315,7 +325,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_DUSK_BALL - FIRST_BALL, + .secondaryId = BALL_DUSK, .iconPic = gItemIcon_DuskBall, .iconPalette = gItemIconPalette_DuskBall, }, @@ -331,7 +341,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_TIMER_BALL - FIRST_BALL, + .secondaryId = BALL_TIMER, .iconPic = gItemIcon_TimerBall, .iconPalette = gItemIconPalette_RepeatBall, }, @@ -347,7 +357,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_QUICK_BALL - FIRST_BALL, + .secondaryId = BALL_QUICK, .iconPic = gItemIcon_QuickBall, .iconPalette = gItemIconPalette_QuickBall, }, @@ -363,7 +373,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_REPEAT_BALL - FIRST_BALL, + .secondaryId = BALL_REPEAT, .iconPic = gItemIcon_RepeatBall, .iconPalette = gItemIconPalette_RepeatBall, }, @@ -379,7 +389,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_LUXURY_BALL - FIRST_BALL, + .secondaryId = BALL_LUXURY, .iconPic = gItemIcon_LuxuryBall, .iconPalette = gItemIconPalette_LuxuryBall, }, @@ -395,7 +405,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_LEVEL_BALL - FIRST_BALL, + .secondaryId = BALL_LEVEL, .iconPic = gItemIcon_LevelBall, .iconPalette = gItemIconPalette_LevelBall, }, @@ -411,7 +421,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_LURE_BALL - FIRST_BALL, + .secondaryId = BALL_LURE, .iconPic = gItemIcon_LureBall, .iconPalette = gItemIconPalette_LureBall, }, @@ -427,7 +437,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_MOON_BALL - FIRST_BALL, + .secondaryId = BALL_MOON, .iconPic = gItemIcon_MoonBall, .iconPalette = gItemIconPalette_MoonBall, }, @@ -443,7 +453,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_FRIEND_BALL - FIRST_BALL, + .secondaryId = BALL_FRIEND, .iconPic = gItemIcon_FriendBall, .iconPalette = gItemIconPalette_FriendBall, }, @@ -459,7 +469,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_LOVE_BALL - FIRST_BALL, + .secondaryId = BALL_LOVE, .iconPic = gItemIcon_LoveBall, .iconPalette = gItemIconPalette_LoveBall, }, @@ -475,7 +485,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_FAST_BALL - FIRST_BALL, + .secondaryId = BALL_FAST, .iconPic = gItemIcon_FastBall, .iconPalette = gItemIconPalette_FastBall, }, @@ -491,7 +501,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_HEAVY_BALL - FIRST_BALL, + .secondaryId = BALL_HEAVY, .iconPic = gItemIcon_HeavyBall, .iconPalette = gItemIconPalette_HeavyBall, }, @@ -512,7 +522,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_DREAM_BALL - FIRST_BALL, + .secondaryId = BALL_DREAM, .iconPic = gItemIcon_DreamBall, .iconPalette = gItemIconPalette_DreamBall, }, @@ -528,7 +538,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_SAFARI_BALL - FIRST_BALL, + .secondaryId = BALL_SAFARI, .iconPic = gItemIcon_SafariBall, .iconPalette = gItemIconPalette_SafariBall, }, @@ -544,7 +554,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_SPORT_BALL - FIRST_BALL, + .secondaryId = BALL_SPORT, .iconPic = gItemIcon_SportBall, .iconPalette = gItemIconPalette_SportBall, }, @@ -559,7 +569,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_PARK_BALL - FIRST_BALL, + .secondaryId = BALL_PARK, .iconPic = gItemIcon_ParkBall, .iconPalette = gItemIconPalette_ParkBall, }, @@ -574,7 +584,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_BEAST_BALL - FIRST_BALL, + .secondaryId = BALL_BEAST, .iconPic = gItemIcon_BeastBall, .iconPalette = gItemIconPalette_BeastBall, }, @@ -590,7 +600,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_POKE_BALLS, .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, - .secondaryId = ITEM_CHERISH_BALL - FIRST_BALL, + .secondaryId = BALL_CHERISH, .iconPic = gItemIcon_CherishBall, .iconPalette = gItemIconPalette_CherishBall, }, @@ -1159,8 +1169,8 @@ const struct Item gItemsInfo[] = [ITEM_PEWTER_CRUNCHIES] = { - .name = HANDLE_EXPANDED_ITEM_NAME("PewtrCrnches", "Pewter Crunchies"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("PewtrCrnches", "Pewter Crunchies"), + .name = _("Pewter Crunchies"), + .pluralName = _("Pewter Crunchies"), .price = 250, .description = sFullHealDesc, .pocket = POCKET_ITEMS, @@ -1175,7 +1185,7 @@ const struct Item gItemsInfo[] = [ITEM_RAGE_CANDY_BAR] = { - .name = HANDLE_EXPANDED_ITEM_NAME("RageCandyBar", "Rage Candy Bar"), + .name = _("Rage Candy Bar"), .price = (I_PRICE >= GEN_7) ? 350 : 300, .description = sFullHealDesc, .pocket = POCKET_ITEMS, @@ -1239,7 +1249,7 @@ const struct Item gItemsInfo[] = [ITEM_LUMIOSE_GALETTE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("LumioseGlete", "Lumiose Galette"), + .name = _("Lumiose Galette"), .price = (I_PRICE >= GEN_7) ? 350 : 200, .description = sFullHealDesc, .pocket = POCKET_ITEMS, @@ -1254,7 +1264,7 @@ const struct Item gItemsInfo[] = [ITEM_SHALOUR_SABLE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("ShalourSable", "Shalour Sable"), + .name = _("Shalour Sable"), .price = (I_PRICE >= GEN_7) ? 350 : 200, .description = sFullHealDesc, .pocket = POCKET_ITEMS, @@ -1425,7 +1435,7 @@ const struct Item gItemsInfo[] = [ITEM_HEALTH_FEATHER] = { - .name = HANDLE_EXPANDED_ITEM_NAME("HealthFeather", "Health Feather"), + .name = _("Health Feather"), .price = (I_PRICE >= GEN_7) ? 300 : 3000, .description = sHealthFeatherDesc, .pocket = POCKET_ITEMS, @@ -1439,7 +1449,7 @@ const struct Item gItemsInfo[] = [ITEM_MUSCLE_FEATHER] = { - .name = HANDLE_EXPANDED_ITEM_NAME("MuscleFeather", "Muscle Feather"), + .name = _("Muscle Feather"), .price = (I_PRICE >= GEN_7) ? 300 : 3000, .description = sMuscleFeatherDesc, .pocket = POCKET_ITEMS, @@ -1453,7 +1463,7 @@ const struct Item gItemsInfo[] = [ITEM_RESIST_FEATHER] = { - .name = HANDLE_EXPANDED_ITEM_NAME("ResistFeather", "Resist Feather"), + .name = _("Resist Feather"), .price = (I_PRICE >= GEN_7) ? 300 : 3000, .description = sResistFeatherDesc, .pocket = POCKET_ITEMS, @@ -1467,7 +1477,7 @@ const struct Item gItemsInfo[] = [ITEM_GENIUS_FEATHER] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GeniusFeather", "Genius Feather"), + .name = _("Genius Feather"), .price = (I_PRICE >= GEN_7) ? 300 : 3000, .description = sGeniusFeatherDesc, .pocket = POCKET_ITEMS, @@ -1481,7 +1491,7 @@ const struct Item gItemsInfo[] = [ITEM_CLEVER_FEATHER] = { - .name = HANDLE_EXPANDED_ITEM_NAME("CleverFeather", "Clever Feather"), + .name = _("Clever Feather"), .price = (I_PRICE >= GEN_7) ? 300 : 3000, .description = sCleverFeatherDesc, .pocket = POCKET_ITEMS, @@ -1495,7 +1505,7 @@ const struct Item gItemsInfo[] = [ITEM_SWIFT_FEATHER] = { - .name = HANDLE_EXPANDED_ITEM_NAME("SwiftFeather", "Swift Feather"), + .name = _("Swift Feather"), .price = (I_PRICE >= GEN_7) ? 300 : 3000, .description = sSwiftFeatherDesc, .pocket = POCKET_ITEMS, @@ -1511,7 +1521,7 @@ const struct Item gItemsInfo[] = [ITEM_ABILITY_CAPSULE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("AbilityCapsle", "Ability Capsule"), + .name = _("Ability Capsule"), .price = (I_PRICE < GEN_7) ? 1000 : ((I_PRICE < GEN_9) ? 10000 : 100000), .holdEffectParam = 0, .description = COMPOUND_STRING( @@ -1526,8 +1536,8 @@ const struct Item gItemsInfo[] = [ITEM_ABILITY_PATCH] = { - .name = HANDLE_EXPANDED_ITEM_NAME("AbilityPatch", "Ability Patch"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("AbilityPatches", "Ability Patches"), + .name = _("Ability Patch"), + .pluralName = _("Ability Patches"), .price = (I_PRICE >= GEN_9) ? 250000 : 20, .holdEffectParam = 0, .description = COMPOUND_STRING( @@ -1922,8 +1932,8 @@ const struct Item gItemsInfo[] = [ITEM_EXP_CANDY_XS] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Exp.Candy XS", "Exp. Candy XS"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("Exp.Candies XS", "Exp. Candies XS"), + .name = _("Exp. Candy XS"), + .pluralName = _("Exp. Candies XS"), .price = 20, .holdEffectParam = EXP_100, .description = COMPOUND_STRING( @@ -1941,8 +1951,8 @@ const struct Item gItemsInfo[] = [ITEM_EXP_CANDY_S] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Exp.Candy S", "Exp. Candy S"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("Exp.Candies S", "Exp. Candies S"), + .name = _("Exp. Candy S"), + .pluralName = _("Exp. Candies S"), .price = 240, .holdEffectParam = EXP_800, .description = COMPOUND_STRING( @@ -1960,8 +1970,8 @@ const struct Item gItemsInfo[] = [ITEM_EXP_CANDY_M] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Exp.Candy M", "Exp. Candy M"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("Exp.Candies M", "Exp. Candies M"), + .name = _("Exp. Candy M"), + .pluralName = _("Exp. Candies M"), .price = 1000, .holdEffectParam = EXP_3000, .description = COMPOUND_STRING( @@ -1979,8 +1989,8 @@ const struct Item gItemsInfo[] = [ITEM_EXP_CANDY_L] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Exp.Candy L", "Exp. Candy L"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("Exp.Candies L", "Exp. Candies L"), + .name = _("Exp. Candy L"), + .pluralName = _("Exp. Candies L"), .price = 3000, .holdEffectParam = EXP_10000, .description = COMPOUND_STRING( @@ -1998,8 +2008,8 @@ const struct Item gItemsInfo[] = [ITEM_EXP_CANDY_XL] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Exp.Candy XL", "Exp. Candy XL"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("Exp.Candies XL", "Exp. Candies XL"), + .name = _("Exp. Candy XL"), + .pluralName = _("Exp. Candies XL"), .price = 10000, .holdEffectParam = EXP_30000, .description = COMPOUND_STRING( @@ -2017,8 +2027,8 @@ const struct Item gItemsInfo[] = [ITEM_DYNAMAX_CANDY] = { - .name = HANDLE_EXPANDED_ITEM_NAME("DynamaxCandy", "Dynamax Candy"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("DynamaxCandies", "Dynamax Candies"), + .name = _("Dynamax Candy"), + .pluralName = _("Dynamax Candies"), .price = 0, .description = COMPOUND_STRING( "Raises the Dynamax\n" @@ -2042,6 +2052,7 @@ const struct Item gItemsInfo[] = "A glass flute that\n" "awakens sleeping\n" "Pokémon."), + .notConsumed = TRUE, .pocket = POCKET_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2060,6 +2071,7 @@ const struct Item gItemsInfo[] = "A glass flute that\n" "snaps Pokémon\n" "out of confusion."), + .notConsumed = TRUE, .pocket = POCKET_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2078,6 +2090,7 @@ const struct Item gItemsInfo[] = "A glass flute that\n" "snaps Pokémon\n" "out of attraction."), + .notConsumed = TRUE, .pocket = POCKET_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2099,6 +2112,7 @@ const struct Item gItemsInfo[] = "A glass flute that\n" "keeps away wild\n" "Pokémon."), + .notConsumed = TRUE, .pocket = POCKET_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, @@ -2115,6 +2129,7 @@ const struct Item gItemsInfo[] = .description = COMPOUND_STRING( "A glass flute that\n" "lures wild Pokémon."), + .notConsumed = TRUE, .pocket = POCKET_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, @@ -2486,8 +2501,8 @@ const struct Item gItemsInfo[] = [ITEM_MAX_MUSHROOMS] = { - .name = HANDLE_EXPANDED_ITEM_NAME("MaxMushrooms", "Max Mushrooms"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("MaxMushrooms", "Max Mushrooms"), + .name = _("Max Mushrooms"), + .pluralName = _("Max Mushrooms"), .price = 8000, .description = COMPOUND_STRING( "Raises every stat\n" @@ -2522,7 +2537,7 @@ const struct Item gItemsInfo[] = [ITEM_GOLD_BOTTLE_CAP] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GoldBottlCap", "Gold Bottle Cap"), + .name = _("Gold Bottle Cap"), .price = (I_PRICE >= GEN_9) ? 60000 : 10000, .description = COMPOUND_STRING( "A beautiful bottle\n" @@ -2859,7 +2874,7 @@ const struct Item gItemsInfo[] = [ITEM_PRETTY_FEATHER] = { - .name = HANDLE_EXPANDED_ITEM_NAME("PrettyFeather", "Pretty Feather"), + .name = _("Pretty Feather"), .price = (I_PRICE >= GEN_7) ? 1000 * TREASURE_FACTOR: 200, .description = COMPOUND_STRING( "A beautiful yet\n" @@ -2987,7 +3002,7 @@ const struct Item gItemsInfo[] = [ITEM_STRANGE_SOUVENIR] = { - .name = HANDLE_EXPANDED_ITEM_NAME("StrngeSouvnr", "Strange Souvenir"), + .name = _("Strange Souvenir"), .price = (I_PRICE >= GEN_7) ? 3000 : 10, .description = COMPOUND_STRING( "An ornament that\n" @@ -3205,7 +3220,7 @@ const struct Item gItemsInfo[] = [ITEM_FOSSILIZED_BIRD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FosslzedBird", "Fossilized Bird"), + .name = _("Fossilized Bird"), .price = 5000, .description = COMPOUND_STRING( "A fossil of an\n" @@ -3221,8 +3236,8 @@ const struct Item gItemsInfo[] = [ITEM_FOSSILIZED_FISH] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FosslzedFish", "Fossilized Fish"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("FosslzedFishes", "Fossilized Fishes"), + .name = _("Fossilized Fish"), + .pluralName = _("Fossilized Fishes"), .price = 5000, .description = sFossilizedFishDesc, .pocket = POCKET_ITEMS, @@ -3235,7 +3250,7 @@ const struct Item gItemsInfo[] = [ITEM_FOSSILIZED_DRAKE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FosslzedDrke", "Fossilized Drake"), + .name = _("Fossilized Drake"), .price = 5000, .description = COMPOUND_STRING( "A fossil of an\n" @@ -3251,7 +3266,7 @@ const struct Item gItemsInfo[] = [ITEM_FOSSILIZED_DINO] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FosslzedDino", "Fossilized Dino"), + .name = _("Fossilized Dino"), .price = 5000, .description = sFossilizedFishDesc, .pocket = POCKET_ITEMS, @@ -3376,8 +3391,8 @@ const struct Item gItemsInfo[] = [ITEM_SURPRISE_MULCH] = { - .name = HANDLE_EXPANDED_ITEM_NAME("SurprseMulch", "Surprise Mulch"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("SurprseMulch", "Surprise Mulch"), + .name = _("Surprise Mulch"), + .pluralName = _("Surprise Mulch"), .price = 200, #if OW_BERRY_MULCH_USAGE == TRUE .description = COMPOUND_STRING( @@ -3474,7 +3489,7 @@ const struct Item gItemsInfo[] = [ITEM_YELLOW_APRICORN] = { - .name = HANDLE_EXPANDED_ITEM_NAME("YellwApricorn", "Yellow Apricorn"), + .name = _("Yellow Apricorn"), .price = (I_PRICE == GEN_4) ? 0 : ((I_PRICE >= GEN_5 && I_PRICE <= GEN_7) ? 20 : 200), .description = COMPOUND_STRING( "A yellow apricorn.\n" @@ -3489,7 +3504,7 @@ const struct Item gItemsInfo[] = [ITEM_GREEN_APRICORN] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GreenApricorn", "Green Apricorn"), + .name = _("Green Apricorn"), .price = (I_PRICE == GEN_4) ? 0 : ((I_PRICE >= GEN_5 && I_PRICE <= GEN_7) ? 20 : 200), .description = COMPOUND_STRING( "A green apricorn.\n" @@ -3519,7 +3534,7 @@ const struct Item gItemsInfo[] = [ITEM_WHITE_APRICORN] = { - .name = HANDLE_EXPANDED_ITEM_NAME("WhiteApricorn", "White Apricorn"), + .name = _("White Apricorn"), .price = (I_PRICE == GEN_4) ? 0 : ((I_PRICE >= GEN_5 && I_PRICE <= GEN_7) ? 20 : 200), .description = COMPOUND_STRING( "A white apricorn.\n" @@ -3534,7 +3549,7 @@ const struct Item gItemsInfo[] = [ITEM_BLACK_APRICORN] = { - .name = HANDLE_EXPANDED_ITEM_NAME("BlackApricorn", "Black Apricorn"), + .name = _("Black Apricorn"), .price = (I_PRICE == GEN_4) ? 0 : ((I_PRICE >= GEN_5 && I_PRICE <= GEN_7) ? 20 : 200), .description = COMPOUND_STRING( "A black apricorn.\n" @@ -3549,7 +3564,7 @@ const struct Item gItemsInfo[] = [ITEM_WISHING_PIECE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("WishingPiece", "Wishing Piece"), + .name = _("Wishing Piece"), .price = 20, .description = COMPOUND_STRING( "Throw into a\n" @@ -3565,7 +3580,7 @@ const struct Item gItemsInfo[] = [ITEM_GALARICA_TWIG] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GalaricaTwig", "Galarica Twig"), + .name = _("Galarica Twig"), .price = 20 * TREASURE_FACTOR, .description = COMPOUND_STRING( "A twig from a tree\n" @@ -4025,7 +4040,7 @@ const struct Item gItemsInfo[] = [ITEM_GALARICA_CUFF] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GalaricaCuff", "Galarica Cuff"), + .name = _("Galarica Cuff"), .price = (I_PRICE >= GEN_9) ? 3000 : 6000, .description = COMPOUND_STRING( "A cuff from Galar\n" @@ -4042,8 +4057,8 @@ const struct Item gItemsInfo[] = [ITEM_GALARICA_WREATH] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GalrcaWreath", "Galarica Wreath"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("GalrcaWreathes", "Galarica Wreathes"), + .name = _("Galarica Wreath"), + .pluralName = _("Galarica Wreathes"), .price = (I_PRICE >= GEN_9) ? 3000 : 6000, .description = COMPOUND_STRING( "A wreath made in\n" @@ -4251,7 +4266,7 @@ const struct Item gItemsInfo[] = [ITEM_STRAWBERRY_SWEET] = { - .name = HANDLE_EXPANDED_ITEM_NAME("StrwbrySweet", "Strawberry Sweet"), + .name = _("Strawberry Sweet"), .price = 500 * TREASURE_FACTOR, .description = COMPOUND_STRING( "Strawberry-shaped\n" @@ -4879,8 +4894,8 @@ const struct Item gItemsInfo[] = [ITEM_ELECTRIC_MEMORY] = { - .name = HANDLE_EXPANDED_ITEM_NAME("ElectrcMemory", "Electric Memory"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("ElectrcMemories", "Electric Memories"), + .name = _("Electric Memory"), + .pluralName = _("Electric Memories"), .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -4939,8 +4954,8 @@ const struct Item gItemsInfo[] = [ITEM_FIGHTING_MEMORY] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FightngMemory", "Fighting Memory"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("FightngMemories", "Fighting Memories"), + .name = _("Fighting Memory"), + .pluralName = _("Fighting Memories"), .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -5019,8 +5034,8 @@ const struct Item gItemsInfo[] = [ITEM_PSYCHIC_MEMORY] = { - .name = HANDLE_EXPANDED_ITEM_NAME("PsychicMemory", "Psychic Memory"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("PsychicMemories", "Psychic Memories"), + .name = _("Psychic Memory"), + .pluralName = _("Psychic Memories"), .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -5179,7 +5194,7 @@ const struct Item gItemsInfo[] = [ITEM_RUSTED_SWORD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("RustedSword", "Rusted Sword"), + .name = _("Rusted Sword"), .price = 0, .description = COMPOUND_STRING( "A rusty sword. A\n" @@ -5194,7 +5209,7 @@ const struct Item gItemsInfo[] = [ITEM_RUSTED_SHIELD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("RustedShield", "Rusted Shield"), + .name = _("Rusted Shield"), .price = 0, .description = COMPOUND_STRING( "A rusty shield. A\n" @@ -5262,7 +5277,7 @@ const struct Item gItemsInfo[] = [ITEM_CHARIZARDITE_X] = { - .name = HANDLE_EXPANDED_ITEM_NAME("CharizarditeX", "Charizardite X"), + .name = _("Charizardite X"), .pluralName = _("Charizardites X"), .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, @@ -5277,7 +5292,7 @@ const struct Item gItemsInfo[] = [ITEM_CHARIZARDITE_Y] = { - .name = HANDLE_EXPANDED_ITEM_NAME("CharizarditeY", "Charizardite Y"), + .name = _("Charizardite Y"), .pluralName = _("Charizardites Y"), .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, @@ -6942,7 +6957,7 @@ const struct Item gItemsInfo[] = [ITEM_ULTRANECROZIUM_Z] = { - .name = HANDLE_EXPANDED_ITEM_NAME("U-Necrozium Z", "Ultranecrozium Z"), + .name = _("Ultranecrozium Z"), .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = COMPOUND_STRING( @@ -7066,7 +7081,7 @@ const struct Item gItemsInfo[] = [ITEM_DEEP_SEA_SCALE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("DeepSeaScale", "Deep Sea Scale"), + .name = _("Deep Sea Scale"), .price = (I_PRICE >= GEN_7) ? 2000 : 200, .holdEffect = HOLD_EFFECT_DEEP_SEA_SCALE, .description = COMPOUND_STRING( @@ -7084,7 +7099,7 @@ const struct Item gItemsInfo[] = [ITEM_DEEP_SEA_TOOTH] = { - .name = HANDLE_EXPANDED_ITEM_NAME("DeepSeaTooth", "Deep Sea Tooth"), + .name = _("Deep Sea Tooth"), .pluralName = _("Deep Sea Teeth"), .price = (I_PRICE >= GEN_7) ? 2000 : 200, .holdEffect = HOLD_EFFECT_DEEP_SEA_TOOTH, @@ -7631,8 +7646,8 @@ const struct Item gItemsInfo[] = [ITEM_NEVER_MELT_ICE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Never-MeltIce", "Never-Melt Ice"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("Never-MeltIce", "Never-Melt Ice"), + .name = _("Never-Melt Ice"), + .pluralName = _("Never-Melt Ice"), .price = (I_PRICE >= GEN_9) ? 3000 : ((I_PRICE >= GEN_7) ? 1000 : 100), .holdEffect = HOLD_EFFECT_ICE_POWER, .holdEffectParam = TYPE_BOOST_PARAM, @@ -8921,8 +8936,8 @@ const struct Item gItemsInfo[] = [ITEM_WEAKNESS_POLICY] = { - .name = HANDLE_EXPANDED_ITEM_NAME("WeaknssPolicy", "Weakness Policy"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("WeaknssPolicies", "Weakness Policies"), + .name = _("Weakness Policy"), + .pluralName = _("Weakness Policies"), .price = (I_PRICE >= GEN_9) ? 50000 : 1000, .holdEffect = HOLD_EFFECT_WEAKNESS_POLICY, .holdEffectParam = 0, @@ -8958,8 +8973,8 @@ const struct Item gItemsInfo[] = [ITEM_SAFETY_GOGGLES] = { - .name = HANDLE_EXPANDED_ITEM_NAME("SafetyGoggles", "Safety Goggles"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("SafetyGoggles", "Safety Goggles"), + .name = _("Safety Goggles"), + .pluralName = _("Safety Goggles"), .price = (I_PRICE >= GEN_9) ? 20000 : ((I_PRICE >= GEN_7) ? 4000 : 1000), .holdEffect = HOLD_EFFECT_SAFETY_GOGGLES, .description = COMPOUND_STRING( @@ -8976,7 +8991,7 @@ const struct Item gItemsInfo[] = [ITEM_ADRENALINE_ORB] = { - .name = HANDLE_EXPANDED_ITEM_NAME("AdrenalineOrb", "Adrenaline Orb"), + .name = _("Adrenaline Orb"), .price = (I_PRICE >= GEN_9) ? 5000 : ((I_PRICE >= GEN_8) ? 4000 : 300), .holdEffect = HOLD_EFFECT_ADRENALINE_ORB, .description = COMPOUND_STRING( @@ -8993,7 +9008,7 @@ const struct Item gItemsInfo[] = [ITEM_TERRAIN_EXTENDER] = { - .name = HANDLE_EXPANDED_ITEM_NAME("TerainExtendr", "Terrain Extender"), + .name = _("Terrain Extender"), .price = (I_PRICE >= GEN_9) ? 15000 : 4000, .holdEffect = HOLD_EFFECT_TERRAIN_EXTENDER, .description = COMPOUND_STRING( @@ -9010,8 +9025,8 @@ const struct Item gItemsInfo[] = [ITEM_PROTECTIVE_PADS] = { - .name = HANDLE_EXPANDED_ITEM_NAME("ProtectvePads", "Protective Pads"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("ProtectvePads", "Protective Pads"), + .name = _("Protective Pads"), + .pluralName = _("Protective Pads"), .price = (I_PRICE >= GEN_9) ? 15000 : 4000, .holdEffect = HOLD_EFFECT_PROTECTIVE_PADS, .description = COMPOUND_STRING( @@ -9062,8 +9077,8 @@ const struct Item gItemsInfo[] = [ITEM_HEAVY_DUTY_BOOTS] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Heavy-DtyBts", "Heavy-Duty Boots"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("Heavy-DtyBts", "Heavy-Duty Boots"), + .name = _("Heavy-Duty Boots"), + .pluralName = _("Heavy-Duty Boots"), .price = (I_PRICE >= GEN_9) ? 20000 : 4000, .holdEffect = HOLD_EFFECT_HEAVY_DUTY_BOOTS, .description = COMPOUND_STRING( @@ -9080,8 +9095,8 @@ const struct Item gItemsInfo[] = [ITEM_BLUNDER_POLICY] = { - .name = HANDLE_EXPANDED_ITEM_NAME("BlundrPolicy", "Blunder Policy"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("BlundrPolicies", "Blunder Policies"), + .name = _("Blunder Policy"), + .pluralName = _("Blunder Policies"), .price = (I_PRICE >= GEN_9) ? 30000 : 4000, .holdEffect = HOLD_EFFECT_BLUNDER_POLICY, .description = COMPOUND_STRING( @@ -9115,7 +9130,7 @@ const struct Item gItemsInfo[] = [ITEM_UTILITY_UMBRELLA] = { - .name = HANDLE_EXPANDED_ITEM_NAME("UtltyUmbrlla", "Utility Umbrella"), + .name = _("Utility Umbrella"), .price = (I_PRICE >= GEN_9) ? 15000 : 4000, .holdEffect = HOLD_EFFECT_UTILITY_UMBRELLA, .description = COMPOUND_STRING( @@ -11910,7 +11925,7 @@ const struct Item gItemsInfo[] = [ITEM_CATCHING_CHARM] = { - .name = HANDLE_EXPANDED_ITEM_NAME("CatchngCharm", "Catching Charm"), + .name = _("Catching Charm"), .price = 0, .importance = 1, .description = COMPOUND_STRING( @@ -11944,7 +11959,7 @@ const struct Item gItemsInfo[] = [ITEM_ROTOM_CATALOG] = { - .name = HANDLE_EXPANDED_ITEM_NAME("RotomCatalog", "Rotom Catalog"), + .name = _("Rotom Catalog"), .price = 0, .importance = 1, .description = COMPOUND_STRING( @@ -12074,8 +12089,8 @@ const struct Item gItemsInfo[] = [ITEM_REINS_OF_UNITY] = { - .name = HANDLE_EXPANDED_ITEM_NAME("ReinsOfUnity", "Reins of Unity"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("ReinsOfUnity", "Reins of Unity"), + .name = _("Reins of Unity"), + .pluralName = _("Reins of Unity"), .price = 0, .importance = 1, .description = COMPOUND_STRING( @@ -12243,7 +12258,7 @@ const struct Item gItemsInfo[] = [ITEM_DOWSING_MACHINE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Dowsing MCHN", "Dowsing Machine"), + .name = _("Dowsing Machine"), .price = 0, .description = COMPOUND_STRING( "A device that\n" @@ -12268,7 +12283,7 @@ const struct Item gItemsInfo[] = .importance = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, - .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .fieldUseFunc = ItemUseOutOfBattle_TownMap, .iconPic = gItemIcon_TownMap, .iconPalette = gItemIconPalette_TownMap, }, @@ -12448,7 +12463,8 @@ const struct Item gItemsInfo[] = .importance = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, - .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .fieldUseFunc = ItemUseOutOfBattle_PokeFlute, + .battleUsage = EFFECT_ITEM_USE_POKE_FLUTE, .iconPic = gItemIcon_PokeFlute, .iconPalette = gItemIconPalette_PokeFlute, }, @@ -12985,7 +13001,7 @@ const struct Item gItemsInfo[] = [ITEM_ABILITY_SHIELD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("AbilityShield", "Ability Shield"), + .name = _("Ability Shield"), .price = 20000, .holdEffect = HOLD_EFFECT_ABILITY_SHIELD, .description = COMPOUND_STRING( @@ -13021,7 +13037,7 @@ const struct Item gItemsInfo[] = [ITEM_PUNCHING_GLOVE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("PunchingGlove", "Punching Glove"), + .name = _("Punching Glove"), .price = 15000, .holdEffect = HOLD_EFFECT_PUNCHING_GLOVE, .description = COMPOUND_STRING( @@ -13073,7 +13089,7 @@ const struct Item gItemsInfo[] = [ITEM_AUSPICIOUS_ARMOR] = { - .name = HANDLE_EXPANDED_ITEM_NAME("AuspciousArmr", "Auspicious Armor"), + .name = _("Auspicious Armor"), .price = 3000, .description = COMPOUND_STRING( "Armor inhabited by\n" @@ -13090,8 +13106,8 @@ const struct Item gItemsInfo[] = [ITEM_BOOSTER_ENERGY] = { - .name = HANDLE_EXPANDED_ITEM_NAME("BoosterEnergy", "Booster Energy"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("BoosterEnergies", "Booster Energies"), + .name = _("Booster Energy"), + .pluralName = _("Booster Energies"), .price = 0, .holdEffect = HOLD_EFFECT_BOOSTER_ENERGY, .description = COMPOUND_STRING( @@ -13108,7 +13124,7 @@ const struct Item gItemsInfo[] = [ITEM_BIG_BAMBOO_SHOOT] = { - .name = HANDLE_EXPANDED_ITEM_NAME("BigBmbooShoot", "Big Bamboo Shoot"), + .name = _("Big Bamboo Shoot"), .price = 3000, .description = COMPOUND_STRING( "A large and rare\n" @@ -13124,7 +13140,7 @@ const struct Item gItemsInfo[] = [ITEM_GIMMIGHOUL_COIN] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GimighoulCoin", "Gimmighoul Coin"), + .name = _("Gimmighoul Coin"), .price = 400, .description = COMPOUND_STRING( "Gimmighoul hoard\n" @@ -13139,7 +13155,7 @@ const struct Item gItemsInfo[] = [ITEM_LEADERS_CREST] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Leader'sCrest", "Leader's Crest"), + .name = _("Leader's Crest"), .price = 3000, .description = COMPOUND_STRING( "A shard of an old\n" @@ -13154,7 +13170,7 @@ const struct Item gItemsInfo[] = [ITEM_MALICIOUS_ARMOR] = { - .name = HANDLE_EXPANDED_ITEM_NAME("MaliciousArmr", "Malicious Armor"), + .name = _("Malicious Armor"), .price = 3000, .description = COMPOUND_STRING( "Armor inhabited by\n" @@ -13188,8 +13204,8 @@ const struct Item gItemsInfo[] = [ITEM_SCROLL_OF_DARKNESS] = { - .name = HANDLE_EXPANDED_ITEM_NAME("ScrllOfDrknss", "Scroll of Darkness"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("ScrllsOfDrknss", "Scrolls of Darkness"), + .name = _("Scroll of Darkness"), + .pluralName = _("Scrolls of Darkness"), .price = 0, .description = COMPOUND_STRING( "A peculiar scroll\n" @@ -13206,8 +13222,8 @@ const struct Item gItemsInfo[] = [ITEM_SCROLL_OF_WATERS] = { - .name = HANDLE_EXPANDED_ITEM_NAME("ScrollOfWatrs", "Scroll of Waters"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("ScrollsOfWatrs", "Scrolls of Waters"), + .name = _("Scroll of Waters"), + .pluralName = _("Scrolls of Waters"), .price = 0, .description = COMPOUND_STRING( "A peculiar scroll\n" @@ -13240,7 +13256,7 @@ const struct Item gItemsInfo[] = [ITEM_TINY_BAMBOO_SHOOT] = { - .name = HANDLE_EXPANDED_ITEM_NAME("TinyBmbooShot", "Tiny Bamboo Shoot"), + .name = _("Tiny Bamboo Shoot"), .price = 750, .description = COMPOUND_STRING( "A small and rare\n" @@ -13256,7 +13272,7 @@ const struct Item gItemsInfo[] = [ITEM_BUG_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Bug TeraShard", "Bug Tera Shard"), + .name = _("Bug Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13268,7 +13284,7 @@ const struct Item gItemsInfo[] = [ITEM_DARK_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("DarkTeraShard", "Dark Tera Shard"), + .name = _("Dark Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13280,7 +13296,7 @@ const struct Item gItemsInfo[] = [ITEM_DRAGON_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("DragnTeraShrd", "Dragon Tera Shard"), + .name = _("Dragon Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13292,7 +13308,7 @@ const struct Item gItemsInfo[] = [ITEM_ELECTRIC_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("EltrcTeraShrd", "Electric Tera Shard"), + .name = _("Electric Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13304,7 +13320,7 @@ const struct Item gItemsInfo[] = [ITEM_FAIRY_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FairyTeraShrd", "Fairy Tera Shard"), + .name = _("Fairy Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13316,7 +13332,7 @@ const struct Item gItemsInfo[] = [ITEM_FIGHTING_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FghtngTerShrd", "Fighting Tera Shard"), + .name = _("Fighting Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13328,7 +13344,7 @@ const struct Item gItemsInfo[] = [ITEM_FIRE_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FireTeraShard", "Fire Tera Shard"), + .name = _("Fire Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13340,7 +13356,7 @@ const struct Item gItemsInfo[] = [ITEM_FLYING_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FlyngTeraShrd", "Flying Tera Shard"), + .name = _("Flying Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13352,7 +13368,7 @@ const struct Item gItemsInfo[] = [ITEM_GHOST_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GhostTeraShrd", "Ghost Tera Shard"), + .name = _("Ghost Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13364,7 +13380,7 @@ const struct Item gItemsInfo[] = [ITEM_GRASS_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GrassTeraShrd", "Grass Tera Shard"), + .name = _("Grass Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13376,7 +13392,7 @@ const struct Item gItemsInfo[] = [ITEM_GROUND_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GrondTeraShrd", "Ground Tera Shard"), + .name = _("Ground Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13388,7 +13404,7 @@ const struct Item gItemsInfo[] = [ITEM_ICE_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Ice TeraShard", "Ice Tera Shard"), + .name = _("Ice Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13400,7 +13416,7 @@ const struct Item gItemsInfo[] = [ITEM_NORMAL_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("NormlTeraShrd", "Normal Tera Shard"), + .name = _("Normal Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13412,7 +13428,7 @@ const struct Item gItemsInfo[] = [ITEM_POISON_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("PoisnTeraShrd", "Poison Tera Shard"), + .name = _("Poison Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13424,7 +13440,7 @@ const struct Item gItemsInfo[] = [ITEM_PSYCHIC_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("PschcTeraShrd", "Psychic Tera Shard"), + .name = _("Psychic Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13436,7 +13452,7 @@ const struct Item gItemsInfo[] = [ITEM_ROCK_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("RockTeraShard", "Rock Tera Shard"), + .name = _("Rock Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13448,7 +13464,7 @@ const struct Item gItemsInfo[] = [ITEM_STEEL_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("SteelTeraShrd", "Steel Tera Shard"), + .name = _("Steel Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13460,7 +13476,7 @@ const struct Item gItemsInfo[] = [ITEM_WATER_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("WaterTeraShrd", "Water Tera Shard"), + .name = _("Water Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13472,7 +13488,7 @@ const struct Item gItemsInfo[] = [ITEM_ADAMANT_CRYSTAL] = { - .name = HANDLE_EXPANDED_ITEM_NAME("AdamantCrystl", "Adamant Crystal"), + .name = _("Adamant Crystal"), .price = 0, .description = COMPOUND_STRING( "A large, glowing gem\n" @@ -13504,7 +13520,7 @@ const struct Item gItemsInfo[] = [ITEM_LUSTROUS_GLOBE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("LustrousGlobe", "Lustrous Globe"), + .name = _("Lustrous Globe"), .price = 0, .description = COMPOUND_STRING( "A large, glowing gem\n" @@ -13520,7 +13536,7 @@ const struct Item gItemsInfo[] = [ITEM_BLACK_AUGURITE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("BlackAugurite", "Black Augurite"), + .name = _("Black Augurite"), .price = 8000, .description = COMPOUND_STRING( "A black stone that\n" @@ -13623,7 +13639,7 @@ const struct Item gItemsInfo[] = [ITEM_UNREMARKABLE_TEACUP] = { - .name = HANDLE_EXPANDED_ITEM_NAME("UnrmkblTeacup", "Unremarkable Teacup"), + .name = _("Unremarkable Teacup"), .price = 1600, .description = COMPOUND_STRING( "A cracked teacup\n" @@ -13640,7 +13656,7 @@ const struct Item gItemsInfo[] = [ITEM_MASTERPIECE_TEACUP] = { - .name = HANDLE_EXPANDED_ITEM_NAME("MstrpceTeacup", "Masterpiece Teacup"), + .name = _("Masterpiece Teacup"), .price = 38000, .description = COMPOUND_STRING( "A chipped teacup\n" @@ -13657,7 +13673,7 @@ const struct Item gItemsInfo[] = [ITEM_CORNERSTONE_MASK] = { - .name = HANDLE_EXPANDED_ITEM_NAME("CornrstneMask", "Cornerstone Mask"), + .name = _("Cornerstone Mask"), .price = 0, .holdEffect = HOLD_EFFECT_OGERPON_MASK, .holdEffectParam = 20, @@ -13674,7 +13690,7 @@ const struct Item gItemsInfo[] = [ITEM_WELLSPRING_MASK] = { - .name = HANDLE_EXPANDED_ITEM_NAME("WellsprngMask", "Wellspring Mask"), + .name = _("Wellspring Mask"), .price = 0, .holdEffect = HOLD_EFFECT_OGERPON_MASK, .holdEffectParam = 20, @@ -13691,7 +13707,7 @@ const struct Item gItemsInfo[] = [ITEM_HEARTHFLAME_MASK] = { - .name = HANDLE_EXPANDED_ITEM_NAME("HrthflameMask", "Hearthflame Mask"), + .name = _("Hearthflame Mask"), .price = 0, .holdEffect = HOLD_EFFECT_OGERPON_MASK, .holdEffectParam = 20, @@ -13798,8 +13814,8 @@ const struct Item gItemsInfo[] = [ITEM_FRESH_START_MOCHI] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FrshStrtMochi", "Fresh Start Mochi"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("FrshStrtMochi", "Fresh Start Mochi"), + .name = _("Fresh Start Mochi"), + .pluralName = _("Fresh Start Mochi"), .price = 300, .description = COMPOUND_STRING( "An item that resets\n" @@ -13816,7 +13832,7 @@ const struct Item gItemsInfo[] = [ITEM_GLIMMERING_CHARM] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GlmmringCharm", "Glimmering Charm"), + .name = _("Glimmering Charm"), .price = 0, .importance = 1, .description = COMPOUND_STRING( @@ -13848,7 +13864,7 @@ const struct Item gItemsInfo[] = [ITEM_STELLAR_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("StllrTeraShrd", "Stellar Tera Shard"), + .name = _("Stellar Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13860,7 +13876,7 @@ const struct Item gItemsInfo[] = [ITEM_JUBILIFE_MUFFIN] = { - .name = HANDLE_EXPANDED_ITEM_NAME("JublifeMuffin", "Jubilife Muffin"), + .name = _("Jubilife Muffin"), .price = 250, .description = sFullHealDesc, .pocket = POCKET_ITEMS, @@ -14003,7 +14019,7 @@ const struct Item gItemsInfo[] = [ITEM_AUX_POWERGUARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("AuxPowerguard", "Aux Powerguard"), + .name = _("Aux Powerguard"), .price = 1200, .holdEffectParam = X_ITEM_STAGES, .description = COMPOUND_STRING( @@ -14026,7 +14042,7 @@ const struct Item gItemsInfo[] = [ITEM_CHOICE_DUMPLING] = { - .name = HANDLE_EXPANDED_ITEM_NAME("ChoiceDumplng", "Choice Dumpling"), + .name = _("Choice Dumpling"), .price = 1200, .description = sQuestionMarksDesc, .pocket = POCKET_ITEMS, @@ -14052,7 +14068,7 @@ const struct Item gItemsInfo[] = [ITEM_TWICE_SPICED_RADISH] = { - .name = HANDLE_EXPANDED_ITEM_NAME("2xSpicedRadsh", "Twice-Spiced Radish"), + .name = _("Twice-Spiced Radish"), .price = 1600, .description = sQuestionMarksDesc, .pocket = POCKET_ITEMS, diff --git a/src/data/moves_info.h b/src/data/moves_info.h index df12555c5bdd..180d0d74ac60 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -11,12 +11,6 @@ // The Gen. 4+ contest data comes from urpg's contest movedex. -#if B_EXPANDED_MOVE_NAMES == TRUE -#define HANDLE_EXPANDED_MOVE_NAME(_name, ...) COMPOUND_STRING(DEFAULT(_name, __VA_ARGS__)) -#else -#define HANDLE_EXPANDED_MOVE_NAME(_name, ...) COMPOUND_STRING(_name) -#endif - #if B_BINDING_TURNS >= GEN_5 #define BINDING_TURNS "4 or 5" #else @@ -134,7 +128,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .mirrorMoveBanned = TRUE, .sketchBanned = TRUE, .assistBanned = TRUE, - .battleAnimScript = Move_NONE, + .battleAnimScript = gBattleAnimMove_None, }, [MOVE_POUND] = @@ -157,7 +151,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_POUND, .contestComboMoves = {0}, - .battleAnimScript = Move_POUND, + .battleAnimScript = gBattleAnimMove_Pound, }, [MOVE_KARATE_CHOP] = @@ -180,7 +174,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_KARATE_CHOP, + .battleAnimScript = gBattleAnimMove_KarateChop, }, [MOVE_DOUBLE_SLAP] = @@ -202,7 +196,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_POUND}, - .battleAnimScript = Move_DOUBLE_SLAP, + .battleAnimScript = gBattleAnimMove_DoubleSlap, }, [MOVE_COMET_PUNCH] = @@ -225,7 +219,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COMET_PUNCH, + .battleAnimScript = gBattleAnimMove_CometPunch, }, [MOVE_MEGA_PUNCH] = @@ -248,7 +242,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_MEGA_PUNCH, + .battleAnimScript = gBattleAnimMove_MegaPunch, }, [MOVE_PAY_DAY] = @@ -272,7 +266,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PAY_DAY, + .battleAnimScript = gBattleAnimMove_PayDay, }, [MOVE_FIRE_PUNCH] = @@ -299,7 +293,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_FIRE_PUNCH, .contestComboMoves = {COMBO_STARTER_ICE_PUNCH, COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_THUNDER_PUNCH}, - .battleAnimScript = Move_FIRE_PUNCH, + .battleAnimScript = gBattleAnimMove_FirePunch, }, [MOVE_ICE_PUNCH] = @@ -330,12 +324,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_ICE_PUNCH, .contestComboMoves = {COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_THUNDER_PUNCH}, - .battleAnimScript = Move_ICE_PUNCH, + .battleAnimScript = gBattleAnimMove_IcePunch, }, [MOVE_THUNDER_PUNCH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ThunderPunch", "Thunder Punch"), + .name = COMPOUND_STRING("Thunder Punch"), .description = COMPOUND_STRING( "An electrified punch that\n" "may paralyze the foe."), @@ -357,7 +351,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_THUNDER_PUNCH, .contestComboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_ICE_PUNCH}, - .battleAnimScript = Move_THUNDER_PUNCH, + .battleAnimScript = gBattleAnimMove_ThunderPunch, }, [MOVE_SCRATCH] = @@ -379,7 +373,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SCRATCH, .contestComboMoves = {COMBO_STARTER_LEER}, - .battleAnimScript = Move_SCRATCH, + .battleAnimScript = gBattleAnimMove_Scratch, }, [MOVE_VISE_GRIP] = @@ -401,7 +395,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_VICE_GRIP, .contestComboMoves = {0}, - .battleAnimScript = Move_VISE_GRIP, + .battleAnimScript = gBattleAnimMove_ViseGrip, }, [MOVE_GUILLOTINE] = @@ -423,7 +417,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_VICE_GRIP}, - .battleAnimScript = Move_GUILLOTINE, + .battleAnimScript = gBattleAnimMove_Guillotine, }, [MOVE_RAZOR_WIND] = @@ -449,7 +443,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RAZOR_WIND, + .battleAnimScript = gBattleAnimMove_RazorWind, }, [MOVE_SWORDS_DANCE] = @@ -473,7 +467,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_SWORDS_DANCE, .contestComboMoves = {0}, - .battleAnimScript = Move_SWORDS_DANCE, + .battleAnimScript = gBattleAnimMove_SwordsDance, }, [MOVE_CUT] = @@ -496,7 +490,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWORDS_DANCE}, - .battleAnimScript = Move_CUT, + .battleAnimScript = gBattleAnimMove_Cut, }, [MOVE_GUST] = @@ -520,7 +514,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GUST, + .battleAnimScript = gBattleAnimMove_Gust, }, [MOVE_WING_ATTACK] = @@ -542,7 +536,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WING_ATTACK, + .battleAnimScript = gBattleAnimMove_WingAttack, }, [MOVE_WHIRLWIND] = @@ -570,7 +564,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WHIRLWIND, + .battleAnimScript = gBattleAnimMove_Whirlwind, }, [MOVE_FLY] = @@ -597,7 +591,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLY, + .battleAnimScript = gBattleAnimMove_Fly, }, [MOVE_BIND] = @@ -623,7 +617,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_VICE_GRIP}, - .battleAnimScript = Move_BIND, + .battleAnimScript = gBattleAnimMove_Bind, }, [MOVE_SLAM] = @@ -646,7 +640,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_POUND}, - .battleAnimScript = Move_SLAM, + .battleAnimScript = gBattleAnimMove_Slam, }, [MOVE_VINE_WHIP] = @@ -674,7 +668,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_VINE_WHIP, + .battleAnimScript = gBattleAnimMove_VineWhip, }, [MOVE_STOMP] = @@ -702,7 +696,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LEER}, - .battleAnimScript = Move_STOMP, + .battleAnimScript = gBattleAnimMove_Stomp, }, [MOVE_DOUBLE_KICK] = @@ -725,7 +719,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DOUBLE_KICK, + .battleAnimScript = gBattleAnimMove_DoubleKick, }, [MOVE_MEGA_KICK] = @@ -747,7 +741,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_MEGA_KICK, + .battleAnimScript = gBattleAnimMove_MegaKick, }, [MOVE_JUMP_KICK] = @@ -776,7 +770,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_JUMP_KICK, + .battleAnimScript = gBattleAnimMove_JumpKick, }, [MOVE_ROLLING_KICK] = @@ -803,7 +797,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROLLING_KICK, + .battleAnimScript = gBattleAnimMove_RollingKick, }, [MOVE_SAND_ATTACK] = @@ -826,7 +820,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_SAND_ATTACK, .contestComboMoves = {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM}, - .battleAnimScript = Move_SAND_ATTACK, + .battleAnimScript = gBattleAnimMove_SandAttack, }, [MOVE_HEADBUTT] = @@ -852,7 +846,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_HEADBUTT, + .battleAnimScript = gBattleAnimMove_Headbutt, }, [MOVE_HORN_ATTACK] = @@ -874,7 +868,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_HORN_ATTACK, .contestComboMoves = {COMBO_STARTER_LEER}, - .battleAnimScript = Move_HORN_ATTACK, + .battleAnimScript = gBattleAnimMove_HornAttack, }, [MOVE_FURY_ATTACK] = @@ -896,7 +890,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HORN_ATTACK, COMBO_STARTER_PECK}, - .battleAnimScript = Move_FURY_ATTACK, + .battleAnimScript = gBattleAnimMove_FuryAttack, }, [MOVE_HORN_DRILL] = @@ -918,7 +912,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HORN_ATTACK}, - .battleAnimScript = Move_HORN_DRILL, + .battleAnimScript = gBattleAnimMove_HornDrill, }, [MOVE_TACKLE] = @@ -946,7 +940,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN, COMBO_STARTER_LEER}, - .battleAnimScript = Move_TACKLE, + .battleAnimScript = gBattleAnimMove_Tackle, }, [MOVE_BODY_SLAM] = @@ -974,7 +968,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BODY_SLAM, + .battleAnimScript = gBattleAnimMove_BodySlam, }, [MOVE_WRAP] = @@ -999,7 +993,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WRAP, + .battleAnimScript = gBattleAnimMove_Wrap, }, [MOVE_TAKE_DOWN] = @@ -1022,7 +1016,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN}, - .battleAnimScript = Move_TAKE_DOWN, + .battleAnimScript = gBattleAnimMove_TakeDown, }, [MOVE_THRASH] = @@ -1049,7 +1043,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAGE}, - .battleAnimScript = Move_THRASH, + .battleAnimScript = gBattleAnimMove_Thrash, }, [MOVE_DOUBLE_EDGE] = @@ -1072,7 +1066,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN}, - .battleAnimScript = Move_DOUBLE_EDGE, + .battleAnimScript = gBattleAnimMove_DoubleEdge, }, [MOVE_TAIL_WHIP] = @@ -1095,7 +1089,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARM}, - .battleAnimScript = Move_TAIL_WHIP, + .battleAnimScript = gBattleAnimMove_TailWhip, }, [MOVE_POISON_STING] = @@ -1120,7 +1114,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POISON_STING, + .battleAnimScript = gBattleAnimMove_PoisonSting, }, [MOVE_TWINEEDLE] = @@ -1147,7 +1141,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TWINEEDLE, + .battleAnimScript = gBattleAnimMove_Twineedle, }, [MOVE_PIN_MISSILE] = @@ -1168,7 +1162,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PIN_MISSILE, + .battleAnimScript = gBattleAnimMove_PinMissile, }, [MOVE_LEER] = @@ -1191,7 +1185,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_LEER, .contestComboMoves = {COMBO_STARTER_RAGE, COMBO_STARTER_SCARY_FACE}, - .battleAnimScript = Move_LEER, + .battleAnimScript = gBattleAnimMove_Leer, }, [MOVE_BITE] = @@ -1218,7 +1212,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LEER, COMBO_STARTER_SCARY_FACE}, - .battleAnimScript = Move_BITE, + .battleAnimScript = gBattleAnimMove_Bite, }, [MOVE_GROWL] = @@ -1243,7 +1237,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARM}, - .battleAnimScript = Move_GROWL, + .battleAnimScript = gBattleAnimMove_Growl, }, [MOVE_ROAR] = @@ -1271,7 +1265,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROAR, + .battleAnimScript = gBattleAnimMove_Roar, }, [MOVE_SING] = @@ -1296,7 +1290,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_SING, .contestComboMoves = {0}, - .battleAnimScript = Move_SING, + .battleAnimScript = gBattleAnimMove_Sing, }, [MOVE_SUPERSONIC] = @@ -1321,7 +1315,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SUPERSONIC, + .battleAnimScript = gBattleAnimMove_Supersonic, }, [MOVE_SONIC_BOOM] = @@ -1343,7 +1337,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SONIC_BOOM, + .battleAnimScript = gBattleAnimMove_SonicBoom, }, [MOVE_DISABLE] = @@ -1373,7 +1367,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DISABLE, + .battleAnimScript = gBattleAnimMove_Disable, }, [MOVE_ACID] = @@ -1402,7 +1396,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ACID, + .battleAnimScript = gBattleAnimMove_Acid, }, [MOVE_EMBER] = @@ -1427,7 +1421,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_EMBER, + .battleAnimScript = gBattleAnimMove_Ember, }, [MOVE_FLAMETHROWER] = @@ -1452,7 +1446,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_FLAMETHROWER, + .battleAnimScript = gBattleAnimMove_Flamethrower, }, [MOVE_MIST] = @@ -1477,7 +1471,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MIST, + .battleAnimScript = gBattleAnimMove_Mist, }, [MOVE_WATER_GUN] = @@ -1498,7 +1492,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_MUD_SPORT, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_WATER_SPORT}, - .battleAnimScript = Move_WATER_GUN, + .battleAnimScript = gBattleAnimMove_WaterGun, }, [MOVE_HYDRO_PUMP] = @@ -1519,7 +1513,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_HYDRO_PUMP, + .battleAnimScript = gBattleAnimMove_HydroPump, }, [MOVE_SURF] = @@ -1542,7 +1536,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_SURF, .contestComboMoves = {COMBO_STARTER_DIVE, COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_SURF, + .battleAnimScript = gBattleAnimMove_Surf, }, [MOVE_ICE_BEAM] = @@ -1564,7 +1558,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .additionalEffects = ADDITIONAL_EFFECTS({ - // The following effect is also relevant in battle_pike.c + // The following effect is also relevant in battle_Pike.c // If you cherry-pick this to use something other than the config, make sure to update it there too .moveEffect = MOVE_EFFECT_FREEZE_OR_FROSTBITE, .chance = 10, @@ -1573,7 +1567,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, - .battleAnimScript = Move_ICE_BEAM, + .battleAnimScript = gBattleAnimMove_IceBeam, }, [MOVE_BLIZZARD] = @@ -1603,7 +1597,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL, COMBO_STARTER_POWDER_SNOW}, - .battleAnimScript = Move_BLIZZARD, + .battleAnimScript = gBattleAnimMove_Blizzard, }, [MOVE_PSYBEAM] = @@ -1628,7 +1622,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, - .battleAnimScript = Move_PSYBEAM, + .battleAnimScript = gBattleAnimMove_Psybeam, }, [MOVE_BUBBLE_BEAM] = @@ -1653,7 +1647,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_BUBBLE_BEAM, + .battleAnimScript = gBattleAnimMove_BubbleBeam, }, [MOVE_AURORA_BEAM] = @@ -1678,7 +1672,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, - .battleAnimScript = Move_AURORA_BEAM, + .battleAnimScript = gBattleAnimMove_AuroraBeam, }, [MOVE_HYPER_BEAM] = @@ -1702,7 +1696,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HYPER_BEAM, + .battleAnimScript = gBattleAnimMove_HyperBeam, }, [MOVE_PECK] = @@ -1724,7 +1718,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_PECK, .contestComboMoves = {0}, - .battleAnimScript = Move_PECK, + .battleAnimScript = gBattleAnimMove_Peck, }, [MOVE_DRILL_PECK] = @@ -1746,7 +1740,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_PECK}, - .battleAnimScript = Move_DRILL_PECK, + .battleAnimScript = gBattleAnimMove_DrillPeck, }, [MOVE_SUBMISSION] = @@ -1769,7 +1763,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_SUBMISSION, + .battleAnimScript = gBattleAnimMove_Submission, }, [MOVE_LOW_KICK] = @@ -1791,7 +1785,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LOW_KICK, + .battleAnimScript = gBattleAnimMove_LowKick, }, [MOVE_COUNTER] = @@ -1818,7 +1812,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TAUNT}, - .battleAnimScript = Move_COUNTER, + .battleAnimScript = gBattleAnimMove_Counter, }, [MOVE_SEISMIC_TOSS] = @@ -1841,7 +1835,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FAKE_OUT}, - .battleAnimScript = Move_SEISMIC_TOSS, + .battleAnimScript = gBattleAnimMove_SeismicToss, }, [MOVE_STRENGTH] = @@ -1863,7 +1857,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STRENGTH, + .battleAnimScript = gBattleAnimMove_Strength, }, [MOVE_ABSORB] = @@ -1880,13 +1874,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, + .argument = 50, .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4), .healingMove = B_HEAL_BLOCKING >= GEN_6, .contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_ABSORB, + .battleAnimScript = gBattleAnimMove_Absorb, }, [MOVE_MEGA_DRAIN] = @@ -1901,6 +1896,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, + .argument = 50, .zMove = { .powerOverride = 120 }, .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4), .healingMove = B_HEAL_BLOCKING >= GEN_6, @@ -1908,7 +1904,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_MEGA_DRAIN, + .battleAnimScript = gBattleAnimMove_MegaDrain, }, [MOVE_LEECH_SEED] = @@ -1931,7 +1927,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_LEECH_SEED, .contestComboMoves = {COMBO_STARTER_GROWTH, COMBO_STARTER_WORRY_SEED}, - .battleAnimScript = Move_LEECH_SEED, + .battleAnimScript = gBattleAnimMove_LeechSeed, }, [MOVE_GROWTH] = @@ -1961,7 +1957,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_GROWTH, .contestComboMoves = {0}, - .battleAnimScript = Move_GROWTH, + .battleAnimScript = gBattleAnimMove_Growth, }, [MOVE_RAZOR_LEAF] = @@ -1984,7 +1980,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_RAZOR_LEAF, + .battleAnimScript = gBattleAnimMove_RazorLeaf, }, [MOVE_SOLAR_BEAM] = @@ -2008,12 +2004,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH, COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_SOLAR_BEAM, + .battleAnimScript = gBattleAnimMove_SolarBeam, }, [MOVE_POISON_POWDER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PoisonPowder", "Poison Powder"), + .name = COMPOUND_STRING("Poison Powder"), .description = COMPOUND_STRING( "Scatters a toxic powder\n" "that may poison the foe."), @@ -2032,7 +2028,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWEET_SCENT}, - .battleAnimScript = Move_POISON_POWDER, + .battleAnimScript = gBattleAnimMove_PoisonPowder, }, [MOVE_STUN_SPORE] = @@ -2056,7 +2052,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWEET_SCENT}, - .battleAnimScript = Move_STUN_SPORE, + .battleAnimScript = gBattleAnimMove_StunSpore, }, [MOVE_SLEEP_POWDER] = @@ -2080,7 +2076,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWEET_SCENT}, - .battleAnimScript = Move_SLEEP_POWDER, + .battleAnimScript = gBattleAnimMove_SleepPowder, }, [MOVE_PETAL_DANCE] = @@ -2114,7 +2110,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_PETAL_DANCE, + .battleAnimScript = gBattleAnimMove_PetalDance, }, [MOVE_STRING_SHOT] = @@ -2137,7 +2133,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_STRING_SHOT, .contestComboMoves = {0}, - .battleAnimScript = Move_STRING_SHOT, + .battleAnimScript = gBattleAnimMove_StringShot, }, [MOVE_DRAGON_RAGE] = @@ -2160,7 +2156,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_DRAGON_RAGE, .contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL}, - .battleAnimScript = Move_DRAGON_RAGE, + .battleAnimScript = gBattleAnimMove_DragonRage, }, [MOVE_FIRE_SPIN] = @@ -2185,12 +2181,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_FIRE_SPIN, + .battleAnimScript = gBattleAnimMove_FireSpin, }, [MOVE_THUNDER_SHOCK] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ThunderShock", "Thunder Shock"), + .name = COMPOUND_STRING("Thunder Shock"), .description = COMPOUND_STRING( "An electrical attack that\n" "may paralyze the foe."), @@ -2210,7 +2206,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, - .battleAnimScript = Move_THUNDER_SHOCK, + .battleAnimScript = gBattleAnimMove_ThunderShock, }, [MOVE_THUNDERBOLT] = @@ -2235,7 +2231,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, - .battleAnimScript = Move_THUNDERBOLT, + .battleAnimScript = gBattleAnimMove_Thunderbolt, }, [MOVE_THUNDER_WAVE] = @@ -2258,7 +2254,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, - .battleAnimScript = Move_THUNDER_WAVE, + .battleAnimScript = gBattleAnimMove_ThunderWave, }, [MOVE_THUNDER] = @@ -2284,7 +2280,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_LOCK_ON, COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_THUNDER, + .battleAnimScript = gBattleAnimMove_Thunder, }, [MOVE_ROCK_THROW] = @@ -2305,7 +2301,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_ROCK_THROW, .contestComboMoves = {0}, - .battleAnimScript = Move_ROCK_THROW, + .battleAnimScript = gBattleAnimMove_RockThrow, }, [MOVE_EARTHQUAKE] = @@ -2329,7 +2325,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_EARTHQUAKE, .contestComboMoves = {0}, - .battleAnimScript = Move_EARTHQUAKE, + .battleAnimScript = gBattleAnimMove_Earthquake, }, [MOVE_FISSURE] = @@ -2352,7 +2348,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_EARTHQUAKE}, - .battleAnimScript = Move_FISSURE, + .battleAnimScript = gBattleAnimMove_Fissure, }, [MOVE_DIG] = @@ -2379,7 +2375,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DIG, + .battleAnimScript = gBattleAnimMove_Dig, }, [MOVE_TOXIC] = @@ -2402,7 +2398,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_TOXIC, .contestComboMoves = {0}, - .battleAnimScript = Move_TOXIC, + .battleAnimScript = gBattleAnimMove_Toxic, }, [MOVE_CONFUSION] = @@ -2427,7 +2423,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_CONFUSION, .contestComboMoves = {COMBO_STARTER_CALM_MIND, COMBO_STARTER_KINESIS, COMBO_STARTER_PSYCHIC}, - .battleAnimScript = Move_CONFUSION, + .battleAnimScript = gBattleAnimMove_Confusion, }, [MOVE_PSYCHIC] = @@ -2452,7 +2448,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_PSYCHIC, .contestComboMoves = {COMBO_STARTER_CALM_MIND, COMBO_STARTER_CONFUSION, COMBO_STARTER_KINESIS}, - .battleAnimScript = Move_PSYCHIC, + .battleAnimScript = gBattleAnimMove_Psychic, }, [MOVE_HYPNOSIS] = @@ -2475,7 +2471,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_HYPNOSIS, .contestComboMoves = {0}, - .battleAnimScript = Move_HYPNOSIS, + .battleAnimScript = gBattleAnimMove_Hypnosis, }, [MOVE_MEDITATE] = @@ -2500,7 +2496,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, - .battleAnimScript = Move_MEDITATE, + .battleAnimScript = gBattleAnimMove_Meditate, }, [MOVE_AGILITY] = @@ -2525,7 +2521,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_DOUBLE_TEAM}, - .battleAnimScript = Move_AGILITY, + .battleAnimScript = gBattleAnimMove_Agility, }, [MOVE_QUICK_ATTACK] = @@ -2547,7 +2543,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_DOUBLE_TEAM}, - .battleAnimScript = Move_QUICK_ATTACK, + .battleAnimScript = gBattleAnimMove_QuickAttack, }, [MOVE_RAGE] = @@ -2569,7 +2565,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_RAGE, .contestComboMoves = {0}, - .battleAnimScript = Move_RAGE, + .battleAnimScript = gBattleAnimMove_Rage, }, [MOVE_TELEPORT] = @@ -2593,7 +2589,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CONFUSION, COMBO_STARTER_DOUBLE_TEAM, COMBO_STARTER_KINESIS, COMBO_STARTER_PSYCHIC}, - .battleAnimScript = Move_TELEPORT, + .battleAnimScript = gBattleAnimMove_Teleport, }, [MOVE_NIGHT_SHADE] = @@ -2614,7 +2610,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NIGHT_SHADE, + .battleAnimScript = gBattleAnimMove_NightShade, }, [MOVE_MIMIC] = @@ -2644,7 +2640,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MIMIC, + .battleAnimScript = gBattleAnimMove_Mimic, }, [MOVE_SCREECH] = @@ -2669,7 +2665,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SCREECH, + .battleAnimScript = gBattleAnimMove_Screech, }, [MOVE_DOUBLE_TEAM] = @@ -2694,7 +2690,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_DOUBLE_TEAM, .contestComboMoves = {0}, - .battleAnimScript = Move_DOUBLE_TEAM, + .battleAnimScript = gBattleAnimMove_DoubleTeam, }, [MOVE_RECOVER] = @@ -2726,7 +2722,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RECOVER, + .battleAnimScript = gBattleAnimMove_Recover, }, [MOVE_HARDEN] = @@ -2751,7 +2747,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_HARDEN, .contestComboMoves = {0}, - .battleAnimScript = Move_HARDEN, + .battleAnimScript = gBattleAnimMove_Harden, }, [MOVE_MINIMIZE] = @@ -2776,7 +2772,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MINIMIZE, + .battleAnimScript = gBattleAnimMove_Minimize, }, [MOVE_SMOKESCREEN] = @@ -2799,7 +2795,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SMOG}, - .battleAnimScript = Move_SMOKESCREEN, + .battleAnimScript = gBattleAnimMove_Smokescreen, }, [MOVE_CONFUSE_RAY] = @@ -2822,7 +2818,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CONFUSE_RAY, + .battleAnimScript = gBattleAnimMove_ConfuseRay, }, [MOVE_WITHDRAW] = @@ -2847,7 +2843,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_WITHDRAW, + .battleAnimScript = gBattleAnimMove_Withdraw, }, [MOVE_DEFENSE_CURL] = @@ -2872,7 +2868,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_DEFENSE_CURL, .contestComboMoves = {0}, - .battleAnimScript = Move_DEFENSE_CURL, + .battleAnimScript = gBattleAnimMove_DefenseCurl, }, [MOVE_BARRIER] = @@ -2897,7 +2893,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BARRIER, + .battleAnimScript = gBattleAnimMove_Barrier, }, [MOVE_LIGHT_SCREEN] = @@ -2922,7 +2918,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, - .battleAnimScript = Move_LIGHT_SCREEN, + .battleAnimScript = gBattleAnimMove_LightScreen, }, [MOVE_HAZE] = @@ -2947,7 +2943,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, - .battleAnimScript = Move_HAZE, + .battleAnimScript = gBattleAnimMove_Haze, }, [MOVE_REFLECT] = @@ -2972,7 +2968,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, - .battleAnimScript = Move_REFLECT, + .battleAnimScript = gBattleAnimMove_Reflect, }, [MOVE_FOCUS_ENERGY] = @@ -2998,7 +2994,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_FOCUS_ENERGY, .contestComboMoves = {0}, - .battleAnimScript = Move_FOCUS_ENERGY, + .battleAnimScript = gBattleAnimMove_FocusEnergy, }, [MOVE_BIDE] = @@ -3023,7 +3019,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BIDE, + .battleAnimScript = gBattleAnimMove_Bide, }, [MOVE_METRONOME] = @@ -3053,7 +3049,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_METRONOME, + .battleAnimScript = gBattleAnimMove_Metronome, }, [MOVE_MIRROR_MOVE] = @@ -3082,12 +3078,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MIRROR_MOVE, + .battleAnimScript = gBattleAnimMove_MirrorMove, }, [MOVE_SELF_DESTRUCT] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SelfDestruct", "Self-Destruct"), + .name = COMPOUND_STRING("Self-Destruct"), .description = COMPOUND_STRING( "Inflicts severe damage but\n" "makes the user faint."), @@ -3104,7 +3100,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SELF_DESTRUCT, + .battleAnimScript = gBattleAnimMove_SelfDestruct, }, [MOVE_EGG_BOMB] = @@ -3126,7 +3122,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SOFT_BOILED}, - .battleAnimScript = Move_EGG_BOMB, + .battleAnimScript = gBattleAnimMove_EggBomb, }, [MOVE_LICK] = @@ -3152,7 +3148,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LICK, + .battleAnimScript = gBattleAnimMove_Lick, }, [MOVE_SMOG] = @@ -3177,7 +3173,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SMOG, .contestComboMoves = {0}, - .battleAnimScript = Move_SMOG, + .battleAnimScript = gBattleAnimMove_Smog, }, [MOVE_SLUDGE] = @@ -3202,7 +3198,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SLUDGE, .contestComboMoves = {COMBO_STARTER_SLUDGE_BOMB}, - .battleAnimScript = Move_SLUDGE, + .battleAnimScript = gBattleAnimMove_Sludge, }, [MOVE_BONE_CLUB] = @@ -3227,7 +3223,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_BONE_CLUB, .contestComboMoves = {COMBO_STARTER_BONEMERANG, COMBO_STARTER_BONE_RUSH, COMBO_STARTER_SHADOW_BONE}, - .battleAnimScript = Move_BONE_CLUB, + .battleAnimScript = gBattleAnimMove_BoneClub, }, [MOVE_FIRE_BLAST] = @@ -3252,7 +3248,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_FIRE_BLAST, + .battleAnimScript = gBattleAnimMove_FireBlast, }, [MOVE_WATERFALL] = @@ -3280,7 +3276,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_WATERFALL, + .battleAnimScript = gBattleAnimMove_Waterfall, }, [MOVE_CLAMP] = @@ -3306,7 +3302,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_CLAMP, + .battleAnimScript = gBattleAnimMove_Clamp, }, [MOVE_SWIFT] = @@ -3327,7 +3323,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SWIFT, + .battleAnimScript = gBattleAnimMove_Swift, }, [MOVE_SKULL_BASH] = @@ -3357,7 +3353,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SKULL_BASH, + .battleAnimScript = gBattleAnimMove_SkullBash, }, [MOVE_SPIKE_CANNON] = @@ -3378,7 +3374,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPIKE_CANNON, + .battleAnimScript = gBattleAnimMove_SpikeCannon, }, [MOVE_CONSTRICT] = @@ -3404,7 +3400,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CONSTRICT, + .battleAnimScript = gBattleAnimMove_Constrict, }, [MOVE_AMNESIA] = @@ -3429,7 +3425,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AMNESIA, + .battleAnimScript = gBattleAnimMove_Amnesia, }, [MOVE_KINESIS] = @@ -3452,7 +3448,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_KINESIS, .contestComboMoves = {COMBO_STARTER_CONFUSION, COMBO_STARTER_PSYCHIC}, - .battleAnimScript = Move_KINESIS, + .battleAnimScript = gBattleAnimMove_Kinesis, }, [MOVE_SOFT_BOILED] = @@ -3478,12 +3474,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_SOFT_BOILED, .contestComboMoves = {0}, - .battleAnimScript = Move_SOFT_BOILED, + .battleAnimScript = gBattleAnimMove_SoftBoiled, }, [MOVE_HIGH_JUMP_KICK] = { - .name = HANDLE_EXPANDED_MOVE_NAME("HighJumpKick", "High Jump Kick"), + .name = COMPOUND_STRING("High Jump Kick"), .description = COMPOUND_STRING( "A jumping knee kick. If it\n" "misses, the user is hurt."), @@ -3507,7 +3503,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_HIGH_JUMP_KICK, + .battleAnimScript = gBattleAnimMove_HighJumpKick, }, [MOVE_GLARE] = @@ -3536,7 +3532,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LEER}, - .battleAnimScript = Move_GLARE, + .battleAnimScript = gBattleAnimMove_Glare, }, [MOVE_DREAM_EATER] = @@ -3558,7 +3554,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND, COMBO_STARTER_HYPNOSIS}, - .battleAnimScript = Move_DREAM_EATER, + .battleAnimScript = gBattleAnimMove_DreamEater, }, [MOVE_POISON_GAS] = @@ -3587,7 +3583,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POISON_GAS, + .battleAnimScript = gBattleAnimMove_PoisonGas, }, [MOVE_BARRAGE] = @@ -3609,7 +3605,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BARRAGE, + .battleAnimScript = gBattleAnimMove_Barrage, }, [MOVE_LEECH_LIFE] = @@ -3626,6 +3622,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, + .argument = 50, .makesContact = TRUE, .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4), .healingMove = B_HEAL_BLOCKING >= GEN_6, @@ -3633,7 +3630,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LEECH_LIFE, + .battleAnimScript = gBattleAnimMove_LeechLife, }, [MOVE_LOVELY_KISS] = @@ -3656,7 +3653,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LOVELY_KISS, + .battleAnimScript = gBattleAnimMove_LovelyKiss, }, [MOVE_SKY_ATTACK] = @@ -3687,7 +3684,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SKY_ATTACK, + .battleAnimScript = gBattleAnimMove_SkyAttack, }, [MOVE_TRANSFORM] = @@ -3717,7 +3714,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TRANSFORM, + .battleAnimScript = gBattleAnimMove_Transform, }, [MOVE_BUBBLE] = @@ -3742,7 +3739,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_BUBBLE, + .battleAnimScript = gBattleAnimMove_Bubble, }, [MOVE_DIZZY_PUNCH] = @@ -3769,7 +3766,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DIZZY_PUNCH, + .battleAnimScript = gBattleAnimMove_DizzyPunch, }, [MOVE_SPORE] = @@ -3793,7 +3790,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPORE, + .battleAnimScript = gBattleAnimMove_Spore, }, [MOVE_FLASH] = @@ -3816,7 +3813,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLASH, + .battleAnimScript = gBattleAnimMove_Flash, }, [MOVE_PSYWAVE] = @@ -3837,7 +3834,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, - .battleAnimScript = Move_PSYWAVE, + .battleAnimScript = gBattleAnimMove_Psywave, }, [MOVE_SPLASH] = @@ -3862,7 +3859,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPLASH, + .battleAnimScript = gBattleAnimMove_Splash, }, [MOVE_ACID_ARMOR] = @@ -3887,7 +3884,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ACID_ARMOR, + .battleAnimScript = gBattleAnimMove_AcidArmor, }, [MOVE_CRABHAMMER] = @@ -3910,7 +3907,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SWORDS_DANCE}, - .battleAnimScript = Move_CRABHAMMER, + .battleAnimScript = gBattleAnimMove_Crabhammer, }, [MOVE_EXPLOSION] = @@ -3932,7 +3929,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_EXPLOSION, + .battleAnimScript = gBattleAnimMove_Explosion, }, [MOVE_FURY_SWIPES] = @@ -3954,7 +3951,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SCRATCH}, - .battleAnimScript = Move_FURY_SWIPES, + .battleAnimScript = gBattleAnimMove_FurySwipes, }, [MOVE_BONEMERANG] = @@ -3976,7 +3973,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_BONEMERANG, .contestComboMoves = {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONE_RUSH, COMBO_STARTER_SHADOW_BONE}, - .battleAnimScript = Move_BONEMERANG, + .battleAnimScript = gBattleAnimMove_Bonemerang, }, [MOVE_REST] = @@ -4002,7 +3999,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_REST, .contestComboMoves = {COMBO_STARTER_BELLY_DRUM, COMBO_STARTER_CHARM, COMBO_STARTER_YAWN}, - .battleAnimScript = Move_REST, + .battleAnimScript = gBattleAnimMove_Rest, }, [MOVE_ROCK_SLIDE] = @@ -4027,7 +4024,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ROCK_THROW}, - .battleAnimScript = Move_ROCK_SLIDE, + .battleAnimScript = gBattleAnimMove_RockSlide, }, [MOVE_HYPER_FANG] = @@ -4054,7 +4051,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HYPER_FANG, + .battleAnimScript = gBattleAnimMove_HyperFang, }, [MOVE_SHARPEN] = @@ -4079,7 +4076,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHARPEN, + .battleAnimScript = gBattleAnimMove_Sharpen, }, [MOVE_CONVERSION] = @@ -4104,7 +4101,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CONVERSION, + .battleAnimScript = gBattleAnimMove_Conversion, }, [MOVE_TRI_ATTACK] = @@ -4129,7 +4126,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LOCK_ON}, - .battleAnimScript = Move_TRI_ATTACK, + .battleAnimScript = gBattleAnimMove_TriAttack, }, [MOVE_SUPER_FANG] = @@ -4152,7 +4149,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SCARY_FACE}, - .battleAnimScript = Move_SUPER_FANG, + .battleAnimScript = gBattleAnimMove_SuperFang, }, [MOVE_SLASH] = @@ -4176,7 +4173,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SCRATCH, COMBO_STARTER_SWORDS_DANCE}, - .battleAnimScript = Move_SLASH, + .battleAnimScript = gBattleAnimMove_Slash, }, [MOVE_SUBSTITUTE] = @@ -4202,7 +4199,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SUBSTITUTE, + .battleAnimScript = gBattleAnimMove_Substitute, }, [MOVE_STRUGGLE] = @@ -4240,7 +4237,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .encoreBanned = TRUE, .assistBanned = TRUE, .sketchBanned = TRUE, - .battleAnimScript = Move_STRUGGLE, + .battleAnimScript = gBattleAnimMove_Struggle, }, [MOVE_SKETCH] = @@ -4273,7 +4270,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SKETCH, + .battleAnimScript = gBattleAnimMove_Sketch, }, [MOVE_TRIPLE_KICK] = @@ -4296,7 +4293,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_TRIPLE_KICK, + .battleAnimScript = gBattleAnimMove_TripleKick, }, [MOVE_THIEF] = @@ -4326,7 +4323,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_THIEF, + .battleAnimScript = gBattleAnimMove_Thief, }, [MOVE_SPIDER_WEB] = @@ -4350,7 +4347,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_STRING_SHOT}, - .battleAnimScript = Move_SPIDER_WEB, + .battleAnimScript = gBattleAnimMove_SpiderWeb, }, [MOVE_MIND_READER] = @@ -4372,7 +4369,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_MIND_READER, .contestComboMoves = {0}, - .battleAnimScript = Move_MIND_READER, + .battleAnimScript = gBattleAnimMove_MindReader, }, [MOVE_NIGHTMARE] = @@ -4395,7 +4392,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NIGHTMARE, + .battleAnimScript = gBattleAnimMove_Nightmare, }, [MOVE_FLAME_WHEEL] = @@ -4422,7 +4419,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_FLAME_WHEEL, + .battleAnimScript = gBattleAnimMove_FlameWheel, }, [MOVE_SNORE] = @@ -4450,7 +4447,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_REST}, - .battleAnimScript = Move_SNORE, + .battleAnimScript = gBattleAnimMove_Snore, }, [MOVE_CURSE] = @@ -4475,7 +4472,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_CURSE, .contestComboMoves = {0}, - .battleAnimScript = Move_CURSE, + .battleAnimScript = gBattleAnimMove_Curse, }, [MOVE_FLAIL] = @@ -4497,7 +4494,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ENDURE}, - .battleAnimScript = Move_FLAIL, + .battleAnimScript = gBattleAnimMove_Flail, }, [MOVE_CONVERSION_2] = @@ -4522,7 +4519,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CONVERSION_2, + .battleAnimScript = gBattleAnimMove_Conversion2, }, [MOVE_AEROBLAST] = @@ -4545,7 +4542,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AEROBLAST, + .battleAnimScript = gBattleAnimMove_Aeroblast, }, [MOVE_COTTON_SPORE] = @@ -4569,7 +4566,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COTTON_SPORE, + .battleAnimScript = gBattleAnimMove_CottonSpore, }, [MOVE_REVERSAL] = @@ -4591,7 +4588,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ENDURE}, - .battleAnimScript = Move_REVERSAL, + .battleAnimScript = gBattleAnimMove_Reversal, }, [MOVE_SPITE] = @@ -4615,7 +4612,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CURSE}, - .battleAnimScript = Move_SPITE, + .battleAnimScript = gBattleAnimMove_Spite, }, [MOVE_POWDER_SNOW] = @@ -4644,7 +4641,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_POWDER_SNOW, .contestComboMoves = {COMBO_STARTER_HAIL}, - .battleAnimScript = Move_POWDER_SNOW, + .battleAnimScript = gBattleAnimMove_PowderSnow, }, [MOVE_PROTECT] = @@ -4669,7 +4666,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HARDEN}, - .battleAnimScript = Move_PROTECT, + .battleAnimScript = gBattleAnimMove_Protect, }, [MOVE_MACH_PUNCH] = @@ -4692,7 +4689,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MACH_PUNCH, + .battleAnimScript = gBattleAnimMove_MachPunch, }, [MOVE_SCARY_FACE] = @@ -4715,7 +4712,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SCARY_FACE, .contestComboMoves = {COMBO_STARTER_LEER, COMBO_STARTER_RAGE}, - .battleAnimScript = Move_SCARY_FACE, + .battleAnimScript = gBattleAnimMove_ScaryFace, }, [MOVE_FEINT_ATTACK] = @@ -4737,7 +4734,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FAKE_OUT, COMBO_STARTER_LEER, COMBO_STARTER_POUND}, - .battleAnimScript = Move_FEINT_ATTACK, + .battleAnimScript = gBattleAnimMove_FeintAttack, }, [MOVE_SWEET_KISS] = @@ -4760,7 +4757,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARM}, - .battleAnimScript = Move_SWEET_KISS, + .battleAnimScript = gBattleAnimMove_SweetKiss, }, [MOVE_BELLY_DRUM] = @@ -4785,7 +4782,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_BELLY_DRUM, .contestComboMoves = {0}, - .battleAnimScript = Move_BELLY_DRUM, + .battleAnimScript = gBattleAnimMove_BellyDrum, }, [MOVE_SLUDGE_BOMB] = @@ -4811,7 +4808,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SLUDGE_BOMB, .contestComboMoves = {COMBO_STARTER_SLUDGE}, - .battleAnimScript = Move_SLUDGE_BOMB, + .battleAnimScript = gBattleAnimMove_SludgeBomb, }, [MOVE_MUD_SLAP] = @@ -4836,7 +4833,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_MUD_SLAP, .contestComboMoves = {COMBO_STARTER_MUD_SPORT, COMBO_STARTER_SAND_ATTACK, COMBO_STARTER_SANDSTORM}, - .battleAnimScript = Move_MUD_SLAP, + .battleAnimScript = gBattleAnimMove_MudSlap, }, [MOVE_OCTAZOOKA] = @@ -4862,7 +4859,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LOCK_ON, COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_OCTAZOOKA, + .battleAnimScript = gBattleAnimMove_Octazooka, }, [MOVE_SPIKES] = @@ -4889,7 +4886,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPIKES, + .battleAnimScript = gBattleAnimMove_Spikes, }, [MOVE_ZAP_CANNON] = @@ -4915,7 +4912,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_LOCK_ON}, - .battleAnimScript = Move_ZAP_CANNON, + .battleAnimScript = gBattleAnimMove_ZapCannon, }, [MOVE_FORESIGHT] = @@ -4939,7 +4936,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FORESIGHT, + .battleAnimScript = gBattleAnimMove_Foresight, }, [MOVE_DESTINY_BOND] = @@ -4967,7 +4964,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CURSE, COMBO_STARTER_ENDURE, COMBO_STARTER_MEAN_LOOK}, - .battleAnimScript = Move_DESTINY_BOND, + .battleAnimScript = gBattleAnimMove_DestinyBond, }, [MOVE_PERISH_SONG] = @@ -4993,7 +4990,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_SING}, - .battleAnimScript = Move_PERISH_SONG, + .battleAnimScript = gBattleAnimMove_PerishSong, }, [MOVE_ICY_WIND] = @@ -5019,7 +5016,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, - .battleAnimScript = Move_ICY_WIND, + .battleAnimScript = gBattleAnimMove_IcyWind, }, [MOVE_DETECT] = @@ -5046,7 +5043,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TAUNT}, - .battleAnimScript = Move_DETECT, + .battleAnimScript = gBattleAnimMove_Detect, }, [MOVE_BONE_RUSH] = @@ -5067,7 +5064,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_BONE_RUSH, .contestComboMoves = {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONEMERANG, COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_SHADOW_BONE}, - .battleAnimScript = Move_BONE_RUSH, + .battleAnimScript = gBattleAnimMove_BoneRush, }, [MOVE_LOCK_ON] = @@ -5089,7 +5086,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_LOCK_ON, .contestComboMoves = {0}, - .battleAnimScript = Move_LOCK_ON, + .battleAnimScript = gBattleAnimMove_LockOn, }, [MOVE_OUTRAGE] = @@ -5116,7 +5113,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_OUTRAGE, + .battleAnimScript = gBattleAnimMove_Outrage, }, [MOVE_SANDSTORM] = @@ -5141,7 +5138,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SANDSTORM, .contestComboMoves = {0}, - .battleAnimScript = Move_SANDSTORM, + .battleAnimScript = gBattleAnimMove_Sandstorm, }, [MOVE_GIGA_DRAIN] = @@ -5158,13 +5155,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, + .argument = 50, .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4), .healingMove = B_HEAL_BLOCKING >= GEN_6, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_GIGA_DRAIN, + .battleAnimScript = gBattleAnimMove_GigaDrain, }, [MOVE_ENDURE] = @@ -5191,7 +5189,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_ENDURE, .contestComboMoves = {0}, - .battleAnimScript = Move_ENDURE, + .battleAnimScript = gBattleAnimMove_Endure, }, [MOVE_CHARM] = @@ -5214,7 +5212,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_CHARM, .contestComboMoves = {0}, - .battleAnimScript = Move_CHARM, + .battleAnimScript = gBattleAnimMove_Charm, }, [MOVE_ROLLOUT] = @@ -5238,7 +5236,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN}, - .battleAnimScript = Move_ROLLOUT, + .battleAnimScript = gBattleAnimMove_Rollout, }, [MOVE_FALSE_SWIPE] = @@ -5258,7 +5256,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWORDS_DANCE}, - .battleAnimScript = Move_FALSE_SWIPE, + .battleAnimScript = gBattleAnimMove_FalseSwipe, }, [MOVE_SWAGGER] = @@ -5281,7 +5279,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SWAGGER, + .battleAnimScript = gBattleAnimMove_Swagger, }, [MOVE_MILK_DRINK] = @@ -5307,7 +5305,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MILK_DRINK, + .battleAnimScript = gBattleAnimMove_MilkDrink, }, [MOVE_SPARK] = @@ -5333,7 +5331,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, - .battleAnimScript = Move_SPARK, + .battleAnimScript = gBattleAnimMove_Spark, }, [MOVE_FURY_CUTTER] = @@ -5362,7 +5360,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWORDS_DANCE}, - .battleAnimScript = Move_FURY_CUTTER, + .battleAnimScript = gBattleAnimMove_FuryCutter, }, [MOVE_STEEL_WING] = @@ -5389,7 +5387,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STEEL_WING, + .battleAnimScript = gBattleAnimMove_SteelWing, }, [MOVE_MEAN_LOOK] = @@ -5413,7 +5411,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_MEAN_LOOK, .contestComboMoves = {COMBO_STARTER_CURSE}, - .battleAnimScript = Move_MEAN_LOOK, + .battleAnimScript = gBattleAnimMove_MeanLook, }, [MOVE_ATTRACT] = @@ -5437,7 +5435,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ATTRACT, + .battleAnimScript = gBattleAnimMove_Attract, }, [MOVE_SLEEP_TALK] = @@ -5468,7 +5466,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_REST}, - .battleAnimScript = Move_SLEEP_TALK, + .battleAnimScript = gBattleAnimMove_SleepTalk, }, [MOVE_HEAL_BELL] = @@ -5495,7 +5493,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_HEAL_BELL, .contestComboMoves = {COMBO_STARTER_LUCKY_CHANT}, - .battleAnimScript = Move_HEAL_BELL, + .battleAnimScript = gBattleAnimMove_HealBell, }, [MOVE_RETURN] = @@ -5517,7 +5515,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RETURN, + .battleAnimScript = gBattleAnimMove_Return, }, [MOVE_PRESENT] = @@ -5539,7 +5537,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PRESENT, + .battleAnimScript = gBattleAnimMove_Present, }, [MOVE_FRUSTRATION] = @@ -5561,7 +5559,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FRUSTRATION, + .battleAnimScript = gBattleAnimMove_Frustration, }, [MOVE_SAFEGUARD] = @@ -5586,7 +5584,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SAFEGUARD, + .battleAnimScript = gBattleAnimMove_Safeguard, }, [MOVE_PAIN_SPLIT] = @@ -5608,7 +5606,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ENDURE}, - .battleAnimScript = Move_PAIN_SPLIT, + .battleAnimScript = gBattleAnimMove_PainSplit, }, [MOVE_SACRED_FIRE] = @@ -5634,7 +5632,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_SACRED_FIRE, + .battleAnimScript = gBattleAnimMove_SacredFire, }, [MOVE_MAGNITUDE] = @@ -5657,12 +5655,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MAGNITUDE, + .battleAnimScript = gBattleAnimMove_Magnitude, }, [MOVE_DYNAMIC_PUNCH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DynamicPunch", "Dynamic Punch"), + .name = COMPOUND_STRING("Dynamic Punch"), .description = COMPOUND_STRING( "Powerful and sure to cause\n" "confusion, but inaccurate."), @@ -5684,7 +5682,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_DYNAMIC_PUNCH, + .battleAnimScript = gBattleAnimMove_DynamicPunch, }, [MOVE_MEGAHORN] = @@ -5706,12 +5704,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MEGAHORN, + .battleAnimScript = gBattleAnimMove_Megahorn, }, [MOVE_DRAGON_BREATH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DragonBreath", "Dragon Breath"), + .name = COMPOUND_STRING("Dragon Breath"), .description = COMPOUND_STRING( "Strikes the foe with an\n" "incredible blast of breath."), @@ -5732,7 +5730,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_DRAGON_BREATH, .contestComboMoves = {COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL}, - .battleAnimScript = Move_DRAGON_BREATH, + .battleAnimScript = gBattleAnimMove_DragonBreath, }, [MOVE_BATON_PASS] = @@ -5756,7 +5754,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BATON_PASS, + .battleAnimScript = gBattleAnimMove_BatonPass, }, [MOVE_ENCORE] = @@ -5781,7 +5779,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ENCORE, + .battleAnimScript = gBattleAnimMove_Encore, }, [MOVE_PURSUIT] = @@ -5804,7 +5802,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PURSUIT, + .battleAnimScript = gBattleAnimMove_Pursuit, }, [MOVE_RAPID_SPIN] = @@ -5838,7 +5836,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RAPID_SPIN, + .battleAnimScript = gBattleAnimMove_RapidSpin, }, [MOVE_SWEET_SCENT] = @@ -5861,7 +5859,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_SWEET_SCENT, .contestComboMoves = {0}, - .battleAnimScript = Move_SWEET_SCENT, + .battleAnimScript = gBattleAnimMove_SweetScent, }, [MOVE_IRON_TAIL] = @@ -5887,7 +5885,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_IRON_TAIL, + .battleAnimScript = gBattleAnimMove_IronTail, }, [MOVE_METAL_CLAW] = @@ -5914,7 +5912,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_METAL_SOUND}, - .battleAnimScript = Move_METAL_CLAW, + .battleAnimScript = gBattleAnimMove_MetalClaw, }, [MOVE_VITAL_THROW] = @@ -5936,7 +5934,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FAKE_OUT}, - .battleAnimScript = Move_VITAL_THROW, + .battleAnimScript = gBattleAnimMove_VitalThrow, }, [MOVE_MORNING_SUN] = @@ -5962,7 +5960,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_MORNING_SUN, + .battleAnimScript = gBattleAnimMove_MorningSun, }, [MOVE_SYNTHESIS] = @@ -5988,7 +5986,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_SYNTHESIS, + .battleAnimScript = gBattleAnimMove_Synthesis, }, [MOVE_MOONLIGHT] = @@ -6014,7 +6012,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_MOONLIGHT, + .battleAnimScript = gBattleAnimMove_Moonlight, }, [MOVE_HIDDEN_POWER] = @@ -6035,7 +6033,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HIDDEN_POWER, + .battleAnimScript = gBattleAnimMove_HiddenPower, }, [MOVE_CROSS_CHOP] = @@ -6058,7 +6056,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_CROSS_CHOP, + .battleAnimScript = gBattleAnimMove_CrossChop, }, [MOVE_TWISTER] = @@ -6085,7 +6083,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TWISTER, + .battleAnimScript = gBattleAnimMove_Twister, }, [MOVE_RAIN_DANCE] = @@ -6109,7 +6107,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_RAIN_DANCE, .contestComboMoves = {0}, - .battleAnimScript = Move_RAIN_DANCE, + .battleAnimScript = gBattleAnimMove_RainDance, }, [MOVE_SUNNY_DAY] = @@ -6133,7 +6131,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_SUNNY_DAY, .contestComboMoves = {0}, - .battleAnimScript = Move_SUNNY_DAY, + .battleAnimScript = gBattleAnimMove_SunnyDay, }, [MOVE_CRUNCH] = @@ -6168,7 +6166,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SCARY_FACE}, - .battleAnimScript = Move_CRUNCH, + .battleAnimScript = gBattleAnimMove_Crunch, }, [MOVE_MIRROR_COAT] = @@ -6193,7 +6191,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TAUNT}, - .battleAnimScript = Move_MIRROR_COAT, + .battleAnimScript = gBattleAnimMove_MirrorCoat, }, [MOVE_PSYCH_UP] = @@ -6219,12 +6217,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PSYCH_UP, + .battleAnimScript = gBattleAnimMove_PsychUp, }, [MOVE_EXTREME_SPEED] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ExtremeSpeed", "Extreme Speed"), + .name = COMPOUND_STRING("Extreme Speed"), .description = COMPOUND_STRING( "An extremely fast and\n" "powerful attack."), @@ -6241,12 +6239,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_EXTREME_SPEED, + .battleAnimScript = gBattleAnimMove_ExtremeSpeed, }, [MOVE_ANCIENT_POWER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("AncientPower", "Ancient Power"), + .name = COMPOUND_STRING("Ancient Power"), .description = COMPOUND_STRING( "An attack that may raise\n" "all stats."), @@ -6268,7 +6266,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ANCIENT_POWER, + .battleAnimScript = gBattleAnimMove_AncientPower, }, [MOVE_SHADOW_BALL] = @@ -6294,7 +6292,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHADOW_BALL, + .battleAnimScript = gBattleAnimMove_ShadowBall, }, [MOVE_FUTURE_SIGHT] = @@ -6323,7 +6321,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND, COMBO_STARTER_CONFUSION, COMBO_STARTER_KINESIS, COMBO_STARTER_PSYCHIC}, - .battleAnimScript = Move_FUTURE_SIGHT, + .battleAnimScript = gBattleAnimMove_FutureSight, }, [MOVE_ROCK_SMASH] = @@ -6349,7 +6347,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROCK_SMASH, + .battleAnimScript = gBattleAnimMove_RockSmash, }, [MOVE_WHIRLPOOL] = @@ -6374,7 +6372,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_WHIRLPOOL, + .battleAnimScript = gBattleAnimMove_Whirlpool, }, [MOVE_BEAT_UP] = @@ -6395,7 +6393,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BEAT_UP, + .battleAnimScript = gBattleAnimMove_BeatUp, }, [MOVE_FAKE_OUT] = @@ -6421,7 +6419,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_FAKE_OUT, .contestComboMoves = {0}, - .battleAnimScript = Move_FAKE_OUT, + .battleAnimScript = gBattleAnimMove_FakeOut, }, [MOVE_UPROAR] = @@ -6454,7 +6452,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_UPROAR, + .battleAnimScript = gBattleAnimMove_Uproar, }, [MOVE_STOCKPILE] = @@ -6479,7 +6477,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_STOCKPILE, .contestComboMoves = {0}, - .battleAnimScript = Move_STOCKPILE, + .battleAnimScript = gBattleAnimMove_Stockpile, }, [MOVE_SPIT_UP] = @@ -6501,7 +6499,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_STOCKPILE}, - .battleAnimScript = Move_SPIT_UP, + .battleAnimScript = gBattleAnimMove_SpitUp, }, [MOVE_SWALLOW] = @@ -6527,7 +6525,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_STOCKPILE}, - .battleAnimScript = Move_SWALLOW, + .battleAnimScript = gBattleAnimMove_Swallow, }, [MOVE_HEAT_WAVE] = @@ -6553,7 +6551,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_HEAT_WAVE, + .battleAnimScript = gBattleAnimMove_HeatWave, }, [MOVE_HAIL] = @@ -6577,7 +6575,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_HAIL, .contestComboMoves = {0}, - .battleAnimScript = Move_HAIL, + .battleAnimScript = gBattleAnimMove_Hail, }, [MOVE_TORMENT] = @@ -6600,7 +6598,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TORMENT, + .battleAnimScript = gBattleAnimMove_Torment, }, [MOVE_FLATTER] = @@ -6623,7 +6621,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARM}, - .battleAnimScript = Move_FLATTER, + .battleAnimScript = gBattleAnimMove_Flatter, }, [MOVE_WILL_O_WISP] = @@ -6646,7 +6644,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_WILL_O_WISP, + .battleAnimScript = gBattleAnimMove_WillOWisp, }, [MOVE_MEMENTO] = @@ -6668,7 +6666,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MEMENTO, + .battleAnimScript = gBattleAnimMove_Memento, }, [MOVE_FACADE] = @@ -6690,7 +6688,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FACADE, + .battleAnimScript = gBattleAnimMove_Facade, }, [MOVE_FOCUS_PUNCH] = @@ -6720,12 +6718,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_FOCUS_PUNCH, + .battleAnimScript = gBattleAnimMove_FocusPunch, }, [MOVE_SMELLING_SALTS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SmellngSalts", "Smelling Salts"), + .name = COMPOUND_STRING("Smelling Salts"), .description = COMPOUND_STRING( "Powerful against paralyzed\n" "foes, but also heals them."), @@ -6746,7 +6744,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SMELLING_SALTS, + .battleAnimScript = gBattleAnimMove_SmellingSalts, }, [MOVE_FOLLOW_ME] = @@ -6773,7 +6771,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FOLLOW_ME, + .battleAnimScript = gBattleAnimMove_FollowMe, }, [MOVE_NATURE_POWER] = @@ -6801,7 +6799,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NATURE_POWER, + .battleAnimScript = gBattleAnimMove_NaturePower, }, [MOVE_CHARGE] = @@ -6826,7 +6824,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_CHARGE, .contestComboMoves = {0}, - .battleAnimScript = Move_CHARGE, + .battleAnimScript = gBattleAnimMove_Charge, }, [MOVE_TAUNT] = @@ -6850,7 +6848,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_TAUNT, .contestComboMoves = {0}, - .battleAnimScript = Move_TAUNT, + .battleAnimScript = gBattleAnimMove_Taunt, }, [MOVE_HELPING_HAND] = @@ -6878,7 +6876,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HELPING_HAND, + .battleAnimScript = gBattleAnimMove_HelpingHand, }, [MOVE_TRICK] = @@ -6903,7 +6901,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TRICK, + .battleAnimScript = gBattleAnimMove_Trick, }, [MOVE_ROLE_PLAY] = @@ -6928,7 +6926,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROLE_PLAY, + .battleAnimScript = gBattleAnimMove_RolePlay, }, [MOVE_WISH] = @@ -6954,7 +6952,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WISH, + .battleAnimScript = gBattleAnimMove_Wish, }, [MOVE_ASSIST] = @@ -6984,7 +6982,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ASSIST, + .battleAnimScript = gBattleAnimMove_Assist, }, [MOVE_INGRAIN] = @@ -7010,7 +7008,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_INGRAIN, + .battleAnimScript = gBattleAnimMove_Ingrain, }, [MOVE_SUPERPOWER] = @@ -7036,7 +7034,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LOCK_ON, COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_SUPERPOWER, + .battleAnimScript = gBattleAnimMove_Superpower, }, [MOVE_MAGIC_COAT] = @@ -7060,7 +7058,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MAGIC_COAT, + .battleAnimScript = gBattleAnimMove_MagicCoat, }, [MOVE_RECYCLE] = @@ -7085,7 +7083,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RECYCLE, + .battleAnimScript = gBattleAnimMove_Recycle, }, [MOVE_REVENGE] = @@ -7105,7 +7103,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_REVENGE, .contestComboMoves = {COMBO_STARTER_PAYBACK}, - .battleAnimScript = Move_REVENGE, + .battleAnimScript = gBattleAnimMove_Revenge, }, [MOVE_BRICK_BREAK] = @@ -7127,7 +7125,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_BRICK_BREAK, + .battleAnimScript = gBattleAnimMove_BrickBreak, }, [MOVE_YAWN] = @@ -7150,7 +7148,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_YAWN, .contestComboMoves = {0}, - .battleAnimScript = Move_YAWN, + .battleAnimScript = gBattleAnimMove_Yawn, }, [MOVE_KNOCK_OFF] = @@ -7175,7 +7173,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FAKE_OUT}, - .battleAnimScript = Move_KNOCK_OFF, + .battleAnimScript = gBattleAnimMove_KnockOff, }, [MOVE_ENDEAVOR] = @@ -7198,7 +7196,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ENDURE}, - .battleAnimScript = Move_ENDEAVOR, + .battleAnimScript = gBattleAnimMove_Endeavor, }, [MOVE_ERUPTION] = @@ -7207,7 +7205,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "The higher the user's HP,\n" "the more damage caused."), - .effect = EFFECT_ERUPTION, + .effect = EFFECT_POWER_BASED_ON_USER_HP, .power = 150, .type = TYPE_FIRE, .accuracy = 100, @@ -7219,7 +7217,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_EARTHQUAKE, COMBO_STARTER_ENDURE, COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_ERUPTION, + .battleAnimScript = gBattleAnimMove_Eruption, }, [MOVE_SKILL_SWAP] = @@ -7242,7 +7240,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SKILL_SWAP, + .battleAnimScript = gBattleAnimMove_SkillSwap, }, [MOVE_IMPRISON] = @@ -7269,7 +7267,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_IMPRISON, + .battleAnimScript = gBattleAnimMove_Imprison, }, [MOVE_REFRESH] = @@ -7294,7 +7292,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SING, COMBO_STARTER_WATER_SPORT}, - .battleAnimScript = Move_REFRESH, + .battleAnimScript = gBattleAnimMove_Refresh, }, [MOVE_GRUDGE] = @@ -7319,7 +7317,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CURSE}, - .battleAnimScript = Move_GRUDGE, + .battleAnimScript = gBattleAnimMove_Grudge, }, [MOVE_SNATCH] = @@ -7346,7 +7344,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SNATCH, + .battleAnimScript = gBattleAnimMove_Snatch, }, [MOVE_SECRET_POWER] = @@ -7371,7 +7369,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SECRET_POWER, + .battleAnimScript = gBattleAnimMove_SecretPower, }, [MOVE_DIVE] = @@ -7398,7 +7396,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_DIVE, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SURF}, - .battleAnimScript = Move_DIVE, + .battleAnimScript = gBattleAnimMove_Dive, }, [MOVE_ARM_THRUST] = @@ -7420,7 +7418,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FAKE_OUT, COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_ARM_THRUST, + .battleAnimScript = gBattleAnimMove_ArmThrust, }, [MOVE_CAMOUFLAGE] = @@ -7445,7 +7443,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CAMOUFLAGE, + .battleAnimScript = gBattleAnimMove_Camouflage, }, [MOVE_TAIL_GLOW] = @@ -7470,7 +7468,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TAIL_GLOW, + .battleAnimScript = gBattleAnimMove_TailGlow, }, [MOVE_LUSTER_PURGE] = @@ -7495,7 +7493,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, - .battleAnimScript = Move_LUSTER_PURGE, + .battleAnimScript = gBattleAnimMove_LusterPurge, }, [MOVE_MIST_BALL] = @@ -7521,12 +7519,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, - .battleAnimScript = Move_MIST_BALL, + .battleAnimScript = gBattleAnimMove_MistBall, }, [MOVE_FEATHER_DANCE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("FeatherDance", "Feather Dance"), + .name = COMPOUND_STRING("Feather Dance"), .description = COMPOUND_STRING( "Envelops the foe with down\n" "to sharply reduce Attack."), @@ -7545,7 +7543,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FEATHER_DANCE, + .battleAnimScript = gBattleAnimMove_FeatherDance, }, [MOVE_TEETER_DANCE] = @@ -7569,7 +7567,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TEETER_DANCE, + .battleAnimScript = gBattleAnimMove_TeeterDance, }, [MOVE_BLAZE_KICK] = @@ -7596,7 +7594,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_BLAZE_KICK, + .battleAnimScript = gBattleAnimMove_BlazeKick, }, [MOVE_MUD_SPORT] = @@ -7621,7 +7619,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_MUD_SPORT, .contestComboMoves = {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM, COMBO_STARTER_WATER_SPORT}, - .battleAnimScript = Move_MUD_SPORT, + .battleAnimScript = gBattleAnimMove_MudSport, }, [MOVE_ICE_BALL] = @@ -7646,7 +7644,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, - .battleAnimScript = Move_ICE_BALL, + .battleAnimScript = gBattleAnimMove_IceBall, }, [MOVE_NEEDLE_ARM] = @@ -7673,7 +7671,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NEEDLE_ARM, + .battleAnimScript = gBattleAnimMove_NeedleArm, }, [MOVE_SLACK_OFF] = @@ -7699,7 +7697,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SLACK_OFF, + .battleAnimScript = gBattleAnimMove_SlackOff, }, [MOVE_HYPER_VOICE] = @@ -7722,7 +7720,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HYPER_VOICE, + .battleAnimScript = gBattleAnimMove_HyperVoice, }, [MOVE_POISON_FANG] = @@ -7749,7 +7747,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POISON_FANG, + .battleAnimScript = gBattleAnimMove_PoisonFang, }, [MOVE_CRUSH_CLAW] = @@ -7775,7 +7773,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWORDS_DANCE}, - .battleAnimScript = Move_CRUSH_CLAW, + .battleAnimScript = gBattleAnimMove_CrushClaw, }, [MOVE_BLAST_BURN] = @@ -7800,7 +7798,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_BLAST_BURN, + .battleAnimScript = gBattleAnimMove_BlastBurn, }, [MOVE_HYDRO_CANNON] = @@ -7825,7 +7823,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_HYDRO_CANNON, + .battleAnimScript = gBattleAnimMove_HydroCannon, }, [MOVE_METEOR_MASH] = @@ -7853,7 +7851,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_METEOR_MASH, + .battleAnimScript = gBattleAnimMove_MeteorMash, }, [MOVE_ASTONISH] = @@ -7880,7 +7878,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ASTONISH, + .battleAnimScript = gBattleAnimMove_Astonish, }, [MOVE_WEATHER_BALL] = @@ -7903,7 +7901,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SANDSTORM, COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_WEATHER_BALL, + .battleAnimScript = gBattleAnimMove_WeatherBall, }, [MOVE_AROMATHERAPY] = @@ -7928,7 +7926,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AROMATHERAPY, + .battleAnimScript = gBattleAnimMove_Aromatherapy, }, [MOVE_FAKE_TEARS] = @@ -7951,7 +7949,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FAKE_TEARS, + .battleAnimScript = gBattleAnimMove_FakeTears, }, [MOVE_AIR_CUTTER] = @@ -7975,7 +7973,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AIR_CUTTER, + .battleAnimScript = gBattleAnimMove_AirCutter, }, [MOVE_OVERHEAT] = @@ -8001,7 +7999,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_OVERHEAT, + .battleAnimScript = gBattleAnimMove_Overheat, }, [MOVE_ODOR_SLEUTH] = @@ -8025,7 +8023,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ODOR_SLEUTH, + .battleAnimScript = gBattleAnimMove_OdorSleuth, }, [MOVE_ROCK_TOMB] = @@ -8050,7 +8048,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ROCK_THROW}, - .battleAnimScript = Move_ROCK_TOMB, + .battleAnimScript = gBattleAnimMove_RockTomb, }, [MOVE_SILVER_WIND] = @@ -8077,7 +8075,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SILVER_WIND, + .battleAnimScript = gBattleAnimMove_SilverWind, }, [MOVE_METAL_SOUND] = @@ -8102,12 +8100,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_METAL_SOUND, .contestComboMoves = {0}, - .battleAnimScript = Move_METAL_SOUND, + .battleAnimScript = gBattleAnimMove_MetalSound, }, [MOVE_GRASS_WHISTLE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("GrassWhistle", "Grass Whistle"), + .name = COMPOUND_STRING("Grass Whistle"), .description = COMPOUND_STRING( "Lulls the foe into sleep\n" "with a pleasant melody."), @@ -8127,7 +8125,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GRASS_WHISTLE, + .battleAnimScript = gBattleAnimMove_GrassWhistle, }, [MOVE_TICKLE] = @@ -8150,7 +8148,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TICKLE, + .battleAnimScript = gBattleAnimMove_Tickle, }, [MOVE_COSMIC_POWER] = @@ -8175,7 +8173,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COSMIC_POWER, + .battleAnimScript = gBattleAnimMove_CosmicPower, }, [MOVE_WATER_SPOUT] = @@ -8184,7 +8182,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "Inflicts more damage if the\n" "user's HP is high."), - .effect = EFFECT_ERUPTION, + .effect = EFFECT_POWER_BASED_ON_USER_HP, .power = 150, .type = TYPE_WATER, .accuracy = 100, @@ -8196,7 +8194,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_WATER_SPOUT, + .battleAnimScript = gBattleAnimMove_WaterSpout, }, [MOVE_SIGNAL_BEAM] = @@ -8221,7 +8219,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SIGNAL_BEAM, + .battleAnimScript = gBattleAnimMove_SignalBeam, }, [MOVE_SHADOW_PUNCH] = @@ -8244,7 +8242,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHADOW_PUNCH, + .battleAnimScript = gBattleAnimMove_ShadowPunch, }, [MOVE_EXTRASENSORY] = @@ -8270,7 +8268,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_EXTRASENSORY, + .battleAnimScript = gBattleAnimMove_Extrasensory, }, [MOVE_SKY_UPPERCUT] = @@ -8294,7 +8292,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_SKY_UPPERCUT, + .battleAnimScript = gBattleAnimMove_SkyUppercut, }, [MOVE_SAND_TOMB] = @@ -8318,7 +8316,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SANDSTORM}, - .battleAnimScript = Move_SAND_TOMB, + .battleAnimScript = gBattleAnimMove_SandTomb, }, [MOVE_SHEER_COLD] = @@ -8339,7 +8337,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL, COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_SHEER_COLD, + .battleAnimScript = gBattleAnimMove_SheerCold, }, [MOVE_MUDDY_WATER] = @@ -8365,7 +8363,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_MUDDY_WATER, + .battleAnimScript = gBattleAnimMove_MuddyWater, }, [MOVE_BULLET_SEED] = @@ -8387,7 +8385,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_BULLET_SEED, + .battleAnimScript = gBattleAnimMove_BulletSeed, }, [MOVE_AERIAL_ACE] = @@ -8410,7 +8408,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AERIAL_ACE, + .battleAnimScript = gBattleAnimMove_AerialAce, }, [MOVE_ICICLE_SPEAR] = @@ -8431,7 +8429,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ICICLE_SPEAR, + .battleAnimScript = gBattleAnimMove_IcicleSpear, }, [MOVE_IRON_DEFENSE] = @@ -8456,7 +8454,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_IRON_DEFENSE, + .battleAnimScript = gBattleAnimMove_IronDefense, }, [MOVE_BLOCK] = @@ -8480,7 +8478,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BLOCK, + .battleAnimScript = gBattleAnimMove_Block, }, [MOVE_HOWL] = @@ -8494,7 +8492,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .type = TYPE_NORMAL, .accuracy = 0, .pp = 40, - .target = MOVE_TARGET_USER, + .target = MOVE_TARGET_USER, // Targeting is handled through the script .priority = 0, .category = DAMAGE_CATEGORY_STATUS, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, @@ -8506,7 +8504,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HOWL, + .battleAnimScript = gBattleAnimMove_Howl, }, [MOVE_DRAGON_CLAW] = @@ -8528,7 +8526,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL}, - .battleAnimScript = Move_DRAGON_CLAW, + .battleAnimScript = gBattleAnimMove_DragonClaw, }, [MOVE_FRENZY_PLANT] = @@ -8554,7 +8552,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_FRENZY_PLANT, + .battleAnimScript = gBattleAnimMove_FrenzyPlant, }, [MOVE_BULK_UP] = @@ -8579,7 +8577,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BULK_UP, + .battleAnimScript = gBattleAnimMove_BulkUp, }, [MOVE_BOUNCE] = @@ -8610,7 +8608,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BOUNCE, + .battleAnimScript = gBattleAnimMove_Bounce, }, [MOVE_MUD_SHOT] = @@ -8635,7 +8633,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SANDSTORM}, - .battleAnimScript = Move_MUD_SHOT, + .battleAnimScript = gBattleAnimMove_MudShot, }, [MOVE_POISON_TAIL] = @@ -8662,7 +8660,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POISON_TAIL, + .battleAnimScript = gBattleAnimMove_PoisonTail, }, [MOVE_COVET] = @@ -8691,7 +8689,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COVET, + .battleAnimScript = gBattleAnimMove_Covet, }, [MOVE_VOLT_TACKLE] = @@ -8720,7 +8718,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_VOLT_TACKLE, + .battleAnimScript = gBattleAnimMove_VoltTackle, }, [MOVE_MAGICAL_LEAF] = @@ -8741,7 +8739,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_MAGICAL_LEAF, + .battleAnimScript = gBattleAnimMove_MagicalLeaf, }, [MOVE_WATER_SPORT] = @@ -8766,7 +8764,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_WATER_SPORT, .contestComboMoves = {COMBO_STARTER_MUD_SPORT, COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_WATER_SPORT, + .battleAnimScript = gBattleAnimMove_WaterSport, }, [MOVE_CALM_MIND] = @@ -8791,7 +8789,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_CALM_MIND, .contestComboMoves = {0}, - .battleAnimScript = Move_CALM_MIND, + .battleAnimScript = gBattleAnimMove_CalmMind, }, [MOVE_LEAF_BLADE] = @@ -8815,7 +8813,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LEAF_BLADE, + .battleAnimScript = gBattleAnimMove_LeafBlade, }, [MOVE_DRAGON_DANCE] = @@ -8841,7 +8839,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_DRAGON_DANCE, .contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL}, - .battleAnimScript = Move_DRAGON_DANCE, + .battleAnimScript = gBattleAnimMove_DragonDance, }, [MOVE_ROCK_BLAST] = @@ -8863,7 +8861,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROCK_BLAST, + .battleAnimScript = gBattleAnimMove_RockBlast, }, [MOVE_SHOCK_WAVE] = @@ -8884,7 +8882,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, - .battleAnimScript = Move_SHOCK_WAVE, + .battleAnimScript = gBattleAnimMove_ShockWave, }, [MOVE_WATER_PULSE] = @@ -8910,7 +8908,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_WATER_PULSE, + .battleAnimScript = gBattleAnimMove_WaterPulse, }, [MOVE_DOOM_DESIRE] = @@ -8933,7 +8931,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DOOM_DESIRE, + .battleAnimScript = gBattleAnimMove_DoomDesire, }, [MOVE_PSYCHO_BOOST] = @@ -8958,7 +8956,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, - .battleAnimScript = Move_PSYCHO_BOOST, + .battleAnimScript = gBattleAnimMove_PsychoBoost, }, [MOVE_ROOST] = @@ -8984,7 +8982,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_BRAVE_BIRD}, - .battleAnimScript = Move_ROOST, + .battleAnimScript = gBattleAnimMove_Roost, }, [MOVE_GRAVITY] = @@ -9009,7 +9007,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GRAVITY, + .battleAnimScript = gBattleAnimMove_Gravity, }, [MOVE_MIRACLE_EYE] = @@ -9033,7 +9031,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MIRACLE_EYE, + .battleAnimScript = gBattleAnimMove_MiracleEye, }, [MOVE_WAKE_UP_SLAP] = @@ -9059,7 +9057,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WAKE_UP_SLAP, + .battleAnimScript = gBattleAnimMove_WakeUpSlap, }, [MOVE_HAMMER_ARM] = @@ -9086,7 +9084,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_HAMMER_ARM, + .battleAnimScript = gBattleAnimMove_HammerArm, }, [MOVE_GYRO_BALL] = @@ -9109,7 +9107,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GYRO_BALL, + .battleAnimScript = gBattleAnimMove_GyroBall, }, [MOVE_HEALING_WISH] = @@ -9132,7 +9130,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEALING_WISH, + .battleAnimScript = gBattleAnimMove_HealingWish, }, [MOVE_BRINE] = @@ -9153,7 +9151,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_BRINE, + .battleAnimScript = gBattleAnimMove_Brine, }, [MOVE_NATURAL_GIFT] = @@ -9174,7 +9172,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NATURAL_GIFT, + .battleAnimScript = gBattleAnimMove_NaturalGift, }, [MOVE_FEINT] = @@ -9201,7 +9199,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FEINT, + .battleAnimScript = gBattleAnimMove_Feint, }, [MOVE_PLUCK] = @@ -9224,7 +9222,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PLUCK, + .battleAnimScript = gBattleAnimMove_Pluck, }, [MOVE_TAILWIND] = @@ -9250,7 +9248,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TAILWIND, + .battleAnimScript = gBattleAnimMove_Tailwind, }, [MOVE_ACUPRESSURE] = @@ -9275,7 +9273,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ACUPRESSURE, + .battleAnimScript = gBattleAnimMove_Acupressure, }, [MOVE_METAL_BURST] = @@ -9297,7 +9295,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_METAL_SOUND}, - .battleAnimScript = Move_METAL_BURST, + .battleAnimScript = gBattleAnimMove_MetalBurst, }, [MOVE_U_TURN] = @@ -9317,7 +9315,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_U_TURN, + .battleAnimScript = gBattleAnimMove_UTurn, }, [MOVE_CLOSE_COMBAT] = @@ -9341,7 +9339,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_CLOSE_COMBAT, + .battleAnimScript = gBattleAnimMove_CloseCombat, }, [MOVE_PAYBACK] = @@ -9363,7 +9361,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_PAYBACK, .contestComboMoves = {COMBO_STARTER_REVENGE}, - .battleAnimScript = Move_PAYBACK, + .battleAnimScript = gBattleAnimMove_Payback, }, [MOVE_ASSURANCE] = @@ -9385,7 +9383,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_PAYBACK, COMBO_STARTER_REVENGE}, - .battleAnimScript = Move_ASSURANCE, + .battleAnimScript = gBattleAnimMove_Assurance, }, [MOVE_EMBARGO] = @@ -9408,7 +9406,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_EMBARGO, + .battleAnimScript = gBattleAnimMove_Embargo, }, [MOVE_FLING] = @@ -9430,7 +9428,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLING, + .battleAnimScript = gBattleAnimMove_Fling, }, [MOVE_PSYCHO_SHIFT] = @@ -9452,7 +9450,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PSYCHO_SHIFT, + .battleAnimScript = gBattleAnimMove_PsychoShift, }, [MOVE_TRUMP_CARD] = @@ -9474,7 +9472,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TRUMP_CARD, + .battleAnimScript = gBattleAnimMove_TrumpCard, }, [MOVE_HEAL_BLOCK] = @@ -9497,28 +9495,27 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEAL_BLOCK, + .battleAnimScript = gBattleAnimMove_HealBlock, }, [MOVE_WRING_OUT] = { .name = COMPOUND_STRING("Wring Out"), .description = sWringOutDescription, - .effect = EFFECT_VARY_POWER_BASED_ON_HP, - .power = 1, + .effect = EFFECT_POWER_BASED_ON_TARGET_HP, + .power = 120, .type = TYPE_NORMAL, .accuracy = 100, .pp = 5, .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, - .argument = 120, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WRING_OUT, + .battleAnimScript = gBattleAnimMove_WringOut, }, [MOVE_POWER_TRICK] = @@ -9543,7 +9540,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POWER_TRICK, + .battleAnimScript = gBattleAnimMove_PowerTrick, }, [MOVE_GASTRO_ACID] = @@ -9566,7 +9563,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GASTRO_ACID, + .battleAnimScript = gBattleAnimMove_GastroAcid, }, [MOVE_LUCKY_CHANT] = @@ -9591,7 +9588,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_LUCKY_CHANT, .contestComboMoves = {COMBO_STARTER_HEAL_BELL}, - .battleAnimScript = Move_LUCKY_CHANT, + .battleAnimScript = gBattleAnimMove_LuckyChant, }, [MOVE_ME_FIRST] = @@ -9623,7 +9620,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ME_FIRST, + .battleAnimScript = gBattleAnimMove_MeFirst, }, [MOVE_COPYCAT] = @@ -9654,7 +9651,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COPYCAT, + .battleAnimScript = gBattleAnimMove_Copycat, }, [MOVE_POWER_SWAP] = @@ -9677,7 +9674,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POWER_SWAP, + .battleAnimScript = gBattleAnimMove_PowerSwap, }, [MOVE_GUARD_SWAP] = @@ -9700,7 +9697,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GUARD_SWAP, + .battleAnimScript = gBattleAnimMove_GuardSwap, }, [MOVE_PUNISHMENT] = @@ -9722,7 +9719,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PUNISHMENT, + .battleAnimScript = gBattleAnimMove_Punishment, }, [MOVE_LAST_RESORT] = @@ -9744,7 +9741,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LAST_RESORT, + .battleAnimScript = gBattleAnimMove_LastResort, }, [MOVE_WORRY_SEED] = @@ -9767,7 +9764,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_WORRY_SEED, .contestComboMoves = {COMBO_STARTER_LEECH_SEED}, - .battleAnimScript = Move_WORRY_SEED, + .battleAnimScript = gBattleAnimMove_WorrySeed, }, [MOVE_SUCKER_PUNCH] = @@ -9787,7 +9784,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SUCKER_PUNCH, + .battleAnimScript = gBattleAnimMove_SuckerPunch, }, [MOVE_TOXIC_SPIKES] = @@ -9814,7 +9811,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TOXIC_SPIKES, + .battleAnimScript = gBattleAnimMove_ToxicSpikes, }, [MOVE_HEART_SWAP] = @@ -9837,7 +9834,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEART_SWAP, + .battleAnimScript = gBattleAnimMove_HeartSwap, }, [MOVE_AQUA_RING] = @@ -9862,7 +9859,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AQUA_RING, + .battleAnimScript = gBattleAnimMove_AquaRing, }, [MOVE_MAGNET_RISE] = @@ -9888,7 +9885,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MAGNET_RISE, + .battleAnimScript = gBattleAnimMove_MagnetRise, }, [MOVE_FLARE_BLITZ] = @@ -9916,7 +9913,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_FLARE_BLITZ, + .battleAnimScript = gBattleAnimMove_FlareBlitz, }, [MOVE_FORCE_PALM] = @@ -9942,7 +9939,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FORCE_PALM, + .battleAnimScript = gBattleAnimMove_ForcePalm, }, [MOVE_AURA_SPHERE] = @@ -9965,7 +9962,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AURA_SPHERE, + .battleAnimScript = gBattleAnimMove_AuraSphere, }, [MOVE_ROCK_POLISH] = @@ -9990,7 +9987,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROCK_POLISH, + .battleAnimScript = gBattleAnimMove_RockPolish, }, [MOVE_POISON_JAB] = @@ -10016,7 +10013,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POISON_JAB, + .battleAnimScript = gBattleAnimMove_PoisonJab, }, [MOVE_DARK_PULSE] = @@ -10042,7 +10039,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DARK_PULSE, + .battleAnimScript = gBattleAnimMove_DarkPulse, }, [MOVE_NIGHT_SLASH] = @@ -10066,7 +10063,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NIGHT_SLASH, + .battleAnimScript = gBattleAnimMove_NightSlash, }, [MOVE_AQUA_TAIL] = @@ -10088,7 +10085,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_AQUA_TAIL, + .battleAnimScript = gBattleAnimMove_AquaTail, }, [MOVE_SEED_BOMB] = @@ -10110,7 +10107,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SEED_BOMB, + .battleAnimScript = gBattleAnimMove_SeedBomb, }, [MOVE_AIR_SLASH] = @@ -10136,7 +10133,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AIR_SLASH, + .battleAnimScript = gBattleAnimMove_AirSlash, }, [MOVE_X_SCISSOR] = @@ -10159,7 +10156,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWORDS_DANCE}, - .battleAnimScript = Move_X_SCISSOR, + .battleAnimScript = gBattleAnimMove_XScissor, }, [MOVE_BUG_BUZZ] = @@ -10186,7 +10183,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BUG_BUZZ, + .battleAnimScript = gBattleAnimMove_BugBuzz, }, [MOVE_DRAGON_PULSE] = @@ -10208,7 +10205,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DRAGON_PULSE, + .battleAnimScript = gBattleAnimMove_DragonPulse, }, [MOVE_DRAGON_RUSH] = @@ -10235,7 +10232,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_DRAGON_RUSH, .contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_TAIL}, - .battleAnimScript = Move_DRAGON_RUSH, + .battleAnimScript = gBattleAnimMove_DragonRush, }, [MOVE_POWER_GEM] = @@ -10256,7 +10253,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POWER_GEM, + .battleAnimScript = gBattleAnimMove_PowerGem, }, [MOVE_DRAIN_PUNCH] = @@ -10271,6 +10268,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, + .argument = 50, .makesContact = TRUE, .punchingMove = TRUE, .healingMove = B_HEAL_BLOCKING >= GEN_6, @@ -10278,7 +10276,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_DRAIN_PUNCH, + .battleAnimScript = gBattleAnimMove_DrainPunch, }, [MOVE_VACUUM_WAVE] = @@ -10299,7 +10297,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_VACUUM_WAVE, + .battleAnimScript = gBattleAnimMove_VacuumWave, }, [MOVE_FOCUS_BLAST] = @@ -10325,7 +10323,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_FOCUS_BLAST, + .battleAnimScript = gBattleAnimMove_FocusBlast, }, [MOVE_ENERGY_BALL] = @@ -10351,7 +10349,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_ENERGY_BALL, + .battleAnimScript = gBattleAnimMove_EnergyBall, }, [MOVE_BRAVE_BIRD] = @@ -10374,7 +10372,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_BRAVE_BIRD, .contestComboMoves = {0}, - .battleAnimScript = Move_BRAVE_BIRD, + .battleAnimScript = gBattleAnimMove_BraveBird, }, [MOVE_EARTH_POWER] = @@ -10400,7 +10398,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_EARTH_POWER, + .battleAnimScript = gBattleAnimMove_EarthPower, }, [MOVE_SWITCHEROO] = @@ -10425,7 +10423,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SWITCHEROO, + .battleAnimScript = gBattleAnimMove_Switcheroo, }, [MOVE_GIGA_IMPACT] = @@ -10449,7 +10447,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GIGA_IMPACT, + .battleAnimScript = gBattleAnimMove_GigaImpact, }, [MOVE_NASTY_PLOT] = @@ -10474,7 +10472,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NASTY_PLOT, + .battleAnimScript = gBattleAnimMove_NastyPlot, }, [MOVE_BULLET_PUNCH] = @@ -10497,7 +10495,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BULLET_PUNCH, + .battleAnimScript = gBattleAnimMove_BulletPunch, }, [MOVE_AVALANCHE] = @@ -10517,7 +10515,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AVALANCHE, + .battleAnimScript = gBattleAnimMove_Avalanche, }, [MOVE_ICE_SHARD] = @@ -10538,7 +10536,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ICE_SHARD, + .battleAnimScript = gBattleAnimMove_IceShard, }, [MOVE_SHADOW_CLAW] = @@ -10561,7 +10559,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHADOW_CLAW, + .battleAnimScript = gBattleAnimMove_ShadowClaw, }, [MOVE_THUNDER_FANG] = @@ -10592,7 +10590,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_THUNDER_FANG, .contestComboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_FANG, COMBO_STARTER_ICE_FANG}, - .battleAnimScript = Move_THUNDER_FANG, + .battleAnimScript = gBattleAnimMove_ThunderFang, }, [MOVE_ICE_FANG] = @@ -10627,7 +10625,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_ICE_FANG, .contestComboMoves = {COMBO_STARTER_FIRE_FANG, COMBO_STARTER_THUNDER_FANG}, - .battleAnimScript = Move_ICE_FANG, + .battleAnimScript = gBattleAnimMove_IceFang, }, [MOVE_FIRE_FANG] = @@ -10658,7 +10656,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_FIRE_FANG, .contestComboMoves = {COMBO_STARTER_ICE_FANG, COMBO_STARTER_THUNDER_FANG}, - .battleAnimScript = Move_FIRE_FANG, + .battleAnimScript = gBattleAnimMove_FireFang, }, [MOVE_SHADOW_SNEAK] = @@ -10680,7 +10678,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHADOW_SNEAK, + .battleAnimScript = gBattleAnimMove_ShadowSneak, }, [MOVE_MUD_BOMB] = @@ -10706,7 +10704,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MUD_BOMB, + .battleAnimScript = gBattleAnimMove_MudBomb, }, [MOVE_PSYCHO_CUT] = @@ -10729,7 +10727,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PSYCHO_CUT, + .battleAnimScript = gBattleAnimMove_PsychoCut, }, [MOVE_ZEN_HEADBUTT] = @@ -10755,7 +10753,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ZEN_HEADBUTT, + .battleAnimScript = gBattleAnimMove_ZenHeadbutt, }, [MOVE_MIRROR_SHOT] = @@ -10780,7 +10778,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MIRROR_SHOT, + .battleAnimScript = gBattleAnimMove_MirrorShot, }, [MOVE_FLASH_CANNON] = @@ -10805,7 +10803,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLASH_CANNON, + .battleAnimScript = gBattleAnimMove_FlashCannon, }, [MOVE_ROCK_CLIMB] = @@ -10831,7 +10829,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROCK_CLIMB, + .battleAnimScript = gBattleAnimMove_RockClimb, }, [MOVE_DEFOG] = @@ -10855,7 +10853,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DEFOG, + .battleAnimScript = gBattleAnimMove_Defog, }, [MOVE_TRICK_ROOM] = @@ -10878,7 +10876,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TRICK_ROOM, + .battleAnimScript = gBattleAnimMove_TrickRoom, }, [MOVE_DRACO_METEOR] = @@ -10903,7 +10901,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DRACO_METEOR, + .battleAnimScript = gBattleAnimMove_DracoMeteor, }, [MOVE_DISCHARGE] = @@ -10928,7 +10926,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, - .battleAnimScript = Move_DISCHARGE, + .battleAnimScript = gBattleAnimMove_Discharge, }, [MOVE_LAVA_PLUME] = @@ -10951,7 +10949,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_LAVA_PLUME, + .battleAnimScript = gBattleAnimMove_LavaPlume, }, [MOVE_LEAF_STORM] = @@ -10976,7 +10974,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LEAF_STORM, + .battleAnimScript = gBattleAnimMove_LeafStorm, }, [MOVE_POWER_WHIP] = @@ -10998,7 +10996,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_POWER_WHIP, + .battleAnimScript = gBattleAnimMove_PowerWhip, }, [MOVE_ROCK_WRECKER] = @@ -11022,7 +11020,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROCK_WRECKER, + .battleAnimScript = gBattleAnimMove_RockWrecker, }, [MOVE_CROSS_POISON] = @@ -11050,7 +11048,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CROSS_POISON, + .battleAnimScript = gBattleAnimMove_CrossPoison, }, [MOVE_GUNK_SHOT] = @@ -11075,7 +11073,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GUNK_SHOT, + .battleAnimScript = gBattleAnimMove_GunkShot, }, [MOVE_IRON_HEAD] = @@ -11101,7 +11099,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_IRON_HEAD, + .battleAnimScript = gBattleAnimMove_IronHead, }, [MOVE_MAGNET_BOMB] = @@ -11123,7 +11121,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MAGNET_BOMB, + .battleAnimScript = gBattleAnimMove_MagnetBomb, }, [MOVE_STONE_EDGE] = @@ -11145,7 +11143,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STONE_EDGE, + .battleAnimScript = gBattleAnimMove_StoneEdge, }, [MOVE_CAPTIVATE] = @@ -11168,7 +11166,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARM}, - .battleAnimScript = Move_CAPTIVATE, + .battleAnimScript = gBattleAnimMove_Captivate, }, [MOVE_STEALTH_ROCK] = @@ -11194,7 +11192,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STEALTH_ROCK, + .battleAnimScript = gBattleAnimMove_StealthRock, }, [MOVE_GRASS_KNOT] = @@ -11217,7 +11215,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GRASS_KNOT, + .battleAnimScript = gBattleAnimMove_GrassKnot, }, [MOVE_CHATTER] = @@ -11257,7 +11255,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CHATTER, + .battleAnimScript = gBattleAnimMove_Chatter, }, [MOVE_JUDGMENT] = @@ -11279,7 +11277,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_JUDGMENT, + .battleAnimScript = gBattleAnimMove_Judgment, }, [MOVE_BUG_BITE] = @@ -11302,7 +11300,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BUG_BITE, + .battleAnimScript = gBattleAnimMove_BugBite, }, [MOVE_CHARGE_BEAM] = @@ -11328,7 +11326,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, - .battleAnimScript = Move_CHARGE_BEAM, + .battleAnimScript = gBattleAnimMove_ChargeBeam, }, [MOVE_WOOD_HAMMER] = @@ -11351,7 +11349,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WOOD_HAMMER, + .battleAnimScript = gBattleAnimMove_WoodHammer, }, [MOVE_AQUA_JET] = @@ -11373,7 +11371,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_AQUA_JET, + .battleAnimScript = gBattleAnimMove_AquaJet, }, [MOVE_ATTACK_ORDER] = @@ -11395,7 +11393,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_ATTACK_ORDER, .contestComboMoves = {COMBO_STARTER_DEFEND_ORDER, COMBO_STARTER_HEAL_ORDER}, - .battleAnimScript = Move_ATTACK_ORDER, + .battleAnimScript = gBattleAnimMove_AttackOrder, }, [MOVE_DEFEND_ORDER] = @@ -11420,7 +11418,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_DEFEND_ORDER, .contestComboMoves = {COMBO_STARTER_ATTACK_ORDER, COMBO_STARTER_HEAL_ORDER}, - .battleAnimScript = Move_DEFEND_ORDER, + .battleAnimScript = gBattleAnimMove_DefendOrder, }, [MOVE_HEAL_ORDER] = @@ -11446,7 +11444,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_HEAL_ORDER, .contestComboMoves = {COMBO_STARTER_ATTACK_ORDER, COMBO_STARTER_DEFEND_ORDER}, - .battleAnimScript = Move_HEAL_ORDER, + .battleAnimScript = gBattleAnimMove_HealOrder, }, [MOVE_HEAD_SMASH] = @@ -11469,7 +11467,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEAD_SMASH, + .battleAnimScript = gBattleAnimMove_HeadSmash, }, [MOVE_DOUBLE_HIT] = @@ -11492,7 +11490,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DOUBLE_HIT, + .battleAnimScript = gBattleAnimMove_DoubleHit, }, [MOVE_ROAR_OF_TIME] = @@ -11517,7 +11515,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROAR_OF_TIME, + .battleAnimScript = gBattleAnimMove_RoarOfTime, }, [MOVE_SPACIAL_REND] = @@ -11539,7 +11537,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPACIAL_REND, + .battleAnimScript = gBattleAnimMove_SpacialRend, }, [MOVE_LUNAR_DANCE] = @@ -11563,28 +11561,27 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LUNAR_DANCE, + .battleAnimScript = gBattleAnimMove_LunarDance, }, [MOVE_CRUSH_GRIP] = { .name = COMPOUND_STRING("Crush Grip"), .description = sWringOutDescription, - .effect = EFFECT_VARY_POWER_BASED_ON_HP, - .power = 1, + .effect = EFFECT_POWER_BASED_ON_TARGET_HP, + .power = 120, .type = TYPE_NORMAL, .accuracy = 100, .pp = 5, .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = 120, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CRUSH_GRIP, + .battleAnimScript = gBattleAnimMove_CrushGrip, }, [MOVE_MAGMA_STORM] = @@ -11608,7 +11605,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_MAGMA_STORM, + .battleAnimScript = gBattleAnimMove_MagmaStorm, }, [MOVE_DARK_VOID] = @@ -11632,7 +11629,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DARK_VOID, + .battleAnimScript = gBattleAnimMove_DarkVoid, }, [MOVE_SEED_FLARE] = @@ -11657,7 +11654,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SEED_FLARE, + .battleAnimScript = gBattleAnimMove_SeedFlare, }, [MOVE_OMINOUS_WIND] = @@ -11684,7 +11681,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_OMINOUS_WIND, + .battleAnimScript = gBattleAnimMove_OminousWind, }, [MOVE_SHADOW_FORCE] = @@ -11713,7 +11710,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHADOW_FORCE, + .battleAnimScript = gBattleAnimMove_ShadowForce, }, [MOVE_HONE_CLAWS] = @@ -11738,7 +11735,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HONE_CLAWS, + .battleAnimScript = gBattleAnimMove_HoneClaws, }, [MOVE_WIDE_GUARD] = @@ -11765,7 +11762,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WIDE_GUARD, + .battleAnimScript = gBattleAnimMove_WideGuard, }, [MOVE_GUARD_SPLIT] = @@ -11788,7 +11785,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GUARD_SPLIT, + .battleAnimScript = gBattleAnimMove_GuardSplit, }, [MOVE_POWER_SPLIT] = @@ -11811,7 +11808,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POWER_SPLIT, + .battleAnimScript = gBattleAnimMove_PowerSplit, }, [MOVE_WONDER_ROOM] = @@ -11834,7 +11831,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WONDER_ROOM, + .battleAnimScript = gBattleAnimMove_WonderRoom, }, [MOVE_PSYSHOCK] = @@ -11853,7 +11850,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PSYSHOCK, + .battleAnimScript = gBattleAnimMove_Psyshock, }, [MOVE_VENOSHOCK] = @@ -11875,7 +11872,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TOXIC}, - .battleAnimScript = Move_VENOSHOCK, + .battleAnimScript = gBattleAnimMove_Venoshock, }, [MOVE_AUTOTOMIZE] = @@ -11900,7 +11897,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AUTOTOMIZE, + .battleAnimScript = gBattleAnimMove_Autotomize, }, [MOVE_RAGE_POWDER] = @@ -11928,7 +11925,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RAGE_POWDER, + .battleAnimScript = gBattleAnimMove_RagePowder, }, [MOVE_TELEKINESIS] = @@ -11952,7 +11949,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TELEKINESIS, + .battleAnimScript = gBattleAnimMove_Telekinesis, }, [MOVE_MAGIC_ROOM] = @@ -11975,7 +11972,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MAGIC_ROOM, + .battleAnimScript = gBattleAnimMove_MagicRoom, }, [MOVE_SMACK_DOWN] = @@ -12001,7 +11998,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SMACK_DOWN, + .battleAnimScript = gBattleAnimMove_SmackDown, }, [MOVE_STORM_THROW] = @@ -12022,7 +12019,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STORM_THROW, + .battleAnimScript = gBattleAnimMove_StormThrow, }, [MOVE_FLAME_BURST] = @@ -12047,7 +12044,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLAME_BURST, + .battleAnimScript = gBattleAnimMove_FlameBurst, }, [MOVE_SLUDGE_WAVE] = @@ -12072,7 +12069,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SLUDGE_WAVE, + .battleAnimScript = gBattleAnimMove_SludgeWave, }, [MOVE_QUIVER_DANCE] = @@ -12098,7 +12095,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_QUIVER_DANCE, + .battleAnimScript = gBattleAnimMove_QuiverDance, }, [MOVE_HEAVY_SLAM] = @@ -12120,7 +12117,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEAVY_SLAM, + .battleAnimScript = gBattleAnimMove_HeavySlam, }, [MOVE_SYNCHRONOISE] = @@ -12141,7 +12138,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SYNCHRONOISE, + .battleAnimScript = gBattleAnimMove_Synchronoise, }, [MOVE_ELECTRO_BALL] = @@ -12163,7 +12160,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ELECTRO_BALL, + .battleAnimScript = gBattleAnimMove_ElectroBall, }, [MOVE_SOAK] = @@ -12186,7 +12183,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SOAK, + .battleAnimScript = gBattleAnimMove_Soak, }, [MOVE_FLAME_CHARGE] = @@ -12213,7 +12210,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLAME_CHARGE, + .battleAnimScript = gBattleAnimMove_FlameCharge, }, [MOVE_COIL] = @@ -12238,7 +12235,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COIL, + .battleAnimScript = gBattleAnimMove_Coil, }, [MOVE_LOW_SWEEP] = @@ -12264,7 +12261,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LOW_SWEEP, + .battleAnimScript = gBattleAnimMove_LowSweep, }, [MOVE_ACID_SPRAY] = @@ -12290,7 +12287,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ACID_SPRAY, + .battleAnimScript = gBattleAnimMove_AcidSpray, }, [MOVE_FOUL_PLAY] = @@ -12312,7 +12309,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FOUL_PLAY, + .battleAnimScript = gBattleAnimMove_FoulPlay, }, [MOVE_SIMPLE_BEAM] = @@ -12335,7 +12332,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SIMPLE_BEAM, + .battleAnimScript = gBattleAnimMove_SimpleBeam, }, [MOVE_ENTRAINMENT] = @@ -12358,7 +12355,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ENTRAINMENT, + .battleAnimScript = gBattleAnimMove_Entrainment, }, [MOVE_AFTER_YOU] = @@ -12384,7 +12381,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AFTER_YOU, + .battleAnimScript = gBattleAnimMove_AfterYou, }, [MOVE_ROUND] = @@ -12410,7 +12407,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROUND, + .battleAnimScript = gBattleAnimMove_Round, }, [MOVE_ECHOED_VOICE] = @@ -12433,7 +12430,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ECHOED_VOICE, + .battleAnimScript = gBattleAnimMove_EchoedVoice, }, [MOVE_CHIP_AWAY] = @@ -12454,7 +12451,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CHIP_AWAY, + .battleAnimScript = gBattleAnimMove_ChipAway, }, [MOVE_CLEAR_SMOG] = @@ -12478,7 +12475,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CLEAR_SMOG, + .battleAnimScript = gBattleAnimMove_ClearSmog, }, [MOVE_STORED_POWER] = @@ -12499,7 +12496,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STORED_POWER, + .battleAnimScript = gBattleAnimMove_StoredPower, }, [MOVE_QUICK_GUARD] = @@ -12526,7 +12523,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_QUICK_GUARD, + .battleAnimScript = gBattleAnimMove_QuickGuard, }, [MOVE_ALLY_SWITCH] = @@ -12550,7 +12547,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ALLY_SWITCH, + .battleAnimScript = gBattleAnimMove_AllySwitch, }, [MOVE_SCALD] = @@ -12576,7 +12573,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SCALD, .contestComboMoves = {0}, - .battleAnimScript = Move_SCALD, + .battleAnimScript = gBattleAnimMove_Scald, }, [MOVE_SHELL_SMASH] = @@ -12601,7 +12598,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHELL_SMASH, + .battleAnimScript = gBattleAnimMove_ShellSmash, }, [MOVE_HEAL_PULSE] = @@ -12627,7 +12624,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEAL_PULSE, + .battleAnimScript = gBattleAnimMove_HealPulse, }, [MOVE_HEX] = @@ -12650,7 +12647,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TOXIC}, - .battleAnimScript = Move_HEX, + .battleAnimScript = gBattleAnimMove_Hex, }, [MOVE_SKY_DROP] = @@ -12677,7 +12674,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SKY_DROP, + .battleAnimScript = gBattleAnimMove_SkyDrop, }, [MOVE_SHIFT_GEAR] = @@ -12702,7 +12699,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHIFT_GEAR, + .battleAnimScript = gBattleAnimMove_ShiftGear, }, [MOVE_CIRCLE_THROW] = @@ -12724,7 +12721,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CIRCLE_THROW, + .battleAnimScript = gBattleAnimMove_CircleThrow, }, [MOVE_INCINERATE] = @@ -12748,7 +12745,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_INCINERATE, + .battleAnimScript = gBattleAnimMove_Incinerate, }, [MOVE_QUASH] = @@ -12771,7 +12768,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_QUASH, + .battleAnimScript = gBattleAnimMove_Quash, }, [MOVE_ACROBATICS] = @@ -12793,7 +12790,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ACROBATICS, + .battleAnimScript = gBattleAnimMove_Acrobatics, }, [MOVE_REFLECT_TYPE] = @@ -12817,7 +12814,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_REFLECT_TYPE, + .battleAnimScript = gBattleAnimMove_ReflectType, }, [MOVE_RETALIATE] = @@ -12839,7 +12836,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RETALIATE, + .battleAnimScript = gBattleAnimMove_Retaliate, }, [MOVE_FINAL_GAMBIT] = @@ -12862,7 +12859,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FINAL_GAMBIT, + .battleAnimScript = gBattleAnimMove_FinalGambit, }, [MOVE_BESTOW] = @@ -12889,7 +12886,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BESTOW, + .battleAnimScript = gBattleAnimMove_Bestow, }, [MOVE_INFERNO] = @@ -12914,7 +12911,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_INFERNO, + .battleAnimScript = gBattleAnimMove_Inferno, }, [MOVE_WATER_PLEDGE] = @@ -12936,7 +12933,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WATER_PLEDGE, + .battleAnimScript = gBattleAnimMove_WaterPledge, }, [MOVE_FIRE_PLEDGE] = @@ -12958,7 +12955,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FIRE_PLEDGE, + .battleAnimScript = gBattleAnimMove_FirePledge, }, [MOVE_GRASS_PLEDGE] = @@ -12980,7 +12977,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GRASS_PLEDGE, + .battleAnimScript = gBattleAnimMove_GrassPledge, }, [MOVE_VOLT_SWITCH] = @@ -12999,7 +12996,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_VOLT_SWITCH, + .battleAnimScript = gBattleAnimMove_VoltSwitch, }, [MOVE_STRUGGLE_BUG] = @@ -13024,7 +13021,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STRUGGLE_BUG, + .battleAnimScript = gBattleAnimMove_StruggleBug, }, [MOVE_BULLDOZE] = @@ -13050,7 +13047,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BULLDOZE, + .battleAnimScript = gBattleAnimMove_Bulldoze, }, [MOVE_FROST_BREATH] = @@ -13070,7 +13067,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FROST_BREATH, + .battleAnimScript = gBattleAnimMove_FrostBreath, }, [MOVE_DRAGON_TAIL] = @@ -13092,7 +13089,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_DRAGON_TAIL, .contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH}, - .battleAnimScript = Move_DRAGON_TAIL, + .battleAnimScript = gBattleAnimMove_DragonTail, }, [MOVE_WORK_UP] = @@ -13117,7 +13114,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WORK_UP, + .battleAnimScript = gBattleAnimMove_WorkUp, }, [MOVE_ELECTROWEB] = @@ -13142,7 +13139,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ELECTROWEB, + .battleAnimScript = gBattleAnimMove_Electroweb, }, [MOVE_WILD_CHARGE] = @@ -13165,7 +13162,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WILD_CHARGE, + .battleAnimScript = gBattleAnimMove_WildCharge, }, [MOVE_DRILL_RUN] = @@ -13188,7 +13185,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DRILL_RUN, + .battleAnimScript = gBattleAnimMove_DrillRun, }, [MOVE_DUAL_CHOP] = @@ -13211,7 +13208,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DUAL_CHOP, + .battleAnimScript = gBattleAnimMove_DualChop, }, [MOVE_HEART_STAMP] = @@ -13237,7 +13234,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEART_STAMP, + .battleAnimScript = gBattleAnimMove_HeartStamp, }, [MOVE_HORN_LEECH] = @@ -13252,13 +13249,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, + .argument = 50, .makesContact = TRUE, .healingMove = B_HEAL_BLOCKING >= GEN_6, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HORN_LEECH, + .battleAnimScript = gBattleAnimMove_HornLeech, }, [MOVE_SACRED_SWORD] = @@ -13280,7 +13278,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SACRED_SWORD, + .battleAnimScript = gBattleAnimMove_SacredSword, }, [MOVE_RAZOR_SHELL] = @@ -13307,7 +13305,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RAZOR_SHELL, + .battleAnimScript = gBattleAnimMove_RazorShell, }, [MOVE_HEAT_CRASH] = @@ -13328,7 +13326,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEAT_CRASH, + .battleAnimScript = gBattleAnimMove_HeatCrash, }, [MOVE_LEAF_TORNADO] = @@ -13354,7 +13352,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LEAF_TORNADO, + .battleAnimScript = gBattleAnimMove_LeafTornado, }, [MOVE_STEAMROLLER] = @@ -13381,7 +13379,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STEAMROLLER, + .battleAnimScript = gBattleAnimMove_Steamroller, }, [MOVE_COTTON_GUARD] = @@ -13406,7 +13404,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COTTON_GUARD, + .battleAnimScript = gBattleAnimMove_CottonGuard, }, [MOVE_NIGHT_DAZE] = @@ -13431,7 +13429,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NIGHT_DAZE, + .battleAnimScript = gBattleAnimMove_NightDaze, }, [MOVE_PSYSTRIKE] = @@ -13450,7 +13448,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PSYSTRIKE, + .battleAnimScript = gBattleAnimMove_Psystrike, }, [MOVE_TAIL_SLAP] = @@ -13472,7 +13470,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TAIL_SLAP, + .battleAnimScript = gBattleAnimMove_TailSlap, }, [MOVE_HURRICANE] = @@ -13499,7 +13497,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HURRICANE, + .battleAnimScript = gBattleAnimMove_Hurricane, }, [MOVE_HEAD_CHARGE] = @@ -13522,7 +13520,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEAD_CHARGE, + .battleAnimScript = gBattleAnimMove_HeadCharge, }, [MOVE_GEAR_GRIND] = @@ -13546,7 +13544,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GEAR_GRIND, + .battleAnimScript = gBattleAnimMove_GearGrind, }, [MOVE_SEARING_SHOT] = @@ -13570,7 +13568,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SEARING_SHOT, + .battleAnimScript = gBattleAnimMove_SearingShot, }, [MOVE_TECHNO_BLAST] = @@ -13593,7 +13591,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TECHNO_BLAST, + .battleAnimScript = gBattleAnimMove_TechnoBlast, }, [MOVE_RELIC_SONG] = @@ -13622,7 +13620,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RELIC_SONG, + .battleAnimScript = gBattleAnimMove_RelicSong, }, [MOVE_SECRET_SWORD] = @@ -13645,7 +13643,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SECRET_SWORD, + .battleAnimScript = gBattleAnimMove_SecretSword, }, [MOVE_GLACIATE] = @@ -13670,7 +13668,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GLACIATE, + .battleAnimScript = gBattleAnimMove_Glaciate, }, [MOVE_BOLT_STRIKE] = @@ -13696,7 +13694,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BOLT_STRIKE, + .battleAnimScript = gBattleAnimMove_BoltStrike, }, [MOVE_BLUE_FLARE] = @@ -13721,7 +13719,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BLUE_FLARE, + .battleAnimScript = gBattleAnimMove_BlueFlare, }, [MOVE_FIERY_DANCE] = @@ -13748,7 +13746,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FIERY_DANCE, + .battleAnimScript = gBattleAnimMove_FieryDance, }, [MOVE_FREEZE_SHOCK] = @@ -13777,7 +13775,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FREEZE_SHOCK, + .battleAnimScript = gBattleAnimMove_FreezeShock, }, [MOVE_ICE_BURN] = @@ -13806,7 +13804,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ICE_BURN, + .battleAnimScript = gBattleAnimMove_IceBurn, }, [MOVE_SNARL] = @@ -13834,7 +13832,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SNARL, + .battleAnimScript = gBattleAnimMove_Snarl, }, [MOVE_ICICLE_CRASH] = @@ -13859,7 +13857,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ICICLE_CRASH, + .battleAnimScript = gBattleAnimMove_IcicleCrash, }, [MOVE_V_CREATE] = @@ -13887,7 +13885,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_V_CREATE, + .battleAnimScript = gBattleAnimMove_VCreate, }, [MOVE_FUSION_FLARE] = @@ -13909,7 +13907,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FUSION_FLARE, + .battleAnimScript = gBattleAnimMove_FusionFlare, }, [MOVE_FUSION_BOLT] = @@ -13930,7 +13928,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FUSION_BOLT, + .battleAnimScript = gBattleAnimMove_FusionBolt, }, [MOVE_FLYING_PRESS] = @@ -13957,7 +13955,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLYING_PRESS, + .battleAnimScript = gBattleAnimMove_FlyingPress, }, [MOVE_MAT_BLOCK] = @@ -13987,7 +13985,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MAT_BLOCK, + .battleAnimScript = gBattleAnimMove_MatBlock, }, [MOVE_BELCH] = @@ -14016,7 +14014,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BELCH, + .battleAnimScript = gBattleAnimMove_Belch, }, [MOVE_ROTOTILLER] = @@ -14041,7 +14039,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROTOTILLER, + .battleAnimScript = gBattleAnimMove_Rototiller, }, [MOVE_STICKY_WEB] = @@ -14067,7 +14065,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STICKY_WEB, + .battleAnimScript = gBattleAnimMove_StickyWeb, }, [MOVE_FELL_STINGER] = @@ -14089,12 +14087,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FELL_STINGER, + .battleAnimScript = gBattleAnimMove_FellStinger, }, [MOVE_PHANTOM_FORCE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PhantomForce", "Phantom Force"), + .name = COMPOUND_STRING("Phantom Force"), .description = sShadowForceDescription, .effect = EFFECT_SEMI_INVULNERABLE, .power = 90, @@ -14118,12 +14116,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PHANTOM_FORCE, + .battleAnimScript = gBattleAnimMove_PhantomForce, }, [MOVE_TRICK_OR_TREAT] = { - .name = HANDLE_EXPANDED_MOVE_NAME("TrickOrTreat", "Trick-or-Treat"), + .name = COMPOUND_STRING("Trick-or-Treat"), .description = COMPOUND_STRING( "Goes trick-or-treating\n" "making the foe Ghost-type."), @@ -14142,7 +14140,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TRICK_OR_TREAT, + .battleAnimScript = gBattleAnimMove_TrickOrTreat, }, [MOVE_NOBLE_ROAR] = @@ -14167,7 +14165,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NOBLE_ROAR, + .battleAnimScript = gBattleAnimMove_NobleRoar, }, [MOVE_ION_DELUGE] = @@ -14191,12 +14189,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ION_DELUGE, + .battleAnimScript = gBattleAnimMove_IonDeluge, }, [MOVE_PARABOLIC_CHARGE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ParabolcChrg", "Parabolic Charge"), + .name = COMPOUND_STRING("Parabolic Charge"), .description = COMPOUND_STRING( "Damages adjacent Pokémon\n" "and heals up by half of it."), @@ -14208,17 +14206,18 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, + .argument = 50, .healingMove = B_HEAL_BLOCKING >= GEN_6, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PARABOLIC_CHARGE, + .battleAnimScript = gBattleAnimMove_ParabolicCharge, }, [MOVE_FORESTS_CURSE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("Forest'sCurs", "Forest's Curse"), + .name = COMPOUND_STRING("Forest's Curse"), .description = COMPOUND_STRING( "Puts a curse on the foe\n" "making the foe Grass-type."), @@ -14237,12 +14236,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FORESTS_CURSE, + .battleAnimScript = gBattleAnimMove_ForestsCurse, }, [MOVE_PETAL_BLIZZARD] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PetalBlizzrd", "Petal Blizzard"), + .name = COMPOUND_STRING("Petal Blizzard"), .description = COMPOUND_STRING( "Stirs up a violent storm\n" "of petals to attack."), @@ -14259,7 +14258,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PETAL_BLIZZARD, + .battleAnimScript = gBattleAnimMove_PetalBlizzard, }, [MOVE_FREEZE_DRY] = @@ -14289,12 +14288,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FREEZE_DRY, + .battleAnimScript = gBattleAnimMove_FreezeDry, }, [MOVE_DISARMING_VOICE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DisrmngVoice", "Disarming Voice"), + .name = COMPOUND_STRING("Disarming Voice"), .description = COMPOUND_STRING( "Lets out a charming cry\n" "that cannot be evaded."), @@ -14312,7 +14311,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DISARMING_VOICE, + .battleAnimScript = gBattleAnimMove_DisarmingVoice, }, [MOVE_PARTING_SHOT] = @@ -14337,7 +14336,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PARTING_SHOT, + .battleAnimScript = gBattleAnimMove_PartingShot, }, [MOVE_TOPSY_TURVY] = @@ -14360,12 +14359,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TOPSY_TURVY, + .battleAnimScript = gBattleAnimMove_TopsyTurvy, }, [MOVE_DRAINING_KISS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DrainingKiss", "Draining Kiss"), + .name = COMPOUND_STRING("Draining Kiss"), .description = sDrainingKissDescription, .effect = EFFECT_ABSORB, .power = 50, @@ -14382,12 +14381,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DRAINING_KISS, + .battleAnimScript = gBattleAnimMove_DrainingKiss, }, [MOVE_CRAFTY_SHIELD] = { - .name = HANDLE_EXPANDED_MOVE_NAME("CraftyShield", "Crafty Shield"), + .name = COMPOUND_STRING("Crafty Shield"), .description = COMPOUND_STRING( "Evades status moves for\n" "one turn."), @@ -14408,12 +14407,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CRAFTY_SHIELD, + .battleAnimScript = gBattleAnimMove_CraftyShield, }, [MOVE_FLOWER_SHIELD] = { - .name = HANDLE_EXPANDED_MOVE_NAME("FlowerShield", "Flower Shield"), + .name = COMPOUND_STRING("Flower Shield"), .description = COMPOUND_STRING( "Raises the Defense of\n" "Grass-type Pokémon."), @@ -14422,7 +14421,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .type = TYPE_FAIRY, .accuracy = 0, .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, + .target = MOVE_TARGET_USER, // The targeting of Flower Shield is handled through a script .priority = 0, .category = DAMAGE_CATEGORY_STATUS, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, @@ -14432,12 +14431,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLOWER_SHIELD, + .battleAnimScript = gBattleAnimMove_FlowerShield, }, [MOVE_GRASSY_TERRAIN] = { - .name = HANDLE_EXPANDED_MOVE_NAME("GrssyTerrain", "Grassy Terrain"), + .name = COMPOUND_STRING("Grassy Terrain"), .description = COMPOUND_STRING( "The ground turns to grass\n" "for 5 turns. Restores HP."), @@ -14457,12 +14456,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_GRASSY_TERRAIN, .contestComboMoves = {0}, - .battleAnimScript = Move_GRASSY_TERRAIN, + .battleAnimScript = gBattleAnimMove_GrassyTerrain, }, [MOVE_MISTY_TERRAIN] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MistyTerrain", "Misty Terrain"), + .name = COMPOUND_STRING("Misty Terrain"), .description = COMPOUND_STRING( "Covers the ground with mist\n" "for 5 turns. Blocks status."), @@ -14482,7 +14481,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_MISTY_TERRAIN, .contestComboMoves = {0}, - .battleAnimScript = Move_MISTY_TERRAIN, + .battleAnimScript = gBattleAnimMove_MistyTerrain, }, [MOVE_ELECTRIFY] = @@ -14504,7 +14503,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ELECTRIFY, + .battleAnimScript = gBattleAnimMove_Electrify, }, [MOVE_PLAY_ROUGH] = @@ -14530,7 +14529,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PLAY_ROUGH, + .battleAnimScript = gBattleAnimMove_PlayRough, }, [MOVE_FAIRY_WIND] = @@ -14552,7 +14551,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FAIRY_WIND, + .battleAnimScript = gBattleAnimMove_FairyWind, }, [MOVE_MOONBLAST] = @@ -14577,7 +14576,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MOONBLAST, + .battleAnimScript = gBattleAnimMove_Moonblast, }, [MOVE_BOOMBURST] = @@ -14600,7 +14599,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BOOMBURST, + .battleAnimScript = gBattleAnimMove_Boomburst, }, [MOVE_FAIRY_LOCK] = @@ -14624,12 +14623,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FAIRY_LOCK, + .battleAnimScript = gBattleAnimMove_FairyLock, }, [MOVE_KINGS_SHIELD] = { - .name = HANDLE_EXPANDED_MOVE_NAME("King'sShield", "King's Shield"), + .name = COMPOUND_STRING("King's Shield"), .description = COMPOUND_STRING( "Evades damage, and sharply\n" "reduces Attack if struck."), @@ -14652,7 +14651,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_KINGS_SHIELD, + .battleAnimScript = gBattleAnimMove_KingsShield, }, [MOVE_PLAY_NICE] = @@ -14677,7 +14676,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PLAY_NICE, + .battleAnimScript = gBattleAnimMove_PlayNice, }, [MOVE_CONFIDE] = @@ -14703,12 +14702,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CONFIDE, + .battleAnimScript = gBattleAnimMove_Confide, }, [MOVE_DIAMOND_STORM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DiamondStorm", "Diamond Storm"), + .name = COMPOUND_STRING("Diamond Storm"), .description = COMPOUND_STRING( "Whips up a storm of\n" "diamonds. May up Defense."), @@ -14730,12 +14729,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DIAMOND_STORM, + .battleAnimScript = gBattleAnimMove_DiamondStorm, }, [MOVE_STEAM_ERUPTION] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SteamErption", "Steam Eruption"), + .name = COMPOUND_STRING("Steam Eruption"), .description = COMPOUND_STRING( "Immerses the foe in heated\n" "steam. May inflict a burn."), @@ -14757,12 +14756,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SCALD}, - .battleAnimScript = Move_STEAM_ERUPTION, + .battleAnimScript = gBattleAnimMove_SteamEruption, }, [MOVE_HYPERSPACE_HOLE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("HyprspceHole", "Hyperspace Hole"), + .name = COMPOUND_STRING("Hyperspace Hole"), .description = sHyperspaceHoleDescription, .effect = EFFECT_HIT, .power = 80, @@ -14782,12 +14781,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_HYPERSPACE_HOLE, .contestComboMoves = {COMBO_STARTER_HYPERSPACE_FURY}, - .battleAnimScript = Move_HYPERSPACE_HOLE, + .battleAnimScript = gBattleAnimMove_HyperspaceHole, }, [MOVE_WATER_SHURIKEN] = { - .name = HANDLE_EXPANDED_MOVE_NAME("WatrShuriken", "Water Shuriken"), + .name = COMPOUND_STRING("Water Shuriken"), .description = COMPOUND_STRING( "Throws 2 to 5 stars that\n" "are sure to strike first."), @@ -14803,12 +14802,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WATER_SHURIKEN, + .battleAnimScript = gBattleAnimMove_WaterShuriken, }, [MOVE_MYSTICAL_FIRE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MysticalFire", "Mystical Fire"), + .name = COMPOUND_STRING("Mystical Fire"), .description = COMPOUND_STRING( "Breathes a special, hot\n" "fire. Lowers Sp. Atk."), @@ -14828,7 +14827,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MYSTICAL_FIRE, + .battleAnimScript = gBattleAnimMove_MysticalFire, }, [MOVE_SPIKY_SHIELD] = @@ -14855,12 +14854,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPIKY_SHIELD, + .battleAnimScript = gBattleAnimMove_SpikyShield, }, [MOVE_AROMATIC_MIST] = { - .name = HANDLE_EXPANDED_MOVE_NAME("AromaticMist", "Aromatic Mist"), + .name = COMPOUND_STRING("Aromatic Mist"), .description = COMPOUND_STRING( "Raises the Sp. Def of a\n" "partner Pokémon."), @@ -14880,12 +14879,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AROMATIC_MIST, + .battleAnimScript = gBattleAnimMove_AromaticMist, }, [MOVE_EERIE_IMPULSE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("EerieImpulse", "Eerie Impulse"), + .name = COMPOUND_STRING("Eerie Impulse"), .description = COMPOUND_STRING( "Exposes the foe to a pulse\n" "that sharply cuts Sp. Atk."), @@ -14903,7 +14902,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_EERIE_IMPULSE, + .battleAnimScript = gBattleAnimMove_EerieImpulse, }, [MOVE_VENOM_DRENCH] = @@ -14926,7 +14925,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TOXIC}, - .battleAnimScript = Move_VENOM_DRENCH, + .battleAnimScript = gBattleAnimMove_VenomDrench, }, [MOVE_POWDER] = @@ -14950,7 +14949,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POWDER, + .battleAnimScript = gBattleAnimMove_Powder, }, [MOVE_GEOMANCY] = @@ -14976,12 +14975,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GEOMANCY, + .battleAnimScript = gBattleAnimMove_Geomancy, }, [MOVE_MAGNETIC_FLUX] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MagneticFlux", "Magnetic Flux"), + .name = COMPOUND_STRING("Magnetic Flux"), .description = COMPOUND_STRING( "Boosts the defenses of\n" "those with Plus or Minus."), @@ -15002,7 +15001,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MAGNETIC_FLUX, + .battleAnimScript = gBattleAnimMove_MagneticFlux, }, [MOVE_HAPPY_HOUR] = @@ -15026,12 +15025,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HAPPY_HOUR, + .battleAnimScript = gBattleAnimMove_HappyHour, }, [MOVE_ELECTRIC_TERRAIN] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ElctrcTrrain", "Electric Terrain"), + .name = COMPOUND_STRING("Electric Terrain"), .description = COMPOUND_STRING( "Electrifies the ground for\n" "5 turns. Prevents sleep."), @@ -15051,12 +15050,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_ELECTRIC_TERRAIN, .contestComboMoves = {0}, - .battleAnimScript = Move_ELECTRIC_TERRAIN, + .battleAnimScript = gBattleAnimMove_ElectricTerrain, }, [MOVE_DAZZLING_GLEAM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DazzlngGleam", "Dazzling Gleam"), + .name = COMPOUND_STRING("Dazzling Gleam"), .description = COMPOUND_STRING( "Damages foes by emitting\n" "a bright flash."), @@ -15072,7 +15071,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DAZZLING_GLEAM, + .battleAnimScript = gBattleAnimMove_DazzlingGleam, }, [MOVE_CELEBRATE] = @@ -15102,7 +15101,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CELEBRATE, + .battleAnimScript = gBattleAnimMove_Celebrate, }, [MOVE_HOLD_HANDS] = @@ -15132,12 +15131,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HOLD_HANDS, + .battleAnimScript = gBattleAnimMove_HoldHands, }, [MOVE_BABY_DOLL_EYES] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BabyDollEyes", "Baby-Doll Eyes"), + .name = COMPOUND_STRING("Baby-Doll Eyes"), .description = COMPOUND_STRING( "Lowers the foe's Attack\n" "before it can move."), @@ -15155,7 +15154,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BABY_DOLL_EYES, + .battleAnimScript = gBattleAnimMove_BabyDollEyes, }, [MOVE_NUZZLE] = @@ -15181,7 +15180,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NUZZLE, + .battleAnimScript = gBattleAnimMove_Nuzzle, }, [MOVE_HOLD_BACK] = @@ -15201,7 +15200,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HOLD_BACK, + .battleAnimScript = gBattleAnimMove_HoldBack, }, [MOVE_INFESTATION] = @@ -15226,12 +15225,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_INFESTATION, + .battleAnimScript = gBattleAnimMove_Infestation, }, [MOVE_POWER_UP_PUNCH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PowerUpPunch", "Power-Up Punch"), + .name = COMPOUND_STRING("Power-Up Punch"), .description = COMPOUND_STRING( "A hard punch that raises\n" "the user's Attack."), @@ -15254,12 +15253,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POWER_UP_PUNCH, + .battleAnimScript = gBattleAnimMove_PowerUpPunch, }, [MOVE_OBLIVION_WING] = { - .name = HANDLE_EXPANDED_MOVE_NAME("OblivionWing", "Oblivion Wing"), + .name = COMPOUND_STRING("Oblivion Wing"), .description = sDrainingKissDescription, .effect = EFFECT_ABSORB, .power = 80, @@ -15275,12 +15274,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_OBLIVION_WING, + .battleAnimScript = gBattleAnimMove_OblivionWing, }, [MOVE_THOUSAND_ARROWS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ThousndArrws", "Thousand Arrows"), + .name = COMPOUND_STRING("Thousand Arrows"), .description = COMPOUND_STRING( "Can hit Flying foes, then\n" "knocks them to the ground."), @@ -15303,12 +15302,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_THOUSAND_ARROWS, .contestComboMoves = {COMBO_STARTER_THOUSAND_WAVES}, - .battleAnimScript = Move_THOUSAND_ARROWS, + .battleAnimScript = gBattleAnimMove_ThousandArrows, }, [MOVE_THOUSAND_WAVES] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ThousndWaves", "Thousand Waves"), + .name = COMPOUND_STRING("Thousand Waves"), .description = COMPOUND_STRING( "Those hit by the wave can\n" "no longer escape."), @@ -15329,7 +15328,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_THOUSAND_WAVES, .contestComboMoves = {COMBO_STARTER_THOUSAND_ARROWS}, - .battleAnimScript = Move_THOUSAND_WAVES, + .battleAnimScript = gBattleAnimMove_ThousandWaves, }, [MOVE_LANDS_WRATH] = @@ -15351,12 +15350,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LANDS_WRATH, + .battleAnimScript = gBattleAnimMove_LandsWrath, }, [MOVE_LIGHT_OF_RUIN] = { - .name = HANDLE_EXPANDED_MOVE_NAME("LightOfRuin", "Light Of Ruin"), + .name = COMPOUND_STRING("Light Of Ruin"), .description = COMPOUND_STRING( "Fires a great beam of light\n" "that also hurts the user."), @@ -15370,7 +15369,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .metronomeBanned = TRUE, - .battleAnimScript = Move_LIGHT_OF_RUIN, + .battleAnimScript = gBattleAnimMove_LightOfRuin, }, [MOVE_ORIGIN_PULSE] = @@ -15393,12 +15392,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ORIGIN_PULSE, + .battleAnimScript = gBattleAnimMove_OriginPulse, }, [MOVE_PRECIPICE_BLADES] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PrcipceBldes", "Precipice Blades"), + .name = COMPOUND_STRING("Precipice Blades"), .description = COMPOUND_STRING( "Fearsome blades of stone\n" "attack both foes."), @@ -15415,12 +15414,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PRECIPICE_BLADES, + .battleAnimScript = gBattleAnimMove_PrecipiceBlades, }, [MOVE_DRAGON_ASCENT] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DragonAscent", "Dragon Ascent"), + .name = COMPOUND_STRING("Dragon Ascent"), .description = sCloseCombatDescription, .effect = EFFECT_HIT, .power = 120, @@ -15440,12 +15439,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DRAGON_ASCENT, + .battleAnimScript = gBattleAnimMove_DragonAscent, }, [MOVE_HYPERSPACE_FURY] = { - .name = HANDLE_EXPANDED_MOVE_NAME("HyprspceFury", "Hyperspace Fury"), + .name = COMPOUND_STRING("Hyperspace Fury"), .description = sHyperspaceHoleDescription, .effect = EFFECT_HYPERSPACE_FURY, .power = 100, @@ -15468,7 +15467,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_HYPERSPACE_FURY, .contestComboMoves = {COMBO_STARTER_HYPERSPACE_HOLE}, - .battleAnimScript = Move_HYPERSPACE_FURY, + .battleAnimScript = gBattleAnimMove_HyperspaceFury, }, [MOVE_SHORE_UP] = @@ -15494,12 +15493,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SANDSTORM}, - .battleAnimScript = Move_SHORE_UP, + .battleAnimScript = gBattleAnimMove_ShoreUp, }, [MOVE_FIRST_IMPRESSION] = { - .name = HANDLE_EXPANDED_MOVE_NAME("FrstImpressn", "First Impression"), + .name = COMPOUND_STRING("First Impression"), .description = COMPOUND_STRING( "Hits hard and first.\n" "Only works first turn."), @@ -15517,12 +15516,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FIRST_IMPRESSION, + .battleAnimScript = gBattleAnimMove_FirstImpression, }, [MOVE_BANEFUL_BUNKER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BanefulBunkr", "Baneful Bunker"), + .name = COMPOUND_STRING("Baneful Bunker"), .description = COMPOUND_STRING( "Protects user and poisons\n" "foes on contact."), @@ -15544,12 +15543,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BANEFUL_BUNKER, + .battleAnimScript = gBattleAnimMove_BanefulBunker, }, [MOVE_SPIRIT_SHACKLE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SpiritShackl", "Spirit Shackle"), + .name = COMPOUND_STRING("Spirit Shackle"), .description = COMPOUND_STRING( "After being hit, foes can\n" "no longer escape."), @@ -15569,12 +15568,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPIRIT_SHACKLE, + .battleAnimScript = gBattleAnimMove_SpiritShackle, }, [MOVE_DARKEST_LARIAT] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DarkstLariat", "Darkest Lariat"), + .name = COMPOUND_STRING("Darkest Lariat"), .description = COMPOUND_STRING( "Swings the arms to strike\n" "It ignores stat changes."), @@ -15592,12 +15591,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DARKEST_LARIAT, + .battleAnimScript = gBattleAnimMove_DarkestLariat, }, [MOVE_SPARKLING_ARIA] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SparklngAria", "Sparkling Aria"), + .name = COMPOUND_STRING("Sparkling Aria"), .description = COMPOUND_STRING( "Sings with bubbles. Cures\n" "burns on contact."), @@ -15620,7 +15619,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SCALD}, - .battleAnimScript = Move_SPARKLING_ARIA, + .battleAnimScript = gBattleAnimMove_SparklingAria, }, [MOVE_ICE_HAMMER] = @@ -15647,12 +15646,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, - .battleAnimScript = Move_ICE_HAMMER, + .battleAnimScript = gBattleAnimMove_IceHammer, }, [MOVE_FLORAL_HEALING] = { - .name = HANDLE_EXPANDED_MOVE_NAME("FloralHealng", "Floral Healing"), + .name = COMPOUND_STRING("Floral Healing"), .description = COMPOUND_STRING( "Restores an ally's HP.\n" "Heals more on grass."), @@ -15673,12 +15672,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLORAL_HEALING, + .battleAnimScript = gBattleAnimMove_FloralHealing, }, [MOVE_HIGH_HORSEPOWER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("HighHorsepwr", "High Horsepower"), + .name = COMPOUND_STRING("High Horsepower"), .description = COMPOUND_STRING( "Slams hard into the foe with\n" "its entire body."), @@ -15695,7 +15694,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HIGH_HORSEPOWER, + .battleAnimScript = gBattleAnimMove_HighHorsepower, }, [MOVE_STRENGTH_SAP] = @@ -15719,7 +15718,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STRENGTH_SAP, + .battleAnimScript = gBattleAnimMove_StrengthSap, }, [MOVE_SOLAR_BLADE] = @@ -15745,7 +15744,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_SOLAR_BLADE, + .battleAnimScript = gBattleAnimMove_SolarBlade, }, [MOVE_LEAFAGE] = @@ -15766,7 +15765,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_LEAFAGE, + .battleAnimScript = gBattleAnimMove_Leafage, }, [MOVE_SPOTLIGHT] = @@ -15793,7 +15792,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPOTLIGHT, + .battleAnimScript = gBattleAnimMove_Spotlight, }, [MOVE_TOXIC_THREAD] = @@ -15816,7 +15815,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TOXIC}, - .battleAnimScript = Move_TOXIC_THREAD, + .battleAnimScript = gBattleAnimMove_ToxicThread, }, [MOVE_LASER_FOCUS] = @@ -15841,7 +15840,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LASER_FOCUS, + .battleAnimScript = gBattleAnimMove_LaserFocus, }, [MOVE_GEAR_UP] = @@ -15867,7 +15866,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GEAR_UP, + .battleAnimScript = gBattleAnimMove_GearUp, }, [MOVE_THROAT_CHOP] = @@ -15893,7 +15892,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_THROAT_CHOP, + .battleAnimScript = gBattleAnimMove_ThroatChop, }, [MOVE_POLLEN_PUFF] = @@ -15915,7 +15914,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POLLEN_PUFF, + .battleAnimScript = gBattleAnimMove_PollenPuff, }, [MOVE_ANCHOR_SHOT] = @@ -15941,12 +15940,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ANCHOR_SHOT, + .battleAnimScript = gBattleAnimMove_AnchorShot, }, [MOVE_PSYCHIC_TERRAIN] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PsychcTrrain", "Psychic Terrain"), + .name = COMPOUND_STRING("Psychic Terrain"), .description = COMPOUND_STRING( "The ground turns weird for\n" "5 turns. Blocks priority."), @@ -15965,7 +15964,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_PSYCHIC_TERRAIN, .contestComboMoves = {0}, - .battleAnimScript = Move_PSYCHIC_TERRAIN, + .battleAnimScript = gBattleAnimMove_PsychicTerrain, }, [MOVE_LUNGE] = @@ -15991,7 +15990,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LUNGE, + .battleAnimScript = gBattleAnimMove_Lunge, }, [MOVE_FIRE_LASH] = @@ -16017,7 +16016,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_FIRE_LASH, + .battleAnimScript = gBattleAnimMove_FireLash, }, [MOVE_POWER_TRIP] = @@ -16039,7 +16038,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POWER_TRIP, + .battleAnimScript = gBattleAnimMove_PowerTrip, }, [MOVE_BURN_UP] = @@ -16066,7 +16065,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_BURN_UP, + .battleAnimScript = gBattleAnimMove_BurnUp, }, [MOVE_SPEED_SWAP] = @@ -16089,7 +16088,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPEED_SWAP, + .battleAnimScript = gBattleAnimMove_SpeedSwap, }, [MOVE_SMART_STRIKE] = @@ -16111,7 +16110,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SMART_STRIKE, + .battleAnimScript = gBattleAnimMove_SmartStrike, }, [MOVE_PURIFY] = @@ -16136,12 +16135,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PURIFY, + .battleAnimScript = gBattleAnimMove_Purify, }, [MOVE_REVELATION_DANCE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("RvlationDnce", "Revelation Dance"), + .name = COMPOUND_STRING("Revelation Dance"), .description = COMPOUND_STRING( "Dances with mystical power.\n" "Matches user's first type."), @@ -16158,12 +16157,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_REVELATION_DANCE, + .battleAnimScript = gBattleAnimMove_RevelationDance, }, [MOVE_CORE_ENFORCER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("CoreEnforcer", "Core Enforcer"), + .name = COMPOUND_STRING("Core Enforcer"), .description = COMPOUND_STRING( "Hits with a ray that\n" "nullifies the foe's ability."), @@ -16183,7 +16182,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CORE_ENFORCER, + .battleAnimScript = gBattleAnimMove_CoreEnforcer, }, [MOVE_TROP_KICK] = @@ -16209,7 +16208,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TROP_KICK, + .battleAnimScript = gBattleAnimMove_TropKick, }, [MOVE_INSTRUCT] = @@ -16235,7 +16234,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_INSTRUCT, + .battleAnimScript = gBattleAnimMove_Instruct, }, [MOVE_BEAK_BLAST] = @@ -16264,12 +16263,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BEAK_BLAST, + .battleAnimScript = gBattleAnimMove_BeakBlast, }, [MOVE_CLANGING_SCALES] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ClngngScales", "Clanging Scales"), + .name = COMPOUND_STRING("Clanging Scales"), .description = COMPOUND_STRING( "Makes a big noise with\n" "its scales. Drops Defense."), @@ -16291,12 +16290,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CLANGING_SCALES, + .battleAnimScript = gBattleAnimMove_ClangingScales, }, [MOVE_DRAGON_HAMMER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DragonHammer", "Dragon Hammer"), + .name = COMPOUND_STRING("Dragon Hammer"), .description = COMPOUND_STRING( "Swings its whole body\n" "like a hammer to damage."), @@ -16313,7 +16312,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL}, - .battleAnimScript = Move_DRAGON_HAMMER, + .battleAnimScript = gBattleAnimMove_DragonHammer, }, [MOVE_BRUTAL_SWING] = @@ -16335,7 +16334,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BRUTAL_SWING, + .battleAnimScript = gBattleAnimMove_BrutalSwing, }, [MOVE_AURORA_VEIL] = @@ -16360,7 +16359,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, - .battleAnimScript = Move_AURORA_VEIL, + .battleAnimScript = gBattleAnimMove_AuroraVeil, }, [MOVE_SHELL_TRAP] = @@ -16388,7 +16387,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHELL_TRAP, + .battleAnimScript = gBattleAnimMove_ShellTrap, }, [MOVE_FLEUR_CANNON] = @@ -16414,12 +16413,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLEUR_CANNON, + .battleAnimScript = gBattleAnimMove_FleurCannon, }, [MOVE_PSYCHIC_FANGS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PsychicFangs", "Psychic Fangs"), + .name = COMPOUND_STRING("Psychic Fangs"), .description = COMPOUND_STRING( "Chomps with psychic fangs.\n" "Destroys any barriers."), @@ -16437,12 +16436,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PSYCHIC_FANGS, + .battleAnimScript = gBattleAnimMove_PsychicFangs, }, [MOVE_STOMPING_TANTRUM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("StmpngTantrm", "Stomping Tantrum"), + .name = COMPOUND_STRING("Stomping Tantrum"), .description = COMPOUND_STRING( "Stomps around angrily.\n" "Stronger after a failure."), @@ -16460,7 +16459,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STOMPING_TANTRUM, + .battleAnimScript = gBattleAnimMove_StompingTantrum, }, [MOVE_SHADOW_BONE] = @@ -16485,7 +16484,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SHADOW_BONE, .contestComboMoves = {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONEMERANG, COMBO_STARTER_BONE_RUSH}, - .battleAnimScript = Move_SHADOW_BONE, + .battleAnimScript = gBattleAnimMove_ShadowBone, }, [MOVE_ACCELEROCK] = @@ -16507,7 +16506,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ACCELEROCK, + .battleAnimScript = gBattleAnimMove_Accelerock, }, [MOVE_LIQUIDATION] = @@ -16533,12 +16532,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_LIQUIDATION, + .battleAnimScript = gBattleAnimMove_Liquidation, }, [MOVE_PRISMATIC_LASER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PrsmaticLasr", "Prismatic Laser"), + .name = COMPOUND_STRING("Prismatic Laser"), .description = COMPOUND_STRING( "A high power laser that\n" "forces recharge next turn."), @@ -16558,12 +16557,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PRISMATIC_LASER, + .battleAnimScript = gBattleAnimMove_PrismaticLaser, }, [MOVE_SPECTRAL_THIEF] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SpectrlThief", "Spectral Thief"), + .name = COMPOUND_STRING("Spectral Thief"), .description = COMPOUND_STRING( "Steals the target's stat\n" "boosts, then attacks."), @@ -16585,12 +16584,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPECTRAL_THIEF, + .battleAnimScript = gBattleAnimMove_SpectralThief, }, [MOVE_SUNSTEEL_STRIKE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SnsteelStrke", "Sunsteel Strike"), + .name = COMPOUND_STRING("Sunsteel Strike"), .description = COMPOUND_STRING( "A sun-fueled strike that\n" "ignores abilities."), @@ -16609,12 +16608,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SUNSTEEL_STRIKE, + .battleAnimScript = gBattleAnimMove_SunsteelStrike, }, [MOVE_MOONGEIST_BEAM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MoongestBeam", "Moongeist Beam"), + .name = COMPOUND_STRING("Moongeist Beam"), .description = COMPOUND_STRING( "A moon-powered beam that\n" "ignores abilities."), @@ -16632,7 +16631,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MOONGEIST_BEAM, + .battleAnimScript = gBattleAnimMove_MoongeistBeam, }, [MOVE_TEARFUL_LOOK] = @@ -16656,7 +16655,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TEARFUL_LOOK, + .battleAnimScript = gBattleAnimMove_TearfulLook, }, [MOVE_ZING_ZAP] = @@ -16682,12 +16681,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, - .battleAnimScript = Move_ZING_ZAP, + .battleAnimScript = gBattleAnimMove_ZingZap, }, [MOVE_NATURES_MADNESS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("Natur'sMadns", "Nature's Madness"), + .name = COMPOUND_STRING("Nature's Madness"), .description = COMPOUND_STRING( "Halves the foe's HP with\n" "the power of nature."), @@ -16704,7 +16703,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NATURES_MADNESS, + .battleAnimScript = gBattleAnimMove_NaturesMadness, }, [MOVE_MULTI_ATTACK] = @@ -16727,7 +16726,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MULTI_ATTACK, + .battleAnimScript = gBattleAnimMove_MultiAttack, }, [MOVE_MIND_BLOWN] = @@ -16749,7 +16748,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MIND_BLOWN, + .battleAnimScript = gBattleAnimMove_MindBlown, }, [MOVE_PLASMA_FISTS] = @@ -16773,12 +16772,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PLASMA_FISTS, + .battleAnimScript = gBattleAnimMove_PlasmaFists, }, [MOVE_PHOTON_GEYSER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PhotonGeyser", "Photon Geyser"), + .name = COMPOUND_STRING("Photon Geyser"), .description = COMPOUND_STRING( "User's highest attack stat\n" "determines its category."), @@ -16796,7 +16795,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PHOTON_GEYSER, + .battleAnimScript = gBattleAnimMove_PhotonGeyser, }, [MOVE_ZIPPY_ZAP] = @@ -16823,12 +16822,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .chance = 100, }), #endif - .battleAnimScript = Move_ZIPPY_ZAP, + .battleAnimScript = gBattleAnimMove_ZippyZap, }, [MOVE_SPLISHY_SPLASH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SplishySplsh", "Splishy Splash"), + .name = COMPOUND_STRING("Splishy Splash"), .description = COMPOUND_STRING( "A huge electrified wave that\n" "may paralyze the foe."), @@ -16846,7 +16845,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_PARALYSIS, .chance = 30, }), - .battleAnimScript = Move_SPLISHY_SPLASH, + .battleAnimScript = gBattleAnimMove_SplishySplash, }, [MOVE_FLOATY_FALL] = @@ -16871,7 +16870,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_FLINCH, .chance = 30, }), - .battleAnimScript = Move_FLOATY_FALL, + .battleAnimScript = gBattleAnimMove_FloatyFall, }, [MOVE_PIKA_PAPOW] = @@ -16890,12 +16889,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, - .battleAnimScript = Move_PIKA_PAPOW, + .battleAnimScript = gBattleAnimMove_PikaPapow, }, [MOVE_BOUNCY_BUBBLE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BouncyBubble", "Bouncy Bubble"), + .name = COMPOUND_STRING("Bouncy Bubble"), .description = COMPOUND_STRING( "An attack that absorbs\n" #if B_UPDATED_MOVE_DATA >= GEN_8 @@ -16915,7 +16914,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, .healingMove = B_HEAL_BLOCKING >= GEN_6, - .battleAnimScript = Move_BOUNCY_BUBBLE, + .battleAnimScript = gBattleAnimMove_BouncyBubble, }, [MOVE_BUZZY_BUZZ] = @@ -16938,7 +16937,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_PARALYSIS, .chance = 100, }), - .battleAnimScript = Move_BUZZY_BUZZ, + .battleAnimScript = gBattleAnimMove_BuzzyBuzz, }, [MOVE_SIZZLY_SLIDE] = @@ -16963,7 +16962,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_BURN, .chance = 100, }), - .battleAnimScript = Move_SIZZLY_SLIDE, + .battleAnimScript = gBattleAnimMove_SizzlySlide, }, [MOVE_GLITZY_GLOW] = @@ -16982,7 +16981,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, - .battleAnimScript = Move_GLITZY_GLOW, + .battleAnimScript = gBattleAnimMove_GlitzyGlow, }, [MOVE_BADDY_BAD] = @@ -17001,7 +17000,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, - .battleAnimScript = Move_BADDY_BAD, + .battleAnimScript = gBattleAnimMove_BaddyBad, }, [MOVE_SAPPY_SEED] = @@ -17021,7 +17020,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .magicCoatAffected = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_SAPPY_SEED, + .battleAnimScript = gBattleAnimMove_SappySeed, }, [MOVE_FREEZY_FROST] = @@ -17040,12 +17039,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, - .battleAnimScript = Move_FREEZY_FROST, + .battleAnimScript = gBattleAnimMove_FreezyFrost, }, [MOVE_SPARKLY_SWIRL] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SparklySwirl", "Sparkly Swirl"), + .name = COMPOUND_STRING("Sparkly Swirl"), .description = COMPOUND_STRING( "Wrap foe with whirlwind of\n" "scent. Heals party's status."), @@ -17059,12 +17058,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, - .battleAnimScript = Move_SPARKLY_SWIRL, + .battleAnimScript = gBattleAnimMove_SparklySwirl, }, [MOVE_VEEVEE_VOLLEY] = { - .name = HANDLE_EXPANDED_MOVE_NAME("VeeveeVolley", "Veevee Volley"), + .name = COMPOUND_STRING("Veevee Volley"), .description = COMPOUND_STRING( "Eevee's love increases its\n" "power. It never misses."), @@ -17079,12 +17078,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .makesContact = TRUE, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, - .battleAnimScript = Move_VEEVEE_VOLLEY, + .battleAnimScript = gBattleAnimMove_VeeveeVolley, }, [MOVE_DOUBLE_IRON_BASH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DublIronBash", "Double Iron Bash"), + .name = COMPOUND_STRING("Double Iron Bash"), .description = COMPOUND_STRING( "The user spins and hits with\n" "its arms. May cause flinch."), @@ -17109,12 +17108,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DOUBLE_IRON_BASH, + .battleAnimScript = gBattleAnimMove_DoubleIronBash, }, [MOVE_DYNAMAX_CANNON] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DynamxCannon", "Dynamax Cannon"), + .name = COMPOUND_STRING("Dynamax Cannon"), .description = COMPOUND_STRING( "Unleashes core energy.\n" "2x against Dynamaxed foes."), @@ -17139,7 +17138,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DYNAMAX_CANNON, + .battleAnimScript = gBattleAnimMove_DynamaxCannon, }, [MOVE_SNIPE_SHOT] = @@ -17161,7 +17160,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SNIPE_SHOT, + .battleAnimScript = gBattleAnimMove_SnipeShot, }, [MOVE_JAW_LOCK] = @@ -17187,7 +17186,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_JAW_LOCK, + .battleAnimScript = gBattleAnimMove_JawLock, }, [MOVE_STUFF_CHEEKS] = @@ -17211,7 +17210,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STUFF_CHEEKS, + .battleAnimScript = gBattleAnimMove_StuffCheeks, }, [MOVE_NO_RETREAT] = @@ -17235,7 +17234,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NO_RETREAT, + .battleAnimScript = gBattleAnimMove_NoRetreat, }, [MOVE_TAR_SHOT] = @@ -17257,7 +17256,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TAR_SHOT, + .battleAnimScript = gBattleAnimMove_TarShot, }, [MOVE_MAGIC_POWDER] = @@ -17281,7 +17280,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MAGIC_POWDER, + .battleAnimScript = gBattleAnimMove_MagicPowder, }, [MOVE_DRAGON_DARTS] = @@ -17304,7 +17303,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DRAGON_DARTS, + .battleAnimScript = gBattleAnimMove_DragonDarts, }, [MOVE_TEATIME] = @@ -17328,7 +17327,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TEATIME, + .battleAnimScript = gBattleAnimMove_Teatime, }, [MOVE_OCTOLOCK] = @@ -17349,7 +17348,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_OCTOLOCK, + .battleAnimScript = gBattleAnimMove_Octolock, }, [MOVE_BOLT_BEAK] = @@ -17371,12 +17370,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BOLT_BEAK, + .battleAnimScript = gBattleAnimMove_BoltBeak, }, [MOVE_FISHIOUS_REND] = { - .name = HANDLE_EXPANDED_MOVE_NAME("FishiousRend", "Fishious Rend"), + .name = COMPOUND_STRING("Fishious Rend"), .description = COMPOUND_STRING( "Double power if the user\n" "moves before the target."), @@ -17394,7 +17393,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FISHIOUS_REND, + .battleAnimScript = gBattleAnimMove_FishiousRend, }, [MOVE_COURT_CHANGE] = @@ -17416,12 +17415,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COURT_CHANGE, + .battleAnimScript = gBattleAnimMove_CourtChange, }, [MOVE_CLANGOROUS_SOUL] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ClngrousSoul", "Clangorous Soul"), + .name = COMPOUND_STRING("Clangorous Soul"), .description = COMPOUND_STRING( "The user uses some of its\n" "HP to raise all its stats."), @@ -17443,7 +17442,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CLANGOROUS_SOUL, + .battleAnimScript = gBattleAnimMove_ClangorousSoul, }, [MOVE_BODY_PRESS] = @@ -17467,7 +17466,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BODY_PRESS, + .battleAnimScript = gBattleAnimMove_BodyPress, }, [MOVE_DECORATE] = @@ -17491,7 +17490,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DECORATE, + .battleAnimScript = gBattleAnimMove_Decorate, }, [MOVE_DRUM_BEATING] = @@ -17517,7 +17516,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DRUM_BEATING, + .battleAnimScript = gBattleAnimMove_DrumBeating, }, [MOVE_SNAP_TRAP] = @@ -17544,7 +17543,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SNAP_TRAP, + .battleAnimScript = gBattleAnimMove_SnapTrap, }, [MOVE_PYRO_BALL] = @@ -17572,12 +17571,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PYRO_BALL, + .battleAnimScript = gBattleAnimMove_PyroBall, }, [MOVE_BEHEMOTH_BLADE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BehemthBlade", "Behemoth Blade"), + .name = COMPOUND_STRING("Behemoth Blade"), .description = COMPOUND_STRING( "Strikes as a sword. Deals 2x\n" "damage to Dynamaxed foes."), @@ -17599,12 +17598,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BEHEMOTH_BLADE, + .battleAnimScript = gBattleAnimMove_BehemothBlade, }, [MOVE_BEHEMOTH_BASH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BehemothBash", "Behemoth Bash"), + .name = COMPOUND_STRING("Behemoth Bash"), .description = COMPOUND_STRING( "Attacks as a shield. Deals 2x\n" "damage to Dynamaxed foes."), @@ -17625,7 +17624,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BEHEMOTH_BASH, + .battleAnimScript = gBattleAnimMove_BehemothBash, }, [MOVE_AURA_WHEEL] = @@ -17652,12 +17651,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AURA_WHEEL, + .battleAnimScript = gBattleAnimMove_AuraWheel, }, [MOVE_BREAKING_SWIPE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BreakngSwipe", "Breaking Swipe"), + .name = COMPOUND_STRING("Breaking Swipe"), .description = COMPOUND_STRING( "Swings its tail to attack.\n" "Lowers the Atk of those hit."), @@ -17679,7 +17678,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BREAKING_SWIPE, + .battleAnimScript = gBattleAnimMove_BreakingSwipe, }, [MOVE_BRANCH_POKE] = @@ -17702,7 +17701,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BRANCH_POKE, + .battleAnimScript = gBattleAnimMove_BranchPoke, }, [MOVE_OVERDRIVE] = @@ -17726,7 +17725,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_OVERDRIVE, + .battleAnimScript = gBattleAnimMove_Overdrive, }, [MOVE_APPLE_ACID] = @@ -17752,7 +17751,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_APPLE_ACID, + .battleAnimScript = gBattleAnimMove_AppleAcid, }, [MOVE_GRAV_APPLE] = @@ -17778,7 +17777,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GRAV_APPLE, + .battleAnimScript = gBattleAnimMove_GravApple, }, [MOVE_SPIRIT_BREAK] = @@ -17805,12 +17804,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPIRIT_BREAK, + .battleAnimScript = gBattleAnimMove_SpiritBreak, }, [MOVE_STRANGE_STEAM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("StrangeSteam", "Strange Steam"), + .name = COMPOUND_STRING("Strange Steam"), .description = COMPOUND_STRING( "Emits a strange steam to\n" "potentially confuse the foe."), @@ -17831,7 +17830,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STRANGE_STEAM, + .battleAnimScript = gBattleAnimMove_StrangeSteam, }, [MOVE_LIFE_DEW] = @@ -17858,7 +17857,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LIFE_DEW, + .battleAnimScript = gBattleAnimMove_LifeDew, }, [MOVE_OBSTRUCT] = @@ -17883,12 +17882,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_OBSTRUCT, + .battleAnimScript = gBattleAnimMove_Obstruct, }, [MOVE_FALSE_SURRENDER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("FalsSurrendr", "False Surrender"), + .name = COMPOUND_STRING("False Surrender"), .description = COMPOUND_STRING( "Bows to stab the foe\n" "with hair. It never misses."), @@ -17906,12 +17905,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FALSE_SURRENDER, + .battleAnimScript = gBattleAnimMove_FalseSurrender, }, [MOVE_METEOR_ASSAULT] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MeteorAssalt", "Meteor Assault"), + .name = COMPOUND_STRING("Meteor Assault"), .description = COMPOUND_STRING( "Attacks with a thick leek.\n" "The user must then rest."), @@ -17933,7 +17932,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_METEOR_ASSAULT, + .battleAnimScript = gBattleAnimMove_MeteorAssault, }, [MOVE_ETERNABEAM] = @@ -17959,7 +17958,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ETERNABEAM, + .battleAnimScript = gBattleAnimMove_Eternabeam, }, [MOVE_STEEL_BEAM] = @@ -17981,12 +17980,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STEEL_BEAM, + .battleAnimScript = gBattleAnimMove_SteelBeam, }, [MOVE_EXPANDING_FORCE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ExpandngForc", "Expanding Force"), + .name = COMPOUND_STRING("Expanding Force"), .description = COMPOUND_STRING( "Power goes up and damages\n" "all foes on Psychic Terrain."), @@ -18002,7 +18001,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_PSYCHIC_TERRAIN}, - .battleAnimScript = Move_EXPANDING_FORCE, + .battleAnimScript = gBattleAnimMove_ExpandingForce, }, [MOVE_STEEL_ROLLER] = @@ -18026,7 +18025,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STEEL_ROLLER, + .battleAnimScript = gBattleAnimMove_SteelRoller, }, [MOVE_SCALE_SHOT] = @@ -18048,7 +18047,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SCALE_SHOT, + .battleAnimScript = gBattleAnimMove_ScaleShot, }, [MOVE_METEOR_BEAM] = @@ -18076,12 +18075,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_METEOR_BEAM, + .battleAnimScript = gBattleAnimMove_MeteorBeam, }, [MOVE_SHELL_SIDE_ARM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ShellSideArm", "Shell Side Arm"), + .name = COMPOUND_STRING("Shell Side Arm"), .description = COMPOUND_STRING( "Deals better of physical and\n" "special damage. May poison."), @@ -18101,12 +18100,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHELL_SIDE_ARM, + .battleAnimScript = gBattleAnimMove_ShellSideArm, }, [MOVE_MISTY_EXPLOSION] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MstyExplsion", "Misty Explosion"), + .name = COMPOUND_STRING("Misty Explosion"), .description = COMPOUND_STRING( "Hit everything and faint.\n" "Powers up on Misty Terrain."), @@ -18122,7 +18121,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_MISTY_TERRAIN}, - .battleAnimScript = Move_MISTY_EXPLOSION, + .battleAnimScript = gBattleAnimMove_MistyExplosion, }, [MOVE_GRASSY_GLIDE] = @@ -18145,12 +18144,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GRASSY_TERRAIN}, - .battleAnimScript = Move_GRASSY_GLIDE, + .battleAnimScript = gBattleAnimMove_GrassyGlide, }, [MOVE_RISING_VOLTAGE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("RisngVoltage", "Rising Voltage"), + .name = COMPOUND_STRING("Rising Voltage"), .description = COMPOUND_STRING( "This move's power doubles\n" "when on Electric Terrain."), @@ -18166,12 +18165,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ELECTRIC_TERRAIN}, - .battleAnimScript = Move_RISING_VOLTAGE, + .battleAnimScript = gBattleAnimMove_RisingVoltage, }, [MOVE_TERRAIN_PULSE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("TerrainPulse", "Terrain Pulse"), + .name = COMPOUND_STRING("Terrain Pulse"), .description = COMPOUND_STRING( "Type and power changes\n" "depending on the terrain."), @@ -18188,12 +18187,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ELECTRIC_TERRAIN, COMBO_STARTER_MISTY_TERRAIN, COMBO_STARTER_GRASSY_TERRAIN, COMBO_STARTER_PSYCHIC_TERRAIN}, - .battleAnimScript = Move_TERRAIN_PULSE, + .battleAnimScript = gBattleAnimMove_TerrainPulse, }, [MOVE_SKITTER_SMACK] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SkitterSmack", "Skitter Smack"), + .name = COMPOUND_STRING("Skitter Smack"), .description = COMPOUND_STRING( "User skitters behind foe to\n" "attack. Lowers foe's Sp. Atk."), @@ -18214,12 +18213,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SKITTER_SMACK, + .battleAnimScript = gBattleAnimMove_SkitterSmack, }, [MOVE_BURNING_JEALOUSY] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BrningJelosy", "Burning Jealousy"), + .name = COMPOUND_STRING("Burning Jealousy"), .description = COMPOUND_STRING( "Foes that have stats upped\n" "during the turn get burned."), @@ -18240,7 +18239,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BURNING_JEALOUSY, + .battleAnimScript = gBattleAnimMove_BurningJealousy, }, [MOVE_LASH_OUT] = @@ -18262,7 +18261,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LASH_OUT, + .battleAnimScript = gBattleAnimMove_LashOut, }, [MOVE_POLTERGEIST] = @@ -18283,12 +18282,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POLTERGEIST, + .battleAnimScript = gBattleAnimMove_Poltergeist, }, [MOVE_CORROSIVE_GAS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("CorrosiveGas", "Corrosive Gas"), + .name = COMPOUND_STRING("Corrosive Gas"), .description = COMPOUND_STRING( "Highly acidic gas melts items\n" "held by surrounding Pokémon."), @@ -18305,7 +18304,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CORROSIVE_GAS, + .battleAnimScript = gBattleAnimMove_CorrosiveGas, }, [MOVE_COACHING] = @@ -18329,7 +18328,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COACHING, + .battleAnimScript = gBattleAnimMove_Coaching, }, [MOVE_FLIP_TURN] = @@ -18351,7 +18350,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLIP_TURN, + .battleAnimScript = gBattleAnimMove_FlipTurn, }, [MOVE_TRIPLE_AXEL] = @@ -18374,12 +18373,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TRIPLE_AXEL, + .battleAnimScript = gBattleAnimMove_TripleAxel, }, [MOVE_DUAL_WINGBEAT] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DualWingbeat", "Dual Wingbeat"), + .name = COMPOUND_STRING("Dual Wingbeat"), .description = COMPOUND_STRING( "User slams the target with\n" "wings and hits twice in a row."), @@ -18397,12 +18396,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DUAL_WINGBEAT, + .battleAnimScript = gBattleAnimMove_DualWingbeat, }, [MOVE_SCORCHING_SANDS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ScorchngSnds", "Scorching Sands"), + .name = COMPOUND_STRING("Scorching Sands"), .description = COMPOUND_STRING( "Throws scorching sand at\n" "the target. May leave a burn."), @@ -18423,12 +18422,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SCORCHING_SANDS, + .battleAnimScript = gBattleAnimMove_ScorchingSands, }, [MOVE_JUNGLE_HEALING] = { - .name = HANDLE_EXPANDED_MOVE_NAME("JungleHealng", "Jungle Healing"), + .name = COMPOUND_STRING("Jungle Healing"), .description = COMPOUND_STRING( "Heals HP and status of\n" "itself and allies in battle."), @@ -18449,7 +18448,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_JUNGLE_HEALING, + .battleAnimScript = gBattleAnimMove_JungleHealing, }, [MOVE_WICKED_BLOW] = @@ -18474,12 +18473,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WICKED_BLOW, + .battleAnimScript = gBattleAnimMove_WickedBlow, }, [MOVE_SURGING_STRIKES] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SurgngStrkes", "Surging Strikes"), + .name = COMPOUND_STRING("Surging Strikes"), .description = COMPOUND_STRING( "Mastering the Water style,\n" "strikes with 3 critical hits."), @@ -18500,7 +18499,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SURGING_STRIKES, + .battleAnimScript = gBattleAnimMove_SurgingStrikes, }, [MOVE_THUNDER_CAGE] = @@ -18525,16 +18524,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_THUNDER_CAGE, + .battleAnimScript = gBattleAnimMove_ThunderCage, }, [MOVE_DRAGON_ENERGY] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DragonEnergy", "Dragon Energy"), + .name = COMPOUND_STRING("Dragon Energy"), .description = COMPOUND_STRING( "The higher the user's HP\n" "the more damage caused."), - .effect = EFFECT_ERUPTION, + .effect = EFFECT_POWER_BASED_ON_USER_HP, .power = 150, .type = TYPE_DRAGON, .accuracy = 100, @@ -18547,12 +18546,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DRAGON_ENERGY, + .battleAnimScript = gBattleAnimMove_DragonEnergy, }, [MOVE_FREEZING_GLARE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("FreezngGlare", "Freezing Glare"), + .name = COMPOUND_STRING("Freezing Glare"), .description = COMPOUND_STRING( "Shoots psychic power from\n" #if B_USE_FROSTBITE == TRUE @@ -18577,7 +18576,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FREEZING_GLARE, + .battleAnimScript = gBattleAnimMove_FreezingGlare, }, [MOVE_FIERY_WRATH] = @@ -18603,12 +18602,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FIERY_WRATH, + .battleAnimScript = gBattleAnimMove_FieryWrath, }, [MOVE_THUNDEROUS_KICK] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ThnderusKick", "Thunderous Kick"), + .name = COMPOUND_STRING("Thunderous Kick"), .description = COMPOUND_STRING( "Uses a lightning-like kick\n" "to hit. Lowers foe's Defense."), @@ -18630,12 +18629,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_THUNDEROUS_KICK, + .battleAnimScript = gBattleAnimMove_ThunderousKick, }, [MOVE_GLACIAL_LANCE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("GlacialLance", "Glacial Lance"), + .name = COMPOUND_STRING("Glacial Lance"), .description = COMPOUND_STRING( "Hurls a blizzard-cloaked\n" "icicle lance at foes."), @@ -18652,12 +18651,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GLACIAL_LANCE, + .battleAnimScript = gBattleAnimMove_GlacialLance, }, [MOVE_ASTRAL_BARRAGE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("AstrlBarrage", "Astral Barrage"), + .name = COMPOUND_STRING("Astral Barrage"), .description = COMPOUND_STRING( "Sends a frightful amount\n" "of small ghosts at foes."), @@ -18674,7 +18673,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ASTRAL_BARRAGE, + .battleAnimScript = gBattleAnimMove_AstralBarrage, }, [MOVE_EERIE_SPELL] = @@ -18697,7 +18696,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_EERIE_SPELL, + .battleAnimScript = gBattleAnimMove_EerieSpell, }, [MOVE_DIRE_CLAW] = @@ -18719,12 +18718,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_DIRE_CLAW, .chance = 50, }), - .battleAnimScript = Move_DIRE_CLAW, + .battleAnimScript = gBattleAnimMove_DireClaw, }, [MOVE_PSYSHIELD_BASH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PsyshieldBsh", "Psyshield Bash"), + .name = COMPOUND_STRING("Psyshield Bash"), .description = COMPOUND_STRING( "Hits a foe with psychic\n" "energy. May raise Defense."), @@ -18742,7 +18741,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .self = TRUE, .chance = 100, }), - .battleAnimScript = Move_PSYSHIELD_BASH, + .battleAnimScript = gBattleAnimMove_PsyshieldBash, }, [MOVE_POWER_SHIFT] = @@ -18763,7 +18762,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_POWER_SHIFT, + .battleAnimScript = gBattleAnimMove_PowerShift, }, [MOVE_STONE_AXE] = @@ -18786,12 +18785,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_STEALTH_ROCK, .chance = 100, }), - .battleAnimScript = Move_STONE_AXE, + .battleAnimScript = gBattleAnimMove_StoneAxe, }, [MOVE_SPRINGTIDE_STORM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SprngtdeStrm", "Springtide Storm"), + .name = COMPOUND_STRING("Springtide Storm"), .description = COMPOUND_STRING( "Wraps a foe in fierce winds.\n" "Varies with the user's form."), @@ -18809,12 +18808,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_ATK_MINUS_1, .chance = 30, }), - .battleAnimScript = Move_SPRINGTIDE_STORM, + .battleAnimScript = gBattleAnimMove_SpringtideStorm, }, [MOVE_MYSTICAL_POWER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MystcalPower", "Mystical Power"), + .name = COMPOUND_STRING("Mystical Power"), .description = COMPOUND_STRING( "A mysterious power strikes,\n" "raising the user's Sp. Atk."), @@ -18831,7 +18830,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .self = TRUE, .chance = 100, }), - .battleAnimScript = Move_MYSTICAL_POWER, + .battleAnimScript = gBattleAnimMove_MysticalPower, }, [MOVE_RAGING_FURY] = @@ -18853,7 +18852,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_THRASH, .self = TRUE, }), - .battleAnimScript = Move_RAGING_FURY, + .battleAnimScript = gBattleAnimMove_RagingFury, }, [MOVE_WAVE_CRASH] = @@ -18873,7 +18872,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, - .battleAnimScript = Move_WAVE_CRASH, + .battleAnimScript = gBattleAnimMove_WaveCrash, }, [MOVE_CHLOROBLAST] = @@ -18890,12 +18889,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, - .battleAnimScript = Move_CHLOROBLAST, + .battleAnimScript = gBattleAnimMove_Chloroblast, }, [MOVE_MOUNTAIN_GALE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MountainGale", "Mountain Gale"), + .name = COMPOUND_STRING("Mountain Gale"), .description = COMPOUND_STRING( "Giant chunks of ice damage\n" "the foe. It may flinch."), @@ -18911,12 +18910,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_FLINCH, .chance = 30, }), - .battleAnimScript = Move_MOUNTAIN_GALE, + .battleAnimScript = gBattleAnimMove_MountainGale, }, [MOVE_VICTORY_DANCE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("VictoryDance", "Victory Dance"), + .name = COMPOUND_STRING("Victory Dance"), .description = COMPOUND_STRING( "Dances to raise Attack,\n" "Defense and Speed."), @@ -18932,12 +18931,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .snatchAffected = TRUE, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, - .battleAnimScript = Move_VICTORY_DANCE, + .battleAnimScript = gBattleAnimMove_VictoryDance, }, [MOVE_HEADLONG_RUSH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("HeadlongRush", "Headlong Rush"), + .name = COMPOUND_STRING("Headlong Rush"), .description = COMPOUND_STRING( "Hits with a full-body tackle.\n" "Lowers the users's defenses."), @@ -18955,7 +18954,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_DEF_SPDEF_DOWN, .self = TRUE, }), - .battleAnimScript = Move_HEADLONG_RUSH, + .battleAnimScript = gBattleAnimMove_HeadlongRush, }, [MOVE_BARB_BARRAGE] = @@ -18977,7 +18976,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_POISON, .chance = 50, }), - .battleAnimScript = Move_BARB_BARRAGE, + .battleAnimScript = gBattleAnimMove_BarbBarrage, }, [MOVE_ESPER_WING] = @@ -19000,12 +18999,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .self = TRUE, .chance = 100, }), - .battleAnimScript = Move_ESPER_WING, + .battleAnimScript = gBattleAnimMove_EsperWing, }, [MOVE_BITTER_MALICE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BitterMalice", "Bitter Malice"), + .name = COMPOUND_STRING("Bitter Malice"), .description = COMPOUND_STRING( "A spine-chilling resentment.\n" "Lowers the foe's Attack."), @@ -19021,7 +19020,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_ATK_MINUS_1, .chance = 100, }), - .battleAnimScript = Move_BITTER_MALICE, + .battleAnimScript = gBattleAnimMove_BitterMalice, }, [MOVE_SHELTER] = @@ -19041,12 +19040,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .snatchAffected = TRUE, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, - .battleAnimScript = Move_SHELTER, + .battleAnimScript = gBattleAnimMove_Shelter, }, [MOVE_TRIPLE_ARROWS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("TripleArrows", "Triple Arrows"), + .name = COMPOUND_STRING("Triple Arrows"), .description = COMPOUND_STRING( "High critical hit ratio.\n" "May lower Defense or flinch."), @@ -19067,12 +19066,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_FLINCH, .chance = 30, }), - .battleAnimScript = Move_TRIPLE_ARROWS, + .battleAnimScript = gBattleAnimMove_TripleArrows, }, [MOVE_INFERNAL_PARADE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("InfrnlParade", "Infernal Parade"), + .name = COMPOUND_STRING("Infernal Parade"), .description = COMPOUND_STRING( "Hurts a foe harder if it has\n" "an ailment. May leave a burn."), @@ -19089,12 +19088,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_BURN, .chance = 30, }), - .battleAnimScript = Move_INFERNAL_PARADE, + .battleAnimScript = gBattleAnimMove_InfernalParade, }, [MOVE_CEASELESS_EDGE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("CeaslessEdge", "Ceaseless Edge"), + .name = COMPOUND_STRING("Ceaseless Edge"), .description = COMPOUND_STRING( "High critical hit ratio. Sets\n" "Splinters that hurt the foe."), @@ -19112,12 +19111,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_SPIKES, .chance = 100, }), - .battleAnimScript = Move_CEASELESS_EDGE, + .battleAnimScript = gBattleAnimMove_CeaselessEdge, }, [MOVE_BLEAKWIND_STORM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BlekwndStorm", "Bleakwind Storm"), + .name = COMPOUND_STRING("Bleakwind Storm"), .description = COMPOUND_STRING( "Hits with brutal, cold winds.\n" "May lower the foe's Speed."), @@ -19134,12 +19133,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_SPD_MINUS_1, .chance = 30, }), - .battleAnimScript = Move_BLEAKWIND_STORM, + .battleAnimScript = gBattleAnimMove_BleakwindStorm, }, [MOVE_WILDBOLT_STORM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("WildbltStorm", "Wildbolt Storm"), + .name = COMPOUND_STRING("Wildbolt Storm"), .description = COMPOUND_STRING( "Hits with a brutal tempest.\n" "May inflict paralysis."), @@ -19156,12 +19155,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_PARALYSIS, .chance = 20, }), - .battleAnimScript = Move_WILDBOLT_STORM, + .battleAnimScript = gBattleAnimMove_WildboltStorm, }, [MOVE_SANDSEAR_STORM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SndsearStorm", "Sandsear Storm"), + .name = COMPOUND_STRING("Sandsear Storm"), .description = COMPOUND_STRING( "Hits with brutally hot sand.\n" "May inflict a burn."), @@ -19178,12 +19177,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_BURN, .chance = 20, }), - .battleAnimScript = Move_SANDSEAR_STORM, + .battleAnimScript = gBattleAnimMove_SandsearStorm, }, [MOVE_LUNAR_BLESSING] = { - .name = HANDLE_EXPANDED_MOVE_NAME("LunarBlessng", "Lunar Blessing"), + .name = COMPOUND_STRING("Lunar Blessing"), .description = COMPOUND_STRING( "The user heals and cures\n" "itself and its ally."), @@ -19199,7 +19198,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .healingMove = TRUE, - .battleAnimScript = Move_LUNAR_BLESSING, + .battleAnimScript = gBattleAnimMove_LunarBlessing, }, [MOVE_TAKE_HEART] = @@ -19219,7 +19218,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .snatchAffected = TRUE, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, - .battleAnimScript = Move_TAKE_HEART, + .battleAnimScript = gBattleAnimMove_TakeHeart, }, [MOVE_TERA_BLAST] = @@ -19241,7 +19240,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_TERA_BLAST, .self = TRUE, }), - .battleAnimScript = Move_TERA_BLAST, + .battleAnimScript = gBattleAnimMove_TeraBlast, }, [MOVE_SILK_TRAP] = @@ -19261,7 +19260,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_SILK_TRAP, + .battleAnimScript = gBattleAnimMove_SilkTrap, }, [MOVE_AXE_KICK] = @@ -19283,12 +19282,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_CONFUSION, .chance = 30, }), - .battleAnimScript = Move_AXE_KICK, + .battleAnimScript = gBattleAnimMove_AxeKick, }, [MOVE_LAST_RESPECTS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("LastRespects", "Last Respects"), + .name = COMPOUND_STRING("Last Respects"), .description = COMPOUND_STRING( "This move deals more damage\n" "for each defeated ally."), @@ -19301,7 +19300,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .metronomeBanned = TRUE, // Only since it isn't implemented yet - .battleAnimScript = Move_LAST_RESPECTS, + .battleAnimScript = gBattleAnimMove_LastRespects, }, [MOVE_LUMINA_CRASH] = @@ -19322,7 +19321,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_SP_DEF_MINUS_2, .chance = 100, }), - .battleAnimScript = Move_LUMINA_CRASH, + .battleAnimScript = gBattleAnimMove_LuminaCrash, }, [MOVE_ORDER_UP] = @@ -19331,7 +19330,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "Boosts a user's stats\n" "depending on Tatsugiri."), - .effect = EFFECT_PLACEHOLDER, // EFFECT_ORDER_UP + .effect = EFFECT_ORDER_UP, .power = 80, .type = TYPE_DRAGON, .accuracy = 100, @@ -19341,7 +19340,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_ORDER_UP, + .additionalEffects = ADDITIONAL_EFFECTS({ + .moveEffect = MOVE_EFFECT_ORDER_UP, + .self = TRUE, + .chance = 100, + }), + .battleAnimScript = gBattleAnimMove_OrderUp, }, [MOVE_JET_PUNCH] = @@ -19361,12 +19365,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .makesContact = TRUE, .punchingMove = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_JET_PUNCH, + .battleAnimScript = gBattleAnimMove_JetPunch, }, [MOVE_SPICY_EXTRACT] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SpicyExtract", "Spicy Extract"), + .name = COMPOUND_STRING("Spicy Extract"), .description = COMPOUND_STRING( "Sharply ups target's Attack,\n" "harshly lowers its Defense."), @@ -19380,7 +19384,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_STATUS, .magicCoatAffected = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_SPICY_EXTRACT, + .battleAnimScript = gBattleAnimMove_SpicyExtract, }, [MOVE_SPIN_OUT] = @@ -19403,12 +19407,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_SPD_MINUS_2, .self = TRUE, }), - .battleAnimScript = Move_SPIN_OUT, + .battleAnimScript = gBattleAnimMove_SpinOut, }, [MOVE_POPULATION_BOMB] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PoplatinBomb", "Population Bomb"), + .name = COMPOUND_STRING("Population Bomb"), .description = COMPOUND_STRING( "The user's fellows hit one\n" "to ten times in a row."), @@ -19424,7 +19428,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .slicingMove = TRUE, .metronomeBanned = TRUE, .strikeCount = 10, - .battleAnimScript = Move_POPULATION_BOMB, + .battleAnimScript = gBattleAnimMove_PopulationBomb, }, [MOVE_ICE_SPINNER] = @@ -19444,7 +19448,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .makesContact = TRUE, .argument = ARG_TRY_REMOVE_TERRAIN_HIT, // Remove the active field terrain if there is one. .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, - .battleAnimScript = Move_ICE_SPINNER, + .battleAnimScript = gBattleAnimMove_IceSpinner, }, [MOVE_GLAIVE_RUSH] = @@ -19462,12 +19466,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, - .battleAnimScript = Move_GLAIVE_RUSH, + .battleAnimScript = gBattleAnimMove_GlaiveRush, }, [MOVE_REVIVAL_BLESSING] = { - .name = HANDLE_EXPANDED_MOVE_NAME("RevivlBlesng", "Revival Blessing"), + .name = COMPOUND_STRING("Revival Blessing"), .description = COMPOUND_STRING( "Revives a fainted party {PKMN}\n" "and restores half of its HP."), @@ -19484,7 +19488,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .metronomeBanned = TRUE, .healingMove = TRUE, .sketchBanned = (B_SKETCH_BANS >= GEN_9), - .battleAnimScript = Move_REVIVAL_BLESSING, + .battleAnimScript = gBattleAnimMove_RevivalBlessing, }, [MOVE_SALT_CURE] = @@ -19502,7 +19506,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .metronomeBanned = TRUE, - .battleAnimScript = Move_SALT_CURE, + .battleAnimScript = gBattleAnimMove_SaltCure, }, [MOVE_TRIPLE_DIVE] = @@ -19521,7 +19525,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, .strikeCount = 3, - .battleAnimScript = Move_TRIPLE_DIVE, + .battleAnimScript = gBattleAnimMove_TripleDive, }, [MOVE_MORTAL_SPIN] = @@ -19547,7 +19551,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_POISON, .chance = 100, }), - .battleAnimScript = Move_MORTAL_SPIN, + .battleAnimScript = gBattleAnimMove_MortalSpin, }, [MOVE_DOODLE] = @@ -19567,7 +19571,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_DOODLE, + .battleAnimScript = gBattleAnimMove_Doodle, }, [MOVE_FILLET_AWAY] = @@ -19589,12 +19593,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_FILLET_AWAY, + .battleAnimScript = gBattleAnimMove_FilletAway, }, [MOVE_KOWTOW_CLEAVE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("KowtowCleave", "Kowtow Cleave"), + .name = COMPOUND_STRING("Kowtow Cleave"), .description = COMPOUND_STRING( "User slashes the foe after\n" "kowtowing. It never misses."), @@ -19608,7 +19612,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, .slicingMove = TRUE, - .battleAnimScript = Move_KOWTOW_CLEAVE, + .battleAnimScript = gBattleAnimMove_KowtowCleave, }, [MOVE_FLOWER_TRICK] = @@ -19626,7 +19630,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .alwaysCriticalHit = TRUE, - .battleAnimScript = Move_FLOWER_TRICK, + .battleAnimScript = gBattleAnimMove_FlowerTrick, }, [MOVE_TORCH_SONG] = @@ -19650,7 +19654,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .self = TRUE, .chance = 100, }), - .battleAnimScript = Move_TORCH_SONG, + .battleAnimScript = gBattleAnimMove_TorchSong, }, [MOVE_AQUA_STEP] = @@ -19674,7 +19678,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .self = TRUE, .chance = 100, }), - .battleAnimScript = Move_AQUA_STEP, + .battleAnimScript = gBattleAnimMove_AquaStep, }, [MOVE_RAGING_BULL] = @@ -19693,7 +19697,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_RAGING_BULL, + .battleAnimScript = gBattleAnimMove_RagingBull, }, [MOVE_MAKE_IT_RAIN] = @@ -19718,7 +19722,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_SP_ATK_MINUS_1, .self = TRUE, }), - .battleAnimScript = Move_MAKE_IT_RAIN, + .battleAnimScript = gBattleAnimMove_MakeItRain, }, [MOVE_RUINATION] = @@ -19736,12 +19740,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .metronomeBanned = TRUE, - .battleAnimScript = Move_RUINATION, + .battleAnimScript = gBattleAnimMove_Ruination, }, [MOVE_COLLISION_COURSE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ColisinCours", "Collision Course"), + .name = COMPOUND_STRING("Collision Course"), .description = COMPOUND_STRING( "Prehistoric explosion that's\n" "stronger if super effective."), @@ -19755,12 +19759,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_COLLISION_COURSE, + .battleAnimScript = gBattleAnimMove_CollisionCourse, }, [MOVE_ELECTRO_DRIFT] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ElectroDrift", "Electro Drift"), + .name = COMPOUND_STRING("Electro Drift"), .description = COMPOUND_STRING( "Futuristic electricity. It's\n" "stronger if super effective."), @@ -19774,7 +19778,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .makesContact = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_ELECTRO_DRIFT, + .battleAnimScript = gBattleAnimMove_ElectroDrift, }, [MOVE_SHED_TAIL] = @@ -19795,12 +19799,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_SHED_TAIL, + .battleAnimScript = gBattleAnimMove_ShedTail, }, [MOVE_CHILLY_RECEPTION] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ChilReceptin", "Chilly Reception"), + .name = COMPOUND_STRING("Chilly Reception"), .description = COMPOUND_STRING( "Bad joke summons snowstorm.\n" "The user also switches out."), @@ -19816,7 +19820,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_CHILLY_RECEPTION, + .battleAnimScript = gBattleAnimMove_ChillyReception, }, [MOVE_TIDY_UP] = @@ -19836,7 +19840,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_TIDY_UP, + .battleAnimScript = gBattleAnimMove_TidyUp, }, [MOVE_SNOWSCAPE] = @@ -19857,7 +19861,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_SNOWSCAPE, + .battleAnimScript = gBattleAnimMove_Snowscape, }, [MOVE_POUNCE] = @@ -19880,7 +19884,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_SPD_MINUS_1, .chance = 100, }), - .battleAnimScript = Move_POUNCE, + .battleAnimScript = gBattleAnimMove_Pounce, }, [MOVE_TRAILBLAZE] = @@ -19904,12 +19908,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .self = TRUE, .chance = 100, }), - .battleAnimScript = Move_TRAILBLAZE, + .battleAnimScript = gBattleAnimMove_Trailblaze, }, [MOVE_CHILLING_WATER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ChillingWatr", "Chilling Water"), + .name = COMPOUND_STRING("Chilling Water"), .description = COMPOUND_STRING( "A shower with ice-cold water\n" "lowers the target's Attack."), @@ -19926,7 +19930,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_ATK_MINUS_1, .chance = 100, }), - .battleAnimScript = Move_CHILLING_WATER, + .battleAnimScript = gBattleAnimMove_ChillingWater, }, [MOVE_HYPER_DRILL] = @@ -19946,7 +19950,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .makesContact = TRUE, .ignoresProtect = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_HYPER_DRILL, + .battleAnimScript = gBattleAnimMove_HyperDrill, }, [MOVE_TWIN_BEAM] = @@ -19965,7 +19969,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .strikeCount = 2, .metronomeBanned = TRUE, - .battleAnimScript = Move_TWIN_BEAM, + .battleAnimScript = gBattleAnimMove_TwinBeam, }, [MOVE_RAGE_FIST] = @@ -19985,7 +19989,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .makesContact = TRUE, .punchingMove = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_RAGE_FIST, + .battleAnimScript = gBattleAnimMove_RageFist, }, [MOVE_ARMOR_CANNON] = @@ -20007,7 +20011,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_DEF_SPDEF_DOWN, .self = TRUE, }), - .battleAnimScript = Move_ARMOR_CANNON, + .battleAnimScript = gBattleAnimMove_ArmorCannon, }, [MOVE_BITTER_BLADE] = @@ -20024,10 +20028,11 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, + .argument = 50, .makesContact = TRUE, .slicingMove = TRUE, .healingMove = TRUE, - .battleAnimScript = Move_BITTER_BLADE, + .battleAnimScript = gBattleAnimMove_BitterBlade, }, [MOVE_DOUBLE_SHOCK] = @@ -20051,12 +20056,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_REMOVE_ARG_TYPE, .self = TRUE, }), - .battleAnimScript = Move_DOUBLE_SHOCK, + .battleAnimScript = gBattleAnimMove_DoubleShock, }, [MOVE_GIGATON_HAMMER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("GigatonHammr", "Gigaton Hammer"), + .name = COMPOUND_STRING("Gigaton Hammer"), .description = COMPOUND_STRING( "Swings a huge hammer. Can't\n" "be used twice in a row."), @@ -20069,7 +20074,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .cantUseTwice = TRUE, - .battleAnimScript = Move_GIGATON_HAMMER, + .battleAnimScript = gBattleAnimMove_GigatonHammer, }, [MOVE_COMEUPPANCE] = @@ -20089,7 +20094,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .makesContact = TRUE, .meFirstBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_COMEUPPANCE, + .battleAnimScript = gBattleAnimMove_Comeuppance, }, [MOVE_AQUA_CUTTER] = @@ -20108,12 +20113,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .slicingMove = TRUE, - .battleAnimScript = Move_AQUA_CUTTER, + .battleAnimScript = gBattleAnimMove_AquaCutter, }, [MOVE_BLAZING_TORQUE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BlazngTorque", "Blazing Torque"), + .name = COMPOUND_STRING("Blazing Torque"), .description = COMPOUND_STRING("---"), .effect = EFFECT_HIT, .power = 80, @@ -20137,12 +20142,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_BURN, .chance = 30, }), - .battleAnimScript = Move_BLAZING_TORQUE, + .battleAnimScript = gBattleAnimMove_BlazingTorque, }, [MOVE_WICKED_TORQUE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("WickedTorque", "Wicked Torque"), + .name = COMPOUND_STRING("Wicked Torque"), .description = COMPOUND_STRING("---"), .effect = EFFECT_HIT, .power = 80, @@ -20166,12 +20171,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_SLEEP, .chance = 10, }), - .battleAnimScript = Move_WICKED_TORQUE, + .battleAnimScript = gBattleAnimMove_WickedTorque, }, [MOVE_NOXIOUS_TORQUE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("NoxiusTorque", "Noxious Torque"), + .name = COMPOUND_STRING("Noxious Torque"), .description = COMPOUND_STRING("---"), .effect = EFFECT_HIT, .power = 100, @@ -20195,12 +20200,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_POISON, .chance = 30, }), - .battleAnimScript = Move_NOXIOUS_TORQUE, + .battleAnimScript = gBattleAnimMove_NoxiousTorque, }, [MOVE_COMBAT_TORQUE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("CombatTorque", "Combat Torque"), + .name = COMPOUND_STRING("Combat Torque"), .description = COMPOUND_STRING("---"), .effect = EFFECT_HIT, .power = 100, @@ -20224,12 +20229,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_PARALYSIS, .chance = 30, }), - .battleAnimScript = Move_COMBAT_TORQUE, + .battleAnimScript = gBattleAnimMove_CombatTorque, }, [MOVE_MAGICAL_TORQUE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MagiclTorque", "Magical Torque"), + .name = COMPOUND_STRING("Magical Torque"), .description = COMPOUND_STRING("---"), .effect = EFFECT_HIT, .power = 100, @@ -20253,7 +20258,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_CONFUSION, .chance = 30, }), - .battleAnimScript = Move_MAGICAL_TORQUE, + .battleAnimScript = gBattleAnimMove_MagicalTorque, }, [MOVE_PSYBLADE] = @@ -20272,7 +20277,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, .slicingMove = TRUE, - .battleAnimScript = Move_PSYBLADE, + .battleAnimScript = gBattleAnimMove_Psyblade, }, [MOVE_HYDRO_STEAM] = @@ -20290,7 +20295,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .thawsUser = TRUE, - .battleAnimScript = Move_HYDRO_STEAM, + .battleAnimScript = gBattleAnimMove_HydroSteam, }, [MOVE_BLOOD_MOON] = @@ -20308,12 +20313,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .cantUseTwice = TRUE, - .battleAnimScript = Move_BLOOD_MOON, + .battleAnimScript = gBattleAnimMove_BloodMoon, }, [MOVE_MATCHA_GOTCHA] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MatchaGotcha", "Matcha Gotcha"), + .name = COMPOUND_STRING("Matcha Gotcha"), .description = COMPOUND_STRING( "Absorbs half the damage\n" "inflicted. May cause a burn."), @@ -20325,6 +20330,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_BOTH, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, + .argument = 50, .thawsUser = TRUE, .metronomeBanned = TRUE, .healingMove = B_EXTRAPOLATED_MOVE_FLAGS, @@ -20332,7 +20338,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_BURN, .chance = 20, }), - .battleAnimScript = Move_MATCHA_GOTCHA, + .battleAnimScript = gBattleAnimMove_MatchaGotcha, }, [MOVE_SYRUP_BOMB] = @@ -20355,7 +20361,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_SYRUP_BOMB, .chance = 100, }), - .battleAnimScript = Move_SYRUP_BOMB, + .battleAnimScript = gBattleAnimMove_SyrupBomb, }, [MOVE_IVY_CUDGEL] = @@ -20374,7 +20380,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .metronomeBanned = TRUE, - .battleAnimScript = Move_IVY_CUDGEL, + .battleAnimScript = gBattleAnimMove_IvyCudgel, }, [MOVE_ELECTRO_SHOT] = @@ -20397,12 +20403,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .self = TRUE, .onChargeTurnOnly = TRUE, }, SHEER_FORCE_HACK), - .battleAnimScript = Move_ELECTRO_SHOT, + .battleAnimScript = gBattleAnimMove_ElectroShot, }, [MOVE_TERA_STARSTORM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("TeraStarstrm", "Tera Starstorm"), + .name = COMPOUND_STRING("Tera Starstorm"), .description = COMPOUND_STRING( "In Terapagos's Stellar\n" "Form, it hits all foes."), @@ -20418,7 +20424,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .copycatBanned = TRUE, .mimicBanned = TRUE, .sketchBanned = (B_SKETCH_BANS >= GEN_9), - .battleAnimScript = Move_TERA_STARSTORM, + .battleAnimScript = gBattleAnimMove_TeraStarstorm, }, [MOVE_FICKLE_BEAM] = @@ -20435,12 +20441,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, - .battleAnimScript = Move_FICKLE_BEAM, + .battleAnimScript = gBattleAnimMove_FickleBeam, }, [MOVE_BURNING_BULWARK] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BurnngBulwrk", "Burning Bulwark"), + .name = COMPOUND_STRING("Burning Bulwark"), .description = COMPOUND_STRING( "Evades attack, and burns\n" "the foe if struck."), @@ -20458,7 +20464,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .metronomeBanned = TRUE, .copycatBanned = TRUE, .assistBanned = TRUE, - .battleAnimScript = Move_BURNING_BULWARK, + .battleAnimScript = gBattleAnimMove_BurningBulwark, }, [MOVE_THUNDERCLAP] = @@ -20473,12 +20479,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 1, .category = DAMAGE_CATEGORY_SPECIAL, - .battleAnimScript = Move_THUNDERCLAP, + .battleAnimScript = gBattleAnimMove_Thunderclap, }, [MOVE_MIGHTY_CLEAVE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MightyCleave", "Mighty Cleave"), + .name = COMPOUND_STRING("Mighty Cleave"), .description = sFeintDescription, .effect = EFFECT_HIT, .power = 95, @@ -20491,12 +20497,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .makesContact = TRUE, .ignoresProtect = TRUE, .slicingMove = TRUE, - .battleAnimScript = Move_MIGHTY_CLEAVE, + .battleAnimScript = gBattleAnimMove_MightyCleave, }, [MOVE_TACHYON_CUTTER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("TachyonCuttr", "Tachyon Cutter"), + .name = COMPOUND_STRING("Tachyon Cutter"), .description = COMPOUND_STRING( "Launches particle blades at\n" "the target. Strikes twice."), @@ -20510,24 +20516,23 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .strikeCount = 2, .slicingMove = TRUE, - .battleAnimScript = Move_TACHYON_CUTTER, + .battleAnimScript = gBattleAnimMove_TachyonCutter, }, [MOVE_HARD_PRESS] = { .name = COMPOUND_STRING("Hard Press"), .description = sWringOutDescription, - .effect = EFFECT_VARY_POWER_BASED_ON_HP, - .power = 1, + .effect = EFFECT_POWER_BASED_ON_TARGET_HP, + .power = 100, .type = TYPE_STEEL, .accuracy = 100, .pp = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = 100, .makesContact = TRUE, - .battleAnimScript = Move_HARD_PRESS, + .battleAnimScript = gBattleAnimMove_HardPress, }, [MOVE_DRAGON_CHEER] = @@ -20545,12 +20550,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_STATUS, .ignoresSubstitute = TRUE, - .battleAnimScript = Move_DRAGON_CHEER, + .battleAnimScript = gBattleAnimMove_DragonCheer, }, [MOVE_ALLURING_VOICE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("AllurngVoice", "Alluring Voice"), + .name = COMPOUND_STRING("Alluring Voice"), .description = COMPOUND_STRING( "Confuses foe if its stats\n" "were boosted this turn."), @@ -20569,7 +20574,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .onlyIfTargetRaisedStats = TRUE, .chance = 100, }), - .battleAnimScript = Move_ALLURING_VOICE, + .battleAnimScript = gBattleAnimMove_AlluringVoice, }, [MOVE_TEMPER_FLARE] = @@ -20587,12 +20592,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, - .battleAnimScript = Move_TEMPER_FLARE, + .battleAnimScript = gBattleAnimMove_TemperFlare, }, [MOVE_SUPERCELL_SLAM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SuprcellSlam", "Supercell Slam"), + .name = COMPOUND_STRING("Supercell Slam"), .description = COMPOUND_STRING( "An electrified slam. If it\n" "misses, the user is hurt."), @@ -20606,12 +20611,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, .minimizeDoubleDamage = TRUE, - .battleAnimScript = Move_SUPERCELL_SLAM, + .battleAnimScript = gBattleAnimMove_SupercellSlam, }, [MOVE_PSYCHIC_NOISE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PsychicNoise", "Psychic Noise"), + .name = COMPOUND_STRING("Psychic Noise"), .description = COMPOUND_STRING( "Unpleasant sound waves that\n" "damage and prevent healing."), @@ -20629,7 +20634,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_PSYCHIC_NOISE, .chance = 100, }), - .battleAnimScript = Move_PSYCHIC_NOISE, + .battleAnimScript = gBattleAnimMove_PsychicNoise, }, [MOVE_UPPER_HAND] = @@ -20651,12 +20656,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_FLINCH, .chance = 100, }), - .battleAnimScript = Move_UPPER_HAND, + .battleAnimScript = gBattleAnimMove_UpperHand, }, [MOVE_MALIGNANT_CHAIN] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MalignntChan", "Malignant Chain"), + .name = COMPOUND_STRING("Malignant Chain"), .description = COMPOUND_STRING( "A corrosive chain attack\n" "that may badly poison."), @@ -20672,7 +20677,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_TOXIC, .chance = 50, }), - .battleAnimScript = Move_MALIGNANT_CHAIN, + .battleAnimScript = gBattleAnimMove_MalignantChain, }, // Z-Moves @@ -20688,7 +20693,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, //determined from move type - .battleAnimScript = Move_BREAKNECK_BLITZ, + .battleAnimScript = gBattleAnimMove_BreakneckBlitz, }, [MOVE_ALL_OUT_PUMMELING] = { @@ -20702,7 +20707,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_ALL_OUT_PUMMELING, + .battleAnimScript = gBattleAnimMove_AllOutPummeling, }, [MOVE_SUPERSONIC_SKYSTRIKE] = { @@ -20716,7 +20721,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_SUPERSONIC_SKYSTRIKE, + .battleAnimScript = gBattleAnimMove_SupersonicSkystrike, }, [MOVE_ACID_DOWNPOUR] = { @@ -20730,7 +20735,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_ACID_DOWNPOUR, + .battleAnimScript = gBattleAnimMove_AcidDownpour, }, [MOVE_TECTONIC_RAGE] = { @@ -20745,7 +20750,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, - .battleAnimScript = Move_TECTONIC_RAGE, + .battleAnimScript = gBattleAnimMove_TectonicRage, }, [MOVE_CONTINENTAL_CRUSH] = { @@ -20759,7 +20764,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_CONTINENTAL_CRUSH, + .battleAnimScript = gBattleAnimMove_ContinentalCrush, }, [MOVE_SAVAGE_SPIN_OUT] = { @@ -20773,7 +20778,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_SAVAGE_SPIN_OUT, + .battleAnimScript = gBattleAnimMove_SavageSpinOut, }, [MOVE_NEVER_ENDING_NIGHTMARE] = { @@ -20787,7 +20792,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_NEVER_ENDING_NIGHTMARE, + .battleAnimScript = gBattleAnimMove_NeverEndingNightmare, }, [MOVE_CORKSCREW_CRASH] = { @@ -20801,7 +20806,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_CORKSCREW_CRASH, + .battleAnimScript = gBattleAnimMove_CorkscrewCrash, }, [MOVE_INFERNO_OVERDRIVE] = { @@ -20815,7 +20820,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_INFERNO_OVERDRIVE, + .battleAnimScript = gBattleAnimMove_InfernoOverdrive, }, [MOVE_HYDRO_VORTEX] = { @@ -20829,7 +20834,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_HYDRO_VORTEX, + .battleAnimScript = gBattleAnimMove_HydroVortex, }, [MOVE_BLOOM_DOOM] = { @@ -20843,7 +20848,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_BLOOM_DOOM, + .battleAnimScript = gBattleAnimMove_BloomDoom, }, [MOVE_GIGAVOLT_HAVOC] = { @@ -20857,7 +20862,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_GIGAVOLT_HAVOC, + .battleAnimScript = gBattleAnimMove_GigavoltHavoc, }, [MOVE_SHATTERED_PSYCHE] = { @@ -20871,7 +20876,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_SHATTERED_PSYCHE, + .battleAnimScript = gBattleAnimMove_ShatteredPsyche, }, [MOVE_SUBZERO_SLAMMER] = { @@ -20885,7 +20890,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_SUBZERO_SLAMMER, + .battleAnimScript = gBattleAnimMove_SubzeroSlammer, }, [MOVE_DEVASTATING_DRAKE] = { @@ -20899,7 +20904,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_DEVASTATING_DRAKE, + .battleAnimScript = gBattleAnimMove_DevastatingDrake, }, [MOVE_BLACK_HOLE_ECLIPSE] = { @@ -20913,7 +20918,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_BLACK_HOLE_ECLIPSE, + .battleAnimScript = gBattleAnimMove_BlackHoleEclipse, }, [MOVE_TWINKLE_TACKLE] = { @@ -20927,7 +20932,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_TWINKLE_TACKLE, + .battleAnimScript = gBattleAnimMove_TwinkleTackle, }, [MOVE_CATASTROPIKA] = { @@ -20941,7 +20946,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_CATASTROPIKA, + .battleAnimScript = gBattleAnimMove_Catastropika, }, [MOVE_10000000_VOLT_THUNDERBOLT] = { @@ -20956,7 +20961,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, - .battleAnimScript = Move_10000000_VOLT_THUNDERBOLT, + .battleAnimScript = gBattleAnimMove_10000000VoltThunderbolt, }, [MOVE_STOKED_SPARKSURFER] = { @@ -20974,7 +20979,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_PARALYSIS, .chance = 100, }), - .battleAnimScript = Move_STOKED_SPARKSURFER, + .battleAnimScript = gBattleAnimMove_StokedSparksurfer, }, [MOVE_EXTREME_EVOBOOST] = { @@ -20988,7 +20993,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_USER, .priority = 0, .category = DAMAGE_CATEGORY_STATUS, - .battleAnimScript = Move_EXTREME_EVOBOOST, + .battleAnimScript = gBattleAnimMove_ExtremeEvoboost, }, [MOVE_PULVERIZING_PANCAKE] = { @@ -21002,7 +21007,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_PULVERIZING_PANCAKE, + .battleAnimScript = gBattleAnimMove_PulverizingPancake, }, [MOVE_GENESIS_SUPERNOVA] = { @@ -21017,7 +21022,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .argument = ARG_SET_PSYCHIC_TERRAIN, // Set Psychic Terrain. If there's a different field terrain active, overwrite it. - .battleAnimScript = Move_GENESIS_SUPERNOVA, + .battleAnimScript = gBattleAnimMove_GenesisSupernova, }, [MOVE_SINISTER_ARROW_RAID] = { @@ -21031,7 +21036,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_SINISTER_ARROW_RAID, + .battleAnimScript = gBattleAnimMove_SinisterArrowRaid, }, [MOVE_MALICIOUS_MOONSAULT] = { @@ -21045,7 +21050,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_MALICIOUS_MOONSAULT, + .battleAnimScript = gBattleAnimMove_MaliciousMoonsault, }, [MOVE_OCEANIC_OPERETTA] = { @@ -21059,7 +21064,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, - .battleAnimScript = Move_OCEANIC_OPERETTA, + .battleAnimScript = gBattleAnimMove_OceanicOperetta, }, [MOVE_SPLINTERED_STORMSHARDS] = { @@ -21074,7 +21079,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = ARG_TRY_REMOVE_TERRAIN_HIT, // Remove the active field terrain if there is one. - .battleAnimScript = Move_SPLINTERED_STORMSHARDS, + .battleAnimScript = gBattleAnimMove_SplinteredStormshards, }, [MOVE_LETS_SNUGGLE_FOREVER] = { @@ -21088,7 +21093,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_LETS_SNUGGLE_FOREVER, + .battleAnimScript = gBattleAnimMove_LetsSnuggleForever, }, [MOVE_CLANGOROUS_SOULBLAZE] = { @@ -21109,7 +21114,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .self = TRUE, .chance = 100, }), - .battleAnimScript = Move_CLANGOROUS_SOULBLAZE, + .battleAnimScript = gBattleAnimMove_ClangorousSoulblaze, }, [MOVE_GUARDIAN_OF_ALOLA] = { @@ -21123,7 +21128,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, - .battleAnimScript = Move_GUARDIAN_OF_ALOLA, + .battleAnimScript = gBattleAnimMove_GuardianOfAlola, }, [MOVE_SEARING_SUNRAZE_SMASH] = { @@ -21138,7 +21143,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .ignoresTargetAbility = TRUE, - .battleAnimScript = Move_SEARING_SUNRAZE_SMASH, + .battleAnimScript = gBattleAnimMove_SearingSunrazeSmash, }, [MOVE_MENACING_MOONRAZE_MAELSTROM] = { @@ -21153,7 +21158,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .ignoresTargetAbility = TRUE, - .battleAnimScript = Move_MENACING_MOONRAZE_MAELSTROM, + .battleAnimScript = gBattleAnimMove_MenacingMoonrazeMaelstrom, }, [MOVE_LIGHT_THAT_BURNS_THE_SKY] = { @@ -21168,7 +21173,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .ignoresTargetAbility = TRUE, - .battleAnimScript = Move_LIGHT_THAT_BURNS_THE_SKY, + .battleAnimScript = gBattleAnimMove_LightThatBurnsTheSky, }, [MOVE_SOUL_STEALING_7_STAR_STRIKE] = { @@ -21182,7 +21187,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_SOUL_STEALING_7_STAR_STRIKE, + .battleAnimScript = gBattleAnimMove_SoulStealing7StarStrike, }, [MOVE_MAX_GUARD] = @@ -21197,7 +21202,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_USER, .priority = 4, .category = DAMAGE_CATEGORY_STATUS, - .battleAnimScript = Move_MAX_GUARD, + .battleAnimScript = gBattleAnimMove_MaxGuard, }, [MOVE_MAX_FLARE] = @@ -21213,7 +21218,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_SUN, - .battleAnimScript = Move_MAX_FLARE, + .battleAnimScript = gBattleAnimMove_MaxFlare, }, [MOVE_MAX_FLUTTERBY] = @@ -21229,7 +21234,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_LOWER_SP_ATK, - .battleAnimScript = Move_MAX_FLUTTERBY, + .battleAnimScript = gBattleAnimMove_MaxFlutterby, }, [MOVE_MAX_LIGHTNING] = @@ -21245,7 +21250,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_ELECTRIC_TERRAIN, - .battleAnimScript = Move_MAX_LIGHTNING, + .battleAnimScript = gBattleAnimMove_MaxLightning, }, [MOVE_MAX_STRIKE] = @@ -21261,7 +21266,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_LOWER_SPEED, - .battleAnimScript = Move_MAX_STRIKE, + .battleAnimScript = gBattleAnimMove_MaxStrike, }, [MOVE_MAX_KNUCKLE] = @@ -21277,7 +21282,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_RAISE_TEAM_ATTACK, - .battleAnimScript = Move_MAX_KNUCKLE, + .battleAnimScript = gBattleAnimMove_MaxKnuckle, }, [MOVE_MAX_PHANTASM] = @@ -21293,7 +21298,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_LOWER_DEFENSE, - .battleAnimScript = Move_MAX_PHANTASM, + .battleAnimScript = gBattleAnimMove_MaxPhantasm, }, [MOVE_MAX_HAILSTORM] = @@ -21309,7 +21314,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_HAIL, - .battleAnimScript = Move_MAX_HAILSTORM, + .battleAnimScript = gBattleAnimMove_MaxHailstorm, }, [MOVE_MAX_OOZE] = @@ -21325,7 +21330,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_RAISE_TEAM_SP_ATK, - .battleAnimScript = Move_MAX_OOZE, + .battleAnimScript = gBattleAnimMove_MaxOoze, }, [MOVE_MAX_GEYSER] = @@ -21341,7 +21346,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_RAIN, - .battleAnimScript = Move_MAX_GEYSER, + .battleAnimScript = gBattleAnimMove_MaxGeyser, }, [MOVE_MAX_AIRSTREAM] = @@ -21357,7 +21362,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_RAISE_TEAM_SPEED, - .battleAnimScript = Move_MAX_AIRSTREAM, + .battleAnimScript = gBattleAnimMove_MaxAirstream, }, [MOVE_MAX_STARFALL] = @@ -21373,7 +21378,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_MISTY_TERRAIN, - .battleAnimScript = Move_MAX_STARFALL, + .battleAnimScript = gBattleAnimMove_MaxStarfall, }, [MOVE_MAX_WYRMWIND] = @@ -21389,7 +21394,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_LOWER_ATTACK, - .battleAnimScript = Move_MAX_WYRMWIND, + .battleAnimScript = gBattleAnimMove_MaxWyrmwind, }, [MOVE_MAX_MINDSTORM] = @@ -21405,7 +21410,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_PSYCHIC_TERRAIN, - .battleAnimScript = Move_MAX_MINDSTORM, + .battleAnimScript = gBattleAnimMove_MaxMindstorm, }, [MOVE_MAX_ROCKFALL] = @@ -21421,7 +21426,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_SANDSTORM, - .battleAnimScript = Move_MAX_ROCKFALL, + .battleAnimScript = gBattleAnimMove_MaxRockfall, }, [MOVE_MAX_QUAKE] = @@ -21438,7 +21443,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_RAISE_TEAM_SP_DEF, .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, - .battleAnimScript = Move_MAX_QUAKE, + .battleAnimScript = gBattleAnimMove_MaxQuake, }, [MOVE_MAX_DARKNESS] = @@ -21454,7 +21459,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_LOWER_SP_DEF, - .battleAnimScript = Move_MAX_DARKNESS, + .battleAnimScript = gBattleAnimMove_MaxDarkness, }, [MOVE_MAX_OVERGROWTH] = @@ -21470,7 +21475,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_GRASSY_TERRAIN, - .battleAnimScript = Move_MAX_OVERGROWTH, + .battleAnimScript = gBattleAnimMove_MaxOvergrowth, }, [MOVE_MAX_STEELSPIKE] = @@ -21486,7 +21491,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_RAISE_TEAM_DEFENSE, - .battleAnimScript = Move_MAX_STEELSPIKE, + .battleAnimScript = gBattleAnimMove_MaxSteelspike, }, [MOVE_G_MAX_VINE_LASH] = @@ -21502,7 +21507,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_VINE_LASH, - .battleAnimScript = Move_G_MAX_VINE_LASH, + .battleAnimScript = gBattleAnimMove_GMaxVineLash, }, [MOVE_G_MAX_WILDFIRE] = @@ -21518,7 +21523,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_WILDFIRE, - .battleAnimScript = Move_G_MAX_WILDFIRE, + .battleAnimScript = gBattleAnimMove_GMaxWildfire, }, [MOVE_G_MAX_CANNONADE] = @@ -21534,7 +21539,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_CANNONADE, - .battleAnimScript = Move_G_MAX_CANNONADE, + .battleAnimScript = gBattleAnimMove_GMaxCannonade, }, [MOVE_G_MAX_BEFUDDLE] = @@ -21550,7 +21555,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_EFFECT_SPORE_FOES, - .battleAnimScript = Move_G_MAX_BEFUDDLE, + .battleAnimScript = gBattleAnimMove_GMaxBefuddle, }, [MOVE_G_MAX_VOLT_CRASH] = @@ -21566,7 +21571,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_PARALYZE_FOES, - .battleAnimScript = Move_G_MAX_VOLT_CRASH, + .battleAnimScript = gBattleAnimMove_GMaxVoltCrash, }, [MOVE_G_MAX_GOLD_RUSH] = @@ -21582,7 +21587,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_CONFUSE_FOES_PAY_DAY, - .battleAnimScript = Move_G_MAX_GOLD_RUSH, + .battleAnimScript = gBattleAnimMove_GMaxGoldRush, }, [MOVE_G_MAX_CHI_STRIKE] = @@ -21598,7 +21603,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_CRIT_PLUS, - .battleAnimScript = Move_G_MAX_CHI_STRIKE, + .battleAnimScript = gBattleAnimMove_GMaxChiStrike, }, [MOVE_G_MAX_TERROR] = @@ -21614,7 +21619,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_MEAN_LOOK, - .battleAnimScript = Move_G_MAX_TERROR, + .battleAnimScript = gBattleAnimMove_GMaxTerror, }, [MOVE_G_MAX_FOAM_BURST] = @@ -21630,7 +21635,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_LOWER_SPEED_2_FOES, - .battleAnimScript = Move_G_MAX_FOAM_BURST, + .battleAnimScript = gBattleAnimMove_GMaxFoamBurst, }, [MOVE_G_MAX_RESONANCE] = @@ -21646,7 +21651,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_AURORA_VEIL, - .battleAnimScript = Move_G_MAX_RESONANCE, + .battleAnimScript = gBattleAnimMove_GMaxResonance, }, [MOVE_G_MAX_CUDDLE] = @@ -21662,7 +21667,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_INFATUATE_FOES, - .battleAnimScript = Move_G_MAX_CUDDLE, + .battleAnimScript = gBattleAnimMove_GMaxCuddle, }, [MOVE_G_MAX_REPLENISH] = @@ -21678,7 +21683,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_RECYCLE_BERRIES, - .battleAnimScript = Move_G_MAX_REPLENISH, + .battleAnimScript = gBattleAnimMove_GMaxReplenish, }, [MOVE_G_MAX_MALODOR] = @@ -21694,7 +21699,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_POISON_FOES, - .battleAnimScript = Move_G_MAX_MALODOR, + .battleAnimScript = gBattleAnimMove_GMaxMalodor, }, [MOVE_G_MAX_MELTDOWN] = @@ -21710,7 +21715,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_TORMENT_FOES, - .battleAnimScript = Move_G_MAX_MELTDOWN, + .battleAnimScript = gBattleAnimMove_GMaxMeltdown, }, [MOVE_G_MAX_DRUM_SOLO] = @@ -21727,7 +21732,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_FIXED_POWER, .ignoresTargetAbility = TRUE, - .battleAnimScript = Move_G_MAX_DRUM_SOLO, + .battleAnimScript = gBattleAnimMove_GMaxDrumSolo, }, [MOVE_G_MAX_FIREBALL] = @@ -21744,7 +21749,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_FIXED_POWER, .ignoresTargetAbility = TRUE, - .battleAnimScript = Move_G_MAX_FIREBALL, + .battleAnimScript = gBattleAnimMove_GMaxFireball, }, [MOVE_G_MAX_HYDROSNIPE] = @@ -21761,7 +21766,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_FIXED_POWER, .ignoresTargetAbility = TRUE, - .battleAnimScript = Move_G_MAX_HYDROSNIPE, + .battleAnimScript = gBattleAnimMove_GMaxHydrosnipe, }, [MOVE_G_MAX_WIND_RAGE] = @@ -21777,7 +21782,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_DEFOG, - .battleAnimScript = Move_G_MAX_WIND_RAGE, + .battleAnimScript = gBattleAnimMove_GMaxWindRage, }, [MOVE_G_MAX_GRAVITAS] = @@ -21793,7 +21798,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_GRAVITY, - .battleAnimScript = Move_G_MAX_GRAVITAS, + .battleAnimScript = gBattleAnimMove_GMaxGravitas, }, [MOVE_G_MAX_STONESURGE] = @@ -21809,7 +21814,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_STEALTH_ROCK, - .battleAnimScript = Move_G_MAX_STONESURGE, + .battleAnimScript = gBattleAnimMove_GMaxStonesurge, }, [MOVE_G_MAX_VOLCALITH] = @@ -21825,7 +21830,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_VOLCALITH, - .battleAnimScript = Move_G_MAX_VOLCALITH, + .battleAnimScript = gBattleAnimMove_GMaxVolcalith, }, [MOVE_G_MAX_TARTNESS] = @@ -21841,7 +21846,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_LOWER_EVASIVENESS_FOES, - .battleAnimScript = Move_G_MAX_TARTNESS, + .battleAnimScript = gBattleAnimMove_GMaxTartness, }, [MOVE_G_MAX_SWEETNESS] = @@ -21857,7 +21862,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_AROMATHERAPY, - .battleAnimScript = Move_G_MAX_SWEETNESS, + .battleAnimScript = gBattleAnimMove_GMaxSweetness, }, [MOVE_G_MAX_SANDBLAST] = @@ -21873,7 +21878,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_SANDBLAST_FOES, - .battleAnimScript = Move_G_MAX_SANDBLAST, + .battleAnimScript = gBattleAnimMove_GMaxSandblast, }, [MOVE_G_MAX_STUN_SHOCK] = @@ -21889,7 +21894,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_POISON_PARALYZE_FOES, - .battleAnimScript = Move_G_MAX_STUN_SHOCK, + .battleAnimScript = gBattleAnimMove_GMaxStunShock, }, [MOVE_G_MAX_CENTIFERNO] = @@ -21905,7 +21910,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_FIRE_SPIN_FOES, - .battleAnimScript = Move_G_MAX_CENTIFERNO, + .battleAnimScript = gBattleAnimMove_GMaxCentiferno, }, [MOVE_G_MAX_SMITE] = @@ -21921,7 +21926,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_CONFUSE_FOES, - .battleAnimScript = Move_G_MAX_SMITE, + .battleAnimScript = gBattleAnimMove_GMaxSmite, }, @@ -21938,7 +21943,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_YAWN_FOE, - .battleAnimScript = Move_G_MAX_SNOOZE, + .battleAnimScript = gBattleAnimMove_GMaxSnooze, }, [MOVE_G_MAX_FINALE] = @@ -21954,7 +21959,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_HEAL_TEAM, - .battleAnimScript = Move_G_MAX_FINALE, + .battleAnimScript = gBattleAnimMove_GMaxFinale, }, [MOVE_G_MAX_STEELSURGE] = @@ -21970,7 +21975,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_STEELSURGE, - .battleAnimScript = Move_G_MAX_STEELSURGE, + .battleAnimScript = gBattleAnimMove_GMaxSteelsurge, }, [MOVE_G_MAX_DEPLETION] = @@ -21986,7 +21991,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_SPITE, - .battleAnimScript = Move_G_MAX_DEPLETION, + .battleAnimScript = gBattleAnimMove_GMaxDepletion, }, [MOVE_G_MAX_ONE_BLOW] = @@ -22002,7 +22007,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_BYPASS_PROTECT, - .battleAnimScript = Move_G_MAX_ONE_BLOW, + .battleAnimScript = gBattleAnimMove_GMaxOneBlow, }, [MOVE_G_MAX_RAPID_FLOW] = @@ -22018,7 +22023,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_BYPASS_PROTECT, - .battleAnimScript = Move_G_MAX_RAPID_FLOW, + .battleAnimScript = gBattleAnimMove_GMaxRapidFlow, }, }; diff --git a/src/data/object_events/movement_action_func_tables.h b/src/data/object_events/movement_action_func_tables.h index a605b3f0b2d4..dda5ff399171 100755 --- a/src/data/object_events/movement_action_func_tables.h +++ b/src/data/object_events/movement_action_func_tables.h @@ -266,6 +266,11 @@ u8 MovementAction_FlyUp_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_Fly_Finish(struct ObjectEvent *, struct Sprite *); u8 MovementAction_FlyDown_Step0(struct ObjectEvent *, struct Sprite *); u8 MovementAction_FlyDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementActionFunc_RunSlowDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementActionFunc_RunSlowUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementActionFunc_RunSlowLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementActionFunc_RunSlowRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementActionFunc_RunSlow_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); u8 (*const gMovementActionFuncs_FaceDown[])(struct ObjectEvent *, struct Sprite *); u8 (*const gMovementActionFuncs_FaceUp[])(struct ObjectEvent *, struct Sprite *); @@ -429,6 +434,10 @@ u8 (*const gMovementActionFuncs_FlyUp[])(struct ObjectEvent *, struct Sprite *); u8 (*const gMovementActionFuncs_FlyDown[])(struct ObjectEvent *, struct Sprite *); u8 (*const gMovementActionFuncs_EmoteX[])(struct ObjectEvent *, struct Sprite *); u8 (*const gMovementActionFuncs_EmoteDoubleExclMark[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_RunDownSlow[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_RunUpSlow[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_RunLeftSlow[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_RunRightSlow[])(struct ObjectEvent *, struct Sprite *); u8 (*const *const gMovementActionFuncs[])(struct ObjectEvent *, struct Sprite *) = { [MOVEMENT_ACTION_FACE_DOWN] = gMovementActionFuncs_FaceDown, @@ -593,6 +602,10 @@ u8 (*const *const gMovementActionFuncs[])(struct ObjectEvent *, struct Sprite *) [MOVEMENT_ACTION_EMOTE_DOUBLE_EXCL_MARK] = gMovementActionFuncs_EmoteDoubleExclMark, [MOVEMENT_ACTION_EXIT_POKEBALL] = gMovementActionFuncs_ExitPokeball, [MOVEMENT_ACTION_ENTER_POKEBALL] = gMovementActionFuncs_EnterPokeball, + [MOVEMENT_ACTION_RUN_DOWN_SLOW] = gMovementActionFuncs_RunDownSlow, + [MOVEMENT_ACTION_RUN_UP_SLOW] = gMovementActionFuncs_RunUpSlow, + [MOVEMENT_ACTION_RUN_LEFT_SLOW] = gMovementActionFuncs_RunLeftSlow, + [MOVEMENT_ACTION_RUN_RIGHT_SLOW] = gMovementActionFuncs_RunRightSlow, }; u8 (*const gMovementActionFuncs_FaceDown[])(struct ObjectEvent *, struct Sprite *) = { @@ -1554,3 +1567,27 @@ u8 (*const gMovementActionFuncs_EmoteDoubleExclMark[])(struct ObjectEvent *, str MovementAction_EmoteDoubleExclamationMark_Step0, MovementAction_Finish, }; + +u8 (*const gMovementActionFuncs_RunDownSlow[])(struct ObjectEvent *, struct Sprite *) = { + MovementActionFunc_RunSlowDown_Step0, + MovementActionFunc_RunSlow_Step1, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_RunUpSlow[])(struct ObjectEvent *, struct Sprite *) = { + MovementActionFunc_RunSlowUp_Step0, + MovementActionFunc_RunSlow_Step1, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_RunLeftSlow[])(struct ObjectEvent *, struct Sprite *) = { + MovementActionFunc_RunSlowLeft_Step0, + MovementActionFunc_RunSlow_Step1, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_RunRightSlow[])(struct ObjectEvent *, struct Sprite *) = { + MovementActionFunc_RunSlowRight_Step0, + MovementActionFunc_RunSlow_Step1, + MovementAction_PauseSpriteAnim, +}; diff --git a/src/data/object_events/object_event_pic_tables_followers.h b/src/data/object_events/object_event_pic_tables_followers.h index a456c17e0159..276e8fcf6540 100644 --- a/src/data/object_events/object_event_pic_tables_followers.h +++ b/src/data/object_events/object_event_pic_tables_followers.h @@ -13,14 +13,19 @@ static const struct SpriteFrameImage sPicTable_Ivysaur[] = { static const struct SpriteFrameImage sPicTable_Venusaur[] = { overworld_ascending_frames(gObjectEventPic_Venusaur, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_VenusaurF[] = { + overworld_ascending_frames(gObjectEventPic_VenusaurF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS /*static const struct SpriteFrameImage sPicTable_VenusaurMega[] = { overworld_ascending_frames(gObjectEventPic_VenusaurMega, 4, 4), };*/ #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_VenusaurGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_VenusaurGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_VenusaurGmax[] = { + overworld_ascending_frames(gObjectEventPic_VenusaurGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_BULBASAUR @@ -44,8 +49,8 @@ static const struct SpriteFrameImage sPicTable_CharizardMegaY[] = { };*/ #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_CharizardGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_CharizardGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_CharizardGmax[] = { + overworld_ascending_frames(gObjectEventPic_CharizardGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_CHARMANDER @@ -66,8 +71,8 @@ static const struct SpriteFrameImage sPicTable_Blastoise[] = { };*/ #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_BlastoiseGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_BlastoiseGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_BlastoiseGmax[] = { + overworld_ascending_frames(gObjectEventPic_BlastoiseGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SQUIRTLE @@ -82,9 +87,14 @@ static const struct SpriteFrameImage sPicTable_Metapod[] = { static const struct SpriteFrameImage sPicTable_Butterfree[] = { overworld_ascending_frames(gObjectEventPic_Butterfree, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_ButterfreeF[] = { + overworld_ascending_frames(gObjectEventPic_ButterfreeF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_ButterfreeGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_ButterfreeGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_ButterfreeGmax[] = { + overworld_ascending_frames(gObjectEventPic_ButterfreeGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_CATERPIE @@ -127,15 +137,25 @@ static const struct SpriteFrameImage sPicTable_Pidgeot[] = { static const struct SpriteFrameImage sPicTable_Rattata[] = { overworld_ascending_frames(gObjectEventPic_Rattata, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_RattataF[] = { + overworld_ascending_frames(gObjectEventPic_RattataF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Raticate[] = { overworld_ascending_frames(gObjectEventPic_Raticate, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_RaticateF[] = { + overworld_ascending_frames(gObjectEventPic_RaticateF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_RattataAlolan[] = { - overworld_ascending_frames(gObjectEventPic_RattataAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_RattataAlola[] = { + overworld_ascending_frames(gObjectEventPic_RattataAlola, 4, 4), }; -static const struct SpriteFrameImage sPicTable_RaticateAlolan[] = { - overworld_ascending_frames(gObjectEventPic_RaticateAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_RaticateAlola[] = { + overworld_ascending_frames(gObjectEventPic_RaticateAlola, 4, 4), }; #endif //P_ALOLAN_FORMS #endif //P_FAMILY_RATTATA @@ -170,6 +190,11 @@ static const struct SpriteFrameImage sPicTable_PichuSpikyEared[] = { static const struct SpriteFrameImage sPicTable_Pikachu[] = { overworld_ascending_frames(gObjectEventPic_Pikachu, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_PikachuF[] = { + overworld_ascending_frames(gObjectEventPic_PikachuF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_COSPLAY_PIKACHU_FORMS /*static const struct SpriteFrameImage sPicTable_PikachuCosplay[] = { overworld_ascending_frames(gObjectEventPic_PikachuCosplay, 4, 4), @@ -192,44 +217,49 @@ static const struct SpriteFrameImage sPicTable_PikachuLibre[] = { #endif //P_COSPLAY_PIKACHU_FORMS #if P_CAP_PIKACHU_FORMS -/*static const struct SpriteFrameImage sPicTable_PikachuOriginalCap[] = { - overworld_ascending_frames(gObjectEventPic_PikachuOriginalCap, 4, 4), +/*static const struct SpriteFrameImage sPicTable_PikachuOriginal[] = { + overworld_ascending_frames(gObjectEventPic_PikachuOriginal, 4, 4), }; -static const struct SpriteFrameImage sPicTable_PikachuHoennCap[] = { - overworld_ascending_frames(gObjectEventPic_PikachuHoennCap, 4, 4), +static const struct SpriteFrameImage sPicTable_PikachuHoenn[] = { + overworld_ascending_frames(gObjectEventPic_PikachuHoenn, 4, 4), }; -static const struct SpriteFrameImage sPicTable_PikachuSinnohCap[] = { - overworld_ascending_frames(gObjectEventPic_PikachuSinnohCap, 4, 4), +static const struct SpriteFrameImage sPicTable_PikachuSinnoh[] = { + overworld_ascending_frames(gObjectEventPic_PikachuSinnoh, 4, 4), }; -static const struct SpriteFrameImage sPicTable_PikachuUnovaCap[] = { - overworld_ascending_frames(gObjectEventPic_PikachuUnovaCap, 4, 4), +static const struct SpriteFrameImage sPicTable_PikachuUnova[] = { + overworld_ascending_frames(gObjectEventPic_PikachuUnova, 4, 4), }; -static const struct SpriteFrameImage sPicTable_PikachuKalosCap[] = { - overworld_ascending_frames(gObjectEventPic_PikachuKalosCap, 4, 4), +static const struct SpriteFrameImage sPicTable_PikachuKalos[] = { + overworld_ascending_frames(gObjectEventPic_PikachuKalos, 4, 4), }; -static const struct SpriteFrameImage sPicTable_PikachuAlolaCap[] = { - overworld_ascending_frames(gObjectEventPic_PikachuAlolaCap, 4, 4), +static const struct SpriteFrameImage sPicTable_PikachuAlola[] = { + overworld_ascending_frames(gObjectEventPic_PikachuAlola, 4, 4), }; -static const struct SpriteFrameImage sPicTable_PikachuPartnerCap[] = { - overworld_ascending_frames(gObjectEventPic_PikachuPartnerCap, 4, 4), +static const struct SpriteFrameImage sPicTable_PikachuPartner[] = { + overworld_ascending_frames(gObjectEventPic_PikachuPartner, 4, 4), }; -static const struct SpriteFrameImage sPicTable_PikachuWorldCap[] = { - overworld_ascending_frames(gObjectEventPic_PikachuWorldCap, 4, 4), +static const struct SpriteFrameImage sPicTable_PikachuWorld[] = { + overworld_ascending_frames(gObjectEventPic_PikachuWorld, 4, 4), };*/ #endif //P_CAP_PIKACHU_FORMS #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_PikachuGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_PikachuGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_PikachuGmax[] = { + overworld_ascending_frames(gObjectEventPic_PikachuGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS static const struct SpriteFrameImage sPicTable_Raichu[] = { overworld_ascending_frames(gObjectEventPic_Raichu, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_RaichuF[] = { + overworld_ascending_frames(gObjectEventPic_RaichuF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_RaichuAlolan[] = { - overworld_ascending_frames(gObjectEventPic_RaichuAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_RaichuAlola[] = { + overworld_ascending_frames(gObjectEventPic_RaichuAlola, 4, 4), }; #endif //P_ALOLAN_FORMS #endif //P_FAMILY_PIKACHU @@ -242,11 +272,11 @@ static const struct SpriteFrameImage sPicTable_Sandslash[] = { overworld_ascending_frames(gObjectEventPic_Sandslash, 4, 4), }; #if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_SandshrewAlolan[] = { - overworld_ascending_frames(gObjectEventPic_SandshrewAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_SandshrewAlola[] = { + overworld_ascending_frames(gObjectEventPic_SandshrewAlola, 4, 4), }; -static const struct SpriteFrameImage sPicTable_SandslashAlolan[] = { - overworld_ascending_frames(gObjectEventPic_SandslashAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_SandslashAlola[] = { + overworld_ascending_frames(gObjectEventPic_SandslashAlola, 4, 4), }; #endif //P_ALOLAN_FORMS #endif //P_FAMILY_SANDSHREW @@ -294,11 +324,11 @@ static const struct SpriteFrameImage sPicTable_Ninetales[] = { overworld_ascending_frames(gObjectEventPic_Ninetales, 4, 4), }; #if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_VulpixAlolan[] = { - overworld_ascending_frames(gObjectEventPic_VulpixAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_VulpixAlola[] = { + overworld_ascending_frames(gObjectEventPic_VulpixAlola, 4, 4), }; -static const struct SpriteFrameImage sPicTable_NinetalesAlolan[] = { - overworld_ascending_frames(gObjectEventPic_NinetalesAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_NinetalesAlola[] = { + overworld_ascending_frames(gObjectEventPic_NinetalesAlola, 4, 4), }; #endif //P_ALOLAN_FORMS #endif //P_FAMILY_VULPIX @@ -321,9 +351,19 @@ static const struct SpriteFrameImage sPicTable_Wigglytuff[] = { static const struct SpriteFrameImage sPicTable_Zubat[] = { overworld_ascending_frames(gObjectEventPic_Zubat, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_ZubatF[] = { + overworld_ascending_frames(gObjectEventPic_ZubatF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Golbat[] = { overworld_ascending_frames(gObjectEventPic_Golbat, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_GolbatF[] = { + overworld_ascending_frames(gObjectEventPic_GolbatF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_GEN_2_CROSS_EVOS static const struct SpriteFrameImage sPicTable_Crobat[] = { overworld_ascending_frames(gObjectEventPic_Crobat, 4, 4), @@ -338,9 +378,19 @@ static const struct SpriteFrameImage sPicTable_Oddish[] = { static const struct SpriteFrameImage sPicTable_Gloom[] = { overworld_ascending_frames(gObjectEventPic_Gloom, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_GloomF[] = { + overworld_ascending_frames(gObjectEventPic_GloomF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Vileplume[] = { overworld_ascending_frames(gObjectEventPic_Vileplume, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_VileplumeF[] = { + overworld_ascending_frames(gObjectEventPic_VileplumeF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_GEN_2_CROSS_EVOS static const struct SpriteFrameImage sPicTable_Bellossom[] = { overworld_ascending_frames(gObjectEventPic_Bellossom, 4, 4), @@ -374,11 +424,11 @@ static const struct SpriteFrameImage sPicTable_Dugtrio[] = { overworld_ascending_frames(gObjectEventPic_Dugtrio, 4, 4), }; #if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_DiglettAlolan[] = { - overworld_ascending_frames(gObjectEventPic_DiglettAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_DiglettAlola[] = { + overworld_ascending_frames(gObjectEventPic_DiglettAlola, 4, 4), }; -static const struct SpriteFrameImage sPicTable_DugtrioAlolan[] = { - overworld_ascending_frames(gObjectEventPic_DugtrioAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_DugtrioAlola[] = { + overworld_ascending_frames(gObjectEventPic_DugtrioAlola, 4, 4), }; #endif //P_ALOLAN_FORMS #endif //P_FAMILY_DIGLETT @@ -391,17 +441,17 @@ static const struct SpriteFrameImage sPicTable_Persian[] = { overworld_ascending_frames(gObjectEventPic_Persian, 4, 4), }; #if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_MeowthAlolan[] = { - overworld_ascending_frames(gObjectEventPic_MeowthAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_MeowthAlola[] = { + overworld_ascending_frames(gObjectEventPic_MeowthAlola, 4, 4), }; -static const struct SpriteFrameImage sPicTable_PersianAlolan[] = { - overworld_ascending_frames(gObjectEventPic_PersianAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_PersianAlola[] = { + overworld_ascending_frames(gObjectEventPic_PersianAlola, 4, 4), }; #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_MeowthGalarian[] = { - overworld_ascending_frames(gObjectEventPic_MeowthGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_MeowthGalar[] = { + overworld_ascending_frames(gObjectEventPic_MeowthGalar, 4, 4), }; static const struct SpriteFrameImage sPicTable_Perrserker[] = { overworld_ascending_frames(gObjectEventPic_Perrserker, 4, 4), @@ -409,8 +459,8 @@ static const struct SpriteFrameImage sPicTable_Perrserker[] = { #endif //P_GALARIAN_FORMS #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_MeowthGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_MeowthGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_MeowthGmax[] = { + overworld_ascending_frames(gObjectEventPic_MeowthGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_MEOWTH @@ -446,11 +496,11 @@ static const struct SpriteFrameImage sPicTable_Arcanine[] = { overworld_ascending_frames(gObjectEventPic_Arcanine, 4, 4), }; #if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_GrowlitheHisuian[] = { - overworld_ascending_frames(gObjectEventPic_GrowlitheHisuian, 4, 4), +static const struct SpriteFrameImage sPicTable_GrowlitheHisui[] = { + overworld_ascending_frames(gObjectEventPic_GrowlitheHisui, 4, 4), }; -static const struct SpriteFrameImage sPicTable_ArcanineHisuian[] = { - overworld_ascending_frames(gObjectEventPic_ArcanineHisuian, 4, 4), +static const struct SpriteFrameImage sPicTable_ArcanineHisui[] = { + overworld_ascending_frames(gObjectEventPic_ArcanineHisui, 4, 4), }; #endif //P_HISUIAN_FORMS #endif //P_FAMILY_GROWLITHE @@ -469,7 +519,11 @@ static const struct SpriteFrameImage sPicTable_Poliwrath[] = { static const struct SpriteFrameImage sPicTable_Politoed[] = { overworld_ascending_frames(gObjectEventPic_Politoed, 4, 4), }; - +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_PolitoedF[] = { + overworld_ascending_frames(gObjectEventPic_PolitoedF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_GEN_2_CROSS_EVOS #endif //P_FAMILY_POLIWAG @@ -480,9 +534,19 @@ static const struct SpriteFrameImage sPicTable_Abra[] = { static const struct SpriteFrameImage sPicTable_Kadabra[] = { overworld_ascending_frames(gObjectEventPic_Kadabra, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_KadabraF[] = { + overworld_ascending_frames(gObjectEventPic_KadabraF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Alakazam[] = { overworld_ascending_frames(gObjectEventPic_Alakazam, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_AlakazamF[] = { + overworld_ascending_frames(gObjectEventPic_AlakazamF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS /*static const struct SpriteFrameImage sPicTable_AlakazamMega[] = { overworld_ascending_frames(gObjectEventPic_AlakazamMega, 4, 4), @@ -501,8 +565,8 @@ static const struct SpriteFrameImage sPicTable_Machamp[] = { overworld_ascending_frames(gObjectEventPic_Machamp, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_MachampGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_MachampGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_MachampGmax[] = { + overworld_ascending_frames(gObjectEventPic_MachampGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_MACHOP @@ -539,14 +603,14 @@ static const struct SpriteFrameImage sPicTable_Golem[] = { overworld_ascending_frames(gObjectEventPic_Golem, 4, 4), }; #if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_GeodudeAlolan[] = { - overworld_ascending_frames(gObjectEventPic_GeodudeAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_GeodudeAlola[] = { + overworld_ascending_frames(gObjectEventPic_GeodudeAlola, 4, 4), }; -static const struct SpriteFrameImage sPicTable_GravelerAlolan[] = { - overworld_ascending_frames(gObjectEventPic_GravelerAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_GravelerAlola[] = { + overworld_ascending_frames(gObjectEventPic_GravelerAlola, 4, 4), }; -static const struct SpriteFrameImage sPicTable_GolemAlolan[] = { - overworld_ascending_frames(gObjectEventPic_GolemAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_GolemAlola[] = { + overworld_ascending_frames(gObjectEventPic_GolemAlola, 4, 4), }; #endif //P_ALOLAN_FORMS #endif //P_FAMILY_GEODUDE @@ -559,11 +623,11 @@ static const struct SpriteFrameImage sPicTable_Rapidash[] = { overworld_ascending_frames(gObjectEventPic_Rapidash, 4, 4), }; #if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_PonytaGalarian[] = { - overworld_ascending_frames(gObjectEventPic_PonytaGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_PonytaGalar[] = { + overworld_ascending_frames(gObjectEventPic_PonytaGalar, 4, 4), }; -static const struct SpriteFrameImage sPicTable_RapidashGalarian[] = { - overworld_ascending_frames(gObjectEventPic_RapidashGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_RapidashGalar[] = { + overworld_ascending_frames(gObjectEventPic_RapidashGalar, 4, 4), }; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_PONYTA @@ -588,15 +652,15 @@ static const struct SpriteFrameImage sPicTable_Slowking[] = { #endif //P_MEGA_EVOLUTIONS #if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_SlowpokeGalarian[] = { - overworld_ascending_frames(gObjectEventPic_SlowpokeGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_SlowpokeGalar[] = { + overworld_ascending_frames(gObjectEventPic_SlowpokeGalar, 4, 4), }; -static const struct SpriteFrameImage sPicTable_SlowbroGalarian[] = { - overworld_ascending_frames(gObjectEventPic_SlowbroGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_SlowbroGalar[] = { + overworld_ascending_frames(gObjectEventPic_SlowbroGalar, 4, 4), }; #if P_GEN_2_CROSS_EVOS -static const struct SpriteFrameImage sPicTable_SlowkingGalarian[] = { - overworld_ascending_frames(gObjectEventPic_SlowkingGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_SlowkingGalar[] = { + overworld_ascending_frames(gObjectEventPic_SlowkingGalar, 4, 4), }; #endif //P_GEN_2_CROSS_EVOS #endif //P_GALARIAN_FORMS @@ -621,8 +685,8 @@ static const struct SpriteFrameImage sPicTable_Farfetchd[] = { overworld_ascending_frames(gObjectEventPic_Farfetchd, 4, 4), }; #if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_FarfetchdGalarian[] = { - overworld_ascending_frames(gObjectEventPic_FarfetchdGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_FarfetchdGalar[] = { + overworld_ascending_frames(gObjectEventPic_FarfetchdGalar, 4, 4), }; static const struct SpriteFrameImage sPicTable_Sirfetchd[] = { overworld_ascending_frames(gObjectEventPic_Sirfetchd, 4, 4), @@ -634,9 +698,19 @@ static const struct SpriteFrameImage sPicTable_Sirfetchd[] = { static const struct SpriteFrameImage sPicTable_Doduo[] = { overworld_ascending_frames(gObjectEventPic_Doduo, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_DoduoF[] = { + overworld_ascending_frames(gObjectEventPic_DoduoF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Dodrio[] = { overworld_ascending_frames(gObjectEventPic_Dodrio, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_DodrioF[] = { + overworld_ascending_frames(gObjectEventPic_DodrioF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_DODUO #if P_FAMILY_SEEL @@ -656,11 +730,11 @@ static const struct SpriteFrameImage sPicTable_Muk[] = { overworld_ascending_frames(gObjectEventPic_Muk, 4, 4), }; #if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_GrimerAlolan[] = { - overworld_ascending_frames(gObjectEventPic_GrimerAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_GrimerAlola[] = { + overworld_ascending_frames(gObjectEventPic_GrimerAlola, 4, 4), }; -static const struct SpriteFrameImage sPicTable_MukAlolan[] = { - overworld_ascending_frames(gObjectEventPic_MukAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_MukAlola[] = { + overworld_ascending_frames(gObjectEventPic_MukAlola, 4, 4), }; #endif //P_ALOLAN_FORMS #endif //P_FAMILY_GRIMER @@ -690,8 +764,8 @@ static const struct SpriteFrameImage sPicTable_Gengar[] = { };*/ #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_GengarGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_GengarGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_GengarGmax[] = { + overworld_ascending_frames(gObjectEventPic_GengarGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_GASTLY @@ -704,6 +778,11 @@ static const struct SpriteFrameImage sPicTable_Onix[] = { static const struct SpriteFrameImage sPicTable_Steelix[] = { overworld_ascending_frames(gObjectEventPic_Steelix, 8, 8), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_SteelixF[] = { + overworld_ascending_frames(gObjectEventPic_SteelixF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS /*static const struct SpriteFrameImage sPicTable_SteelixMega[] = { overworld_ascending_frames(gObjectEventPic_SteelixMega, 4, 4), @@ -719,6 +798,11 @@ static const struct SpriteFrameImage sPicTable_Drowzee[] = { static const struct SpriteFrameImage sPicTable_Hypno[] = { overworld_ascending_frames(gObjectEventPic_Hypno, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_HypnoF[] = { + overworld_ascending_frames(gObjectEventPic_HypnoF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_DROWZEE #if P_FAMILY_KRABBY @@ -729,8 +813,8 @@ static const struct SpriteFrameImage sPicTable_Kingler[] = { overworld_ascending_frames(gObjectEventPic_Kingler, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_KinglerGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_KinglerGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_KinglerGmax[] = { + overworld_ascending_frames(gObjectEventPic_KinglerGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_KRABBY @@ -743,11 +827,11 @@ static const struct SpriteFrameImage sPicTable_Electrode[] = { overworld_ascending_frames(gObjectEventPic_Electrode, 4, 4), }; #if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_VoltorbHisuian[] = { - overworld_ascending_frames(gObjectEventPic_VoltorbHisuian, 4, 4), +static const struct SpriteFrameImage sPicTable_VoltorbHisui[] = { + overworld_ascending_frames(gObjectEventPic_VoltorbHisui, 4, 4), }; -static const struct SpriteFrameImage sPicTable_ElectrodeHisuian[] = { - overworld_ascending_frames(gObjectEventPic_ElectrodeHisuian, 4, 4), +static const struct SpriteFrameImage sPicTable_ElectrodeHisui[] = { + overworld_ascending_frames(gObjectEventPic_ElectrodeHisui, 4, 4), }; #endif //P_HISUIAN_FORMS #endif //P_FAMILY_VOLTORB @@ -760,8 +844,8 @@ static const struct SpriteFrameImage sPicTable_Exeggutor[] = { overworld_ascending_frames(gObjectEventPic_Exeggutor, 4, 4), }; #if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_ExeggutorAlolan[] = { - overworld_ascending_frames(gObjectEventPic_ExeggutorAlolan, 8, 8), +static const struct SpriteFrameImage sPicTable_ExeggutorAlola[] = { + overworld_ascending_frames(gObjectEventPic_ExeggutorAlola, 8, 8), }; #endif //P_ALOLAN_FORMS #endif //P_FAMILY_EXEGGCUTE @@ -774,8 +858,8 @@ static const struct SpriteFrameImage sPicTable_Marowak[] = { overworld_ascending_frames(gObjectEventPic_Marowak, 4, 4), }; #if P_ALOLAN_FORMS -static const struct SpriteFrameImage sPicTable_MarowakAlolan[] = { - overworld_ascending_frames(gObjectEventPic_MarowakAlolan, 4, 4), +static const struct SpriteFrameImage sPicTable_MarowakAlola[] = { + overworld_ascending_frames(gObjectEventPic_MarowakAlola, 4, 4), }; #endif //P_ALOLAN_FORMS #endif //P_FAMILY_CUBONE @@ -818,8 +902,8 @@ static const struct SpriteFrameImage sPicTable_Weezing[] = { overworld_ascending_frames(gObjectEventPic_Weezing, 4, 4), }; #if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_WeezingGalarian[] = { - overworld_ascending_frames(gObjectEventPic_WeezingGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_WeezingGalar[] = { + overworld_ascending_frames(gObjectEventPic_WeezingGalar, 4, 4), }; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_KOFFING @@ -828,14 +912,28 @@ static const struct SpriteFrameImage sPicTable_WeezingGalarian[] = { static const struct SpriteFrameImage sPicTable_Rhyhorn[] = { overworld_ascending_frames(gObjectEventPic_Rhyhorn, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_RhyhornF[] = { + overworld_ascending_frames(gObjectEventPic_RhyhornF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Rhydon[] = { overworld_ascending_frames(gObjectEventPic_Rhydon, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_RhydonF[] = { + overworld_ascending_frames(gObjectEventPic_RhydonF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_GEN_4_CROSS_EVOS static const struct SpriteFrameImage sPicTable_Rhyperior[] = { overworld_ascending_frames(gObjectEventPic_Rhyperior, 4, 4), }; - +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_RhyperiorF[] = { + overworld_ascending_frames(gObjectEventPic_RhyperiorF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_GEN_4_CROSS_EVOS #endif //P_FAMILY_RHYHORN @@ -863,7 +961,11 @@ static const struct SpriteFrameImage sPicTable_Tangela[] = { static const struct SpriteFrameImage sPicTable_Tangrowth[] = { overworld_ascending_frames(gObjectEventPic_Tangrowth, 4, 4), }; - +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_TangrowthF[] = { + overworld_ascending_frames(gObjectEventPic_TangrowthF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_GEN_4_CROSS_EVOS #endif //P_FAMILY_TANGELA @@ -896,9 +998,19 @@ static const struct SpriteFrameImage sPicTable_Kingdra[] = { static const struct SpriteFrameImage sPicTable_Goldeen[] = { overworld_ascending_frames(gObjectEventPic_Goldeen, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_GoldeenF[] = { + overworld_ascending_frames(gObjectEventPic_GoldeenF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Seaking[] = { overworld_ascending_frames(gObjectEventPic_Seaking, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_SeakingF[] = { + overworld_ascending_frames(gObjectEventPic_SeakingF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_GOLDEEN #if P_FAMILY_STARYU @@ -920,8 +1032,8 @@ static const struct SpriteFrameImage sPicTable_MrMime[] = { overworld_ascending_frames(gObjectEventPic_MrMime, 4, 4), }; #if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_MrMimeGalarian[] = { - overworld_ascending_frames(gObjectEventPic_MrMimeGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_MrMimeGalar[] = { + overworld_ascending_frames(gObjectEventPic_MrMimeGalar, 4, 4), }; static const struct SpriteFrameImage sPicTable_MrRime[] = { overworld_ascending_frames(gObjectEventPic_MrRime, 4, 4), @@ -933,10 +1045,20 @@ static const struct SpriteFrameImage sPicTable_MrRime[] = { static const struct SpriteFrameImage sPicTable_Scyther[] = { overworld_ascending_frames(gObjectEventPic_Scyther, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_ScytherF[] = { + overworld_ascending_frames(gObjectEventPic_ScytherF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_GEN_2_CROSS_EVOS static const struct SpriteFrameImage sPicTable_Scizor[] = { overworld_ascending_frames(gObjectEventPic_Scizor, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_ScizorF[] = { + overworld_ascending_frames(gObjectEventPic_ScizorF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS /*static const struct SpriteFrameImage sPicTable_ScizorMega[] = { overworld_ascending_frames(gObjectEventPic_ScizorMega, 4, 4), @@ -1010,14 +1132,14 @@ static const struct SpriteFrameImage sPicTable_Tauros[] = { overworld_ascending_frames(gObjectEventPic_Tauros, 4, 4), }; #if P_PALDEAN_FORMS -static const struct SpriteFrameImage sPicTable_TaurosPaldeanCombatBreed[] = { - overworld_ascending_frames(gObjectEventPic_TaurosPaldeanCombatBreed, 4, 4), +static const struct SpriteFrameImage sPicTable_TaurosPaldeaCombat[] = { + overworld_ascending_frames(gObjectEventPic_TaurosPaldeaCombat, 4, 4), }; -static const struct SpriteFrameImage sPicTable_TaurosPaldeanBlazeBreed[] = { - overworld_ascending_frames(gObjectEventPic_TaurosPaldeanBlazeBreed, 4, 4), +static const struct SpriteFrameImage sPicTable_TaurosPaldeaBlaze[] = { + overworld_ascending_frames(gObjectEventPic_TaurosPaldeaBlaze, 4, 4), }; -static const struct SpriteFrameImage sPicTable_TaurosPaldeanAquaBreed[] = { - overworld_ascending_frames(gObjectEventPic_TaurosPaldeanAquaBreed, 4, 4), +static const struct SpriteFrameImage sPicTable_TaurosPaldeaAqua[] = { + overworld_ascending_frames(gObjectEventPic_TaurosPaldeaAqua, 4, 4), }; #endif //P_PALDEAN_FORMS #endif //P_FAMILY_TAUROS @@ -1026,9 +1148,19 @@ static const struct SpriteFrameImage sPicTable_TaurosPaldeanAquaBreed[] = { static const struct SpriteFrameImage sPicTable_Magikarp[] = { overworld_ascending_frames(gObjectEventPic_Magikarp, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_MagikarpF[] = { + overworld_ascending_frames(gObjectEventPic_MagikarpF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Gyarados[] = { overworld_ascending_frames(gObjectEventPic_Gyarados, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_GyaradosF[] = { + overworld_ascending_frames(gObjectEventPic_GyaradosF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS /*static const struct SpriteFrameImage sPicTable_GyaradosMega[] = { overworld_ascending_frames(gObjectEventPic_GyaradosMega, 4, 4), @@ -1041,8 +1173,8 @@ static const struct SpriteFrameImage sPicTable_Lapras[] = { overworld_ascending_frames(gObjectEventPic_Lapras, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_LaprasGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_LaprasGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_LaprasGmax[] = { + overworld_ascending_frames(gObjectEventPic_LaprasGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_LAPRAS @@ -1057,9 +1189,14 @@ static const struct SpriteFrameImage sPicTable_Ditto[] = { static const struct SpriteFrameImage sPicTable_Eevee[] = { overworld_ascending_frames(gObjectEventPic_Eevee, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_EeveeF[] = { + overworld_ascending_frames(gObjectEventPic_EeveeF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_EeveeGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_EeveeGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_EeveeGmax[] = { + overworld_ascending_frames(gObjectEventPic_EeveeGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS @@ -1152,8 +1289,8 @@ static const struct SpriteFrameImage sPicTable_Snorlax[] = { overworld_ascending_frames(gObjectEventPic_Snorlax, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_SnorlaxGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_SnorlaxGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_SnorlaxGmax[] = { + overworld_ascending_frames(gObjectEventPic_SnorlaxGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SNORLAX @@ -1163,8 +1300,8 @@ static const struct SpriteFrameImage sPicTable_Articuno[] = { overworld_ascending_frames(gObjectEventPic_Articuno, 4, 4), }; #if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_ArticunoGalarian[] = { - overworld_ascending_frames(gObjectEventPic_ArticunoGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_ArticunoGalar[] = { + overworld_ascending_frames(gObjectEventPic_ArticunoGalar, 4, 4), }; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_ARTICUNO @@ -1174,8 +1311,8 @@ static const struct SpriteFrameImage sPicTable_Zapdos[] = { overworld_ascending_frames(gObjectEventPic_Zapdos, 4, 4), }; #if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_ZapdosGalarian[] = { - overworld_ascending_frames(gObjectEventPic_ZapdosGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_ZapdosGalar[] = { + overworld_ascending_frames(gObjectEventPic_ZapdosGalar, 4, 4), }; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_ZAPDOS @@ -1185,8 +1322,8 @@ static const struct SpriteFrameImage sPicTable_Moltres[] = { overworld_ascending_frames(gObjectEventPic_Moltres, 4, 4), }; #if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_MoltresGalarian[] = { - overworld_ascending_frames(gObjectEventPic_MoltresGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_MoltresGalar[] = { + overworld_ascending_frames(gObjectEventPic_MoltresGalar, 4, 4), }; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_MOLTRES @@ -1233,6 +1370,11 @@ static const struct SpriteFrameImage sPicTable_Bayleef[] = { static const struct SpriteFrameImage sPicTable_Meganium[] = { overworld_ascending_frames(gObjectEventPic_Meganium, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_MeganiumF[] = { + overworld_ascending_frames(gObjectEventPic_MeganiumF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_CHIKORITA #if P_FAMILY_CYNDAQUIL @@ -1246,8 +1388,8 @@ static const struct SpriteFrameImage sPicTable_Typhlosion[] = { overworld_ascending_frames(gObjectEventPic_Typhlosion, 4, 4), }; #if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_TyphlosionHisuian[] = { - overworld_ascending_frames(gObjectEventPic_TyphlosionHisuian, 4, 4), +static const struct SpriteFrameImage sPicTable_TyphlosionHisui[] = { + overworld_ascending_frames(gObjectEventPic_TyphlosionHisui, 4, 4), }; #endif //P_HISUIAN_FORMS #endif //P_FAMILY_CYNDAQUIL @@ -1286,9 +1428,19 @@ static const struct SpriteFrameImage sPicTable_Noctowl[] = { static const struct SpriteFrameImage sPicTable_Ledyba[] = { overworld_ascending_frames(gObjectEventPic_Ledyba, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_LedybaF[] = { + overworld_ascending_frames(gObjectEventPic_LedybaF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Ledian[] = { overworld_ascending_frames(gObjectEventPic_Ledian, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_LedianF[] = { + overworld_ascending_frames(gObjectEventPic_LedianF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_LEDYBA #if P_FAMILY_SPINARAK @@ -1330,6 +1482,11 @@ static const struct SpriteFrameImage sPicTable_Natu[] = { static const struct SpriteFrameImage sPicTable_Xatu[] = { overworld_ascending_frames(gObjectEventPic_Xatu, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_XatuF[] = { + overworld_ascending_frames(gObjectEventPic_XatuF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_NATU #if P_FAMILY_MAREEP @@ -1372,6 +1529,11 @@ static const struct SpriteFrameImage sPicTable_Bonsly[] = { static const struct SpriteFrameImage sPicTable_Sudowoodo[] = { overworld_ascending_frames(gObjectEventPic_Sudowoodo, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_SudowoodoF[] = { + overworld_ascending_frames(gObjectEventPic_SudowoodoF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_SUDOWOODO #if P_FAMILY_HOPPIP @@ -1390,11 +1552,20 @@ static const struct SpriteFrameImage sPicTable_Jumpluff[] = { static const struct SpriteFrameImage sPicTable_Aipom[] = { overworld_ascending_frames(gObjectEventPic_Aipom, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_AipomF[] = { + overworld_ascending_frames(gObjectEventPic_AipomF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_GEN_4_CROSS_EVOS static const struct SpriteFrameImage sPicTable_Ambipom[] = { overworld_ascending_frames(gObjectEventPic_Ambipom, 4, 4), }; - +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_AmbipomF[] = { + overworld_ascending_frames(gObjectEventPic_AmbipomF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_GEN_4_CROSS_EVOS #endif //P_FAMILY_AIPOM @@ -1422,12 +1593,22 @@ static const struct SpriteFrameImage sPicTable_Yanmega[] = { static const struct SpriteFrameImage sPicTable_Wooper[] = { overworld_ascending_frames(gObjectEventPic_Wooper, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_WooperF[] = { + overworld_ascending_frames(gObjectEventPic_WooperF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Quagsire[] = { overworld_ascending_frames(gObjectEventPic_Quagsire, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_QuagsireF[] = { + overworld_ascending_frames(gObjectEventPic_QuagsireF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_PALDEAN_FORMS -static const struct SpriteFrameImage sPicTable_WooperPaldean[] = { - overworld_ascending_frames(gObjectEventPic_WooperPaldean, 4, 4), +static const struct SpriteFrameImage sPicTable_WooperPaldea[] = { + overworld_ascending_frames(gObjectEventPic_WooperPaldea, 4, 4), }; static const struct SpriteFrameImage sPicTable_Clodsire[] = { overworld_ascending_frames(gObjectEventPic_Clodsire, 4, 4), @@ -1439,6 +1620,11 @@ static const struct SpriteFrameImage sPicTable_Clodsire[] = { static const struct SpriteFrameImage sPicTable_Murkrow[] = { overworld_ascending_frames(gObjectEventPic_Murkrow, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_MurkrowF[] = { + overworld_ascending_frames(gObjectEventPic_MurkrowF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_GEN_4_CROSS_EVOS static const struct SpriteFrameImage sPicTable_Honchkrow[] = { overworld_ascending_frames(gObjectEventPic_Honchkrow, 4, 4), @@ -1536,11 +1722,11 @@ static const struct SpriteFrameImage sPicTable_UnownY[] = { static const struct SpriteFrameImage sPicTable_UnownZ[] = { overworld_ascending_frames(gObjectEventPic_UnownZ, 4, 4), }; -static const struct SpriteFrameImage sPicTable_UnownExclamationMark[] = { - overworld_ascending_frames(gObjectEventPic_UnownExclamationMark, 4, 4), +static const struct SpriteFrameImage sPicTable_UnownExclamation[] = { + overworld_ascending_frames(gObjectEventPic_UnownExclamation, 4, 4), }; -static const struct SpriteFrameImage sPicTable_UnownQuestionMark[] = { - overworld_ascending_frames(gObjectEventPic_UnownQuestionMark, 4, 4), +static const struct SpriteFrameImage sPicTable_UnownQuestion[] = { + overworld_ascending_frames(gObjectEventPic_UnownQuestion, 4, 4), }; #endif //P_FAMILY_UNOWN @@ -1553,12 +1739,22 @@ static const struct SpriteFrameImage sPicTable_Wynaut[] = { static const struct SpriteFrameImage sPicTable_Wobbuffet[] = { overworld_ascending_frames(gObjectEventPic_Wobbuffet, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_WobbuffetF[] = { + overworld_ascending_frames(gObjectEventPic_WobbuffetF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_WOBBUFFET #if P_FAMILY_GIRAFARIG static const struct SpriteFrameImage sPicTable_Girafarig[] = { overworld_ascending_frames(gObjectEventPic_Girafarig, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_GirafarigF[] = { + overworld_ascending_frames(gObjectEventPic_GirafarigF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_GEN_9_CROSS_EVOS static const struct SpriteFrameImage sPicTable_Farigiraf[] = { overworld_ascending_frames(gObjectEventPic_Farigiraf, 4, 4), @@ -1595,6 +1791,11 @@ static const struct SpriteFrameImage sPicTable_DudunsparceThreeSegment[] = { static const struct SpriteFrameImage sPicTable_Gligar[] = { overworld_ascending_frames(gObjectEventPic_Gligar, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_GligarF[] = { + overworld_ascending_frames(gObjectEventPic_GligarF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_GEN_4_CROSS_EVOS static const struct SpriteFrameImage sPicTable_Gliscor[] = { overworld_ascending_frames(gObjectEventPic_Gliscor, 4, 4), @@ -1616,8 +1817,8 @@ static const struct SpriteFrameImage sPicTable_Qwilfish[] = { overworld_ascending_frames(gObjectEventPic_Qwilfish, 4, 4), }; #if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_QwilfishHisuian[] = { - overworld_ascending_frames(gObjectEventPic_QwilfishHisuian, 4, 4), +static const struct SpriteFrameImage sPicTable_QwilfishHisui[] = { + overworld_ascending_frames(gObjectEventPic_QwilfishHisui, 4, 4), }; static const struct SpriteFrameImage sPicTable_Overqwil[] = { overworld_ascending_frames(gObjectEventPic_Overqwil, 4, 4), @@ -1635,6 +1836,11 @@ static const struct SpriteFrameImage sPicTable_Shuckle[] = { static const struct SpriteFrameImage sPicTable_Heracross[] = { overworld_ascending_frames(gObjectEventPic_Heracross, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_HeracrossF[] = { + overworld_ascending_frames(gObjectEventPic_HeracrossF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS /*static const struct SpriteFrameImage sPicTable_HeracrossMega[] = { overworld_ascending_frames(gObjectEventPic_HeracrossMega, 4, 4), @@ -1646,17 +1852,31 @@ static const struct SpriteFrameImage sPicTable_Heracross[] = { static const struct SpriteFrameImage sPicTable_Sneasel[] = { overworld_ascending_frames(gObjectEventPic_Sneasel, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_SneaselF[] = { + overworld_ascending_frames(gObjectEventPic_SneaselF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_GEN_4_CROSS_EVOS static const struct SpriteFrameImage sPicTable_Weavile[] = { overworld_ascending_frames(gObjectEventPic_Weavile, 4, 4), }; - +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_WeavileF[] = { + overworld_ascending_frames(gObjectEventPic_WeavileF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_GEN_4_CROSS_EVOS #if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_SneaselHisuian[] = { - overworld_ascending_frames(gObjectEventPic_SneaselHisuian, 4, 4), +static const struct SpriteFrameImage sPicTable_SneaselHisui[] = { + overworld_ascending_frames(gObjectEventPic_SneaselHisui, 4, 4), +}; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_SneaselHisuiF[] = { + overworld_ascending_frames(gObjectEventPic_SneaselHisuiF, 4, 4), }; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Sneasler[] = { overworld_ascending_frames(gObjectEventPic_Sneasler, 4, 4), }; @@ -1670,6 +1890,11 @@ static const struct SpriteFrameImage sPicTable_Teddiursa[] = { static const struct SpriteFrameImage sPicTable_Ursaring[] = { overworld_ascending_frames(gObjectEventPic_Ursaring, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_UrsaringF[] = { + overworld_ascending_frames(gObjectEventPic_UrsaringF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_GEN_8_CROSS_EVOS static const struct SpriteFrameImage sPicTable_Ursaluna[] = { overworld_ascending_frames(gObjectEventPic_Ursaluna, 4, 4), @@ -1696,11 +1921,20 @@ static const struct SpriteFrameImage sPicTable_Swinub[] = { static const struct SpriteFrameImage sPicTable_Piloswine[] = { overworld_ascending_frames(gObjectEventPic_Piloswine, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_PiloswineF[] = { + overworld_ascending_frames(gObjectEventPic_PiloswineF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_GEN_4_CROSS_EVOS static const struct SpriteFrameImage sPicTable_Mamoswine[] = { overworld_ascending_frames(gObjectEventPic_Mamoswine, 4, 4), }; - +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_MamoswineF[] = { + overworld_ascending_frames(gObjectEventPic_MamoswineF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_GEN_4_CROSS_EVOS #endif //P_FAMILY_SWINUB @@ -1709,8 +1943,8 @@ static const struct SpriteFrameImage sPicTable_Corsola[] = { overworld_ascending_frames(gObjectEventPic_Corsola, 4, 4), }; #if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_CorsolaGalarian[] = { - overworld_ascending_frames(gObjectEventPic_CorsolaGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_CorsolaGalar[] = { + overworld_ascending_frames(gObjectEventPic_CorsolaGalar, 4, 4), }; static const struct SpriteFrameImage sPicTable_Cursola[] = { overworld_ascending_frames(gObjectEventPic_Cursola, 4, 4), @@ -1725,6 +1959,11 @@ static const struct SpriteFrameImage sPicTable_Remoraid[] = { static const struct SpriteFrameImage sPicTable_Octillery[] = { overworld_ascending_frames(gObjectEventPic_Octillery, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_OctilleryF[] = { + overworld_ascending_frames(gObjectEventPic_OctilleryF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_REMORAID #if P_FAMILY_DELIBIRD @@ -1757,6 +1996,11 @@ static const struct SpriteFrameImage sPicTable_Houndour[] = { static const struct SpriteFrameImage sPicTable_Houndoom[] = { overworld_ascending_frames(gObjectEventPic_Houndoom, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_HoundoomF[] = { + overworld_ascending_frames(gObjectEventPic_HoundoomF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS /*static const struct SpriteFrameImage sPicTable_HoundoomMega[] = { overworld_ascending_frames(gObjectEventPic_HoundoomMega, 4, 4), @@ -1771,6 +2015,11 @@ static const struct SpriteFrameImage sPicTable_Phanpy[] = { static const struct SpriteFrameImage sPicTable_Donphan[] = { overworld_ascending_frames(gObjectEventPic_Donphan, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_DonphanF[] = { + overworld_ascending_frames(gObjectEventPic_DonphanF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_PHANPY #if P_FAMILY_STANTLER @@ -1870,12 +2119,27 @@ static const struct SpriteFrameImage sPicTable_Sceptile[] = { static const struct SpriteFrameImage sPicTable_Torchic[] = { overworld_ascending_frames(gObjectEventPic_Torchic, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_TorchicF[] = { + overworld_ascending_frames(gObjectEventPic_TorchicF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Combusken[] = { overworld_ascending_frames(gObjectEventPic_Combusken, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_CombuskenF[] = { + overworld_ascending_frames(gObjectEventPic_CombuskenF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Blaziken[] = { overworld_ascending_frames(gObjectEventPic_Blaziken, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_BlazikenF[] = { + overworld_ascending_frames(gObjectEventPic_BlazikenF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS /*static const struct SpriteFrameImage sPicTable_BlazikenMega[] = { overworld_ascending_frames(gObjectEventPic_BlazikenMega, 4, 4), @@ -1917,11 +2181,11 @@ static const struct SpriteFrameImage sPicTable_Linoone[] = { overworld_ascending_frames(gObjectEventPic_Linoone, 4, 4), }; #if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_ZigzagoonGalarian[] = { - overworld_ascending_frames(gObjectEventPic_ZigzagoonGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_ZigzagoonGalar[] = { + overworld_ascending_frames(gObjectEventPic_ZigzagoonGalar, 4, 4), }; -static const struct SpriteFrameImage sPicTable_LinooneGalarian[] = { - overworld_ascending_frames(gObjectEventPic_LinooneGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_LinooneGalar[] = { + overworld_ascending_frames(gObjectEventPic_LinooneGalar, 4, 4), }; static const struct SpriteFrameImage sPicTable_Obstagoon[] = { overworld_ascending_frames(gObjectEventPic_Obstagoon, 4, 4), @@ -1939,12 +2203,22 @@ static const struct SpriteFrameImage sPicTable_Silcoon[] = { static const struct SpriteFrameImage sPicTable_Beautifly[] = { overworld_ascending_frames(gObjectEventPic_Beautifly, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_BeautiflyF[] = { + overworld_ascending_frames(gObjectEventPic_BeautiflyF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Cascoon[] = { overworld_ascending_frames(gObjectEventPic_Cascoon, 4, 4), }; static const struct SpriteFrameImage sPicTable_Dustox[] = { overworld_ascending_frames(gObjectEventPic_Dustox, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_DustoxF[] = { + overworld_ascending_frames(gObjectEventPic_DustoxF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_WURMPLE #if P_FAMILY_LOTAD @@ -1957,6 +2231,11 @@ static const struct SpriteFrameImage sPicTable_Lombre[] = { static const struct SpriteFrameImage sPicTable_Ludicolo[] = { overworld_ascending_frames(gObjectEventPic_Ludicolo, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_LudicoloF[] = { + overworld_ascending_frames(gObjectEventPic_LudicoloF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_LOTAD #if P_FAMILY_SEEDOT @@ -1966,9 +2245,19 @@ static const struct SpriteFrameImage sPicTable_Seedot[] = { static const struct SpriteFrameImage sPicTable_Nuzleaf[] = { overworld_ascending_frames(gObjectEventPic_Nuzleaf, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_NuzleafF[] = { + overworld_ascending_frames(gObjectEventPic_NuzleafF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Shiftry[] = { overworld_ascending_frames(gObjectEventPic_Shiftry, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_ShiftryF[] = { + overworld_ascending_frames(gObjectEventPic_ShiftryF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_SEEDOT #if P_FAMILY_TAILLOW @@ -2143,9 +2432,19 @@ static const struct SpriteFrameImage sPicTable_Aggron[] = { static const struct SpriteFrameImage sPicTable_Meditite[] = { overworld_ascending_frames(gObjectEventPic_Meditite, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_MedititeF[] = { + overworld_ascending_frames(gObjectEventPic_MedititeF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Medicham[] = { overworld_ascending_frames(gObjectEventPic_Medicham, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_MedichamF[] = { + overworld_ascending_frames(gObjectEventPic_MedichamF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS /*static const struct SpriteFrameImage sPicTable_MedichamMega[] = { overworld_ascending_frames(gObjectEventPic_MedichamMega, 4, 4), @@ -2197,11 +2496,20 @@ static const struct SpriteFrameImage sPicTable_Budew[] = { static const struct SpriteFrameImage sPicTable_Roselia[] = { overworld_ascending_frames(gObjectEventPic_Roselia, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_RoseliaF[] = { + overworld_ascending_frames(gObjectEventPic_RoseliaF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_GEN_4_CROSS_EVOS static const struct SpriteFrameImage sPicTable_Roserade[] = { overworld_ascending_frames(gObjectEventPic_Roserade, 4, 4), }; - +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_RoseradeF[] = { + overworld_ascending_frames(gObjectEventPic_RoseradeF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_GEN_4_CROSS_EVOS #endif //P_FAMILY_ROSELIA @@ -2209,9 +2517,19 @@ static const struct SpriteFrameImage sPicTable_Roserade[] = { static const struct SpriteFrameImage sPicTable_Gulpin[] = { overworld_ascending_frames(gObjectEventPic_Gulpin, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_GulpinF[] = { + overworld_ascending_frames(gObjectEventPic_GulpinF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Swalot[] = { overworld_ascending_frames(gObjectEventPic_Swalot, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_SwalotF[] = { + overworld_ascending_frames(gObjectEventPic_SwalotF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_GULPIN #if P_FAMILY_CARVANHA @@ -2241,9 +2559,19 @@ static const struct SpriteFrameImage sPicTable_Wailord[] = { static const struct SpriteFrameImage sPicTable_Numel[] = { overworld_ascending_frames(gObjectEventPic_Numel, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_NumelF[] = { + overworld_ascending_frames(gObjectEventPic_NumelF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Camerupt[] = { overworld_ascending_frames(gObjectEventPic_Camerupt, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_CameruptF[] = { + overworld_ascending_frames(gObjectEventPic_CameruptF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS /*static const struct SpriteFrameImage sPicTable_CameruptMega[] = { overworld_ascending_frames(gObjectEventPic_CameruptMega, 4, 4), @@ -2291,6 +2619,11 @@ static const struct SpriteFrameImage sPicTable_Cacnea[] = { static const struct SpriteFrameImage sPicTable_Cacturne[] = { overworld_ascending_frames(gObjectEventPic_Cacturne, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_CacturneF[] = { + overworld_ascending_frames(gObjectEventPic_CacturneF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_CACNEA #if P_FAMILY_SWABLU @@ -2383,6 +2716,11 @@ static const struct SpriteFrameImage sPicTable_Feebas[] = { static const struct SpriteFrameImage sPicTable_Milotic[] = { overworld_ascending_frames(gObjectEventPic_Milotic, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_MiloticF[] = { + overworld_ascending_frames(gObjectEventPic_MiloticF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_FEEBAS #if P_FAMILY_CASTFORM @@ -2510,6 +2848,11 @@ static const struct SpriteFrameImage sPicTable_Gorebyss[] = { static const struct SpriteFrameImage sPicTable_Relicanth[] = { overworld_ascending_frames(gObjectEventPic_Relicanth, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_RelicanthF[] = { + overworld_ascending_frames(gObjectEventPic_RelicanthF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_RELICANTH #if P_FAMILY_LUVDISC @@ -2686,42 +3029,92 @@ static const struct SpriteFrameImage sPicTable_Empoleon[] = { static const struct SpriteFrameImage sPicTable_Starly[] = { overworld_ascending_frames(gObjectEventPic_Starly, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_StarlyF[] = { + overworld_ascending_frames(gObjectEventPic_StarlyF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Staravia[] = { overworld_ascending_frames(gObjectEventPic_Staravia, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_StaraviaF[] = { + overworld_ascending_frames(gObjectEventPic_StaraviaF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Staraptor[] = { overworld_ascending_frames(gObjectEventPic_Staraptor, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_StaraptorF[] = { + overworld_ascending_frames(gObjectEventPic_StaraptorF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_STARLY #if P_FAMILY_BIDOOF static const struct SpriteFrameImage sPicTable_Bidoof[] = { overworld_ascending_frames(gObjectEventPic_Bidoof, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_BidoofF[] = { + overworld_ascending_frames(gObjectEventPic_BidoofF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Bibarel[] = { overworld_ascending_frames(gObjectEventPic_Bibarel, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_BibarelF[] = { + overworld_ascending_frames(gObjectEventPic_BibarelF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_BIDOOF #if P_FAMILY_KRICKETOT static const struct SpriteFrameImage sPicTable_Kricketot[] = { overworld_ascending_frames(gObjectEventPic_Kricketot, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_KricketotF[] = { + overworld_ascending_frames(gObjectEventPic_KricketotF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Kricketune[] = { overworld_ascending_frames(gObjectEventPic_Kricketune, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_KricketuneF[] = { + overworld_ascending_frames(gObjectEventPic_KricketuneF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_KRICKETOT #if P_FAMILY_SHINX static const struct SpriteFrameImage sPicTable_Shinx[] = { overworld_ascending_frames(gObjectEventPic_Shinx, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_ShinxF[] = { + overworld_ascending_frames(gObjectEventPic_ShinxF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Luxio[] = { overworld_ascending_frames(gObjectEventPic_Luxio, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_LuxioF[] = { + overworld_ascending_frames(gObjectEventPic_LuxioF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Luxray[] = { overworld_ascending_frames(gObjectEventPic_Luxray, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_LuxrayF[] = { + overworld_ascending_frames(gObjectEventPic_LuxrayF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_SHINX #if P_FAMILY_CRANIDOS @@ -2746,20 +3139,20 @@ static const struct SpriteFrameImage sPicTable_Bastiodon[] = { static const struct SpriteFrameImage sPicTable_BurmyPlantCloak[] = { overworld_ascending_frames(gObjectEventPic_BurmyPlantCloak, 4, 4), }; -static const struct SpriteFrameImage sPicTable_BurmySandyCloak[] = { - overworld_ascending_frames(gObjectEventPic_BurmySandyCloak, 4, 4), +static const struct SpriteFrameImage sPicTable_BurmySandy[] = { + overworld_ascending_frames(gObjectEventPic_BurmySandy, 4, 4), }; -static const struct SpriteFrameImage sPicTable_BurmyTrashCloak[] = { - overworld_ascending_frames(gObjectEventPic_BurmyTrashCloak, 4, 4), +static const struct SpriteFrameImage sPicTable_BurmyTrash[] = { + overworld_ascending_frames(gObjectEventPic_BurmyTrash, 4, 4), }; static const struct SpriteFrameImage sPicTable_WormadamPlantCloak[] = { overworld_ascending_frames(gObjectEventPic_WormadamPlantCloak, 4, 4), }; -static const struct SpriteFrameImage sPicTable_WormadamSandyCloak[] = { - overworld_ascending_frames(gObjectEventPic_WormadamSandyCloak, 4, 4), +static const struct SpriteFrameImage sPicTable_WormadamSandy[] = { + overworld_ascending_frames(gObjectEventPic_WormadamSandy, 4, 4), }; -static const struct SpriteFrameImage sPicTable_WormadamTrashCloak[] = { - overworld_ascending_frames(gObjectEventPic_WormadamTrashCloak, 4, 4), +static const struct SpriteFrameImage sPicTable_WormadamTrash[] = { + overworld_ascending_frames(gObjectEventPic_WormadamTrash, 4, 4), }; static const struct SpriteFrameImage sPicTable_Mothim[] = { overworld_ascending_frames(gObjectEventPic_Mothim, 4, 4), @@ -2770,9 +3163,11 @@ static const struct SpriteFrameImage sPicTable_Mothim[] = { static const struct SpriteFrameImage sPicTable_Combee[] = { overworld_ascending_frames(gObjectEventPic_Combee, 4, 4), }; +#if P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_CombeeF[] = { overworld_ascending_frames(gObjectEventPic_CombeeF, 4, 4), }; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Vespiquen[] = { overworld_ascending_frames(gObjectEventPic_Vespiquen, 4, 4), }; @@ -2782,15 +3177,30 @@ static const struct SpriteFrameImage sPicTable_Vespiquen[] = { static const struct SpriteFrameImage sPicTable_Pachirisu[] = { overworld_ascending_frames(gObjectEventPic_Pachirisu, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_PachirisuF[] = { + overworld_ascending_frames(gObjectEventPic_PachirisuF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_PACHIRISU #if P_FAMILY_BUIZEL static const struct SpriteFrameImage sPicTable_Buizel[] = { overworld_ascending_frames(gObjectEventPic_Buizel, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_BuizelF[] = { + overworld_ascending_frames(gObjectEventPic_BuizelF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Floatzel[] = { overworld_ascending_frames(gObjectEventPic_Floatzel, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_FloatzelF[] = { + overworld_ascending_frames(gObjectEventPic_FloatzelF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_BUIZEL #if P_FAMILY_CHERUBI @@ -2809,14 +3219,14 @@ static const struct SpriteFrameImage sPicTable_CherrimOvercast[] = { static const struct SpriteFrameImage sPicTable_ShellosWestSea[] = { overworld_ascending_frames(gObjectEventPic_ShellosWestSea, 4, 4), }; -static const struct SpriteFrameImage sPicTable_ShellosEastSea[] = { - overworld_ascending_frames(gObjectEventPic_ShellosEastSea, 4, 4), +static const struct SpriteFrameImage sPicTable_ShellosEast[] = { + overworld_ascending_frames(gObjectEventPic_ShellosEast, 4, 4), }; static const struct SpriteFrameImage sPicTable_GastrodonWestSea[] = { overworld_ascending_frames(gObjectEventPic_GastrodonWestSea, 4, 4), }; -static const struct SpriteFrameImage sPicTable_GastrodonEastSea[] = { - overworld_ascending_frames(gObjectEventPic_GastrodonEastSea, 4, 4), +static const struct SpriteFrameImage sPicTable_GastrodonEast[] = { + overworld_ascending_frames(gObjectEventPic_GastrodonEast, 4, 4), }; #endif //P_FAMILY_SHELLOS @@ -2886,12 +3296,27 @@ static const struct SpriteFrameImage sPicTable_Spiritomb[] = { static const struct SpriteFrameImage sPicTable_Gible[] = { overworld_ascending_frames(gObjectEventPic_Gible, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_GibleF[] = { + overworld_ascending_frames(gObjectEventPic_GibleF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Gabite[] = { overworld_ascending_frames(gObjectEventPic_Gabite, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_GabiteF[] = { + overworld_ascending_frames(gObjectEventPic_GabiteF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Garchomp[] = { overworld_ascending_frames(gObjectEventPic_Garchomp, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_GarchompF[] = { + overworld_ascending_frames(gObjectEventPic_GarchompF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS /*static const struct SpriteFrameImage sPicTable_GarchompMega[] = { overworld_ascending_frames(gObjectEventPic_GarchompMega, 4, 4), @@ -2917,15 +3342,14 @@ static const struct SpriteFrameImage sPicTable_Lucario[] = { static const struct SpriteFrameImage sPicTable_Hippopotas[] = { overworld_ascending_frames(gObjectEventPic_Hippopotas, 4, 4), }; +#if P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_HippopotasF[] = { overworld_ascending_frames(gObjectEventPic_HippopotasF, 4, 4), }; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Hippowdon[] = { overworld_ascending_frames(gObjectEventPic_Hippowdon, 4, 4), }; -static const struct SpriteFrameImage sPicTable_HippowdonF[] = { - overworld_ascending_frames(gObjectEventPic_HippowdonF, 4, 4), -}; #endif //P_FAMILY_HIPPOPOTAS #if P_FAMILY_SKORUPI @@ -2941,9 +3365,19 @@ static const struct SpriteFrameImage sPicTable_Drapion[] = { static const struct SpriteFrameImage sPicTable_Croagunk[] = { overworld_ascending_frames(gObjectEventPic_Croagunk, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_CroagunkF[] = { + overworld_ascending_frames(gObjectEventPic_CroagunkF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Toxicroak[] = { overworld_ascending_frames(gObjectEventPic_Toxicroak, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_ToxicroakF[] = { + overworld_ascending_frames(gObjectEventPic_ToxicroakF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_CROAGUNK #if P_FAMILY_CARNIVINE @@ -2956,18 +3390,38 @@ static const struct SpriteFrameImage sPicTable_Carnivine[] = { static const struct SpriteFrameImage sPicTable_Finneon[] = { overworld_ascending_frames(gObjectEventPic_Finneon, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_FinneonF[] = { + overworld_ascending_frames(gObjectEventPic_FinneonF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Lumineon[] = { overworld_ascending_frames(gObjectEventPic_Lumineon, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_LumineonF[] = { + overworld_ascending_frames(gObjectEventPic_LumineonF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_FINNEON #if P_FAMILY_SNOVER static const struct SpriteFrameImage sPicTable_Snover[] = { overworld_ascending_frames(gObjectEventPic_Snover, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_SnoverF[] = { + overworld_ascending_frames(gObjectEventPic_SnoverF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Abomasnow[] = { overworld_ascending_frames(gObjectEventPic_Abomasnow, 4, 4), }; +#if P_GENDER_DIFFERENCES +static const struct SpriteFrameImage sPicTable_AbomasnowF[] = { + overworld_ascending_frames(gObjectEventPic_AbomasnowF, 4, 4), +}; +#endif //P_GENDER_DIFFERENCES #if P_MEGA_EVOLUTIONS /*static const struct SpriteFrameImage sPicTable_AbomasnowMega[] = { overworld_ascending_frames(gObjectEventPic_AbomasnowMega, 4, 4), @@ -3182,8 +3636,8 @@ static const struct SpriteFrameImage sPicTable_Samurott[] = { overworld_ascending_frames(gObjectEventPic_Samurott, 4, 4), }; #if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_SamurottHisuian[] = { - overworld_ascending_frames(gObjectEventPic_SamurottHisuian, 4, 4), +static const struct SpriteFrameImage sPicTable_SamurottHisui[] = { + overworld_ascending_frames(gObjectEventPic_SamurottHisui, 4, 4), }; #endif //P_HISUIAN_FORMS #endif //P_FAMILY_OSHAWOTT @@ -3265,9 +3719,11 @@ static const struct SpriteFrameImage sPicTable_Tranquill[] = { static const struct SpriteFrameImage sPicTable_Unfezant[] = { overworld_ascending_frames(gObjectEventPic_Unfezant, 4, 4), }; +#if P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_UnfezantF[] = { overworld_ascending_frames(gObjectEventPic_UnfezantF, 4, 4), }; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_PIDOVE #if P_FAMILY_BLITZLE @@ -3397,8 +3853,8 @@ static const struct SpriteFrameImage sPicTable_Lilligant[] = { overworld_ascending_frames(gObjectEventPic_Lilligant, 4, 4), }; #if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_LilligantHisuian[] = { - overworld_ascending_frames(gObjectEventPic_LilligantHisuian, 4, 4), +static const struct SpriteFrameImage sPicTable_LilligantHisui[] = { + overworld_ascending_frames(gObjectEventPic_LilligantHisui, 4, 4), }; #endif //P_HISUIAN_FORMS #endif //P_FAMILY_PETILIL @@ -3414,11 +3870,11 @@ static const struct SpriteFrameImage sPicTable_BasculinBlueStriped[] = { static const struct SpriteFrameImage sPicTable_BasculinWhiteStriped[] = { overworld_ascending_frames(gObjectEventPic_BasculinWhiteStriped, 4, 4), }; -static const struct SpriteFrameImage sPicTable_BasculegionMale[] = { - overworld_ascending_frames(gObjectEventPic_BasculegionMale, 4, 4), +static const struct SpriteFrameImage sPicTable_BasculegionM[] = { + overworld_ascending_frames(gObjectEventPic_BasculegionM, 4, 4), }; -static const struct SpriteFrameImage sPicTable_BasculegionFemale[] = { - overworld_ascending_frames(gObjectEventPic_BasculegionFemale, 4, 4), +static const struct SpriteFrameImage sPicTable_BasculegionF[] = { + overworld_ascending_frames(gObjectEventPic_BasculegionF, 4, 4), }; #endif //P_HISUIAN_FORMS #endif //P_FAMILY_BASCULIN @@ -3439,21 +3895,21 @@ static const struct SpriteFrameImage sPicTable_Krookodile[] = { static const struct SpriteFrameImage sPicTable_Darumaka[] = { overworld_ascending_frames(gObjectEventPic_Darumaka, 4, 4), }; -static const struct SpriteFrameImage sPicTable_DarmanitanStandardMode[] = { - overworld_ascending_frames(gObjectEventPic_DarmanitanStandardMode, 4, 4), +static const struct SpriteFrameImage sPicTable_DarmanitanStandard[] = { + overworld_ascending_frames(gObjectEventPic_DarmanitanStandard, 4, 4), }; -/*static const struct SpriteFrameImage sPicTable_DarmanitanZenMode[] = { - overworld_ascending_frames(gObjectEventPic_DarmanitanZenMode, 4, 4), +/*static const struct SpriteFrameImage sPicTable_DarmanitanZen[] = { + overworld_ascending_frames(gObjectEventPic_DarmanitanZen, 4, 4), };*/ #if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_DarumakaGalarian[] = { - overworld_ascending_frames(gObjectEventPic_DarumakaGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_DarumakaGalar[] = { + overworld_ascending_frames(gObjectEventPic_DarumakaGalar, 4, 4), }; -static const struct SpriteFrameImage sPicTable_DarmanitanGalarianStandardMode[] = { - overworld_ascending_frames(gObjectEventPic_DarmanitanGalarianStandardMode, 4, 4), +static const struct SpriteFrameImage sPicTable_DarmanitanGalarStandard[] = { + overworld_ascending_frames(gObjectEventPic_DarmanitanGalarStandard, 4, 4), }; -/*static const struct SpriteFrameImage sPicTable_DarmanitanGalarianZenMode[] = { - overworld_ascending_frames(gObjectEventPic_DarmanitanGalarianZenMode, 4, 4), +/*static const struct SpriteFrameImage sPicTable_DarmanitanGalarZen[] = { + overworld_ascending_frames(gObjectEventPic_DarmanitanGalarZen, 4, 4), };*/ #endif //P_GALARIAN_FORMS #endif //P_FAMILY_DARUMAKA @@ -3496,8 +3952,8 @@ static const struct SpriteFrameImage sPicTable_Cofagrigus[] = { overworld_ascending_frames(gObjectEventPic_Cofagrigus, 4, 4), }; #if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_YamaskGalarian[] = { - overworld_ascending_frames(gObjectEventPic_YamaskGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_YamaskGalar[] = { + overworld_ascending_frames(gObjectEventPic_YamaskGalar, 4, 4), }; static const struct SpriteFrameImage sPicTable_Runerigus[] = { overworld_ascending_frames(gObjectEventPic_Runerigus, 4, 4), @@ -3531,8 +3987,8 @@ static const struct SpriteFrameImage sPicTable_Garbodor[] = { overworld_ascending_frames(gObjectEventPic_Garbodor, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_GarbodorGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_GarbodorGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_GarbodorGmax[] = { + overworld_ascending_frames(gObjectEventPic_GarbodorGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_TRUBBISH @@ -3545,11 +4001,11 @@ static const struct SpriteFrameImage sPicTable_Zoroark[] = { overworld_ascending_frames(gObjectEventPic_Zoroark, 4, 4), }; #if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_ZoruaHisuian[] = { - overworld_ascending_frames(gObjectEventPic_ZoruaHisuian, 4, 4), +static const struct SpriteFrameImage sPicTable_ZoruaHisui[] = { + overworld_ascending_frames(gObjectEventPic_ZoruaHisui, 4, 4), }; -static const struct SpriteFrameImage sPicTable_ZoroarkHisuian[] = { - overworld_ascending_frames(gObjectEventPic_ZoroarkHisuian, 4, 4), +static const struct SpriteFrameImage sPicTable_ZoroarkHisui[] = { + overworld_ascending_frames(gObjectEventPic_ZoroarkHisui, 4, 4), }; #endif //P_HISUIAN_FORMS #endif //P_FAMILY_ZORUA @@ -3664,15 +4120,19 @@ static const struct SpriteFrameImage sPicTable_Amoonguss[] = { static const struct SpriteFrameImage sPicTable_Frillish[] = { overworld_ascending_frames(gObjectEventPic_Frillish, 4, 4), }; +#if P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_FrillishF[] = { overworld_ascending_frames(gObjectEventPic_FrillishF, 4, 4), }; +#endif //P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_Jellicent[] = { overworld_ascending_frames(gObjectEventPic_Jellicent, 4, 4), }; +#if P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_JellicentF[] = { overworld_ascending_frames(gObjectEventPic_JellicentF, 4, 4), }; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_FRILLISH #if P_FAMILY_ALOMOMOLA @@ -3785,8 +4245,8 @@ static const struct SpriteFrameImage sPicTable_Stunfisk[] = { overworld_ascending_frames(gObjectEventPic_Stunfisk, 4, 4), }; #if P_GALARIAN_FORMS -static const struct SpriteFrameImage sPicTable_StunfiskGalarian[] = { - overworld_ascending_frames(gObjectEventPic_StunfiskGalarian, 4, 4), +static const struct SpriteFrameImage sPicTable_StunfiskGalar[] = { + overworld_ascending_frames(gObjectEventPic_StunfiskGalar, 4, 4), }; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_STUNFISK @@ -3843,8 +4303,8 @@ static const struct SpriteFrameImage sPicTable_Braviary[] = { overworld_ascending_frames(gObjectEventPic_Braviary, 4, 4), }; #if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_BraviaryHisuian[] = { - overworld_ascending_frames(gObjectEventPic_BraviaryHisuian, 4, 4), +static const struct SpriteFrameImage sPicTable_BraviaryHisui[] = { + overworld_ascending_frames(gObjectEventPic_BraviaryHisui, 4, 4), }; #endif //P_HISUIAN_FORMS #endif //P_FAMILY_RUFFLET @@ -4138,60 +4598,62 @@ static const struct SpriteFrameImage sPicTable_Litleo[] = { static const struct SpriteFrameImage sPicTable_Pyroar[] = { overworld_ascending_frames(gObjectEventPic_Pyroar, 4, 4), }; +#if P_GENDER_DIFFERENCES static const struct SpriteFrameImage sPicTable_PyroarF[] = { overworld_ascending_frames(gObjectEventPic_PyroarF, 4, 4), }; +#endif //P_GENDER_DIFFERENCES #endif //P_FAMILY_LITLEO #if P_FAMILY_FLABEBE -static const struct SpriteFrameImage sPicTable_FlabebeRedFlower[] = { - overworld_ascending_frames(gObjectEventPic_FlabebeRedFlower, 4, 4), +static const struct SpriteFrameImage sPicTable_FlabebeRed[] = { + overworld_ascending_frames(gObjectEventPic_FlabebeRed, 4, 4), }; -static const struct SpriteFrameImage sPicTable_FlabebeYellowFlower[] = { - overworld_ascending_frames(gObjectEventPic_FlabebeYellowFlower, 4, 4), +static const struct SpriteFrameImage sPicTable_FlabebeYellow[] = { + overworld_ascending_frames(gObjectEventPic_FlabebeYellow, 4, 4), }; -static const struct SpriteFrameImage sPicTable_FlabebeOrangeFlower[] = { - overworld_ascending_frames(gObjectEventPic_FlabebeOrangeFlower, 4, 4), +static const struct SpriteFrameImage sPicTable_FlabebeOrange[] = { + overworld_ascending_frames(gObjectEventPic_FlabebeOrange, 4, 4), }; -static const struct SpriteFrameImage sPicTable_FlabebeBlueFlower[] = { - overworld_ascending_frames(gObjectEventPic_FlabebeBlueFlower, 4, 4), +static const struct SpriteFrameImage sPicTable_FlabebeBlue[] = { + overworld_ascending_frames(gObjectEventPic_FlabebeBlue, 4, 4), }; -static const struct SpriteFrameImage sPicTable_FlabebeWhiteFlower[] = { - overworld_ascending_frames(gObjectEventPic_FlabebeWhiteFlower, 4, 4), +static const struct SpriteFrameImage sPicTable_FlabebeWhite[] = { + overworld_ascending_frames(gObjectEventPic_FlabebeWhite, 4, 4), }; -static const struct SpriteFrameImage sPicTable_FloetteRedFlower[] = { - overworld_ascending_frames(gObjectEventPic_FloetteRedFlower, 4, 4), +static const struct SpriteFrameImage sPicTable_FloetteRed[] = { + overworld_ascending_frames(gObjectEventPic_FloetteRed, 4, 4), }; -static const struct SpriteFrameImage sPicTable_FloetteYellowFlower[] = { - overworld_ascending_frames(gObjectEventPic_FloetteYellowFlower, 4, 4), +static const struct SpriteFrameImage sPicTable_FloetteYellow[] = { + overworld_ascending_frames(gObjectEventPic_FloetteYellow, 4, 4), }; -static const struct SpriteFrameImage sPicTable_FloetteOrangeFlower[] = { - overworld_ascending_frames(gObjectEventPic_FloetteOrangeFlower, 4, 4), +static const struct SpriteFrameImage sPicTable_FloetteOrange[] = { + overworld_ascending_frames(gObjectEventPic_FloetteOrange, 4, 4), }; -static const struct SpriteFrameImage sPicTable_FloetteBlueFlower[] = { - overworld_ascending_frames(gObjectEventPic_FloetteBlueFlower, 4, 4), +static const struct SpriteFrameImage sPicTable_FloetteBlue[] = { + overworld_ascending_frames(gObjectEventPic_FloetteBlue, 4, 4), }; -static const struct SpriteFrameImage sPicTable_FloetteWhiteFlower[] = { - overworld_ascending_frames(gObjectEventPic_FloetteWhiteFlower, 4, 4), +static const struct SpriteFrameImage sPicTable_FloetteWhite[] = { + overworld_ascending_frames(gObjectEventPic_FloetteWhite, 4, 4), }; -static const struct SpriteFrameImage sPicTable_FloetteEternalFlower[] = { - overworld_ascending_frames(gObjectEventPic_FloetteEternalFlower, 4, 4), +static const struct SpriteFrameImage sPicTable_FloetteEternal[] = { + overworld_ascending_frames(gObjectEventPic_FloetteEternal, 4, 4), }; -static const struct SpriteFrameImage sPicTable_FlorgesRedFlower[] = { - overworld_ascending_frames(gObjectEventPic_FlorgesRedFlower, 4, 4), +static const struct SpriteFrameImage sPicTable_FlorgesRed[] = { + overworld_ascending_frames(gObjectEventPic_FlorgesRed, 4, 4), }; -static const struct SpriteFrameImage sPicTable_FlorgesYellowFlower[] = { - overworld_ascending_frames(gObjectEventPic_FlorgesYellowFlower, 4, 4), +static const struct SpriteFrameImage sPicTable_FlorgesYellow[] = { + overworld_ascending_frames(gObjectEventPic_FlorgesYellow, 4, 4), }; -static const struct SpriteFrameImage sPicTable_FlorgesOrangeFlower[] = { - overworld_ascending_frames(gObjectEventPic_FlorgesOrangeFlower, 4, 4), +static const struct SpriteFrameImage sPicTable_FlorgesOrange[] = { + overworld_ascending_frames(gObjectEventPic_FlorgesOrange, 4, 4), }; -static const struct SpriteFrameImage sPicTable_FlorgesBlueFlower[] = { - overworld_ascending_frames(gObjectEventPic_FlorgesBlueFlower, 4, 4), +static const struct SpriteFrameImage sPicTable_FlorgesBlue[] = { + overworld_ascending_frames(gObjectEventPic_FlorgesBlue, 4, 4), }; -static const struct SpriteFrameImage sPicTable_FlorgesWhiteFlower[] = { - overworld_ascending_frames(gObjectEventPic_FlorgesWhiteFlower, 4, 4), +static const struct SpriteFrameImage sPicTable_FlorgesWhite[] = { + overworld_ascending_frames(gObjectEventPic_FlorgesWhite, 4, 4), }; #endif //P_FAMILY_FLABEBE @@ -4250,11 +4712,11 @@ static const struct SpriteFrameImage sPicTable_FurfrouPharaohTrim[] = { static const struct SpriteFrameImage sPicTable_Espurr[] = { overworld_ascending_frames(gObjectEventPic_Espurr, 4, 4), }; -static const struct SpriteFrameImage sPicTable_MeowsticMale[] = { - overworld_ascending_frames(gObjectEventPic_MeowsticMale, 4, 4), +static const struct SpriteFrameImage sPicTable_MeowsticM[] = { + overworld_ascending_frames(gObjectEventPic_MeowsticM, 4, 4), }; -static const struct SpriteFrameImage sPicTable_MeowsticFemale[] = { - overworld_ascending_frames(gObjectEventPic_MeowsticFemale, 4, 4), +static const struct SpriteFrameImage sPicTable_MeowsticF[] = { + overworld_ascending_frames(gObjectEventPic_MeowsticF, 4, 4), }; #endif //P_FAMILY_ESPURR @@ -4381,8 +4843,8 @@ static const struct SpriteFrameImage sPicTable_Sliggoo[] = { overworld_ascending_frames(gObjectEventPic_Sliggoo, 4, 4), }; #if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_SliggooHisuian[] = { - overworld_ascending_frames(gObjectEventPic_SliggooHisuian, 4, 4), +static const struct SpriteFrameImage sPicTable_SliggooHisui[] = { + overworld_ascending_frames(gObjectEventPic_SliggooHisui, 4, 4), }; #endif //P_HISUIAN_FORMS @@ -4390,8 +4852,8 @@ static const struct SpriteFrameImage sPicTable_Goodra[] = { overworld_ascending_frames(gObjectEventPic_Goodra, 4, 4), }; #if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_GoodraHisuian[] = { - overworld_ascending_frames(gObjectEventPic_GoodraHisuian, 4, 4), +static const struct SpriteFrameImage sPicTable_GoodraHisui[] = { + overworld_ascending_frames(gObjectEventPic_GoodraHisui, 4, 4), }; #endif //P_HISUIAN_FORMS #endif //P_FAMILY_GOOMY @@ -4448,8 +4910,8 @@ static const struct SpriteFrameImage sPicTable_Avalugg[] = { overworld_ascending_frames(gObjectEventPic_Avalugg, 4, 4), }; #if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_AvaluggHisuian[] = { - overworld_ascending_frames(gObjectEventPic_AvaluggHisuian, 4, 4), +static const struct SpriteFrameImage sPicTable_AvaluggHisui[] = { + overworld_ascending_frames(gObjectEventPic_AvaluggHisui, 4, 4), }; #endif //P_HISUIAN_FORMS #endif //P_FAMILY_BERGMITE @@ -4530,8 +4992,8 @@ static const struct SpriteFrameImage sPicTable_Decidueye[] = { overworld_ascending_frames(gObjectEventPic_Decidueye, 4, 4), }; #if P_HISUIAN_FORMS -static const struct SpriteFrameImage sPicTable_DecidueyeHisuian[] = { - overworld_ascending_frames(gObjectEventPic_DecidueyeHisuian, 4, 4), +static const struct SpriteFrameImage sPicTable_DecidueyeHisui[] = { + overworld_ascending_frames(gObjectEventPic_DecidueyeHisui, 4, 4), }; #endif //P_HISUIAN_FORMS #endif //P_FAMILY_ROWLET @@ -4967,8 +5429,8 @@ static const struct SpriteFrameImage sPicTable_NecrozmaDawnWings[] = { static const struct SpriteFrameImage sPicTable_Magearna[] = { overworld_ascending_frames(gObjectEventPic_Magearna, 4, 4), }; -static const struct SpriteFrameImage sPicTable_MagearnaOriginalColor[] = { - overworld_ascending_frames(gObjectEventPic_MagearnaOriginalColor, 4, 4), +static const struct SpriteFrameImage sPicTable_MagearnaOriginal[] = { + overworld_ascending_frames(gObjectEventPic_MagearnaOriginal, 4, 4), }; #endif //P_FAMILY_MAGEARNA @@ -5013,8 +5475,8 @@ static const struct SpriteFrameImage sPicTable_Melmetal[] = { overworld_ascending_frames(gObjectEventPic_Melmetal, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_MelmetalGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_MelmetalGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_MelmetalGmax[] = { + overworld_ascending_frames(gObjectEventPic_MelmetalGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_MELTAN @@ -5030,8 +5492,8 @@ static const struct SpriteFrameImage sPicTable_Rillaboom[] = { overworld_ascending_frames(gObjectEventPic_Rillaboom, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_RillaboomGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_RillaboomGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_RillaboomGmax[] = { + overworld_ascending_frames(gObjectEventPic_RillaboomGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_GROOKEY @@ -5047,8 +5509,8 @@ static const struct SpriteFrameImage sPicTable_Cinderace[] = { overworld_ascending_frames(gObjectEventPic_Cinderace, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_CinderaceGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_CinderaceGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_CinderaceGmax[] = { + overworld_ascending_frames(gObjectEventPic_CinderaceGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SCORBUNNY @@ -5064,8 +5526,8 @@ static const struct SpriteFrameImage sPicTable_Inteleon[] = { overworld_ascending_frames(gObjectEventPic_Inteleon, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_InteleonGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_InteleonGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_InteleonGmax[] = { + overworld_ascending_frames(gObjectEventPic_InteleonGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SOBBLE @@ -5090,8 +5552,8 @@ static const struct SpriteFrameImage sPicTable_Corviknight[] = { overworld_ascending_frames(gObjectEventPic_Corviknight, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_CorviknightGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_CorviknightGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_CorviknightGmax[] = { + overworld_ascending_frames(gObjectEventPic_CorviknightGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_ROOKIDEE @@ -5107,8 +5569,8 @@ static const struct SpriteFrameImage sPicTable_Orbeetle[] = { overworld_ascending_frames(gObjectEventPic_Orbeetle, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_OrbeetleGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_OrbeetleGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_OrbeetleGmax[] = { + overworld_ascending_frames(gObjectEventPic_OrbeetleGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_BLIPBUG @@ -5148,8 +5610,8 @@ static const struct SpriteFrameImage sPicTable_Drednaw[] = { overworld_ascending_frames(gObjectEventPic_Drednaw, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_DrednawGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_DrednawGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_DrednawGmax[] = { + overworld_ascending_frames(gObjectEventPic_DrednawGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_CHEWTLE @@ -5174,8 +5636,8 @@ static const struct SpriteFrameImage sPicTable_Coalossal[] = { overworld_ascending_frames(gObjectEventPic_Coalossal, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_CoalossalGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_CoalossalGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_CoalossalGmax[] = { + overworld_ascending_frames(gObjectEventPic_CoalossalGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_ROLYCOLY @@ -5188,8 +5650,8 @@ static const struct SpriteFrameImage sPicTable_Flapple[] = { overworld_ascending_frames(gObjectEventPic_Flapple, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_FlappleGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_FlappleGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_FlappleGmax[] = { + overworld_ascending_frames(gObjectEventPic_FlappleGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS @@ -5197,8 +5659,8 @@ static const struct SpriteFrameImage sPicTable_Appletun[] = { overworld_ascending_frames(gObjectEventPic_Appletun, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_AppletunGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_AppletunGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_AppletunGmax[] = { + overworld_ascending_frames(gObjectEventPic_AppletunGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS @@ -5220,8 +5682,8 @@ static const struct SpriteFrameImage sPicTable_Sandaconda[] = { overworld_ascending_frames(gObjectEventPic_Sandaconda, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_SandacondaGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_SandacondaGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_SandacondaGmax[] = { + overworld_ascending_frames(gObjectEventPic_SandacondaGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SILICOBRA @@ -5258,8 +5720,8 @@ static const struct SpriteFrameImage sPicTable_ToxtricityLowKey[] = { overworld_ascending_frames(gObjectEventPic_ToxtricityLowKey, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_ToxtricityGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_ToxtricityGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_ToxtricityGmax[] = { + overworld_ascending_frames(gObjectEventPic_ToxtricityGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_TOXEL @@ -5272,8 +5734,8 @@ static const struct SpriteFrameImage sPicTable_Centiskorch[] = { overworld_ascending_frames(gObjectEventPic_Centiskorch, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_CentiskorchGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_CentiskorchGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_CentiskorchGmax[] = { + overworld_ascending_frames(gObjectEventPic_CentiskorchGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SIZZLIPEDE @@ -5307,8 +5769,8 @@ static const struct SpriteFrameImage sPicTable_Hatterene[] = { overworld_ascending_frames(gObjectEventPic_Hatterene, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_HattereneGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_HattereneGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_HattereneGmax[] = { + overworld_ascending_frames(gObjectEventPic_HattereneGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_HATENNA @@ -5324,8 +5786,8 @@ static const struct SpriteFrameImage sPicTable_Grimmsnarl[] = { overworld_ascending_frames(gObjectEventPic_Grimmsnarl, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_GrimmsnarlGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_GrimmsnarlGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_GrimmsnarlGmax[] = { + overworld_ascending_frames(gObjectEventPic_GrimmsnarlGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_IMPIDIMP @@ -5339,8 +5801,8 @@ static const struct SpriteFrameImage sPicTable_AlcremieStrawberry[] = { overworld_ascending_frames(gObjectEventPic_AlcremieStrawberry, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_AlcremieGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_AlcremieGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_AlcremieGmax[] = { + overworld_ascending_frames(gObjectEventPic_AlcremieGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_MILCERY @@ -5373,20 +5835,20 @@ static const struct SpriteFrameImage sPicTable_Stonjourner[] = { #endif //P_FAMILY_STONJOURNER #if P_FAMILY_EISCUE -static const struct SpriteFrameImage sPicTable_EiscueIceFace[] = { - overworld_ascending_frames(gObjectEventPic_EiscueIceFace, 4, 4), +static const struct SpriteFrameImage sPicTable_EiscueIce[] = { + overworld_ascending_frames(gObjectEventPic_EiscueIce, 4, 4), }; -/*static const struct SpriteFrameImage sPicTable_EiscueNoiceFace[] = { - overworld_ascending_frames(gObjectEventPic_EiscueNoiceFace, 4, 4), +/*static const struct SpriteFrameImage sPicTable_EiscueNoice[] = { + overworld_ascending_frames(gObjectEventPic_EiscueNoice, 4, 4), };*/ #endif //P_FAMILY_EISCUE #if P_FAMILY_INDEEDEE -static const struct SpriteFrameImage sPicTable_IndeedeeMale[] = { - overworld_ascending_frames(gObjectEventPic_IndeedeeMale, 4, 4), +static const struct SpriteFrameImage sPicTable_IndeedeeM[] = { + overworld_ascending_frames(gObjectEventPic_IndeedeeM, 4, 4), }; -static const struct SpriteFrameImage sPicTable_IndeedeeFemale[] = { - overworld_ascending_frames(gObjectEventPic_IndeedeeFemale, 4, 4), +static const struct SpriteFrameImage sPicTable_IndeedeeF[] = { + overworld_ascending_frames(gObjectEventPic_IndeedeeF, 4, 4), }; #endif //P_FAMILY_INDEEDEE @@ -5407,8 +5869,8 @@ static const struct SpriteFrameImage sPicTable_Copperajah[] = { overworld_ascending_frames(gObjectEventPic_Copperajah, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_CopperajahGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_CopperajahGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_CopperajahGmax[] = { + overworld_ascending_frames(gObjectEventPic_CopperajahGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_CUFANT @@ -5442,8 +5904,8 @@ static const struct SpriteFrameImage sPicTable_Duraludon[] = { overworld_ascending_frames(gObjectEventPic_Duraludon, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_DuraludonGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_DuraludonGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_DuraludonGmax[] = { + overworld_ascending_frames(gObjectEventPic_DuraludonGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS @@ -5467,20 +5929,20 @@ static const struct SpriteFrameImage sPicTable_Dragapult[] = { #endif //P_FAMILY_DREEPY #if P_FAMILY_ZACIAN -static const struct SpriteFrameImage sPicTable_ZacianHeroOfManyBattles[] = { - overworld_ascending_frames(gObjectEventPic_ZacianHeroOfManyBattles, 4, 4), +static const struct SpriteFrameImage sPicTable_ZacianHero[] = { + overworld_ascending_frames(gObjectEventPic_ZacianHero, 4, 4), }; -static const struct SpriteFrameImage sPicTable_ZacianCrownedSword[] = { - overworld_ascending_frames(gObjectEventPic_ZacianCrownedSword, 4, 4), +static const struct SpriteFrameImage sPicTable_ZacianCrowned[] = { + overworld_ascending_frames(gObjectEventPic_ZacianCrowned, 4, 4), }; #endif //P_FAMILY_ZACIAN #if P_FAMILY_ZAMAZENTA -static const struct SpriteFrameImage sPicTable_ZamazentaHeroOfManyBattles[] = { - overworld_ascending_frames(gObjectEventPic_ZamazentaHeroOfManyBattles, 4, 4), +static const struct SpriteFrameImage sPicTable_ZamazentaHero[] = { + overworld_ascending_frames(gObjectEventPic_ZamazentaHero, 4, 4), }; -static const struct SpriteFrameImage sPicTable_ZamazentaCrownedShield[] = { - overworld_ascending_frames(gObjectEventPic_ZamazentaCrownedShield, 4, 4), +static const struct SpriteFrameImage sPicTable_ZamazentaCrowned[] = { + overworld_ascending_frames(gObjectEventPic_ZamazentaCrowned, 4, 4), }; #endif //P_FAMILY_ZAMAZENTA @@ -5501,11 +5963,11 @@ static const struct SpriteFrameImage sPicTable_Urshifu[] = { overworld_ascending_frames(gObjectEventPic_Urshifu, 4, 4), }; #if P_GIGANTAMAX_FORMS -/*static const struct SpriteFrameImage sPicTable_UrshifuSingleStrikeStyleGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_UrshifuSingleStrikeStyleGigantamax, 4, 4), +/*static const struct SpriteFrameImage sPicTable_UrshifuSingleStrikeGmax[] = { + overworld_ascending_frames(gObjectEventPic_UrshifuSingleStrikeGmax, 4, 4), }; -static const struct SpriteFrameImage sPicTable_UrshifuRapidStrikeStyleGigantamax[] = { - overworld_ascending_frames(gObjectEventPic_UrshifuRapidStrikeStyleGigantamax, 4, 4), +static const struct SpriteFrameImage sPicTable_UrshifuRapidStrikeGmax[] = { + overworld_ascending_frames(gObjectEventPic_UrshifuRapidStrikeGmax, 4, 4), };*/ #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_KUBFU @@ -5549,14 +6011,14 @@ static const struct SpriteFrameImage sPicTable_Calyrex[] = { overworld_ascending_frames(gObjectEventPic_Calyrex, 4, 4), }; #if P_FUSION_FORMS -static const struct SpriteFrameImage sPicTable_CalyrexIceRider[] = { - overworld_ascending_frames(gObjectEventPic_CalyrexIceRider, 4, 4), +static const struct SpriteFrameImage sPicTable_CalyrexIce[] = { + overworld_ascending_frames(gObjectEventPic_CalyrexIce, 4, 4), }; #endif //P_FUSION_FORMS #if P_FUSION_FORMS -static const struct SpriteFrameImage sPicTable_CalyrexShadowRider[] = { - overworld_ascending_frames(gObjectEventPic_CalyrexShadowRider, 4, 4), +static const struct SpriteFrameImage sPicTable_CalyrexShadow[] = { + overworld_ascending_frames(gObjectEventPic_CalyrexShadow, 4, 4), }; #endif //P_FUSION_FORMS #endif //P_FAMILY_CALYREX @@ -5601,11 +6063,11 @@ static const struct SpriteFrameImage sPicTable_Quaquaval[] = { static const struct SpriteFrameImage sPicTable_Lechonk[] = { overworld_ascending_frames(gObjectEventPic_Lechonk, 4, 4), }; -static const struct SpriteFrameImage sPicTable_OinkologneMale[] = { - overworld_ascending_frames(gObjectEventPic_OinkologneMale, 4, 4), +static const struct SpriteFrameImage sPicTable_OinkologneM[] = { + overworld_ascending_frames(gObjectEventPic_OinkologneM, 4, 4), }; -static const struct SpriteFrameImage sPicTable_OinkologneFemale[] = { - overworld_ascending_frames(gObjectEventPic_OinkologneFemale, 4, 4), +static const struct SpriteFrameImage sPicTable_OinkologneF[] = { + overworld_ascending_frames(gObjectEventPic_OinkologneF, 4, 4), }; #endif //P_FAMILY_LECHONK @@ -5643,11 +6105,11 @@ static const struct SpriteFrameImage sPicTable_Pawmot[] = { static const struct SpriteFrameImage sPicTable_Tandemaus[] = { overworld_ascending_frames(gObjectEventPic_Tandemaus, 4, 4), }; -static const struct SpriteFrameImage sPicTable_MausholdFamilyOfThree[] = { - overworld_ascending_frames(gObjectEventPic_MausholdFamilyOfThree, 4, 4), +static const struct SpriteFrameImage sPicTable_MausholdThree[] = { + overworld_ascending_frames(gObjectEventPic_MausholdThree, 4, 4), }; -static const struct SpriteFrameImage sPicTable_MausholdFamilyOfFour[] = { - overworld_ascending_frames(gObjectEventPic_MausholdFamilyOfFour, 4, 4), +static const struct SpriteFrameImage sPicTable_MausholdFour[] = { + overworld_ascending_frames(gObjectEventPic_MausholdFour, 4, 4), }; #endif //P_FAMILY_TANDEMAUS @@ -5673,17 +6135,17 @@ static const struct SpriteFrameImage sPicTable_Arboliva[] = { #endif //P_FAMILY_SMOLIV #if P_FAMILY_SQUAWKABILLY -static const struct SpriteFrameImage sPicTable_SquawkabillyGreenPlumage[] = { - overworld_ascending_frames(gObjectEventPic_SquawkabillyGreenPlumage, 4, 4), +static const struct SpriteFrameImage sPicTable_SquawkabillyGreen[] = { + overworld_ascending_frames(gObjectEventPic_SquawkabillyGreen, 4, 4), }; -static const struct SpriteFrameImage sPicTable_SquawkabillyBluePlumage[] = { - overworld_ascending_frames(gObjectEventPic_SquawkabillyBluePlumage, 4, 4), +static const struct SpriteFrameImage sPicTable_SquawkabillyBlue[] = { + overworld_ascending_frames(gObjectEventPic_SquawkabillyBlue, 4, 4), }; -static const struct SpriteFrameImage sPicTable_SquawkabillyYellowPlumage[] = { - overworld_ascending_frames(gObjectEventPic_SquawkabillyYellowPlumage, 4, 4), +static const struct SpriteFrameImage sPicTable_SquawkabillyYellow[] = { + overworld_ascending_frames(gObjectEventPic_SquawkabillyYellow, 4, 4), }; -static const struct SpriteFrameImage sPicTable_SquawkabillyWhitePlumage[] = { - overworld_ascending_frames(gObjectEventPic_SquawkabillyWhitePlumage, 4, 4), +static const struct SpriteFrameImage sPicTable_SquawkabillyWhite[] = { + overworld_ascending_frames(gObjectEventPic_SquawkabillyWhite, 4, 4), }; #endif //P_FAMILY_SQUAWKABILLY @@ -6099,29 +6561,29 @@ static const struct SpriteFrameImage sPicTable_Fezandipiti[] = { #endif //P_FAMILY_FEZANDIPITI #if P_FAMILY_OGERPON -static const struct SpriteFrameImage sPicTable_OgerponTealMask[] = { - overworld_ascending_frames(gObjectEventPic_OgerponTealMask, 4, 4), +static const struct SpriteFrameImage sPicTable_OgerponTeal[] = { + overworld_ascending_frames(gObjectEventPic_OgerponTeal, 4, 4), }; -static const struct SpriteFrameImage sPicTable_OgerponWellspringMask[] = { - overworld_ascending_frames(gObjectEventPic_OgerponWellspringMask, 4, 4), +static const struct SpriteFrameImage sPicTable_OgerponWellspring[] = { + overworld_ascending_frames(gObjectEventPic_OgerponWellspring, 4, 4), }; -static const struct SpriteFrameImage sPicTable_OgerponHearthflameMask[] = { - overworld_ascending_frames(gObjectEventPic_OgerponHearthflameMask, 4, 4), +static const struct SpriteFrameImage sPicTable_OgerponHearthflame[] = { + overworld_ascending_frames(gObjectEventPic_OgerponHearthflame, 4, 4), }; -static const struct SpriteFrameImage sPicTable_OgerponCornerstoneMask[] = { - overworld_ascending_frames(gObjectEventPic_OgerponCornerstoneMask, 4, 4), +static const struct SpriteFrameImage sPicTable_OgerponCornerstone[] = { + overworld_ascending_frames(gObjectEventPic_OgerponCornerstone, 4, 4), }; -static const struct SpriteFrameImage sPicTable_OgerponTealMaskTera[] = { - overworld_ascending_frames(gObjectEventPic_OgerponTealMask, 4, 4), +static const struct SpriteFrameImage sPicTable_OgerponTealTera[] = { + overworld_ascending_frames(gObjectEventPic_OgerponTeal, 4, 4), }; -static const struct SpriteFrameImage sPicTable_OgerponWellspringMaskTera[] = { - overworld_ascending_frames(gObjectEventPic_OgerponWellspringMask, 4, 4), +static const struct SpriteFrameImage sPicTable_OgerponWellspringTera[] = { + overworld_ascending_frames(gObjectEventPic_OgerponWellspring, 4, 4), }; -static const struct SpriteFrameImage sPicTable_OgerponHearthflameMaskTera[] = { - overworld_ascending_frames(gObjectEventPic_OgerponHearthflameMask, 4, 4), +static const struct SpriteFrameImage sPicTable_OgerponHearthflameTera[] = { + overworld_ascending_frames(gObjectEventPic_OgerponHearthflame, 4, 4), }; -static const struct SpriteFrameImage sPicTable_OgerponCornerstoneMaskTera[] = { - overworld_ascending_frames(gObjectEventPic_OgerponCornerstoneMask, 4, 4), +static const struct SpriteFrameImage sPicTable_OgerponCornerstoneTera[] = { + overworld_ascending_frames(gObjectEventPic_OgerponCornerstone, 4, 4), }; #endif //P_FAMILY_OGERPON diff --git a/src/data/party_menu.h b/src/data/party_menu.h index 99488d4ebe9d..841cedca8833 100644 --- a/src/data/party_menu.h +++ b/src/data/party_menu.h @@ -1140,11 +1140,18 @@ static const u8 *const sUnused_StatStrings[] = gText_Speed2 }; +#define ROTOM_BASE_MOVE MOVE_THUNDER_SHOCK +#define ROTOM_HEAT_MOVE MOVE_OVERHEAT +#define ROTOM_WASH_MOVE MOVE_HYDRO_PUMP +#define ROTOM_FROST_MOVE MOVE_BLIZZARD +#define ROTOM_FAN_MOVE MOVE_AIR_SLASH +#define ROTOM_MOW_MOVE MOVE_LEAF_STORM + static const u16 sRotomFormChangeMoves[5] = { - MOVE_HYDRO_PUMP, - MOVE_BLIZZARD, - MOVE_OVERHEAT, - MOVE_AIR_SLASH, - MOVE_LEAF_STORM, + ROTOM_HEAT_MOVE, + ROTOM_WASH_MOVE, + ROTOM_FROST_MOVE, + ROTOM_FAN_MOVE, + ROTOM_MOW_MOVE, }; diff --git a/src/data/pokemon/egg_moves.h b/src/data/pokemon/egg_moves.h index 18ce19a7a1a0..23c233de581a 100644 --- a/src/data/pokemon/egg_moves.h +++ b/src/data/pokemon/egg_moves.h @@ -99,7 +99,7 @@ static const u16 sRattataEggMoveLearnset[] = { }; #if P_ALOLAN_FORMS -static const u16 sRattataAlolanEggMoveLearnset[] = { +static const u16 sRattataAlolaEggMoveLearnset[] = { MOVE_COUNTER, MOVE_FINAL_GAMBIT, MOVE_FURY_SWIPES, @@ -192,7 +192,7 @@ static const u16 sSandshrewEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; #if P_ALOLAN_FORMS -static const u16 sSandshrewAlolanEggMoveLearnset[] = { +static const u16 sSandshrewAlolaEggMoveLearnset[] = { MOVE_AMNESIA, MOVE_CHIP_AWAY, MOVE_COUNTER, @@ -289,7 +289,7 @@ static const u16 sVulpixEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; #if P_ALOLAN_FORMS -static const u16 sVulpixAlolanEggMoveLearnset[] = { +static const u16 sVulpixAlolaEggMoveLearnset[] = { MOVE_AGILITY, MOVE_CHARM, MOVE_DISABLE, @@ -425,7 +425,7 @@ static const u16 sDiglettEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; #if P_ALOLAN_FORMS -static const u16 sDiglettAlolanEggMoveLearnset[] = { +static const u16 sDiglettAlolaEggMoveLearnset[] = { MOVE_ANCIENT_POWER, MOVE_BEAT_UP, MOVE_ENDURE, @@ -460,7 +460,7 @@ static const u16 sMeowthEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; #if P_ALOLAN_FORMS -static const u16 sMeowthAlolanEggMoveLearnset[] = { +static const u16 sMeowthAlolaEggMoveLearnset[] = { MOVE_AMNESIA, MOVE_ASSIST, MOVE_CHARM, @@ -477,7 +477,7 @@ static const u16 sMeowthAlolanEggMoveLearnset[] = { }; #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS -static const u16 sMeowthGalarianEggMoveLearnset[] = { +static const u16 sMeowthGalarEggMoveLearnset[] = { MOVE_SPITE, MOVE_DOUBLE_EDGE, MOVE_CURSE, @@ -662,7 +662,7 @@ static const u16 sGeodudeEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; #if P_ALOLAN_FORMS -static const u16 sGeodudeAlolanEggMoveLearnset[] = { +static const u16 sGeodudeAlolaEggMoveLearnset[] = { MOVE_AUTOTOMIZE, MOVE_BLOCK, MOVE_COUNTER, @@ -695,7 +695,7 @@ static const u16 sPonytaEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS -static const u16 sPonytaGalarianEggMoveLearnset[] = { +static const u16 sPonytaGalarEggMoveLearnset[] = { MOVE_THRASH, MOVE_DOUBLE_KICK, MOVE_HYPNOSIS, @@ -723,7 +723,7 @@ static const u16 sSlowpokeEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS -static const u16 sSlowpokeGalarianEggMoveLearnset[] = { +static const u16 sSlowpokeGalarEggMoveLearnset[] = { MOVE_BELCH, MOVE_BELLY_DRUM, MOVE_BLOCK, @@ -756,7 +756,7 @@ static const u16 sFarfetchdEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS -static const u16 sFarfetchdGalarianEggMoveLearnset[] = { +static const u16 sFarfetchdGalarEggMoveLearnset[] = { MOVE_COUNTER, MOVE_QUICK_ATTACK, MOVE_FLAIL, @@ -830,7 +830,7 @@ static const u16 sGrimerEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; #if P_ALOLAN_FORMS -static const u16 sGrimerAlolanEggMoveLearnset[] = { +static const u16 sGrimerAlolaEggMoveLearnset[] = { MOVE_ASSURANCE, MOVE_CLEAR_SMOG, MOVE_CURSE, @@ -1201,7 +1201,7 @@ static const u16 sMrMimeEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS -static const u16 sMrMimeGalarianEggMoveLearnset[] = { +static const u16 sMrMimeGalarEggMoveLearnset[] = { MOVE_FAKE_OUT, MOVE_CONFUSE_RAY, MOVE_POWER_SPLIT, @@ -1302,19 +1302,19 @@ static const u16 sPinsirEggMoveLearnset[] = { #if P_FAMILY_TAUROS #if P_PALDEAN_FORMS -static const u16 sTaurosPaldeanCombatBreedEggMoveLearnset[] = { +static const u16 sTaurosPaldeaCombatEggMoveLearnset[] = { MOVE_CURSE, MOVE_ENDEAVOR, MOVE_UNAVAILABLE, }; -static const u16 sTaurosPaldeanBlazeBreedEggMoveLearnset[] = { +static const u16 sTaurosPaldeaBlazeEggMoveLearnset[] = { MOVE_CURSE, MOVE_ENDEAVOR, MOVE_UNAVAILABLE, }; -static const u16 sTaurosPaldeanAquaBreedEggMoveLearnset[] = { +static const u16 sTaurosPaldeaAquaEggMoveLearnset[] = { MOVE_CURSE, MOVE_ENDEAVOR, MOVE_UNAVAILABLE, @@ -1840,7 +1840,7 @@ static const u16 sWooperEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; #if P_PALDEAN_FORMS -static const u16 sWooperPaldeanEggMoveLearnset[] = { +static const u16 sWooperPaldeaEggMoveLearnset[] = { MOVE_ACID_SPRAY, MOVE_AFTER_YOU, MOVE_ANCIENT_POWER, @@ -2145,7 +2145,7 @@ static const u16 sCorsolaEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS -static const u16 sCorsolaGalarianEggMoveLearnset[] = { +static const u16 sCorsolaGalarEggMoveLearnset[] = { MOVE_HAZE, MOVE_CONFUSE_RAY, MOVE_NATURE_POWER, @@ -2440,7 +2440,7 @@ static const u16 sZigzagoonEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS -static const u16 sZigzagoonGalarianEggMoveLearnset[] = { +static const u16 sZigzagoonGalarEggMoveLearnset[] = { MOVE_PARTING_SHOT, MOVE_QUICK_GUARD, MOVE_KNOCK_OFF, @@ -4314,7 +4314,7 @@ static const u16 sDarumakaEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS -static const u16 sDarumakaGalarianEggMoveLearnset[] = { +static const u16 sDarumakaGalarEggMoveLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HAMMER_ARM, MOVE_TAKE_DOWN, @@ -4408,7 +4408,7 @@ static const u16 sYamaskEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS -static const u16 sYamaskGalarianEggMoveLearnset[] = { +static const u16 sYamaskGalarEggMoveLearnset[] = { MOVE_MEMENTO, MOVE_UNAVAILABLE, }; @@ -4760,7 +4760,7 @@ static const u16 sStunfiskEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS -static const u16 sStunfiskGalarianEggMoveLearnset[] = { +static const u16 sStunfiskGalarEggMoveLearnset[] = { MOVE_BIND, MOVE_YAWN, MOVE_ASTONISH, @@ -5855,7 +5855,7 @@ static const u16 sIndeedeeEggMoveLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sIndeedeeFemaleEggMoveLearnset[] = { +static const u16 sIndeedeeFEggMoveLearnset[] = { MOVE_PSYCH_UP, MOVE_FAKE_OUT, MOVE_PSYCHO_SHIFT, diff --git a/src/data/pokemon/form_change_table_pointers.h b/src/data/pokemon/form_change_table_pointers.h index 4d26837b2800..ea2cdfd2a252 100644 --- a/src/data/pokemon/form_change_table_pointers.h +++ b/src/data/pokemon/form_change_table_pointers.h @@ -24,11 +24,11 @@ const struct Fusion *const gFusionTablePointers[NUM_SPECIES] = #if P_FAMILY_CALYREX [SPECIES_CALYREX] = sCalyrexFusionTable, #if P_FAMILY_SPECTRIER - [SPECIES_CALYREX_SHADOW_RIDER] = sCalyrexFusionTable, + [SPECIES_CALYREX_SHADOW] = sCalyrexFusionTable, [SPECIES_SPECTRIER] = sCalyrexFusionTable, #endif //P_FAMILY_SPECTRIER #if P_FAMILY_GLASTRIER - [SPECIES_CALYREX_ICE_RIDER] = sCalyrexFusionTable, + [SPECIES_CALYREX_ICE] = sCalyrexFusionTable, [SPECIES_GLASTRIER] = sCalyrexFusionTable, #endif //P_FAMILY_GLASTRIER #endif //P_FAMILY_CALYREX diff --git a/src/data/pokemon/form_change_tables.h b/src/data/pokemon/form_change_tables.h index 153dde2546e6..4af68ce31825 100644 --- a/src/data/pokemon/form_change_tables.h +++ b/src/data/pokemon/form_change_tables.h @@ -4,7 +4,7 @@ static const struct FormChange sVenusaurFormChangeTable[] = { {FORM_CHANGE_BATTLE_MEGA_EVOLUTION_ITEM, SPECIES_VENUSAUR_MEGA, ITEM_VENUSAURITE}, #endif #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_VENUSAUR_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_VENUSAUR_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -17,7 +17,7 @@ static const struct FormChange sCharizardFormChangeTable[] = { {FORM_CHANGE_BATTLE_MEGA_EVOLUTION_ITEM, SPECIES_CHARIZARD_MEGA_Y, ITEM_CHARIZARDITE_Y}, #endif #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_CHARIZARD_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_CHARIZARD_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -29,7 +29,7 @@ static const struct FormChange sBlastoiseFormChangeTable[] = { {FORM_CHANGE_BATTLE_MEGA_EVOLUTION_ITEM, SPECIES_BLASTOISE_MEGA, ITEM_BLASTOISINITE}, #endif #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_BLASTOISE_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_BLASTOISE_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -39,7 +39,7 @@ static const struct FormChange sBlastoiseFormChangeTable[] = { static const struct FormChange sButterfreeFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_BUTTERFREE_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_BUTTERFREE_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -67,7 +67,7 @@ static const struct FormChange sPidgeotFormChangeTable[] = { static const struct FormChange sPikachuFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_PIKACHU_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_PIKACHU_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -77,7 +77,7 @@ static const struct FormChange sPikachuFormChangeTable[] = static const struct FormChange sMeowthFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_MEOWTH_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_MEOWTH_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -96,7 +96,7 @@ static const struct FormChange sAlakazamFormChangeTable[] = { static const struct FormChange sMachampFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_MACHAMP_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_MACHAMP_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -117,7 +117,7 @@ static const struct FormChange sGengarFormChangeTable[] = { {FORM_CHANGE_BATTLE_MEGA_EVOLUTION_ITEM, SPECIES_GENGAR_MEGA, ITEM_GENGARITE}, #endif #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_GENGAR_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_GENGAR_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -138,7 +138,7 @@ static const struct FormChange sSteelixFormChangeTable[] = { static const struct FormChange sKinglerFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_KINGLER_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_KINGLER_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -185,7 +185,7 @@ static const struct FormChange sGyaradosFormChangeTable[] = { #if P_FAMILY_LAPRAS static const struct FormChange sLaprasFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_LAPRAS_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_LAPRAS_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -194,7 +194,7 @@ static const struct FormChange sLaprasFormChangeTable[] = { #if P_FAMILY_EEVEE static const struct FormChange sEeveeFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_EEVEE_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_EEVEE_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -212,7 +212,7 @@ static const struct FormChange sAerodactylFormChangeTable[] = { #if P_FAMILY_SNORLAX static const struct FormChange sSnorlaxFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_SNORLAX_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_SNORLAX_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -517,14 +517,14 @@ static const struct FormChange sDeoxysSpeedFormChangeTable[] = { #if P_FAMILY_BURMY static const struct FormChange sBurmyFormChangeTable[] = { - {FORM_CHANGE_END_BATTLE_TERRAIN, SPECIES_BURMY_PLANT_CLOAK, BATTLE_TERRAIN_GRASS}, - {FORM_CHANGE_END_BATTLE_TERRAIN, SPECIES_BURMY_PLANT_CLOAK, BATTLE_TERRAIN_LONG_GRASS}, - {FORM_CHANGE_END_BATTLE_TERRAIN, SPECIES_BURMY_PLANT_CLOAK, BATTLE_TERRAIN_POND}, - {FORM_CHANGE_END_BATTLE_TERRAIN, SPECIES_BURMY_PLANT_CLOAK, BATTLE_TERRAIN_MOUNTAIN}, - {FORM_CHANGE_END_BATTLE_TERRAIN, SPECIES_BURMY_PLANT_CLOAK, BATTLE_TERRAIN_PLAIN}, - {FORM_CHANGE_END_BATTLE_TERRAIN, SPECIES_BURMY_SANDY_CLOAK, BATTLE_TERRAIN_CAVE}, - {FORM_CHANGE_END_BATTLE_TERRAIN, SPECIES_BURMY_SANDY_CLOAK, BATTLE_TERRAIN_SAND}, - {FORM_CHANGE_END_BATTLE_TERRAIN, SPECIES_BURMY_TRASH_CLOAK, BATTLE_TERRAIN_BUILDING}, + {FORM_CHANGE_END_BATTLE_TERRAIN, SPECIES_BURMY_PLANT, BATTLE_TERRAIN_GRASS}, + {FORM_CHANGE_END_BATTLE_TERRAIN, SPECIES_BURMY_PLANT, BATTLE_TERRAIN_LONG_GRASS}, + {FORM_CHANGE_END_BATTLE_TERRAIN, SPECIES_BURMY_PLANT, BATTLE_TERRAIN_POND}, + {FORM_CHANGE_END_BATTLE_TERRAIN, SPECIES_BURMY_PLANT, BATTLE_TERRAIN_MOUNTAIN}, + {FORM_CHANGE_END_BATTLE_TERRAIN, SPECIES_BURMY_PLANT, BATTLE_TERRAIN_PLAIN}, + {FORM_CHANGE_END_BATTLE_TERRAIN, SPECIES_BURMY_SANDY, BATTLE_TERRAIN_CAVE}, + {FORM_CHANGE_END_BATTLE_TERRAIN, SPECIES_BURMY_SANDY, BATTLE_TERRAIN_SAND}, + {FORM_CHANGE_END_BATTLE_TERRAIN, SPECIES_BURMY_TRASH, BATTLE_TERRAIN_BUILDING}, {FORM_CHANGE_TERMINATOR}, }; #endif //P_FAMILY_BURMY @@ -684,19 +684,19 @@ static const struct FormChange sAudinoFormChangeTable[] = { #if P_FAMILY_DARUMAKA static const struct FormChange sDarmanitanFormChangeTable[] = { - {FORM_CHANGE_BATTLE_HP_PERCENT, SPECIES_DARMANITAN_STANDARD_MODE, ABILITY_ZEN_MODE, HP_HIGHER_THAN, 50}, - {FORM_CHANGE_BATTLE_HP_PERCENT, SPECIES_DARMANITAN_ZEN_MODE, ABILITY_ZEN_MODE, HP_LOWER_EQ_THAN, 50}, - {FORM_CHANGE_FAINT, SPECIES_DARMANITAN_STANDARD_MODE}, - {FORM_CHANGE_END_BATTLE, SPECIES_DARMANITAN_STANDARD_MODE}, + {FORM_CHANGE_BATTLE_HP_PERCENT, SPECIES_DARMANITAN_STANDARD, ABILITY_ZEN_MODE, HP_HIGHER_THAN, 50}, + {FORM_CHANGE_BATTLE_HP_PERCENT, SPECIES_DARMANITAN_ZEN, ABILITY_ZEN_MODE, HP_LOWER_EQ_THAN, 50}, + {FORM_CHANGE_FAINT, SPECIES_DARMANITAN_STANDARD}, + {FORM_CHANGE_END_BATTLE, SPECIES_DARMANITAN_STANDARD}, {FORM_CHANGE_TERMINATOR}, }; #if P_GALARIAN_FORMS -static const struct FormChange sDarmanitanGalarianFormChangeTable[] = { - {FORM_CHANGE_BATTLE_HP_PERCENT, SPECIES_DARMANITAN_GALARIAN_STANDARD_MODE, ABILITY_ZEN_MODE, HP_HIGHER_THAN, 50}, - {FORM_CHANGE_BATTLE_HP_PERCENT, SPECIES_DARMANITAN_GALARIAN_ZEN_MODE, ABILITY_ZEN_MODE, HP_LOWER_EQ_THAN, 50}, - {FORM_CHANGE_FAINT, SPECIES_DARMANITAN_GALARIAN_STANDARD_MODE}, - {FORM_CHANGE_END_BATTLE, SPECIES_DARMANITAN_GALARIAN_STANDARD_MODE}, +static const struct FormChange sDarmanitanGalarFormChangeTable[] = { + {FORM_CHANGE_BATTLE_HP_PERCENT, SPECIES_DARMANITAN_GALAR_STANDARD, ABILITY_ZEN_MODE, HP_HIGHER_THAN, 50}, + {FORM_CHANGE_BATTLE_HP_PERCENT, SPECIES_DARMANITAN_GALAR_ZEN, ABILITY_ZEN_MODE, HP_LOWER_EQ_THAN, 50}, + {FORM_CHANGE_FAINT, SPECIES_DARMANITAN_GALAR_STANDARD}, + {FORM_CHANGE_END_BATTLE, SPECIES_DARMANITAN_GALAR_STANDARD}, {FORM_CHANGE_TERMINATOR}, }; #endif //P_GALARIAN_FORMS @@ -706,7 +706,7 @@ static const struct FormChange sDarmanitanGalarianFormChangeTable[] = { static const struct FormChange sGarbodorFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_GARBODOR_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_GARBODOR_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -763,10 +763,10 @@ static const struct FormChange sMeloettaFormChangeTable[] = { #if P_FAMILY_GENESECT static const struct FormChange sGenesectFormChangeTable[] = { {FORM_CHANGE_ITEM_HOLD, SPECIES_GENESECT, ITEM_NONE}, - {FORM_CHANGE_ITEM_HOLD, SPECIES_GENESECT_DOUSE_DRIVE, ITEM_DOUSE_DRIVE}, - {FORM_CHANGE_ITEM_HOLD, SPECIES_GENESECT_SHOCK_DRIVE, ITEM_SHOCK_DRIVE}, - {FORM_CHANGE_ITEM_HOLD, SPECIES_GENESECT_BURN_DRIVE, ITEM_BURN_DRIVE}, - {FORM_CHANGE_ITEM_HOLD, SPECIES_GENESECT_CHILL_DRIVE, ITEM_CHILL_DRIVE}, + {FORM_CHANGE_ITEM_HOLD, SPECIES_GENESECT_DOUSE, ITEM_DOUSE_DRIVE}, + {FORM_CHANGE_ITEM_HOLD, SPECIES_GENESECT_SHOCK, ITEM_SHOCK_DRIVE}, + {FORM_CHANGE_ITEM_HOLD, SPECIES_GENESECT_BURN, ITEM_BURN_DRIVE}, + {FORM_CHANGE_ITEM_HOLD, SPECIES_GENESECT_CHILL, ITEM_CHILL_DRIVE}, {FORM_CHANGE_TERMINATOR}, }; #endif //P_FAMILY_GENESECT @@ -814,14 +814,14 @@ static const struct FormChange sZygarde50AuraBreakFormChangeTable[] = { }; static const struct FormChange sZygarde10AuraBreakFormChangeTable[] = { - {FORM_CHANGE_ITEM_USE_MULTICHOICE, SPECIES_ZYGARDE_50_AURA_BREAK, ITEM_ZYGARDE_CUBE, 0}, + {FORM_CHANGE_ITEM_USE_MULTICHOICE, SPECIES_ZYGARDE_50, ITEM_ZYGARDE_CUBE, 0}, {FORM_CHANGE_ITEM_USE_MULTICHOICE, SPECIES_ZYGARDE_10_POWER_CONSTRUCT, ITEM_ZYGARDE_CUBE, 1}, {FORM_CHANGE_TERMINATOR}, }; static const struct FormChange sZygarde50PowerConstructFormChangeTable[] = { {FORM_CHANGE_ITEM_USE_MULTICHOICE, SPECIES_ZYGARDE_10_POWER_CONSTRUCT, ITEM_ZYGARDE_CUBE, 0}, - {FORM_CHANGE_ITEM_USE_MULTICHOICE, SPECIES_ZYGARDE_50_AURA_BREAK, ITEM_ZYGARDE_CUBE, 1}, + {FORM_CHANGE_ITEM_USE_MULTICHOICE, SPECIES_ZYGARDE_50, ITEM_ZYGARDE_CUBE, 1}, {FORM_CHANGE_BATTLE_HP_PERCENT, SPECIES_ZYGARDE_COMPLETE, ABILITY_POWER_CONSTRUCT, HP_LOWER_EQ_THAN, 50}, {FORM_CHANGE_TERMINATOR}, }; @@ -1001,7 +1001,7 @@ static const struct FormChange sNecrozmaDawnWingsFormChangeTable[] = { static const struct FormChange sMelmetalFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_MELMETAL_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_MELMETAL_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1011,7 +1011,7 @@ static const struct FormChange sMelmetalFormChangeTable[] = static const struct FormChange sRillaboomFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_RILLABOOM_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_RILLABOOM_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1021,7 +1021,7 @@ static const struct FormChange sRillaboomFormChangeTable[] = static const struct FormChange sCinderaceFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_CINDERACE_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_CINDERACE_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1031,7 +1031,7 @@ static const struct FormChange sCinderaceFormChangeTable[] = static const struct FormChange sInteleonFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_INTELEON_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_INTELEON_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1041,7 +1041,7 @@ static const struct FormChange sInteleonFormChangeTable[] = static const struct FormChange sCorviknightFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_CORVIKNIGHT_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_CORVIKNIGHT_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1051,7 +1051,7 @@ static const struct FormChange sCorviknightFormChangeTable[] = static const struct FormChange sOrbeetleFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_ORBEETLE_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_ORBEETLE_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1061,7 +1061,7 @@ static const struct FormChange sOrbeetleFormChangeTable[] = static const struct FormChange sDrednawFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_DREDNAW_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_DREDNAW_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1071,7 +1071,7 @@ static const struct FormChange sDrednawFormChangeTable[] = static const struct FormChange sCoalossalFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_COALOSSAL_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_COALOSSAL_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1081,7 +1081,7 @@ static const struct FormChange sCoalossalFormChangeTable[] = static const struct FormChange sFlappleFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_FLAPPLE_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_FLAPPLE_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1089,7 +1089,7 @@ static const struct FormChange sFlappleFormChangeTable[] = static const struct FormChange sAppletunFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_APPLETUN_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_APPLETUN_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1099,7 +1099,7 @@ static const struct FormChange sAppletunFormChangeTable[] = static const struct FormChange sSandacondaFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_SANDACONDA_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_SANDACONDA_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1121,7 +1121,7 @@ static const struct FormChange sCramorantFormChangeTable[] = { static const struct FormChange sToxtricityAmpedFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_TOXTRICITY_AMPED_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_TOXTRICITY_AMPED_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1129,7 +1129,7 @@ static const struct FormChange sToxtricityAmpedFormChangeTable[] = static const struct FormChange sToxtricityLowKeyFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_TOXTRICITY_LOW_KEY_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1139,7 +1139,7 @@ static const struct FormChange sToxtricityLowKeyFormChangeTable[] = static const struct FormChange sCentiskorchFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_CENTISKORCH_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_CENTISKORCH_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1149,7 +1149,7 @@ static const struct FormChange sCentiskorchFormChangeTable[] = static const struct FormChange sHattereneFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_HATTERENE_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_HATTERENE_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1159,7 +1159,7 @@ static const struct FormChange sHattereneFormChangeTable[] = static const struct FormChange sGrimmsnarlFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_GRIMMSNARL_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_GRIMMSNARL_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1169,7 +1169,7 @@ static const struct FormChange sGrimmsnarlFormChangeTable[] = static const struct FormChange sAlcremieFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_ALCREMIE_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_ALCREMIE_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1177,8 +1177,8 @@ static const struct FormChange sAlcremieFormChangeTable[] = #if P_FAMILY_EISCUE static const struct FormChange sEiscueFormChangeTable[] = { - {FORM_CHANGE_FAINT, SPECIES_EISCUE_ICE_FACE}, - {FORM_CHANGE_END_BATTLE, SPECIES_EISCUE_ICE_FACE}, + {FORM_CHANGE_FAINT, SPECIES_EISCUE_ICE}, + {FORM_CHANGE_END_BATTLE, SPECIES_EISCUE_ICE}, {FORM_CHANGE_TERMINATOR}, }; #endif //P_FAMILY_EISCUE @@ -1197,7 +1197,7 @@ static const struct FormChange sMorpekoFormChangeTable[] = { #if P_FAMILY_CUFANT static const struct FormChange sCopperajahFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_COPPERAJAH_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_COPPERAJAH_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1206,7 +1206,7 @@ static const struct FormChange sCopperajahFormChangeTable[] = { #if P_FAMILY_DURALUDON static const struct FormChange sDuraludonFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_DURALUDON_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_DURALUDON_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1214,16 +1214,16 @@ static const struct FormChange sDuraludonFormChangeTable[] = { #if P_FAMILY_ZACIAN static const struct FormChange sZacianFormChangeTable[] = { - {FORM_CHANGE_BEGIN_BATTLE, SPECIES_ZACIAN_CROWNED_SWORD, ITEM_RUSTED_SWORD, MOVE_IRON_HEAD, MOVE_BEHEMOTH_BLADE}, - {FORM_CHANGE_END_BATTLE, SPECIES_ZACIAN_HERO_OF_MANY_BATTLES, ITEM_RUSTED_SWORD, MOVE_BEHEMOTH_BLADE, MOVE_IRON_HEAD}, + {FORM_CHANGE_BEGIN_BATTLE, SPECIES_ZACIAN_CROWNED, ITEM_RUSTED_SWORD, MOVE_IRON_HEAD, MOVE_BEHEMOTH_BLADE}, + {FORM_CHANGE_END_BATTLE, SPECIES_ZACIAN_HERO, ITEM_RUSTED_SWORD, MOVE_BEHEMOTH_BLADE, MOVE_IRON_HEAD}, {FORM_CHANGE_TERMINATOR}, }; #endif //P_FAMILY_ZACIAN #if P_FAMILY_ZAMAZENTA static const struct FormChange sZamazentaFormChangeTable[] = { - {FORM_CHANGE_BEGIN_BATTLE, SPECIES_ZAMAZENTA_CROWNED_SHIELD, ITEM_RUSTED_SHIELD, MOVE_IRON_HEAD, MOVE_BEHEMOTH_BASH}, - {FORM_CHANGE_END_BATTLE, SPECIES_ZAMAZENTA_HERO_OF_MANY_BATTLES, ITEM_RUSTED_SHIELD, MOVE_BEHEMOTH_BASH, MOVE_IRON_HEAD}, + {FORM_CHANGE_BEGIN_BATTLE, SPECIES_ZAMAZENTA_CROWNED, ITEM_RUSTED_SHIELD, MOVE_IRON_HEAD, MOVE_BEHEMOTH_BASH}, + {FORM_CHANGE_END_BATTLE, SPECIES_ZAMAZENTA_HERO, ITEM_RUSTED_SHIELD, MOVE_BEHEMOTH_BASH, MOVE_IRON_HEAD}, {FORM_CHANGE_TERMINATOR}, }; #endif //P_FAMILY_ZAMAZENTA @@ -1231,14 +1231,14 @@ static const struct FormChange sZamazentaFormChangeTable[] = { #if P_FAMILY_KUBFU static const struct FormChange sUrshifuSingleStrikeFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_URSHIFU_SINGLE_STRIKE_STYLE_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_URSHIFU_SINGLE_STRIKE_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; static const struct FormChange sUrshifuRapidStrikeFormChangeTable[] = { #if P_GIGANTAMAX_FORMS - {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_URSHIFU_RAPID_STRIKE_STYLE_GIGANTAMAX}, + {FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_URSHIFU_RAPID_STRIKE_GMAX}, #endif {FORM_CHANGE_TERMINATOR}, }; @@ -1246,8 +1246,8 @@ static const struct FormChange sUrshifuRapidStrikeFormChangeTable[] = { #if P_FAMILY_CALYREX static const struct Fusion sCalyrexFusionTable[] = { - {3, ITEM_REINS_OF_UNITY, SPECIES_CALYREX, SPECIES_GLASTRIER, SPECIES_CALYREX_ICE_RIDER, MOVE_GLACIAL_LANCE, MOVE_CONFUSION}, - {3, ITEM_REINS_OF_UNITY, SPECIES_CALYREX, SPECIES_SPECTRIER, SPECIES_CALYREX_SHADOW_RIDER, MOVE_ASTRAL_BARRAGE, MOVE_CONFUSION}, + {3, ITEM_REINS_OF_UNITY, SPECIES_CALYREX, SPECIES_GLASTRIER, SPECIES_CALYREX_ICE, MOVE_GLACIAL_LANCE, MOVE_CONFUSION}, + {3, ITEM_REINS_OF_UNITY, SPECIES_CALYREX, SPECIES_SPECTRIER, SPECIES_CALYREX_SHADOW, MOVE_ASTRAL_BARRAGE, MOVE_CONFUSION}, {FUSION_TERMINATOR}, }; #endif //P_FAMILY_CALYREX @@ -1270,15 +1270,15 @@ static const struct FormChange sPalafinZeroFormChangeTable[] = #if P_FAMILY_OGERPON static const struct FormChange sOgerponFormChangeTable[] = { - {FORM_CHANGE_ITEM_HOLD, SPECIES_OGERPON_TEAL_MASK, ITEM_NONE}, - {FORM_CHANGE_ITEM_HOLD, SPECIES_OGERPON_WELLSPRING_MASK, ITEM_WELLSPRING_MASK}, - {FORM_CHANGE_ITEM_HOLD, SPECIES_OGERPON_HEARTHFLAME_MASK, ITEM_HEARTHFLAME_MASK}, - {FORM_CHANGE_ITEM_HOLD, SPECIES_OGERPON_CORNERSTONE_MASK, ITEM_CORNERSTONE_MASK}, + {FORM_CHANGE_ITEM_HOLD, SPECIES_OGERPON_TEAL, ITEM_NONE}, + {FORM_CHANGE_ITEM_HOLD, SPECIES_OGERPON_WELLSPRING, ITEM_WELLSPRING_MASK}, + {FORM_CHANGE_ITEM_HOLD, SPECIES_OGERPON_HEARTHFLAME, ITEM_HEARTHFLAME_MASK}, + {FORM_CHANGE_ITEM_HOLD, SPECIES_OGERPON_CORNERSTONE, ITEM_CORNERSTONE_MASK}, #if P_TERA_FORMS - {FORM_CHANGE_BATTLE_TERASTALLIZATION, SPECIES_OGERPON_TEAL_MASK_TERA, TYPE_GRASS}, - {FORM_CHANGE_BATTLE_TERASTALLIZATION, SPECIES_OGERPON_WELLSPRING_MASK_TERA, TYPE_WATER}, - {FORM_CHANGE_BATTLE_TERASTALLIZATION, SPECIES_OGERPON_HEARTHFLAME_MASK_TERA, TYPE_FIRE}, - {FORM_CHANGE_BATTLE_TERASTALLIZATION, SPECIES_OGERPON_CORNERSTONE_MASK_TERA, TYPE_ROCK}, + {FORM_CHANGE_BATTLE_TERASTALLIZATION, SPECIES_OGERPON_TEAL_TERA, TYPE_GRASS}, + {FORM_CHANGE_BATTLE_TERASTALLIZATION, SPECIES_OGERPON_WELLSPRING_TERA, TYPE_WATER}, + {FORM_CHANGE_BATTLE_TERASTALLIZATION, SPECIES_OGERPON_HEARTHFLAME_TERA, TYPE_FIRE}, + {FORM_CHANGE_BATTLE_TERASTALLIZATION, SPECIES_OGERPON_CORNERSTONE_TERA, TYPE_ROCK}, #endif {FORM_CHANGE_TERMINATOR}, }; diff --git a/src/data/pokemon/form_species_tables.h b/src/data/pokemon/form_species_tables.h index f099f8665fd0..f2c456021651 100644 --- a/src/data/pokemon/form_species_tables.h +++ b/src/data/pokemon/form_species_tables.h @@ -5,7 +5,7 @@ static const u16 sVenusaurFormSpeciesIdTable[] = { SPECIES_VENUSAUR_MEGA, #endif #if P_GIGANTAMAX_FORMS - SPECIES_VENUSAUR_GIGANTAMAX, + SPECIES_VENUSAUR_GMAX, #endif FORM_SPECIES_END, }; @@ -19,7 +19,7 @@ static const u16 sCharizardFormSpeciesIdTable[] = { SPECIES_CHARIZARD_MEGA_Y, #endif #if P_GIGANTAMAX_FORMS - SPECIES_CHARIZARD_GIGANTAMAX, + SPECIES_CHARIZARD_GMAX, #endif FORM_SPECIES_END, }; @@ -32,7 +32,7 @@ static const u16 sBlastoiseFormSpeciesIdTable[] = { SPECIES_BLASTOISE_MEGA, #endif #if P_GIGANTAMAX_FORMS - SPECIES_BLASTOISE_GIGANTAMAX, + SPECIES_BLASTOISE_GMAX, #endif FORM_SPECIES_END, }; @@ -42,7 +42,7 @@ static const u16 sBlastoiseFormSpeciesIdTable[] = { static const u16 sButterfreeFormSpeciesIdTable[] = { SPECIES_BUTTERFREE, #if P_GIGANTAMAX_FORMS - SPECIES_BUTTERFREE_GIGANTAMAX, + SPECIES_BUTTERFREE_GMAX, #endif FORM_SPECIES_END, }; @@ -72,7 +72,7 @@ static const u16 sPidgeotFormSpeciesIdTable[] = { static const u16 sRattataFormSpeciesIdTable[] = { SPECIES_RATTATA, #if P_ALOLAN_FORMS - SPECIES_RATTATA_ALOLAN, + SPECIES_RATTATA_ALOLA, #endif FORM_SPECIES_END, }; @@ -80,8 +80,8 @@ static const u16 sRattataFormSpeciesIdTable[] = { static const u16 sRaticateFormSpeciesIdTable[] = { SPECIES_RATICATE, #if P_ALOLAN_FORMS - SPECIES_RATICATE_ALOLAN, - SPECIES_RATICATE_ALOLAN_TOTEM, + SPECIES_RATICATE_ALOLA, + SPECIES_RATICATE_ALOLA_TOTEM, #endif FORM_SPECIES_END, }; @@ -103,30 +103,30 @@ static const u16 sPikachuFormSpeciesIdTable[] = { SPECIES_PIKACHU_ROCK_STAR, SPECIES_PIKACHU_BELLE, SPECIES_PIKACHU_POP_STAR, - SPECIES_PIKACHU_PH_D, + SPECIES_PIKACHU_PHD, SPECIES_PIKACHU_LIBRE, #endif #if P_CAP_PIKACHU_FORMS - SPECIES_PIKACHU_ORIGINAL_CAP, - SPECIES_PIKACHU_HOENN_CAP, - SPECIES_PIKACHU_SINNOH_CAP, - SPECIES_PIKACHU_UNOVA_CAP, - SPECIES_PIKACHU_KALOS_CAP, - SPECIES_PIKACHU_ALOLA_CAP, - SPECIES_PIKACHU_PARTNER_CAP, - SPECIES_PIKACHU_WORLD_CAP, + SPECIES_PIKACHU_ORIGINAL, + SPECIES_PIKACHU_HOENN, + SPECIES_PIKACHU_SINNOH, + SPECIES_PIKACHU_UNOVA, + SPECIES_PIKACHU_KALOS, + SPECIES_PIKACHU_ALOLA, + SPECIES_PIKACHU_PARTNER, + SPECIES_PIKACHU_WORLD, #endif #if P_GIGANTAMAX_FORMS - SPECIES_PIKACHU_GIGANTAMAX, + SPECIES_PIKACHU_GMAX, #endif - SPECIES_PIKACHU_PARTNER, + SPECIES_PIKACHU_STARTER, FORM_SPECIES_END, }; static const u16 sRaichuFormSpeciesIdTable[] = { SPECIES_RAICHU, #if P_ALOLAN_FORMS - SPECIES_RAICHU_ALOLAN, + SPECIES_RAICHU_ALOLA, #endif FORM_SPECIES_END, }; @@ -136,7 +136,7 @@ static const u16 sRaichuFormSpeciesIdTable[] = { static const u16 sSandshrewFormSpeciesIdTable[] = { SPECIES_SANDSHREW, #if P_ALOLAN_FORMS - SPECIES_SANDSHREW_ALOLAN, + SPECIES_SANDSHREW_ALOLA, #endif FORM_SPECIES_END, }; @@ -144,7 +144,7 @@ static const u16 sSandshrewFormSpeciesIdTable[] = { static const u16 sSandslashFormSpeciesIdTable[] = { SPECIES_SANDSLASH, #if P_ALOLAN_FORMS - SPECIES_SANDSLASH_ALOLAN, + SPECIES_SANDSLASH_ALOLA, #endif FORM_SPECIES_END, }; @@ -154,7 +154,7 @@ static const u16 sSandslashFormSpeciesIdTable[] = { static const u16 sVulpixFormSpeciesIdTable[] = { SPECIES_VULPIX, #if P_ALOLAN_FORMS - SPECIES_VULPIX_ALOLAN, + SPECIES_VULPIX_ALOLA, #endif FORM_SPECIES_END, }; @@ -162,7 +162,7 @@ static const u16 sVulpixFormSpeciesIdTable[] = { static const u16 sNinetalesFormSpeciesIdTable[] = { SPECIES_NINETALES, #if P_ALOLAN_FORMS - SPECIES_NINETALES_ALOLAN, + SPECIES_NINETALES_ALOLA, #endif FORM_SPECIES_END, }; @@ -172,7 +172,7 @@ static const u16 sNinetalesFormSpeciesIdTable[] = { static const u16 sDiglettFormSpeciesIdTable[] = { SPECIES_DIGLETT, #if P_ALOLAN_FORMS - SPECIES_DIGLETT_ALOLAN, + SPECIES_DIGLETT_ALOLA, #endif FORM_SPECIES_END, }; @@ -180,7 +180,7 @@ static const u16 sDiglettFormSpeciesIdTable[] = { static const u16 sDugtrioFormSpeciesIdTable[] = { SPECIES_DUGTRIO, #if P_ALOLAN_FORMS - SPECIES_DUGTRIO_ALOLAN, + SPECIES_DUGTRIO_ALOLA, #endif FORM_SPECIES_END, }; @@ -190,13 +190,13 @@ static const u16 sDugtrioFormSpeciesIdTable[] = { static const u16 sMeowthFormSpeciesIdTable[] = { SPECIES_MEOWTH, #if P_ALOLAN_FORMS - SPECIES_MEOWTH_ALOLAN, + SPECIES_MEOWTH_ALOLA, #endif #if P_GALARIAN_FORMS - SPECIES_MEOWTH_GALARIAN, + SPECIES_MEOWTH_GALAR, #endif #if P_GIGANTAMAX_FORMS - SPECIES_MEOWTH_GIGANTAMAX, + SPECIES_MEOWTH_GMAX, #endif FORM_SPECIES_END, }; @@ -204,7 +204,7 @@ static const u16 sMeowthFormSpeciesIdTable[] = { static const u16 sPersianFormSpeciesIdTable[] = { SPECIES_PERSIAN, #if P_ALOLAN_FORMS - SPECIES_PERSIAN_ALOLAN, + SPECIES_PERSIAN_ALOLA, #endif FORM_SPECIES_END, }; @@ -214,7 +214,7 @@ static const u16 sPersianFormSpeciesIdTable[] = { static const u16 sGrowlitheFormSpeciesIdTable[] = { SPECIES_GROWLITHE, #if P_HISUIAN_FORMS - SPECIES_GROWLITHE_HISUIAN, + SPECIES_GROWLITHE_HISUI, #endif FORM_SPECIES_END, }; @@ -222,7 +222,7 @@ static const u16 sGrowlitheFormSpeciesIdTable[] = { static const u16 sArcanineFormSpeciesIdTable[] = { SPECIES_ARCANINE, #if P_HISUIAN_FORMS - SPECIES_ARCANINE_HISUIAN, + SPECIES_ARCANINE_HISUI, #endif FORM_SPECIES_END, }; @@ -242,7 +242,7 @@ static const u16 sAlakazamFormSpeciesIdTable[] = { static const u16 sMachampFormSpeciesIdTable[] = { SPECIES_MACHAMP, #if P_GIGANTAMAX_FORMS - SPECIES_MACHAMP_GIGANTAMAX, + SPECIES_MACHAMP_GMAX, #endif FORM_SPECIES_END, }; @@ -252,7 +252,7 @@ static const u16 sMachampFormSpeciesIdTable[] = { static const u16 sGeodudeFormSpeciesIdTable[] = { SPECIES_GEODUDE, #if P_ALOLAN_FORMS - SPECIES_GEODUDE_ALOLAN, + SPECIES_GEODUDE_ALOLA, #endif FORM_SPECIES_END, }; @@ -260,7 +260,7 @@ static const u16 sGeodudeFormSpeciesIdTable[] = { static const u16 sGravelerFormSpeciesIdTable[] = { SPECIES_GRAVELER, #if P_ALOLAN_FORMS - SPECIES_GRAVELER_ALOLAN, + SPECIES_GRAVELER_ALOLA, #endif FORM_SPECIES_END, }; @@ -268,7 +268,7 @@ static const u16 sGravelerFormSpeciesIdTable[] = { static const u16 sGolemFormSpeciesIdTable[] = { SPECIES_GOLEM, #if P_ALOLAN_FORMS - SPECIES_GOLEM_ALOLAN, + SPECIES_GOLEM_ALOLA, #endif FORM_SPECIES_END, }; @@ -278,7 +278,7 @@ static const u16 sGolemFormSpeciesIdTable[] = { static const u16 sPonytaFormSpeciesIdTable[] = { SPECIES_PONYTA, #if P_GALARIAN_FORMS - SPECIES_PONYTA_GALARIAN, + SPECIES_PONYTA_GALAR, #endif FORM_SPECIES_END, }; @@ -286,7 +286,7 @@ static const u16 sPonytaFormSpeciesIdTable[] = { static const u16 sRapidashFormSpeciesIdTable[] = { SPECIES_RAPIDASH, #if P_GALARIAN_FORMS - SPECIES_RAPIDASH_GALARIAN, + SPECIES_RAPIDASH_GALAR, #endif FORM_SPECIES_END, }; @@ -296,7 +296,7 @@ static const u16 sRapidashFormSpeciesIdTable[] = { static const u16 sSlowpokeFormSpeciesIdTable[] = { SPECIES_SLOWPOKE, #if P_GALARIAN_FORMS - SPECIES_SLOWPOKE_GALARIAN, + SPECIES_SLOWPOKE_GALAR, #endif FORM_SPECIES_END, }; @@ -307,7 +307,7 @@ static const u16 sSlowbroFormSpeciesIdTable[] = { SPECIES_SLOWBRO_MEGA, #endif #if P_GALARIAN_FORMS - SPECIES_SLOWBRO_GALARIAN, + SPECIES_SLOWBRO_GALAR, #endif FORM_SPECIES_END, }; @@ -316,7 +316,7 @@ static const u16 sSlowbroFormSpeciesIdTable[] = { static const u16 sSlowkingFormSpeciesIdTable[] = { SPECIES_SLOWKING, #if P_GALARIAN_FORMS - SPECIES_SLOWKING_GALARIAN, + SPECIES_SLOWKING_GALAR, #endif FORM_SPECIES_END, }; @@ -327,7 +327,7 @@ static const u16 sSlowkingFormSpeciesIdTable[] = { static const u16 sFarfetchdFormSpeciesIdTable[] = { SPECIES_FARFETCHD, #if P_GALARIAN_FORMS - SPECIES_FARFETCHD_GALARIAN, + SPECIES_FARFETCHD_GALAR, #endif FORM_SPECIES_END, }; @@ -337,7 +337,7 @@ static const u16 sFarfetchdFormSpeciesIdTable[] = { static const u16 sGrimerFormSpeciesIdTable[] = { SPECIES_GRIMER, #if P_ALOLAN_FORMS - SPECIES_GRIMER_ALOLAN, + SPECIES_GRIMER_ALOLA, #endif FORM_SPECIES_END, }; @@ -345,7 +345,7 @@ static const u16 sGrimerFormSpeciesIdTable[] = { static const u16 sMukFormSpeciesIdTable[] = { SPECIES_MUK, #if P_ALOLAN_FORMS - SPECIES_MUK_ALOLAN, + SPECIES_MUK_ALOLA, #endif FORM_SPECIES_END, }; @@ -358,7 +358,7 @@ static const u16 sGengarFormSpeciesIdTable[] = { SPECIES_GENGAR_MEGA, #endif #if P_GIGANTAMAX_FORMS - SPECIES_GENGAR_GIGANTAMAX, + SPECIES_GENGAR_GMAX, #endif FORM_SPECIES_END, }; @@ -380,7 +380,7 @@ static const u16 sSteelixFormSpeciesIdTable[] = { static const u16 sKinglerFormSpeciesIdTable[] = { SPECIES_KINGLER, #if P_GIGANTAMAX_FORMS - SPECIES_KINGLER_GIGANTAMAX, + SPECIES_KINGLER_GMAX, #endif FORM_SPECIES_END, }; @@ -390,7 +390,7 @@ static const u16 sKinglerFormSpeciesIdTable[] = { static const u16 sVoltorbFormSpeciesIdTable[] = { SPECIES_VOLTORB, #if P_HISUIAN_FORMS - SPECIES_VOLTORB_HISUIAN, + SPECIES_VOLTORB_HISUI, #endif FORM_SPECIES_END, }; @@ -398,7 +398,7 @@ static const u16 sVoltorbFormSpeciesIdTable[] = { static const u16 sElectrodeFormSpeciesIdTable[] = { SPECIES_ELECTRODE, #if P_HISUIAN_FORMS - SPECIES_ELECTRODE_HISUIAN, + SPECIES_ELECTRODE_HISUI, #endif FORM_SPECIES_END, }; @@ -408,7 +408,7 @@ static const u16 sElectrodeFormSpeciesIdTable[] = { static const u16 sExeggutorFormSpeciesIdTable[] = { SPECIES_EXEGGUTOR, #if P_ALOLAN_FORMS - SPECIES_EXEGGUTOR_ALOLAN, + SPECIES_EXEGGUTOR_ALOLA, #endif FORM_SPECIES_END, }; @@ -418,8 +418,8 @@ static const u16 sExeggutorFormSpeciesIdTable[] = { static const u16 sMarowakFormSpeciesIdTable[] = { SPECIES_MAROWAK, #if P_ALOLAN_FORMS - SPECIES_MAROWAK_ALOLAN, - SPECIES_MAROWAK_ALOLAN_TOTEM, + SPECIES_MAROWAK_ALOLA, + SPECIES_MAROWAK_ALOLA_TOTEM, #endif FORM_SPECIES_END, }; @@ -429,7 +429,7 @@ static const u16 sMarowakFormSpeciesIdTable[] = { static const u16 sWeezingFormSpeciesIdTable[] = { SPECIES_WEEZING, #if P_GALARIAN_FORMS - SPECIES_WEEZING_GALARIAN, + SPECIES_WEEZING_GALAR, #endif FORM_SPECIES_END, }; @@ -449,7 +449,7 @@ static const u16 sKangaskhanFormSpeciesIdTable[] = { static const u16 sMrMimeFormSpeciesIdTable[] = { SPECIES_MR_MIME, #if P_GALARIAN_FORMS - SPECIES_MR_MIME_GALARIAN, + SPECIES_MR_MIME_GALAR, #endif FORM_SPECIES_END, }; @@ -481,9 +481,9 @@ static const u16 sPinsirFormSpeciesIdTable[] = { static const u16 sTaurosFormSpeciesIdTable[] = { SPECIES_TAUROS, #if P_PALDEAN_FORMS - SPECIES_TAUROS_PALDEAN_COMBAT_BREED, - SPECIES_TAUROS_PALDEAN_BLAZE_BREED, - SPECIES_TAUROS_PALDEAN_AQUA_BREED, + SPECIES_TAUROS_PALDEA_COMBAT, + SPECIES_TAUROS_PALDEA_BLAZE, + SPECIES_TAUROS_PALDEA_AQUA, #endif FORM_SPECIES_END, }; @@ -503,7 +503,7 @@ static const u16 sGyaradosFormSpeciesIdTable[] = { static const u16 sLaprasFormSpeciesIdTable[] = { SPECIES_LAPRAS, #if P_GIGANTAMAX_FORMS - SPECIES_LAPRAS_GIGANTAMAX, + SPECIES_LAPRAS_GMAX, #endif FORM_SPECIES_END, }; @@ -513,9 +513,9 @@ static const u16 sLaprasFormSpeciesIdTable[] = { static const u16 sEeveeFormSpeciesIdTable[] = { SPECIES_EEVEE, #if P_GIGANTAMAX_FORMS - SPECIES_EEVEE_GIGANTAMAX, + SPECIES_EEVEE_GMAX, #endif - SPECIES_EEVEE_PARTNER, + SPECIES_EEVEE_STARTER, FORM_SPECIES_END, }; #endif //P_FAMILY_EEVEE @@ -534,7 +534,7 @@ static const u16 sAerodactylFormSpeciesIdTable[] = { static const u16 sSnorlaxFormSpeciesIdTable[] = { SPECIES_SNORLAX, #if P_GIGANTAMAX_FORMS - SPECIES_SNORLAX_GIGANTAMAX, + SPECIES_SNORLAX_GMAX, #endif FORM_SPECIES_END, }; @@ -544,7 +544,7 @@ static const u16 sSnorlaxFormSpeciesIdTable[] = { static const u16 sArticunoFormSpeciesIdTable[] = { SPECIES_ARTICUNO, #if P_GALARIAN_FORMS - SPECIES_ARTICUNO_GALARIAN, + SPECIES_ARTICUNO_GALAR, #endif FORM_SPECIES_END, }; @@ -554,7 +554,7 @@ static const u16 sArticunoFormSpeciesIdTable[] = { static const u16 sZapdosFormSpeciesIdTable[] = { SPECIES_ZAPDOS, #if P_GALARIAN_FORMS - SPECIES_ZAPDOS_GALARIAN, + SPECIES_ZAPDOS_GALAR, #endif FORM_SPECIES_END, }; @@ -564,7 +564,7 @@ static const u16 sZapdosFormSpeciesIdTable[] = { static const u16 sMoltresFormSpeciesIdTable[] = { SPECIES_MOLTRES, #if P_GALARIAN_FORMS - SPECIES_MOLTRES_GALARIAN, + SPECIES_MOLTRES_GALAR, #endif FORM_SPECIES_END, }; @@ -585,7 +585,7 @@ static const u16 sMewtwoFormSpeciesIdTable[] = { static const u16 sTyphlosionFormSpeciesIdTable[] = { SPECIES_TYPHLOSION, #if P_HISUIAN_FORMS - SPECIES_TYPHLOSION_HISUIAN, + SPECIES_TYPHLOSION_HISUI, #endif FORM_SPECIES_END, }; @@ -605,7 +605,7 @@ static const u16 sAmpharosFormSpeciesIdTable[] = { static const u16 sWooperFormSpeciesIdTable[] = { SPECIES_WOOPER, #if P_PALDEAN_FORMS - SPECIES_WOOPER_PALDEAN, + SPECIES_WOOPER_PALDEA, #endif FORM_SPECIES_END, }; @@ -639,8 +639,8 @@ static const u16 sUnownFormSpeciesIdTable[] = { SPECIES_UNOWN_X, SPECIES_UNOWN_Y, SPECIES_UNOWN_Z, - SPECIES_UNOWN_EMARK, - SPECIES_UNOWN_QMARK, + SPECIES_UNOWN_EXCLAMATION, + SPECIES_UNOWN_QUESTION, FORM_SPECIES_END, }; #endif //P_FAMILY_UNOWN @@ -657,7 +657,7 @@ static const u16 sDudunsparceFormSpeciesIdTable[] = { static const u16 sQwilfishFormSpeciesIdTable[] = { SPECIES_QWILFISH, #if P_HISUIAN_FORMS - SPECIES_QWILFISH_HISUIAN, + SPECIES_QWILFISH_HISUI, #endif FORM_SPECIES_END, }; @@ -677,7 +677,7 @@ static const u16 sHeracrossFormSpeciesIdTable[] = { static const u16 sSneaselFormSpeciesIdTable[] = { SPECIES_SNEASEL, #if P_HISUIAN_FORMS - SPECIES_SNEASEL_HISUIAN, + SPECIES_SNEASEL_HISUI, #endif FORM_SPECIES_END, }; @@ -695,7 +695,7 @@ static const u16 sUrsalunaFormSpeciesIdTable[] = { static const u16 sCorsolaFormSpeciesIdTable[] = { SPECIES_CORSOLA, #if P_GALARIAN_FORMS - SPECIES_CORSOLA_GALARIAN, + SPECIES_CORSOLA_GALAR, #endif FORM_SPECIES_END, }; @@ -755,7 +755,7 @@ static const u16 sSwampertFormSpeciesIdTable[] = { static const u16 sZigzagoonFormSpeciesIdTable[] = { SPECIES_ZIGZAGOON, #if P_GALARIAN_FORMS - SPECIES_ZIGZAGOON_GALARIAN, + SPECIES_ZIGZAGOON_GALAR, #endif FORM_SPECIES_END, }; @@ -763,7 +763,7 @@ static const u16 sZigzagoonFormSpeciesIdTable[] = { static const u16 sLinooneFormSpeciesIdTable[] = { SPECIES_LINOONE, #if P_GALARIAN_FORMS - SPECIES_LINOONE_GALARIAN, + SPECIES_LINOONE_GALAR, #endif FORM_SPECIES_END, }; @@ -991,23 +991,23 @@ static const u16 sDeoxysFormSpeciesIdTable[] = { #if P_FAMILY_BURMY static const u16 sBurmyFormSpeciesIdTable[] = { - SPECIES_BURMY_PLANT_CLOAK, - SPECIES_BURMY_SANDY_CLOAK, - SPECIES_BURMY_TRASH_CLOAK, + SPECIES_BURMY_PLANT, + SPECIES_BURMY_SANDY, + SPECIES_BURMY_TRASH, FORM_SPECIES_END, }; static const u16 sWormadamFormSpeciesIdTable[] = { - SPECIES_WORMADAM_PLANT_CLOAK, - SPECIES_WORMADAM_SANDY_CLOAK, - SPECIES_WORMADAM_TRASH_CLOAK, + SPECIES_WORMADAM_PLANT, + SPECIES_WORMADAM_SANDY, + SPECIES_WORMADAM_TRASH, FORM_SPECIES_END, }; static const u16 sMothimFormSpeciesIdTable[] = { - SPECIES_MOTHIM_PLANT_CLOAK, - SPECIES_MOTHIM_SANDY_CLOAK, - SPECIES_MOTHIM_TRASH_CLOAK, + SPECIES_MOTHIM_PLANT, + SPECIES_MOTHIM_SANDY, + SPECIES_MOTHIM_TRASH, FORM_SPECIES_END, }; #endif //P_FAMILY_BURMY @@ -1022,14 +1022,14 @@ static const u16 sCherrimFormSpeciesIdTable[] = { #if P_FAMILY_SHELLOS static const u16 sShellosFormSpeciesIdTable[] = { - SPECIES_SHELLOS_WEST_SEA, - SPECIES_SHELLOS_EAST_SEA, + SPECIES_SHELLOS_WEST, + SPECIES_SHELLOS_EAST, FORM_SPECIES_END, }; static const u16 sGastrodonFormSpeciesIdTable[] = { - SPECIES_GASTRODON_WEST_SEA, - SPECIES_GASTRODON_EAST_SEA, + SPECIES_GASTRODON_WEST, + SPECIES_GASTRODON_EAST, FORM_SPECIES_END, }; #endif //P_FAMILY_SHELLOS @@ -1146,7 +1146,7 @@ static const u16 sArceusFormSpeciesIdTable[] = { static const u16 sSamurottFormSpeciesIdTable[] = { SPECIES_SAMUROTT, #if P_HISUIAN_FORMS - SPECIES_SAMUROTT_HISUIAN, + SPECIES_SAMUROTT_HISUI, #endif FORM_SPECIES_END, }; @@ -1166,7 +1166,7 @@ static const u16 sAudinoFormSpeciesIdTable[] = { static const u16 sLilligantFormSpeciesIdTable[] = { SPECIES_LILLIGANT, #if P_HISUIAN_FORMS - SPECIES_LILLIGANT_HISUIAN, + SPECIES_LILLIGANT_HISUI, #endif FORM_SPECIES_END, }; @@ -1181,8 +1181,8 @@ static const u16 sBasculinFormSpeciesIdTable[] = { }; static const u16 sBasculegionFormSpeciesIdTable[] = { - SPECIES_BASCULEGION_MALE, - SPECIES_BASCULEGION_FEMALE, + SPECIES_BASCULEGION_M, + SPECIES_BASCULEGION_F, FORM_SPECIES_END, }; #endif //P_FAMILY_BASCULIN @@ -1191,17 +1191,17 @@ static const u16 sBasculegionFormSpeciesIdTable[] = { static const u16 sDarumakaFormSpeciesIdTable[] = { SPECIES_DARUMAKA, #if P_GALARIAN_FORMS - SPECIES_DARUMAKA_GALARIAN, + SPECIES_DARUMAKA_GALAR, #endif FORM_SPECIES_END, }; static const u16 sDarmanitanFormSpeciesIdTable[] = { - SPECIES_DARMANITAN_STANDARD_MODE, - SPECIES_DARMANITAN_ZEN_MODE, + SPECIES_DARMANITAN_STANDARD, + SPECIES_DARMANITAN_ZEN, #if P_GALARIAN_FORMS - SPECIES_DARMANITAN_GALARIAN_STANDARD_MODE, - SPECIES_DARMANITAN_GALARIAN_ZEN_MODE, + SPECIES_DARMANITAN_GALAR_STANDARD, + SPECIES_DARMANITAN_GALAR_ZEN, #endif FORM_SPECIES_END, }; @@ -1211,7 +1211,7 @@ static const u16 sDarmanitanFormSpeciesIdTable[] = { static const u16 sYamaskFormSpeciesIdTable[] = { SPECIES_YAMASK, #if P_GALARIAN_FORMS - SPECIES_YAMASK_GALARIAN, + SPECIES_YAMASK_GALAR, #endif FORM_SPECIES_END, }; @@ -1221,7 +1221,7 @@ static const u16 sYamaskFormSpeciesIdTable[] = { static const u16 sGarbodorFormSpeciesIdTable[] = { SPECIES_GARBODOR, #if P_GIGANTAMAX_FORMS - SPECIES_GARBODOR_GIGANTAMAX, + SPECIES_GARBODOR_GMAX, #endif FORM_SPECIES_END, }; @@ -1231,7 +1231,7 @@ static const u16 sGarbodorFormSpeciesIdTable[] = { static const u16 sZoruaFormSpeciesIdTable[] = { SPECIES_ZORUA, #if P_HISUIAN_FORMS - SPECIES_ZORUA_HISUIAN, + SPECIES_ZORUA_HISUI, #endif FORM_SPECIES_END, }; @@ -1239,7 +1239,7 @@ static const u16 sZoruaFormSpeciesIdTable[] = { static const u16 sZoroarkFormSpeciesIdTable[] = { SPECIES_ZOROARK, #if P_HISUIAN_FORMS - SPECIES_ZOROARK_HISUIAN, + SPECIES_ZOROARK_HISUI, #endif FORM_SPECIES_END, }; @@ -1267,7 +1267,7 @@ static const u16 sSawsbuckFormSpeciesIdTable[] = { static const u16 sStunfiskFormSpeciesIdTable[] = { SPECIES_STUNFISK, #if P_GALARIAN_FORMS - SPECIES_STUNFISK_GALARIAN, + SPECIES_STUNFISK_GALAR, #endif FORM_SPECIES_END, }; @@ -1277,7 +1277,7 @@ static const u16 sStunfiskFormSpeciesIdTable[] = { static const u16 sBraviaryFormSpeciesIdTable[] = { SPECIES_BRAVIARY, #if P_HISUIAN_FORMS - SPECIES_BRAVIARY_HISUIAN, + SPECIES_BRAVIARY_HISUI, #endif FORM_SPECIES_END, }; @@ -1335,10 +1335,10 @@ static const u16 sMeloettaFormSpeciesIdTable[] = { #if P_FAMILY_GENESECT static const u16 sGenesectFormSpeciesIdTable[] = { SPECIES_GENESECT, - SPECIES_GENESECT_DOUSE_DRIVE, - SPECIES_GENESECT_SHOCK_DRIVE, - SPECIES_GENESECT_BURN_DRIVE, - SPECIES_GENESECT_CHILL_DRIVE, + SPECIES_GENESECT_DOUSE, + SPECIES_GENESECT_SHOCK, + SPECIES_GENESECT_BURN, + SPECIES_GENESECT_CHILL, FORM_SPECIES_END, }; #endif //P_FAMILY_GENESECT @@ -1373,7 +1373,7 @@ static const u16 sScatterbugFormSpeciesIdTable[] = { SPECIES_SCATTERBUG_OCEAN, SPECIES_SCATTERBUG_JUNGLE, SPECIES_SCATTERBUG_FANCY, - SPECIES_SCATTERBUG_POKE_BALL, + SPECIES_SCATTERBUG_POKEBALL, FORM_SPECIES_END, }; @@ -1397,7 +1397,7 @@ static const u16 sSpewpaFormSpeciesIdTable[] = { SPECIES_SPEWPA_OCEAN, SPECIES_SPEWPA_JUNGLE, SPECIES_SPEWPA_FANCY, - SPECIES_SPEWPA_POKE_BALL, + SPECIES_SPEWPA_POKEBALL, FORM_SPECIES_END, }; @@ -1421,37 +1421,37 @@ static const u16 sVivillonFormSpeciesIdTable[] = { SPECIES_VIVILLON_OCEAN, SPECIES_VIVILLON_JUNGLE, SPECIES_VIVILLON_FANCY, - SPECIES_VIVILLON_POKE_BALL, + SPECIES_VIVILLON_POKEBALL, FORM_SPECIES_END, }; #endif //P_FAMILY_SCATTERBUG #if P_FAMILY_FLABEBE static const u16 sFlabebeFormSpeciesIdTable[] = { - SPECIES_FLABEBE_RED_FLOWER, - SPECIES_FLABEBE_YELLOW_FLOWER, - SPECIES_FLABEBE_ORANGE_FLOWER, - SPECIES_FLABEBE_BLUE_FLOWER, - SPECIES_FLABEBE_WHITE_FLOWER, + SPECIES_FLABEBE_RED, + SPECIES_FLABEBE_YELLOW, + SPECIES_FLABEBE_ORANGE, + SPECIES_FLABEBE_BLUE, + SPECIES_FLABEBE_WHITE, FORM_SPECIES_END, }; static const u16 sFloetteFormSpeciesIdTable[] = { - SPECIES_FLOETTE_RED_FLOWER, - SPECIES_FLOETTE_YELLOW_FLOWER, - SPECIES_FLOETTE_ORANGE_FLOWER, - SPECIES_FLOETTE_BLUE_FLOWER, - SPECIES_FLOETTE_WHITE_FLOWER, - SPECIES_FLOETTE_ETERNAL_FLOWER, + SPECIES_FLOETTE_RED, + SPECIES_FLOETTE_YELLOW, + SPECIES_FLOETTE_ORANGE, + SPECIES_FLOETTE_BLUE, + SPECIES_FLOETTE_WHITE, + SPECIES_FLOETTE_ETERNAL, FORM_SPECIES_END, }; static const u16 sFlorgesFormSpeciesIdTable[] = { - SPECIES_FLORGES_RED_FLOWER, - SPECIES_FLORGES_YELLOW_FLOWER, - SPECIES_FLORGES_ORANGE_FLOWER, - SPECIES_FLORGES_BLUE_FLOWER, - SPECIES_FLORGES_WHITE_FLOWER, + SPECIES_FLORGES_RED, + SPECIES_FLORGES_YELLOW, + SPECIES_FLORGES_ORANGE, + SPECIES_FLORGES_BLUE, + SPECIES_FLORGES_WHITE, FORM_SPECIES_END, }; #endif //P_FAMILY_FLABEBE @@ -1474,8 +1474,8 @@ static const u16 sFurfrouFormSpeciesIdTable[] = { #if P_FAMILY_ESPURR static const u16 sMeowsticFormSpeciesIdTable[] = { - SPECIES_MEOWSTIC_MALE, - SPECIES_MEOWSTIC_FEMALE, + SPECIES_MEOWSTIC_M, + SPECIES_MEOWSTIC_F, FORM_SPECIES_END, }; #endif //P_FAMILY_ESPURR @@ -1492,7 +1492,7 @@ static const u16 sAegislashFormSpeciesIdTable[] = { static const u16 sSliggooFormSpeciesIdTable[] = { SPECIES_SLIGGOO, #if P_HISUIAN_FORMS - SPECIES_SLIGGOO_HISUIAN, + SPECIES_SLIGGOO_HISUI, #endif FORM_SPECIES_END, }; @@ -1500,7 +1500,7 @@ static const u16 sSliggooFormSpeciesIdTable[] = { static const u16 sGoodraFormSpeciesIdTable[] = { SPECIES_GOODRA, #if P_HISUIAN_FORMS - SPECIES_GOODRA_HISUIAN, + SPECIES_GOODRA_HISUI, #endif FORM_SPECIES_END, }; @@ -1528,7 +1528,7 @@ static const u16 sGourgeistFormSpeciesIdTable[] = { static const u16 sAvaluggFormSpeciesIdTable[] = { SPECIES_AVALUGG, #if P_HISUIAN_FORMS - SPECIES_AVALUGG_HISUIAN, + SPECIES_AVALUGG_HISUI, #endif FORM_SPECIES_END, }; @@ -1544,7 +1544,7 @@ static const u16 sXerneasFormSpeciesIdTable[] = { #if P_FAMILY_ZYGARDE static const u16 sZygardeFormSpeciesIdTable[] = { - SPECIES_ZYGARDE_50_AURA_BREAK, + SPECIES_ZYGARDE_50, SPECIES_ZYGARDE_10_AURA_BREAK, SPECIES_ZYGARDE_10_POWER_CONSTRUCT, SPECIES_ZYGARDE_50_POWER_CONSTRUCT, @@ -1575,7 +1575,7 @@ static const u16 sHoopaFormSpeciesIdTable[] = { static const u16 sDecidueyeFormSpeciesIdTable[] = { SPECIES_DECIDUEYE, #if P_HISUIAN_FORMS - SPECIES_DECIDUEYE_HISUIAN, + SPECIES_DECIDUEYE_HISUI, #endif FORM_SPECIES_END, }; @@ -1719,7 +1719,7 @@ static const u16 sMimikyuFormSpeciesIdTable[] = { SPECIES_MIMIKYU_DISGUISED, SPECIES_MIMIKYU_BUSTED, SPECIES_MIMIKYU_TOTEM_DISGUISED, - SPECIES_MIMIKYU_TOTEM_BUSTED, + SPECIES_MIMIKYU_BUSTED_TOTEM, FORM_SPECIES_END, }; #endif //P_FAMILY_MIMIKYU @@ -1747,7 +1747,7 @@ static const u16 sNecrozmaFormSpeciesIdTable[] = { #if P_FAMILY_MAGEARNA static const u16 sMagearnaFormSpeciesIdTable[] = { SPECIES_MAGEARNA, - SPECIES_MAGEARNA_ORIGINAL_COLOR, + SPECIES_MAGEARNA_ORIGINAL, FORM_SPECIES_END, }; #endif //P_FAMILY_MAGEARNA @@ -1756,7 +1756,7 @@ static const u16 sMagearnaFormSpeciesIdTable[] = { static const u16 sMelmetalFormSpeciesIdTable[] = { SPECIES_MELMETAL, #if P_GIGANTAMAX_FORMS - SPECIES_MELMETAL_GIGANTAMAX, + SPECIES_MELMETAL_GMAX, #endif FORM_SPECIES_END, }; @@ -1766,7 +1766,7 @@ static const u16 sMelmetalFormSpeciesIdTable[] = { static const u16 sRillaboomFormSpeciesIdTable[] = { SPECIES_RILLABOOM, #if P_GIGANTAMAX_FORMS - SPECIES_RILLABOOM_GIGANTAMAX, + SPECIES_RILLABOOM_GMAX, #endif FORM_SPECIES_END, }; @@ -1776,7 +1776,7 @@ static const u16 sRillaboomFormSpeciesIdTable[] = { static const u16 sCinderaceFormSpeciesIdTable[] = { SPECIES_CINDERACE, #if P_GIGANTAMAX_FORMS - SPECIES_CINDERACE_GIGANTAMAX, + SPECIES_CINDERACE_GMAX, #endif FORM_SPECIES_END, }; @@ -1786,7 +1786,7 @@ static const u16 sCinderaceFormSpeciesIdTable[] = { static const u16 sInteleonFormSpeciesIdTable[] = { SPECIES_INTELEON, #if P_GIGANTAMAX_FORMS - SPECIES_INTELEON_GIGANTAMAX, + SPECIES_INTELEON_GMAX, #endif FORM_SPECIES_END, }; @@ -1796,7 +1796,7 @@ static const u16 sInteleonFormSpeciesIdTable[] = { static const u16 sCorviknightFormSpeciesIdTable[] = { SPECIES_CORVIKNIGHT, #if P_GIGANTAMAX_FORMS - SPECIES_CORVIKNIGHT_GIGANTAMAX, + SPECIES_CORVIKNIGHT_GMAX, #endif FORM_SPECIES_END, }; @@ -1806,7 +1806,7 @@ static const u16 sCorviknightFormSpeciesIdTable[] = { static const u16 sOrbeetleFormSpeciesIdTable[] = { SPECIES_ORBEETLE, #if P_GIGANTAMAX_FORMS - SPECIES_ORBEETLE_GIGANTAMAX, + SPECIES_ORBEETLE_GMAX, #endif FORM_SPECIES_END, }; @@ -1816,7 +1816,7 @@ static const u16 sOrbeetleFormSpeciesIdTable[] = { static const u16 sDrednawFormSpeciesIdTable[] = { SPECIES_DREDNAW, #if P_GIGANTAMAX_FORMS - SPECIES_DREDNAW_GIGANTAMAX, + SPECIES_DREDNAW_GMAX, #endif FORM_SPECIES_END, }; @@ -1826,7 +1826,7 @@ static const u16 sDrednawFormSpeciesIdTable[] = { static const u16 sCoalossalFormSpeciesIdTable[] = { SPECIES_COALOSSAL, #if P_GIGANTAMAX_FORMS - SPECIES_COALOSSAL_GIGANTAMAX, + SPECIES_COALOSSAL_GMAX, #endif FORM_SPECIES_END, }; @@ -1836,7 +1836,7 @@ static const u16 sCoalossalFormSpeciesIdTable[] = { static const u16 sFlappleFormSpeciesIdTable[] = { SPECIES_FLAPPLE, #if P_GIGANTAMAX_FORMS - SPECIES_FLAPPLE_GIGANTAMAX, + SPECIES_FLAPPLE_GMAX, #endif FORM_SPECIES_END, }; @@ -1844,7 +1844,7 @@ static const u16 sFlappleFormSpeciesIdTable[] = { static const u16 sAppletunFormSpeciesIdTable[] = { SPECIES_APPLETUN, #if P_GIGANTAMAX_FORMS - SPECIES_APPLETUN_GIGANTAMAX, + SPECIES_APPLETUN_GMAX, #endif FORM_SPECIES_END, }; @@ -1854,7 +1854,7 @@ static const u16 sAppletunFormSpeciesIdTable[] = { static const u16 sSandacondaFormSpeciesIdTable[] = { SPECIES_SANDACONDA, #if P_GIGANTAMAX_FORMS - SPECIES_SANDACONDA_GIGANTAMAX, + SPECIES_SANDACONDA_GMAX, #endif FORM_SPECIES_END, }; @@ -1874,10 +1874,10 @@ static const u16 sToxtricityFormSpeciesIdTable[] = { SPECIES_TOXTRICITY_AMPED, SPECIES_TOXTRICITY_LOW_KEY, #if P_GIGANTAMAX_FORMS - SPECIES_TOXTRICITY_AMPED_GIGANTAMAX, + SPECIES_TOXTRICITY_AMPED_GMAX, #endif #if P_GIGANTAMAX_FORMS - SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX, + SPECIES_TOXTRICITY_LOW_KEY_GMAX, #endif FORM_SPECIES_END, }; @@ -1887,7 +1887,7 @@ static const u16 sToxtricityFormSpeciesIdTable[] = { static const u16 sCentiskorchFormSpeciesIdTable[] = { SPECIES_CENTISKORCH, #if P_GIGANTAMAX_FORMS - SPECIES_CENTISKORCH_GIGANTAMAX, + SPECIES_CENTISKORCH_GMAX, #endif FORM_SPECIES_END, }; @@ -1911,7 +1911,7 @@ static const u16 sPolteageistFormSpeciesIdTable[] = { static const u16 sHattereneFormSpeciesIdTable[] = { SPECIES_HATTERENE, #if P_GIGANTAMAX_FORMS - SPECIES_HATTERENE_GIGANTAMAX, + SPECIES_HATTERENE_GMAX, #endif FORM_SPECIES_END, }; @@ -1921,7 +1921,7 @@ static const u16 sHattereneFormSpeciesIdTable[] = { static const u16 sGrimmsnarlFormSpeciesIdTable[] = { SPECIES_GRIMMSNARL, #if P_GIGANTAMAX_FORMS - SPECIES_GRIMMSNARL_GIGANTAMAX, + SPECIES_GRIMMSNARL_GMAX, #endif FORM_SPECIES_END, }; @@ -1993,7 +1993,7 @@ static const u16 sAlcremieFormSpeciesIdTable[] = { SPECIES_ALCREMIE_RIBBON_CARAMEL_SWIRL, SPECIES_ALCREMIE_RIBBON_RAINBOW_SWIRL, #if P_GIGANTAMAX_FORMS - SPECIES_ALCREMIE_GIGANTAMAX, + SPECIES_ALCREMIE_GMAX, #endif FORM_SPECIES_END, }; @@ -2001,16 +2001,16 @@ static const u16 sAlcremieFormSpeciesIdTable[] = { #if P_FAMILY_EISCUE static const u16 sEiscueFormSpeciesIdTable[] = { - SPECIES_EISCUE_ICE_FACE, - SPECIES_EISCUE_NOICE_FACE, + SPECIES_EISCUE_ICE, + SPECIES_EISCUE_NOICE, FORM_SPECIES_END, }; #endif //P_FAMILY_EISCUE #if P_FAMILY_INDEEDEE static const u16 sIndeedeeFormSpeciesIdTable[] = { - SPECIES_INDEEDEE_MALE, - SPECIES_INDEEDEE_FEMALE, + SPECIES_INDEEDEE_M, + SPECIES_INDEEDEE_F, FORM_SPECIES_END, }; #endif //P_FAMILY_INDEEDEE @@ -2027,7 +2027,7 @@ static const u16 sMorpekoFormSpeciesIdTable[] = { static const u16 sCopperajahFormSpeciesIdTable[] = { SPECIES_COPPERAJAH, #if P_GIGANTAMAX_FORMS - SPECIES_COPPERAJAH_GIGANTAMAX, + SPECIES_COPPERAJAH_GMAX, #endif FORM_SPECIES_END, }; @@ -2037,7 +2037,7 @@ static const u16 sCopperajahFormSpeciesIdTable[] = { static const u16 sDuraludonFormSpeciesIdTable[] = { SPECIES_DURALUDON, #if P_GIGANTAMAX_FORMS - SPECIES_DURALUDON_GIGANTAMAX, + SPECIES_DURALUDON_GMAX, #endif FORM_SPECIES_END, }; @@ -2045,16 +2045,16 @@ static const u16 sDuraludonFormSpeciesIdTable[] = { #if P_FAMILY_ZACIAN static const u16 sZacianFormSpeciesIdTable[] = { - SPECIES_ZACIAN_HERO_OF_MANY_BATTLES, - SPECIES_ZACIAN_CROWNED_SWORD, + SPECIES_ZACIAN_HERO, + SPECIES_ZACIAN_CROWNED, FORM_SPECIES_END, }; #endif //P_FAMILY_ZACIAN #if P_FAMILY_ZAMAZENTA static const u16 sZamazentaFormSpeciesIdTable[] = { - SPECIES_ZAMAZENTA_HERO_OF_MANY_BATTLES, - SPECIES_ZAMAZENTA_CROWNED_SHIELD, + SPECIES_ZAMAZENTA_HERO, + SPECIES_ZAMAZENTA_CROWNED, FORM_SPECIES_END, }; #endif //P_FAMILY_ZAMAZENTA @@ -2069,11 +2069,11 @@ static const u16 sEternatusFormSpeciesIdTable[] = { #if P_FAMILY_KUBFU static const u16 sUrshifuFormSpeciesIdTable[] = { - SPECIES_URSHIFU_SINGLE_STRIKE_STYLE, - SPECIES_URSHIFU_RAPID_STRIKE_STYLE, + SPECIES_URSHIFU_SINGLE_STRIKE, + SPECIES_URSHIFU_RAPID_STRIKE, #if P_GIGANTAMAX_FORMS - SPECIES_URSHIFU_SINGLE_STRIKE_STYLE_GIGANTAMAX, - SPECIES_URSHIFU_RAPID_STRIKE_STYLE_GIGANTAMAX, + SPECIES_URSHIFU_SINGLE_STRIKE_GMAX, + SPECIES_URSHIFU_RAPID_STRIKE_GMAX, #endif FORM_SPECIES_END, }; @@ -2090,8 +2090,8 @@ static const u16 sZarudeFormSpeciesIdTable[] = { #if P_FAMILY_CALYREX static const u16 sCalyrexFormSpeciesIdTable[] = { SPECIES_CALYREX, - SPECIES_CALYREX_ICE_RIDER, - SPECIES_CALYREX_SHADOW_RIDER, + SPECIES_CALYREX_ICE, + SPECIES_CALYREX_SHADOW, FORM_SPECIES_END, }; #endif //P_FAMILY_CALYREX @@ -2106,26 +2106,26 @@ static const u16 sEnamorusFormSpeciesIdTable[] = { #if P_FAMILY_LECHONK static const u16 sOinkologneFormSpeciesIdTable[] = { - SPECIES_OINKOLOGNE_MALE, - SPECIES_OINKOLOGNE_FEMALE, + SPECIES_OINKOLOGNE_M, + SPECIES_OINKOLOGNE_F, FORM_SPECIES_END, }; #endif //P_FAMILY_LECHONK #if P_FAMILY_TANDEMAUS static const u16 sMausholdFormSpeciesIdTable[] = { - SPECIES_MAUSHOLD_FAMILY_OF_THREE, - SPECIES_MAUSHOLD_FAMILY_OF_FOUR, + SPECIES_MAUSHOLD_THREE, + SPECIES_MAUSHOLD_FOUR, FORM_SPECIES_END, }; #endif //P_FAMILY_TANDEMAUS #if P_FAMILY_SQUAWKABILLY static const u16 sSquawkabillyFormSpeciesIdTable[] = { - SPECIES_SQUAWKABILLY_GREEN_PLUMAGE, - SPECIES_SQUAWKABILLY_BLUE_PLUMAGE, - SPECIES_SQUAWKABILLY_YELLOW_PLUMAGE, - SPECIES_SQUAWKABILLY_WHITE_PLUMAGE, + SPECIES_SQUAWKABILLY_GREEN, + SPECIES_SQUAWKABILLY_BLUE, + SPECIES_SQUAWKABILLY_YELLOW, + SPECIES_SQUAWKABILLY_WHITE, FORM_SPECIES_END, }; #endif //P_FAMILY_SQUAWKABILLY @@ -2157,15 +2157,15 @@ static const u16 sGimmighoulFormSpeciesIdTable[] = { #if P_FAMILY_OGERPON static const u16 sOgerponFormSpeciesIdTable[] = { - SPECIES_OGERPON_TEAL_MASK, - SPECIES_OGERPON_WELLSPRING_MASK, - SPECIES_OGERPON_HEARTHFLAME_MASK, - SPECIES_OGERPON_CORNERSTONE_MASK, + SPECIES_OGERPON_TEAL, + SPECIES_OGERPON_WELLSPRING, + SPECIES_OGERPON_HEARTHFLAME, + SPECIES_OGERPON_CORNERSTONE, #if P_TERA_FORMS - SPECIES_OGERPON_TEAL_MASK_TERA, - SPECIES_OGERPON_WELLSPRING_MASK_TERA, - SPECIES_OGERPON_HEARTHFLAME_MASK_TERA, - SPECIES_OGERPON_CORNERSTONE_MASK_TERA, + SPECIES_OGERPON_TEAL_TERA, + SPECIES_OGERPON_WELLSPRING_TERA, + SPECIES_OGERPON_HEARTHFLAME_TERA, + SPECIES_OGERPON_CORNERSTONE_TERA, #endif FORM_SPECIES_END, }; diff --git a/src/data/pokemon/level_up_learnsets/gen_1.h b/src/data/pokemon/level_up_learnsets/gen_1.h index e7b9d23238f4..8470b1b14ea1 100644 --- a/src/data/pokemon/level_up_learnsets/gen_1.h +++ b/src/data/pokemon/level_up_learnsets/gen_1.h @@ -244,7 +244,7 @@ static const struct LevelUpMove sRaticateLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRattataAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 4, MOVE_QUICK_ATTACK), @@ -261,7 +261,7 @@ static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRaticateAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaticateAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), @@ -370,7 +370,7 @@ static const struct LevelUpMove sRaichuLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRaichuAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaichuAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_SPEED_SWAP), @@ -406,7 +406,7 @@ static const struct LevelUpMove sSandslashLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandshrewAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 3, MOVE_BIDE), @@ -427,7 +427,7 @@ static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSandslashAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandslashAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), @@ -569,7 +569,7 @@ static const struct LevelUpMove sNinetalesLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sVulpixAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 7, MOVE_ROAR), @@ -593,7 +593,7 @@ static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sNinetalesAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sNinetalesAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), @@ -805,7 +805,7 @@ static const struct LevelUpMove sDugtrioLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDiglettAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 4, MOVE_GROWL), @@ -823,7 +823,7 @@ static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDugtrioAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDugtrioAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), @@ -875,7 +875,7 @@ static const struct LevelUpMove sPersianLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_BITE), @@ -895,7 +895,7 @@ static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sPersianAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_QUASH), @@ -924,7 +924,7 @@ static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS -static const struct LevelUpMove sMeowthGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_HONE_CLAWS), @@ -1065,7 +1065,7 @@ static const struct LevelUpMove sArcanineLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGrowlitheHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), @@ -1077,7 +1077,7 @@ static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sArcanineHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sArcanineHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), @@ -1314,7 +1314,7 @@ static const struct LevelUpMove sGolemLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGeodudeAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 4, MOVE_CHARGE), @@ -1334,7 +1334,7 @@ static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGravelerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CHARGE), @@ -1356,7 +1356,7 @@ static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGolemAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGolemAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), @@ -1409,7 +1409,7 @@ static const struct LevelUpMove sRapidashLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sPonytaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -1426,7 +1426,7 @@ static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRapidashGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sRapidashGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), @@ -1491,7 +1491,7 @@ static const struct LevelUpMove sSlowkingLevelUpLearnset[] = { #endif //P_GEN_2_CROSS_EVOS #if P_GALARIAN_FORMS -static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowpokeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 3, MOVE_GROWL), @@ -1512,7 +1512,7 @@ static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowbroGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), @@ -1537,7 +1537,7 @@ static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { }; #if P_GEN_2_CROSS_EVOS -static const struct LevelUpMove sSlowkingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowkingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), @@ -1630,7 +1630,7 @@ static const struct LevelUpMove sFarfetchdLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sFarfetchdGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sFarfetchdGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 5, MOVE_LEER), @@ -1751,7 +1751,7 @@ static const struct LevelUpMove sMukLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGrimerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 4, MOVE_HARDEN), @@ -1771,7 +1771,7 @@ static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMukAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMukAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_POUND), @@ -1954,7 +1954,7 @@ static const struct LevelUpMove sElectrodeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sVoltorbHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), @@ -1966,7 +1966,7 @@ static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sElectrodeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sElectrodeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), @@ -2002,7 +2002,7 @@ static const struct LevelUpMove sExeggutorLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sExeggutorAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sExeggutorAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), @@ -2047,7 +2047,7 @@ static const struct LevelUpMove sMarowakLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMarowakAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMarowakAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BONE_CLUB), @@ -2177,7 +2177,7 @@ static const struct LevelUpMove sWeezingLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sWeezingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sWeezingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_STRANGE_STEAM), @@ -2475,7 +2475,7 @@ static const struct LevelUpMove sMrMimeLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMrMimeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMrMimeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COPYCAT), LEVEL_UP_MOVE( 1, MOVE_ENCORE), LEVEL_UP_MOVE( 1, MOVE_ROLE_PLAY), @@ -2742,7 +2742,7 @@ static const struct LevelUpMove sTaurosLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaCombatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -2760,7 +2760,7 @@ static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaBlazeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -2778,7 +2778,7 @@ static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanAquaBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaAquaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3144,7 +3144,7 @@ static const struct LevelUpMove sArticunoLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sArticunoGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sArticunoGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_SHIFT), LEVEL_UP_MOVE( 5, MOVE_CONFUSION), @@ -3177,7 +3177,7 @@ static const struct LevelUpMove sZapdosLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZapdosGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZapdosGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 5, MOVE_ROCK_SMASH), @@ -3210,7 +3210,7 @@ static const struct LevelUpMove sMoltresLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMoltresGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMoltresGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 5, MOVE_PAYBACK), @@ -3385,7 +3385,7 @@ static const struct LevelUpMove sTyphlosionLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sTyphlosionHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sTyphlosionHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_HEX), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_EMBER), @@ -3940,7 +3940,7 @@ static const struct LevelUpMove sQuagsireLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sWooperPaldeanLevelUpLearnset[] = { +static const struct LevelUpMove sWooperPaldeaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 4, MOVE_TACKLE), @@ -4242,7 +4242,7 @@ static const struct LevelUpMove sQwilfishLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sQwilfishHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sQwilfishHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 5, MOVE_SPIKES), LEVEL_UP_MOVE( 9, MOVE_PIN_MISSILE), @@ -4339,7 +4339,7 @@ static const struct LevelUpMove sWeavileLevelUpLearnset[] = { #endif //P_GEN_4_CROSS_EVOS #if P_HISUIAN_FORMS -static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSneaselHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_ROCK_SMASH), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -4521,7 +4521,7 @@ static const struct LevelUpMove sCorsolaLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sCorsolaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sCorsolaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_ASTONISH), @@ -5125,7 +5125,7 @@ static const struct LevelUpMove sLinooneLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZigzagoonGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 3, MOVE_SAND_ATTACK), @@ -5143,7 +5143,7 @@ static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sLinooneGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sLinooneGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), @@ -7734,7 +7734,7 @@ static const struct LevelUpMove sWormadamPlantCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamSandyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(10, MOVE_PROTECT), LEVEL_UP_MOVE(15, MOVE_BUG_BITE), @@ -7751,7 +7751,7 @@ static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamTrashCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamTrashLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(10, MOVE_PROTECT), LEVEL_UP_MOVE(15, MOVE_BUG_BITE), @@ -8964,7 +8964,7 @@ static const struct LevelUpMove sSamurottLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSamurottHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSamurottHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), @@ -9858,7 +9858,7 @@ static const struct LevelUpMove sLilligantLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sLilligantHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sLilligantHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 5, MOVE_LEAFAGE), @@ -10041,7 +10041,7 @@ static const struct LevelUpMove sDarmanitanLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarumakaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_TAUNT), @@ -10059,7 +10059,7 @@ static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDarmanitanGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarmanitanGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -10258,7 +10258,7 @@ static const struct LevelUpMove sCofagrigusLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sYamaskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sYamaskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 4, MOVE_HAZE), @@ -10487,7 +10487,7 @@ static const struct LevelUpMove sZoroarkLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoruaHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -10498,7 +10498,7 @@ static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sZoroarkHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoroarkHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -11501,7 +11501,7 @@ static const struct LevelUpMove sStunfiskLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sStunfiskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sStunfiskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -11765,7 +11765,7 @@ static const struct LevelUpMove sBraviaryLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sBraviaryHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sBraviaryHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(11, MOVE_TWISTER), @@ -12684,7 +12684,7 @@ static const struct LevelUpMove sFloetteLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sFloetteEternalFlowerLevelUpLearnset[] = { +static const struct LevelUpMove sFloetteEternalLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 6, MOVE_FAIRY_WIND), @@ -12840,7 +12840,7 @@ static const struct LevelUpMove sEspurrLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -12865,7 +12865,7 @@ static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_ME_FIRST), LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), @@ -13461,7 +13461,7 @@ static const struct LevelUpMove sGoodraLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSliggooHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), @@ -13473,7 +13473,7 @@ static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGoodraHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGoodraHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), @@ -13634,7 +13634,7 @@ static const struct LevelUpMove sAvaluggLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sAvaluggHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_POWDER_SNOW), @@ -13934,7 +13934,7 @@ static const struct LevelUpMove sDecidueyeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sDecidueyeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sDecidueyeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), @@ -16946,7 +16946,7 @@ static const struct LevelUpMove sEiscueLevelUpLearnset[] = { #endif //P_FAMILY_EISCUE #if P_FAMILY_INDEEDEE -static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_ENCORE), @@ -16963,7 +16963,7 @@ static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sIndeedeeFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_BATON_PASS), @@ -17291,7 +17291,7 @@ static const struct LevelUpMove sKubfuLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuSingleStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -17313,7 +17313,7 @@ static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuRapidStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuRapidStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), @@ -17462,7 +17462,7 @@ static const struct LevelUpMove sCalyrexLevelUpLearnset[] = { }; #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexIceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GLACIAL_LANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -17498,7 +17498,7 @@ static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { #endif //P_FUSION_FORMS #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexShadowRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexShadowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTRAL_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -17749,7 +17749,7 @@ static const struct LevelUpMove sLechonkLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_DISARMING_VOICE), @@ -17768,7 +17768,7 @@ static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 3, MOVE_DISARMING_VOICE), diff --git a/src/data/pokemon/level_up_learnsets/gen_2.h b/src/data/pokemon/level_up_learnsets/gen_2.h index 991cf5daf8aa..0f39631c4fa1 100644 --- a/src/data/pokemon/level_up_learnsets/gen_2.h +++ b/src/data/pokemon/level_up_learnsets/gen_2.h @@ -280,7 +280,7 @@ static const struct LevelUpMove sRaticateLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRattataAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 4, MOVE_QUICK_ATTACK), @@ -297,7 +297,7 @@ static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRaticateAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaticateAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), @@ -413,7 +413,7 @@ static const struct LevelUpMove sRaichuLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRaichuAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaichuAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_SPEED_SWAP), @@ -454,7 +454,7 @@ static const struct LevelUpMove sSandslashLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandshrewAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 3, MOVE_BIDE), @@ -475,7 +475,7 @@ static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSandslashAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandslashAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), @@ -615,7 +615,7 @@ static const struct LevelUpMove sNinetalesLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sVulpixAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 7, MOVE_ROAR), @@ -639,7 +639,7 @@ static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sNinetalesAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sNinetalesAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), @@ -866,7 +866,7 @@ static const struct LevelUpMove sDugtrioLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDiglettAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 4, MOVE_GROWL), @@ -884,7 +884,7 @@ static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDugtrioAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDugtrioAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), @@ -937,7 +937,7 @@ static const struct LevelUpMove sPersianLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_BITE), @@ -957,7 +957,7 @@ static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sPersianAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_QUASH), @@ -986,7 +986,7 @@ static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS -static const struct LevelUpMove sMeowthGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_HONE_CLAWS), @@ -1136,7 +1136,7 @@ static const struct LevelUpMove sArcanineLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGrowlitheHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), @@ -1148,7 +1148,7 @@ static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sArcanineHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sArcanineHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), @@ -1410,7 +1410,7 @@ static const struct LevelUpMove sGolemLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGeodudeAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 4, MOVE_CHARGE), @@ -1430,7 +1430,7 @@ static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGravelerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CHARGE), @@ -1452,7 +1452,7 @@ static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGolemAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGolemAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), @@ -1510,7 +1510,7 @@ static const struct LevelUpMove sRapidashLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sPonytaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -1527,7 +1527,7 @@ static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRapidashGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sRapidashGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), @@ -1596,7 +1596,7 @@ static const struct LevelUpMove sSlowkingLevelUpLearnset[] = { #endif //P_GEN_2_CROSS_EVOS #if P_GALARIAN_FORMS -static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowpokeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 3, MOVE_GROWL), @@ -1617,7 +1617,7 @@ static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowbroGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), @@ -1642,7 +1642,7 @@ static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { }; #if P_GEN_2_CROSS_EVOS -static const struct LevelUpMove sSlowkingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowkingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), @@ -1741,7 +1741,7 @@ static const struct LevelUpMove sFarfetchdLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sFarfetchdGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sFarfetchdGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 5, MOVE_LEER), @@ -1868,7 +1868,7 @@ static const struct LevelUpMove sMukLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGrimerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 4, MOVE_HARDEN), @@ -1888,7 +1888,7 @@ static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMukAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMukAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_POUND), @@ -2101,7 +2101,7 @@ static const struct LevelUpMove sElectrodeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sVoltorbHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), @@ -2113,7 +2113,7 @@ static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sElectrodeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sElectrodeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), @@ -2152,7 +2152,7 @@ static const struct LevelUpMove sExeggutorLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sExeggutorAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sExeggutorAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), @@ -2203,7 +2203,7 @@ static const struct LevelUpMove sMarowakLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMarowakAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMarowakAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BONE_CLUB), @@ -2346,7 +2346,7 @@ static const struct LevelUpMove sWeezingLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sWeezingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sWeezingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_STRANGE_STEAM), @@ -2663,7 +2663,7 @@ static const struct LevelUpMove sMrMimeLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMrMimeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMrMimeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COPYCAT), LEVEL_UP_MOVE( 1, MOVE_ENCORE), LEVEL_UP_MOVE( 1, MOVE_ROLE_PLAY), @@ -2946,7 +2946,7 @@ static const struct LevelUpMove sTaurosLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaCombatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -2964,7 +2964,7 @@ static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaBlazeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -2982,7 +2982,7 @@ static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanAquaBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaAquaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3368,7 +3368,7 @@ static const struct LevelUpMove sArticunoLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sArticunoGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sArticunoGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_SHIFT), LEVEL_UP_MOVE( 5, MOVE_CONFUSION), @@ -3404,7 +3404,7 @@ static const struct LevelUpMove sZapdosLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZapdosGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZapdosGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 5, MOVE_ROCK_SMASH), @@ -3440,7 +3440,7 @@ static const struct LevelUpMove sMoltresLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMoltresGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMoltresGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 5, MOVE_PAYBACK), @@ -3629,7 +3629,7 @@ static const struct LevelUpMove sTyphlosionLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sTyphlosionHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sTyphlosionHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_HEX), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_EMBER), @@ -4184,7 +4184,7 @@ static const struct LevelUpMove sQuagsireLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sWooperPaldeanLevelUpLearnset[] = { +static const struct LevelUpMove sWooperPaldeaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 4, MOVE_TACKLE), @@ -4486,7 +4486,7 @@ static const struct LevelUpMove sQwilfishLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sQwilfishHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sQwilfishHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 5, MOVE_SPIKES), LEVEL_UP_MOVE( 9, MOVE_PIN_MISSILE), @@ -4583,7 +4583,7 @@ static const struct LevelUpMove sWeavileLevelUpLearnset[] = { #endif //P_GEN_4_CROSS_EVOS #if P_HISUIAN_FORMS -static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSneaselHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_ROCK_SMASH), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -4765,7 +4765,7 @@ static const struct LevelUpMove sCorsolaLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sCorsolaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sCorsolaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_ASTONISH), @@ -5369,7 +5369,7 @@ static const struct LevelUpMove sLinooneLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZigzagoonGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 3, MOVE_SAND_ATTACK), @@ -5387,7 +5387,7 @@ static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sLinooneGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sLinooneGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), @@ -7978,7 +7978,7 @@ static const struct LevelUpMove sWormadamPlantCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamSandyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(10, MOVE_PROTECT), LEVEL_UP_MOVE(15, MOVE_BUG_BITE), @@ -7995,7 +7995,7 @@ static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamTrashCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamTrashLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(10, MOVE_PROTECT), LEVEL_UP_MOVE(15, MOVE_BUG_BITE), @@ -9208,7 +9208,7 @@ static const struct LevelUpMove sSamurottLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSamurottHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSamurottHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), @@ -10102,7 +10102,7 @@ static const struct LevelUpMove sLilligantLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sLilligantHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sLilligantHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 5, MOVE_LEAFAGE), @@ -10285,7 +10285,7 @@ static const struct LevelUpMove sDarmanitanLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarumakaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_TAUNT), @@ -10303,7 +10303,7 @@ static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDarmanitanGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarmanitanGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -10502,7 +10502,7 @@ static const struct LevelUpMove sCofagrigusLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sYamaskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sYamaskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 4, MOVE_HAZE), @@ -10731,7 +10731,7 @@ static const struct LevelUpMove sZoroarkLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoruaHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -10742,7 +10742,7 @@ static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sZoroarkHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoroarkHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -11745,7 +11745,7 @@ static const struct LevelUpMove sStunfiskLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sStunfiskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sStunfiskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -12009,7 +12009,7 @@ static const struct LevelUpMove sBraviaryLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sBraviaryHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sBraviaryHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(11, MOVE_TWISTER), @@ -12928,7 +12928,7 @@ static const struct LevelUpMove sFloetteLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sFloetteEternalFlowerLevelUpLearnset[] = { +static const struct LevelUpMove sFloetteEternalLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 6, MOVE_FAIRY_WIND), @@ -13084,7 +13084,7 @@ static const struct LevelUpMove sEspurrLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -13109,7 +13109,7 @@ static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_ME_FIRST), LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), @@ -13705,7 +13705,7 @@ static const struct LevelUpMove sGoodraLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSliggooHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), @@ -13717,7 +13717,7 @@ static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGoodraHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGoodraHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), @@ -13878,7 +13878,7 @@ static const struct LevelUpMove sAvaluggLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sAvaluggHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_POWDER_SNOW), @@ -14178,7 +14178,7 @@ static const struct LevelUpMove sDecidueyeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sDecidueyeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sDecidueyeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), @@ -17190,7 +17190,7 @@ static const struct LevelUpMove sEiscueLevelUpLearnset[] = { #endif //P_FAMILY_EISCUE #if P_FAMILY_INDEEDEE -static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_ENCORE), @@ -17207,7 +17207,7 @@ static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sIndeedeeFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_BATON_PASS), @@ -17535,7 +17535,7 @@ static const struct LevelUpMove sKubfuLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuSingleStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -17557,7 +17557,7 @@ static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuRapidStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuRapidStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), @@ -17706,7 +17706,7 @@ static const struct LevelUpMove sCalyrexLevelUpLearnset[] = { }; #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexIceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GLACIAL_LANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -17742,7 +17742,7 @@ static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { #endif //P_FUSION_FORMS #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexShadowRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexShadowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTRAL_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -17993,7 +17993,7 @@ static const struct LevelUpMove sLechonkLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_DISARMING_VOICE), @@ -18012,7 +18012,7 @@ static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 3, MOVE_DISARMING_VOICE), diff --git a/src/data/pokemon/level_up_learnsets/gen_3.h b/src/data/pokemon/level_up_learnsets/gen_3.h index 99b8cc397fa7..81e6d06b4661 100644 --- a/src/data/pokemon/level_up_learnsets/gen_3.h +++ b/src/data/pokemon/level_up_learnsets/gen_3.h @@ -287,7 +287,7 @@ static const struct LevelUpMove sRaticateLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRattataAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 4, MOVE_QUICK_ATTACK), @@ -304,7 +304,7 @@ static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRaticateAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaticateAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), @@ -427,7 +427,7 @@ static const struct LevelUpMove sRaichuLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRaichuAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaichuAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_SPEED_SWAP), @@ -470,7 +470,7 @@ static const struct LevelUpMove sSandslashLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandshrewAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 3, MOVE_BIDE), @@ -491,7 +491,7 @@ static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSandslashAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandslashAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), @@ -645,7 +645,7 @@ static const struct LevelUpMove sNinetalesLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sVulpixAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 7, MOVE_ROAR), @@ -669,7 +669,7 @@ static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sNinetalesAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sNinetalesAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), @@ -916,7 +916,7 @@ static const struct LevelUpMove sDugtrioLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDiglettAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 4, MOVE_GROWL), @@ -934,7 +934,7 @@ static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDugtrioAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDugtrioAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), @@ -989,7 +989,7 @@ static const struct LevelUpMove sPersianLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_BITE), @@ -1009,7 +1009,7 @@ static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sPersianAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_QUASH), @@ -1038,7 +1038,7 @@ static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS -static const struct LevelUpMove sMeowthGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_HONE_CLAWS), @@ -1191,7 +1191,7 @@ static const struct LevelUpMove sArcanineLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGrowlitheHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), @@ -1203,7 +1203,7 @@ static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sArcanineHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sArcanineHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), @@ -1480,7 +1480,7 @@ static const struct LevelUpMove sGolemLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGeodudeAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 4, MOVE_CHARGE), @@ -1500,7 +1500,7 @@ static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGravelerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CHARGE), @@ -1522,7 +1522,7 @@ static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGolemAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGolemAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), @@ -1582,7 +1582,7 @@ static const struct LevelUpMove sRapidashLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sPonytaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -1599,7 +1599,7 @@ static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRapidashGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sRapidashGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), @@ -1670,7 +1670,7 @@ static const struct LevelUpMove sSlowkingLevelUpLearnset[] = { #endif //P_GEN_2_CROSS_EVOS #if P_GALARIAN_FORMS -static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowpokeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 3, MOVE_GROWL), @@ -1691,7 +1691,7 @@ static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowbroGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), @@ -1716,7 +1716,7 @@ static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { }; #if P_GEN_2_CROSS_EVOS -static const struct LevelUpMove sSlowkingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowkingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), @@ -1820,7 +1820,7 @@ static const struct LevelUpMove sFarfetchdLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sFarfetchdGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sFarfetchdGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 5, MOVE_LEER), @@ -1955,7 +1955,7 @@ static const struct LevelUpMove sMukLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGrimerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 4, MOVE_HARDEN), @@ -1975,7 +1975,7 @@ static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMukAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMukAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_POUND), @@ -2200,7 +2200,7 @@ static const struct LevelUpMove sElectrodeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sVoltorbHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), @@ -2212,7 +2212,7 @@ static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sElectrodeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sElectrodeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), @@ -2252,7 +2252,7 @@ static const struct LevelUpMove sExeggutorLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sExeggutorAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sExeggutorAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), @@ -2305,7 +2305,7 @@ static const struct LevelUpMove sMarowakLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMarowakAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMarowakAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BONE_CLUB), @@ -2458,7 +2458,7 @@ static const struct LevelUpMove sWeezingLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sWeezingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sWeezingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_STRANGE_STEAM), @@ -2796,7 +2796,7 @@ static const struct LevelUpMove sMrMimeLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMrMimeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMrMimeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COPYCAT), LEVEL_UP_MOVE( 1, MOVE_ENCORE), LEVEL_UP_MOVE( 1, MOVE_ROLE_PLAY), @@ -3085,7 +3085,7 @@ static const struct LevelUpMove sTaurosLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaCombatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3103,7 +3103,7 @@ static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaBlazeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3121,7 +3121,7 @@ static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanAquaBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaAquaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3529,7 +3529,7 @@ static const struct LevelUpMove sArticunoLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sArticunoGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sArticunoGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_SHIFT), LEVEL_UP_MOVE( 5, MOVE_CONFUSION), @@ -3566,7 +3566,7 @@ static const struct LevelUpMove sZapdosLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZapdosGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZapdosGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 5, MOVE_ROCK_SMASH), @@ -3603,7 +3603,7 @@ static const struct LevelUpMove sMoltresLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMoltresGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMoltresGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 5, MOVE_PAYBACK), @@ -3792,7 +3792,7 @@ static const struct LevelUpMove sTyphlosionLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sTyphlosionHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sTyphlosionHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_HEX), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_EMBER), @@ -4375,7 +4375,7 @@ static const struct LevelUpMove sQuagsireLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sWooperPaldeanLevelUpLearnset[] = { +static const struct LevelUpMove sWooperPaldeaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 4, MOVE_TACKLE), @@ -4685,7 +4685,7 @@ static const struct LevelUpMove sQwilfishLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sQwilfishHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sQwilfishHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 5, MOVE_SPIKES), LEVEL_UP_MOVE( 9, MOVE_PIN_MISSILE), @@ -4785,7 +4785,7 @@ static const struct LevelUpMove sWeavileLevelUpLearnset[] = { #endif //P_GEN_4_CROSS_EVOS #if P_HISUIAN_FORMS -static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSneaselHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_ROCK_SMASH), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -4975,7 +4975,7 @@ static const struct LevelUpMove sCorsolaLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sCorsolaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sCorsolaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_ASTONISH), @@ -5595,7 +5595,7 @@ static const struct LevelUpMove sLinooneLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZigzagoonGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 3, MOVE_SAND_ATTACK), @@ -5613,7 +5613,7 @@ static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sLinooneGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sLinooneGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), @@ -8204,7 +8204,7 @@ static const struct LevelUpMove sWormadamPlantCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamSandyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(10, MOVE_PROTECT), LEVEL_UP_MOVE(15, MOVE_BUG_BITE), @@ -8221,7 +8221,7 @@ static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamTrashCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamTrashLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(10, MOVE_PROTECT), LEVEL_UP_MOVE(15, MOVE_BUG_BITE), @@ -9434,7 +9434,7 @@ static const struct LevelUpMove sSamurottLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSamurottHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSamurottHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), @@ -10328,7 +10328,7 @@ static const struct LevelUpMove sLilligantLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sLilligantHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sLilligantHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 5, MOVE_LEAFAGE), @@ -10511,7 +10511,7 @@ static const struct LevelUpMove sDarmanitanLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarumakaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_TAUNT), @@ -10529,7 +10529,7 @@ static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDarmanitanGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarmanitanGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -10728,7 +10728,7 @@ static const struct LevelUpMove sCofagrigusLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sYamaskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sYamaskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 4, MOVE_HAZE), @@ -10957,7 +10957,7 @@ static const struct LevelUpMove sZoroarkLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoruaHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -10968,7 +10968,7 @@ static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sZoroarkHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoroarkHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -11971,7 +11971,7 @@ static const struct LevelUpMove sStunfiskLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sStunfiskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sStunfiskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -12235,7 +12235,7 @@ static const struct LevelUpMove sBraviaryLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sBraviaryHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sBraviaryHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(11, MOVE_TWISTER), @@ -13154,7 +13154,7 @@ static const struct LevelUpMove sFloetteLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sFloetteEternalFlowerLevelUpLearnset[] = { +static const struct LevelUpMove sFloetteEternalLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 6, MOVE_FAIRY_WIND), @@ -13310,7 +13310,7 @@ static const struct LevelUpMove sEspurrLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -13335,7 +13335,7 @@ static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_ME_FIRST), LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), @@ -13931,7 +13931,7 @@ static const struct LevelUpMove sGoodraLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSliggooHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), @@ -13943,7 +13943,7 @@ static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGoodraHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGoodraHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), @@ -14104,7 +14104,7 @@ static const struct LevelUpMove sAvaluggLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sAvaluggHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_POWDER_SNOW), @@ -14404,7 +14404,7 @@ static const struct LevelUpMove sDecidueyeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sDecidueyeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sDecidueyeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), @@ -17416,7 +17416,7 @@ static const struct LevelUpMove sEiscueLevelUpLearnset[] = { #endif //P_FAMILY_EISCUE #if P_FAMILY_INDEEDEE -static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_ENCORE), @@ -17433,7 +17433,7 @@ static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sIndeedeeFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_BATON_PASS), @@ -17761,7 +17761,7 @@ static const struct LevelUpMove sKubfuLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuSingleStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -17783,7 +17783,7 @@ static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuRapidStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuRapidStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), @@ -17932,7 +17932,7 @@ static const struct LevelUpMove sCalyrexLevelUpLearnset[] = { }; #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexIceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GLACIAL_LANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -17968,7 +17968,7 @@ static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { #endif //P_FUSION_FORMS #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexShadowRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexShadowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTRAL_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -18219,7 +18219,7 @@ static const struct LevelUpMove sLechonkLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_DISARMING_VOICE), @@ -18238,7 +18238,7 @@ static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 3, MOVE_DISARMING_VOICE), diff --git a/src/data/pokemon/level_up_learnsets/gen_4.h b/src/data/pokemon/level_up_learnsets/gen_4.h index f620abc3df48..5c9f6872b51a 100644 --- a/src/data/pokemon/level_up_learnsets/gen_4.h +++ b/src/data/pokemon/level_up_learnsets/gen_4.h @@ -345,7 +345,7 @@ static const struct LevelUpMove sRaticateLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRattataAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 4, MOVE_QUICK_ATTACK), @@ -362,7 +362,7 @@ static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRaticateAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaticateAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), @@ -504,7 +504,7 @@ static const struct LevelUpMove sRaichuLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRaichuAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaichuAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_SPEED_SWAP), @@ -556,7 +556,7 @@ static const struct LevelUpMove sSandslashLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandshrewAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 3, MOVE_BIDE), @@ -577,7 +577,7 @@ static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSandslashAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandslashAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), @@ -757,7 +757,7 @@ static const struct LevelUpMove sNinetalesLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sVulpixAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 7, MOVE_ROAR), @@ -781,7 +781,7 @@ static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sNinetalesAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sNinetalesAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), @@ -1065,7 +1065,7 @@ static const struct LevelUpMove sDugtrioLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDiglettAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 4, MOVE_GROWL), @@ -1083,7 +1083,7 @@ static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDugtrioAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDugtrioAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), @@ -1152,7 +1152,7 @@ static const struct LevelUpMove sPersianLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_BITE), @@ -1172,7 +1172,7 @@ static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sPersianAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_QUASH), @@ -1201,7 +1201,7 @@ static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS -static const struct LevelUpMove sMeowthGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_HONE_CLAWS), @@ -1377,7 +1377,7 @@ static const struct LevelUpMove sArcanineLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGrowlitheHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), @@ -1389,7 +1389,7 @@ static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sArcanineHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sArcanineHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), @@ -1709,7 +1709,7 @@ static const struct LevelUpMove sGolemLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGeodudeAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 4, MOVE_CHARGE), @@ -1729,7 +1729,7 @@ static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGravelerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CHARGE), @@ -1751,7 +1751,7 @@ static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGolemAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGolemAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), @@ -1816,7 +1816,7 @@ static const struct LevelUpMove sRapidashLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sPonytaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -1833,7 +1833,7 @@ static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRapidashGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sRapidashGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), @@ -1921,7 +1921,7 @@ static const struct LevelUpMove sSlowkingLevelUpLearnset[] = { #endif //P_GEN_2_CROSS_EVOS #if P_GALARIAN_FORMS -static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowpokeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 3, MOVE_GROWL), @@ -1942,7 +1942,7 @@ static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowbroGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), @@ -1967,7 +1967,7 @@ static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { }; #if P_GEN_2_CROSS_EVOS -static const struct LevelUpMove sSlowkingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowkingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), @@ -2086,7 +2086,7 @@ static const struct LevelUpMove sFarfetchdLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sFarfetchdGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sFarfetchdGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 5, MOVE_LEER), @@ -2253,7 +2253,7 @@ static const struct LevelUpMove sMukLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGrimerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 4, MOVE_HARDEN), @@ -2273,7 +2273,7 @@ static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMukAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMukAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_POUND), @@ -2562,7 +2562,7 @@ static const struct LevelUpMove sElectrodeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sVoltorbHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), @@ -2574,7 +2574,7 @@ static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sElectrodeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sElectrodeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), @@ -2622,7 +2622,7 @@ static const struct LevelUpMove sExeggutorLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sExeggutorAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sExeggutorAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), @@ -2679,7 +2679,7 @@ static const struct LevelUpMove sMarowakLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMarowakAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMarowakAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BONE_CLUB), @@ -2855,7 +2855,7 @@ static const struct LevelUpMove sWeezingLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sWeezingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sWeezingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_STRANGE_STEAM), @@ -3236,7 +3236,7 @@ static const struct LevelUpMove sMrMimeLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMrMimeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMrMimeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COPYCAT), LEVEL_UP_MOVE( 1, MOVE_ENCORE), LEVEL_UP_MOVE( 1, MOVE_ROLE_PLAY), @@ -3566,7 +3566,7 @@ static const struct LevelUpMove sTaurosLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaCombatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3584,7 +3584,7 @@ static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaBlazeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3602,7 +3602,7 @@ static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanAquaBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaAquaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -4068,7 +4068,7 @@ static const struct LevelUpMove sArticunoLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sArticunoGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sArticunoGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_SHIFT), LEVEL_UP_MOVE( 5, MOVE_CONFUSION), @@ -4110,7 +4110,7 @@ static const struct LevelUpMove sZapdosLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZapdosGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZapdosGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 5, MOVE_ROCK_SMASH), @@ -4152,7 +4152,7 @@ static const struct LevelUpMove sMoltresLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMoltresGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMoltresGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 5, MOVE_PAYBACK), @@ -4394,7 +4394,7 @@ static const struct LevelUpMove sTyphlosionLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sTyphlosionHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sTyphlosionHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_HEX), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_EMBER), @@ -5141,7 +5141,7 @@ static const struct LevelUpMove sQuagsireLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sWooperPaldeanLevelUpLearnset[] = { +static const struct LevelUpMove sWooperPaldeaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 4, MOVE_TACKLE), @@ -5507,7 +5507,7 @@ static const struct LevelUpMove sQwilfishLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sQwilfishHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sQwilfishHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 5, MOVE_SPIKES), LEVEL_UP_MOVE( 9, MOVE_PIN_MISSILE), @@ -5615,7 +5615,7 @@ static const struct LevelUpMove sWeavileLevelUpLearnset[] = { #endif //P_GEN_4_CROSS_EVOS #if P_HISUIAN_FORMS -static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSneaselHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_ROCK_SMASH), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -5836,7 +5836,7 @@ static const struct LevelUpMove sCorsolaLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sCorsolaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sCorsolaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_ASTONISH), @@ -6565,7 +6565,7 @@ static const struct LevelUpMove sLinooneLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZigzagoonGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 3, MOVE_SAND_ATTACK), @@ -6583,7 +6583,7 @@ static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sLinooneGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sLinooneGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), @@ -9478,7 +9478,7 @@ static const struct LevelUpMove sWormadamPlantCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamSandyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(10, MOVE_PROTECT), LEVEL_UP_MOVE(15, MOVE_BUG_BITE), @@ -9495,7 +9495,7 @@ static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamTrashCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamTrashLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(10, MOVE_PROTECT), LEVEL_UP_MOVE(15, MOVE_BUG_BITE), @@ -10708,7 +10708,7 @@ static const struct LevelUpMove sSamurottLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSamurottHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSamurottHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), @@ -11602,7 +11602,7 @@ static const struct LevelUpMove sLilligantLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sLilligantHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sLilligantHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 5, MOVE_LEAFAGE), @@ -11785,7 +11785,7 @@ static const struct LevelUpMove sDarmanitanLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarumakaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_TAUNT), @@ -11803,7 +11803,7 @@ static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDarmanitanGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarmanitanGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -12002,7 +12002,7 @@ static const struct LevelUpMove sCofagrigusLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sYamaskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sYamaskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 4, MOVE_HAZE), @@ -12231,7 +12231,7 @@ static const struct LevelUpMove sZoroarkLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoruaHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -12242,7 +12242,7 @@ static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sZoroarkHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoroarkHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -13245,7 +13245,7 @@ static const struct LevelUpMove sStunfiskLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sStunfiskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sStunfiskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -13509,7 +13509,7 @@ static const struct LevelUpMove sBraviaryLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sBraviaryHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sBraviaryHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(11, MOVE_TWISTER), @@ -14428,7 +14428,7 @@ static const struct LevelUpMove sFloetteLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sFloetteEternalFlowerLevelUpLearnset[] = { +static const struct LevelUpMove sFloetteEternalLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 6, MOVE_FAIRY_WIND), @@ -14584,7 +14584,7 @@ static const struct LevelUpMove sEspurrLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -14609,7 +14609,7 @@ static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_ME_FIRST), LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), @@ -15205,7 +15205,7 @@ static const struct LevelUpMove sGoodraLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSliggooHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), @@ -15217,7 +15217,7 @@ static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGoodraHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGoodraHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), @@ -15378,7 +15378,7 @@ static const struct LevelUpMove sAvaluggLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sAvaluggHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_POWDER_SNOW), @@ -15678,7 +15678,7 @@ static const struct LevelUpMove sDecidueyeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sDecidueyeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sDecidueyeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), @@ -18690,7 +18690,7 @@ static const struct LevelUpMove sEiscueLevelUpLearnset[] = { #endif //P_FAMILY_EISCUE #if P_FAMILY_INDEEDEE -static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_ENCORE), @@ -18707,7 +18707,7 @@ static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sIndeedeeFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_BATON_PASS), @@ -19035,7 +19035,7 @@ static const struct LevelUpMove sKubfuLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuSingleStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -19057,7 +19057,7 @@ static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuRapidStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuRapidStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), @@ -19206,7 +19206,7 @@ static const struct LevelUpMove sCalyrexLevelUpLearnset[] = { }; #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexIceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GLACIAL_LANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -19242,7 +19242,7 @@ static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { #endif //P_FUSION_FORMS #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexShadowRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexShadowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTRAL_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -19493,7 +19493,7 @@ static const struct LevelUpMove sLechonkLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_DISARMING_VOICE), @@ -19512,7 +19512,7 @@ static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 3, MOVE_DISARMING_VOICE), diff --git a/src/data/pokemon/level_up_learnsets/gen_5.h b/src/data/pokemon/level_up_learnsets/gen_5.h index b02bbdf4304a..cb99b6375d48 100644 --- a/src/data/pokemon/level_up_learnsets/gen_5.h +++ b/src/data/pokemon/level_up_learnsets/gen_5.h @@ -356,7 +356,7 @@ static const struct LevelUpMove sRaticateLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRattataAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 4, MOVE_QUICK_ATTACK), @@ -373,7 +373,7 @@ static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRaticateAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaticateAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), @@ -521,7 +521,7 @@ static const struct LevelUpMove sRaichuLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRaichuAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaichuAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_SPEED_SWAP), @@ -581,7 +581,7 @@ static const struct LevelUpMove sSandslashLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandshrewAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 3, MOVE_BIDE), @@ -602,7 +602,7 @@ static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSandslashAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandslashAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), @@ -792,7 +792,7 @@ static const struct LevelUpMove sNinetalesLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sVulpixAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 7, MOVE_ROAR), @@ -816,7 +816,7 @@ static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sNinetalesAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sNinetalesAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), @@ -1114,7 +1114,7 @@ static const struct LevelUpMove sDugtrioLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDiglettAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 4, MOVE_GROWL), @@ -1132,7 +1132,7 @@ static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDugtrioAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDugtrioAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), @@ -1202,7 +1202,7 @@ static const struct LevelUpMove sPersianLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_BITE), @@ -1222,7 +1222,7 @@ static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sPersianAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_QUASH), @@ -1251,7 +1251,7 @@ static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS -static const struct LevelUpMove sMeowthGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_HONE_CLAWS), @@ -1438,7 +1438,7 @@ static const struct LevelUpMove sArcanineLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGrowlitheHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), @@ -1450,7 +1450,7 @@ static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sArcanineHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sArcanineHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), @@ -1798,7 +1798,7 @@ static const struct LevelUpMove sGolemLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGeodudeAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 4, MOVE_CHARGE), @@ -1818,7 +1818,7 @@ static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGravelerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CHARGE), @@ -1840,7 +1840,7 @@ static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGolemAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGolemAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), @@ -1909,7 +1909,7 @@ static const struct LevelUpMove sRapidashLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sPonytaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -1926,7 +1926,7 @@ static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRapidashGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sRapidashGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), @@ -2017,7 +2017,7 @@ static const struct LevelUpMove sSlowkingLevelUpLearnset[] = { #endif //P_GEN_2_CROSS_EVOS #if P_GALARIAN_FORMS -static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowpokeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 3, MOVE_GROWL), @@ -2038,7 +2038,7 @@ static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowbroGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), @@ -2063,7 +2063,7 @@ static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { }; #if P_GEN_2_CROSS_EVOS -static const struct LevelUpMove sSlowkingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowkingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), @@ -2192,7 +2192,7 @@ static const struct LevelUpMove sFarfetchdLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sFarfetchdGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sFarfetchdGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 5, MOVE_LEER), @@ -2365,7 +2365,7 @@ static const struct LevelUpMove sMukLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGrimerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 4, MOVE_HARDEN), @@ -2385,7 +2385,7 @@ static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMukAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMukAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_POUND), @@ -2697,7 +2697,7 @@ static const struct LevelUpMove sElectrodeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sVoltorbHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), @@ -2709,7 +2709,7 @@ static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sElectrodeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sElectrodeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), @@ -2758,7 +2758,7 @@ static const struct LevelUpMove sExeggutorLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sExeggutorAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sExeggutorAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), @@ -2817,7 +2817,7 @@ static const struct LevelUpMove sMarowakLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMarowakAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMarowakAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BONE_CLUB), @@ -3002,7 +3002,7 @@ static const struct LevelUpMove sWeezingLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sWeezingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sWeezingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_STRANGE_STEAM), @@ -3407,7 +3407,7 @@ static const struct LevelUpMove sMrMimeLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMrMimeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMrMimeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COPYCAT), LEVEL_UP_MOVE( 1, MOVE_ENCORE), LEVEL_UP_MOVE( 1, MOVE_ROLE_PLAY), @@ -3753,7 +3753,7 @@ static const struct LevelUpMove sTaurosLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaCombatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3771,7 +3771,7 @@ static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaBlazeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3789,7 +3789,7 @@ static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanAquaBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaAquaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -4266,7 +4266,7 @@ static const struct LevelUpMove sArticunoLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sArticunoGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sArticunoGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_SHIFT), LEVEL_UP_MOVE( 5, MOVE_CONFUSION), @@ -4309,7 +4309,7 @@ static const struct LevelUpMove sZapdosLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZapdosGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZapdosGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 5, MOVE_ROCK_SMASH), @@ -4352,7 +4352,7 @@ static const struct LevelUpMove sMoltresLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMoltresGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMoltresGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 5, MOVE_PAYBACK), @@ -4606,7 +4606,7 @@ static const struct LevelUpMove sTyphlosionLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sTyphlosionHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sTyphlosionHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_HEX), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_EMBER), @@ -5406,7 +5406,7 @@ static const struct LevelUpMove sQuagsireLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sWooperPaldeanLevelUpLearnset[] = { +static const struct LevelUpMove sWooperPaldeaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 4, MOVE_TACKLE), @@ -5790,7 +5790,7 @@ static const struct LevelUpMove sQwilfishLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sQwilfishHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sQwilfishHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 5, MOVE_SPIKES), LEVEL_UP_MOVE( 9, MOVE_PIN_MISSILE), @@ -5913,7 +5913,7 @@ static const struct LevelUpMove sWeavileLevelUpLearnset[] = { #endif //P_GEN_4_CROSS_EVOS #if P_HISUIAN_FORMS -static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSneaselHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_ROCK_SMASH), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -6143,7 +6143,7 @@ static const struct LevelUpMove sCorsolaLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sCorsolaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sCorsolaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_ASTONISH), @@ -6893,7 +6893,7 @@ static const struct LevelUpMove sLinooneLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZigzagoonGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 3, MOVE_SAND_ATTACK), @@ -6911,7 +6911,7 @@ static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sLinooneGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sLinooneGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), @@ -9937,7 +9937,7 @@ static const struct LevelUpMove sWormadamPlantCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamSandyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(10, MOVE_PROTECT), LEVEL_UP_MOVE(15, MOVE_BUG_BITE), @@ -9954,7 +9954,7 @@ static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamTrashCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamTrashLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(10, MOVE_PROTECT), LEVEL_UP_MOVE(15, MOVE_BUG_BITE), @@ -11231,7 +11231,7 @@ static const struct LevelUpMove sSamurottLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSamurottHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSamurottHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), @@ -12125,7 +12125,7 @@ static const struct LevelUpMove sLilligantLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sLilligantHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sLilligantHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 5, MOVE_LEAFAGE), @@ -12308,7 +12308,7 @@ static const struct LevelUpMove sDarmanitanLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarumakaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_TAUNT), @@ -12326,7 +12326,7 @@ static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDarmanitanGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarmanitanGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -12525,7 +12525,7 @@ static const struct LevelUpMove sCofagrigusLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sYamaskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sYamaskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 4, MOVE_HAZE), @@ -12754,7 +12754,7 @@ static const struct LevelUpMove sZoroarkLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoruaHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -12765,7 +12765,7 @@ static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sZoroarkHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoroarkHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -13768,7 +13768,7 @@ static const struct LevelUpMove sStunfiskLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sStunfiskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sStunfiskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -14032,7 +14032,7 @@ static const struct LevelUpMove sBraviaryLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sBraviaryHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sBraviaryHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(11, MOVE_TWISTER), @@ -14951,7 +14951,7 @@ static const struct LevelUpMove sFloetteLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sFloetteEternalFlowerLevelUpLearnset[] = { +static const struct LevelUpMove sFloetteEternalLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 6, MOVE_FAIRY_WIND), @@ -15107,7 +15107,7 @@ static const struct LevelUpMove sEspurrLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -15132,7 +15132,7 @@ static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_ME_FIRST), LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), @@ -15728,7 +15728,7 @@ static const struct LevelUpMove sGoodraLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSliggooHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), @@ -15740,7 +15740,7 @@ static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGoodraHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGoodraHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), @@ -15901,7 +15901,7 @@ static const struct LevelUpMove sAvaluggLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sAvaluggHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_POWDER_SNOW), @@ -16201,7 +16201,7 @@ static const struct LevelUpMove sDecidueyeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sDecidueyeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sDecidueyeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), @@ -19213,7 +19213,7 @@ static const struct LevelUpMove sEiscueLevelUpLearnset[] = { #endif //P_FAMILY_EISCUE #if P_FAMILY_INDEEDEE -static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_ENCORE), @@ -19230,7 +19230,7 @@ static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sIndeedeeFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_BATON_PASS), @@ -19558,7 +19558,7 @@ static const struct LevelUpMove sKubfuLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuSingleStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -19580,7 +19580,7 @@ static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuRapidStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuRapidStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), @@ -19729,7 +19729,7 @@ static const struct LevelUpMove sCalyrexLevelUpLearnset[] = { }; #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexIceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GLACIAL_LANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -19765,7 +19765,7 @@ static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { #endif //P_FUSION_FORMS #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexShadowRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexShadowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTRAL_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -20016,7 +20016,7 @@ static const struct LevelUpMove sLechonkLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_DISARMING_VOICE), @@ -20035,7 +20035,7 @@ static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 3, MOVE_DISARMING_VOICE), diff --git a/src/data/pokemon/level_up_learnsets/gen_6.h b/src/data/pokemon/level_up_learnsets/gen_6.h index 3286c5ce4ee3..32e5849cdaec 100644 --- a/src/data/pokemon/level_up_learnsets/gen_6.h +++ b/src/data/pokemon/level_up_learnsets/gen_6.h @@ -361,7 +361,7 @@ static const struct LevelUpMove sRaticateLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRattataAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 4, MOVE_QUICK_ATTACK), @@ -378,7 +378,7 @@ static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRaticateAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaticateAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), @@ -533,7 +533,7 @@ static const struct LevelUpMove sRaichuLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRaichuAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaichuAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_SPEED_SWAP), @@ -593,7 +593,7 @@ static const struct LevelUpMove sSandslashLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandshrewAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 3, MOVE_BIDE), @@ -614,7 +614,7 @@ static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSandslashAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandslashAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), @@ -812,7 +812,7 @@ static const struct LevelUpMove sNinetalesLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sVulpixAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 7, MOVE_ROAR), @@ -836,7 +836,7 @@ static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sNinetalesAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sNinetalesAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), @@ -1158,7 +1158,7 @@ static const struct LevelUpMove sDugtrioLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDiglettAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 4, MOVE_GROWL), @@ -1176,7 +1176,7 @@ static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDugtrioAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDugtrioAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), @@ -1247,7 +1247,7 @@ static const struct LevelUpMove sPersianLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_BITE), @@ -1267,7 +1267,7 @@ static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sPersianAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_QUASH), @@ -1296,7 +1296,7 @@ static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS -static const struct LevelUpMove sMeowthGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_HONE_CLAWS), @@ -1484,7 +1484,7 @@ static const struct LevelUpMove sArcanineLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGrowlitheHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), @@ -1496,7 +1496,7 @@ static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sArcanineHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sArcanineHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), @@ -1860,7 +1860,7 @@ static const struct LevelUpMove sGolemLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGeodudeAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 4, MOVE_CHARGE), @@ -1880,7 +1880,7 @@ static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGravelerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CHARGE), @@ -1902,7 +1902,7 @@ static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGolemAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGolemAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), @@ -1971,7 +1971,7 @@ static const struct LevelUpMove sRapidashLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sPonytaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -1988,7 +1988,7 @@ static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRapidashGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sRapidashGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), @@ -2081,7 +2081,7 @@ static const struct LevelUpMove sSlowkingLevelUpLearnset[] = { #endif //P_GEN_2_CROSS_EVOS #if P_GALARIAN_FORMS -static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowpokeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 3, MOVE_GROWL), @@ -2102,7 +2102,7 @@ static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowbroGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), @@ -2127,7 +2127,7 @@ static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { }; #if P_GEN_2_CROSS_EVOS -static const struct LevelUpMove sSlowkingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowkingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), @@ -2262,7 +2262,7 @@ static const struct LevelUpMove sFarfetchdLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sFarfetchdGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sFarfetchdGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 5, MOVE_LEER), @@ -2439,7 +2439,7 @@ static const struct LevelUpMove sMukLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGrimerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 4, MOVE_HARDEN), @@ -2459,7 +2459,7 @@ static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMukAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMukAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_POUND), @@ -2781,7 +2781,7 @@ static const struct LevelUpMove sElectrodeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sVoltorbHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), @@ -2793,7 +2793,7 @@ static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sElectrodeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sElectrodeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), @@ -2842,7 +2842,7 @@ static const struct LevelUpMove sExeggutorLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sExeggutorAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sExeggutorAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), @@ -2901,7 +2901,7 @@ static const struct LevelUpMove sMarowakLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMarowakAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMarowakAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BONE_CLUB), @@ -3098,7 +3098,7 @@ static const struct LevelUpMove sWeezingLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sWeezingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sWeezingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_STRANGE_STEAM), @@ -3523,7 +3523,7 @@ static const struct LevelUpMove sMrMimeLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMrMimeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMrMimeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COPYCAT), LEVEL_UP_MOVE( 1, MOVE_ENCORE), LEVEL_UP_MOVE( 1, MOVE_ROLE_PLAY), @@ -3876,7 +3876,7 @@ static const struct LevelUpMove sTaurosLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaCombatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3894,7 +3894,7 @@ static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaBlazeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3912,7 +3912,7 @@ static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanAquaBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaAquaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -4408,7 +4408,7 @@ static const struct LevelUpMove sArticunoLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sArticunoGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sArticunoGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_SHIFT), LEVEL_UP_MOVE( 5, MOVE_CONFUSION), @@ -4454,7 +4454,7 @@ static const struct LevelUpMove sZapdosLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZapdosGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZapdosGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 5, MOVE_ROCK_SMASH), @@ -4501,7 +4501,7 @@ static const struct LevelUpMove sMoltresLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMoltresGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMoltresGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 5, MOVE_PAYBACK), @@ -4760,7 +4760,7 @@ static const struct LevelUpMove sTyphlosionLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sTyphlosionHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sTyphlosionHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_HEX), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_EMBER), @@ -5588,7 +5588,7 @@ static const struct LevelUpMove sQuagsireLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sWooperPaldeanLevelUpLearnset[] = { +static const struct LevelUpMove sWooperPaldeaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 4, MOVE_TACKLE), @@ -5986,7 +5986,7 @@ static const struct LevelUpMove sQwilfishLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sQwilfishHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sQwilfishHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 5, MOVE_SPIKES), LEVEL_UP_MOVE( 9, MOVE_PIN_MISSILE), @@ -6114,7 +6114,7 @@ static const struct LevelUpMove sWeavileLevelUpLearnset[] = { #endif //P_GEN_4_CROSS_EVOS #if P_HISUIAN_FORMS -static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSneaselHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_ROCK_SMASH), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -6355,7 +6355,7 @@ static const struct LevelUpMove sCorsolaLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sCorsolaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sCorsolaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_ASTONISH), @@ -7144,7 +7144,7 @@ static const struct LevelUpMove sLinooneLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZigzagoonGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 3, MOVE_SAND_ATTACK), @@ -7162,7 +7162,7 @@ static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sLinooneGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sLinooneGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), @@ -10399,7 +10399,7 @@ static const struct LevelUpMove sWormadamPlantCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamSandyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(10, MOVE_PROTECT), LEVEL_UP_MOVE(15, MOVE_BUG_BITE), @@ -10416,7 +10416,7 @@ static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamTrashCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamTrashLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(10, MOVE_PROTECT), LEVEL_UP_MOVE(15, MOVE_BUG_BITE), @@ -11744,7 +11744,7 @@ static const struct LevelUpMove sSamurottLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSamurottHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSamurottHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), @@ -12664,7 +12664,7 @@ static const struct LevelUpMove sLilligantLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sLilligantHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sLilligantHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 5, MOVE_LEAFAGE), @@ -12851,7 +12851,7 @@ static const struct LevelUpMove sDarmanitanLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarumakaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_TAUNT), @@ -12869,7 +12869,7 @@ static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDarmanitanGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarmanitanGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -13072,7 +13072,7 @@ static const struct LevelUpMove sCofagrigusLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sYamaskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sYamaskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 4, MOVE_HAZE), @@ -13305,7 +13305,7 @@ static const struct LevelUpMove sZoroarkLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoruaHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -13316,7 +13316,7 @@ static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sZoroarkHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoroarkHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -14360,7 +14360,7 @@ static const struct LevelUpMove sStunfiskLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sStunfiskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sStunfiskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -14635,7 +14635,7 @@ static const struct LevelUpMove sBraviaryLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sBraviaryHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sBraviaryHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(11, MOVE_TWISTER), @@ -15599,7 +15599,7 @@ static const struct LevelUpMove sFloetteLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sFloetteEternalFlowerLevelUpLearnset[] = { +static const struct LevelUpMove sFloetteEternalLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 6, MOVE_FAIRY_WIND), @@ -15755,7 +15755,7 @@ static const struct LevelUpMove sEspurrLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -15780,7 +15780,7 @@ static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_ME_FIRST), LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), @@ -16376,7 +16376,7 @@ static const struct LevelUpMove sGoodraLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSliggooHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), @@ -16388,7 +16388,7 @@ static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGoodraHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGoodraHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), @@ -16549,7 +16549,7 @@ static const struct LevelUpMove sAvaluggLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sAvaluggHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_POWDER_SNOW), @@ -16851,7 +16851,7 @@ static const struct LevelUpMove sDecidueyeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sDecidueyeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sDecidueyeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), @@ -19863,7 +19863,7 @@ static const struct LevelUpMove sEiscueLevelUpLearnset[] = { #endif //P_FAMILY_EISCUE #if P_FAMILY_INDEEDEE -static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_ENCORE), @@ -19880,7 +19880,7 @@ static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sIndeedeeFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_BATON_PASS), @@ -20208,7 +20208,7 @@ static const struct LevelUpMove sKubfuLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuSingleStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -20230,7 +20230,7 @@ static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuRapidStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuRapidStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), @@ -20379,7 +20379,7 @@ static const struct LevelUpMove sCalyrexLevelUpLearnset[] = { }; #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexIceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GLACIAL_LANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -20415,7 +20415,7 @@ static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { #endif //P_FUSION_FORMS #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexShadowRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexShadowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTRAL_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -20666,7 +20666,7 @@ static const struct LevelUpMove sLechonkLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_DISARMING_VOICE), @@ -20685,7 +20685,7 @@ static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 3, MOVE_DISARMING_VOICE), diff --git a/src/data/pokemon/level_up_learnsets/gen_7.h b/src/data/pokemon/level_up_learnsets/gen_7.h index 1b95b442e0f2..f88e4bcba71b 100644 --- a/src/data/pokemon/level_up_learnsets/gen_7.h +++ b/src/data/pokemon/level_up_learnsets/gen_7.h @@ -367,7 +367,7 @@ static const struct LevelUpMove sRaticateLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRattataAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 4, MOVE_QUICK_ATTACK), @@ -384,7 +384,7 @@ static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRaticateAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaticateAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), @@ -542,7 +542,7 @@ static const struct LevelUpMove sRaichuLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRaichuAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaichuAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_SPEED_SWAP), @@ -603,7 +603,7 @@ static const struct LevelUpMove sSandslashLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandshrewAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 3, MOVE_BIDE), @@ -624,7 +624,7 @@ static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSandslashAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandslashAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), @@ -822,7 +822,7 @@ static const struct LevelUpMove sNinetalesLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sVulpixAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 7, MOVE_ROAR), @@ -846,7 +846,7 @@ static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sNinetalesAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sNinetalesAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), @@ -1179,7 +1179,7 @@ static const struct LevelUpMove sDugtrioLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDiglettAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 4, MOVE_GROWL), @@ -1197,7 +1197,7 @@ static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDugtrioAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDugtrioAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), @@ -1269,7 +1269,7 @@ static const struct LevelUpMove sPersianLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_BITE), @@ -1289,7 +1289,7 @@ static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sPersianAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_QUASH), @@ -1318,7 +1318,7 @@ static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS -static const struct LevelUpMove sMeowthGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_HONE_CLAWS), @@ -1514,7 +1514,7 @@ static const struct LevelUpMove sArcanineLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGrowlitheHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), @@ -1526,7 +1526,7 @@ static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sArcanineHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sArcanineHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), @@ -1898,7 +1898,7 @@ static const struct LevelUpMove sGolemLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGeodudeAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 4, MOVE_CHARGE), @@ -1918,7 +1918,7 @@ static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGravelerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CHARGE), @@ -1940,7 +1940,7 @@ static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGolemAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGolemAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), @@ -2010,7 +2010,7 @@ static const struct LevelUpMove sRapidashLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sPonytaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -2027,7 +2027,7 @@ static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRapidashGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sRapidashGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), @@ -2121,7 +2121,7 @@ static const struct LevelUpMove sSlowkingLevelUpLearnset[] = { #endif //P_GEN_2_CROSS_EVOS #if P_GALARIAN_FORMS -static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowpokeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 3, MOVE_GROWL), @@ -2142,7 +2142,7 @@ static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowbroGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), @@ -2167,7 +2167,7 @@ static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { }; #if P_GEN_2_CROSS_EVOS -static const struct LevelUpMove sSlowkingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowkingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), @@ -2305,7 +2305,7 @@ static const struct LevelUpMove sFarfetchdLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sFarfetchdGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sFarfetchdGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 5, MOVE_LEER), @@ -2490,7 +2490,7 @@ static const struct LevelUpMove sMukLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGrimerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 4, MOVE_HARDEN), @@ -2510,7 +2510,7 @@ static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMukAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMukAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_POUND), @@ -2837,7 +2837,7 @@ static const struct LevelUpMove sElectrodeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sVoltorbHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), @@ -2849,7 +2849,7 @@ static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sElectrodeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sElectrodeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), @@ -2899,7 +2899,7 @@ static const struct LevelUpMove sExeggutorLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sExeggutorAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sExeggutorAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), @@ -2960,7 +2960,7 @@ static const struct LevelUpMove sMarowakLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMarowakAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMarowakAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BONE_CLUB), @@ -3172,7 +3172,7 @@ static const struct LevelUpMove sWeezingLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sWeezingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sWeezingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_STRANGE_STEAM), @@ -3601,7 +3601,7 @@ static const struct LevelUpMove sMrMimeLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMrMimeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMrMimeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COPYCAT), LEVEL_UP_MOVE( 1, MOVE_ENCORE), LEVEL_UP_MOVE( 1, MOVE_ROLE_PLAY), @@ -3955,7 +3955,7 @@ static const struct LevelUpMove sTaurosLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaCombatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3973,7 +3973,7 @@ static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaBlazeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3991,7 +3991,7 @@ static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanAquaBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaAquaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -4505,7 +4505,7 @@ static const struct LevelUpMove sArticunoLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sArticunoGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sArticunoGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_SHIFT), LEVEL_UP_MOVE( 5, MOVE_CONFUSION), @@ -4549,7 +4549,7 @@ static const struct LevelUpMove sZapdosLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZapdosGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZapdosGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 5, MOVE_ROCK_SMASH), @@ -4593,7 +4593,7 @@ static const struct LevelUpMove sMoltresLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMoltresGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMoltresGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 5, MOVE_PAYBACK), @@ -4859,7 +4859,7 @@ static const struct LevelUpMove sTyphlosionLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sTyphlosionHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sTyphlosionHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_HEX), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_EMBER), @@ -5712,7 +5712,7 @@ static const struct LevelUpMove sQuagsireLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sWooperPaldeanLevelUpLearnset[] = { +static const struct LevelUpMove sWooperPaldeaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 4, MOVE_TACKLE), @@ -6118,7 +6118,7 @@ static const struct LevelUpMove sQwilfishLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sQwilfishHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sQwilfishHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 5, MOVE_SPIKES), LEVEL_UP_MOVE( 9, MOVE_PIN_MISSILE), @@ -6246,7 +6246,7 @@ static const struct LevelUpMove sWeavileLevelUpLearnset[] = { #endif //P_GEN_4_CROSS_EVOS #if P_HISUIAN_FORMS -static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSneaselHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_ROCK_SMASH), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -6490,7 +6490,7 @@ static const struct LevelUpMove sCorsolaLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sCorsolaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sCorsolaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_ASTONISH), @@ -7296,7 +7296,7 @@ static const struct LevelUpMove sLinooneLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZigzagoonGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 3, MOVE_SAND_ATTACK), @@ -7314,7 +7314,7 @@ static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sLinooneGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sLinooneGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), @@ -10633,7 +10633,7 @@ static const struct LevelUpMove sWormadamPlantCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamSandyLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -10656,7 +10656,7 @@ static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamTrashCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamTrashLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), @@ -12015,7 +12015,7 @@ static const struct LevelUpMove sSamurottLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSamurottHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSamurottHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), @@ -12953,7 +12953,7 @@ static const struct LevelUpMove sLilligantLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sLilligantHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sLilligantHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 5, MOVE_LEAFAGE), @@ -13140,7 +13140,7 @@ static const struct LevelUpMove sDarmanitanLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarumakaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_TAUNT), @@ -13158,7 +13158,7 @@ static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDarmanitanGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarmanitanGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -13362,7 +13362,7 @@ static const struct LevelUpMove sCofagrigusLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sYamaskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sYamaskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 4, MOVE_HAZE), @@ -13596,7 +13596,7 @@ static const struct LevelUpMove sZoroarkLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoruaHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -13607,7 +13607,7 @@ static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sZoroarkHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoroarkHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -14660,7 +14660,7 @@ static const struct LevelUpMove sStunfiskLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sStunfiskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sStunfiskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -14937,7 +14937,7 @@ static const struct LevelUpMove sBraviaryLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sBraviaryHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sBraviaryHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(11, MOVE_TWISTER), @@ -15926,7 +15926,7 @@ static const struct LevelUpMove sFloetteLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sFloetteEternalFlowerLevelUpLearnset[] = { +static const struct LevelUpMove sFloetteEternalLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), @@ -16090,7 +16090,7 @@ static const struct LevelUpMove sEspurrLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -16117,7 +16117,7 @@ static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_ME_FIRST), LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), @@ -16731,7 +16731,7 @@ static const struct LevelUpMove sGoodraLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSliggooHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), @@ -16743,7 +16743,7 @@ static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGoodraHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGoodraHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), @@ -16912,7 +16912,7 @@ static const struct LevelUpMove sAvaluggLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sAvaluggHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_POWDER_SNOW), @@ -17214,7 +17214,7 @@ static const struct LevelUpMove sDecidueyeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sDecidueyeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sDecidueyeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), @@ -20226,7 +20226,7 @@ static const struct LevelUpMove sEiscueLevelUpLearnset[] = { #endif //P_FAMILY_EISCUE #if P_FAMILY_INDEEDEE -static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_ENCORE), @@ -20243,7 +20243,7 @@ static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sIndeedeeFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_BATON_PASS), @@ -20571,7 +20571,7 @@ static const struct LevelUpMove sKubfuLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuSingleStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -20593,7 +20593,7 @@ static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuRapidStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuRapidStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), @@ -20742,7 +20742,7 @@ static const struct LevelUpMove sCalyrexLevelUpLearnset[] = { }; #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexIceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GLACIAL_LANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -20778,7 +20778,7 @@ static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { #endif //P_FUSION_FORMS #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexShadowRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexShadowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTRAL_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -21029,7 +21029,7 @@ static const struct LevelUpMove sLechonkLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_DISARMING_VOICE), @@ -21048,7 +21048,7 @@ static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 3, MOVE_DISARMING_VOICE), diff --git a/src/data/pokemon/level_up_learnsets/gen_8.h b/src/data/pokemon/level_up_learnsets/gen_8.h index 4357fdf64357..67d263c85960 100644 --- a/src/data/pokemon/level_up_learnsets/gen_8.h +++ b/src/data/pokemon/level_up_learnsets/gen_8.h @@ -358,7 +358,7 @@ static const struct LevelUpMove sRaticateLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRattataAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 4, MOVE_QUICK_ATTACK), @@ -375,7 +375,7 @@ static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRaticateAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaticateAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), @@ -553,7 +553,7 @@ static const struct LevelUpMove sRaichuLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRaichuAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaichuAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), @@ -626,7 +626,7 @@ static const struct LevelUpMove sSandslashLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandshrewAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 3, MOVE_MIST), @@ -647,7 +647,7 @@ static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSandslashAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandslashAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), @@ -893,7 +893,7 @@ static const struct LevelUpMove sNinetalesLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sVulpixAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 4, MOVE_DISABLE), @@ -913,7 +913,7 @@ static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sNinetalesAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sNinetalesAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), @@ -1271,7 +1271,7 @@ static const struct LevelUpMove sDugtrioLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDiglettAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 4, MOVE_GROWL), @@ -1288,7 +1288,7 @@ static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDugtrioAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDugtrioAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), @@ -1350,7 +1350,7 @@ static const struct LevelUpMove sPersianLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_FEINT), @@ -1367,7 +1367,7 @@ static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sPersianAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_POWER_GEM), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), LEVEL_UP_MOVE( 1, MOVE_QUASH), @@ -1390,7 +1390,7 @@ static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS -static const struct LevelUpMove sMeowthGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_HONE_CLAWS), @@ -1591,7 +1591,7 @@ static const struct LevelUpMove sArcanineLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGrowlitheHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), @@ -1603,7 +1603,7 @@ static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sArcanineHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sArcanineHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), @@ -1963,7 +1963,7 @@ static const struct LevelUpMove sGolemLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGeodudeAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 4, MOVE_CHARGE), @@ -1983,7 +1983,7 @@ static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGravelerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CHARGE), @@ -2005,7 +2005,7 @@ static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGolemAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGolemAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), @@ -2072,7 +2072,7 @@ static const struct LevelUpMove sRapidashLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sPonytaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -2089,7 +2089,7 @@ static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRapidashGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sRapidashGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), @@ -2183,7 +2183,7 @@ static const struct LevelUpMove sSlowkingLevelUpLearnset[] = { #endif //P_GEN_2_CROSS_EVOS #if P_GALARIAN_FORMS -static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowpokeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 3, MOVE_GROWL), @@ -2204,7 +2204,7 @@ static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowbroGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), @@ -2229,7 +2229,7 @@ static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { }; #if P_GEN_2_CROSS_EVOS -static const struct LevelUpMove sSlowkingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowkingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), @@ -2347,7 +2347,7 @@ static const struct LevelUpMove sFarfetchdLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sFarfetchdGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sFarfetchdGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 5, MOVE_LEER), @@ -2532,7 +2532,7 @@ static const struct LevelUpMove sMukLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGrimerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 4, MOVE_HARDEN), @@ -2552,7 +2552,7 @@ static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMukAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMukAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_POUND), @@ -2869,7 +2869,7 @@ static const struct LevelUpMove sElectrodeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sVoltorbHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), @@ -2881,7 +2881,7 @@ static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sElectrodeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sElectrodeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), @@ -2938,7 +2938,7 @@ static const struct LevelUpMove sExeggutorLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sExeggutorAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sExeggutorAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), @@ -3001,7 +3001,7 @@ static const struct LevelUpMove sMarowakLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMarowakAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMarowakAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_BONE), LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), @@ -3193,7 +3193,7 @@ static const struct LevelUpMove sWeezingLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sWeezingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sWeezingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_STRANGE_STEAM), @@ -3602,7 +3602,7 @@ static const struct LevelUpMove sMrMimeLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMrMimeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMrMimeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COPYCAT), LEVEL_UP_MOVE( 1, MOVE_ENCORE), LEVEL_UP_MOVE( 1, MOVE_ROLE_PLAY), @@ -3936,7 +3936,7 @@ static const struct LevelUpMove sTaurosLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaCombatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3954,7 +3954,7 @@ static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaBlazeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3972,7 +3972,7 @@ static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanAquaBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaAquaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -4555,7 +4555,7 @@ static const struct LevelUpMove sArticunoLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sArticunoGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sArticunoGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_SHIFT), LEVEL_UP_MOVE( 5, MOVE_CONFUSION), @@ -4599,7 +4599,7 @@ static const struct LevelUpMove sZapdosLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZapdosGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZapdosGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 5, MOVE_ROCK_SMASH), @@ -4643,7 +4643,7 @@ static const struct LevelUpMove sMoltresLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMoltresGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMoltresGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 5, MOVE_PAYBACK), @@ -4901,7 +4901,7 @@ static const struct LevelUpMove sTyphlosionLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sTyphlosionHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sTyphlosionHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_HEX), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_EMBER), @@ -5737,7 +5737,7 @@ static const struct LevelUpMove sQuagsireLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sWooperPaldeanLevelUpLearnset[] = { +static const struct LevelUpMove sWooperPaldeaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 4, MOVE_TACKLE), @@ -6158,7 +6158,7 @@ static const struct LevelUpMove sQwilfishLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sQwilfishHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sQwilfishHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 5, MOVE_SPIKES), LEVEL_UP_MOVE( 9, MOVE_PIN_MISSILE), @@ -6273,7 +6273,7 @@ static const struct LevelUpMove sWeavileLevelUpLearnset[] = { #endif //P_GEN_4_CROSS_EVOS #if P_HISUIAN_FORMS -static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSneaselHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_ROCK_SMASH), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -6502,7 +6502,7 @@ static const struct LevelUpMove sCorsolaLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sCorsolaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sCorsolaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_ASTONISH), @@ -7316,7 +7316,7 @@ static const struct LevelUpMove sLinooneLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZigzagoonGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 3, MOVE_SAND_ATTACK), @@ -7334,7 +7334,7 @@ static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sLinooneGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sLinooneGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), @@ -10656,7 +10656,7 @@ static const struct LevelUpMove sWormadamPlantCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamSandyLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -10679,7 +10679,7 @@ static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamTrashCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamTrashLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), @@ -12011,7 +12011,7 @@ static const struct LevelUpMove sSamurottLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSamurottHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSamurottHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), @@ -12904,7 +12904,7 @@ static const struct LevelUpMove sLilligantLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sLilligantHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sLilligantHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 5, MOVE_LEAFAGE), @@ -13074,7 +13074,7 @@ static const struct LevelUpMove sDarmanitanLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarumakaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_TAUNT), @@ -13092,7 +13092,7 @@ static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDarmanitanGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarmanitanGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -13284,7 +13284,7 @@ static const struct LevelUpMove sCofagrigusLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sYamaskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sYamaskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 4, MOVE_HAZE), @@ -13504,7 +13504,7 @@ static const struct LevelUpMove sZoroarkLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoruaHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -13515,7 +13515,7 @@ static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sZoroarkHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoroarkHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), @@ -14490,7 +14490,7 @@ static const struct LevelUpMove sStunfiskLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sStunfiskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sStunfiskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -14737,7 +14737,7 @@ static const struct LevelUpMove sBraviaryLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sBraviaryHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sBraviaryHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(11, MOVE_TWISTER), @@ -15676,7 +15676,7 @@ static const struct LevelUpMove sFloetteLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sFloetteEternalFlowerLevelUpLearnset[] = { +static const struct LevelUpMove sFloetteEternalLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), @@ -15833,7 +15833,7 @@ static const struct LevelUpMove sEspurrLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -15856,7 +15856,7 @@ static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -16419,7 +16419,7 @@ static const struct LevelUpMove sGoodraLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSliggooHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), @@ -16431,7 +16431,7 @@ static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGoodraHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGoodraHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), @@ -16595,7 +16595,7 @@ static const struct LevelUpMove sAvaluggLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sAvaluggHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_POWDER_SNOW), @@ -16885,7 +16885,7 @@ static const struct LevelUpMove sDecidueyeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sDecidueyeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sDecidueyeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), @@ -19797,7 +19797,7 @@ static const struct LevelUpMove sEiscueLevelUpLearnset[] = { #endif //P_FAMILY_EISCUE #if P_FAMILY_INDEEDEE -static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_ENCORE), @@ -19814,7 +19814,7 @@ static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sIndeedeeFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_BATON_PASS), @@ -20142,7 +20142,7 @@ static const struct LevelUpMove sKubfuLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuSingleStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -20164,7 +20164,7 @@ static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuRapidStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuRapidStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), @@ -20313,7 +20313,7 @@ static const struct LevelUpMove sCalyrexLevelUpLearnset[] = { }; #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexIceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GLACIAL_LANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -20349,7 +20349,7 @@ static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { #endif //P_FUSION_FORMS #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexShadowRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexShadowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTRAL_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -20600,7 +20600,7 @@ static const struct LevelUpMove sLechonkLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_DISARMING_VOICE), @@ -20619,7 +20619,7 @@ static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 3, MOVE_DISARMING_VOICE), diff --git a/src/data/pokemon/level_up_learnsets/gen_9.h b/src/data/pokemon/level_up_learnsets/gen_9.h index de35a1d36de0..9f6985bc9aba 100644 --- a/src/data/pokemon/level_up_learnsets/gen_9.h +++ b/src/data/pokemon/level_up_learnsets/gen_9.h @@ -354,7 +354,7 @@ static const struct LevelUpMove sRaticateLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRattataAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 4, MOVE_QUICK_ATTACK), @@ -371,7 +371,7 @@ static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRaticateAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaticateAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), @@ -545,7 +545,7 @@ static const struct LevelUpMove sRaichuLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sRaichuAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sRaichuAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_NUZZLE), LEVEL_UP_MOVE( 1, MOVE_ELECTRO_BALL), @@ -617,7 +617,7 @@ static const struct LevelUpMove sSandslashLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandshrewAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 3, MOVE_MIST), @@ -638,7 +638,7 @@ static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSandslashAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sSandslashAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_MIST), @@ -881,7 +881,7 @@ static const struct LevelUpMove sNinetalesLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sVulpixAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 4, MOVE_DISABLE), @@ -900,7 +900,7 @@ static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sNinetalesAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sNinetalesAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_MIST), @@ -1243,7 +1243,7 @@ static const struct LevelUpMove sDugtrioLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDiglettAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 4, MOVE_GROWL), @@ -1260,7 +1260,7 @@ static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDugtrioAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sDugtrioAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -1320,7 +1320,7 @@ static const struct LevelUpMove sPersianLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 4, MOVE_FEINT), @@ -1337,7 +1337,7 @@ static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sPersianAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_POWER_GEM), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -1359,7 +1359,7 @@ static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS -static const struct LevelUpMove sMeowthGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 4, MOVE_HONE_CLAWS), @@ -1549,7 +1549,7 @@ static const struct LevelUpMove sArcanineLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGrowlitheHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 4, MOVE_HOWL), @@ -1568,7 +1568,7 @@ static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sArcanineHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sArcanineHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_EXTREME_SPEED), LEVEL_UP_MOVE( 1, MOVE_FLAME_WHEEL), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), @@ -1916,7 +1916,7 @@ static const struct LevelUpMove sGolemLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGeodudeAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 4, MOVE_CHARGE), @@ -1936,7 +1936,7 @@ static const struct LevelUpMove sGeodudeAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGravelerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CHARGE), @@ -1956,7 +1956,7 @@ static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGolemAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGolemAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CHARGE), @@ -2019,7 +2019,7 @@ static const struct LevelUpMove sRapidashLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sPonytaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -2036,7 +2036,7 @@ static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sRapidashGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sRapidashGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), @@ -2132,7 +2132,7 @@ static const struct LevelUpMove sSlowkingLevelUpLearnset[] = { #endif //P_GEN_2_CROSS_EVOS #if P_GALARIAN_FORMS -static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowpokeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 3, MOVE_GROWL), @@ -2153,7 +2153,7 @@ static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowbroGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -2177,7 +2177,7 @@ static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { }; #if P_GEN_2_CROSS_EVOS -static const struct LevelUpMove sSlowkingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sSlowkingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_TOXIC), LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), @@ -2296,7 +2296,7 @@ static const struct LevelUpMove sFarfetchdLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sFarfetchdGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sFarfetchdGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 5, MOVE_LEER), @@ -2463,7 +2463,7 @@ static const struct LevelUpMove sMukLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sGrimerAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 4, MOVE_HARDEN), @@ -2483,7 +2483,7 @@ static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMukAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMukAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -2785,7 +2785,7 @@ static const struct LevelUpMove sElectrodeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sVoltorbHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_THUNDER_SHOCK), @@ -2806,7 +2806,7 @@ static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sElectrodeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sElectrodeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_CHLOROBLAST), LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -2872,7 +2872,7 @@ static const struct LevelUpMove sExeggutorLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sExeggutorAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sExeggutorAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), @@ -2935,7 +2935,7 @@ static const struct LevelUpMove sMarowakLevelUpLearnset[] = { }; #if P_ALOLAN_FORMS -static const struct LevelUpMove sMarowakAlolanLevelUpLearnset[] = { +static const struct LevelUpMove sMarowakAlolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_BONE), LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), @@ -3120,7 +3120,7 @@ static const struct LevelUpMove sWeezingLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sWeezingGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sWeezingGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_STRANGE_STEAM), LEVEL_UP_MOVE( 1, MOVE_DEFOG), @@ -3524,7 +3524,7 @@ static const struct LevelUpMove sMrMimeLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMrMimeGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMrMimeGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COPYCAT), LEVEL_UP_MOVE( 1, MOVE_ENCORE), LEVEL_UP_MOVE( 1, MOVE_ROLE_PLAY), @@ -3858,7 +3858,7 @@ static const struct LevelUpMove sTaurosLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaCombatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3876,7 +3876,7 @@ static const struct LevelUpMove sTaurosPaldeanCombatBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaBlazeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -3894,7 +3894,7 @@ static const struct LevelUpMove sTaurosPaldeanBlazeBreedLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sTaurosPaldeanAquaBreedLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosPaldeaAquaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_WORK_UP), @@ -4466,7 +4466,7 @@ static const struct LevelUpMove sArticunoLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sArticunoGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sArticunoGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 5, MOVE_CONFUSION), LEVEL_UP_MOVE(10, MOVE_REFLECT), @@ -4509,7 +4509,7 @@ static const struct LevelUpMove sZapdosLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZapdosGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZapdosGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 5, MOVE_ROCK_SMASH), @@ -4553,7 +4553,7 @@ static const struct LevelUpMove sMoltresLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sMoltresGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sMoltresGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 5, MOVE_PAYBACK), @@ -4798,7 +4798,7 @@ static const struct LevelUpMove sTyphlosionLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sTyphlosionHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sTyphlosionHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_INFERNAL_PARADE), LEVEL_UP_MOVE( 1, MOVE_GYRO_BALL), LEVEL_UP_MOVE( 1, MOVE_ERUPTION), @@ -5583,7 +5583,7 @@ static const struct LevelUpMove sQuagsireLevelUpLearnset[] = { }; #if P_PALDEAN_FORMS -static const struct LevelUpMove sWooperPaldeanLevelUpLearnset[] = { +static const struct LevelUpMove sWooperPaldeaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 4, MOVE_TACKLE), @@ -5962,7 +5962,7 @@ static const struct LevelUpMove sQwilfishLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sQwilfishHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sQwilfishHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 4, MOVE_HARDEN), @@ -6091,7 +6091,7 @@ static const struct LevelUpMove sWeavileLevelUpLearnset[] = { #endif //P_GEN_4_CROSS_EVOS #if P_HISUIAN_FORMS -static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSneaselHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), @@ -6335,7 +6335,7 @@ static const struct LevelUpMove sCorsolaLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sCorsolaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sCorsolaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_ASTONISH), @@ -7131,7 +7131,7 @@ static const struct LevelUpMove sLinooneLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sZigzagoonGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 3, MOVE_SAND_ATTACK), @@ -7149,7 +7149,7 @@ static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sLinooneGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sLinooneGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), @@ -10314,7 +10314,7 @@ static const struct LevelUpMove sWormadamPlantCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamSandyLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -10337,7 +10337,7 @@ static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sWormadamTrashCloakLevelUpLearnset[] = { +static const struct LevelUpMove sWormadamTrashLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), @@ -11663,7 +11663,7 @@ static const struct LevelUpMove sSamurottLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSamurottHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSamurottHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_CEASELESS_EDGE), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -12555,7 +12555,7 @@ static const struct LevelUpMove sLilligantLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sLilligantHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sLilligantHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_VICTORY_DANCE), LEVEL_UP_MOVE( 1, MOVE_TEETER_DANCE), LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), @@ -12750,7 +12750,7 @@ static const struct LevelUpMove sDarmanitanLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarumakaGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_TAUNT), @@ -12768,7 +12768,7 @@ static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sDarmanitanGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sDarmanitanGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -12960,7 +12960,7 @@ static const struct LevelUpMove sCofagrigusLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sYamaskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sYamaskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 4, MOVE_HAZE), @@ -13178,7 +13178,7 @@ static const struct LevelUpMove sZoroarkLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoruaHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 4, MOVE_TORMENT), @@ -13195,7 +13195,7 @@ static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sZoroarkHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sZoroarkHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -14149,7 +14149,7 @@ static const struct LevelUpMove sStunfiskLevelUpLearnset[] = { }; #if P_GALARIAN_FORMS -static const struct LevelUpMove sStunfiskGalarianLevelUpLearnset[] = { +static const struct LevelUpMove sStunfiskGalarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -14394,7 +14394,7 @@ static const struct LevelUpMove sBraviaryLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sBraviaryHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sBraviaryHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ESPER_WING), LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), @@ -15301,7 +15301,7 @@ static const struct LevelUpMove sFloetteLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sFloetteEternalFlowerLevelUpLearnset[] = { +static const struct LevelUpMove sFloetteEternalLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), @@ -15454,7 +15454,7 @@ static const struct LevelUpMove sEspurrLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), @@ -15477,7 +15477,7 @@ static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sMeowsticFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sMeowsticFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), @@ -16038,7 +16038,7 @@ static const struct LevelUpMove sGoodraLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sSliggooHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHELTER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -16056,7 +16056,7 @@ static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sGoodraHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sGoodraHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_IRON_TAIL), LEVEL_UP_MOVE( 1, MOVE_SHELTER), LEVEL_UP_MOVE( 1, MOVE_ACID_SPRAY), @@ -16228,7 +16228,7 @@ static const struct LevelUpMove sAvaluggLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sAvaluggHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), @@ -16521,7 +16521,7 @@ static const struct LevelUpMove sDecidueyeLevelUpLearnset[] = { }; #if P_HISUIAN_FORMS -static const struct LevelUpMove sDecidueyeHisuianLevelUpLearnset[] = { +static const struct LevelUpMove sDecidueyeHisuiLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TRIPLE_ARROWS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -19368,7 +19368,7 @@ static const struct LevelUpMove sEiscueLevelUpLearnset[] = { #endif //P_FAMILY_EISCUE #if P_FAMILY_INDEEDEE -static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_ENCORE), @@ -19385,7 +19385,7 @@ static const struct LevelUpMove sIndeedeeMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sIndeedeeFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sIndeedeeFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_BATON_PASS), @@ -19707,7 +19707,7 @@ static const struct LevelUpMove sKubfuLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuSingleStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_ENDURE), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -19728,7 +19728,7 @@ static const struct LevelUpMove sUrshifuSingleStrikeStyleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sUrshifuRapidStrikeStyleLevelUpLearnset[] = { +static const struct LevelUpMove sUrshifuRapidStrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_ENDURE), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), @@ -19876,7 +19876,7 @@ static const struct LevelUpMove sCalyrexLevelUpLearnset[] = { }; #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexIceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GLACIAL_LANCE), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_AVALANCHE), @@ -19913,7 +19913,7 @@ static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { #endif //P_FUSION_FORMS #if P_FUSION_FORMS -static const struct LevelUpMove sCalyrexShadowRiderLevelUpLearnset[] = { +static const struct LevelUpMove sCalyrexShadowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTRAL_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_HEX), LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), @@ -20173,7 +20173,7 @@ static const struct LevelUpMove sLechonkLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 5, MOVE_DISARMING_VOICE), @@ -20192,7 +20192,7 @@ static const struct LevelUpMove sOinkologneMaleLevelUpLearnset[] = { LEVEL_UP_END }; -static const struct LevelUpMove sOinkologneFemaleLevelUpLearnset[] = { +static const struct LevelUpMove sOinkologneFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 3, MOVE_DISARMING_VOICE), diff --git a/src/data/pokemon/pokedex_orders.h b/src/data/pokemon/pokedex_orders.h index 21968dd6eac9..1b0b32c63c54 100644 --- a/src/data/pokemon/pokedex_orders.h +++ b/src/data/pokemon/pokedex_orders.h @@ -1058,11 +1058,11 @@ const u16 gPokedexOrder_Weight[] = // 0.0 - 21.8 lbs / 0.0 - 9.9 kg NATIONAL_DEX_GASTLY, NATIONAL_DEX_HAUNTER, - NATIONAL_DEX_FLABEBE,//_RED_FLOWER, - //NATIONAL_DEX_FLABEBE_YELLOW_FLOWER, - //NATIONAL_DEX_FLABEBE_ORANGE_FLOWER, - //NATIONAL_DEX_FLABEBE_BLUE_FLOWER, - //NATIONAL_DEX_FLABEBE_WHITE_FLOWER, + NATIONAL_DEX_FLABEBE,//_RED, + //NATIONAL_DEX_FLABEBE_YELLOW, + //NATIONAL_DEX_FLABEBE_ORANGE, + //NATIONAL_DEX_FLABEBE_BLUE, + //NATIONAL_DEX_FLABEBE_WHITE, NATIONAL_DEX_COSMOG, NATIONAL_DEX_KARTANA, //NATIONAL_DEX_GIMMIGHOUL_ROAMING, @@ -1114,14 +1114,14 @@ const u16 gPokedexOrder_Weight[] = //NATIONAL_DEX_CASTFORM_RAINY, //NATIONAL_DEX_CASTFORM_SNOWY, // 2.0 lbs / 0.9 kg - NATIONAL_DEX_FLOETTE,//_RED_FLOWER, - //NATIONAL_DEX_FLOETTE_YELLOW_FLOWER, - //NATIONAL_DEX_FLOETTE_ORANGE_FLOWER, - //NATIONAL_DEX_FLOETTE_BLUE_FLOWER, - //NATIONAL_DEX_FLOETTE_WHITE_FLOWER, - //NATIONAL_DEX_FLOETTE_ETERNAL_FLOWER, + NATIONAL_DEX_FLOETTE,//_RED, + //NATIONAL_DEX_FLOETTE_YELLOW, + //NATIONAL_DEX_FLOETTE_ORANGE, + //NATIONAL_DEX_FLOETTE_BLUE, + //NATIONAL_DEX_FLOETTE_WHITE, + //NATIONAL_DEX_FLOETTE_ETERNAL, // 2.2 lbs / 1.0 kg - //NATIONAL_DEX_DIGLETT_ALOLAN, + //NATIONAL_DEX_DIGLETT_ALOLA, NATIONAL_DEX_KOFFING, NATIONAL_DEX_IGGLYBUFF, NATIONAL_DEX_SKIPLOOM, @@ -1191,7 +1191,7 @@ const u16 gPokedexOrder_Weight[] = // 5.1 lbs / 2.3 kg NATIONAL_DEX_TAILLOW, NATIONAL_DEX_SHUPPET, - NATIONAL_DEX_MAUSHOLD,//_FAMILY_OF_THREE, + NATIONAL_DEX_MAUSHOLD,//_THREE, // 5.3 lbs / 2.4 kg NATIONAL_DEX_SQUAWKABILLY,//_GREEN_PLUMAGE, //NATIONAL_DEX_SQUAWKABILLY_BLUE_PLUMAGE, @@ -1210,7 +1210,7 @@ const u16 gPokedexOrder_Weight[] = // 6.2 lbs / 2.8 kg NATIONAL_DEX_GOOMY, //NATIONAL_DEX_MIMIKYU_TOTEM_SIZED, - //NATIONAL_DEX_MAUSHOLD_FAMILY_OF_FOUR, + //NATIONAL_DEX_MAUSHOLD_FOUR, // 6.4 lbs / 2.9 kg NATIONAL_DEX_CATERPIE, // 6.6 lbs / 3.0 kg @@ -1233,7 +1233,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_TOGEDEMARU, // 7.5 lbs / 3.4 kg NATIONAL_DEX_BURMY,//_PLANT_CLOAK, - //NATIONAL_DEX_BURMY_SANDY_CLOAK, + //NATIONAL_DEX_BURMY_SANDY, //NATIONAL_DEX_BURMY_TRASH_CLOAK, NATIONAL_DEX_ORICORIO,//_BAILE, //NATIONAL_DEX_ORICORIO_POM_POM, @@ -1252,7 +1252,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_MASQUERAIN, NATIONAL_DEX_WATTREL, // 8.4 lbs / 3.8 kg - //NATIONAL_DEX_RATTATA_ALOLAN, + //NATIONAL_DEX_RATTATA_ALOLA, NATIONAL_DEX_SNOM, // 8.6 lbs / 3.9 kg NATIONAL_DEX_QWILFISH, @@ -1275,7 +1275,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_SPRIGATITO, // 9.3 lbs / 4.2 kg NATIONAL_DEX_MEOWTH, - //NATIONAL_DEX_MEOWTH_ALOLAN, + //NATIONAL_DEX_MEOWTH_ALOLA, NATIONAL_DEX_PLUSLE, NATIONAL_DEX_MINUN, // 9.5 lbs / 4.3 kg @@ -1366,16 +1366,16 @@ const u16 gPokedexOrder_Weight[] = //NATIONAL_DEX_PIKACHU_ROCK_STAR, //NATIONAL_DEX_PIKACHU_BELLE, //NATIONAL_DEX_PIKACHU_POP_STAR, - //NATIONAL_DEX_PIKACHU_PH_D, + //NATIONAL_DEX_PIKACHU_PHD, //NATIONAL_DEX_PIKACHU_LIBRE, - //NATIONAL_DEX_PIKACHU_ORIGINAL_CAP, - //NATIONAL_DEX_PIKACHU_HOENN_CAP, - //NATIONAL_DEX_PIKACHU_SINNOH_CAP, - //NATIONAL_DEX_PIKACHU_UNOVA_CAP, - //NATIONAL_DEX_PIKACHU_KALOS_CAP, - //NATIONAL_DEX_PIKACHU_ALOLA_CAP, - //NATIONAL_DEX_PIKACHU_PARTNER_CAP, - //NATIONAL_DEX_PIKACHU_WORLD_CAP, + //NATIONAL_DEX_PIKACHU_ORIGINAL, + //NATIONAL_DEX_PIKACHU_HOENN, + //NATIONAL_DEX_PIKACHU_SINNOH, + //NATIONAL_DEX_PIKACHU_UNOVA, + //NATIONAL_DEX_PIKACHU_KALOS, + //NATIONAL_DEX_PIKACHU_ALOLA, + //NATIONAL_DEX_PIKACHU_PARTNER, + //NATIONAL_DEX_PIKACHU_WORLD, NATIONAL_DEX_MAGNEMITE, NATIONAL_DEX_SENTRET, NATIONAL_DEX_SMOOCHUM, @@ -1390,7 +1390,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_CHIMCHAR, // 13.9 lbs / 6.3 kg NATIONAL_DEX_SHELLOS,//_WEST_SEA, - //NATIONAL_DEX_SHELLOS_EAST_SEA, + //NATIONAL_DEX_SHELLOS_EAST, // 14.1 lbs / 6.4 kg NATIONAL_DEX_WEEPINBELL, NATIONAL_DEX_CHIKORITA, @@ -1400,8 +1400,8 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_EEVEE, NATIONAL_DEX_SWINUB, NATIONAL_DEX_WORMADAM,//_PLANT_CLOAK, - //NATIONAL_DEX_WORMADAM_SANDY_CLOAK, - //NATIONAL_DEX_WORMADAM_TRASH_CLOAK, + //NATIONAL_DEX_WORMADAM_SANDY, + //NATIONAL_DEX_WORMADAM_TRASH, NATIONAL_DEX_MELOETTA,//_ARIA, //NATIONAL_DEX_MELOETTA_PIROUETTE, NATIONAL_DEX_PAWMO, @@ -1478,7 +1478,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_DRILBUR, NATIONAL_DEX_CUBCHOO, NATIONAL_DEX_MEOWSTIC,//_MALE, - //NATIONAL_DEX_MEOWSTIC_FEMALE, + //NATIONAL_DEX_MEOWSTIC_F, NATIONAL_DEX_CHEWTLE, // 19.0 lbs / 8.6 kg NATIONAL_DEX_GLOOM, @@ -1519,17 +1519,17 @@ const u16 gPokedexOrder_Weight[] = // 21.8 lbs / 9.9 kg NATIONAL_DEX_METAPOD, NATIONAL_DEX_VULPIX, - //NATIONAL_DEX_VULPIX_ALOLAN, + //NATIONAL_DEX_VULPIX_ALOLA, NATIONAL_DEX_TEPIG, // 22.0 lbs / 10.0 kg NATIONAL_DEX_KAKUNA, NATIONAL_DEX_MAGIKARP, NATIONAL_DEX_SILCOON, - NATIONAL_DEX_FLORGES,//_RED_FLOWER, - //NATIONAL_DEX_FLORGES_YELLOW_FLOWER, - //NATIONAL_DEX_FLORGES_ORANGE_FLOWER, - //NATIONAL_DEX_FLORGES_BLUE_FLOWER, - //NATIONAL_DEX_FLORGES_WHITE_FLOWER, + NATIONAL_DEX_FLORGES,//_RED, + //NATIONAL_DEX_FLORGES_YELLOW, + //NATIONAL_DEX_FLORGES_ORANGE, + //NATIONAL_DEX_FLORGES_BLUE, + //NATIONAL_DEX_FLORGES_WHITE, // 22.3 lbs / 10.1 kg NATIONAL_DEX_PURRLOIN, // 22.5 lbs / 10.2 kg @@ -1756,7 +1756,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_SWELLOW, // 43.9 lbs / 19.9 kg NATIONAL_DEX_NINETALES, - //NATIONAL_DEX_NINETALES_ALOLAN, + //NATIONAL_DEX_NINETALES_ALOLA, NATIONAL_DEX_KOMALA, NATIONAL_DEX_THIEVUL, // 44.1 lbs / 20.0 kg @@ -1771,7 +1771,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_KIRLIA, NATIONAL_DEX_RIOLU, // 44.8 lbs / 20.3 kg - //NATIONAL_DEX_GEODUDE_ALOLAN, + //NATIONAL_DEX_GEODUDE_ALOLA, NATIONAL_DEX_AMBIPOM, // 45.2 lbs / 20.5 kg NATIONAL_DEX_SHUCKLE, @@ -1788,7 +1788,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_TYROGUE, NATIONAL_DEX_KLINK, NATIONAL_DEX_HELIOLISK, - //NATIONAL_DEX_RAICHU_ALOLAN, + //NATIONAL_DEX_RAICHU_ALOLA, NATIONAL_DEX_BRUTE_BONNET, // 46.7 lbs / 21.2 kg NATIONAL_DEX_HOOTHOOT, @@ -1863,7 +1863,7 @@ const u16 gPokedexOrder_Weight[] = // 56.2 lbs / 25.5 kg NATIONAL_DEX_KRICKETUNE, NATIONAL_DEX_LEAFEON, - //NATIONAL_DEX_RATICATE_ALOLAN, + //NATIONAL_DEX_RATICATE_ALOLA, // 57.1 lbs / 25.5 kg NATIONAL_DEX_GLACEON, // 57.3 lbs / 26.0 kg @@ -1932,7 +1932,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_BLITZLE, // 65.9 lbs / 29.9 kg NATIONAL_DEX_GASTRODON,//_WEST_SEA, - //NATIONAL_DEX_GASTRODON_EAST_SEA, + //NATIONAL_DEX_GASTRODON_EAST, // 66.1 lbs / 30.0 kg NATIONAL_DEX_PIDGEOTTO, NATIONAL_DEX_RAICHU, @@ -1993,7 +1993,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_FRILLISH, NATIONAL_DEX_DURANT, NATIONAL_DEX_CINDERACE, - //NATIONAL_DEX_PERSIAN_ALOLAN, + //NATIONAL_DEX_PERSIAN_ALOLA, NATIONAL_DEX_TOEDSCOOL, // 73.4 lbs / 33.3 kg NATIONAL_DEX_DUGTRIO, @@ -2009,7 +2009,7 @@ const u16 gPokedexOrder_Weight[] = // 74.7 lbs / 33.9 kg NATIONAL_DEX_POLITOED, // 75.0 lbs / 34.0 kg - //NATIONAL_DEX_MAROWAK_ALOLAN, + //NATIONAL_DEX_MAROWAK_ALOLA, NATIONAL_DEX_WEAVILE, NATIONAL_DEX_PORYGON_Z, NATIONAL_DEX_BOLTUND, @@ -2076,7 +2076,7 @@ const u16 gPokedexOrder_Weight[] = // 87.7 lbs / 39.8 kg NATIONAL_DEX_OGERPON, // 88.2 lbs / 40.0 kg - //NATIONAL_DEX_SANDSHREW_ALOLAN, + //NATIONAL_DEX_SANDSHREW_ALOLA, NATIONAL_DEX_CLEFABLE, NATIONAL_DEX_LATIAS, NATIONAL_DEX_GURDURR, @@ -2118,7 +2118,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_GIRAFARIG, // 92.6 lbs / 42.0 kg //NATIONAL_DEX_FARFETCHD_GALARIAN, - //NATIONAL_DEX_GRIMER_ALOLAN, + //NATIONAL_DEX_GRIMER_ALOLA, NATIONAL_DEX_LUXRAY, NATIONAL_DEX_FROSMOTH, // 92.8 lbs / 42.1 kg @@ -2210,7 +2210,7 @@ const u16 gPokedexOrder_Weight[] = // 113.5 lbs / 51.5 kg NATIONAL_DEX_YANMEGA, // 114.6 lbs / 52.0 kg - //NATIONAL_DEX_MUK_ALOLAN, + //NATIONAL_DEX_MUK_ALOLA, NATIONAL_DEX_BLAZIKEN, //NATIONAL_DEX_LATIAS_MEGA, NATIONAL_DEX_GALLADE, @@ -2225,7 +2225,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_AEGISLASH,//_SHIELD, //NATIONAL_DEX_AEGISLASH_BLADE, // 118.2 lbs / 53.6 kg - //NATIONAL_DEX_CALYREX_SHADOW_RIDER, + //NATIONAL_DEX_CALYREX_SHADOW, // 119.0 lbs / 54.0 kg NATIONAL_DEX_POLIWRATH, NATIONAL_DEX_HERACROSS, @@ -2233,7 +2233,7 @@ const u16 gPokedexOrder_Weight[] = // 120.2 lbs / 54.5 kg NATIONAL_DEX_MR_MIME, // 121.3 lbs / 55.0 kg - //NATIONAL_DEX_SANDSLASH_ALOLAN, + //NATIONAL_DEX_SANDSLASH_ALOLA, NATIONAL_DEX_GOLBAT, NATIONAL_DEX_TENTACRUEL, NATIONAL_DEX_PINSIR, @@ -2343,7 +2343,7 @@ const u16 gPokedexOrder_Weight[] = // 146.8 lbs / 66.6 kg NATIONAL_DEX_ELECTRODE, NATIONAL_DEX_RUNERIGUS, - //NATIONAL_DEX_DUGTRIO_ALOLAN, + //NATIONAL_DEX_DUGTRIO_ALOLA, // 149.9 lbs / 68.0 kg NATIONAL_DEX_MAGMORTAR, NATIONAL_DEX_LANDORUS,//_INCARNATE, @@ -2512,7 +2512,7 @@ const u16 gPokedexOrder_Weight[] = // 214.7 lbs / 97.4 kg //NATIONAL_DEX_PALAFIN_HERO, // 216.1 lbs / 98.0 kg - //NATIONAL_DEX_MAROWAK_ALOLAN_TOTEM_SIZED, + //NATIONAL_DEX_MAROWAK_ALOLA_TOTEM_SIZED, // 219.4 lbs / 99.5 kg NATIONAL_DEX_BERGMITE, // 220.5 lbs / 100.0 kg @@ -2554,9 +2554,9 @@ const u16 gPokedexOrder_Weight[] = // 231.5 lbs / 105.0 kg NATIONAL_DEX_GRAVELER, NATIONAL_DEX_MUNCHLAX, - //NATIONAL_DEX_RATICATE_ALOLAN_TOTEM_SIZED, - NATIONAL_DEX_URSHIFU,//_SINGLE_STRIKE_STYLE, - //NATIONAL_DEX_URSHIFU_RAPID_STRIKE_STYLE, + //NATIONAL_DEX_RATICATE_ALOLA_TOTEM_SIZED, + NATIONAL_DEX_URSHIFU,//_SINGLE_STRIKE, + //NATIONAL_DEX_URSHIFU_RAPID_STRIKE, NATIONAL_DEX_NACLSTACK, // 232.6 lbs / 105.5 kg NATIONAL_DEX_HAXORUS, @@ -2569,11 +2569,11 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_SPIRITOMB, NATIONAL_DEX_GOLISOPOD, // 242.5 lbs / 110.0 kg - //NATIONAL_DEX_GRAVELER_ALOLAN, + //NATIONAL_DEX_GRAVELER_ALOLA, //NATIONAL_DEX_TAUROS_PALDEAN_AQUA_BREED, NATIONAL_DEX_FERROTHORN, NATIONAL_DEX_MUDBRAY, - NATIONAL_DEX_ZACIAN,//_HERO_OF_MANY_BATTLES, + NATIONAL_DEX_ZACIAN,//_HERO, NATIONAL_DEX_BASCULEGION,//_MALE, //NATIONAL_DEX_BASCULEGION_FEMALE, // 243.6 lbs / 110.5 kg @@ -2732,7 +2732,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_ONIX, NATIONAL_DEX_DRAGONITE, NATIONAL_DEX_DHELMISE, - NATIONAL_DEX_ZAMAZENTA,//_HERO_OF_MANY_BATTLES, + NATIONAL_DEX_ZAMAZENTA,//_HERO, NATIONAL_DEX_BAXCALIBUR, // 467.4 lbs / 212.0 kg NATIONAL_DEX_TURTONATOR, @@ -2805,7 +2805,7 @@ const u16 gPokedexOrder_Weight[] = // 684.5 lbs / 310.5 kg NATIONAL_DEX_COALOSSAL, // 696.7 lbs / 316.0 kg - //NATIONAL_DEX_GOLEM_ALOLAN, + //NATIONAL_DEX_GOLEM_ALOLA, // 705.4 lbs / 320.0 kg NATIONAL_DEX_ARCEUS,//_NORMAL, //NATIONAL_DEX_ARCEUS_FIGHTING, @@ -2869,7 +2869,7 @@ const u16 gPokedexOrder_Weight[] = // 881.8 lbs / 400.0 kg NATIONAL_DEX_STEELIX, // 916.2 lbs / 415.6 kg - //NATIONAL_DEX_EXEGGUTOR_ALOLAN, + //NATIONAL_DEX_EXEGGUTOR_ALOLA, // 925.9 lbs / 420.0 kg NATIONAL_DEX_REGIGIGAS, // 948.0 lbs / 430.0 kg @@ -2913,7 +2913,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_MELMETAL, NATIONAL_DEX_GLASTRIER, // 1783.8 lbs / 809.1 kg - //NATIONAL_DEX_CALYREX_ICE_RIDER, + //NATIONAL_DEX_CALYREX_ICE, // 1807.8 lbs / 820.0 kg NATIONAL_DEX_STAKATAKA, // 1871.0 lbs / 848.7 kg @@ -2938,11 +2938,11 @@ const u16 gPokedexOrder_Height[] = { // 0'04" / 0.1m NATIONAL_DEX_JOLTIK, - NATIONAL_DEX_FLABEBE,//_RED_FLOWER, - //NATIONAL_DEX_FLABEBE_YELLOW_FLOWER, - //NATIONAL_DEX_FLABEBE_ORANGE_FLOWER, - //NATIONAL_DEX_FLABEBE_BLUE_FLOWER, - //NATIONAL_DEX_FLABEBE_WHITE_FLOWER, + NATIONAL_DEX_FLABEBE,//_RED, + //NATIONAL_DEX_FLABEBE_YELLOW, + //NATIONAL_DEX_FLABEBE_ORANGE, + //NATIONAL_DEX_FLABEBE_BLUE, + //NATIONAL_DEX_FLABEBE_WHITE, NATIONAL_DEX_CUTIEFLY, NATIONAL_DEX_COMFEY, NATIONAL_DEX_COSMOEM, @@ -2952,23 +2952,23 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_POLTCHAGEIST, // 0'08" / 0.2m NATIONAL_DEX_DIGLETT, - //NATIONAL_DEX_DIGLETT_ALOLAN, + //NATIONAL_DEX_DIGLETT_ALOLA, NATIONAL_DEX_NATU, NATIONAL_DEX_AZURILL, NATIONAL_DEX_BUDEW, NATIONAL_DEX_BURMY,//_PLANT_CLOAK, - //NATIONAL_DEX_BURMY_SANDY_CLOAK, + //NATIONAL_DEX_BURMY_SANDY, //NATIONAL_DEX_BURMY_TRASH_CLOAK, NATIONAL_DEX_CHINGLING, NATIONAL_DEX_SHAYMIN,//_LAND, NATIONAL_DEX_FOONGUS, NATIONAL_DEX_TYNAMO, - NATIONAL_DEX_FLOETTE,//_RED_FLOWER, - //NATIONAL_DEX_FLOETTE_YELLOW_FLOWER, - //NATIONAL_DEX_FLOETTE_ORANGE_FLOWER, - //NATIONAL_DEX_FLOETTE_BLUE_FLOWER, - //NATIONAL_DEX_FLOETTE_WHITE_FLOWER, - //NATIONAL_DEX_FLOETTE_ETERNAL_FLOWER, + NATIONAL_DEX_FLOETTE,//_RED, + //NATIONAL_DEX_FLOETTE_YELLOW, + //NATIONAL_DEX_FLOETTE_ORANGE, + //NATIONAL_DEX_FLOETTE_BLUE, + //NATIONAL_DEX_FLOETTE_WHITE, + //NATIONAL_DEX_FLOETTE_ETERNAL, NATIONAL_DEX_SPRITZEE, NATIONAL_DEX_DEDENNE, NATIONAL_DEX_KLEFKI, @@ -2994,7 +2994,7 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_WEEDLE, NATIONAL_DEX_PIDGEY, NATIONAL_DEX_RATTATA, - //NATIONAL_DEX_RATTATA_ALOLAN, + //NATIONAL_DEX_RATTATA_ALOLA, NATIONAL_DEX_SPEAROW, NATIONAL_DEX_PARAS, NATIONAL_DEX_MAGNEMITE, @@ -3018,7 +3018,7 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_KRICKETOT, NATIONAL_DEX_COMBEE, NATIONAL_DEX_SHELLOS,//_WEST_SEA, - //NATIONAL_DEX_SHELLOS_EAST_SEA, + //NATIONAL_DEX_SHELLOS_EAST, NATIONAL_DEX_ROTOM, NATIONAL_DEX_UXIE, NATIONAL_DEX_MESPRIT, @@ -3066,10 +3066,10 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_PIKACHU, NATIONAL_DEX_NIDORAN_F, NATIONAL_DEX_MEOWTH, - //NATIONAL_DEX_MEOWTH_ALOLAN, + //NATIONAL_DEX_MEOWTH_ALOLA, //NATIONAL_DEX_MEOWTH_GALARIAN, NATIONAL_DEX_GEODUDE, - //NATIONAL_DEX_GEODUDE_ALOLAN, + //NATIONAL_DEX_GEODUDE_ALOLA, NATIONAL_DEX_KRABBY, NATIONAL_DEX_EXEGGCUTE, NATIONAL_DEX_CUBONE, @@ -3225,8 +3225,8 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_SHINX, NATIONAL_DEX_SHIELDON, NATIONAL_DEX_WORMADAM,//_PLANT_CLOAK, - //NATIONAL_DEX_WORMADAM_SANDY_CLOAK, - //NATIONAL_DEX_WORMADAM_TRASH_CLOAK, + //NATIONAL_DEX_WORMADAM_SANDY, + //NATIONAL_DEX_WORMADAM_TRASH, NATIONAL_DEX_CHERRIM,//_OVERCAST, //NATIONAL_DEX_CHERRIM_SUNSHINE, NATIONAL_DEX_GLAMEOW, @@ -3275,7 +3275,7 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_SANDSHREW, NATIONAL_DEX_CLEFAIRY, NATIONAL_DEX_VULPIX, - //NATIONAL_DEX_VULPIX_ALOLAN, + //NATIONAL_DEX_VULPIX_ALOLA, NATIONAL_DEX_POLIWAG, NATIONAL_DEX_KOFFING, NATIONAL_DEX_GOLDEEN, @@ -3343,7 +3343,7 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_LITLEO, NATIONAL_DEX_PANCHAM, NATIONAL_DEX_MEOWSTIC,//_MALE, - //NATIONAL_DEX_MEOWSTIC_FEMALE, + //NATIONAL_DEX_MEOWSTIC_F, NATIONAL_DEX_BRIONNE, NATIONAL_DEX_TRUMBEAK, NATIONAL_DEX_CRABRAWLER, @@ -3376,14 +3376,14 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_BULBASAUR, NATIONAL_DEX_METAPOD, NATIONAL_DEX_RATICATE, - //NATIONAL_DEX_RATICATE_ALOLAN, - //NATIONAL_DEX_RAICHU_ALOLAN, - //NATIONAL_DEX_SANDSHREW_ALOLAN, + //NATIONAL_DEX_RATICATE_ALOLA, + //NATIONAL_DEX_RAICHU_ALOLA, + //NATIONAL_DEX_SANDSHREW_ALOLA, NATIONAL_DEX_DUGTRIO, - //NATIONAL_DEX_DUGTRIO_ALOLAN, + //NATIONAL_DEX_DUGTRIO_ALOLA, NATIONAL_DEX_GROWLITHE, NATIONAL_DEX_BELLSPROUT, - //NATIONAL_DEX_GRIMER_ALOLAN, + //NATIONAL_DEX_GRIMER_ALOLA, NATIONAL_DEX_HOOTHOOT, NATIONAL_DEX_MISDREAVUS, NATIONAL_DEX_SLUGMA, @@ -3510,7 +3510,7 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_CRANIDOS, NATIONAL_DEX_MOTHIM, NATIONAL_DEX_GASTRODON,//_WEST_SEA, - //NATIONAL_DEX_GASTRODON_EAST_SEA, + //NATIONAL_DEX_GASTRODON_EAST, NATIONAL_DEX_MISMAGIUS, NATIONAL_DEX_HONCHKROW, NATIONAL_DEX_PORYGON_Z, @@ -3542,13 +3542,13 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_POLIWHIRL, NATIONAL_DEX_WEEPINBELL, NATIONAL_DEX_GRAVELER, - //NATIONAL_DEX_GRAVELER_ALOLAN, + //NATIONAL_DEX_GRAVELER_ALOLA, NATIONAL_DEX_PONYTA, NATIONAL_DEX_MAGNETON, - //NATIONAL_DEX_MUK_ALOLAN, + //NATIONAL_DEX_MUK_ALOLA, NATIONAL_DEX_DROWZEE, NATIONAL_DEX_MAROWAK, - //NATIONAL_DEX_MAROWAK_ALOLAN, + //NATIONAL_DEX_MAROWAK_ALOLA, NATIONAL_DEX_RHYHORN, NATIONAL_DEX_TANGELA, NATIONAL_DEX_VAPOREON, @@ -3613,8 +3613,8 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_BUTTERFREE, NATIONAL_DEX_PIDGEOTTO, NATIONAL_DEX_NINETALES, - //NATIONAL_DEX_NINETALES_ALOLAN, - //NATIONAL_DEX_PERSIAN_ALOLAN, + //NATIONAL_DEX_NINETALES_ALOLA, + //NATIONAL_DEX_PERSIAN_ALOLA, NATIONAL_DEX_SEEL, NATIONAL_DEX_CHANSEY, NATIONAL_DEX_STARMIE, @@ -3646,11 +3646,11 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_VANILLISH, NATIONAL_DEX_CRYOGONAL, NATIONAL_DEX_LARVESTA, - NATIONAL_DEX_FLORGES,//_RED_FLOWER, - //NATIONAL_DEX_FLORGES_YELLOW_FLOWER, - //NATIONAL_DEX_FLORGES_ORANGE_FLOWER, - //NATIONAL_DEX_FLORGES_BLUE_FLOWER, - //NATIONAL_DEX_FLORGES_WHITE_FLOWER, + NATIONAL_DEX_FLORGES,//_RED, + //NATIONAL_DEX_FLORGES_YELLOW, + //NATIONAL_DEX_FLORGES_ORANGE, + //NATIONAL_DEX_FLORGES_BLUE, + //NATIONAL_DEX_FLORGES_WHITE, //NATIONAL_DEX_GOURGEIST_LARGE, //NATIONAL_DEX_DIANCIE_MEGA, NATIONAL_DEX_TOUCANNON, @@ -3660,7 +3660,7 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_MABOSSTIFF, // 3'11" / 1.2m NATIONAL_DEX_FEAROW, - //NATIONAL_DEX_SANDSLASH_ALOLAN, + //NATIONAL_DEX_SANDSLASH_ALOLA, NATIONAL_DEX_VILEPLUME, //NATIONAL_DEX_ALAKAZAM_MEGA, NATIONAL_DEX_SLOWPOKE, @@ -3787,7 +3787,7 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_IRON_JUGULIS, // 4'07" / 1.4m //NATIONAL_DEX_BEEDRILL_MEGA, - //NATIONAL_DEX_RATICATE_ALOLAN_TOTEM_SIZED, + //NATIONAL_DEX_RATICATE_ALOLA_TOTEM_SIZED, NATIONAL_DEX_NIDOKING, NATIONAL_DEX_GOLEM, NATIONAL_DEX_DODUO, @@ -3952,11 +3952,11 @@ const u16 gPokedexOrder_Height[] = //NATIONAL_DEX_CHARIZARD_MEGA_Y, NATIONAL_DEX_GOLDUCK, NATIONAL_DEX_VICTREEBEL, - //NATIONAL_DEX_GOLEM_ALOLAN, + //NATIONAL_DEX_GOLEM_ALOLA, NATIONAL_DEX_RAPIDASH, //NATIONAL_DEX_RAPIDASH_GALARIAN, NATIONAL_DEX_DEWGONG, - //NATIONAL_DEX_MAROWAK_ALOLAN_TOTEM_SIZED, + //NATIONAL_DEX_MAROWAK_ALOLA_TOTEM_SIZED, //NATIONAL_DEX_PINSIR_MEGA, NATIONAL_DEX_ARTICUNO, //NATIONAL_DEX_ARTICUNO_GALARIAN, @@ -4046,8 +4046,8 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_TYPE_NULL, NATIONAL_DEX_TAPU_BULU, NATIONAL_DEX_INTELEON, - NATIONAL_DEX_URSHIFU,//_SINGLE_STRIKE_STYLE, - //NATIONAL_DEX_URSHIFU_RAPID_STRIKE_STYLE, + NATIONAL_DEX_URSHIFU,//_SINGLE_STRIKE, + //NATIONAL_DEX_URSHIFU_RAPID_STRIKE, NATIONAL_DEX_TOEDSCRUEL, NATIONAL_DEX_ESPATHRA, NATIONAL_DEX_CHIEN_PAO, @@ -4147,8 +4147,8 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_RHYPERIOR, NATIONAL_DEX_BUZZWOLE, NATIONAL_DEX_NECROZMA, - //NATIONAL_DEX_CALYREX_ICE_RIDER, - //NATIONAL_DEX_CALYREX_SHADOW_RIDER, + //NATIONAL_DEX_CALYREX_ICE, + //NATIONAL_DEX_CALYREX_SHADOW, NATIONAL_DEX_URSALUNA, // 8'02" / 2.5m NATIONAL_DEX_LAPRAS, @@ -4177,11 +4177,11 @@ const u16 gPokedexOrder_Height[] = // 9'02" / 2.8m NATIONAL_DEX_GOLURK, NATIONAL_DEX_COALOSSAL, - NATIONAL_DEX_ZACIAN,//_HERO_OF_MANY_BATTLES, + NATIONAL_DEX_ZACIAN,//_HERO, //NATIONAL_DEX_ZACIAN_CROWNED_SWORD, // 9'06" / 2.9m NATIONAL_DEX_ZEKROM, - NATIONAL_DEX_ZAMAZENTA,//_HERO_OF_MANY_BATTLES, + NATIONAL_DEX_ZAMAZENTA,//_HERO, //NATIONAL_DEX_ZAMAZENTA_CROWNED_SHIELD, // 9'10" / 3.0m //NATIONAL_DEX_WEEZING_GALARIAN, @@ -4297,7 +4297,7 @@ const u16 gPokedexOrder_Height[] = // 35'05" / 10.8m //NATIONAL_DEX_RAYQUAZA_MEGA, // 35'09" / 10.9m - //NATIONAL_DEX_EXEGGUTOR_ALOLAN, + //NATIONAL_DEX_EXEGGUTOR_ALOLA, // 12m NATIONAL_DEX_DONDOZO, // 47'07" / 14.5m diff --git a/src/data/pokemon/species_info.h b/src/data/pokemon/species_info.h index de8423fb4403..864fdc529732 100644 --- a/src/data/pokemon/species_info.h +++ b/src/data/pokemon/species_info.h @@ -11,6 +11,14 @@ #define FOOTPRINT(sprite) #endif +#if B_ENEMY_MON_SHADOW_STYLE >= GEN_4 && P_GBA_STYLE_SPECIES_GFX == FALSE +#define SHADOW(x, y, size) .enemyShadowXOffset = x, .enemyShadowYOffset = y, .enemyShadowSize = size, +#define NO_SHADOW .suppressEnemyShadow = TRUE, +#else +#define SHADOW(x, y, size) .enemyShadowXOffset = 0, .enemyShadowYOffset = 0, .enemyShadowSize = 0, +#define NO_SHADOW .suppressEnemyShadow = FALSE, +#endif + #define SIZE_32x32 1 #define SIZE_64x64 0 @@ -22,8 +30,16 @@ #define OVERWORLD_PAL(...) \ .overworldPalette = DEFAULT(NULL, __VA_ARGS__), \ .overworldShinyPalette = DEFAULT_2(NULL, __VA_ARGS__), +#if P_GENDER_DIFFERENCES +#define OVERWORLD_PAL_FEMALE(...) \ + .overworldPaletteFemale = DEFAULT(NULL, __VA_ARGS__), \ + .overworldShinyPaletteFemale = DEFAULT_2(NULL, __VA_ARGS__), +#else +#define OVERWORLD_PAL_FEMALE(...) +#endif //P_GENDER_DIFFERENCES #else #define OVERWORLD_PAL(...) +#define OVERWORLD_PAL_FEMALE(...) #endif //OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE #define OVERWORLD(picTable, _size, shadow, _tracks, ...) \ @@ -67,9 +83,38 @@ .affineAnims = gDummySpriteAffineAnimTable, \ }, \ OVERWORLD_PAL(__VA_ARGS__) + +#if P_GENDER_DIFFERENCES +#define OVERWORLD_FEMALE(picTable, _size, shadow, _tracks, ...) \ +.overworldDataFemale = { \ + .tileTag = TAG_NONE, \ + .paletteTag = OBJ_EVENT_PAL_TAG_DYNAMIC, \ + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, \ + .size = (_size == SIZE_32x32 ? 512 : 2048), \ + .width = (_size == SIZE_32x32 ? 32 : 64), \ + .height = (_size == SIZE_32x32 ? 32 : 64), \ + .paletteSlot = PALSLOT_NPC_1, \ + .shadowSize = shadow, \ + .inanimate = FALSE, \ + .compressed = COMP, \ + .tracks = _tracks, \ + .oam = (_size == SIZE_32x32 ? &gObjectEventBaseOam_32x32 : &gObjectEventBaseOam_64x64), \ + .subspriteTables = (_size == SIZE_32x32 ? sOamTables_32x32 : sOamTables_64x64), \ + .anims = sAnimTable_Following, \ + .images = picTable, \ + .affineAnims = gDummySpriteAffineAnimTable, \ +}, \ + OVERWORLD_PAL_FEMALE(__VA_ARGS__) +#else +#define OVERWORLD_FEMALE(picTable, _size, shadow, _tracks, ...) +#endif //P_GENDER_DIFFERENCES + #else #define OVERWORLD(picTable, _size, shadow, _tracks, ...) #define OVERWORLD_SET_ANIM(picTable, _size, shadow, _tracks, _anims, ...) +#define OVERWORLD_FEMALE(picTable, _size, shadow, _tracks, ...) +#define OVERWORLD_PAL(...) +#define OVERWORLD_PAL_FEMALE(...) #endif //OW_POKEMON_OBJECT_EVENTS // Maximum value for a female Pokémon is 254 (MON_FEMALE) which is 100% female. @@ -82,12 +127,6 @@ #define FLIP 0 #define NO_FLIP 1 -#if POKEMON_NAME_LENGTH >= 12 -#define HANDLE_EXPANDED_SPECIES_NAME(_name, ...) _(DEFAULT(_name, __VA_ARGS__)) -#else -#define HANDLE_EXPANDED_SPECIES_NAME(_name, ...) _(_name) -#endif - const struct SpeciesInfo gSpeciesInfo[] = { [SPECIES_NONE] = @@ -207,25 +246,27 @@ const struct SpeciesInfo gSpeciesInfo[] = .trainerOffset = 0, .frontPic = gMonFrontPic_CircledQuestionMark, .frontPicSize = MON_COORDS_SIZE(64, 64), - //.frontPicFemale = gMonFrontPic_CircledQuestionMark, - //.frontPicSizeFemale = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_None, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_CircledQuestionMark, .backPicSize = MON_COORDS_SIZE(64, 64), - //.backPicFemale = gMonBackPic_CircledQuestionMarkF, - //.backPicSizeFemale = MON_COORDS_SIZE(64, 64), .backPicYOffset = 7, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_CircledQuestionMark, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_CircledQuestionMarkF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), + .paletteFemale = gMonPalette_CircledQuestionMarkF, + .shinyPaletteFemale = gMonShinyPalette_CircledQuestionMarkF, + .iconSpriteFemale = gMonIcon_QuestionMarkF, + .iconPalIndexFemale = 1, +#endif //P_GENDER_DIFFERENCES .backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_CircledQuestionMark, .shinyPalette = gMonShinyPalette_CircledQuestionMark, - //.paletteFemale = gMonPalette_CircledQuestionMarkF, - .shinyPaletteFemale = gMonShinyPalette_CircledQuestionMarkF, .iconSprite = gMonIcon_QuestionMark, .iconPalIndex = 0, - //.iconSpriteFemale = gMonIcon_QuestionMarkF, - //.iconPalIndexFemale = 1, FOOTPRINT(QuestionMark) .levelUpLearnset = sNoneLevelUpLearnset, .teachableLearnset = sNoneTeachableLearnset, @@ -233,7 +274,7 @@ const struct SpeciesInfo gSpeciesInfo[] = {EVO_ITEM, ITEM_MOOMOO_MILK, SPECIES_NONE}), //.formSpeciesIdTable = sNoneFormSpeciesIdTable, //.formChangeTable = sNoneFormChangeTable, - .allPerfectIVs = TRUE, + //.perfectIVCount = NUM_STATS, }, */ }; diff --git a/src/data/pokemon/species_info/gen_1_families.h b/src/data/pokemon/species_info/gen_1_families.h index 70038c5425ec..ba9f845395b9 100644 --- a/src/data/pokemon/species_info/gen_1_families.h +++ b/src/data/pokemon/species_info/gen_1_families.h @@ -39,18 +39,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Bulbasaur, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 13, .frontAnimFrames = sAnims_Bulbasaur, .frontAnimId = ANIM_V_JUMPS_H_JUMPS, .backPic = gMonBackPic_Bulbasaur, - .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 32) : MON_COORDS_SIZE(56, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 13, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Bulbasaur, .shinyPalette = gMonShinyPalette_Bulbasaur, .iconSprite = gMonIcon_Bulbasaur, - .iconPalIndex = 4, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 4, + SHADOW(1, -1, SHADOW_SIZE_S) FOOTPRINT(Bulbasaur) OVERWORLD( sPicTable_Bulbasaur, @@ -102,18 +103,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Ivysaur, - .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(56, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 9, .frontAnimFrames = sAnims_Ivysaur, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Ivysaur, - .backPicSize = MON_COORDS_SIZE(64, 56), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), .backPicYOffset = 9, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Ivysaur, .shinyPalette = gMonShinyPalette_Ivysaur, .iconSprite = gMonIcon_Ivysaur, - .iconPalIndex = 4, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 4, + SHADOW(-1, 3, SHADOW_SIZE_L) FOOTPRINT(Ivysaur) OVERWORLD( sPicTable_Ivysaur, @@ -170,22 +172,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 388, .trainerOffset = 6, .frontPic = gMonFrontPic_Venusaur, - .frontPicFemale = gMonFrontPic_VenusaurF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, .frontAnimFrames = sAnims_Venusaur, .frontAnimId = ANIM_ROTATE_UP_SLAM_DOWN, .backPic = gMonBackPic_Venusaur, - .backPicFemale = gMonBackPic_VenusaurF, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicSizeFemale = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 10, .backAnimId = BACK_ANIM_H_SHAKE, .palette = gMonPalette_Venusaur, .shinyPalette = gMonShinyPalette_Venusaur, .iconSprite = gMonIcon_Venusaur, - .iconPalIndex = 4, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 4, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_VenusaurF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_VenusaurF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(2, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Venusaur) OVERWORLD( sPicTable_Venusaur, @@ -195,6 +200,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Venusaur, gShinyOverworldPalette_Venusaur ) + OVERWORLD_FEMALE( + sPicTable_VenusaurF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sVenusaurLevelUpLearnset, .teachableLearnset = sVenusaurTeachableLearnset, .formSpeciesIdTable = sVenusaurFormSpeciesIdTable, @@ -249,6 +260,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_VenusaurMega, .iconSprite = gMonIcon_VenusaurMega, .iconPalIndex = 4, + SHADOW(2, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Venusaur) .isMegaEvolution = TRUE, .levelUpLearnset = sVenusaurLevelUpLearnset, @@ -259,7 +271,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS - [SPECIES_VENUSAUR_GIGANTAMAX] = + [SPECIES_VENUSAUR_GMAX] = { .baseHP = 80, .baseAttack = 82, @@ -294,19 +306,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 0, .trainerScale = 388, .trainerOffset = 6, - .frontPic = gMonFrontPic_VenusaurGigantamax, + .frontPic = gMonFrontPic_VenusaurGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_VenusaurGigantamax, + .frontAnimFrames = sAnims_VenusaurGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_VenusaurGigantamax, + .backPic = gMonBackPic_VenusaurGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 11, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_VenusaurGigantamax, - .shinyPalette = gMonShinyPalette_VenusaurGigantamax, - .iconSprite = gMonIcon_VenusaurGigantamax, + .palette = gMonPalette_VenusaurGmax, + .shinyPalette = gMonShinyPalette_VenusaurGmax, + .iconSprite = gMonIcon_VenusaurGmax, .iconPalIndex = 0, + SHADOW(2, 4, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Venusaur) .isGigantamax = TRUE, .levelUpLearnset = sVenusaurLevelUpLearnset, @@ -353,18 +366,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Charmander, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 10, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, .frontAnimFrames = sAnims_Charmander, .frontAnimId = ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Charmander, - .backPicSize = MON_COORDS_SIZE(48, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(48, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 9, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Charmander, .shinyPalette = gMonShinyPalette_Charmander, .iconSprite = gMonIcon_Charmander, .iconPalIndex = 0, + SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Charmander) OVERWORLD( sPicTable_Charmander, @@ -416,18 +430,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Charmeleon, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 8, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, .frontAnimFrames = sAnims_Charmeleon, .frontAnimId = ANIM_BACK_AND_LUNGE, .backPic = gMonBackPic_Charmeleon, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Charmeleon, .shinyPalette = gMonShinyPalette_Charmeleon, .iconSprite = gMonIcon_Charmeleon, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Charmeleon) OVERWORLD( sPicTable_Charmeleon, @@ -484,17 +499,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 3, .frontPic = gMonFrontPic_Charizard, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, .frontAnimFrames = sAnims_Charizard, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Charizard, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 1, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 1, .backAnimId = BACK_ANIM_SHAKE_GLOW_RED, .palette = gMonPalette_Charizard, .shinyPalette = gMonShinyPalette_Charizard, .iconSprite = gMonIcon_Charizard, .iconPalIndex = 0, + SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(Charizard) OVERWORLD( sPicTable_Charizard, @@ -557,6 +573,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_CharizardMegaX, .iconSprite = gMonIcon_CharizardMegaX, .iconPalIndex = 0, + SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(Charizard) .isMegaEvolution = TRUE, .levelUpLearnset = sCharizardLevelUpLearnset, @@ -612,6 +629,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_CharizardMegaY, .iconSprite = gMonIcon_CharizardMegaY, .iconPalIndex = 0, + SHADOW(-1, 14, SHADOW_SIZE_L) FOOTPRINT(Charizard) .isMegaEvolution = TRUE, .levelUpLearnset = sCharizardLevelUpLearnset, @@ -622,7 +640,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS - [SPECIES_CHARIZARD_GIGANTAMAX] = + [SPECIES_CHARIZARD_GMAX] = { .baseHP = 78, .baseAttack = 84, @@ -656,19 +674,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 1, .trainerScale = 302, .trainerOffset = 3, - .frontPic = gMonFrontPic_CharizardGigantamax, + .frontPic = gMonFrontPic_CharizardGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_CharizardGigantamax, + .frontAnimFrames = sAnims_CharizardGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_CharizardGigantamax, + .backPic = gMonBackPic_CharizardGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 1, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_CharizardGigantamax, - .shinyPalette = gMonShinyPalette_CharizardGigantamax, - .iconSprite = gMonIcon_CharizardGigantamax, + .palette = gMonPalette_CharizardGmax, + .shinyPalette = gMonShinyPalette_CharizardGmax, + .iconSprite = gMonIcon_CharizardGmax, .iconPalIndex = 0, + SHADOW(1, 13, SHADOW_SIZE_L) FOOTPRINT(Charizard) .isGigantamax = TRUE, .levelUpLearnset = sCharizardLevelUpLearnset, @@ -715,18 +734,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Squirtle, - .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(40, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 11, .frontAnimFrames = sAnims_Squirtle, - .frontAnimId = ANIM_V_JUMPS_BIG, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONCAVE : ANIM_V_JUMPS_BIG, .backPic = gMonBackPic_Squirtle, - .backPicSize = MON_COORDS_SIZE(48, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(48, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 9, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Squirtle, .shinyPalette = gMonShinyPalette_Squirtle, .iconSprite = gMonIcon_Squirtle, .iconPalIndex = 0, + SHADOW(-3, 2, SHADOW_SIZE_S) FOOTPRINT(Squirtle) OVERWORLD( sPicTable_Squirtle, @@ -778,18 +798,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Wartortle, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 7, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, .frontAnimFrames = sAnims_Wartortle, .frontAnimId = ANIM_SHRINK_GROW, .backPic = gMonBackPic_Wartortle, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 7, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 7, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Wartortle, .shinyPalette = gMonShinyPalette_Wartortle, .iconSprite = gMonIcon_Wartortle, .iconPalIndex = 2, + SHADOW(0, 6, SHADOW_SIZE_M) FOOTPRINT(Wartortle) OVERWORLD( sPicTable_Wartortle, @@ -846,18 +867,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 2, .frontPic = gMonFrontPic_Blastoise, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 4, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 4, .frontAnimFrames = sAnims_Blastoise, .frontAnimId = ANIM_V_SHAKE_TWICE, - .frontAnimDelay = 20, + .frontAnimDelay = P_GBA_STYLE_SPECIES_GFX ? 50 : 20, .backPic = gMonBackPic_Blastoise, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 7, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, .backAnimId = BACK_ANIM_SHAKE_GLOW_BLUE, .palette = gMonPalette_Blastoise, .shinyPalette = gMonShinyPalette_Blastoise, .iconSprite = gMonIcon_Blastoise, .iconPalIndex = 2, + SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Blastoise) OVERWORLD( sPicTable_Blastoise, @@ -921,6 +943,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_BlastoiseMega, .iconSprite = gMonIcon_BlastoiseMega, .iconPalIndex = 2, + SHADOW(4, 11, SHADOW_SIZE_L) FOOTPRINT(Blastoise) .isMegaEvolution = TRUE, .levelUpLearnset = sBlastoiseLevelUpLearnset, @@ -931,7 +954,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS - [SPECIES_BLASTOISE_GIGANTAMAX] = + [SPECIES_BLASTOISE_GMAX] = { .baseHP = 79, .baseAttack = 83, @@ -965,19 +988,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = -1, .trainerScale = 293, .trainerOffset = 2, - .frontPic = gMonFrontPic_BlastoiseGigantamax, + .frontPic = gMonFrontPic_BlastoiseGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_BlastoiseGigantamax, + .frontAnimFrames = sAnims_BlastoiseGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_BlastoiseGigantamax, + .backPic = gMonBackPic_BlastoiseGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 5, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_BlastoiseGigantamax, - .shinyPalette = gMonShinyPalette_BlastoiseGigantamax, - .iconSprite = gMonIcon_BlastoiseGigantamax, + .palette = gMonPalette_BlastoiseGmax, + .shinyPalette = gMonShinyPalette_BlastoiseGmax, + .iconSprite = gMonIcon_BlastoiseGmax, .iconPalIndex = 0, + SHADOW(-2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Blastoise) .isGigantamax = TRUE, .levelUpLearnset = sBlastoiseLevelUpLearnset, @@ -1024,18 +1048,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Caterpie, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 12, .frontAnimFrames = sAnims_Caterpie, .frontAnimId = ANIM_SWING_CONCAVE, .backPic = gMonBackPic_Caterpie, - .backPicSize = MON_COORDS_SIZE(48, 40), - .backPicYOffset = 12, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 12, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Caterpie, .shinyPalette = gMonShinyPalette_Caterpie, .iconSprite = gMonIcon_Caterpie, .iconPalIndex = 1, + SHADOW(4, 1, SHADOW_SIZE_S) FOOTPRINT(Caterpie) OVERWORLD( sPicTable_Caterpie, @@ -1086,18 +1111,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Metapod, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 14, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 14, .frontAnimFrames = sAnims_Metapod, .frontAnimId = ANIM_SWING_CONCAVE, .backPic = gMonBackPic_Metapod, - .backPicSize = MON_COORDS_SIZE(40, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(40, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 8, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Metapod, .shinyPalette = gMonShinyPalette_Metapod, .iconSprite = gMonIcon_Metapod, .iconPalIndex = 1, + SHADOW(3, 0, SHADOW_SIZE_S) FOOTPRINT(Metapod) OVERWORLD( sPicTable_Metapod, @@ -1160,23 +1186,26 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Butterfree, - .frontPicFemale = gMonFrontPic_ButterfreeF, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 10, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 10, .frontAnimFrames = sAnims_Butterfree, - .frontAnimId = ANIM_V_SLIDE_WOBBLE, - .enemyMonElevation = 12, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_SLIDE_WOBBLE : ANIM_V_SLIDE_WOBBLE, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 12, .backPic = gMonBackPic_Butterfree, - .backPicFemale = gMonBackPic_ButterfreeF, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 5, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 5, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Butterfree, .shinyPalette = gMonShinyPalette_Butterfree, .iconSprite = gMonIcon_Butterfree, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_ButterfreeF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), + .backPicFemale = gMonBackPic_ButterfreeF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(-3, 13, SHADOW_SIZE_S) FOOTPRINT(Butterfree) OVERWORLD( sPicTable_Butterfree, @@ -1186,6 +1215,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Butterfree, gShinyOverworldPalette_Butterfree ) + OVERWORLD_FEMALE( + sPicTable_ButterfreeF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sButterfreeLevelUpLearnset, .teachableLearnset = sButterfreeTeachableLearnset, .formSpeciesIdTable = sButterfreeFormSpeciesIdTable, @@ -1193,7 +1228,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_BUTTERFREE_GIGANTAMAX] = + [SPECIES_BUTTERFREE_GMAX] = { .baseHP = 60, .baseAttack = 45, @@ -1229,20 +1264,21 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 2, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_ButterfreeGigantamax, + .frontPic = gMonFrontPic_ButterfreeGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_ButterfreeGigantamax, + .frontAnimFrames = sAnims_ButterfreeGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 7, - .backPic = gMonBackPic_ButterfreeGigantamax, + .backPic = gMonBackPic_ButterfreeGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 3, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_ButterfreeGigantamax, - .shinyPalette = gMonShinyPalette_ButterfreeGigantamax, - .iconSprite = gMonIcon_ButterfreeGigantamax, + .palette = gMonPalette_ButterfreeGmax, + .shinyPalette = gMonShinyPalette_ButterfreeGmax, + .iconSprite = gMonIcon_ButterfreeGmax, .iconPalIndex = 0, + SHADOW(-4, 15, SHADOW_SIZE_S) FOOTPRINT(Butterfree) .isGigantamax = TRUE, .levelUpLearnset = sButterfreeLevelUpLearnset, @@ -1289,19 +1325,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Weedle, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 13, .frontAnimFrames = sAnims_Weedle, .frontAnimId = ANIM_H_SLIDE_SLOW, .frontAnimDelay = 10, .backPic = gMonBackPic_Weedle, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 7, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 7, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Weedle, .shinyPalette = gMonShinyPalette_Weedle, .iconSprite = gMonIcon_Weedle, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 2, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Weedle) OVERWORLD( sPicTable_Weedle, @@ -1352,19 +1389,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Kakuna, - .frontPicSize = MON_COORDS_SIZE(24, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(24, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 11, .frontAnimFrames = sAnims_Kakuna, .frontAnimId = ANIM_GLOW_ORANGE, .frontAnimDelay = 20, .backPic = gMonBackPic_Kakuna, - .backPicSize = MON_COORDS_SIZE(32, 40), - .backPicYOffset = 12, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(32, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 12, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Kakuna, .shinyPalette = gMonShinyPalette_Kakuna, .iconSprite = gMonIcon_Kakuna, .iconPalIndex = 2, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Kakuna) OVERWORLD( sPicTable_Kakuna, @@ -1427,19 +1465,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Beedrill, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 5, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 5, .frontAnimFrames = sAnims_Beedrill, - .frontAnimId = ANIM_ZIGZAG_SLOW, - .enemyMonElevation = 9, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_VIBRATE : ANIM_ZIGZAG_SLOW, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 9, .backPic = gMonBackPic_Beedrill, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 5, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 5, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Beedrill, .shinyPalette = gMonShinyPalette_Beedrill, .iconSprite = gMonIcon_Beedrill, .iconPalIndex = 2, + SHADOW(4, 15, SHADOW_SIZE_M) FOOTPRINT(Beedrill) OVERWORLD( sPicTable_Beedrill, @@ -1506,6 +1545,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_BeedrillMega, .iconSprite = gMonIcon_BeedrillMega, .iconPalIndex = 2, + SHADOW(1, 14, SHADOW_SIZE_S) FOOTPRINT(Beedrill) .isMegaEvolution = TRUE, .levelUpLearnset = sBeedrillLevelUpLearnset, @@ -1556,18 +1596,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Pidgey, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 12, .frontAnimFrames = sAnims_Pidgey, - .frontAnimId = ANIM_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SLIDE_SLOW : ANIM_V_STRETCH, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 16 : 0, .backPic = gMonBackPic_Pidgey, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 11, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 11, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Pidgey, .shinyPalette = gMonShinyPalette_Pidgey, .iconSprite = gMonIcon_Pidgey, .iconPalIndex = 0, + SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Pidgey) OVERWORLD( sPicTable_Pidgey, @@ -1622,19 +1664,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Pidgeotto, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(56, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 6, .frontAnimFrames = sAnims_Pidgeotto, .frontAnimId = ANIM_V_STRETCH, .frontAnimDelay = 25, .backPic = gMonBackPic_Pidgeotto, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 6, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Pidgeotto, .shinyPalette = gMonShinyPalette_Pidgeotto, .iconSprite = gMonIcon_Pidgeotto, .iconPalIndex = 0, + SHADOW(-4, 6, SHADOW_SIZE_M) FOOTPRINT(Pidgeotto) OVERWORLD( sPicTable_Pidgeotto, @@ -1699,18 +1742,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Pidgeot, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 2, .frontAnimFrames = sAnims_Pidgeot, - .frontAnimId = ANIM_GROW_VIBRATE, - .enemyMonElevation = 5, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_FRONT_FLIP : ANIM_GROW_VIBRATE, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 4 : 5, .backPic = gMonBackPic_Pidgeot, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 7, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 7, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Pidgeot, .shinyPalette = gMonShinyPalette_Pidgeot, .iconSprite = gMonIcon_Pidgeot, .iconPalIndex = 0, + SHADOW(-7, 14, SHADOW_SIZE_M) FOOTPRINT(Pidgeot) OVERWORLD( sPicTable_Pidgeot, @@ -1774,6 +1818,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PidgeotMega, .iconSprite = gMonIcon_PidgeotMega, .iconPalIndex = 0, + SHADOW(-7, 19, SHADOW_SIZE_M) FOOTPRINT(Pidgeot) .isMegaEvolution = TRUE, .levelUpLearnset = sPidgeotLevelUpLearnset, @@ -1820,22 +1865,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Rattata, - .frontPicFemale = gMonFrontPic_RattataF, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicSizeFemale = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 32) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 13, .frontAnimFrames = sAnims_Rattata, - .frontAnimId = ANIM_H_JUMPS, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_RAPID_H_HOPS : ANIM_H_JUMPS, .backPic = gMonBackPic_Rattata, - .backPicFemale = gMonBackPic_RattataF, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 7, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 7, .backAnimId = BACK_ANIM_V_SHAKE_H_SLIDE, .palette = gMonPalette_Rattata, .shinyPalette = gMonShinyPalette_Rattata, .iconSprite = gMonIcon_Rattata, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_RattataF, + .frontPicSizeFemale = MON_COORDS_SIZE(40, 40), + .backPicFemale = gMonBackPic_RattataF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(1, -3, SHADOW_SIZE_S) FOOTPRINT(Rattata) OVERWORLD( sPicTable_Rattata, @@ -1845,6 +1893,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Rattata, gShinyOverworldPalette_Rattata ) + OVERWORLD_FEMALE( + sPicTable_RattataF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sRattataLevelUpLearnset, .teachableLearnset = sRattataTeachableLearnset, .eggMoveLearnset = sRattataEggMoveLearnset, @@ -1887,22 +1941,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Raticate, - .frontPicFemale = gMonFrontPic_RaticateF, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 6, .frontAnimFrames = sAnims_Raticate, - .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_FIGURE_8 : ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, .backPic = gMonBackPic_Raticate, - .backPicFemale = gMonBackPic_RaticateF, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicSizeFemale = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 10, .backAnimId = BACK_ANIM_V_SHAKE_H_SLIDE, .palette = gMonPalette_Raticate, .shinyPalette = gMonShinyPalette_Raticate, .iconSprite = gMonIcon_Raticate, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_RaticateF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), + .backPicFemale = gMonBackPic_RaticateF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(0, 8, SHADOW_SIZE_L) FOOTPRINT(Raticate) OVERWORLD( sPicTable_Raticate, @@ -1912,13 +1969,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Raticate, gShinyOverworldPalette_Raticate ) + OVERWORLD_FEMALE( + sPicTable_RaticateF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sRaticateLevelUpLearnset, .teachableLearnset = sRaticateTeachableLearnset, .formSpeciesIdTable = sRaticateFormSpeciesIdTable, }, #if P_ALOLAN_FORMS - [SPECIES_RATTATA_ALOLAN] = + [SPECIES_RATTATA_ALOLA] = { .baseHP = 30, .baseAttack = 56, @@ -1953,38 +2016,39 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 21, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_RattataAlolan, + .frontPic = gMonFrontPic_RattataAlola, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_RattataAlolan, + .frontAnimFrames = sAnims_RattataAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_RattataAlolan, + .backPic = gMonBackPic_RattataAlola, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 7, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_RattataAlolan, - .shinyPalette = gMonShinyPalette_RattataAlolan, - .iconSprite = gMonIcon_RattataAlolan, + .palette = gMonPalette_RattataAlola, + .shinyPalette = gMonShinyPalette_RattataAlola, + .iconSprite = gMonIcon_RattataAlola, .iconPalIndex = 2, + SHADOW(-3, 2, SHADOW_SIZE_S) FOOTPRINT(Rattata) OVERWORLD( - sPicTable_RattataAlolan, + sPicTable_RattataAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_RattataAlolan, - gShinyOverworldPalette_RattataAlolan + gOverworldPalette_RattataAlola, + gShinyOverworldPalette_RattataAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sRattataAlolanLevelUpLearnset, - .teachableLearnset = sRattataAlolanTeachableLearnset, - .eggMoveLearnset = sRattataAlolanEggMoveLearnset, + .levelUpLearnset = sRattataAlolaLevelUpLearnset, + .teachableLearnset = sRattataAlolaTeachableLearnset, + .eggMoveLearnset = sRattataAlolaEggMoveLearnset, .formSpeciesIdTable = sRattataFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL_NIGHT, 20, SPECIES_RATICATE_ALOLAN}, - {EVO_NONE, 0, SPECIES_RATICATE_ALOLAN_TOTEM}), + .evolutions = EVOLUTION({EVO_LEVEL_NIGHT, 20, SPECIES_RATICATE_ALOLA}, + {EVO_NONE, 0, SPECIES_RATICATE_ALOLA_TOTEM}), }, - [SPECIES_RATICATE_ALOLAN] = + [SPECIES_RATICATE_ALOLA] = { .baseHP = 75, .baseAttack = 71, @@ -2010,40 +2074,41 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .categoryName = _("Mouse"), .height = 7, .weight = 255, - .description = gRaticateAlolanPokedexText, + .description = gRaticateAlolaPokedexText, .pokemonScale = 459, .pokemonOffset = 18, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_RaticateAlolan, + .frontPic = gMonFrontPic_RaticateAlola, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_RaticateAlolan, + .frontAnimFrames = sAnims_RaticateAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_RaticateAlolan, + .backPic = gMonBackPic_RaticateAlola, .backPicSize = MON_COORDS_SIZE(64, 48), .backPicYOffset = 8, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_RaticateAlolan, - .shinyPalette = gMonShinyPalette_RaticateAlolan, - .iconSprite = gMonIcon_RaticateAlolan, + .palette = gMonPalette_RaticateAlola, + .shinyPalette = gMonShinyPalette_RaticateAlola, + .iconSprite = gMonIcon_RaticateAlola, .iconPalIndex = 2, + SHADOW(-4, 3, SHADOW_SIZE_L) FOOTPRINT(Raticate) OVERWORLD( - sPicTable_RaticateAlolan, + sPicTable_RaticateAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_RaticateAlolan, - gShinyOverworldPalette_RaticateAlolan + gOverworldPalette_RaticateAlola, + gShinyOverworldPalette_RaticateAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sRaticateAlolanLevelUpLearnset, - .teachableLearnset = sRaticateAlolanTeachableLearnset, + .levelUpLearnset = sRaticateAlolaLevelUpLearnset, + .teachableLearnset = sRaticateAlolaTeachableLearnset, .formSpeciesIdTable = sRaticateFormSpeciesIdTable, }, - [SPECIES_RATICATE_ALOLAN_TOTEM] = + [SPECIES_RATICATE_ALOLA_TOTEM] = { .baseHP = 75, .baseAttack = 71, @@ -2069,37 +2134,39 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .categoryName = _("Mouse"), .height = 14, .weight = 1050, - .description = gRaticateAlolanPokedexText, + .description = gRaticateAlolaPokedexText, .pokemonScale = 459, .pokemonOffset = 18, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_RaticateAlolan, + .frontPic = gMonFrontPic_RaticateAlola, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_RaticateAlolan, + .frontAnimFrames = sAnims_RaticateAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_RaticateAlolan, + .backPic = gMonBackPic_RaticateAlola, .backPicSize = MON_COORDS_SIZE(64, 48), .backPicYOffset = 8, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_RaticateAlolan, - .shinyPalette = gMonShinyPalette_RaticateAlolan, - .iconSprite = gMonIcon_RaticateAlolan, + .palette = gMonPalette_RaticateAlola, + .shinyPalette = gMonShinyPalette_RaticateAlola, + .iconSprite = gMonIcon_RaticateAlola, .iconPalIndex = 2, + SHADOW(-4, 3, SHADOW_SIZE_L) FOOTPRINT(Raticate) OVERWORLD( - sPicTable_RaticateAlolan, + sPicTable_RaticateAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_RaticateAlolan, - gShinyOverworldPalette_RaticateAlolan + gOverworldPalette_RaticateAlola, + gShinyOverworldPalette_RaticateAlola ) .isTotem = TRUE, .isAlolanForm = TRUE, - .levelUpLearnset = sRaticateAlolanLevelUpLearnset, - .teachableLearnset = sRaticateAlolanTeachableLearnset, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, + .levelUpLearnset = sRaticateAlolaLevelUpLearnset, + .teachableLearnset = sRaticateAlolaTeachableLearnset, .formSpeciesIdTable = sRaticateFormSpeciesIdTable, }, #endif //P_ALOLAN_FORMS @@ -2142,18 +2209,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Spearow, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 12, .frontAnimFrames = sAnims_Spearow, - .frontAnimId = ANIM_V_JUMPS_SMALL, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_RISING_WOBBLE : ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Spearow, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 6, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Spearow, .shinyPalette = gMonShinyPalette_Spearow, .iconSprite = gMonIcon_Spearow, .iconPalIndex = 0, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Spearow) OVERWORLD( sPicTable_Spearow, @@ -2205,7 +2273,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Fearow, - .frontPicSize = MON_COORDS_SIZE(64, 64), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Fearow, .frontAnimId = ANIM_FIGURE_8, @@ -2213,12 +2281,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .enemyMonElevation = 6, .backPic = gMonBackPic_Fearow, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 4, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 4, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Fearow, .shinyPalette = gMonShinyPalette_Fearow, .iconSprite = gMonIcon_Fearow, .iconPalIndex = 0, + SHADOW(0, 17, SHADOW_SIZE_M) FOOTPRINT(Fearow) OVERWORLD( sPicTable_Fearow, @@ -2269,19 +2338,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Ekans, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 10, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, .frontAnimFrames = sAnims_Ekans, - .frontAnimId = ANIM_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_STRETCH : ANIM_V_STRETCH, .frontAnimDelay = 30, .backPic = gMonBackPic_Ekans, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 10, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Ekans, .shinyPalette = gMonShinyPalette_Ekans, .iconSprite = gMonIcon_Ekans, .iconPalIndex = 2, + SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Ekans) OVERWORLD( sPicTable_Ekans, @@ -2339,17 +2409,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 2, .frontPic = gMonFrontPic_Arbok, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 1, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 1, .frontAnimFrames = sAnims_Arbok, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Arbok, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 1, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 1, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Arbok, .shinyPalette = gMonShinyPalette_Arbok, .iconSprite = gMonIcon_Arbok, .iconPalIndex = 2, + SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Arbok) OVERWORLD( sPicTable_Arbok, @@ -2399,17 +2470,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Pichu, .frontPicSize = MON_COORDS_SIZE(32, 40), - .frontPicYOffset = 14, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 14, .frontAnimFrames = sAnims_Pichu, .frontAnimId = ANIM_V_JUMPS_BIG, .backPic = gMonBackPic_Pichu, - .backPicSize = MON_COORDS_SIZE(48, 56), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 8, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Pichu, .shinyPalette = gMonShinyPalette_Pichu, .iconSprite = gMonIcon_Pichu, - .iconPalIndex = 1, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 1, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Pichu) OVERWORLD( sPicTable_Pichu, @@ -2470,6 +2542,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PichuSpikyEared, .iconSprite = gMonIcon_PichuSpikyEared, .iconPalIndex = 1, + SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Pichu) OVERWORLD( sPicTable_PichuSpikyEared, @@ -2526,27 +2599,30 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Pikachu, - .frontPicFemale = gMonFrontPic_PikachuF, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 48), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, .frontAnimFrames = sAnims_Pikachu, .frontAnimId = ANIM_FLASH_YELLOW, - .frontAnimDelay = 25, + .frontAnimDelay = P_GBA_STYLE_SPECIES_GFX ? 0 : 25, .backPic = gMonBackPic_Pikachu, - .backPicFemale = gMonBackPic_PikachuF, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 4, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 4, .backAnimId = BACK_ANIM_SHAKE_FLASH_YELLOW, .palette = gMonPalette_Pikachu, .shinyPalette = gMonShinyPalette_Pikachu, .iconSprite = gMonIcon_Pikachu, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_PikachuF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 48), + .backPicFemale = gMonBackPic_PikachuF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), #if P_CUSTOM_GENDER_DIFF_ICONS == TRUE .iconSpriteFemale = gMonIcon_PikachuF, .iconPalIndexFemale = 2, - #endif + #endif //P_CUSTOM_GENDER_DIFF_ICONS +#endif //P_GENDER_DIFFERENCES + SHADOW(-3, 5, SHADOW_SIZE_M) OVERWORLD( sPicTable_Pikachu, SIZE_32x32, @@ -2555,13 +2631,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Pikachu, gShinyOverworldPalette_Pikachu ) + OVERWORLD_FEMALE( + sPicTable_PikachuF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, .formSpeciesIdTable = sPikachuFormSpeciesIdTable, .formChangeTable = sPikachuFormChangeTable, .evolutions = EVOLUTION({EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_RAICHU}, - {EVO_NONE, 0, SPECIES_RAICHU_ALOLAN}), + {EVO_NONE, 0, SPECIES_RAICHU_ALOLA}), }, #if P_COSPLAY_PIKACHU_FORMS @@ -2609,6 +2691,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuCosplay, .iconSprite = gMonIcon_PikachuCosplay, .iconPalIndex = 2, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -2659,6 +2742,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuRockStar, .iconSprite = gMonIcon_PikachuRockStar, .iconPalIndex = 1, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -2710,6 +2794,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuBelle, .iconSprite = gMonIcon_PikachuBelle, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -2761,13 +2846,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuPopStar, .iconSprite = gMonIcon_PikachuPopStar, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, .formSpeciesIdTable = sPikachuFormSpeciesIdTable, }, - [SPECIES_PIKACHU_PH_D] = + [SPECIES_PIKACHU_PHD] = { .baseHP = 35, .baseAttack = 55, @@ -2811,6 +2897,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuPhD, .iconSprite = gMonIcon_PikachuPhD, .iconPalIndex = 1, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -2861,6 +2948,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuLibre, .iconSprite = gMonIcon_PikachuLibre, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -2870,7 +2958,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #endif //P_COSPLAY_PIKACHU_FORMS #if P_CAP_PIKACHU_FORMS - [SPECIES_PIKACHU_ORIGINAL_CAP] = + [SPECIES_PIKACHU_ORIGINAL] = { .baseHP = 35, .baseAttack = 55, @@ -2906,26 +2994,27 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 19, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_PikachuOriginalCap, + .frontPic = gMonFrontPic_PikachuOriginal, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuOriginalCap, + .frontAnimFrames = sAnims_PikachuOriginal, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_PikachuOriginalCap, + .backPic = gMonBackPic_PikachuOriginal, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_PikachuOriginalCap, - .shinyPalette = gMonShinyPalette_PikachuOriginalCap, - .iconSprite = gMonIcon_PikachuOriginalCap, + .palette = gMonPalette_PikachuOriginal, + .shinyPalette = gMonShinyPalette_PikachuOriginal, + .iconSprite = gMonIcon_PikachuOriginal, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, .formSpeciesIdTable = sPikachuFormSpeciesIdTable, }, - [SPECIES_PIKACHU_HOENN_CAP] = + [SPECIES_PIKACHU_HOENN] = { .baseHP = 35, .baseAttack = 55, @@ -2960,26 +3049,27 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 19, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_PikachuHoennCap, + .frontPic = gMonFrontPic_PikachuHoenn, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuHoennCap, + .frontAnimFrames = sAnims_PikachuHoenn, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_PikachuHoennCap, + .backPic = gMonBackPic_PikachuHoenn, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_PikachuHoennCap, - .shinyPalette = gMonShinyPalette_PikachuHoennCap, - .iconSprite = gMonIcon_PikachuHoennCap, + .palette = gMonPalette_PikachuHoenn, + .shinyPalette = gMonShinyPalette_PikachuHoenn, + .iconSprite = gMonIcon_PikachuHoenn, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, .formSpeciesIdTable = sPikachuFormSpeciesIdTable, }, - [SPECIES_PIKACHU_SINNOH_CAP] = + [SPECIES_PIKACHU_SINNOH] = { .baseHP = 35, .baseAttack = 55, @@ -3014,26 +3104,27 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 19, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_PikachuSinnohCap, + .frontPic = gMonFrontPic_PikachuSinnoh, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuSinnohCap, + .frontAnimFrames = sAnims_PikachuSinnoh, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_PikachuSinnohCap, + .backPic = gMonBackPic_PikachuSinnoh, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_PikachuSinnohCap, - .shinyPalette = gMonShinyPalette_PikachuSinnohCap, - .iconSprite = gMonIcon_PikachuSinnohCap, + .palette = gMonPalette_PikachuSinnoh, + .shinyPalette = gMonShinyPalette_PikachuSinnoh, + .iconSprite = gMonIcon_PikachuSinnoh, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, .formSpeciesIdTable = sPikachuFormSpeciesIdTable, }, - [SPECIES_PIKACHU_UNOVA_CAP] = + [SPECIES_PIKACHU_UNOVA] = { .baseHP = 35, .baseAttack = 55, @@ -3068,26 +3159,27 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 19, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_PikachuUnovaCap, + .frontPic = gMonFrontPic_PikachuUnova, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuUnovaCap, + .frontAnimFrames = sAnims_PikachuUnova, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_PikachuUnovaCap, + .backPic = gMonBackPic_PikachuUnova, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_PikachuUnovaCap, - .shinyPalette = gMonShinyPalette_PikachuUnovaCap, - .iconSprite = gMonIcon_PikachuUnovaCap, + .palette = gMonPalette_PikachuUnova, + .shinyPalette = gMonShinyPalette_PikachuUnova, + .iconSprite = gMonIcon_PikachuUnova, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, .formSpeciesIdTable = sPikachuFormSpeciesIdTable, }, - [SPECIES_PIKACHU_KALOS_CAP] = + [SPECIES_PIKACHU_KALOS] = { .baseHP = 35, .baseAttack = 55, @@ -3122,26 +3214,27 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 19, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_PikachuKalosCap, + .frontPic = gMonFrontPic_PikachuKalos, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuKalosCap, + .frontAnimFrames = sAnims_PikachuKalos, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_PikachuKalosCap, + .backPic = gMonBackPic_PikachuKalos, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_PikachuKalosCap, - .shinyPalette = gMonShinyPalette_PikachuKalosCap, - .iconSprite = gMonIcon_PikachuKalosCap, + .palette = gMonPalette_PikachuKalos, + .shinyPalette = gMonShinyPalette_PikachuKalos, + .iconSprite = gMonIcon_PikachuKalos, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, .formSpeciesIdTable = sPikachuFormSpeciesIdTable, }, - [SPECIES_PIKACHU_ALOLA_CAP] = + [SPECIES_PIKACHU_ALOLA] = { .baseHP = 35, .baseAttack = 55, @@ -3176,26 +3269,27 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 19, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_PikachuAlolaCap, + .frontPic = gMonFrontPic_PikachuAlola, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuAlolaCap, + .frontAnimFrames = sAnims_PikachuAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_PikachuAlolaCap, + .backPic = gMonBackPic_PikachuAlola, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_PikachuAlolaCap, - .shinyPalette = gMonShinyPalette_PikachuAlolaCap, - .iconSprite = gMonIcon_PikachuAlolaCap, + .palette = gMonPalette_PikachuAlola, + .shinyPalette = gMonShinyPalette_PikachuAlola, + .iconSprite = gMonIcon_PikachuAlola, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, .formSpeciesIdTable = sPikachuFormSpeciesIdTable, }, - [SPECIES_PIKACHU_PARTNER_CAP] = + [SPECIES_PIKACHU_PARTNER] = { .baseHP = 35, .baseAttack = 55, @@ -3231,26 +3325,27 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 19, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_PikachuPartnerCap, + .frontPic = gMonFrontPic_PikachuPartner, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuPartnerCap, + .frontAnimFrames = sAnims_PikachuPartner, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_PikachuPartnerCap, + .backPic = gMonBackPic_PikachuPartner, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_PikachuPartnerCap, - .shinyPalette = gMonShinyPalette_PikachuPartnerCap, - .iconSprite = gMonIcon_PikachuPartnerCap, + .palette = gMonPalette_PikachuPartner, + .shinyPalette = gMonShinyPalette_PikachuPartner, + .iconSprite = gMonIcon_PikachuPartner, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, .formSpeciesIdTable = sPikachuFormSpeciesIdTable, }, - [SPECIES_PIKACHU_WORLD_CAP] = + [SPECIES_PIKACHU_WORLD] = { .baseHP = 35, .baseAttack = 55, @@ -3285,19 +3380,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 19, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_PikachuWorldCap, + .frontPic = gMonFrontPic_PikachuWorld, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_PikachuWorldCap, + .frontAnimFrames = sAnims_PikachuWorld, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_PikachuWorldCap, + .backPic = gMonBackPic_PikachuWorld, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_PikachuWorldCap, - .shinyPalette = gMonShinyPalette_PikachuWorldCap, - .iconSprite = gMonIcon_PikachuWorldCap, + .palette = gMonPalette_PikachuWorld, + .shinyPalette = gMonShinyPalette_PikachuWorld, + .iconSprite = gMonIcon_PikachuWorld, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -3307,7 +3403,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #endif //P_CAP_PIKACHU_FORMS #if P_GIGANTAMAX_FORMS - [SPECIES_PIKACHU_GIGANTAMAX] = + [SPECIES_PIKACHU_GMAX] = { .baseHP = 35, .baseAttack = 55, @@ -3342,19 +3438,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 19, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_PikachuGigantamax, + .frontPic = gMonFrontPic_PikachuGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_PikachuGigantamax, + .frontAnimFrames = sAnims_PikachuGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_PikachuGigantamax, + .backPic = gMonBackPic_PikachuGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 0, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_PikachuGigantamax, - .shinyPalette = gMonShinyPalette_PikachuGigantamax, - .iconSprite = gMonIcon_PikachuGigantamax, + .palette = gMonPalette_PikachuGmax, + .shinyPalette = gMonShinyPalette_PikachuGmax, + .iconSprite = gMonIcon_PikachuGmax, .iconPalIndex = 2, + SHADOW(-3, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Pikachu) .isGigantamax = TRUE, .levelUpLearnset = sPikachuLevelUpLearnset, @@ -3364,7 +3461,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #endif //P_GIGANTAMAX_FORMS - [SPECIES_PIKACHU_PARTNER] = + [SPECIES_PIKACHU_STARTER] = { .baseHP = 45, .baseAttack = 80, @@ -3396,27 +3493,30 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Pikachu, - .frontPicFemale = gMonFrontPic_PikachuF, .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, .frontAnimFrames = sAnims_Pikachu, .frontAnimId = ANIM_FLASH_YELLOW, .frontAnimDelay = 25, .backPic = gMonBackPic_Pikachu, - .backPicFemale = gMonBackPic_PikachuF, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), .backPicYOffset = 4, .backAnimId = BACK_ANIM_SHAKE_FLASH_YELLOW, .palette = gMonPalette_Pikachu, .shinyPalette = gMonShinyPalette_Pikachu, - .iconSprite = gMonIcon_PikachuPartner, + .iconSprite = gMonIcon_PikachuStarter, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_PikachuF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 48), + .backPicFemale = gMonBackPic_PikachuF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), #if P_CUSTOM_GENDER_DIFF_ICONS == TRUE - .iconSpriteFemale = gMonIcon_PikachuPartnerF, + .iconSpriteFemale = gMonIcon_PikachuStarterF, .iconPalIndexFemale = 2, #endif +#endif //P_GENDER_DIFFERENCES + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) OVERWORLD( sPicTable_Pikachu, @@ -3427,7 +3527,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Pikachu ) .cannotBeTraded = TRUE, - .allPerfectIVs = TRUE, + .perfectIVCount = NUM_STATS, .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, .formSpeciesIdTable = sPikachuFormSpeciesIdTable, @@ -3480,20 +3580,23 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Raichu, - .frontPicFemale = gMonFrontPic_RaichuF, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 3, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, .frontAnimFrames = sAnims_Raichu, - .frontAnimId = ANIM_GROW_VIBRATE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Raichu, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .backAnimId = BACK_ANIM_SHAKE_FLASH_YELLOW, .palette = gMonPalette_Raichu, .shinyPalette = gMonShinyPalette_Raichu, .iconSprite = gMonIcon_Raichu, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_RaichuF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(2, 10, SHADOW_SIZE_M) FOOTPRINT(Raichu) OVERWORLD( sPicTable_Raichu, @@ -3503,13 +3606,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Raichu, gShinyOverworldPalette_Raichu ) + OVERWORLD_FEMALE( + sPicTable_RaichuF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sRaichuLevelUpLearnset, .teachableLearnset = sRaichuTeachableLearnset, .formSpeciesIdTable = sRaichuFormSpeciesIdTable, }, #if P_ALOLAN_FORMS - [SPECIES_RAICHU_ALOLAN] = + [SPECIES_RAICHU_ALOLA] = { .baseHP = 60, .baseAttack = 85, @@ -3543,32 +3652,33 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 13, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_RaichuAlolan, + .frontPic = gMonFrontPic_RaichuAlola, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_RaichuAlolan, + .frontAnimFrames = sAnims_RaichuAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 4, - .backPic = gMonBackPic_RaichuAlolan, + .backPic = gMonBackPic_RaichuAlola, .backPicSize = MON_COORDS_SIZE(56, 56), .backPicYOffset = 6, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_RaichuAlolan, - .shinyPalette = gMonShinyPalette_RaichuAlolan, - .iconSprite = gMonIcon_RaichuAlolan, + .palette = gMonPalette_RaichuAlola, + .shinyPalette = gMonShinyPalette_RaichuAlola, + .iconSprite = gMonIcon_RaichuAlola, .iconPalIndex = 2, + SHADOW(3, 15, SHADOW_SIZE_M) FOOTPRINT(Raichu) OVERWORLD( - sPicTable_RaichuAlolan, + sPicTable_RaichuAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_RaichuAlolan, - gShinyOverworldPalette_RaichuAlolan + gOverworldPalette_RaichuAlola, + gShinyOverworldPalette_RaichuAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sRaichuAlolanLevelUpLearnset, - .teachableLearnset = sRaichuAlolanTeachableLearnset, + .levelUpLearnset = sRaichuAlolaLevelUpLearnset, + .teachableLearnset = sRaichuAlolaTeachableLearnset, .formSpeciesIdTable = sRaichuFormSpeciesIdTable, }, #endif //P_ALOLAN_FORMS @@ -3611,8 +3721,8 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Sandshrew, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 11, .frontAnimFrames = sAnims_Sandshrew, .frontAnimId = ANIM_SWING_CONCAVE_FAST_SHORT, .backPic = gMonBackPic_Sandshrew, @@ -3623,6 +3733,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Sandshrew, .iconSprite = gMonIcon_Sandshrew, .iconPalIndex = 2, + SHADOW(0, 1, SHADOW_SIZE_M) FOOTPRINT(Sandshrew) OVERWORLD( sPicTable_Sandshrew, @@ -3675,18 +3786,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Sandslash, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 6, .frontAnimFrames = sAnims_Sandslash, - .frontAnimId = ANIM_H_SHAKE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_H_SHAKE, .backPic = gMonBackPic_Sandslash, .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 11, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 11, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Sandslash, .shinyPalette = gMonShinyPalette_Sandslash, .iconSprite = gMonIcon_Sandslash, .iconPalIndex = 2, + SHADOW(4, 4, SHADOW_SIZE_L) FOOTPRINT(Sandslash) OVERWORLD( sPicTable_Sandslash, @@ -3702,7 +3814,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_ALOLAN_FORMS - [SPECIES_SANDSHREW_ALOLAN] = + [SPECIES_SANDSHREW_ALOLA] = { .baseHP = 50, .baseAttack = 75, @@ -3737,37 +3849,38 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 18, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_SandshrewAlolan, + .frontPic = gMonFrontPic_SandshrewAlola, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_SandshrewAlolan, + .frontAnimFrames = sAnims_SandshrewAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_SandshrewAlolan, + .backPic = gMonBackPic_SandshrewAlola, .backPicSize = MON_COORDS_SIZE(56, 40), .backPicYOffset = 13, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_SandshrewAlolan, - .shinyPalette = gMonShinyPalette_SandshrewAlolan, - .iconSprite = gMonIcon_SandshrewAlolan, + .palette = gMonPalette_SandshrewAlola, + .shinyPalette = gMonShinyPalette_SandshrewAlola, + .iconSprite = gMonIcon_SandshrewAlola, .iconPalIndex = 0, + SHADOW(-2, -1, SHADOW_SIZE_M) FOOTPRINT(Sandshrew) OVERWORLD( - sPicTable_SandshrewAlolan, + sPicTable_SandshrewAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_SandshrewAlolan, - gShinyOverworldPalette_SandshrewAlolan + gOverworldPalette_SandshrewAlola, + gShinyOverworldPalette_SandshrewAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sSandshrewAlolanLevelUpLearnset, - .teachableLearnset = sSandshrewAlolanTeachableLearnset, - .eggMoveLearnset = sSandshrewAlolanEggMoveLearnset, + .levelUpLearnset = sSandshrewAlolaLevelUpLearnset, + .teachableLearnset = sSandshrewAlolaTeachableLearnset, + .eggMoveLearnset = sSandshrewAlolaEggMoveLearnset, .formSpeciesIdTable = sSandshrewFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_ITEM, ITEM_ICE_STONE, SPECIES_SANDSLASH_ALOLAN}), + .evolutions = EVOLUTION({EVO_ITEM, ITEM_ICE_STONE, SPECIES_SANDSLASH_ALOLA}), }, - [SPECIES_SANDSLASH_ALOLAN] = + [SPECIES_SANDSLASH_ALOLA] = { .baseHP = 75, .baseAttack = 100, @@ -3802,31 +3915,32 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 11, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_SandslashAlolan, + .frontPic = gMonFrontPic_SandslashAlola, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_SandslashAlolan, + .frontAnimFrames = sAnims_SandslashAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_SandslashAlolan, + .backPic = gMonBackPic_SandslashAlola, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 6, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_SandslashAlolan, - .shinyPalette = gMonShinyPalette_SandslashAlolan, - .iconSprite = gMonIcon_SandslashAlolan, + .palette = gMonPalette_SandslashAlola, + .shinyPalette = gMonShinyPalette_SandslashAlola, + .iconSprite = gMonIcon_SandslashAlola, .iconPalIndex = 0, + SHADOW(0, 9, SHADOW_SIZE_L) FOOTPRINT(Sandslash) OVERWORLD( - sPicTable_SandslashAlolan, + sPicTable_SandslashAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_SandslashAlolan, - gShinyOverworldPalette_SandslashAlolan + gOverworldPalette_SandslashAlola, + gShinyOverworldPalette_SandslashAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sSandslashAlolanLevelUpLearnset, - .teachableLearnset = sSandslashAlolanTeachableLearnset, + .levelUpLearnset = sSandslashAlolaLevelUpLearnset, + .teachableLearnset = sSandslashAlolaTeachableLearnset, .formSpeciesIdTable = sSandslashFormSpeciesIdTable, }, #endif //P_ALOLAN_FORMS @@ -3872,19 +3986,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_NidoranF, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 13, .frontAnimFrames = sAnims_NidoranF, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .frontAnimDelay = 28, .backPic = gMonBackPic_NidoranF, - .backPicSize = MON_COORDS_SIZE(48, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 13, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_NidoranF, .shinyPalette = gMonShinyPalette_NidoranF, .iconSprite = gMonIcon_NidoranF, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(NidoranF) OVERWORLD( sPicTable_NidoranF, @@ -3940,17 +4055,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Nidorina, .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 8, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 8, .frontAnimFrames = sAnims_Nidorina, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Nidorina, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 5, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 5, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Nidorina, .shinyPalette = gMonShinyPalette_Nidorina, .iconSprite = gMonIcon_Nidorina, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(3, 5, SHADOW_SIZE_M) FOOTPRINT(Nidorina) OVERWORLD( sPicTable_Nidorina, @@ -4012,18 +4128,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Nidoqueen, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 2, .frontAnimFrames = sAnims_Nidoqueen, .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Nidoqueen, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 5, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 5, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Nidoqueen, .shinyPalette = gMonShinyPalette_Nidoqueen, .iconSprite = gMonIcon_Nidoqueen, .iconPalIndex = 2, + SHADOW(1, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Nidoqueen) OVERWORLD( sPicTable_Nidoqueen, @@ -4081,13 +4198,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontAnimFrames = sAnims_NidoranM, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_NidoranM, - .backPicSize = MON_COORDS_SIZE(48, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(48, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 9, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_NidoranM, .shinyPalette = gMonShinyPalette_NidoranM, .iconSprite = gMonIcon_NidoranM, .iconPalIndex = 2, + SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(NidoranM) OVERWORLD( sPicTable_NidoranM, @@ -4142,18 +4260,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Nidorino, - .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 8, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, .frontAnimFrames = sAnims_Nidorino, - .frontAnimId = ANIM_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SHRINK_GROW : ANIM_V_STRETCH, .backPic = gMonBackPic_Nidorino, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Nidorino, .shinyPalette = gMonShinyPalette_Nidorino, .iconSprite = gMonIcon_Nidorino, .iconPalIndex = 2, + SHADOW(2, 1, SHADOW_SIZE_L) FOOTPRINT(Nidorino) OVERWORLD( sPicTable_Nidorino, @@ -4215,7 +4334,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Nidoking, - .frontPicSize = MON_COORDS_SIZE(64, 64), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, .frontAnimFrames = sAnims_Nidoking, .frontAnimId = ANIM_H_SHAKE, @@ -4228,6 +4347,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Nidoking, .iconSprite = gMonIcon_Nidoking, .iconPalIndex = 2, + SHADOW(0, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Nidoking) OVERWORLD( sPicTable_Nidoking, @@ -4292,17 +4412,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Cleffa, .frontPicSize = MON_COORDS_SIZE(32, 32), - .frontPicYOffset = 18, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 18, .frontAnimFrames = sAnims_Cleffa, .frontAnimId = ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Cleffa, .backPicSize = MON_COORDS_SIZE(48, 40), - .backPicYOffset = 13, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 13, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Cleffa, .shinyPalette = gMonShinyPalette_Cleffa, .iconSprite = gMonIcon_Cleffa, .iconPalIndex = 0, + SHADOW(0, -4, SHADOW_SIZE_S) FOOTPRINT(Cleffa) OVERWORLD( sPicTable_Cleffa, @@ -4361,17 +4482,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Clefairy, .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 12, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 12, .frontAnimFrames = sAnims_Clefairy, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Clefairy, - .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 14, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 14, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Clefairy, .shinyPalette = gMonShinyPalette_Clefairy, .iconSprite = gMonIcon_Clefairy, .iconPalIndex = 0, + SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Clefairy) OVERWORLD( sPicTable_Clefairy, @@ -4435,18 +4557,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Clefable, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .frontAnimFrames = sAnims_Clefable, - .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW : ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Clefable, - .backPicSize = MON_COORDS_SIZE(64, 48), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), .backPicYOffset = 10, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Clefable, .shinyPalette = gMonShinyPalette_Clefable, .iconSprite = gMonIcon_Clefable, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Clefable) OVERWORLD( sPicTable_Clefable, @@ -4498,18 +4621,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Vulpix, - .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 11, .frontAnimFrames = sAnims_Vulpix, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Vulpix, - .backPicSize = MON_COORDS_SIZE(64, 48), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), .backPicYOffset = 9, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Vulpix, .shinyPalette = gMonShinyPalette_Vulpix, .iconSprite = gMonIcon_Vulpix, - .iconPalIndex = 5, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 5, + SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Vulpix) OVERWORLD( sPicTable_Vulpix, @@ -4566,15 +4690,16 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, .frontAnimFrames = sAnims_Ninetales, - .frontAnimId = ANIM_GROW_VIBRATE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SHAKE : ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Ninetales, - .backPicSize = MON_COORDS_SIZE(64, 56), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .backPicYOffset = 5, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Ninetales, .shinyPalette = gMonShinyPalette_Ninetales, .iconSprite = gMonIcon_Ninetales, - .iconPalIndex = 3, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 3, + SHADOW(1, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Ninetales) OVERWORLD( sPicTable_Ninetales, @@ -4590,7 +4715,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_ALOLAN_FORMS - [SPECIES_VULPIX_ALOLAN] = + [SPECIES_VULPIX_ALOLA] = { .baseHP = 38, .baseAttack = 41, @@ -4625,37 +4750,38 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 19, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_VulpixAlolan, + .frontPic = gMonFrontPic_VulpixAlola, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 10, - .frontAnimFrames = sAnims_VulpixAlolan, + .frontAnimFrames = sAnims_VulpixAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_VulpixAlolan, + .backPic = gMonBackPic_VulpixAlola, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 5, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_VulpixAlolan, - .shinyPalette = gMonShinyPalette_VulpixAlolan, - .iconSprite = gMonIcon_VulpixAlolan, + .palette = gMonPalette_VulpixAlola, + .shinyPalette = gMonShinyPalette_VulpixAlola, + .iconSprite = gMonIcon_VulpixAlola, .iconPalIndex = 0, + SHADOW(-2, 3, SHADOW_SIZE_M) FOOTPRINT(Vulpix) OVERWORLD( - sPicTable_VulpixAlolan, + sPicTable_VulpixAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_VulpixAlolan, - gShinyOverworldPalette_VulpixAlolan + gOverworldPalette_VulpixAlola, + gShinyOverworldPalette_VulpixAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sVulpixAlolanLevelUpLearnset, - .teachableLearnset = sVulpixAlolanTeachableLearnset, - .eggMoveLearnset = sVulpixAlolanEggMoveLearnset, + .levelUpLearnset = sVulpixAlolaLevelUpLearnset, + .teachableLearnset = sVulpixAlolaTeachableLearnset, + .eggMoveLearnset = sVulpixAlolaEggMoveLearnset, .formSpeciesIdTable = sVulpixFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_ITEM, ITEM_ICE_STONE, SPECIES_NINETALES_ALOLAN}), + .evolutions = EVOLUTION({EVO_ITEM, ITEM_ICE_STONE, SPECIES_NINETALES_ALOLA}), }, - [SPECIES_NINETALES_ALOLAN] = + [SPECIES_NINETALES_ALOLA] = { .baseHP = 73, .baseAttack = 67, @@ -4691,31 +4817,32 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 10, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_NinetalesAlolan, + .frontPic = gMonFrontPic_NinetalesAlola, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_NinetalesAlolan, + .frontAnimFrames = sAnims_NinetalesAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_NinetalesAlolan, + .backPic = gMonBackPic_NinetalesAlola, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 5, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_NinetalesAlolan, - .shinyPalette = gMonShinyPalette_NinetalesAlolan, - .iconSprite = gMonIcon_NinetalesAlolan, + .palette = gMonPalette_NinetalesAlola, + .shinyPalette = gMonShinyPalette_NinetalesAlola, + .iconSprite = gMonIcon_NinetalesAlola, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Ninetales) OVERWORLD( - sPicTable_NinetalesAlolan, + sPicTable_NinetalesAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_NinetalesAlolan, - gShinyOverworldPalette_NinetalesAlolan + gOverworldPalette_NinetalesAlola, + gShinyOverworldPalette_NinetalesAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sNinetalesAlolanLevelUpLearnset, - .teachableLearnset = sNinetalesAlolanTeachableLearnset, + .levelUpLearnset = sNinetalesAlolaLevelUpLearnset, + .teachableLearnset = sNinetalesAlolaTeachableLearnset, .formSpeciesIdTable = sNinetalesFormSpeciesIdTable, }, #endif //P_ALOLAN_FORMS @@ -4770,17 +4897,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Igglybuff, .frontPicSize = MON_COORDS_SIZE(32, 32), - .frontPicYOffset = 17, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 17, .frontAnimFrames = sAnims_Igglybuff, .frontAnimId = ANIM_SWING_CONCAVE_FAST, .backPic = gMonBackPic_Igglybuff, - .backPicSize = MON_COORDS_SIZE(40, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(40, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 13, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Igglybuff, .shinyPalette = gMonShinyPalette_Igglybuff, .iconSprite = gMonIcon_Igglybuff, .iconPalIndex = 1, + SHADOW(0, -3, SHADOW_SIZE_S) FOOTPRINT(Igglybuff) OVERWORLD( sPicTable_Igglybuff, @@ -4838,18 +4966,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Jigglypuff, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 14, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 14, .frontAnimFrames = sAnims_Jigglypuff, .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, .backPic = gMonBackPic_Jigglypuff, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 12, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 12, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Jigglypuff, .shinyPalette = gMonShinyPalette_Jigglypuff, .iconSprite = gMonIcon_Jigglypuff, .iconPalIndex = 0, + SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Jigglypuff) OVERWORLD( sPicTable_Jigglypuff, @@ -4913,18 +5042,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Wigglytuff, - .frontPicSize = MON_COORDS_SIZE(48, 64), - .frontPicYOffset = 4, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(48, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 4, .frontAnimFrames = sAnims_Wigglytuff, .frontAnimId = ANIM_H_JUMPS, .backPic = gMonBackPic_Wigglytuff, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 0, .backAnimId = BACK_ANIM_GROW, .palette = gMonPalette_Wigglytuff, .shinyPalette = gMonShinyPalette_Wigglytuff, .iconSprite = gMonIcon_Wigglytuff, .iconPalIndex = 0, + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Wigglytuff) OVERWORLD( sPicTable_Wigglytuff, @@ -4975,23 +5105,26 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Zubat, - .frontPicFemale = gMonFrontPic_ZubatF, - .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 16, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(56, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 16, .frontAnimFrames = sAnims_Zubat, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .enemyMonElevation = 16, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 16, .backPic = gMonBackPic_Zubat, - .backPicFemale = gMonBackPic_ZubatF, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicSizeFemale = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 7, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 7, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Zubat, .shinyPalette = gMonShinyPalette_Zubat, .iconSprite = gMonIcon_Zubat, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_ZubatF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 48), + .backPicFemale = gMonBackPic_ZubatF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(-4, 11, SHADOW_SIZE_S) FOOTPRINT(Zubat) OVERWORLD( sPicTable_Zubat, @@ -5001,6 +5134,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Zubat, gShinyOverworldPalette_Zubat ) + OVERWORLD_FEMALE( + sPicTable_ZubatF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sZubatLevelUpLearnset, .teachableLearnset = sZubatTeachableLearnset, .eggMoveLearnset = sZubatEggMoveLearnset, @@ -5042,23 +5181,26 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Golbat, - .frontPicFemale = gMonFrontPic_GolbatF, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 7, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 7, .frontAnimFrames = sAnims_Golbat, .frontAnimId = ANIM_H_SLIDE_WOBBLE, - .enemyMonElevation = 10, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 10, .backPic = gMonBackPic_Golbat, - .backPicFemale = gMonBackPic_GolbatF, - .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicSizeFemale = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 13, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Golbat, .shinyPalette = gMonShinyPalette_Golbat, .iconSprite = gMonIcon_Golbat, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_GolbatF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), + .backPicFemale = gMonBackPic_GolbatF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 40), +#endif //P_GENDER_DIFFERENCES + SHADOW(2, 14, SHADOW_SIZE_M) FOOTPRINT(Golbat) OVERWORLD( sPicTable_Golbat, @@ -5068,6 +5210,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Golbat, gShinyOverworldPalette_Golbat ) + OVERWORLD_FEMALE( + sPicTable_GolbatF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sGolbatLevelUpLearnset, .teachableLearnset = sGolbatTeachableLearnset, .evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_CROBAT}), @@ -5115,19 +5263,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 281, .trainerOffset = 1, .frontPic = gMonFrontPic_Crobat, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 6, .frontAnimFrames = sAnims_Crobat, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .enemyMonElevation = 9, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 6 : 9, .backPic = gMonBackPic_Crobat, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 1, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 1, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Crobat, .shinyPalette = gMonShinyPalette_Crobat, .iconSprite = gMonIcon_Crobat, .iconPalIndex = 2, + SHADOW(-3, 14, SHADOW_SIZE_M) FOOTPRINT(Crobat) OVERWORLD( sPicTable_Crobat, @@ -5180,18 +5329,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Oddish, - .frontPicSize = MON_COORDS_SIZE(40, 40), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), .frontPicYOffset = 15, .frontAnimFrames = sAnims_Oddish, - .frontAnimId = ANIM_V_JUMPS_H_JUMPS, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE : ANIM_V_JUMPS_H_JUMPS, .backPic = gMonBackPic_Oddish, - .backPicSize = MON_COORDS_SIZE(48, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(48, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 10, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Oddish, .shinyPalette = gMonShinyPalette_Oddish, .iconSprite = gMonIcon_Oddish, - .iconPalIndex = 4, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 4, + SHADOW(0, -2, SHADOW_SIZE_S) FOOTPRINT(Oddish) OVERWORLD( sPicTable_Oddish, @@ -5243,22 +5393,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Gloom, - .frontPicFemale = gMonFrontPic_GloomF, - .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 11, .frontAnimFrames = sAnims_Gloom, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Gloom, - .backPicFemale = gMonBackPic_GloomF, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicSizeFemale = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 11, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 11, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Gloom, .shinyPalette = gMonShinyPalette_Gloom, .iconSprite = gMonIcon_Gloom, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_GloomF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 48), + .backPicFemale = gMonBackPic_GloomF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 3, SHADOW_SIZE_M) FOOTPRINT(Gloom) OVERWORLD( sPicTable_Gloom, @@ -5268,6 +5421,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Gloom, gShinyOverworldPalette_Gloom ) + OVERWORLD_FEMALE( + sPicTable_GloomF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sGloomLevelUpLearnset, .teachableLearnset = sGloomTeachableLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VILEPLUME}, @@ -5318,22 +5477,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Vileplume, - .frontPicFemale = gMonFrontPic_VileplumeF, .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 7, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 7, .frontAnimFrames = sAnims_Vileplume, - .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW : ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Vileplume, - .backPicFemale = gMonBackPic_VileplumeF, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 6, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Vileplume, .shinyPalette = gMonShinyPalette_Vileplume, .iconSprite = gMonIcon_Vileplume, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_VileplumeF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), + .backPicFemale = gMonBackPic_VileplumeF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 7, SHADOW_SIZE_L) FOOTPRINT(Vileplume) OVERWORLD( sPicTable_Vileplume, @@ -5343,6 +5505,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Vileplume, gShinyOverworldPalette_Vileplume ) + OVERWORLD_FEMALE( + sPicTable_VileplumeF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sVileplumeLevelUpLearnset, .teachableLearnset = sVileplumeTeachableLearnset, }, @@ -5393,9 +5561,9 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Bellossom, .frontPicSize = MON_COORDS_SIZE(32, 40), - .frontPicYOffset = 12, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 12, .frontAnimFrames = sAnims_Bellossom, - .frontAnimId = ANIM_H_SLIDE_SLOW, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONCAVE : ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Bellossom, .backPicSize = MON_COORDS_SIZE(48, 48), .backPicYOffset = 11, @@ -5404,6 +5572,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Bellossom, .iconSprite = gMonIcon_Bellossom, .iconPalIndex = 1, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Bellossom) OVERWORLD( sPicTable_Bellossom, @@ -5461,19 +5630,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Paras, - .frontPicSize = MON_COORDS_SIZE(48, 40), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 40), .frontPicYOffset = 15, .frontAnimFrames = sAnims_Paras, .frontAnimId = ANIM_H_SLIDE_SLOW, .frontAnimDelay = 10, .backPic = gMonBackPic_Paras, - .backPicSize = MON_COORDS_SIZE(64, 32), - .backPicYOffset = 18, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 24) : MON_COORDS_SIZE(64, 32), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 18, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Paras, .shinyPalette = gMonShinyPalette_Paras, .iconSprite = gMonIcon_Paras, .iconPalIndex = 0, + SHADOW(7, -11, SHADOW_SIZE_M) FOOTPRINT(Paras) OVERWORLD( sPicTable_Paras, @@ -5531,19 +5701,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Parasect, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 7, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, .frontAnimFrames = sAnims_Parasect, .frontAnimId = ANIM_H_SHAKE, .frontAnimDelay = 45, .backPic = gMonBackPic_Parasect, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 13, .backAnimId = BACK_ANIM_H_SHAKE, .palette = gMonPalette_Parasect, .shinyPalette = gMonShinyPalette_Parasect, .iconSprite = gMonIcon_Parasect, .iconPalIndex = 0, + SHADOW(5, 2, SHADOW_SIZE_L) FOOTPRINT(Parasect) OVERWORLD( sPicTable_Parasect, @@ -5598,19 +5769,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = -1, .frontPic = gMonFrontPic_Venonat, - .frontPicSize = MON_COORDS_SIZE(40, 56), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(40, 56), .frontPicYOffset = 8, .frontAnimFrames = sAnims_Venonat, .frontAnimId = ANIM_V_JUMPS_H_JUMPS, .frontAnimDelay = 20, .backPic = gMonBackPic_Venonat, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 5, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 5, .backAnimId = BACK_ANIM_V_SHAKE_H_SLIDE, .palette = gMonPalette_Venonat, .shinyPalette = gMonShinyPalette_Venonat, .iconSprite = gMonIcon_Venonat, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 2, + SHADOW(-1, 5, SHADOW_SIZE_M) FOOTPRINT(Venonat) OVERWORLD( sPicTable_Venonat, @@ -5667,19 +5839,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 1, .frontPic = gMonFrontPic_Venomoth, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 9, .frontAnimFrames = sAnims_Venomoth, .frontAnimId = ANIM_ZIGZAG_SLOW, - .enemyMonElevation = 16, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 16, .backPic = gMonBackPic_Venomoth, - .backPicSize = MON_COORDS_SIZE(64, 56), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .backPicYOffset = 4, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Venomoth, .shinyPalette = gMonShinyPalette_Venomoth, .iconSprite = gMonIcon_Venomoth, .iconPalIndex = 2, + SHADOW(-5, 18, SHADOW_SIZE_M) FOOTPRINT(Venomoth) OVERWORLD( sPicTable_Venomoth, @@ -5742,19 +5915,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Diglett, - .frontPicSize = MON_COORDS_SIZE(32, 32), - .frontPicYOffset = 17, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(32, 32), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 17, .frontAnimFrames = sAnims_Diglett, .frontAnimId = ANIM_V_SHAKE, .frontAnimDelay = 25, .backPic = gMonBackPic_Diglett, - .backPicSize = MON_COORDS_SIZE(40, 40), - .backPicYOffset = 14, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(40, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 14, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Diglett, .shinyPalette = gMonShinyPalette_Diglett, .iconSprite = gMonIcon_Diglett, .iconPalIndex = 2, + NO_SHADOW FOOTPRINT(Diglett) OVERWORLD( sPicTable_Diglett, @@ -5807,19 +5981,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Dugtrio, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 11, .frontAnimFrames = sAnims_Dugtrio, .frontAnimId = ANIM_H_SHAKE_SLOW, .frontAnimDelay = 35, .backPic = gMonBackPic_Dugtrio, - .backPicSize = MON_COORDS_SIZE(48, 32), - .backPicYOffset = 17, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 32), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 17, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Dugtrio, .shinyPalette = gMonShinyPalette_Dugtrio, .iconSprite = gMonIcon_Dugtrio, .iconPalIndex = 2, + NO_SHADOW FOOTPRINT(Dugtrio) OVERWORLD( sPicTable_Dugtrio, @@ -5835,7 +6010,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_ALOLAN_FORMS - [SPECIES_DIGLETT_ALOLAN] = + [SPECIES_DIGLETT_ALOLA] = { .baseHP = 10, .baseAttack = 55, @@ -5870,37 +6045,38 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 25, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_DiglettAlolan, + .frontPic = gMonFrontPic_DiglettAlola, .frontPicSize = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 19, - .frontAnimFrames = sAnims_DiglettAlolan, + .frontAnimFrames = sAnims_DiglettAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_DiglettAlolan, + .backPic = gMonBackPic_DiglettAlola, .backPicSize = MON_COORDS_SIZE(40, 48), .backPicYOffset = 14, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_DiglettAlolan, - .shinyPalette = gMonShinyPalette_DiglettAlolan, - .iconSprite = gMonIcon_DiglettAlolan, + .palette = gMonPalette_DiglettAlola, + .shinyPalette = gMonShinyPalette_DiglettAlola, + .iconSprite = gMonIcon_DiglettAlola, .iconPalIndex = 2, + NO_SHADOW FOOTPRINT(Diglett) OVERWORLD( - sPicTable_DiglettAlolan, + sPicTable_DiglettAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_DiglettAlolan, - gShinyOverworldPalette_DiglettAlolan + gOverworldPalette_DiglettAlola, + gShinyOverworldPalette_DiglettAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sDiglettAlolanLevelUpLearnset, - .teachableLearnset = sDiglettAlolanTeachableLearnset, - .eggMoveLearnset = sDiglettAlolanEggMoveLearnset, + .levelUpLearnset = sDiglettAlolaLevelUpLearnset, + .teachableLearnset = sDiglettAlolaTeachableLearnset, + .eggMoveLearnset = sDiglettAlolaEggMoveLearnset, .formSpeciesIdTable = sDiglettFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL, 26, SPECIES_DUGTRIO_ALOLAN}), + .evolutions = EVOLUTION({EVO_LEVEL, 26, SPECIES_DUGTRIO_ALOLA}), }, - [SPECIES_DUGTRIO_ALOLAN] = + [SPECIES_DUGTRIO_ALOLA] = { .baseHP = 35, .baseAttack = DUGTRIO_ATTACK, @@ -5936,31 +6112,32 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 18, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_DugtrioAlolan, + .frontPic = gMonFrontPic_DugtrioAlola, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_DugtrioAlolan, + .frontAnimFrames = sAnims_DugtrioAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_DugtrioAlolan, + .backPic = gMonBackPic_DugtrioAlola, .backPicSize = MON_COORDS_SIZE(64, 32), .backPicYOffset = 17, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_DugtrioAlolan, - .shinyPalette = gMonShinyPalette_DugtrioAlolan, - .iconSprite = gMonIcon_DugtrioAlolan, + .palette = gMonPalette_DugtrioAlola, + .shinyPalette = gMonShinyPalette_DugtrioAlola, + .iconSprite = gMonIcon_DugtrioAlola, .iconPalIndex = 2, + NO_SHADOW FOOTPRINT(Dugtrio) OVERWORLD( - sPicTable_DugtrioAlolan, + sPicTable_DugtrioAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_DugtrioAlolan, - gShinyOverworldPalette_DugtrioAlolan + gOverworldPalette_DugtrioAlola, + gShinyOverworldPalette_DugtrioAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sDugtrioAlolanLevelUpLearnset, - .teachableLearnset = sDugtrioAlolanTeachableLearnset, + .levelUpLearnset = sDugtrioAlolaLevelUpLearnset, + .teachableLearnset = sDugtrioAlolaTeachableLearnset, .formSpeciesIdTable = sDugtrioFormSpeciesIdTable, }, #endif //P_ALOLAN_FORMS @@ -6007,19 +6184,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Meowth, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 10, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, .frontAnimFrames = sAnims_Meowth, .frontAnimId = ANIM_V_JUMPS_SMALL, .frontAnimDelay = 40, .backPic = gMonBackPic_Meowth, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 6, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Meowth, .shinyPalette = gMonShinyPalette_Meowth, .iconSprite = gMonIcon_Meowth, .iconPalIndex = 1, + SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Meowth) OVERWORLD( sPicTable_Meowth, @@ -6077,8 +6255,8 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Persian, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 4, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 4, .frontAnimFrames = sAnims_Persian, .frontAnimId = ANIM_V_STRETCH, .frontAnimDelay = 20, @@ -6090,6 +6268,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Persian, .iconSprite = gMonIcon_Persian, .iconPalIndex = 1, + SHADOW(-2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Persian) OVERWORLD( sPicTable_Persian, @@ -6105,7 +6284,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_ALOLAN_FORMS - [SPECIES_MEOWTH_ALOLAN] = + [SPECIES_MEOWTH_ALOLA] = { .baseHP = 40, .baseAttack = 35, @@ -6140,37 +6319,38 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 19, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_MeowthAlolan, + .frontPic = gMonFrontPic_MeowthAlola, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_MeowthAlolan, + .frontAnimFrames = sAnims_MeowthAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_MeowthAlolan, + .backPic = gMonBackPic_MeowthAlola, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 7, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_MeowthAlolan, - .shinyPalette = gMonShinyPalette_MeowthAlolan, - .iconSprite = gMonIcon_MeowthAlolan, + .palette = gMonPalette_MeowthAlola, + .shinyPalette = gMonShinyPalette_MeowthAlola, + .iconSprite = gMonIcon_MeowthAlola, .iconPalIndex = 2, + SHADOW(-2, 5, SHADOW_SIZE_M) FOOTPRINT(Meowth) OVERWORLD( - sPicTable_MeowthAlolan, + sPicTable_MeowthAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_MeowthAlolan, - gShinyOverworldPalette_MeowthAlolan + gOverworldPalette_MeowthAlola, + gShinyOverworldPalette_MeowthAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sMeowthAlolanLevelUpLearnset, - .teachableLearnset = sMeowthAlolanTeachableLearnset, - .eggMoveLearnset = sMeowthAlolanEggMoveLearnset, + .levelUpLearnset = sMeowthAlolaLevelUpLearnset, + .teachableLearnset = sMeowthAlolaTeachableLearnset, + .eggMoveLearnset = sMeowthAlolaEggMoveLearnset, .formSpeciesIdTable = sMeowthFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_PERSIAN_ALOLAN}), + .evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_PERSIAN_ALOLA}), }, - [SPECIES_PERSIAN_ALOLAN] = + [SPECIES_PERSIAN_ALOLA] = { .baseHP = 65, .baseAttack = 60, @@ -6205,37 +6385,38 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 10, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_PersianAlolan, + .frontPic = gMonFrontPic_PersianAlola, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_PersianAlolan, + .frontAnimFrames = sAnims_PersianAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_PersianAlolan, + .backPic = gMonBackPic_PersianAlola, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 8, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_PersianAlolan, - .shinyPalette = gMonShinyPalette_PersianAlolan, - .iconSprite = gMonIcon_PersianAlolan, + .palette = gMonPalette_PersianAlola, + .shinyPalette = gMonShinyPalette_PersianAlola, + .iconSprite = gMonIcon_PersianAlola, .iconPalIndex = 2, + SHADOW(-1, 9, SHADOW_SIZE_L) FOOTPRINT(Persian) OVERWORLD( - sPicTable_PersianAlolan, + sPicTable_PersianAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_PersianAlolan, - gShinyOverworldPalette_PersianAlolan + gOverworldPalette_PersianAlola, + gShinyOverworldPalette_PersianAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sPersianAlolanLevelUpLearnset, - .teachableLearnset = sPersianAlolanTeachableLearnset, + .levelUpLearnset = sPersianAlolaLevelUpLearnset, + .teachableLearnset = sPersianAlolaTeachableLearnset, .formSpeciesIdTable = sPersianFormSpeciesIdTable, }, #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS - [SPECIES_MEOWTH_GALARIAN] = + [SPECIES_MEOWTH_GALAR] = { .baseHP = 50, .baseAttack = 65, @@ -6269,32 +6450,33 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 19, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_MeowthGalarian, + .frontPic = gMonFrontPic_MeowthGalar, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_MeowthGalarian, + .frontAnimFrames = sAnims_MeowthGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_MeowthGalarian, + .backPic = gMonBackPic_MeowthGalar, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 8, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_MeowthGalarian, - .shinyPalette = gMonShinyPalette_MeowthGalarian, - .iconSprite = gMonIcon_MeowthGalarian, + .palette = gMonPalette_MeowthGalar, + .shinyPalette = gMonShinyPalette_MeowthGalar, + .iconSprite = gMonIcon_MeowthGalar, .iconPalIndex = 0, + SHADOW(1, 4, SHADOW_SIZE_M) FOOTPRINT(Meowth) OVERWORLD( - sPicTable_MeowthGalarian, + sPicTable_MeowthGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_MeowthGalarian, - gShinyOverworldPalette_MeowthGalarian + gOverworldPalette_MeowthGalar, + gShinyOverworldPalette_MeowthGalar ) .isGalarianForm = TRUE, - .levelUpLearnset = sMeowthGalarianLevelUpLearnset, - .teachableLearnset = sMeowthGalarianTeachableLearnset, - .eggMoveLearnset = sMeowthGalarianEggMoveLearnset, + .levelUpLearnset = sMeowthGalarLevelUpLearnset, + .teachableLearnset = sMeowthGalarTeachableLearnset, + .eggMoveLearnset = sMeowthGalarEggMoveLearnset, .formSpeciesIdTable = sMeowthFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 28, SPECIES_PERRSERKER}), }, @@ -6345,6 +6527,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Perrserker, .iconSprite = gMonIcon_Perrserker, .iconPalIndex = 2, + SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Perrserker) OVERWORLD( sPicTable_Perrserker, @@ -6360,7 +6543,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #endif //P_GALARIAN_FORMS #if P_GIGANTAMAX_FORMS - [SPECIES_MEOWTH_GIGANTAMAX] = + [SPECIES_MEOWTH_GMAX] = { .baseHP = 40, .baseAttack = 45, @@ -6395,19 +6578,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 19, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_MeowthGigantamax, + .frontPic = gMonFrontPic_MeowthGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_MeowthGigantamax, + .frontAnimFrames = sAnims_MeowthGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_MeowthGigantamax, + .backPic = gMonBackPic_MeowthGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 5, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_MeowthGigantamax, - .shinyPalette = gMonShinyPalette_MeowthGigantamax, - .iconSprite = gMonIcon_MeowthGigantamax, + .palette = gMonPalette_MeowthGmax, + .shinyPalette = gMonShinyPalette_MeowthGmax, + .iconSprite = gMonIcon_MeowthGmax, .iconPalIndex = 1, + SHADOW(4, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Meowth) .isGigantamax = TRUE, .levelUpLearnset = sMeowthLevelUpLearnset, @@ -6456,17 +6640,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Psyduck, .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 11, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 11, .frontAnimFrames = sAnims_Psyduck, .frontAnimId = ANIM_V_JUMPS_H_JUMPS, .backPic = gMonBackPic_Psyduck, - .backPicSize = MON_COORDS_SIZE(48, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(48, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 9, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Psyduck, .shinyPalette = gMonShinyPalette_Psyduck, .iconSprite = gMonIcon_Psyduck, .iconPalIndex = 1, + SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Psyduck) OVERWORLD( sPicTable_Psyduck, @@ -6517,18 +6702,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 273, .trainerOffset = 1, .frontPic = gMonFrontPic_Golduck, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 4, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 4, .frontAnimFrames = sAnims_Golduck, .frontAnimId = ANIM_H_SHAKE_SLOW, .backPic = gMonBackPic_Golduck, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 3, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Golduck, .shinyPalette = gMonShinyPalette_Golduck, .iconSprite = gMonIcon_Golduck, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(1, 6, SHADOW_SIZE_M) FOOTPRINT(Golduck) OVERWORLD( sPicTable_Golduck, @@ -6583,19 +6769,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Mankey, - .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 11, .frontAnimFrames = sAnims_Mankey, .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .frontAnimDelay = 20, .backPic = gMonBackPic_Mankey, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 8, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Mankey, .shinyPalette = gMonShinyPalette_Mankey, .iconSprite = gMonIcon_Mankey, .iconPalIndex = 1, + SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Mankey) OVERWORLD( sPicTable_Mankey, @@ -6650,18 +6837,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Primeape, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 6, .frontAnimFrames = sAnims_Primeape, - .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL : ANIM_BOUNCE_ROTATE_TO_SIDES, .backPic = gMonBackPic_Primeape, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 10, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Primeape, .shinyPalette = gMonShinyPalette_Primeape, .iconSprite = gMonIcon_Primeape, .iconPalIndex = 2, + SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Primeape) OVERWORLD( sPicTable_Primeape, @@ -6724,6 +6912,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Annihilape, .iconSprite = gMonIcon_Annihilape, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Annihilape) OVERWORLD( sPicTable_Annihilape, @@ -6776,18 +6965,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Growlithe, .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 9, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 9, .frontAnimFrames = sAnims_Growlithe, - .frontAnimId = ANIM_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BACK_AND_LUNGE : ANIM_V_STRETCH, .frontAnimDelay = 30, .backPic = gMonBackPic_Growlithe, - .backPicSize = MON_COORDS_SIZE(48, 56), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), .backPicYOffset = 8, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Growlithe, .shinyPalette = gMonShinyPalette_Growlithe, .iconSprite = gMonIcon_Growlithe, - .iconPalIndex = 3, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 3, + SHADOW(0, 4, SHADOW_SIZE_M) FOOTPRINT(Growlithe) OVERWORLD( sPicTable_Growlithe, @@ -6842,16 +7032,17 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, .frontAnimFrames = sAnims_Arcanine, - .frontAnimId = ANIM_V_SHAKE, - .frontAnimDelay = 8, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_VIBRATE : ANIM_V_SHAKE, + .frontAnimDelay = P_GBA_STYLE_SPECIES_GFX ? 40 : 8, .backPic = gMonBackPic_Arcanine, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 4, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 4, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Arcanine, .shinyPalette = gMonShinyPalette_Arcanine, .iconSprite = gMonIcon_Arcanine, - .iconPalIndex = 3, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 3, + SHADOW(-4, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Arcanine) OVERWORLD( sPicTable_Arcanine, @@ -6867,7 +7058,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_HISUIAN_FORMS - [SPECIES_GROWLITHE_HISUIAN] = + [SPECIES_GROWLITHE_HISUI] = { .baseHP = 60, .baseAttack = 75, @@ -6901,36 +7092,37 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 14, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_GrowlitheHisuian, + .frontPic = gMonFrontPic_GrowlitheHisui, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_GrowlitheHisuian, + .frontAnimFrames = sAnims_GrowlitheHisui, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_GrowlitheHisuian, + .backPic = gMonBackPic_GrowlitheHisui, .backPicSize = MON_COORDS_SIZE(56, 56), .backPicYOffset = 8, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_GrowlitheHisuian, - .shinyPalette = gMonShinyPalette_GrowlitheHisuian, - .iconSprite = gMonIcon_GrowlitheHisuian, + .palette = gMonPalette_GrowlitheHisui, + .shinyPalette = gMonShinyPalette_GrowlitheHisui, + .iconSprite = gMonIcon_GrowlitheHisui, .iconPalIndex = 0, + SHADOW(2, -2, SHADOW_SIZE_M) FOOTPRINT(Growlithe) OVERWORLD( - sPicTable_GrowlitheHisuian, + sPicTable_GrowlitheHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_GrowlitheHisuian, - gShinyOverworldPalette_GrowlitheHisuian + gOverworldPalette_GrowlitheHisui, + gShinyOverworldPalette_GrowlitheHisui ) .isHisuianForm = TRUE, - .levelUpLearnset = sGrowlitheHisuianLevelUpLearnset, - .teachableLearnset = sGrowlitheHisuianTeachableLearnset, + .levelUpLearnset = sGrowlitheHisuiLevelUpLearnset, + .teachableLearnset = sGrowlitheHisuiTeachableLearnset, .formSpeciesIdTable = sGrowlitheFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_ITEM, ITEM_FIRE_STONE, SPECIES_ARCANINE_HISUIAN}), + .evolutions = EVOLUTION({EVO_ITEM, ITEM_FIRE_STONE, SPECIES_ARCANINE_HISUI}), }, - [SPECIES_ARCANINE_HISUIAN] = + [SPECIES_ARCANINE_HISUI] = { .baseHP = 95, .baseAttack = 115, @@ -6964,31 +7156,32 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 1, .trainerScale = 312, .trainerOffset = 4, - .frontPic = gMonFrontPic_ArcanineHisuian, + .frontPic = gMonFrontPic_ArcanineHisui, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_ArcanineHisuian, + .frontAnimFrames = sAnims_ArcanineHisui, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_ArcanineHisuian, + .backPic = gMonBackPic_ArcanineHisui, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 3, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_ArcanineHisuian, - .shinyPalette = gMonShinyPalette_ArcanineHisuian, - .iconSprite = gMonIcon_ArcanineHisuian, + .palette = gMonPalette_ArcanineHisui, + .shinyPalette = gMonShinyPalette_ArcanineHisui, + .iconSprite = gMonIcon_ArcanineHisui, .iconPalIndex = 0, + SHADOW(-1, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Arcanine) OVERWORLD( - sPicTable_ArcanineHisuian, + sPicTable_ArcanineHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_ArcanineHisuian, - gShinyOverworldPalette_ArcanineHisuian + gOverworldPalette_ArcanineHisui, + gShinyOverworldPalette_ArcanineHisui ) .isHisuianForm = TRUE, - .levelUpLearnset = sArcanineHisuianLevelUpLearnset, - .teachableLearnset = sArcanineHisuianTeachableLearnset, + .levelUpLearnset = sArcanineHisuiLevelUpLearnset, + .teachableLearnset = sArcanineHisuiTeachableLearnset, .formSpeciesIdTable = sArcanineFormSpeciesIdTable, }, #endif //P_HISUIAN_FORMS @@ -7031,18 +7224,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Poliwag, - .frontPicSize = MON_COORDS_SIZE(64, 40), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 32) : MON_COORDS_SIZE(64, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 19 : 13, .frontAnimFrames = sAnims_Poliwag, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Poliwag, - .backPicSize = MON_COORDS_SIZE(48, 32), - .backPicYOffset = 18, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 32) : MON_COORDS_SIZE(48, 32), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 18, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Poliwag, .shinyPalette = gMonShinyPalette_Poliwag, .iconSprite = gMonIcon_Poliwag, .iconPalIndex = 0, + SHADOW(-3, 0, SHADOW_SIZE_S) FOOTPRINT(Poliwag) OVERWORLD( sPicTable_Poliwag, @@ -7095,19 +7289,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Poliwhirl, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 9, .frontAnimFrames = sAnims_Poliwhirl, .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .frontAnimDelay = 5, .backPic = gMonBackPic_Poliwhirl, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(64, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 13, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Poliwhirl, .shinyPalette = gMonShinyPalette_Poliwhirl, .iconSprite = gMonIcon_Poliwhirl, .iconPalIndex = 0, + SHADOW(-1, 4, SHADOW_SIZE_M) FOOTPRINT(Poliwhirl) OVERWORLD( sPicTable_Poliwhirl, @@ -7169,18 +7364,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Poliwrath, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .frontAnimFrames = sAnims_Poliwrath, .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Poliwrath, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 7, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 7, .backAnimId = BACK_ANIM_V_SHAKE_LOW, .palette = gMonPalette_Poliwrath, .shinyPalette = gMonShinyPalette_Poliwrath, .iconSprite = gMonIcon_Poliwrath, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Poliwrath) OVERWORLD( sPicTable_Poliwrath, @@ -7238,23 +7434,26 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Politoed, - .frontPicFemale = gMonFrontPic_PolitoedF, .frontPicSize = MON_COORDS_SIZE(48, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 56), - .frontPicYOffset = 4, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 4, .frontAnimFrames = sAnims_Politoed, .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .frontAnimDelay = 40, .backPic = gMonBackPic_Politoed, - .backPicFemale = gMonBackPic_PolitoedF, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicSizeFemale = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 5, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 5, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Politoed, .shinyPalette = gMonShinyPalette_Politoed, .iconSprite = gMonIcon_Politoed, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_PolitoedF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 56), + .backPicFemale = gMonBackPic_PolitoedF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(1, 9, SHADOW_SIZE_M) FOOTPRINT(Politoed) OVERWORLD( sPicTable_Politoed, @@ -7264,6 +7463,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Politoed, gShinyOverworldPalette_Politoed ) + OVERWORLD_FEMALE( + sPicTable_PolitoedF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sPolitoedLevelUpLearnset, .teachableLearnset = sPolitoedTeachableLearnset, }, @@ -7313,18 +7518,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Abra, - .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 10, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 10, .frontAnimFrames = sAnims_Abra, - .frontAnimId = ANIM_H_VIBRATE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_JUMPS : ANIM_H_VIBRATE, .backPic = gMonBackPic_Abra, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 12, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 12, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Abra, .shinyPalette = gMonShinyPalette_Abra, .iconSprite = gMonIcon_Abra, .iconPalIndex = 2, + SHADOW(0, 0, SHADOW_SIZE_L) FOOTPRINT(Abra) OVERWORLD( sPicTable_Abra, @@ -7377,22 +7583,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Kadabra, - .frontPicFemale = gMonFrontPic_KadabraF, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = 5, .frontAnimFrames = sAnims_Kadabra, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Kadabra, - .backPicFemale = gMonBackPic_KadabraF, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicSizeFemale = MON_COORDS_SIZE(64, 48), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), .backPicYOffset = 8, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Kadabra, .shinyPalette = gMonShinyPalette_Kadabra, .iconSprite = gMonIcon_Kadabra, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_KadabraF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), + .backPicFemale = gMonBackPic_KadabraF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(1, 6, SHADOW_SIZE_L) FOOTPRINT(Kadabra) OVERWORLD( sPicTable_Kadabra, @@ -7402,6 +7611,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Kadabra, gShinyOverworldPalette_Kadabra ) + OVERWORLD_FEMALE( + sPicTable_KadabraF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_NONE + ) .levelUpLearnset = sKadabraLevelUpLearnset, .teachableLearnset = sKadabraTeachableLearnset, .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_ALAKAZAM}, @@ -7454,22 +7669,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Alakazam, - .frontPicFemale = gMonFrontPic_AlakazamF, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 2, .frontAnimFrames = sAnims_Alakazam, - .frontAnimId = ANIM_GROW_VIBRATE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Alakazam, - .backPicFemale = gMonBackPic_AlakazamF, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 6, .backAnimId = BACK_ANIM_GROW_STUTTER, .palette = gMonPalette_Alakazam, .shinyPalette = gMonShinyPalette_Alakazam, .iconSprite = gMonIcon_Alakazam, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_AlakazamF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_AlakazamF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 9, SHADOW_SIZE_L) FOOTPRINT(Alakazam) OVERWORLD( sPicTable_Alakazam, @@ -7479,6 +7697,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Alakazam, gShinyOverworldPalette_Alakazam ) + OVERWORLD_FEMALE( + sPicTable_AlakazamF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_NONE + ) .levelUpLearnset = sAlakazamLevelUpLearnset, .teachableLearnset = sAlakazamTeachableLearnset, .formSpeciesIdTable = sAlakazamFormSpeciesIdTable, @@ -7534,6 +7758,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_AlakazamMega, .iconSprite = gMonIcon_AlakazamMega, .iconPalIndex = 2, + SHADOW(0, 18, SHADOW_SIZE_L) FOOTPRINT(Alakazam) .isMegaEvolution = TRUE, .levelUpLearnset = sAlakazamLevelUpLearnset, @@ -7591,18 +7816,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Machop, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 8, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 8, .frontAnimFrames = sAnims_Machop, - .frontAnimId = ANIM_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE : ANIM_V_STRETCH, .backPic = gMonBackPic_Machop, - .backPicSize = MON_COORDS_SIZE(48, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(48, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 6, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Machop, .shinyPalette = gMonShinyPalette_Machop, .iconSprite = gMonIcon_Machop, .iconPalIndex = 0, + SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Machop) OVERWORLD( sPicTable_Machop, @@ -7659,18 +7885,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 257, .trainerOffset = 0, .frontPic = gMonFrontPic_Machoke, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 4, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(56, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 4, .frontAnimFrames = sAnims_Machoke, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Machoke, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Machoke, .shinyPalette = gMonShinyPalette_Machoke, .iconSprite = gMonIcon_Machoke, .iconPalIndex = 2, + SHADOW(-1, 9, SHADOW_SIZE_M) FOOTPRINT(Machoke) OVERWORLD( sPicTable_Machoke, @@ -7735,17 +7962,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = -1, .frontPic = gMonFrontPic_Machamp, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, .frontAnimFrames = sAnims_Machamp, .frontAnimId = ANIM_H_JUMPS, .backPic = gMonBackPic_Machamp, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 7, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 7, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Machamp, .shinyPalette = gMonShinyPalette_Machamp, .iconSprite = gMonIcon_Machamp, .iconPalIndex = 0, + SHADOW(7, 13, SHADOW_SIZE_L) FOOTPRINT(Machamp) OVERWORLD( sPicTable_Machamp, @@ -7762,7 +7990,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_MACHAMP_GIGANTAMAX] = + [SPECIES_MACHAMP_GMAX] = { .baseHP = 90, .baseAttack = 130, @@ -7801,19 +8029,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 1, .trainerScale = 269, .trainerOffset = -1, - .frontPic = gMonFrontPic_MachampGigantamax, + .frontPic = gMonFrontPic_MachampGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_MachampGigantamax, + .frontAnimFrames = sAnims_MachampGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_MachampGigantamax, + .backPic = gMonBackPic_MachampGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 3, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_MachampGigantamax, - .shinyPalette = gMonShinyPalette_MachampGigantamax, - .iconSprite = gMonIcon_MachampGigantamax, + .palette = gMonPalette_MachampGmax, + .shinyPalette = gMonShinyPalette_MachampGmax, + .iconSprite = gMonIcon_MachampGmax, .iconPalIndex = 0, + SHADOW(7, 13, SHADOW_SIZE_L) FOOTPRINT(Machamp) .isGigantamax = TRUE, .levelUpLearnset = sMachampLevelUpLearnset, @@ -7860,18 +8089,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Bellsprout, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 12, .frontAnimFrames = sAnims_Bellsprout, - .frontAnimId = ANIM_H_JUMPS, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_H_JUMPS, .backPic = gMonBackPic_Bellsprout, - .backPicSize = MON_COORDS_SIZE(40, 48), - .backPicYOffset = 11, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(40, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 11, .backAnimId = BACK_ANIM_V_STRETCH, .palette = gMonPalette_Bellsprout, .shinyPalette = gMonShinyPalette_Bellsprout, .iconSprite = gMonIcon_Bellsprout, .iconPalIndex = 1, + SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Bellsprout) OVERWORLD( sPicTable_Bellsprout, @@ -7922,19 +8152,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Weepinbell, - .frontPicSize = MON_COORDS_SIZE(56, 48), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = 11, .frontAnimFrames = sAnims_Weepinbell, .frontAnimId = ANIM_SWING_CONVEX, .frontAnimDelay = 3, .backPic = gMonBackPic_Weepinbell, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 11, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 11, .backAnimId = BACK_ANIM_V_STRETCH, .palette = gMonPalette_Weepinbell, .shinyPalette = gMonShinyPalette_Weepinbell, .iconSprite = gMonIcon_Weepinbell, .iconPalIndex = 1, + SHADOW(-3, 3, SHADOW_SIZE_M) FOOTPRINT(Weepinbell) OVERWORLD( sPicTable_Weepinbell, @@ -7992,8 +8223,8 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 312, .trainerOffset = 3, .frontPic = gMonFrontPic_Victreebel, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 6, .frontAnimFrames = sAnims_Victreebel, .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Victreebel, @@ -8004,6 +8235,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Victreebel, .iconSprite = gMonIcon_Victreebel, .iconPalIndex = 1, + SHADOW(3, 8, SHADOW_SIZE_M) FOOTPRINT(Victreebel) OVERWORLD( sPicTable_Victreebel, @@ -8055,18 +8287,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Tentacool, - .frontPicSize = MON_COORDS_SIZE(48, 56), - .frontPicYOffset = 7, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(48, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 7, .frontAnimFrames = sAnims_Tentacool, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Tentacool, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 9, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Tentacool, .shinyPalette = gMonShinyPalette_Tentacool, .iconSprite = gMonIcon_Tentacool, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(1, 6, SHADOW_SIZE_M) FOOTPRINT(Tentacool) OVERWORLD( sPicTable_Tentacool, @@ -8121,7 +8354,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, .frontAnimFrames = sAnims_Tentacruel, - .frontAnimId = ANIM_V_SLIDE_WOBBLE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE : ANIM_V_SLIDE_WOBBLE, .backPic = gMonBackPic_Tentacruel, .backPicSize = MON_COORDS_SIZE(64, 48), .backPicYOffset = 11, @@ -8129,7 +8362,8 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .palette = gMonPalette_Tentacruel, .shinyPalette = gMonShinyPalette_Tentacruel, .iconSprite = gMonIcon_Tentacruel, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Tentacruel) OVERWORLD( sPicTable_Tentacruel, @@ -8202,19 +8436,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Geodude, - .frontPicSize = MON_COORDS_SIZE(64, 32), - .frontPicYOffset = 19, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(64, 32), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 19, .frontAnimFrames = sAnims_Geodude, .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, - .enemyMonElevation = 10, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 16 : 10, .backPic = gMonBackPic_Geodude, - .backPicSize = MON_COORDS_SIZE(64, 48), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 48), .backPicYOffset = 11, .backAnimId = BACK_ANIM_V_SHAKE_LOW, .palette = gMonPalette_Geodude, .shinyPalette = gMonShinyPalette_Geodude, .iconSprite = gMonIcon_Geodude, .iconPalIndex = 1, + SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Geodude) OVERWORLD( sPicTable_Geodude, @@ -8267,18 +8502,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Graveler, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 9, .frontAnimFrames = sAnims_Graveler, - .frontAnimId = ANIM_V_SHAKE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL : ANIM_V_SHAKE, .backPic = gMonBackPic_Graveler, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, .backAnimId = BACK_ANIM_H_SHAKE, .palette = gMonPalette_Graveler, .shinyPalette = gMonShinyPalette_Graveler, .iconSprite = gMonIcon_Graveler, .iconPalIndex = 1, + SHADOW(0, 3, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Graveler) OVERWORLD( sPicTable_Graveler, @@ -8331,18 +8567,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 296, .trainerOffset = 2, .frontPic = gMonFrontPic_Golem, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 6, .frontAnimFrames = sAnims_Golem, .frontAnimId = ANIM_ROTATE_UP_SLAM_DOWN, .backPic = gMonBackPic_Golem, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 11, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 32) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 11, .backAnimId = BACK_ANIM_H_SHAKE, .palette = gMonPalette_Golem, .shinyPalette = gMonShinyPalette_Golem, .iconSprite = gMonIcon_Golem, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 2, + SHADOW(3, 5, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Golem) OVERWORLD( sPicTable_Golem, @@ -8358,7 +8595,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_ALOLAN_FORMS - [SPECIES_GEODUDE_ALOLAN] = + [SPECIES_GEODUDE_ALOLA] = { .baseHP = 40, .baseAttack = 80, @@ -8393,38 +8630,39 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 18, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_GeodudeAlolan, + .frontPic = gMonFrontPic_GeodudeAlola, .frontPicSize = MON_COORDS_SIZE(48, 32), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_GeodudeAlolan, + .frontAnimFrames = sAnims_GeodudeAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 16, - .backPic = gMonBackPic_GeodudeAlolan, + .backPic = gMonBackPic_GeodudeAlola, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 13, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_GeodudeAlolan, - .shinyPalette = gMonShinyPalette_GeodudeAlolan, - .iconSprite = gMonIcon_GeodudeAlolan, + .palette = gMonPalette_GeodudeAlola, + .shinyPalette = gMonShinyPalette_GeodudeAlola, + .iconSprite = gMonIcon_GeodudeAlola, .iconPalIndex = 2, + SHADOW(-1, 10, SHADOW_SIZE_M) FOOTPRINT(Geodude) OVERWORLD( - sPicTable_GeodudeAlolan, + sPicTable_GeodudeAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_GeodudeAlolan, - gShinyOverworldPalette_GeodudeAlolan + gOverworldPalette_GeodudeAlola, + gShinyOverworldPalette_GeodudeAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sGeodudeAlolanLevelUpLearnset, - .teachableLearnset = sGeodudeAlolanTeachableLearnset, - .eggMoveLearnset = sGeodudeAlolanEggMoveLearnset, + .levelUpLearnset = sGeodudeAlolaLevelUpLearnset, + .teachableLearnset = sGeodudeAlolaTeachableLearnset, + .eggMoveLearnset = sGeodudeAlolaEggMoveLearnset, .formSpeciesIdTable = sGeodudeFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_GRAVELER_ALOLAN}), + .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_GRAVELER_ALOLA}), }, - [SPECIES_GRAVELER_ALOLAN] = + [SPECIES_GRAVELER_ALOLA] = { .baseHP = 55, .baseAttack = 95, @@ -8459,37 +8697,38 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 2, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_GravelerAlolan, + .frontPic = gMonFrontPic_GravelerAlola, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_GravelerAlolan, + .frontAnimFrames = sAnims_GravelerAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_GravelerAlolan, + .backPic = gMonBackPic_GravelerAlola, .backPicSize = MON_COORDS_SIZE(64, 48), .backPicYOffset = 10, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_GravelerAlolan, - .shinyPalette = gMonShinyPalette_GravelerAlolan, - .iconSprite = gMonIcon_GravelerAlolan, + .palette = gMonPalette_GravelerAlola, + .shinyPalette = gMonShinyPalette_GravelerAlola, + .iconSprite = gMonIcon_GravelerAlola, .iconPalIndex = 0, + SHADOW(1, 5, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Graveler) OVERWORLD( - sPicTable_GravelerAlolan, + sPicTable_GravelerAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_GravelerAlolan, - gShinyOverworldPalette_GravelerAlolan + gOverworldPalette_GravelerAlola, + gShinyOverworldPalette_GravelerAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sGravelerAlolanLevelUpLearnset, - .teachableLearnset = sGravelerAlolanTeachableLearnset, + .levelUpLearnset = sGravelerAlolaLevelUpLearnset, + .teachableLearnset = sGravelerAlolaTeachableLearnset, .formSpeciesIdTable = sGravelerFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_GOLEM_ALOLAN}, - {EVO_ITEM, ITEM_LINKING_CORD, SPECIES_GOLEM_ALOLAN}), + .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_GOLEM_ALOLA}, + {EVO_ITEM, ITEM_LINKING_CORD, SPECIES_GOLEM_ALOLA}), }, - [SPECIES_GOLEM_ALOLAN] = + [SPECIES_GOLEM_ALOLA] = { .baseHP = 80, .baseAttack = GOLEM_ATTACK, @@ -8524,31 +8763,32 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 3, .trainerScale = 296, .trainerOffset = 2, - .frontPic = gMonFrontPic_GolemAlolan, + .frontPic = gMonFrontPic_GolemAlola, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_GolemAlolan, + .frontAnimFrames = sAnims_GolemAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_GolemAlolan, + .backPic = gMonBackPic_GolemAlola, .backPicSize = MON_COORDS_SIZE(64, 48), .backPicYOffset = 13, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_GolemAlolan, - .shinyPalette = gMonShinyPalette_GolemAlolan, - .iconSprite = gMonIcon_GolemAlolan, + .palette = gMonPalette_GolemAlola, + .shinyPalette = gMonShinyPalette_GolemAlola, + .iconSprite = gMonIcon_GolemAlola, .iconPalIndex = 2, + SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Golem) OVERWORLD( - sPicTable_GolemAlolan, + sPicTable_GolemAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_GolemAlolan, - gShinyOverworldPalette_GolemAlolan + gOverworldPalette_GolemAlola, + gShinyOverworldPalette_GolemAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sGolemAlolanLevelUpLearnset, - .teachableLearnset = sGolemAlolanTeachableLearnset, + .levelUpLearnset = sGolemAlolaLevelUpLearnset, + .teachableLearnset = sGolemAlolaTeachableLearnset, .formSpeciesIdTable = sGolemFormSpeciesIdTable, }, #endif //P_ALOLAN_FORMS @@ -8590,19 +8830,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Ponyta, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .frontAnimFrames = sAnims_Ponyta, - .frontAnimId = ANIM_V_SHAKE, - .frontAnimDelay = 10, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_GLOW_ORANGE : ANIM_V_SHAKE, + .frontAnimDelay = P_GBA_STYLE_SPECIES_GFX ? 0 : 10, .backPic = gMonBackPic_Ponyta, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 4, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 4, .backAnimId = BACK_ANIM_SHAKE_GLOW_RED, .palette = gMonPalette_Ponyta, .shinyPalette = gMonShinyPalette_Ponyta, .iconSprite = gMonIcon_Ponyta, - .iconPalIndex = 3, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 3, + SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Ponyta) OVERWORLD( sPicTable_Ponyta, @@ -8655,17 +8896,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 1, .frontPic = gMonFrontPic_Rapidash, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, .frontAnimFrames = sAnims_Rapidash, - .frontAnimId = ANIM_H_SHAKE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_CIRCULAR_VIBRATE : ANIM_H_SHAKE, .backPic = gMonBackPic_Rapidash, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 0, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Rapidash, .shinyPalette = gMonShinyPalette_Rapidash, .iconSprite = gMonIcon_Rapidash, - .iconPalIndex = 3, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 3, + SHADOW(-1, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rapidash) OVERWORLD( sPicTable_Rapidash, @@ -8681,7 +8923,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_GALARIAN_FORMS - [SPECIES_PONYTA_GALARIAN] = + [SPECIES_PONYTA_GALAR] = { .baseHP = 50, .baseAttack = 85, @@ -8715,37 +8957,38 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 8, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_PonytaGalarian, + .frontPic = gMonFrontPic_PonytaGalar, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_PonytaGalarian, + .frontAnimFrames = sAnims_PonytaGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_PonytaGalarian, + .backPic = gMonBackPic_PonytaGalar, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_PonytaGalarian, - .shinyPalette = gMonShinyPalette_PonytaGalarian, - .iconSprite = gMonIcon_PonytaGalarian, + .palette = gMonPalette_PonytaGalar, + .shinyPalette = gMonShinyPalette_PonytaGalar, + .iconSprite = gMonIcon_PonytaGalar, .iconPalIndex = 2, + SHADOW(-5, 5, SHADOW_SIZE_M) FOOTPRINT(Ponyta) OVERWORLD( - sPicTable_PonytaGalarian, + sPicTable_PonytaGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_PonytaGalarian, - gShinyOverworldPalette_PonytaGalarian + gOverworldPalette_PonytaGalar, + gShinyOverworldPalette_PonytaGalar ) .isGalarianForm = TRUE, - .levelUpLearnset = sPonytaGalarianLevelUpLearnset, - .teachableLearnset = sPonytaGalarianTeachableLearnset, - .eggMoveLearnset = sPonytaGalarianEggMoveLearnset, + .levelUpLearnset = sPonytaGalarLevelUpLearnset, + .teachableLearnset = sPonytaGalarTeachableLearnset, + .eggMoveLearnset = sPonytaGalarEggMoveLearnset, .formSpeciesIdTable = sPonytaFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_RAPIDASH_GALARIAN}), + .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_RAPIDASH_GALAR}), }, - [SPECIES_RAPIDASH_GALARIAN] = + [SPECIES_RAPIDASH_GALAR] = { .baseHP = 65, .baseAttack = 100, @@ -8779,31 +9022,32 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 0, .trainerScale = 289, .trainerOffset = 1, - .frontPic = gMonFrontPic_RapidashGalarian, + .frontPic = gMonFrontPic_RapidashGalar, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_RapidashGalarian, + .frontAnimFrames = sAnims_RapidashGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_RapidashGalarian, + .backPic = gMonBackPic_RapidashGalar, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 6, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_RapidashGalarian, - .shinyPalette = gMonShinyPalette_RapidashGalarian, - .iconSprite = gMonIcon_RapidashGalarian, + .palette = gMonPalette_RapidashGalar, + .shinyPalette = gMonShinyPalette_RapidashGalar, + .iconSprite = gMonIcon_RapidashGalar, .iconPalIndex = 2, + SHADOW(0, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rapidash) OVERWORLD( - sPicTable_RapidashGalarian, + sPicTable_RapidashGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_RapidashGalarian, - gShinyOverworldPalette_RapidashGalarian + gOverworldPalette_RapidashGalar, + gShinyOverworldPalette_RapidashGalar ) .isGalarianForm = TRUE, - .levelUpLearnset = sRapidashGalarianLevelUpLearnset, - .teachableLearnset = sRapidashGalarianTeachableLearnset, + .levelUpLearnset = sRapidashGalarLevelUpLearnset, + .teachableLearnset = sRapidashGalarTeachableLearnset, .formSpeciesIdTable = sRapidashFormSpeciesIdTable, }, #endif //P_GALARIAN_FORMS @@ -8846,18 +9090,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Slowpoke, - .frontPicSize = MON_COORDS_SIZE(64, 32), - .frontPicYOffset = 16, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 32), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 16, .frontAnimFrames = sAnims_Slowpoke, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Slowpoke, .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 13, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 13, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Slowpoke, .shinyPalette = gMonShinyPalette_Slowpoke, .iconSprite = gMonIcon_Slowpoke, .iconPalIndex = 0, + SHADOW(1, -5, SHADOW_SIZE_L) FOOTPRINT(Slowpoke) OVERWORLD( sPicTable_Slowpoke, @@ -8912,18 +9157,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 296, .trainerOffset = 2, .frontPic = gMonFrontPic_Slowbro, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 4, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 4, .frontAnimFrames = sAnims_Slowbro, - .frontAnimId = ANIM_H_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONCAVE : ANIM_H_STRETCH, .backPic = gMonBackPic_Slowbro, .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 9, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 9, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Slowbro, .shinyPalette = gMonShinyPalette_Slowbro, .iconSprite = gMonIcon_Slowbro, .iconPalIndex = 0, + SHADOW(-1, 8, SHADOW_SIZE_L) FOOTPRINT(Slowbro) OVERWORLD( sPicTable_Slowbro, @@ -8976,18 +9222,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 309, .trainerOffset = 5, .frontPic = gMonFrontPic_Slowking, - .frontPicSize = MON_COORDS_SIZE(48, 64), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 64) : MON_COORDS_SIZE(48, 64), .frontPicYOffset = 1, .frontAnimFrames = sAnims_Slowking, .frontAnimId = ANIM_SHRINK_GROW, .backPic = gMonBackPic_Slowking, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 3, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Slowking, .shinyPalette = gMonShinyPalette_Slowking, .iconSprite = gMonIcon_Slowking, .iconPalIndex = 0, + SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Slowking) OVERWORLD( sPicTable_Slowking, @@ -9052,6 +9299,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_SlowbroMega, .iconSprite = gMonIcon_SlowbroMega, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Slowbro) .isMegaEvolution = TRUE, .levelUpLearnset = sSlowbroLevelUpLearnset, @@ -9062,7 +9310,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #endif //P_MEGA_EVOLUTIONS #if P_GALARIAN_FORMS - [SPECIES_SLOWPOKE_GALARIAN] = + [SPECIES_SLOWPOKE_GALAR] = { .baseHP = 90, .baseAttack = 65, @@ -9082,7 +9330,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .abilities = { ABILITY_GLUTTONY, ABILITY_OWN_TEMPO, ABILITY_REGENERATOR }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Slowpoke"), - .cryId = CRY_SLOWPOKE_GALARIAN, + .cryId = CRY_SLOWPOKE_GALAR, .natDexNum = NATIONAL_DEX_SLOWPOKE, .categoryName = _("Dopey"), .height = 12, @@ -9096,38 +9344,39 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 10, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_SlowpokeGalarian, + .frontPic = gMonFrontPic_SlowpokeGalar, .frontPicSize = MON_COORDS_SIZE(56, 32), .frontPicYOffset = 19, - .frontAnimFrames = sAnims_SlowpokeGalarian, + .frontAnimFrames = sAnims_SlowpokeGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_SlowpokeGalarian, + .backPic = gMonBackPic_SlowpokeGalar, .backPicSize = MON_COORDS_SIZE(64, 40), .backPicYOffset = 13, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_SlowpokeGalarian, - .shinyPalette = gMonShinyPalette_SlowpokeGalarian, - .iconSprite = gMonIcon_SlowpokeGalarian, + .palette = gMonPalette_SlowpokeGalar, + .shinyPalette = gMonShinyPalette_SlowpokeGalar, + .iconSprite = gMonIcon_SlowpokeGalar, .iconPalIndex = 0, + SHADOW(-3, -8, SHADOW_SIZE_L) FOOTPRINT(Slowpoke) OVERWORLD( - sPicTable_SlowpokeGalarian, + sPicTable_SlowpokeGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_SlowpokeGalarian, - gShinyOverworldPalette_SlowpokeGalarian + gOverworldPalette_SlowpokeGalar, + gShinyOverworldPalette_SlowpokeGalar ) .isGalarianForm = TRUE, - .levelUpLearnset = sSlowpokeGalarianLevelUpLearnset, - .teachableLearnset = sSlowpokeGalarianTeachableLearnset, - .eggMoveLearnset = sSlowpokeGalarianEggMoveLearnset, + .levelUpLearnset = sSlowpokeGalarLevelUpLearnset, + .teachableLearnset = sSlowpokeGalarTeachableLearnset, + .eggMoveLearnset = sSlowpokeGalarEggMoveLearnset, .formSpeciesIdTable = sSlowpokeFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_ITEM, ITEM_GALARICA_CUFF, SPECIES_SLOWBRO_GALARIAN}, - {EVO_ITEM, ITEM_GALARICA_WREATH, SPECIES_SLOWKING_GALARIAN}), + .evolutions = EVOLUTION({EVO_ITEM, ITEM_GALARICA_CUFF, SPECIES_SLOWBRO_GALAR}, + {EVO_ITEM, ITEM_GALARICA_WREATH, SPECIES_SLOWKING_GALAR}), }, - [SPECIES_SLOWBRO_GALARIAN] = + [SPECIES_SLOWBRO_GALAR] = { .baseHP = 95, .baseAttack = 100, @@ -9162,37 +9411,38 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 6, .trainerScale = 296, .trainerOffset = 2, - .frontPic = gMonFrontPic_SlowbroGalarian, + .frontPic = gMonFrontPic_SlowbroGalar, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, - .frontAnimFrames = sAnims_SlowbroGalarian, + .frontAnimFrames = sAnims_SlowbroGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_SlowbroGalarian, + .backPic = gMonBackPic_SlowbroGalar, .backPicSize = MON_COORDS_SIZE(64, 48), .backPicYOffset = 9, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_SlowbroGalarian, - .shinyPalette = gMonShinyPalette_SlowbroGalarian, - .iconSprite = gMonIcon_SlowbroGalarian, + .palette = gMonPalette_SlowbroGalar, + .shinyPalette = gMonShinyPalette_SlowbroGalar, + .iconSprite = gMonIcon_SlowbroGalar, .iconPalIndex = 0, + SHADOW(-5, 9, SHADOW_SIZE_L) FOOTPRINT(Slowbro) OVERWORLD_SET_ANIM( - sPicTable_SlowbroGalarian, + sPicTable_SlowbroGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, sAnimTable_Following_Asym, - gOverworldPalette_SlowbroGalarian, - gShinyOverworldPalette_SlowbroGalarian + gOverworldPalette_SlowbroGalar, + gShinyOverworldPalette_SlowbroGalar ) .isGalarianForm = TRUE, - .levelUpLearnset = sSlowbroGalarianLevelUpLearnset, - .teachableLearnset = sSlowbroGalarianTeachableLearnset, + .levelUpLearnset = sSlowbroGalarLevelUpLearnset, + .teachableLearnset = sSlowbroGalarTeachableLearnset, .formSpeciesIdTable = sSlowbroFormSpeciesIdTable, }, #if P_GEN_2_CROSS_EVOS - [SPECIES_SLOWKING_GALARIAN] = + [SPECIES_SLOWKING_GALAR] = { .baseHP = 95, .baseAttack = 65, @@ -9226,31 +9476,32 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 0, .trainerScale = 309, .trainerOffset = 5, - .frontPic = gMonFrontPic_SlowkingGalarian, + .frontPic = gMonFrontPic_SlowkingGalar, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_SlowkingGalarian, + .frontAnimFrames = sAnims_SlowkingGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_SlowkingGalarian, + .backPic = gMonBackPic_SlowkingGalar, .backPicSize = MON_COORDS_SIZE(56, 64), .backPicYOffset = 3, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_SlowkingGalarian, - .shinyPalette = gMonShinyPalette_SlowkingGalarian, - .iconSprite = gMonIcon_SlowkingGalarian, + .palette = gMonPalette_SlowkingGalar, + .shinyPalette = gMonShinyPalette_SlowkingGalar, + .iconSprite = gMonIcon_SlowkingGalar, .iconPalIndex = 0, + SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(Slowking) OVERWORLD( - sPicTable_SlowkingGalarian, + sPicTable_SlowkingGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_SlowkingGalarian, - gShinyOverworldPalette_SlowkingGalarian + gOverworldPalette_SlowkingGalar, + gShinyOverworldPalette_SlowkingGalar ) .isGalarianForm = TRUE, - .levelUpLearnset = sSlowkingGalarianLevelUpLearnset, - .teachableLearnset = sSlowkingGalarianTeachableLearnset, + .levelUpLearnset = sSlowkingGalarLevelUpLearnset, + .teachableLearnset = sSlowkingGalarTeachableLearnset, .formSpeciesIdTable = sSlowkingFormSpeciesIdTable, }, #endif //P_GEN_2_CROSS_EVOS @@ -9294,19 +9545,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Magnemite, - .frontPicSize = MON_COORDS_SIZE(48, 32), - .frontPicYOffset = 20, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 24) : MON_COORDS_SIZE(48, 32), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 21 : 20, .frontAnimFrames = sAnims_Magnemite, .frontAnimId = ANIM_TUMBLING_FRONT_FLIP_TWICE, - .enemyMonElevation = 17, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 16 : 17, .backPic = gMonBackPic_Magnemite, - .backPicSize = MON_COORDS_SIZE(48, 40), - .backPicYOffset = 15, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 24) : MON_COORDS_SIZE(48, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 15, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Magnemite, .shinyPalette = gMonShinyPalette_Magnemite, .iconSprite = gMonIcon_Magnemite, .iconPalIndex = 0, + SHADOW(-1, 8, SHADOW_SIZE_S) FOOTPRINT(Magnemite) OVERWORLD( sPicTable_Magnemite, @@ -9357,19 +9609,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Magneton, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 7, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, .frontAnimFrames = sAnims_Magneton, .frontAnimId = ANIM_FLASH_YELLOW, - .enemyMonElevation = 9, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 9, .backPic = gMonBackPic_Magneton, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 6, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Magneton, .shinyPalette = gMonShinyPalette_Magneton, .iconSprite = gMonIcon_Magneton, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Magneton) OVERWORLD( sPicTable_Magneton, @@ -9441,6 +9694,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Magnezone, .iconSprite = gMonIcon_Magnezone, .iconPalIndex = 0, + SHADOW(4, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Magnezone) OVERWORLD( sPicTable_Magnezone, @@ -9503,18 +9757,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 293, .trainerOffset = 2, .frontPic = gMonFrontPic_Farfetchd, - .frontPicSize = MON_COORDS_SIZE(48, 56), - .frontPicYOffset = 7, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 7, .frontAnimFrames = sAnims_Farfetchd, .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, .backPic = gMonBackPic_Farfetchd, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 9, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Farfetchd, .shinyPalette = gMonShinyPalette_Farfetchd, .iconSprite = gMonIcon_Farfetchd, .iconPalIndex = 1, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Farfetchd) OVERWORLD_SET_ANIM( sPicTable_Farfetchd, @@ -9532,7 +9787,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_GALARIAN_FORMS - [SPECIES_FARFETCHD_GALARIAN] = + [SPECIES_FARFETCHD_GALAR] = { .baseHP = 52, .baseAttack = FARFETCHD_ATTACK + 5, @@ -9567,32 +9822,33 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 2, .trainerScale = 293, .trainerOffset = 2, - .frontPic = gMonFrontPic_FarfetchdGalarian, + .frontPic = gMonFrontPic_FarfetchdGalar, .frontPicSize = MON_COORDS_SIZE(64, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_FarfetchdGalarian, + .frontAnimFrames = sAnims_FarfetchdGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_FarfetchdGalarian, + .backPic = gMonBackPic_FarfetchdGalar, .backPicSize = MON_COORDS_SIZE(64, 48), .backPicYOffset = 8, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_FarfetchdGalarian, - .shinyPalette = gMonShinyPalette_FarfetchdGalarian, - .iconSprite = gMonIcon_FarfetchdGalarian, + .palette = gMonPalette_FarfetchdGalar, + .shinyPalette = gMonShinyPalette_FarfetchdGalar, + .iconSprite = gMonIcon_FarfetchdGalar, .iconPalIndex = 1, + SHADOW(-7, 2, SHADOW_SIZE_L) FOOTPRINT(Farfetchd) OVERWORLD( - sPicTable_FarfetchdGalarian, + sPicTable_FarfetchdGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_FarfetchdGalarian, - gShinyOverworldPalette_FarfetchdGalarian + gOverworldPalette_FarfetchdGalar, + gShinyOverworldPalette_FarfetchdGalar ) .isGalarianForm = TRUE, - .levelUpLearnset = sFarfetchdGalarianLevelUpLearnset, - .teachableLearnset = sFarfetchdGalarianTeachableLearnset, - .eggMoveLearnset = sFarfetchdGalarianEggMoveLearnset, + .levelUpLearnset = sFarfetchdGalarLevelUpLearnset, + .teachableLearnset = sFarfetchdGalarTeachableLearnset, + .eggMoveLearnset = sFarfetchdGalarEggMoveLearnset, .formSpeciesIdTable = sFarfetchdFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_CRITICAL_HITS, 3, SPECIES_SIRFETCHD}), }, @@ -9645,6 +9901,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Sirfetchd, .iconSprite = gMonIcon_Sirfetchd, .iconPalIndex = 1, + SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Sirfetchd) OVERWORLD( sPicTable_Sirfetchd, @@ -9697,22 +9954,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 257, .trainerOffset = -1, .frontPic = gMonFrontPic_Doduo, - .frontPicFemale = gMonFrontPic_DoduoF, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 7, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 56) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 7, .frontAnimFrames = sAnims_Doduo, .frontAnimId = ANIM_H_SHAKE_SLOW, .backPic = gMonBackPic_Doduo, - .backPicFemale = gMonBackPic_DoduoF, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Doduo, .shinyPalette = gMonShinyPalette_Doduo, .iconSprite = gMonIcon_Doduo, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_DoduoF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), + .backPicFemale = gMonBackPic_DoduoF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(6, 5, SHADOW_SIZE_M) FOOTPRINT(Doduo) OVERWORLD( sPicTable_Doduo, @@ -9722,6 +9982,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Doduo, gShinyOverworldPalette_Doduo ) + OVERWORLD_FEMALE( + sPicTable_DoduoF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sDoduoLevelUpLearnset, .teachableLearnset = sDoduoTeachableLearnset, .eggMoveLearnset = sDoduoEggMoveLearnset, @@ -9770,22 +10036,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 268, .trainerOffset = 0, .frontPic = gMonFrontPic_Dodrio, - .frontPicFemale = gMonFrontPic_DodrioF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Dodrio, - .frontAnimId = ANIM_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_LUNGE_GROW : ANIM_V_STRETCH, .backPic = gMonBackPic_Dodrio, - .backPicFemale = gMonBackPic_DodrioF, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 3, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Dodrio, .shinyPalette = gMonShinyPalette_Dodrio, .iconSprite = gMonIcon_Dodrio, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_DodrioF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_DodrioF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(3, 12, SHADOW_SIZE_L) FOOTPRINT(Dodrio) OVERWORLD( sPicTable_Dodrio, @@ -9795,6 +10064,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Dodrio, gShinyOverworldPalette_Dodrio ) + OVERWORLD_FEMALE( + sPicTable_DodrioF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sDodrioLevelUpLearnset, .teachableLearnset = sDodrioTeachableLearnset, }, @@ -9841,17 +10116,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Seel, .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 8, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 8, .frontAnimFrames = sAnims_Seel, - .frontAnimId = ANIM_H_SLIDE_SLOW, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONCAVE : ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Seel, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 13, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Seel, .shinyPalette = gMonShinyPalette_Seel, .iconSprite = gMonIcon_Seel, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(Seel) OVERWORLD( sPicTable_Seel, @@ -9906,18 +10182,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 275, .trainerOffset = 0, .frontPic = gMonFrontPic_Dewgong, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 2, .frontAnimFrames = sAnims_Dewgong, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Dewgong, - .backPicSize = MON_COORDS_SIZE(64, 56), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .backPicYOffset = 5, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Dewgong, .shinyPalette = gMonShinyPalette_Dewgong, .iconSprite = gMonIcon_Dewgong, .iconPalIndex = 2, + SHADOW(2, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Dewgong) OVERWORLD( sPicTable_Dewgong, @@ -9969,18 +10246,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Grimer, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 9, .frontAnimFrames = sAnims_Grimer, .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Grimer, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(64, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 13, .backAnimId = BACK_ANIM_V_STRETCH, .palette = gMonPalette_Grimer, .shinyPalette = gMonShinyPalette_Grimer, .iconSprite = gMonIcon_Grimer, .iconPalIndex = 2, + SHADOW(2, 3, SHADOW_SIZE_M) FOOTPRINT(Grimer) OVERWORLD( sPicTable_Grimer, @@ -10035,18 +10313,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Muk, .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 7, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 7, .frontAnimFrames = sAnims_Muk, .frontAnimId = ANIM_DEEP_V_SQUISH_AND_BOUNCE, .frontAnimDelay = 45, .backPic = gMonBackPic_Muk, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 9, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 9, .backAnimId = BACK_ANIM_H_STRETCH, .palette = gMonPalette_Muk, .shinyPalette = gMonShinyPalette_Muk, .iconSprite = gMonIcon_Muk, .iconPalIndex = 2, + SHADOW(-1, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Muk) OVERWORLD( sPicTable_Muk, @@ -10062,7 +10341,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_ALOLAN_FORMS - [SPECIES_GRIMER_ALOLAN] = + [SPECIES_GRIMER_ALOLA] = { .baseHP = 80, .baseAttack = 80, @@ -10097,37 +10376,38 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 10, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_GrimerAlolan, + .frontPic = gMonFrontPic_GrimerAlola, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_GrimerAlolan, + .frontAnimFrames = sAnims_GrimerAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_GrimerAlolan, + .backPic = gMonBackPic_GrimerAlola, .backPicSize = MON_COORDS_SIZE(64, 40), .backPicYOffset = 14, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_GrimerAlolan, - .shinyPalette = gMonShinyPalette_GrimerAlolan, - .iconSprite = gMonIcon_GrimerAlolan, + .palette = gMonPalette_GrimerAlola, + .shinyPalette = gMonShinyPalette_GrimerAlola, + .iconSprite = gMonIcon_GrimerAlola, .iconPalIndex = 1, + SHADOW(2, 1, SHADOW_SIZE_M) FOOTPRINT(Grimer) OVERWORLD( - sPicTable_GrimerAlolan, + sPicTable_GrimerAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_GrimerAlolan, - gShinyOverworldPalette_GrimerAlolan + gOverworldPalette_GrimerAlola, + gShinyOverworldPalette_GrimerAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sGrimerAlolanLevelUpLearnset, - .teachableLearnset = sGrimerAlolanTeachableLearnset, - .eggMoveLearnset = sGrimerAlolanEggMoveLearnset, + .levelUpLearnset = sGrimerAlolaLevelUpLearnset, + .teachableLearnset = sGrimerAlolaTeachableLearnset, + .eggMoveLearnset = sGrimerAlolaEggMoveLearnset, .formSpeciesIdTable = sGrimerFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_MUK_ALOLAN}), + .evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_MUK_ALOLA}), }, - [SPECIES_MUK_ALOLAN] = + [SPECIES_MUK_ALOLA] = { .baseHP = 105, .baseAttack = 105, @@ -10164,31 +10444,32 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 2, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_MukAlolan, + .frontPic = gMonFrontPic_MukAlola, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_MukAlolan, + .frontAnimFrames = sAnims_MukAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_MukAlolan, + .backPic = gMonBackPic_MukAlola, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 6, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_MukAlolan, - .shinyPalette = gMonShinyPalette_MukAlolan, - .iconSprite = gMonIcon_MukAlolan, + .palette = gMonPalette_MukAlola, + .shinyPalette = gMonShinyPalette_MukAlola, + .iconSprite = gMonIcon_MukAlola, .iconPalIndex = 0, + SHADOW(-1, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Muk) OVERWORLD( - sPicTable_MukAlolan, + sPicTable_MukAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_MukAlolan, - gShinyOverworldPalette_MukAlolan + gOverworldPalette_MukAlola, + gShinyOverworldPalette_MukAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sMukAlolanLevelUpLearnset, - .teachableLearnset = sMukAlolanTeachableLearnset, + .levelUpLearnset = sMukAlolaLevelUpLearnset, + .teachableLearnset = sMukAlolaTeachableLearnset, .formSpeciesIdTable = sMukFormSpeciesIdTable, }, #endif //P_ALOLAN_FORMS @@ -10237,18 +10518,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Shellder, .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 13, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 13, .frontAnimFrames = sAnims_Shellder, .frontAnimId = ANIM_TWIST, .frontAnimDelay = 20, .backPic = gMonBackPic_Shellder, - .backPicSize = MON_COORDS_SIZE(48, 24), - .backPicYOffset = 21, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(48, 24), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 21, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Shellder, .shinyPalette = gMonShinyPalette_Shellder, .iconSprite = gMonIcon_Shellder, .iconPalIndex = 2, + SHADOW(0, -4, SHADOW_SIZE_S) FOOTPRINT(Shellder) OVERWORLD( sPicTable_Shellder, @@ -10305,18 +10587,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 269, .trainerOffset = 1, .frontPic = gMonFrontPic_Cloyster, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 3, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 3, .frontAnimFrames = sAnims_Cloyster, - .frontAnimId = ANIM_V_SHAKE_TWICE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_SLIDE_WOBBLE : ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Cloyster, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 7, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 7, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Cloyster, .shinyPalette = gMonShinyPalette_Cloyster, .iconSprite = gMonIcon_Cloyster, .iconPalIndex = 2, + SHADOW(4, 8, SHADOW_SIZE_M) FOOTPRINT(Cloyster) OVERWORLD( sPicTable_Cloyster, @@ -10367,19 +10650,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Gastly, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 13, .frontAnimFrames = sAnims_Gastly, - .frontAnimId = ANIM_SHRINK_GROW, - .enemyMonElevation = 13, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_GLOW_BLACK : ANIM_SHRINK_GROW, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 4 : 13, .backPic = gMonBackPic_Gastly, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 6, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Gastly, .shinyPalette = gMonShinyPalette_Gastly, .iconSprite = gMonIcon_Gastly, .iconPalIndex = 2, + SHADOW(0, 11, SHADOW_SIZE_S) FOOTPRINT(Gastly) OVERWORLD( sPicTable_Gastly, @@ -10430,20 +10714,21 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 293, .trainerOffset = 2, .frontPic = gMonFrontPic_Haunter, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 13, .frontAnimFrames = sAnims_Haunter, .frontAnimId = ANIM_FLICKER_INCREASING, .frontAnimDelay = 23, - .enemyMonElevation = 14, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 4 : 14, .backPic = gMonBackPic_Haunter, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 4, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 4, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Haunter, .shinyPalette = gMonShinyPalette_Haunter, .iconSprite = gMonIcon_Haunter, .iconPalIndex = 2, + SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Haunter) OVERWORLD( sPicTable_Haunter, @@ -10507,17 +10792,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 2, .frontPic = gMonFrontPic_Gengar, .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 7, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 7, .frontAnimFrames = sAnims_Gengar, .frontAnimId = ANIM_GROW_IN_STAGES, .backPic = gMonBackPic_Gengar, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Gengar, .shinyPalette = gMonShinyPalette_Gengar, .iconSprite = gMonIcon_Gengar, .iconPalIndex = 2, + SHADOW(3, 5, SHADOW_SIZE_L) FOOTPRINT(Gengar) OVERWORLD( sPicTable_Gengar, @@ -10581,6 +10867,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_GengarMega, .iconSprite = gMonIcon_GengarMega, .iconPalIndex = 2, + SHADOW(6, 1, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gengar) .isMegaEvolution = TRUE, .levelUpLearnset = sGengarLevelUpLearnset, @@ -10591,7 +10878,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS - [SPECIES_GENGAR_GIGANTAMAX] = + [SPECIES_GENGAR_GMAX] = { .baseHP = 60, .baseAttack = 65, @@ -10625,19 +10912,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 2, .trainerScale = 302, .trainerOffset = 2, - .frontPic = gMonFrontPic_GengarGigantamax, + .frontPic = gMonFrontPic_GengarGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_GengarGigantamax, + .frontAnimFrames = sAnims_GengarGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_GengarGigantamax, + .backPic = gMonBackPic_GengarGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 6, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_GengarGigantamax, - .shinyPalette = gMonShinyPalette_GengarGigantamax, - .iconSprite = gMonIcon_GengarGigantamax, + .palette = gMonPalette_GengarGmax, + .shinyPalette = gMonShinyPalette_GengarGmax, + .iconSprite = gMonIcon_GengarGmax, .iconPalIndex = 2, + NO_SHADOW FOOTPRINT(Gengar) .isGigantamax = TRUE, .levelUpLearnset = sGengarLevelUpLearnset, @@ -10684,18 +10972,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 515, .trainerOffset = 14, .frontPic = gMonFrontPic_Onix, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 3, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 3, .frontAnimFrames = sAnims_Onix, - .frontAnimId = ANIM_H_SHAKE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_RAPID_H_HOPS : ANIM_H_SHAKE, .backPic = gMonBackPic_Onix, - .backPicSize = MON_COORDS_SIZE(64, 64), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .backPicYOffset = 0, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Onix, .shinyPalette = gMonShinyPalette_Onix, .iconSprite = gMonIcon_Onix, .iconPalIndex = 2, + SHADOW(0, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Onix) OVERWORLD( sPicTable_Onix, @@ -10749,23 +11038,26 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 516, .trainerOffset = 13, .frontPic = gMonFrontPic_Steelix, - .frontPicFemale = gMonFrontPic_SteelixF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Steelix, - .frontAnimId = ANIM_V_SHAKE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_SHAKE : ANIM_V_SHAKE, .frontAnimDelay = 45, .backPic = gMonBackPic_Steelix, - .backPicFemale = gMonBackPic_SteelixF, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 2, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 2, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Steelix, .shinyPalette = gMonShinyPalette_Steelix, .iconSprite = gMonIcon_Steelix, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_SteelixF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_SteelixF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(2, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Steelix) OVERWORLD( sPicTable_Steelix, @@ -10775,6 +11067,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Steelix, gShinyOverworldPalette_Steelix ) + OVERWORLD_FEMALE( + sPicTable_SteelixF, + SIZE_64x64, + SHADOW_SIZE_M, + TRACKS_SLITHER + ) .levelUpLearnset = sSteelixLevelUpLearnset, .teachableLearnset = sSteelixTeachableLearnset, .formSpeciesIdTable = sSteelixFormSpeciesIdTable, @@ -10830,6 +11128,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_SteelixMega, .iconSprite = gMonIcon_SteelixMega, .iconPalIndex = 0, + SHADOW(1, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Steelix) .isMegaEvolution = TRUE, .levelUpLearnset = sSteelixLevelUpLearnset, @@ -10881,19 +11180,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Drowzee, - .frontPicSize = MON_COORDS_SIZE(48, 56), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(48, 56), .frontPicYOffset = 7, .frontAnimFrames = sAnims_Drowzee, - .frontAnimId = ANIM_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_CIRCLE_C_CLOCKWISE_SLOW : ANIM_V_STRETCH, .frontAnimDelay = 48, .backPic = gMonBackPic_Drowzee, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 9, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Drowzee, .shinyPalette = gMonShinyPalette_Drowzee, .iconSprite = gMonIcon_Drowzee, .iconPalIndex = 2, + SHADOW(1, 6, SHADOW_SIZE_M) FOOTPRINT(Drowzee) OVERWORLD( sPicTable_Drowzee, @@ -10948,23 +11248,26 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 257, .trainerOffset = 0, .frontPic = gMonFrontPic_Hypno, - .frontPicFemale = gMonFrontPic_HypnoF, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 3, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, .frontAnimFrames = sAnims_Hypno, .frontAnimId = ANIM_GROW_VIBRATE, .frontAnimDelay = 40, .backPic = gMonBackPic_Hypno, - .backPicFemale = gMonBackPic_HypnoF, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 5, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 5, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Hypno, .shinyPalette = gMonShinyPalette_Hypno, .iconSprite = gMonIcon_Hypno, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_HypnoF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_HypnoF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(-3, 9, SHADOW_SIZE_L) FOOTPRINT(Hypno) OVERWORLD( sPicTable_Hypno, @@ -10974,6 +11277,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Hypno, gShinyOverworldPalette_Hypno ) + OVERWORLD_FEMALE( + sPicTable_HypnoF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sHypnoLevelUpLearnset, .teachableLearnset = sHypnoTeachableLearnset, }, @@ -11015,18 +11324,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Krabby, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 14, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 14, .frontAnimFrames = sAnims_Krabby, - .frontAnimId = ANIM_H_SLIDE_SLOW, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_SLIDE : ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Krabby, - .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 15, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 15, .backAnimId = BACK_ANIM_V_SHAKE_H_SLIDE, .palette = gMonPalette_Krabby, .shinyPalette = gMonShinyPalette_Krabby, .iconSprite = gMonIcon_Krabby, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(0, -1, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Krabby) OVERWORLD( sPicTable_Krabby, @@ -11078,19 +11388,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Kingler, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 8, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 8, .frontAnimFrames = sAnims_Kingler, - .frontAnimId = ANIM_V_SHAKE_TWICE, - .frontAnimDelay = 4, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_ZIGZAG_SLOW : ANIM_V_SHAKE_TWICE, + .frontAnimDelay = P_GBA_STYLE_SPECIES_GFX ? 0 : 4, .backPic = gMonBackPic_Kingler, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 5, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 5, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Kingler, .shinyPalette = gMonShinyPalette_Kingler, .iconSprite = gMonIcon_Kingler, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(-2, 4, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kingler) OVERWORLD( sPicTable_Kingler, @@ -11107,7 +11418,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_KINGLER_GIGANTAMAX] = + [SPECIES_KINGLER_GMAX] = { .baseHP = 55, .baseAttack = 130, @@ -11142,19 +11453,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 2, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_KinglerGigantamax, + .frontPic = gMonFrontPic_KinglerGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_KinglerGigantamax, + .frontAnimFrames = sAnims_KinglerGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_KinglerGigantamax, + .backPic = gMonBackPic_KinglerGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 5, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_KinglerGigantamax, - .shinyPalette = gMonShinyPalette_KinglerGigantamax, - .iconSprite = gMonIcon_KinglerGigantamax, + .palette = gMonPalette_KinglerGmax, + .shinyPalette = gMonShinyPalette_KinglerGmax, + .iconSprite = gMonIcon_KinglerGmax, .iconPalIndex = 0, + SHADOW(-3, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kingler) .isGigantamax = TRUE, .levelUpLearnset = sKinglerLevelUpLearnset, @@ -11209,18 +11521,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Voltorb, - .frontPicSize = MON_COORDS_SIZE(32, 40), - .frontPicYOffset = 15, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 32) : MON_COORDS_SIZE(32, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 19 : 15, .frontAnimFrames = sAnims_Voltorb, - .frontAnimId = ANIM_SWING_CONCAVE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE : ANIM_SWING_CONCAVE, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 10 : 0, .backPic = gMonBackPic_Voltorb, - .backPicSize = MON_COORDS_SIZE(48, 40), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 40), .backPicYOffset = 14, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Voltorb, .shinyPalette = gMonShinyPalette_Voltorb, .iconSprite = gMonIcon_Voltorb, .iconPalIndex = 0, + SHADOW(0, -2, SHADOW_SIZE_S) FOOTPRINT(Voltorb) OVERWORLD( sPicTable_Voltorb, @@ -11271,18 +11585,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Electrode, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 11, .frontAnimFrames = sAnims_Electrode, - .frontAnimId = ANIM_SHRINK_GROW_VIBRATE_SLOW, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE : ANIM_SHRINK_GROW_VIBRATE_SLOW, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 12 : 0, .backPic = gMonBackPic_Electrode, - .backPicSize = MON_COORDS_SIZE(64, 40), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(64, 40), .backPicYOffset = 13, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Electrode, .shinyPalette = gMonShinyPalette_Electrode, .iconSprite = gMonIcon_Electrode, .iconPalIndex = 0, + SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Electrode) OVERWORLD( sPicTable_Electrode, @@ -11298,7 +11614,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_HISUIAN_FORMS - [SPECIES_VOLTORB_HISUIAN] = + [SPECIES_VOLTORB_HISUI] = { .baseHP = 40, .baseAttack = 30, @@ -11332,36 +11648,37 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = -8, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_VoltorbHisuian, + .frontPic = gMonFrontPic_VoltorbHisui, .frontPicSize = MON_COORDS_SIZE(32, 32), .frontPicYOffset = 17, - .frontAnimFrames = sAnims_VoltorbHisuian, + .frontAnimFrames = sAnims_VoltorbHisui, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_VoltorbHisuian, + .backPic = gMonBackPic_VoltorbHisui, .backPicSize = MON_COORDS_SIZE(48, 32), .backPicYOffset = 10, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_VoltorbHisuian, - .shinyPalette = gMonShinyPalette_VoltorbHisuian, - .iconSprite = gMonIcon_VoltorbHisuian, + .palette = gMonPalette_VoltorbHisui, + .shinyPalette = gMonShinyPalette_VoltorbHisui, + .iconSprite = gMonIcon_VoltorbHisui, .iconPalIndex = 0, + SHADOW(1, -4, SHADOW_SIZE_S) FOOTPRINT(Voltorb) OVERWORLD( - sPicTable_VoltorbHisuian, + sPicTable_VoltorbHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_VoltorbHisuian, - gShinyOverworldPalette_VoltorbHisuian + gOverworldPalette_VoltorbHisui, + gShinyOverworldPalette_VoltorbHisui ) .isHisuianForm = TRUE, - .levelUpLearnset = sVoltorbHisuianLevelUpLearnset, - .teachableLearnset = sVoltorbHisuianTeachableLearnset, + .levelUpLearnset = sVoltorbHisuiLevelUpLearnset, + .teachableLearnset = sVoltorbHisuiTeachableLearnset, .formSpeciesIdTable = sVoltorbFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_ITEM, ITEM_LEAF_STONE, SPECIES_ELECTRODE_HISUIAN}), + .evolutions = EVOLUTION({EVO_ITEM, ITEM_LEAF_STONE, SPECIES_ELECTRODE_HISUI}), }, - [SPECIES_ELECTRODE_HISUIAN] = + [SPECIES_ELECTRODE_HISUI] = { .baseHP = 60, .baseAttack = 50, @@ -11395,31 +11712,32 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 0, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_ElectrodeHisuian, + .frontPic = gMonFrontPic_ElectrodeHisui, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, - .frontAnimFrames = sAnims_ElectrodeHisuian, + .frontAnimFrames = sAnims_ElectrodeHisui, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_ElectrodeHisuian, + .backPic = gMonBackPic_ElectrodeHisui, .backPicSize = MON_COORDS_SIZE(64, 40), .backPicYOffset = 7, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_ElectrodeHisuian, - .shinyPalette = gMonShinyPalette_ElectrodeHisuian, - .iconSprite = gMonIcon_ElectrodeHisuian, + .palette = gMonPalette_ElectrodeHisui, + .shinyPalette = gMonShinyPalette_ElectrodeHisui, + .iconSprite = gMonIcon_ElectrodeHisui, .iconPalIndex = 1, + SHADOW(-1, 4, SHADOW_SIZE_M) FOOTPRINT(Electrode) OVERWORLD( - sPicTable_ElectrodeHisuian, + sPicTable_ElectrodeHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_ElectrodeHisuian, - gShinyOverworldPalette_ElectrodeHisuian + gOverworldPalette_ElectrodeHisui, + gShinyOverworldPalette_ElectrodeHisui ) .isHisuianForm = TRUE, - .levelUpLearnset = sElectrodeHisuianLevelUpLearnset, - .teachableLearnset = sElectrodeHisuianTeachableLearnset, + .levelUpLearnset = sElectrodeHisuiLevelUpLearnset, + .teachableLearnset = sElectrodeHisuiTeachableLearnset, .formSpeciesIdTable = sElectrodeFormSpeciesIdTable, }, #endif //P_HISUIAN_FORMS @@ -11462,18 +11780,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Exeggcute, - .frontPicSize = MON_COORDS_SIZE(56, 40), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 12, .frontAnimFrames = sAnims_Exeggcute, .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Exeggcute, - .backPicSize = MON_COORDS_SIZE(64, 32), - .backPicYOffset = 18, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(64, 32), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 18, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Exeggcute, .shinyPalette = gMonShinyPalette_Exeggcute, .iconSprite = gMonIcon_Exeggcute, .iconPalIndex = 0, + SHADOW(0, -5, SHADOW_SIZE_L) FOOTPRINT(Exeggcute) OVERWORLD( sPicTable_Exeggcute, @@ -11487,7 +11806,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .teachableLearnset = sExeggcuteTeachableLearnset, .eggMoveLearnset = sExeggcuteEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_LEAF_STONE, SPECIES_EXEGGUTOR}, - {EVO_NONE, 0, SPECIES_EXEGGUTOR_ALOLAN}), + {EVO_NONE, 0, SPECIES_EXEGGUTOR_ALOLA}), }, #if P_UPDATED_EXP_YIELDS >= GEN_7 @@ -11540,13 +11859,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontAnimFrames = sAnims_Exeggutor, .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Exeggutor, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 8, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Exeggutor, .shinyPalette = gMonShinyPalette_Exeggutor, .iconSprite = gMonIcon_Exeggutor, .iconPalIndex = 1, + SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(Exeggutor) OVERWORLD( sPicTable_Exeggutor, @@ -11562,7 +11882,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_ALOLAN_FORMS - [SPECIES_EXEGGUTOR_ALOLAN] = + [SPECIES_EXEGGUTOR_ALOLA] = { .baseHP = 95, .baseAttack = 105, @@ -11596,31 +11916,32 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 0, .trainerScale = 309, .trainerOffset = 5, - .frontPic = gMonFrontPic_ExeggutorAlolan, + .frontPic = gMonFrontPic_ExeggutorAlola, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_ExeggutorAlolan, + .frontAnimFrames = sAnims_ExeggutorAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_ExeggutorAlolan, + .backPic = gMonBackPic_ExeggutorAlola, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 0, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_ExeggutorAlolan, - .shinyPalette = gMonShinyPalette_ExeggutorAlolan, - .iconSprite = gMonIcon_ExeggutorAlolan, + .palette = gMonPalette_ExeggutorAlola, + .shinyPalette = gMonShinyPalette_ExeggutorAlola, + .iconSprite = gMonIcon_ExeggutorAlola, .iconPalIndex = 1, + SHADOW(6, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Exeggutor) OVERWORLD( - sPicTable_ExeggutorAlolan, + sPicTable_ExeggutorAlola, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_ExeggutorAlolan, - gShinyOverworldPalette_ExeggutorAlolan + gOverworldPalette_ExeggutorAlola, + gShinyOverworldPalette_ExeggutorAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sExeggutorAlolanLevelUpLearnset, - .teachableLearnset = sExeggutorAlolanTeachableLearnset, + .levelUpLearnset = sExeggutorAlolaLevelUpLearnset, + .teachableLearnset = sExeggutorAlolaTeachableLearnset, .formSpeciesIdTable = sExeggutorFormSpeciesIdTable, }, #endif //P_ALOLAN_FORMS @@ -11663,19 +11984,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Cubone, - .frontPicSize = MON_COORDS_SIZE(56, 40), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(56, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 13, .frontAnimFrames = sAnims_Cubone, - .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .frontAnimDelay = 30, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL : ANIM_V_SQUISH_AND_BOUNCE, + .frontAnimDelay = P_GBA_STYLE_SPECIES_GFX ? 0 : 30, .backPic = gMonBackPic_Cubone, - .backPicSize = MON_COORDS_SIZE(56, 48), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), .backPicYOffset = 10, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Cubone, .shinyPalette = gMonShinyPalette_Cubone, .iconSprite = gMonIcon_Cubone, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 2, + SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(Cubone) OVERWORLD( sPicTable_Cubone, @@ -11689,8 +12011,8 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .teachableLearnset = sCuboneTeachableLearnset, .eggMoveLearnset = sCuboneEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 28, SPECIES_MAROWAK}, - {EVO_NONE, 0, SPECIES_MAROWAK_ALOLAN}, - {EVO_NONE, 0, SPECIES_MAROWAK_ALOLAN_TOTEM}), + {EVO_NONE, 0, SPECIES_MAROWAK_ALOLA}, + {EVO_NONE, 0, SPECIES_MAROWAK_ALOLA_TOTEM}), }, [SPECIES_MAROWAK] = @@ -11729,18 +12051,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Marowak, - .frontPicSize = MON_COORDS_SIZE(56, 64), - .frontPicYOffset = 8, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 8, .frontAnimFrames = sAnims_Marowak, .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES, .backPic = gMonBackPic_Marowak, - .backPicSize = MON_COORDS_SIZE(48, 56), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), .backPicYOffset = 8, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Marowak, .shinyPalette = gMonShinyPalette_Marowak, .iconSprite = gMonIcon_Marowak, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 2, + SHADOW(6, 6, SHADOW_SIZE_M) FOOTPRINT(Marowak) OVERWORLD( sPicTable_Marowak, @@ -11756,7 +12079,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_ALOLAN_FORMS - [SPECIES_MAROWAK_ALOLAN] = + [SPECIES_MAROWAK_ALOLA] = { .baseHP = 60, .baseAttack = 80, @@ -11782,40 +12105,41 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .categoryName = _("Bone Keeper"), .height = 10, .weight = 340, - .description = gMarowakAlolanPokedexText, + .description = gMarowakAlolaPokedexText, .pokemonScale = 293, .pokemonOffset = 12, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_MarowakAlolan, + .frontPic = gMonFrontPic_MarowakAlola, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_MarowakAlolan, + .frontAnimFrames = sAnims_MarowakAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_MarowakAlolan, + .backPic = gMonBackPic_MarowakAlola, .backPicSize = MON_COORDS_SIZE(56, 56), .backPicYOffset = 6, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_MarowakAlolan, - .shinyPalette = gMonShinyPalette_MarowakAlolan, - .iconSprite = gMonIcon_MarowakAlolan, + .palette = gMonPalette_MarowakAlola, + .shinyPalette = gMonShinyPalette_MarowakAlola, + .iconSprite = gMonIcon_MarowakAlola, .iconPalIndex = 1, + SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Marowak) OVERWORLD( - sPicTable_MarowakAlolan, + sPicTable_MarowakAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_MarowakAlolan, - gShinyOverworldPalette_MarowakAlolan + gOverworldPalette_MarowakAlola, + gShinyOverworldPalette_MarowakAlola ) .isAlolanForm = TRUE, - .levelUpLearnset = sMarowakAlolanLevelUpLearnset, - .teachableLearnset = sMarowakAlolanTeachableLearnset, + .levelUpLearnset = sMarowakAlolaLevelUpLearnset, + .teachableLearnset = sMarowakAlolaTeachableLearnset, .formSpeciesIdTable = sMarowakFormSpeciesIdTable, }, - [SPECIES_MAROWAK_ALOLAN_TOTEM] = + [SPECIES_MAROWAK_ALOLA_TOTEM] = { .baseHP = 60, .baseAttack = 80, @@ -11841,37 +12165,39 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .categoryName = _("Bone Keeper"), .height = 17, .weight = 980, - .description = gMarowakAlolanPokedexText, + .description = gMarowakAlolaPokedexText, .pokemonScale = 293, .pokemonOffset = 12, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_MarowakAlolan, + .frontPic = gMonFrontPic_MarowakAlola, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_MarowakAlolan, + .frontAnimFrames = sAnims_MarowakAlola, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_MarowakAlolan, + .backPic = gMonBackPic_MarowakAlola, .backPicSize = MON_COORDS_SIZE(56, 56), .backPicYOffset = 6, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_MarowakAlolan, - .shinyPalette = gMonShinyPalette_MarowakAlolan, - .iconSprite = gMonIcon_MarowakAlolan, + .palette = gMonPalette_MarowakAlola, + .shinyPalette = gMonShinyPalette_MarowakAlola, + .iconSprite = gMonIcon_MarowakAlola, .iconPalIndex = 1, + SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Marowak) OVERWORLD( - sPicTable_MarowakAlolan, + sPicTable_MarowakAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_MarowakAlolan, - gShinyOverworldPalette_MarowakAlolan + gOverworldPalette_MarowakAlola, + gShinyOverworldPalette_MarowakAlola ) .isTotem = TRUE, .isAlolanForm = TRUE, - .levelUpLearnset = sMarowakAlolanLevelUpLearnset, - .teachableLearnset = sMarowakAlolanTeachableLearnset, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, + .levelUpLearnset = sMarowakAlolaLevelUpLearnset, + .teachableLearnset = sMarowakAlolaTeachableLearnset, .formSpeciesIdTable = sMarowakFormSpeciesIdTable, }, #endif //P_ALOLAN_FORMS @@ -11918,18 +12244,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Tyrogue, - .frontPicSize = MON_COORDS_SIZE(40, 48), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(40, 48), .frontPicYOffset = 9, .frontAnimFrames = sAnims_Tyrogue, - .frontAnimId = ANIM_BACK_AND_LUNGE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_STRETCH : ANIM_BACK_AND_LUNGE, .backPic = gMonBackPic_Tyrogue, .backPicSize = MON_COORDS_SIZE(48, 48), - .backPicYOffset = 10, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 10, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Tyrogue, .shinyPalette = gMonShinyPalette_Tyrogue, .iconSprite = gMonIcon_Tyrogue, .iconPalIndex = 2, + SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Tyrogue) OVERWORLD( sPicTable_Tyrogue, @@ -11987,18 +12314,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 259, .trainerOffset = 1, .frontPic = gMonFrontPic_Hitmonlee, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 5, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 5, .frontAnimFrames = sAnims_Hitmonlee, - .frontAnimId = ANIM_H_JUMPS_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_STRETCH : ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Hitmonlee, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 4, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 4, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Hitmonlee, .shinyPalette = gMonShinyPalette_Hitmonlee, .iconSprite = gMonIcon_Hitmonlee, .iconPalIndex = 2, + SHADOW(2, 8, SHADOW_SIZE_M) FOOTPRINT(Hitmonlee) OVERWORLD( sPicTable_Hitmonlee, @@ -12051,18 +12379,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 277, .trainerOffset = 2, .frontPic = gMonFrontPic_Hitmonchan, - .frontPicSize = MON_COORDS_SIZE(48, 64), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(48, 64), .frontPicYOffset = 4, .frontAnimFrames = sAnims_Hitmonchan, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Hitmonchan, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 6, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Hitmonchan, .shinyPalette = gMonShinyPalette_Hitmonchan, .iconSprite = gMonIcon_Hitmonchan, .iconPalIndex = 2, + SHADOW(1, 9, SHADOW_SIZE_M) FOOTPRINT(Hitmonchan) OVERWORLD( sPicTable_Hitmonchan, @@ -12116,18 +12445,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 257, .trainerOffset = 0, .frontPic = gMonFrontPic_Hitmontop, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 7, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 7, .frontAnimFrames = sAnims_Hitmontop, - .frontAnimId = ANIM_SWING_CONCAVE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_VIBRATE : ANIM_SWING_CONCAVE, .backPic = gMonBackPic_Hitmontop, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 6, .backAnimId = BACK_ANIM_CIRCLE_COUNTERCLOCKWISE, .palette = gMonPalette_Hitmontop, .shinyPalette = gMonShinyPalette_Hitmontop, .iconSprite = gMonIcon_Hitmontop, .iconPalIndex = 2, + SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Hitmontop) OVERWORLD( sPicTable_Hitmontop, @@ -12180,18 +12510,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Lickitung, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 7, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, .frontAnimFrames = sAnims_Lickitung, - .frontAnimId = ANIM_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE_SLOW : ANIM_V_STRETCH, .backPic = gMonBackPic_Lickitung, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(64, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 13, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Lickitung, .shinyPalette = gMonShinyPalette_Lickitung, .iconSprite = gMonIcon_Lickitung, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 0, + SHADOW(2, 6, SHADOW_SIZE_M) FOOTPRINT(Lickitung) OVERWORLD( sPicTable_Lickitung, @@ -12256,6 +12587,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Lickilicky, .iconSprite = gMonIcon_Lickilicky, .iconPalIndex = 1, + SHADOW(1, 11, SHADOW_SIZE_M) FOOTPRINT(Lickilicky) OVERWORLD( sPicTable_Lickilicky, @@ -12312,19 +12644,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Koffing, - .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 10, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 10, .frontAnimFrames = sAnims_Koffing, - .frontAnimId = ANIM_V_SLIDE_WOBBLE_SMALL, - .enemyMonElevation = 14, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SHRINK_GROW : ANIM_V_SLIDE_WOBBLE_SMALL, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 14, .backPic = gMonBackPic_Koffing, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 3, .backAnimId = BACK_ANIM_GROW, .palette = gMonPalette_Koffing, .shinyPalette = gMonShinyPalette_Koffing, .iconSprite = gMonIcon_Koffing, .iconPalIndex = 2, + SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Koffing) OVERWORLD( sPicTable_Koffing, @@ -12338,7 +12671,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .teachableLearnset = sKoffingTeachableLearnset, .eggMoveLearnset = sKoffingEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_WEEZING}, - {EVO_NONE, 0, SPECIES_WEEZING_GALARIAN}), + {EVO_NONE, 0, SPECIES_WEEZING_GALAR}), }, [SPECIES_WEEZING] = @@ -12383,18 +12716,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Weezing, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 0, .frontAnimFrames = sAnims_Weezing, .frontAnimId = ANIM_V_SLIDE, - .enemyMonElevation = 3, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 6 : 3, .backPic = gMonBackPic_Weezing, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 9, .backAnimId = BACK_ANIM_GROW, .palette = gMonPalette_Weezing, .shinyPalette = gMonShinyPalette_Weezing, .iconSprite = gMonIcon_Weezing, .iconPalIndex = 2, + SHADOW(5, 14, SHADOW_SIZE_M) FOOTPRINT(Weezing) OVERWORLD( sPicTable_Weezing, @@ -12410,7 +12744,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_GALARIAN_FORMS - [SPECIES_WEEZING_GALARIAN] = + [SPECIES_WEEZING_GALAR] = { .baseHP = 65, .baseAttack = 90, @@ -12446,32 +12780,33 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 3, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_WeezingGalarian, + .frontPic = gMonFrontPic_WeezingGalar, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_WeezingGalarian, + .frontAnimFrames = sAnims_WeezingGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 6, - .backPic = gMonBackPic_WeezingGalarian, + .backPic = gMonBackPic_WeezingGalar, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 0, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_WeezingGalarian, - .shinyPalette = gMonShinyPalette_WeezingGalarian, - .iconSprite = gMonIcon_WeezingGalarian, + .palette = gMonPalette_WeezingGalar, + .shinyPalette = gMonShinyPalette_WeezingGalar, + .iconSprite = gMonIcon_WeezingGalar, .iconPalIndex = 1, + SHADOW(7, 17, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Weezing) OVERWORLD( - sPicTable_WeezingGalarian, + sPicTable_WeezingGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_WeezingGalarian, - gShinyOverworldPalette_WeezingGalarian + gOverworldPalette_WeezingGalar, + gShinyOverworldPalette_WeezingGalar ) .isGalarianForm = TRUE, - .levelUpLearnset = sWeezingGalarianLevelUpLearnset, - .teachableLearnset = sWeezingGalarianTeachableLearnset, + .levelUpLearnset = sWeezingGalarLevelUpLearnset, + .teachableLearnset = sWeezingGalarTeachableLearnset, .formSpeciesIdTable = sWeezingFormSpeciesIdTable, }, #endif //P_GALARIAN_FORMS @@ -12513,22 +12848,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Rhyhorn, - .frontPicFemale = gMonFrontPic_RhyhornF, - .frontPicSize = MON_COORDS_SIZE(56, 40), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 40), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 12, .frontAnimFrames = sAnims_Rhyhorn, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Rhyhorn, - .backPicFemale = gMonBackPic_RhyhornF, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicSizeFemale = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 11, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 11, .backAnimId = BACK_ANIM_V_SHAKE_LOW, .palette = gMonPalette_Rhyhorn, .shinyPalette = gMonShinyPalette_Rhyhorn, .iconSprite = gMonIcon_Rhyhorn, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_RhyhornF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 40), + .backPicFemale = gMonBackPic_RhyhornF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(0, 0, SHADOW_SIZE_L) FOOTPRINT(Rhyhorn) OVERWORLD( sPicTable_Rhyhorn, @@ -12538,6 +12876,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Rhyhorn, gShinyOverworldPalette_Rhyhorn ) + OVERWORLD_FEMALE( + sPicTable_RhyhornF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sRhyhornLevelUpLearnset, .teachableLearnset = sRhyhornTeachableLearnset, .eggMoveLearnset = sRhyhornEggMoveLearnset, @@ -12579,22 +12923,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 299, .trainerOffset = 2, .frontPic = gMonFrontPic_Rhydon, - .frontPicFemale = gMonFrontPic_RhydonF, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 3, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 3, .frontAnimFrames = sAnims_Rhydon, - .frontAnimId = ANIM_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SHRINK_GROW : ANIM_V_STRETCH, .backPic = gMonBackPic_Rhydon, - .backPicFemale = gMonBackPic_RhydonF, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 5, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 5, .backAnimId = BACK_ANIM_V_SHAKE_LOW, .palette = gMonPalette_Rhydon, .shinyPalette = gMonShinyPalette_Rhydon, .iconSprite = gMonIcon_Rhydon, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_RhydonF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), + .backPicFemale = gMonBackPic_RhydonF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(3, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rhydon) OVERWORLD( sPicTable_Rhydon, @@ -12604,6 +12951,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Rhydon, gShinyOverworldPalette_Rhydon ) + OVERWORLD_FEMALE( + sPicTable_RhydonF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sRhydonLevelUpLearnset, .teachableLearnset = sRhydonTeachableLearnset, .evolutions = EVOLUTION({EVO_TRADE_ITEM, ITEM_PROTECTOR, SPECIES_RHYPERIOR}, @@ -12652,22 +13005,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 369, .trainerOffset = 7, .frontPic = gMonFrontPic_Rhyperior, - .frontPicFemale = gMonFrontPic_RhyperiorF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, .frontAnimFrames = sAnims_Rhyperior, .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Rhyperior, - .backPicFemale = gMonBackPic_RhyperiorF, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), .backPicYOffset = 0, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Rhyperior, .shinyPalette = gMonShinyPalette_Rhyperior, .iconSprite = gMonIcon_Rhyperior, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_RhyperiorF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_RhyperiorF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(2, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rhyperior) OVERWORLD( sPicTable_Rhyperior, @@ -12677,6 +13033,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Rhyperior, gShinyOverworldPalette_Rhyperior ) + OVERWORLD_FEMALE( + sPicTable_RhyperiorF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sRhyperiorLevelUpLearnset, .teachableLearnset = sRhyperiorTeachableLearnset, }, @@ -12733,6 +13095,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Happiny, .iconSprite = gMonIcon_Happiny, .iconPalIndex = 0, + SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Happiny) OVERWORLD( sPicTable_Happiny, @@ -12789,7 +13152,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 9, .frontAnimFrames = sAnims_Chansey, - .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE_SLOW : ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Chansey, .backPicSize = MON_COORDS_SIZE(64, 48), .backPicYOffset = 11, @@ -12798,6 +13161,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Chansey, .iconSprite = gMonIcon_Chansey, .iconPalIndex = 0, + SHADOW(1, 4, SHADOW_SIZE_L) FOOTPRINT(Chansey) OVERWORLD( sPicTable_Chansey, @@ -12851,17 +13215,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 3, .frontPic = gMonFrontPic_Blissey, .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 5, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 5, .frontAnimFrames = sAnims_Blissey, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Blissey, - .backPicSize = MON_COORDS_SIZE(64, 32), - .backPicYOffset = 16, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 32), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 16, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Blissey, .shinyPalette = gMonShinyPalette_Blissey, .iconSprite = gMonIcon_Blissey, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 0, + SHADOW(1, 8, SHADOW_SIZE_L) FOOTPRINT(Blissey) OVERWORLD( sPicTable_Blissey, @@ -12917,18 +13282,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Tangela, - .frontPicSize = MON_COORDS_SIZE(48, 40), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(48, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 12, .frontAnimFrames = sAnims_Tangela, - .frontAnimId = ANIM_H_JUMPS_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL : ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Tangela, .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 12, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 12, .backAnimId = BACK_ANIM_V_STRETCH, .palette = gMonPalette_Tangela, .shinyPalette = gMonShinyPalette_Tangela, .iconSprite = gMonIcon_Tangela, .iconPalIndex = 0, + SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Tangela) OVERWORLD( sPicTable_Tangela, @@ -12980,9 +13346,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 334, .trainerOffset = 4, .frontPic = gMonFrontPic_Tangrowth, - .frontPicFemale = gMonFrontPic_TangrowthF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, .frontAnimFrames = sAnims_Tangrowth, .frontAnimId = ANIM_H_STRETCH, @@ -12994,6 +13358,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Tangrowth, .iconSprite = gMonIcon_Tangrowth, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_TangrowthF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-2, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Tangrowth) OVERWORLD( sPicTable_Tangrowth, @@ -13003,6 +13372,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Tangrowth, gShinyOverworldPalette_Tangrowth ) + OVERWORLD_FEMALE( + sPicTable_TangrowthF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sTangrowthLevelUpLearnset, .teachableLearnset = sTangrowthTeachableLearnset, }, @@ -13046,17 +13421,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 8, .frontPic = gMonFrontPic_Kangaskhan, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 1, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 1, .frontAnimFrames = sAnims_Kangaskhan, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Kangaskhan, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 6, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Kangaskhan, .shinyPalette = gMonShinyPalette_Kangaskhan, .iconSprite = gMonIcon_Kangaskhan, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 2, + SHADOW(0, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kangaskhan) OVERWORLD( sPicTable_Kangaskhan, @@ -13121,6 +13497,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_KangaskhanMega, .iconSprite = gMonIcon_KangaskhanMega, .iconPalIndex = 2, + SHADOW(0, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kangaskhan) .isMegaEvolution = TRUE, .levelUpLearnset = sKangaskhanLevelUpLearnset, @@ -13174,17 +13551,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Horsea, .frontPicSize = MON_COORDS_SIZE(32, 40), - .frontPicYOffset = 14, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 14, .frontAnimFrames = sAnims_Horsea, - .frontAnimId = ANIM_V_JUMPS_SMALL, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_TWIST : ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Horsea, - .backPicSize = MON_COORDS_SIZE(48, 40), - .backPicYOffset = 14, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 14, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Horsea, .shinyPalette = gMonShinyPalette_Horsea, .iconSprite = gMonIcon_Horsea, .iconPalIndex = 0, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Horsea) OVERWORLD( sPicTable_Horsea, @@ -13241,18 +13619,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Seadra, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 6, .frontAnimFrames = sAnims_Seadra, .frontAnimId = ANIM_V_SLIDE, .backPic = gMonBackPic_Seadra, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Seadra, .shinyPalette = gMonShinyPalette_Seadra, .iconSprite = gMonIcon_Seadra, .iconPalIndex = 0, + SHADOW(-2, 7, SHADOW_SIZE_M) FOOTPRINT(Seadra) OVERWORLD( sPicTable_Seadra, @@ -13317,18 +13696,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 287, .trainerOffset = 0, .frontPic = gMonFrontPic_Kingdra, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 1, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 1, .frontAnimFrames = sAnims_Kingdra, .frontAnimId = ANIM_CIRCLE_INTO_BG, .backPic = gMonBackPic_Kingdra, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 7, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 7, .backAnimId = BACK_ANIM_SHAKE_GLOW_BLUE, .palette = gMonPalette_Kingdra, .shinyPalette = gMonShinyPalette_Kingdra, .iconSprite = gMonIcon_Kingdra, .iconPalIndex = 0, + SHADOW(3, 12, SHADOW_SIZE_M) FOOTPRINT(Kingdra) OVERWORLD( sPicTable_Kingdra, @@ -13381,22 +13761,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Goldeen, - .frontPicFemale = gMonFrontPic_GoldeenF, - .frontPicSize = MON_COORDS_SIZE(64, 40), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 40), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 13, .frontAnimFrames = sAnims_Goldeen, - .frontAnimId = ANIM_H_SLIDE_WOBBLE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONVEX : ANIM_H_SLIDE_WOBBLE, .backPic = gMonBackPic_Goldeen, - .backPicFemale = gMonBackPic_GoldeenF, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicSizeFemale = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 9, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Goldeen, .shinyPalette = gMonShinyPalette_Goldeen, .iconSprite = gMonIcon_Goldeen, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_GoldeenF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 40), + .backPicFemale = gMonBackPic_GoldeenF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(-6, 0, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Goldeen) OVERWORLD( sPicTable_Goldeen, @@ -13406,6 +13789,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Goldeen, gShinyOverworldPalette_Goldeen ) + OVERWORLD_FEMALE( + sPicTable_GoldeenF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_SPOT + ) .levelUpLearnset = sGoldeenLevelUpLearnset, .teachableLearnset = sGoldeenTeachableLearnset, .eggMoveLearnset = sGoldeenEggMoveLearnset, @@ -13448,22 +13837,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Seaking, - .frontPicFemale = gMonFrontPic_SeakingF, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 5, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 5, .frontAnimFrames = sAnims_Seaking, .frontAnimId = ANIM_V_SLIDE_WOBBLE, .backPic = gMonBackPic_Seaking, - .backPicFemale = gMonBackPic_SeakingF, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 6, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Seaking, .shinyPalette = gMonShinyPalette_Seaking, .iconSprite = gMonIcon_Seaking, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_SeakingF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), + .backPicFemale = gMonBackPic_SeakingF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(0, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Seaking) OVERWORLD( sPicTable_Seaking, @@ -13473,6 +13865,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Seaking, gShinyOverworldPalette_Seaking ) + OVERWORLD_FEMALE( + sPicTable_SeakingF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_SPOT + ) .levelUpLearnset = sSeakingLevelUpLearnset, .teachableLearnset = sSeakingTeachableLearnset, }, @@ -13517,18 +13915,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Staryu, - .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(40, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 11, .frontAnimFrames = sAnims_Staryu, .frontAnimId = ANIM_TWIST_TWICE, .backPic = gMonBackPic_Staryu, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 6, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Staryu, .shinyPalette = gMonShinyPalette_Staryu, .iconSprite = gMonIcon_Staryu, .iconPalIndex = 2, + SHADOW(-1, 2, SHADOW_SIZE_M) FOOTPRINT(Staryu) OVERWORLD( sPicTable_Staryu, @@ -13585,13 +13984,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontAnimFrames = sAnims_Starmie, .frontAnimId = ANIM_TWIST, .backPic = gMonBackPic_Starmie, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 4, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 4, .backAnimId = BACK_ANIM_SHAKE_GLOW_BLUE, .palette = gMonPalette_Starmie, .shinyPalette = gMonShinyPalette_Starmie, .iconSprite = gMonIcon_Starmie, .iconPalIndex = 2, + SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Starmie) OVERWORLD( sPicTable_Starmie, @@ -13663,6 +14063,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MimeJr, .iconSprite = gMonIcon_MimeJr, .iconPalIndex = 0, + SHADOW(-5, 4, SHADOW_SIZE_S) FOOTPRINT(MimeJr) OVERWORLD( sPicTable_MimeJr, @@ -13676,7 +14077,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .teachableLearnset = sMimeJrTeachableLearnset, .eggMoveLearnset = sMimeJrEggMoveLearnset, .evolutions = EVOLUTION({EVO_MOVE, MOVE_MIMIC, SPECIES_MR_MIME}, - {EVO_NONE, 0, SPECIES_MR_MIME_GALARIAN}), + {EVO_NONE, 0, SPECIES_MR_MIME_GALAR}), }, #endif //P_GEN_4_CROSS_EVOS @@ -13719,18 +14120,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_MrMime, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .frontAnimFrames = sAnims_MrMime, .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_MrMime, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 8, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_MrMime, .shinyPalette = gMonShinyPalette_MrMime, .iconSprite = gMonIcon_MrMime, .iconPalIndex = 0, + SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(MrMime) OVERWORLD( sPicTable_MrMime, @@ -13747,7 +14149,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_GALARIAN_FORMS - [SPECIES_MR_MIME_GALARIAN] = + [SPECIES_MR_MIME_GALAR] = { .baseHP = 50, .baseAttack = 65, @@ -13781,32 +14183,33 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 6, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_MrMimeGalarian, + .frontPic = gMonFrontPic_MrMimeGalar, .frontPicSize = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_MrMimeGalarian, + .frontAnimFrames = sAnims_MrMimeGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_MrMimeGalarian, + .backPic = gMonBackPic_MrMimeGalar, .backPicSize = MON_COORDS_SIZE(64, 48), .backPicYOffset = 8, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_MrMimeGalarian, - .shinyPalette = gMonShinyPalette_MrMimeGalarian, - .iconSprite = gMonIcon_MrMimeGalarian, + .palette = gMonPalette_MrMimeGalar, + .shinyPalette = gMonShinyPalette_MrMimeGalar, + .iconSprite = gMonIcon_MrMimeGalar, .iconPalIndex = 0, + SHADOW(-1, 6, SHADOW_SIZE_M) FOOTPRINT(MrMime) OVERWORLD( - sPicTable_MrMimeGalarian, + sPicTable_MrMimeGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_MrMimeGalarian, - gShinyOverworldPalette_MrMimeGalarian + gOverworldPalette_MrMimeGalar, + gShinyOverworldPalette_MrMimeGalar ) .isGalarianForm = TRUE, - .levelUpLearnset = sMrMimeGalarianLevelUpLearnset, - .teachableLearnset = sMrMimeGalarianTeachableLearnset, - .eggMoveLearnset = sMrMimeGalarianEggMoveLearnset, + .levelUpLearnset = sMrMimeGalarLevelUpLearnset, + .teachableLearnset = sMrMimeGalarTeachableLearnset, + .eggMoveLearnset = sMrMimeGalarEggMoveLearnset, .formSpeciesIdTable = sMrMimeFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 42, SPECIES_MR_RIME}), }, @@ -13857,6 +14260,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MrRime, .iconSprite = gMonIcon_MrRime, .iconPalIndex = 0, + SHADOW(3, 9, SHADOW_SIZE_L) FOOTPRINT(MrRime) OVERWORLD( sPicTable_MrRime, @@ -13912,21 +14316,24 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 293, .trainerOffset = 2, .frontPic = gMonFrontPic_Scyther, - .frontPicFemale = gMonFrontPic_ScytherF, - .frontPicSize = MON_COORDS_SIZE(56, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 64), - .frontPicYOffset = 1, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(56, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 1, .frontAnimFrames = sAnims_Scyther, .frontAnimId = ANIM_H_VIBRATE, .frontAnimDelay = 10, .backPic = gMonBackPic_Scyther, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 3, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Scyther, .shinyPalette = gMonShinyPalette_Scyther, .iconSprite = gMonIcon_Scyther, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_ScytherF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Scyther) OVERWORLD( sPicTable_Scyther, @@ -13936,6 +14343,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Scyther, gShinyOverworldPalette_Scyther ) + OVERWORLD_FEMALE( + sPicTable_ScytherF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sScytherLevelUpLearnset, .teachableLearnset = sScytherTeachableLearnset, .eggMoveLearnset = sScytherEggMoveLearnset, @@ -13984,21 +14397,24 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Scizor, - .frontPicFemale = gMonFrontPic_ScizorF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 2, .frontAnimFrames = sAnims_Scizor, .frontAnimId = ANIM_H_VIBRATE, .frontAnimDelay = 19, .backPic = gMonBackPic_Scizor, - .backPicSize = MON_COORDS_SIZE(64, 56), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .backPicYOffset = 4, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Scizor, .shinyPalette = gMonShinyPalette_Scizor, .iconSprite = gMonIcon_Scizor, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_ScizorF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(3, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Scizor) OVERWORLD( sPicTable_Scizor, @@ -14008,6 +14424,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Scizor, gShinyOverworldPalette_Scizor ) + OVERWORLD_FEMALE( + sPicTable_ScizorF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sScizorLevelUpLearnset, .teachableLearnset = sScizorTeachableLearnset, .formSpeciesIdTable = sScizorFormSpeciesIdTable, @@ -14062,6 +14484,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_ScizorMega, .iconSprite = gMonIcon_ScizorMega, .iconPalIndex = 0, + SHADOW(5, 15, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Scizor) .isMegaEvolution = TRUE, .levelUpLearnset = sScizorLevelUpLearnset, @@ -14120,6 +14543,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Kleavor, .iconSprite = gMonIcon_Kleavor, .iconPalIndex = 2, + SHADOW(2, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kleavor) OVERWORLD( sPicTable_Kleavor, @@ -14176,8 +14600,8 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Smoochum, - .frontPicSize = MON_COORDS_SIZE(32, 40), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(24, 40) : MON_COORDS_SIZE(32, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 13, .frontAnimFrames = sAnims_Smoochum, .frontAnimId = ANIM_GROW_VIBRATE, .frontAnimDelay = 40, @@ -14189,6 +14613,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Smoochum, .iconSprite = gMonIcon_Smoochum, .iconPalIndex = 1, + SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Smoochum) OVERWORLD( sPicTable_Smoochum, @@ -14244,18 +14669,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 300, .trainerOffset = 1, .frontPic = gMonFrontPic_Jynx, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 9, .frontAnimFrames = sAnims_Jynx, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Jynx, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 3, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Jynx, .shinyPalette = gMonShinyPalette_Jynx, .iconSprite = gMonIcon_Jynx, .iconPalIndex = 2, + SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(Jynx) OVERWORLD( sPicTable_Jynx, @@ -14309,18 +14735,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Elekid, - .frontPicSize = MON_COORDS_SIZE(48, 40), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(48, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 12, .frontAnimFrames = sAnims_Elekid, .frontAnimId = ANIM_FLASH_YELLOW, .backPic = gMonBackPic_Elekid, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 10, .backAnimId = BACK_ANIM_H_SHAKE, .palette = gMonPalette_Elekid, .shinyPalette = gMonShinyPalette_Elekid, .iconSprite = gMonIcon_Elekid, .iconPalIndex = 1, + SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Elekid) OVERWORLD( sPicTable_Elekid, @@ -14374,18 +14801,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Electabuzz, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 4, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 4, .frontAnimFrames = sAnims_Electabuzz, - .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_FLASH_YELLOW : ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, .backPic = gMonBackPic_Electabuzz, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 4, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 4, .backAnimId = BACK_ANIM_SHAKE_FLASH_YELLOW, .palette = gMonPalette_Electabuzz, .shinyPalette = gMonShinyPalette_Electabuzz, .iconSprite = gMonIcon_Electabuzz, .iconPalIndex = 1, + SHADOW(-2, 9, SHADOW_SIZE_L) FOOTPRINT(Electabuzz) OVERWORLD( sPicTable_Electabuzz, @@ -14456,6 +14884,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Electivire, .iconSprite = gMonIcon_Electivire, .iconPalIndex = 1, + SHADOW(-3, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Electivire) OVERWORLD( sPicTable_Electivire, @@ -14510,18 +14939,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Magby, - .frontPicSize = MON_COORDS_SIZE(32, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(32, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 11, .frontAnimFrames = sAnims_Magby, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Magby, - .backPicSize = MON_COORDS_SIZE(40, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(40, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 10, .backAnimId = BACK_ANIM_SHAKE_GLOW_RED, .palette = gMonPalette_Magby, .shinyPalette = gMonShinyPalette_Magby, .iconSprite = gMonIcon_Magby, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 0, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Magby) OVERWORLD( sPicTable_Magby, @@ -14574,18 +15004,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Magmar, - .frontPicSize = MON_COORDS_SIZE(64, 56), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, .frontAnimFrames = sAnims_Magmar, .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Magmar, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 3, .backAnimId = BACK_ANIM_SHAKE_GLOW_RED, .palette = gMonPalette_Magmar, .shinyPalette = gMonShinyPalette_Magmar, .iconSprite = gMonIcon_Magmar, .iconPalIndex = 0, + SHADOW(3, 8, SHADOW_SIZE_L) FOOTPRINT(Magmar) OVERWORLD( sPicTable_Magmar, @@ -14657,6 +15088,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Magmortar, .iconSprite = gMonIcon_Magmortar, .iconPalIndex = 0, + SHADOW(4, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Magmortar) OVERWORLD( sPicTable_Magmortar, @@ -14712,18 +15144,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 257, .trainerOffset = 0, .frontPic = gMonFrontPic_Pinsir, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 5, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 5, .frontAnimFrames = sAnims_Pinsir, - .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_GROW_VIBRATE : ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Pinsir, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 6, .backAnimId = BACK_ANIM_V_SHAKE_LOW, .palette = gMonPalette_Pinsir, .shinyPalette = gMonShinyPalette_Pinsir, .iconSprite = gMonIcon_Pinsir, .iconPalIndex = 2, + SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Pinsir) OVERWORLD( sPicTable_Pinsir, @@ -14789,6 +15222,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PinsirMega, .iconSprite = gMonIcon_PinsirMega, .iconPalIndex = 2, + SHADOW(3, 12, SHADOW_SIZE_L) FOOTPRINT(Pinsir) .isMegaEvolution = TRUE, .levelUpLearnset = sPinsirLevelUpLearnset, @@ -14841,19 +15275,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Tauros, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 5, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 5, .frontAnimFrames = sAnims_Tauros, .frontAnimId = ANIM_V_SHAKE_TWICE, .frontAnimDelay = 10, .backPic = gMonBackPic_Tauros, - .backPicSize = MON_COORDS_SIZE(64, 48), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 48), .backPicYOffset = 13, .backAnimId = BACK_ANIM_V_SHAKE_LOW, .palette = gMonPalette_Tauros, .shinyPalette = gMonShinyPalette_Tauros, .iconSprite = gMonIcon_Tauros, .iconPalIndex = 2, + SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Tauros) OVERWORLD( sPicTable_Tauros, @@ -14869,7 +15304,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_PALDEAN_FORMS - [SPECIES_TAUROS_PALDEAN_COMBAT_BREED] = + [SPECIES_TAUROS_PALDEA_COMBAT] = { .baseHP = 75, .baseAttack = 110, @@ -14903,36 +15338,37 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 0, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_TaurosPaldeanCombatBreed, + .frontPic = gMonFrontPic_TaurosPaldeaCombat, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_TaurosPaldean, + .frontAnimFrames = sAnims_TaurosPaldea, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ - .backPic = gMonBackPic_TaurosPaldeanCombatBreed, + .backPic = gMonBackPic_TaurosPaldeaCombat, .backPicSize = MON_COORDS_SIZE(64, 48), .backPicYOffset = 9, .backAnimId = BACK_ANIM_V_SHAKE_LOW, - .palette = gMonPalette_TaurosPaldeanCombatBreed, - .shinyPalette = gMonShinyPalette_TaurosPaldeanCombatBreed, - .iconSprite = gMonIcon_TaurosPaldeanCombatBreed, + .palette = gMonPalette_TaurosPaldeaCombat, + .shinyPalette = gMonShinyPalette_TaurosPaldeaCombat, + .iconSprite = gMonIcon_TaurosPaldeaCombat, .iconPalIndex = 0, + SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Tauros) OVERWORLD( - sPicTable_TaurosPaldeanCombatBreed, + sPicTable_TaurosPaldeaCombat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_TaurosPaldeanCombatBreed, - gShinyOverworldPalette_TaurosPaldeanCombatBreed + gOverworldPalette_TaurosPaldeaCombat, + gShinyOverworldPalette_TaurosPaldeaCombat ) .isPaldeanForm = TRUE, - .levelUpLearnset = sTaurosPaldeanCombatBreedLevelUpLearnset, - .teachableLearnset = sTaurosPaldeanCombatBreedTeachableLearnset, - .eggMoveLearnset = sTaurosPaldeanCombatBreedEggMoveLearnset, + .levelUpLearnset = sTaurosPaldeaCombatLevelUpLearnset, + .teachableLearnset = sTaurosPaldeaCombatTeachableLearnset, + .eggMoveLearnset = sTaurosPaldeaCombatEggMoveLearnset, .formSpeciesIdTable = sTaurosFormSpeciesIdTable, }, - [SPECIES_TAUROS_PALDEAN_BLAZE_BREED] = + [SPECIES_TAUROS_PALDEA_BLAZE] = { .baseHP = 75, .baseAttack = 110, @@ -14966,36 +15402,37 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 0, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_TaurosPaldeanBlazeBreed, + .frontPic = gMonFrontPic_TaurosPaldeaBlaze, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_TaurosPaldean, + .frontAnimFrames = sAnims_TaurosPaldea, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ - .backPic = gMonBackPic_TaurosPaldeanBlazeBreed, + .backPic = gMonBackPic_TaurosPaldeaBlaze, .backPicSize = MON_COORDS_SIZE(64, 48), .backPicYOffset = 9, .backAnimId = BACK_ANIM_V_SHAKE_LOW, - .palette = gMonPalette_TaurosPaldeanBlazeBreed, - .shinyPalette = gMonShinyPalette_TaurosPaldeanBlazeBreed, - .iconSprite = gMonIcon_TaurosPaldeanBlazeBreed, + .palette = gMonPalette_TaurosPaldeaBlaze, + .shinyPalette = gMonShinyPalette_TaurosPaldeaBlaze, + .iconSprite = gMonIcon_TaurosPaldeaBlaze, .iconPalIndex = 0, + SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Tauros) OVERWORLD( - sPicTable_TaurosPaldeanBlazeBreed, + sPicTable_TaurosPaldeaBlaze, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_TaurosPaldeanBlazeBreed, - gShinyOverworldPalette_TaurosPaldeanBlazeBreed + gOverworldPalette_TaurosPaldeaBlaze, + gShinyOverworldPalette_TaurosPaldeaBlaze ) .isPaldeanForm = TRUE, - .levelUpLearnset = sTaurosPaldeanBlazeBreedLevelUpLearnset, - .teachableLearnset = sTaurosPaldeanBlazeBreedTeachableLearnset, - .eggMoveLearnset = sTaurosPaldeanBlazeBreedEggMoveLearnset, + .levelUpLearnset = sTaurosPaldeaBlazeLevelUpLearnset, + .teachableLearnset = sTaurosPaldeaBlazeTeachableLearnset, + .eggMoveLearnset = sTaurosPaldeaBlazeEggMoveLearnset, .formSpeciesIdTable = sTaurosFormSpeciesIdTable, }, - [SPECIES_TAUROS_PALDEAN_AQUA_BREED] = + [SPECIES_TAUROS_PALDEA_AQUA] = { .baseHP = 75, .baseAttack = 110, @@ -15029,32 +15466,33 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 0, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_TaurosPaldeanAquaBreed, + .frontPic = gMonFrontPic_TaurosPaldeaAqua, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_TaurosPaldean, + .frontAnimFrames = sAnims_TaurosPaldea, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ - .backPic = gMonBackPic_TaurosPaldeanAquaBreed, + .backPic = gMonBackPic_TaurosPaldeaAqua, .backPicSize = MON_COORDS_SIZE(64, 48), .backPicYOffset = 9, .backAnimId = BACK_ANIM_V_SHAKE_LOW, - .palette = gMonPalette_TaurosPaldeanAquaBreed, - .shinyPalette = gMonShinyPalette_TaurosPaldeanAquaBreed, - .iconSprite = gMonIcon_TaurosPaldeanAquaBreed, + .palette = gMonPalette_TaurosPaldeaAqua, + .shinyPalette = gMonShinyPalette_TaurosPaldeaAqua, + .iconSprite = gMonIcon_TaurosPaldeaAqua, .iconPalIndex = 0, + SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Tauros) OVERWORLD( - sPicTable_TaurosPaldeanAquaBreed, + sPicTable_TaurosPaldeaAqua, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_TaurosPaldeanAquaBreed, - gShinyOverworldPalette_TaurosPaldeanAquaBreed + gOverworldPalette_TaurosPaldeaAqua, + gShinyOverworldPalette_TaurosPaldeaAqua ) .isPaldeanForm = TRUE, - .levelUpLearnset = sTaurosPaldeanAquaBreedLevelUpLearnset, - .teachableLearnset = sTaurosPaldeanAquaBreedTeachableLearnset, - .eggMoveLearnset = sTaurosPaldeanAquaBreedEggMoveLearnset, + .levelUpLearnset = sTaurosPaldeaAquaLevelUpLearnset, + .teachableLearnset = sTaurosPaldeaAquaTeachableLearnset, + .eggMoveLearnset = sTaurosPaldeaAquaEggMoveLearnset, .formSpeciesIdTable = sTaurosFormSpeciesIdTable, }, #endif //P_PALDEAN_FORMS @@ -15096,22 +15534,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Magikarp, - .frontPicFemale = gMonFrontPic_MagikarpF, .frontPicSize = MON_COORDS_SIZE(48, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 56), - .frontPicYOffset = 4, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 4, .frontAnimFrames = sAnims_Magikarp, .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES, .backPic = gMonBackPic_Magikarp, - .backPicFemale = gMonBackPic_MagikarpF, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 6, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Magikarp, .shinyPalette = gMonShinyPalette_Magikarp, .iconSprite = gMonIcon_Magikarp, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_MagikarpF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 56), + .backPicFemale = gMonBackPic_MagikarpF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(1, 7, SHADOW_SIZE_M) FOOTPRINT(Magikarp) OVERWORLD( sPicTable_Magikarp, @@ -15121,6 +15562,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Magikarp, gShinyOverworldPalette_Magikarp ) + OVERWORLD_FEMALE( + sPicTable_MagikarpF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_SPOT + ) .tmIlliterate = TRUE, .levelUpLearnset = sMagikarpLevelUpLearnset, .teachableLearnset = sMagikarpTeachableLearnset, @@ -15162,22 +15609,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 481, .trainerOffset = 13, .frontPic = gMonFrontPic_Gyarados, - .frontPicFemale = gMonFrontPic_GyaradosF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 2, .frontAnimFrames = sAnims_Gyarados, .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, .backPic = gMonBackPic_Gyarados, - .backPicFemale = gMonBackPic_GyaradosF, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 5, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 5, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Gyarados, .shinyPalette = gMonShinyPalette_Gyarados, .iconSprite = gMonIcon_Gyarados, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_GyaradosF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_GyaradosF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(5, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gyarados) OVERWORLD( sPicTable_Gyarados, @@ -15187,6 +15637,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Gyarados, gShinyOverworldPalette_Gyarados ) + OVERWORLD_FEMALE( + sPicTable_GyaradosF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_SLITHER + ) .levelUpLearnset = sGyaradosLevelUpLearnset, .teachableLearnset = sGyaradosTeachableLearnset, .formSpeciesIdTable = sGyaradosFormSpeciesIdTable, @@ -15242,6 +15698,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_GyaradosMega, .iconSprite = gMonIcon_GyaradosMega, .iconPalIndex = 0, + SHADOW(3, 17, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gyarados) .isMegaEvolution = TRUE, .levelUpLearnset = sGyaradosLevelUpLearnset, @@ -15290,18 +15747,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 423, .trainerOffset = 8, .frontPic = gMonFrontPic_Lapras, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 2, .frontAnimFrames = sAnims_Lapras, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Lapras, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, .backAnimId = BACK_ANIM_SHAKE_GLOW_BLUE, .palette = gMonPalette_Lapras, .shinyPalette = gMonShinyPalette_Lapras, .iconSprite = gMonIcon_Lapras, .iconPalIndex = 2, + SHADOW(2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Lapras) OVERWORLD( sPicTable_Lapras, @@ -15319,7 +15777,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_LAPRAS_GIGANTAMAX] = + [SPECIES_LAPRAS_GMAX] = { .baseHP = 130, .baseAttack = 85, @@ -15355,19 +15813,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 10, .trainerScale = 423, .trainerOffset = 8, - .frontPic = gMonFrontPic_LaprasGigantamax, + .frontPic = gMonFrontPic_LaprasGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_LaprasGigantamax, + .frontAnimFrames = sAnims_LaprasGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_LaprasGigantamax, + .backPic = gMonBackPic_LaprasGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 1, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_LaprasGigantamax, - .shinyPalette = gMonShinyPalette_LaprasGigantamax, - .iconSprite = gMonIcon_LaprasGigantamax, + .palette = gMonPalette_LaprasGmax, + .shinyPalette = gMonShinyPalette_LaprasGmax, + .iconSprite = gMonIcon_LaprasGmax, .iconPalIndex = 2, + SHADOW(2, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Lapras) .isGigantamax = TRUE, .levelUpLearnset = sLaprasLevelUpLearnset, @@ -15417,18 +15876,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Ditto, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 15, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 17 : 15, .frontAnimFrames = sAnims_Ditto, .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Ditto, - .backPicSize = MON_COORDS_SIZE(48, 32), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(48, 32), .backPicYOffset = 17, .backAnimId = BACK_ANIM_SHRINK_GROW, .palette = gMonPalette_Ditto, .shinyPalette = gMonShinyPalette_Ditto, .iconSprite = gMonIcon_Ditto, .iconPalIndex = 2, + SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Ditto) OVERWORLD( sPicTable_Ditto, @@ -15480,22 +15940,25 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Eevee, - .frontPicFemale = gMonFrontPic_EeveeF, .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 11, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 11, .frontAnimFrames = sAnims_Eevee, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Eevee, - .backPicFemale = gMonBackPic_EeveeF, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicSizeFemale = MON_COORDS_SIZE(56, 48), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), .backPicYOffset = 10, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Eevee, .shinyPalette = gMonShinyPalette_Eevee, .iconSprite = gMonIcon_Eevee, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_EeveeF, + .frontPicSizeFemale = MON_COORDS_SIZE(40, 48), + .backPicFemale = gMonBackPic_EeveeF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Eevee) OVERWORLD( sPicTable_Eevee, @@ -15505,6 +15968,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Eevee, gShinyOverworldPalette_Eevee ) + OVERWORLD_FEMALE( + sPicTable_EeveeF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sEeveeLevelUpLearnset, .teachableLearnset = sEeveeTeachableLearnset, .eggMoveLearnset = sEeveeEggMoveLearnset, @@ -15523,7 +15992,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_EEVEE_GIGANTAMAX] = + [SPECIES_EEVEE_GMAX] = { .baseHP = 55, .baseAttack = 55, @@ -15557,19 +16026,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 18, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_EeveeGigantamax, + .frontPic = gMonFrontPic_EeveeGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_EeveeGigantamax, + .frontAnimFrames = sAnims_EeveeGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_EeveeGigantamax, + .backPic = gMonBackPic_EeveeGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 7, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_EeveeGigantamax, - .shinyPalette = gMonShinyPalette_EeveeGigantamax, - .iconSprite = gMonIcon_EeveeGigantamax, + .palette = gMonPalette_EeveeGmax, + .shinyPalette = gMonShinyPalette_EeveeGmax, + .iconSprite = gMonIcon_EeveeGmax, .iconPalIndex = 2, + SHADOW(0, 4, SHADOW_SIZE_L) FOOTPRINT(Eevee) .isGigantamax = TRUE, .levelUpLearnset = sEeveeLevelUpLearnset, @@ -15580,7 +16050,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #endif //P_GIGANTAMAX_FORMS - [SPECIES_EEVEE_PARTNER] = + [SPECIES_EEVEE_STARTER] = { .baseHP = 65, .baseAttack = 75, @@ -15611,26 +16081,29 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Eevee, - .frontPicFemale = gMonFrontPic_EeveeF, .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 11, .frontAnimFrames = sAnims_Eevee, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Eevee, - .backPicFemale = gMonBackPic_EeveeF, .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicSizeFemale = MON_COORDS_SIZE(56, 48), .backPicYOffset = 10, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Eevee, .shinyPalette = gMonShinyPalette_Eevee, .iconSprite = gMonIcon_EeveePartner, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_EeveeF, + .frontPicSizeFemale = MON_COORDS_SIZE(40, 48), + .backPicFemale = gMonBackPic_EeveeF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 48), #if P_CUSTOM_GENDER_DIFF_ICONS == TRUE .iconSpriteFemale = gMonIcon_EeveePartnerF, .iconPalIndexFemale = 2, #endif +#endif //P_GENDER_DIFFERENCES + SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Eevee) OVERWORLD( sPicTable_Eevee, @@ -15641,7 +16114,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Eevee ) .cannotBeTraded = TRUE, - .allPerfectIVs = TRUE, + .perfectIVCount = NUM_STATS, .levelUpLearnset = sEeveeLevelUpLearnset, .teachableLearnset = sEeveeTeachableLearnset, .eggMoveLearnset = sEeveeEggMoveLearnset, @@ -15683,18 +16156,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Vaporeon, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 9, .frontAnimFrames = sAnims_Vaporeon, - .frontAnimId = ANIM_GLOW_BLUE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_GLOW_BLUE, .backPic = gMonBackPic_Vaporeon, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 5, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 5, .backAnimId = BACK_ANIM_SHAKE_GLOW_BLUE, .palette = gMonPalette_Vaporeon, .shinyPalette = gMonShinyPalette_Vaporeon, .iconSprite = gMonIcon_Vaporeon, .iconPalIndex = 0, + SHADOW(-4, 3, SHADOW_SIZE_M) FOOTPRINT(Vaporeon) OVERWORLD( sPicTable_Vaporeon, @@ -15743,18 +16217,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Jolteon, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 10, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 10, .frontAnimFrames = sAnims_Jolteon, - .frontAnimId = ANIM_GROW_VIBRATE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE : ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Jolteon, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 7, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 7, .backAnimId = BACK_ANIM_SHAKE_FLASH_YELLOW, .palette = gMonPalette_Jolteon, .shinyPalette = gMonShinyPalette_Jolteon, .iconSprite = gMonIcon_Jolteon, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 2, + SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Jolteon) OVERWORLD( sPicTable_Jolteon, @@ -15803,18 +16278,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Flareon, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 11, .frontAnimFrames = sAnims_Flareon, - .frontAnimId = ANIM_V_SHAKE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_V_SHAKE, .backPic = gMonBackPic_Flareon, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 9, .backAnimId = BACK_ANIM_SHAKE_GLOW_RED, .palette = gMonPalette_Flareon, .shinyPalette = gMonShinyPalette_Flareon, .iconSprite = gMonIcon_Flareon, - .iconPalIndex = 3, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 3, + SHADOW(-2, 1, SHADOW_SIZE_L) FOOTPRINT(Flareon) OVERWORLD( sPicTable_Flareon, @@ -15864,18 +16340,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Espeon, - .frontPicSize = MON_COORDS_SIZE(48, 56), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 9, .frontAnimFrames = sAnims_Espeon, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Espeon, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 8, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Espeon, .shinyPalette = gMonShinyPalette_Espeon, .iconSprite = gMonIcon_Espeon, .iconPalIndex = 2, + SHADOW(2, 4, SHADOW_SIZE_M) FOOTPRINT(Espeon) OVERWORLD( sPicTable_Espeon, @@ -15924,18 +16401,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Umbreon, - .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(40, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 9, .frontAnimFrames = sAnims_Umbreon, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Umbreon, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 2, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 2, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Umbreon, .shinyPalette = gMonShinyPalette_Umbreon, .iconSprite = gMonIcon_Umbreon, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Umbreon) OVERWORLD( sPicTable_Umbreon, @@ -15998,6 +16476,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Leafeon, .iconSprite = gMonIcon_Leafeon, .iconPalIndex = 1, + SHADOW(0, 4, SHADOW_SIZE_M) FOOTPRINT(Leafeon) OVERWORLD( sPicTable_Leafeon, @@ -16058,6 +16537,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Glaceon, .iconSprite = gMonIcon_Glaceon, .iconPalIndex = 0, + SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Glaceon) OVERWORLD( sPicTable_Glaceon, @@ -16121,6 +16601,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Sylveon, .iconSprite = gMonIcon_Sylveon, .iconPalIndex = 0, + SHADOW(2, 9, SHADOW_SIZE_M) FOOTPRINT(Sylveon) OVERWORLD( sPicTable_Sylveon, @@ -16177,17 +16658,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Porygon, .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 14, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 14, .frontAnimFrames = sAnims_Porygon, .frontAnimId = ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Porygon, - .backPicSize = MON_COORDS_SIZE(56, 40), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 40), .backPicYOffset = 13, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Porygon, .shinyPalette = gMonShinyPalette_Porygon, .iconSprite = gMonIcon_Porygon, .iconPalIndex = 0, + SHADOW(0, -2, SHADOW_SIZE_S) FOOTPRINT(Porygon) OVERWORLD( sPicTable_Porygon, @@ -16247,15 +16729,16 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPicYOffset = 15, .frontAnimFrames = sAnims_Porygon2, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .enemyMonElevation = 9, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 0 : 9, .backPic = gMonBackPic_Porygon2, .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 11, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 11, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Porygon2, .shinyPalette = gMonShinyPalette_Porygon2, .iconSprite = gMonIcon_Porygon2, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Porygon2) OVERWORLD( sPicTable_Porygon2, @@ -16326,6 +16809,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PorygonZ, .iconSprite = gMonIcon_PorygonZ, .iconPalIndex = 0, + SHADOW(0, 17, SHADOW_SIZE_S) FOOTPRINT(PorygonZ) OVERWORLD( sPicTable_PorygonZ, @@ -16384,18 +16868,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Omanyte, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 14, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 14, .frontAnimFrames = sAnims_Omanyte, .frontAnimId = ANIM_V_SLIDE_WOBBLE_SMALL, .backPic = gMonBackPic_Omanyte, - .backPicSize = MON_COORDS_SIZE(48, 40), - .backPicYOffset = 12, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 12, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Omanyte, .shinyPalette = gMonShinyPalette_Omanyte, .iconSprite = gMonIcon_Omanyte, .iconPalIndex = 0, + SHADOW(-2, -2, SHADOW_SIZE_S) FOOTPRINT(Omanyte) OVERWORLD( sPicTable_Omanyte, @@ -16446,18 +16931,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Omastar, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 9, .frontAnimFrames = sAnims_Omastar, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Omastar, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 7, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Omastar, .shinyPalette = gMonShinyPalette_Omastar, .iconSprite = gMonIcon_Omastar, .iconPalIndex = 0, + SHADOW(0, 4, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Omastar) OVERWORLD( sPicTable_Omastar, @@ -16515,7 +17001,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Kabuto, .frontPicSize = MON_COORDS_SIZE(40, 32), - .frontPicYOffset = 16, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 17 : 16, .frontAnimFrames = sAnims_Kabuto, .frontAnimId = ANIM_H_SLIDE_WOBBLE, .backPic = gMonBackPic_Kabuto, @@ -16526,6 +17012,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Kabuto, .iconSprite = gMonIcon_Kabuto, .iconPalIndex = 2, + SHADOW(2, -3, SHADOW_SIZE_S) FOOTPRINT(Kabuto) OVERWORLD( sPicTable_Kabuto, @@ -16583,17 +17070,18 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Kabutops, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 2, .frontAnimFrames = sAnims_Kabutops, .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Kabutops, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 6, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Kabutops, .shinyPalette = gMonShinyPalette_Kabutops, .iconSprite = gMonIcon_Kabutops, .iconPalIndex = 2, + SHADOW(1, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kabutops) OVERWORLD( sPicTable_Kabutops, @@ -16645,18 +17133,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 4, .frontPic = gMonFrontPic_Aerodactyl, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 4, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 4, .frontAnimFrames = sAnims_Aerodactyl, .frontAnimId = ANIM_V_SLIDE_SLOW, - .enemyMonElevation = 9, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 7 : 9, .backPic = gMonBackPic_Aerodactyl, .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 10, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 10, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Aerodactyl, .shinyPalette = gMonShinyPalette_Aerodactyl, .iconSprite = gMonIcon_Aerodactyl, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 2, + SHADOW(-2, 16, SHADOW_SIZE_M) FOOTPRINT(Aerodactyl) OVERWORLD( sPicTable_Aerodactyl, @@ -16721,6 +17210,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_AerodactylMega, .iconSprite = gMonIcon_AerodactylMega, .iconPalIndex = 2, + SHADOW(-2, 16, SHADOW_SIZE_M) FOOTPRINT(Aerodactyl) .isMegaEvolution = TRUE, .levelUpLearnset = sAerodactylLevelUpLearnset, @@ -16783,6 +17273,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Munchlax, .iconSprite = gMonIcon_Munchlax, .iconPalIndex = 3, + SHADOW(-1, 2, SHADOW_SIZE_M) FOOTPRINT(Munchlax) OVERWORLD( sPicTable_Munchlax, @@ -16836,18 +17327,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 423, .trainerOffset = 11, .frontPic = gMonFrontPic_Snorlax, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 1, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 1, .frontAnimFrames = sAnims_Snorlax, - .frontAnimId = ANIM_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONCAVE : ANIM_V_STRETCH, .backPic = gMonBackPic_Snorlax, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 13, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Snorlax, .shinyPalette = gMonShinyPalette_Snorlax, .iconSprite = gMonIcon_Snorlax, - .iconPalIndex = 3, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 3, + SHADOW(0, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Snorlax) OVERWORLD( sPicTable_Snorlax, @@ -16865,7 +17357,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_SNORLAX_GIGANTAMAX] = + [SPECIES_SNORLAX_GMAX] = { .baseHP = 160, .baseAttack = 110, @@ -16901,19 +17393,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 4, .trainerScale = 423, .trainerOffset = 11, - .frontPic = gMonFrontPic_SnorlaxGigantamax, + .frontPic = gMonFrontPic_SnorlaxGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_SnorlaxGigantamax, + .frontAnimFrames = sAnims_SnorlaxGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_SnorlaxGigantamax, + .backPic = gMonBackPic_SnorlaxGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 5, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_SnorlaxGigantamax, - .shinyPalette = gMonShinyPalette_SnorlaxGigantamax, - .iconSprite = gMonIcon_SnorlaxGigantamax, + .palette = gMonPalette_SnorlaxGmax, + .shinyPalette = gMonShinyPalette_SnorlaxGmax, + .iconSprite = gMonIcon_SnorlaxGmax, .iconPalIndex = 3, + SHADOW(0, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Snorlax) .isGigantamax = TRUE, .levelUpLearnset = sSnorlaxLevelUpLearnset, @@ -16968,17 +17461,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 2, .frontPic = gMonFrontPic_Articuno, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 2, .frontAnimFrames = sAnims_Articuno, .frontAnimId = ANIM_GROW_VIBRATE, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 6 : 0, .backPic = gMonBackPic_Articuno, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 5, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 5, .backAnimId = BACK_ANIM_SHAKE_GLOW_BLUE, .palette = gMonPalette_Articuno, .shinyPalette = gMonShinyPalette_Articuno, .iconSprite = gMonIcon_Articuno, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 2, + SHADOW(3, 10, SHADOW_SIZE_M) FOOTPRINT(Articuno) OVERWORLD( sPicTable_Articuno, @@ -16989,13 +17484,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Articuno ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sArticunoLevelUpLearnset, .teachableLearnset = sArticunoTeachableLearnset, .formSpeciesIdTable = sArticunoFormSpeciesIdTable, }, #if P_GALARIAN_FORMS - [SPECIES_ARTICUNO_GALARIAN] = + [SPECIES_ARTICUNO_GALAR] = { .baseHP = 90, .baseAttack = 85, @@ -17029,33 +17525,35 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 0, .trainerScale = 309, .trainerOffset = 2, - .frontPic = gMonFrontPic_ArticunoGalarian, + .frontPic = gMonFrontPic_ArticunoGalar, .frontPicSize = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_ArticunoGalarian, + .frontAnimFrames = sAnims_ArticunoGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 10, - .backPic = gMonBackPic_ArticunoGalarian, + .backPic = gMonBackPic_ArticunoGalar, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 5, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_ArticunoGalarian, - .shinyPalette = gMonShinyPalette_ArticunoGalarian, - .iconSprite = gMonIcon_ArticunoGalarian, + .palette = gMonPalette_ArticunoGalar, + .shinyPalette = gMonShinyPalette_ArticunoGalar, + .iconSprite = gMonIcon_ArticunoGalar, .iconPalIndex = 2, + SHADOW(3, 14, SHADOW_SIZE_M) FOOTPRINT(Articuno) OVERWORLD( - sPicTable_ArticunoGalarian, + sPicTable_ArticunoGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_ArticunoGalarian, - gShinyOverworldPalette_ArticunoGalarian + gOverworldPalette_ArticunoGalar, + gShinyOverworldPalette_ArticunoGalar ) .isLegendary = TRUE, .isGalarianForm = TRUE, - .levelUpLearnset = sArticunoGalarianLevelUpLearnset, - .teachableLearnset = sArticunoGalarianTeachableLearnset, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, + .levelUpLearnset = sArticunoGalarLevelUpLearnset, + .teachableLearnset = sArticunoGalarTeachableLearnset, .formSpeciesIdTable = sArticunoFormSpeciesIdTable, }, #endif //P_GALARIAN_FORMS @@ -17113,13 +17611,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontAnimId = ANIM_FLASH_YELLOW, .enemyMonElevation = 8, .backPic = gMonBackPic_Zapdos, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 12, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 12, .backAnimId = BACK_ANIM_SHAKE_FLASH_YELLOW, .palette = gMonPalette_Zapdos, .shinyPalette = gMonShinyPalette_Zapdos, .iconSprite = gMonIcon_Zapdos, .iconPalIndex = 0, + SHADOW(1, 15, SHADOW_SIZE_M) FOOTPRINT(Zapdos) OVERWORLD( sPicTable_Zapdos, @@ -17130,13 +17629,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Zapdos ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sZapdosLevelUpLearnset, .teachableLearnset = sZapdosTeachableLearnset, .formSpeciesIdTable = sZapdosFormSpeciesIdTable, }, #if P_GALARIAN_FORMS - [SPECIES_ZAPDOS_GALARIAN] = + [SPECIES_ZAPDOS_GALAR] = { .baseHP = 90, .baseAttack = 125, @@ -17170,32 +17670,34 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 0, .trainerScale = 318, .trainerOffset = 3, - .frontPic = gMonFrontPic_ZapdosGalarian, + .frontPic = gMonFrontPic_ZapdosGalar, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_ZapdosGalarian, + .frontAnimFrames = sAnims_ZapdosGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_ZapdosGalarian, + .backPic = gMonBackPic_ZapdosGalar, .backPicSize = MON_COORDS_SIZE(56, 48), .backPicYOffset = 9, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_ZapdosGalarian, - .shinyPalette = gMonShinyPalette_ZapdosGalarian, - .iconSprite = gMonIcon_ZapdosGalarian, + .palette = gMonPalette_ZapdosGalar, + .shinyPalette = gMonShinyPalette_ZapdosGalar, + .iconSprite = gMonIcon_ZapdosGalar, .iconPalIndex = 0, + SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Zapdos) OVERWORLD( - sPicTable_ZapdosGalarian, + sPicTable_ZapdosGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_ZapdosGalarian, - gShinyOverworldPalette_ZapdosGalarian + gOverworldPalette_ZapdosGalar, + gShinyOverworldPalette_ZapdosGalar ) .isLegendary = TRUE, .isGalarianForm = TRUE, - .levelUpLearnset = sZapdosGalarianLevelUpLearnset, - .teachableLearnset = sZapdosGalarianTeachableLearnset, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, + .levelUpLearnset = sZapdosGalarLevelUpLearnset, + .teachableLearnset = sZapdosGalarTeachableLearnset, .formSpeciesIdTable = sZapdosFormSpeciesIdTable, }, #endif //P_GALARIAN_FORMS @@ -17244,17 +17746,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerOffset = 8, .frontPic = gMonFrontPic_Moltres, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 1, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 1, .frontAnimFrames = sAnims_Moltres, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 5 : 0, .backPic = gMonBackPic_Moltres, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 5, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 5, .backAnimId = BACK_ANIM_SHAKE_GLOW_RED, .palette = gMonPalette_Moltres, .shinyPalette = gMonShinyPalette_Moltres, .iconSprite = gMonIcon_Moltres, .iconPalIndex = 0, + SHADOW(-1, 12, SHADOW_SIZE_M) FOOTPRINT(Moltres) OVERWORLD( sPicTable_Moltres, @@ -17265,13 +17769,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Moltres ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMoltresLevelUpLearnset, .teachableLearnset = sMoltresTeachableLearnset, .formSpeciesIdTable = sMoltresFormSpeciesIdTable, }, #if P_GALARIAN_FORMS - [SPECIES_MOLTRES_GALARIAN] = + [SPECIES_MOLTRES_GALAR] = { .baseHP = 90, .baseAttack = 85, @@ -17305,32 +17810,34 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .pokemonOffset = 0, .trainerScale = 387, .trainerOffset = 8, - .frontPic = gMonFrontPic_MoltresGalarian, + .frontPic = gMonFrontPic_MoltresGalar, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_MoltresGalarian, + .frontAnimFrames = sAnims_MoltresGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_MoltresGalarian, + .backPic = gMonBackPic_MoltresGalar, .backPicSize = MON_COORDS_SIZE(56, 56), .backPicYOffset = 5, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_MoltresGalarian, - .shinyPalette = gMonShinyPalette_MoltresGalarian, - .iconSprite = gMonIcon_MoltresGalarian, + .palette = gMonPalette_MoltresGalar, + .shinyPalette = gMonShinyPalette_MoltresGalar, + .iconSprite = gMonIcon_MoltresGalar, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Moltres) OVERWORLD( - sPicTable_MoltresGalarian, + sPicTable_MoltresGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_MoltresGalarian, - gShinyOverworldPalette_MoltresGalarian + gOverworldPalette_MoltresGalar, + gShinyOverworldPalette_MoltresGalar ) .isLegendary = TRUE, .isGalarianForm = TRUE, - .levelUpLearnset = sMoltresGalarianLevelUpLearnset, - .teachableLearnset = sMoltresGalarianTeachableLearnset, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, + .levelUpLearnset = sMoltresGalarLevelUpLearnset, + .teachableLearnset = sMoltresGalarTeachableLearnset, .formSpeciesIdTable = sMoltresFormSpeciesIdTable, }, #endif //P_GALARIAN_FORMS @@ -17373,18 +17880,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 386, .trainerOffset = 6, .frontPic = gMonFrontPic_Dratini, - .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(56, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 9, .frontAnimFrames = sAnims_Dratini, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Dratini, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Dratini, .shinyPalette = gMonShinyPalette_Dratini, .iconSprite = gMonIcon_Dratini, .iconPalIndex = 0, + SHADOW(3, 3, SHADOW_SIZE_L) FOOTPRINT(Dratini) OVERWORLD( sPicTable_Dratini, @@ -17436,18 +17944,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 411, .trainerOffset = 5, .frontPic = gMonFrontPic_Dragonair, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 1, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 1, .frontAnimFrames = sAnims_Dragonair, - .frontAnimId = ANIM_GROW_VIBRATE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SHAKE : ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Dragonair, - .backPicSize = MON_COORDS_SIZE(40, 56), - .backPicYOffset = 4, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(40, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 4, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Dragonair, .shinyPalette = gMonShinyPalette_Dragonair, .iconSprite = gMonIcon_Dragonair, .iconPalIndex = 0, + SHADOW(0, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Dragonair) OVERWORLD( sPicTable_Dragonair, @@ -17507,15 +18016,17 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Dragonite, - .frontAnimId = ANIM_V_SHAKE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SLIDE_SLOW : ANIM_V_SHAKE, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 6 : 0, .backPic = gMonBackPic_Dragonite, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 1, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 1, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Dragonite, .shinyPalette = gMonShinyPalette_Dragonite, .iconSprite = gMonIcon_Dragonite, .iconPalIndex = 2, + SHADOW(0, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Dragonite) OVERWORLD( sPicTable_Dragonite, @@ -17577,13 +18088,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .frontAnimFrames = sAnims_Mewtwo, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Mewtwo, - .backPicSize = MON_COORDS_SIZE(64, 64), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .backPicYOffset = 1, .backAnimId = BACK_ANIM_GROW_STUTTER, .palette = gMonPalette_Mewtwo, .shinyPalette = gMonShinyPalette_Mewtwo, .iconSprite = gMonIcon_Mewtwo, .iconPalIndex = 2, + SHADOW(6, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Mewtwo) OVERWORLD( sPicTable_Mewtwo, @@ -17595,6 +18107,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMewtwoLevelUpLearnset, .teachableLearnset = sMewtwoTeachableLearnset, .formSpeciesIdTable = sMewtwoFormSpeciesIdTable, @@ -17649,10 +18162,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MewtwoMegaX, .iconSprite = gMonIcon_MewtwoMegaX, .iconPalIndex = 2, + SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Mewtwo) .isLegendary = TRUE, .isMegaEvolution = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMewtwoLevelUpLearnset, .teachableLearnset = sMewtwoTeachableLearnset, .formSpeciesIdTable = sMewtwoFormSpeciesIdTable, @@ -17707,10 +18222,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MewtwoMegaY, .iconSprite = gMonIcon_MewtwoMegaY, .iconPalIndex = 2, + SHADOW(0, 14, SHADOW_SIZE_S) FOOTPRINT(Mewtwo) .isLegendary = TRUE, .isMegaEvolution = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMewtwoLevelUpLearnset, .teachableLearnset = sMewtwoTeachableLearnset, .formSpeciesIdTable = sMewtwoFormSpeciesIdTable, @@ -17763,19 +18280,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Mew, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 9, .frontAnimFrames = sAnims_Mew, - .frontAnimId = ANIM_ZIGZAG_SLOW, - .enemyMonElevation = 11, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONVEX : ANIM_ZIGZAG_SLOW, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 11, .backPic = gMonBackPic_Mew, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 0, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Mew, .shinyPalette = gMonShinyPalette_Mew, .iconSprite = gMonIcon_Mew, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Mew) OVERWORLD( sPicTable_Mew, @@ -17787,6 +18305,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMewLevelUpLearnset, .teachableLearnset = sMewTeachableLearnset, }, diff --git a/src/data/pokemon/species_info/gen_2_families.h b/src/data/pokemon/species_info/gen_2_families.h index 530c92f411ad..b3bd0da95abc 100644 --- a/src/data/pokemon/species_info/gen_2_families.h +++ b/src/data/pokemon/species_info/gen_2_families.h @@ -39,18 +39,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Chikorita, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 10, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 10, .frontAnimFrames = sAnims_Chikorita, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Chikorita, - .backPicSize = MON_COORDS_SIZE(56, 48), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(56, 48), .backPicYOffset = 10, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Chikorita, .shinyPalette = gMonShinyPalette_Chikorita, .iconSprite = gMonIcon_Chikorita, .iconPalIndex = 1, + SHADOW(-1, 2, SHADOW_SIZE_S) FOOTPRINT(Chikorita) OVERWORLD( sPicTable_Chikorita, @@ -102,18 +103,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Bayleef, - .frontPicSize = MON_COORDS_SIZE(48, 64), - .frontPicYOffset = 3, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(48, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, .frontAnimFrames = sAnims_Bayleef, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Bayleef, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 5, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 5, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Bayleef, .shinyPalette = gMonShinyPalette_Bayleef, .iconSprite = gMonIcon_Bayleef, .iconPalIndex = 1, + SHADOW(-1, 10, SHADOW_SIZE_M) FOOTPRINT(Bayleef) OVERWORLD( sPicTable_Bayleef, @@ -170,22 +172,25 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 277, .trainerOffset = 1, .frontPic = gMonFrontPic_Meganium, - .frontPicFemale = gMonFrontPic_MeganiumF, - .frontPicSize = MON_COORDS_SIZE(48, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 64), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Meganium, - .frontAnimId = ANIM_GROW_VIBRATE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Meganium, - .backPicFemale = gMonBackPic_MeganiumF, .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicSizeFemale = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 2, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 2, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Meganium, .shinyPalette = gMonShinyPalette_Meganium, .iconSprite = gMonIcon_Meganium, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_MeganiumF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 64), + .backPicFemale = gMonBackPic_MeganiumF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Meganium) OVERWORLD( sPicTable_Meganium, @@ -195,6 +200,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Meganium, gShinyOverworldPalette_Meganium ) + OVERWORLD_FEMALE( + sPicTable_MeganiumF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sMeganiumLevelUpLearnset, .teachableLearnset = sMeganiumTeachableLearnset, }, @@ -236,18 +247,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Cyndaquil, - .frontPicSize = MON_COORDS_SIZE(48, 40), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 40), .frontPicYOffset = 14, .frontAnimFrames = sAnims_Cyndaquil, - .frontAnimId = ANIM_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_JUMPS_SMALL : ANIM_V_STRETCH, .backPic = gMonBackPic_Cyndaquil, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 3, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Cyndaquil, .shinyPalette = gMonShinyPalette_Cyndaquil, .iconSprite = gMonIcon_Cyndaquil, - .iconPalIndex = 3, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 3, + SHADOW(0, -1, SHADOW_SIZE_S) FOOTPRINT(Cyndaquil) OVERWORLD( sPicTable_Cyndaquil, @@ -299,18 +311,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Quilava, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 9, .frontAnimFrames = sAnims_Quilava, - .frontAnimId = ANIM_H_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_H_STRETCH, .backPic = gMonBackPic_Quilava, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 0, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Quilava, .shinyPalette = gMonShinyPalette_Quilava, .iconSprite = gMonIcon_Quilava, - .iconPalIndex = 3, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 3, + SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Quilava) OVERWORLD( sPicTable_Quilava, @@ -323,7 +336,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .levelUpLearnset = sQuilavaLevelUpLearnset, .teachableLearnset = sQuilavaTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_TYPHLOSION}, - {EVO_NONE, 0, SPECIES_TYPHLOSION_HISUIAN}), + {EVO_NONE, 0, SPECIES_TYPHLOSION_HISUI}), }, #if P_UPDATED_EXP_YIELDS >= GEN_8 @@ -375,13 +388,14 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontAnimId = ANIM_V_SHAKE, .frontAnimDelay = 20, .backPic = gMonBackPic_Typhlosion, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, .backAnimId = BACK_ANIM_SHAKE_GLOW_RED, .palette = gMonPalette_Typhlosion, .shinyPalette = gMonShinyPalette_Typhlosion, .iconSprite = gMonIcon_Typhlosion, - .iconPalIndex = 3, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 3, + SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(Typhlosion) OVERWORLD( sPicTable_Typhlosion, @@ -397,7 +411,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = }, #if P_HISUIAN_FORMS - [SPECIES_TYPHLOSION_HISUIAN] = + [SPECIES_TYPHLOSION_HISUI] = { .baseHP = 73, .baseAttack = 84, @@ -431,31 +445,32 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .pokemonOffset = 0, .trainerScale = 268, .trainerOffset = 1, - .frontPic = gMonFrontPic_TyphlosionHisuian, + .frontPic = gMonFrontPic_TyphlosionHisui, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_TyphlosionHisuian, + .frontAnimFrames = sAnims_TyphlosionHisui, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_TyphlosionHisuian, + .backPic = gMonBackPic_TyphlosionHisui, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 2, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_TyphlosionHisuian, - .shinyPalette = gMonShinyPalette_TyphlosionHisuian, - .iconSprite = gMonIcon_TyphlosionHisuian, + .palette = gMonPalette_TyphlosionHisui, + .shinyPalette = gMonShinyPalette_TyphlosionHisui, + .iconSprite = gMonIcon_TyphlosionHisui, .iconPalIndex = 1, + SHADOW(2, 14, SHADOW_SIZE_L) FOOTPRINT(Typhlosion) OVERWORLD( - sPicTable_TyphlosionHisuian, + sPicTable_TyphlosionHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_TyphlosionHisuian, - gShinyOverworldPalette_TyphlosionHisuian + gOverworldPalette_TyphlosionHisui, + gShinyOverworldPalette_TyphlosionHisui ) .isHisuianForm = TRUE, - .levelUpLearnset = sTyphlosionHisuianLevelUpLearnset, - .teachableLearnset = sTyphlosionHisuianTeachableLearnset, + .levelUpLearnset = sTyphlosionHisuiLevelUpLearnset, + .teachableLearnset = sTyphlosionHisuiTeachableLearnset, .formSpeciesIdTable = sTyphlosionFormSpeciesIdTable, }, #endif //P_HISUIAN_FORMS @@ -498,17 +513,18 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Totodile, .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 14, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 14, .frontAnimFrames = sAnims_Totodile, .frontAnimId = ANIM_H_JUMPS, .backPic = gMonBackPic_Totodile, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 10, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Totodile, .shinyPalette = gMonShinyPalette_Totodile, .iconSprite = gMonIcon_Totodile, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Totodile) OVERWORLD( sPicTable_Totodile, @@ -562,17 +578,18 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Croconaw, .frontPicSize = MON_COORDS_SIZE(48, 56), - .frontPicYOffset = 5, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 5, .frontAnimFrames = sAnims_Croconaw, .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Croconaw, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 2, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 2, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Croconaw, .shinyPalette = gMonShinyPalette_Croconaw, .iconSprite = gMonIcon_Croconaw, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(2, 8, SHADOW_SIZE_M) FOOTPRINT(Croconaw) OVERWORLD( sPicTable_Croconaw, @@ -630,18 +647,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 7, .frontPic = gMonFrontPic_Feraligatr, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 1, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 1, .frontAnimFrames = sAnims_Feraligatr, .frontAnimId = ANIM_H_SHAKE, .frontAnimDelay = 5, .backPic = gMonBackPic_Feraligatr, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 2, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 2, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Feraligatr, .shinyPalette = gMonShinyPalette_Feraligatr, .iconSprite = gMonIcon_Feraligatr, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(3, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Feraligatr) OVERWORLD( sPicTable_Feraligatr, @@ -692,18 +710,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Sentret, - .frontPicSize = MON_COORDS_SIZE(40, 64), - .frontPicYOffset = 2, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 56) : MON_COORDS_SIZE(40, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 2, .frontAnimFrames = sAnims_Sentret, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Sentret, - .backPicSize = MON_COORDS_SIZE(48, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(48, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 0, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Sentret, .shinyPalette = gMonShinyPalette_Sentret, .iconSprite = gMonIcon_Sentret, .iconPalIndex = 2, + SHADOW(0, 11, SHADOW_SIZE_S) FOOTPRINT(Sentret) OVERWORLD( sPicTable_Sentret, @@ -755,17 +774,18 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Furret, .frontPicSize = MON_COORDS_SIZE(48, 56), - .frontPicYOffset = 4, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 4, .frontAnimFrames = sAnims_Furret, .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Furret, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Furret, .shinyPalette = gMonShinyPalette_Furret, .iconSprite = gMonIcon_Furret, .iconPalIndex = 2, + SHADOW(-1, 9, SHADOW_SIZE_M) FOOTPRINT(Furret) OVERWORLD( sPicTable_Furret, @@ -817,17 +837,18 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Hoothoot, .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 12, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 12, .frontAnimFrames = sAnims_Hoothoot, .frontAnimId = ANIM_V_SLIDE_SLOW, .backPic = gMonBackPic_Hoothoot, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 4, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 4, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Hoothoot, .shinyPalette = gMonShinyPalette_Hoothoot, .iconSprite = gMonIcon_Hoothoot, .iconPalIndex = 2, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Hoothoot) OVERWORLD( sPicTable_Hoothoot, @@ -885,7 +906,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Noctowl, .frontPicSize = MON_COORDS_SIZE(40, 64), - .frontPicYOffset = 2, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 2, .frontAnimFrames = sAnims_Noctowl, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Noctowl, @@ -896,6 +917,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Noctowl, .iconSprite = gMonIcon_Noctowl, .iconPalIndex = 2, + SHADOW(-2, 10, SHADOW_SIZE_S) FOOTPRINT(Noctowl) OVERWORLD( sPicTable_Noctowl, @@ -946,22 +968,25 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Ledyba, - .frontPicFemale = gMonFrontPic_LedybaF, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 10, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, .frontAnimFrames = sAnims_Ledyba, .frontAnimId = ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Ledyba, - .backPicFemale = gMonBackPic_LedybaF, .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicSizeFemale = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 8, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 8, .backAnimId = BACK_ANIM_V_SHAKE_H_SLIDE, .palette = gMonPalette_Ledyba, .shinyPalette = gMonShinyPalette_Ledyba, .iconSprite = gMonIcon_Ledyba, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_LedybaF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 48), + .backPicFemale = gMonBackPic_LedybaF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(2, 4, SHADOW_SIZE_M) FOOTPRINT(Ledyba) OVERWORLD( sPicTable_Ledyba, @@ -971,6 +996,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Ledyba, gShinyOverworldPalette_Ledyba ) + OVERWORLD_FEMALE( + sPicTable_LedybaF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_BUG + ) .levelUpLearnset = sLedybaLevelUpLearnset, .teachableLearnset = sLedybaTeachableLearnset, .eggMoveLearnset = sLedybaEggMoveLearnset, @@ -1012,23 +1043,26 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Ledian, - .frontPicFemale = gMonFrontPic_LedianF, .frontPicSize = MON_COORDS_SIZE(48, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 56), - .frontPicYOffset = 6, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 6, .frontAnimFrames = sAnims_Ledian, - .frontAnimId = ANIM_V_SLIDE_WOBBLE, - .enemyMonElevation = 10, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SLIDE_SLOW : ANIM_V_SLIDE_WOBBLE, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 10, .backPic = gMonBackPic_Ledian, - .backPicFemale = gMonBackPic_LedianF, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 3, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Ledian, .shinyPalette = gMonShinyPalette_Ledian, .iconSprite = gMonIcon_Ledian, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_LedianF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 56), + .backPicFemale = gMonBackPic_LedianF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Ledian) OVERWORLD( sPicTable_Ledian, @@ -1038,6 +1072,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Ledian, gShinyOverworldPalette_Ledian ) + OVERWORLD_FEMALE( + sPicTable_LedianF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sLedianLevelUpLearnset, .teachableLearnset = sLedianTeachableLearnset, }, @@ -1079,18 +1119,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Spinarak, - .frontPicSize = MON_COORDS_SIZE(48, 32), - .frontPicYOffset = 16, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(48, 32), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 19 : 16, .frontAnimFrames = sAnims_Spinarak, .frontAnimId = ANIM_CIRCLE_C_CLOCKWISE_SLOW, .backPic = gMonBackPic_Spinarak, - .backPicSize = MON_COORDS_SIZE(64, 32), - .backPicYOffset = 16, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 24) : MON_COORDS_SIZE(64, 32), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 21 : 16, .backAnimId = BACK_ANIM_V_SHAKE_H_SLIDE, .palette = gMonPalette_Spinarak, .shinyPalette = gMonShinyPalette_Spinarak, .iconSprite = gMonIcon_Spinarak, .iconPalIndex = 1, + SHADOW(0, -8, SHADOW_SIZE_M) FOOTPRINT(Spinarak) OVERWORLD( sPicTable_Spinarak, @@ -1148,17 +1189,18 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Ariados, .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 7, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 7, .frontAnimFrames = sAnims_Ariados, .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Ariados, .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 9, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 9, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Ariados, .shinyPalette = gMonShinyPalette_Ariados, .iconSprite = gMonIcon_Ariados, .iconPalIndex = 0, + SHADOW(1, 3, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Ariados) OVERWORLD( sPicTable_Ariados, @@ -1210,18 +1252,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Chinchou, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 12, .frontAnimFrames = sAnims_Chinchou, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Chinchou, .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 11, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 11, .backAnimId = BACK_ANIM_V_STRETCH, .palette = gMonPalette_Chinchou, .shinyPalette = gMonShinyPalette_Chinchou, .iconSprite = gMonIcon_Chinchou, .iconPalIndex = 2, + SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Chinchou) OVERWORLD( sPicTable_Chinchou, @@ -1273,18 +1316,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Lanturn, - .frontPicSize = MON_COORDS_SIZE(64, 48), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = 11, .frontAnimFrames = sAnims_Lanturn, .frontAnimId = ANIM_V_SLIDE_WOBBLE_SMALL, .backPic = gMonBackPic_Lanturn, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .backAnimId = BACK_ANIM_SHAKE_FLASH_YELLOW, .palette = gMonPalette_Lanturn, .shinyPalette = gMonShinyPalette_Lanturn, .iconSprite = gMonIcon_Lanturn, .iconPalIndex = 0, + SHADOW(5, 4, SHADOW_SIZE_M) FOOTPRINT(Lanturn) OVERWORLD( sPicTable_Lanturn, @@ -1338,17 +1382,18 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Togepi, .frontPicSize = MON_COORDS_SIZE(24, 32), - .frontPicYOffset = 16, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 16, .frontAnimFrames = sAnims_Togepi, - .frontAnimId = ANIM_V_JUMPS_BIG, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONCAVE : ANIM_V_JUMPS_BIG, .backPic = gMonBackPic_Togepi, - .backPicSize = MON_COORDS_SIZE(48, 40), - .backPicYOffset = 12, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(48, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 12, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Togepi, .shinyPalette = gMonShinyPalette_Togepi, .iconSprite = gMonIcon_Togepi, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Togepi) OVERWORLD( sPicTable_Togepi, @@ -1400,17 +1445,18 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Togetic, .frontPicSize = MON_COORDS_SIZE(32, 48), - .frontPicYOffset = 8, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, .frontAnimFrames = sAnims_Togetic, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Togetic, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Togetic, .shinyPalette = gMonShinyPalette_Togetic, .iconSprite = gMonIcon_Togetic, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Togetic) OVERWORLD( sPicTable_Togetic, @@ -1482,6 +1528,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Togekiss, .iconSprite = gMonIcon_Togekiss, .iconPalIndex = 2, + SHADOW(4, 15, SHADOW_SIZE_M) FOOTPRINT(Togekiss) OVERWORLD( sPicTable_Togekiss, @@ -1534,18 +1581,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Natu, .frontPicSize = MON_COORDS_SIZE(32, 32), - .frontPicYOffset = 17, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 17, .frontAnimFrames = sAnims_Natu, .frontAnimId = ANIM_H_JUMPS, .frontAnimDelay = 30, .backPic = gMonBackPic_Natu, - .backPicSize = MON_COORDS_SIZE(40, 40), - .backPicYOffset = 15, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(40, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 17 : 15, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Natu, .shinyPalette = gMonShinyPalette_Natu, .iconSprite = gMonIcon_Natu, - .iconPalIndex = 1, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 1, + SHADOW(-2, -4, SHADOW_SIZE_S) FOOTPRINT(Natu) OVERWORLD( sPicTable_Natu, @@ -1597,20 +1645,23 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 318, .trainerOffset = 4, .frontPic = gMonFrontPic_Xatu, - .frontPicFemale = gMonFrontPic_XatuF, - .frontPicSize = MON_COORDS_SIZE(40, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(40, 56), - .frontPicYOffset = 5, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 56) : MON_COORDS_SIZE(40, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 5, .frontAnimFrames = sAnims_Xatu, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Xatu, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Xatu, .shinyPalette = gMonShinyPalette_Xatu, .iconSprite = gMonIcon_Xatu, - .iconPalIndex = 1, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 1, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_XatuF, + .frontPicSizeFemale = MON_COORDS_SIZE(40, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Xatu) OVERWORLD( sPicTable_Xatu, @@ -1620,6 +1671,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Xatu, gShinyOverworldPalette_Xatu ) + OVERWORLD_FEMALE( + sPicTable_XatuF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sXatuLevelUpLearnset, .teachableLearnset = sXatuTeachableLearnset, }, @@ -1661,19 +1718,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Mareep, - .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(40, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 12, .frontAnimFrames = sAnims_Mareep, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .frontAnimDelay = 50, .backPic = gMonBackPic_Mareep, - .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 15, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 15, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Mareep, .shinyPalette = gMonShinyPalette_Mareep, .iconSprite = gMonIcon_Mareep, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(1, 1, SHADOW_SIZE_M) FOOTPRINT(Mareep) OVERWORLD( sPicTable_Mareep, @@ -1724,18 +1782,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Flaaffy, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 9, .frontAnimFrames = sAnims_Flaaffy, - .frontAnimId = ANIM_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_JUMPS_BIG : ANIM_V_STRETCH, .backPic = gMonBackPic_Flaaffy, - .backPicSize = MON_COORDS_SIZE(48, 56), - .backPicYOffset = 7, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 7, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Flaaffy, .shinyPalette = gMonShinyPalette_Flaaffy, .iconSprite = gMonIcon_Flaaffy, .iconPalIndex = 0, + SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Flaaffy) OVERWORLD( sPicTable_Flaaffy, @@ -1795,19 +1854,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Ampharos, - .frontPicSize = MON_COORDS_SIZE(56, 64), - .frontPicYOffset = 2, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(56, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 2, .frontAnimFrames = sAnims_Ampharos, .frontAnimId = ANIM_FLASH_YELLOW, .frontAnimDelay = 10, .backPic = gMonBackPic_Ampharos, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 3, .backAnimId = BACK_ANIM_SHAKE_FLASH_YELLOW, .palette = gMonPalette_Ampharos, .shinyPalette = gMonShinyPalette_Ampharos, .iconSprite = gMonIcon_Ampharos, .iconPalIndex = 0, + SHADOW(3, 11, SHADOW_SIZE_M) FOOTPRINT(Ampharos) OVERWORLD( sPicTable_Ampharos, @@ -1871,6 +1931,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_AmpharosMega, .iconSprite = gMonIcon_AmpharosMega, .iconPalIndex = 0, + SHADOW(-7, 13, SHADOW_SIZE_M) FOOTPRINT(Ampharos) .isMegaEvolution = TRUE, .levelUpLearnset = sAmpharosLevelUpLearnset, @@ -1922,18 +1983,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Azurill, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 11, .frontAnimFrames = sAnims_Azurill, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Azurill, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 6, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Azurill, .shinyPalette = gMonShinyPalette_Azurill, .iconSprite = gMonIcon_Azurill, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(-4, 3, SHADOW_SIZE_S) FOOTPRINT(Azurill) OVERWORLD( sPicTable_Azurill, @@ -1989,18 +2051,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Marill, - .frontPicSize = MON_COORDS_SIZE(56, 40), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 40), .frontPicYOffset = 14, .frontAnimFrames = sAnims_Marill, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Marill, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(64, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 13, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Marill, .shinyPalette = gMonShinyPalette_Marill, .iconSprite = gMonIcon_Marill, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(-2, 0, SHADOW_SIZE_S) FOOTPRINT(Marill) OVERWORLD( sPicTable_Marill, @@ -2063,18 +2126,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Azumarill, - .frontPicSize = MON_COORDS_SIZE(56, 64), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 6, .frontAnimFrames = sAnims_Azumarill, - .frontAnimId = ANIM_SHRINK_GROW, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW : ANIM_SHRINK_GROW, .backPic = gMonBackPic_Azumarill, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 3, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Azumarill, .shinyPalette = gMonShinyPalette_Azumarill, .iconSprite = gMonIcon_Azumarill, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(-4, 8, SHADOW_SIZE_S) FOOTPRINT(Azumarill) OVERWORLD( sPicTable_Azumarill, @@ -2138,6 +2202,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Bonsly, .iconSprite = gMonIcon_Bonsly, .iconPalIndex = 1, + SHADOW(-3, 4, SHADOW_SIZE_S) FOOTPRINT(Bonsly) OVERWORLD( sPicTable_Bonsly, @@ -2189,22 +2254,25 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Sudowoodo, - .frontPicFemale = gMonFrontPic_SudowoodoF, .frontPicSize = MON_COORDS_SIZE(48, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 56), - .frontPicYOffset = 7, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 7, .frontAnimFrames = sAnims_Sudowoodo, .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Sudowoodo, - .backPicFemale = gMonBackPic_SudowoodoF, - .backPicSize = MON_COORDS_SIZE(48, 56), - .backPicSizeFemale = MON_COORDS_SIZE(48, 56), - .backPicYOffset = 5, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 5, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Sudowoodo, .shinyPalette = gMonShinyPalette_Sudowoodo, .iconSprite = gMonIcon_Sudowoodo, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_SudowoodoF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 56), + .backPicFemale = gMonBackPic_SudowoodoF, + .backPicSizeFemale = MON_COORDS_SIZE(48, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Sudowoodo) OVERWORLD( sPicTable_Sudowoodo, @@ -2214,6 +2282,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Sudowoodo, gShinyOverworldPalette_Sudowoodo ) + OVERWORLD_FEMALE( + sPicTable_SudowoodoF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sSudowoodoLevelUpLearnset, .teachableLearnset = sSudowoodoTeachableLearnset, .eggMoveLearnset = sSudowoodoEggMoveLearnset, @@ -2260,19 +2334,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Hoppip, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 14, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 14, .frontAnimFrames = sAnims_Hoppip, .frontAnimId = ANIM_V_SLIDE_WOBBLE, - .enemyMonElevation = 15, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 11 : 15, .backPic = gMonBackPic_Hoppip, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 8, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Hoppip, .shinyPalette = gMonShinyPalette_Hoppip, .iconSprite = gMonIcon_Hoppip, .iconPalIndex = 1, + SHADOW(-5, 12, SHADOW_SIZE_S) FOOTPRINT(Hoppip) OVERWORLD( sPicTable_Hoppip, @@ -2331,15 +2406,16 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPicYOffset = 15, .frontAnimFrames = sAnims_Skiploom, .frontAnimId = ANIM_RISING_WOBBLE, - .enemyMonElevation = 15, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 12 : 15, .backPic = gMonBackPic_Skiploom, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 4, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 4, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Skiploom, .shinyPalette = gMonShinyPalette_Skiploom, .iconSprite = gMonIcon_Skiploom, .iconPalIndex = 1, + SHADOW(-1, 10, SHADOW_SIZE_S) FOOTPRINT(Skiploom) OVERWORLD( sPicTable_Skiploom, @@ -2401,19 +2477,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Jumpluff, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 9, .frontAnimFrames = sAnims_Jumpluff, .frontAnimId = ANIM_V_SLIDE_WOBBLE_SMALL, .enemyMonElevation = 9, .backPic = gMonBackPic_Jumpluff, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Jumpluff, .shinyPalette = gMonShinyPalette_Jumpluff, .iconSprite = gMonIcon_Jumpluff, .iconPalIndex = 2, + SHADOW(-2, 11, SHADOW_SIZE_S) FOOTPRINT(Jumpluff) OVERWORLD( sPicTable_Jumpluff, @@ -2464,22 +2541,25 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Aipom, - .frontPicFemale = gMonFrontPic_AipomF, - .frontPicSize = MON_COORDS_SIZE(32, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(32, 64), - .frontPicYOffset = 1, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 64) : MON_COORDS_SIZE(32, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 1, .frontAnimFrames = sAnims_Aipom, .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Aipom, - .backPicFemale = gMonBackPic_AipomF, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 3, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Aipom, .shinyPalette = gMonShinyPalette_Aipom, .iconSprite = gMonIcon_Aipom, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_AipomF, + .frontPicSizeFemale = MON_COORDS_SIZE(32, 64), + .backPicFemale = gMonBackPic_AipomF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Aipom) OVERWORLD( sPicTable_Aipom, @@ -2489,6 +2569,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Aipom, gShinyOverworldPalette_Aipom ) + OVERWORLD_FEMALE( + sPicTable_AipomF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sAipomLevelUpLearnset, .teachableLearnset = sAipomTeachableLearnset, .eggMoveLearnset = sAipomEggMoveLearnset, @@ -2531,22 +2617,25 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Ambipom, - .frontPicFemale = gMonFrontPic_AmbipomF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, .frontAnimFrames = sAnims_Ambipom, .frontAnimId = ANIM_BACK_AND_LUNGE, .backPic = gMonBackPic_Ambipom, - .backPicFemale = gMonBackPic_AmbipomF, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), .backPicYOffset = 3, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Ambipom, .shinyPalette = gMonShinyPalette_Ambipom, .iconSprite = gMonIcon_Ambipom, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_AmbipomF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_AmbipomF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Ambipom) OVERWORLD( sPicTable_Ambipom, @@ -2556,6 +2645,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Ambipom, gShinyOverworldPalette_Ambipom ) + OVERWORLD_FEMALE( + sPicTable_AmbipomF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sAmbipomLevelUpLearnset, .teachableLearnset = sAmbipomTeachableLearnset, }, @@ -2602,18 +2697,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Sunkern, - .frontPicSize = MON_COORDS_SIZE(32, 40), - .frontPicYOffset = 17, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 32) : MON_COORDS_SIZE(32, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 17, .frontAnimFrames = sAnims_Sunkern, - .frontAnimId = ANIM_H_JUMPS, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_JUMPS_SMALL : ANIM_H_JUMPS, .backPic = gMonBackPic_Sunkern, - .backPicSize = MON_COORDS_SIZE(48, 48), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(48, 48), .backPicYOffset = 10, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Sunkern, .shinyPalette = gMonShinyPalette_Sunkern, .iconSprite = gMonIcon_Sunkern, .iconPalIndex = 1, + SHADOW(-1, -4, SHADOW_SIZE_S) FOOTPRINT(Sunkern) OVERWORLD( sPicTable_Sunkern, @@ -2673,13 +2769,14 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontAnimFrames = sAnims_Sunflora, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Sunflora, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 7, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Sunflora, .shinyPalette = gMonShinyPalette_Sunflora, .iconSprite = gMonIcon_Sunflora, .iconPalIndex = 1, + SHADOW(-1, 6, SHADOW_SIZE_S) FOOTPRINT(Sunflora) OVERWORLD( sPicTable_Sunflora, @@ -2731,19 +2828,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Yanma, - .frontPicSize = MON_COORDS_SIZE(64, 40), - .frontPicYOffset = 14, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 14, .frontAnimFrames = sAnims_Yanma, .frontAnimId = ANIM_FIGURE_8, - .enemyMonElevation = 13, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 13, .backPic = gMonBackPic_Yanma, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 0, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Yanma, .shinyPalette = gMonShinyPalette_Yanma, .iconSprite = gMonIcon_Yanma, .iconPalIndex = 1, + SHADOW(-2, 10, SHADOW_SIZE_S) FOOTPRINT(Yanma) OVERWORLD( sPicTable_Yanma, @@ -2809,6 +2907,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Yanmega, .iconSprite = gMonIcon_Yanmega, .iconPalIndex = 1, + SHADOW(-1, 12, SHADOW_SIZE_M) FOOTPRINT(Yanmega) OVERWORLD( sPicTable_Yanmega, @@ -2860,22 +2959,25 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Wooper, - .frontPicFemale = gMonFrontPic_WooperF, .frontPicSize = MON_COORDS_SIZE(40, 32), - .frontPicSizeFemale = MON_COORDS_SIZE(40, 32), .frontPicYOffset = 16, .frontAnimFrames = sAnims_Wooper, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Wooper, - .backPicFemale = gMonBackPic_WooperF, .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicSizeFemale = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 12, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 12, .backAnimId = BACK_ANIM_V_STRETCH, .palette = gMonPalette_Wooper, .shinyPalette = gMonShinyPalette_Wooper, .iconSprite = gMonIcon_Wooper, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_WooperF, + .frontPicSizeFemale = MON_COORDS_SIZE(40, 32), + .backPicFemale = gMonBackPic_WooperF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 40), +#endif //P_GENDER_DIFFERENCES + SHADOW(1, -2, SHADOW_SIZE_S) FOOTPRINT(Wooper) OVERWORLD( sPicTable_Wooper, @@ -2885,6 +2987,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Wooper, gShinyOverworldPalette_Wooper ) + OVERWORLD_FEMALE( + sPicTable_WooperF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sWooperLevelUpLearnset, .teachableLearnset = sWooperTeachableLearnset, .eggMoveLearnset = sWooperEggMoveLearnset, @@ -2927,22 +3035,25 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Quagsire, - .frontPicFemale = gMonFrontPic_QuagsireF, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 5, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 5, .frontAnimFrames = sAnims_Quagsire, .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_Quagsire, - .backPicFemale = gMonBackPic_QuagsireF, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 5, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 5, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Quagsire, .shinyPalette = gMonShinyPalette_Quagsire, .iconSprite = gMonIcon_Quagsire, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_QuagsireF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), + .backPicFemale = gMonBackPic_QuagsireF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(0, 8, SHADOW_SIZE_M) FOOTPRINT(Quagsire) OVERWORLD( sPicTable_Quagsire, @@ -2952,12 +3063,18 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Quagsire, gShinyOverworldPalette_Quagsire ) + OVERWORLD_FEMALE( + sPicTable_QuagsireF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sQuagsireLevelUpLearnset, .teachableLearnset = sQuagsireTeachableLearnset, }, #if P_PALDEAN_FORMS - [SPECIES_WOOPER_PALDEAN] = + [SPECIES_WOOPER_PALDEA] = { .baseHP = 55, .baseAttack = 45, @@ -2991,32 +3108,33 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .pokemonOffset = 21, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_WooperPaldean, + .frontPic = gMonFrontPic_WooperPaldea, .frontPicSize = MON_COORDS_SIZE(40, 32), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_WooperPaldean, + .frontAnimFrames = sAnims_WooperPaldea, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_WooperPaldean, + .backPic = gMonBackPic_WooperPaldea, .backPicSize = MON_COORDS_SIZE(64, 40), .backPicYOffset = 12, .backAnimId = BACK_ANIM_V_STRETCH, - .palette = gMonPalette_WooperPaldean, - .shinyPalette = gMonShinyPalette_WooperPaldean, - .iconSprite = gMonIcon_WooperPaldean, + .palette = gMonPalette_WooperPaldea, + .shinyPalette = gMonShinyPalette_WooperPaldea, + .iconSprite = gMonIcon_WooperPaldea, .iconPalIndex = 2, + SHADOW(-1, -2, SHADOW_SIZE_S) FOOTPRINT(Wooper) OVERWORLD( - sPicTable_WooperPaldean, + sPicTable_WooperPaldea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_WooperPaldean, - gShinyOverworldPalette_WooperPaldean + gOverworldPalette_WooperPaldea, + gShinyOverworldPalette_WooperPaldea ) .isPaldeanForm = TRUE, - .levelUpLearnset = sWooperPaldeanLevelUpLearnset, - .teachableLearnset = sWooperPaldeanTeachableLearnset, - .eggMoveLearnset = sWooperPaldeanEggMoveLearnset, + .levelUpLearnset = sWooperPaldeaLevelUpLearnset, + .teachableLearnset = sWooperPaldeaTeachableLearnset, + .eggMoveLearnset = sWooperPaldeaEggMoveLearnset, .formSpeciesIdTable = sWooperFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_CLODSIRE}), }, @@ -3068,6 +3186,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Clodsire, .iconSprite = gMonIcon_Clodsire, .iconPalIndex = 0, + SHADOW(-2, 3, SHADOW_SIZE_L) FOOTPRINT(Clodsire) OVERWORLD( sPicTable_Clodsire, @@ -3123,23 +3242,26 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 1, .frontPic = gMonFrontPic_Murkrow, - .frontPicFemale = gMonFrontPic_MurkrowF, - .frontPicSize = MON_COORDS_SIZE(48, 40), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 40), - .frontPicYOffset = 15, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 15, .frontAnimFrames = sAnims_Murkrow, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .enemyMonElevation = 12, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 0 : 12, .backPic = gMonBackPic_Murkrow, - .backPicFemale = gMonBackPic_MurkrowF, - .backPicSize = MON_COORDS_SIZE(40, 56), - .backPicSizeFemale = MON_COORDS_SIZE(40, 56), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(40, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 10, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Murkrow, .shinyPalette = gMonShinyPalette_Murkrow, .iconSprite = gMonIcon_Murkrow, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_MurkrowF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 40), + .backPicFemale = gMonBackPic_MurkrowF, + .backPicSizeFemale = MON_COORDS_SIZE(40, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(-2, 8, SHADOW_SIZE_S) FOOTPRINT(Murkrow) OVERWORLD( sPicTable_Murkrow, @@ -3149,6 +3271,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Murkrow, gShinyOverworldPalette_Murkrow ) + OVERWORLD_FEMALE( + sPicTable_MurkrowF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sMurkrowLevelUpLearnset, .teachableLearnset = sMurkrowTeachableLearnset, .eggMoveLearnset = sMurkrowEggMoveLearnset, @@ -3203,6 +3331,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Honchkrow, .iconSprite = gMonIcon_Honchkrow, .iconPalIndex = 2, + SHADOW(5, 7, SHADOW_SIZE_M) FOOTPRINT(Honchkrow) OVERWORLD( sPicTable_Honchkrow, @@ -3255,19 +3384,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Misdreavus, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 13, .frontAnimFrames = sAnims_Misdreavus, .frontAnimId = ANIM_V_SLIDE_WOBBLE, - .enemyMonElevation = 12, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 12, .backPic = gMonBackPic_Misdreavus, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 9, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Misdreavus, .shinyPalette = gMonShinyPalette_Misdreavus, .iconSprite = gMonIcon_Misdreavus, .iconPalIndex = 0, + SHADOW(0, 10, SHADOW_SIZE_S) FOOTPRINT(Misdreavus) OVERWORLD( sPicTable_Misdreavus, @@ -3333,6 +3463,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Mismagius, .iconSprite = gMonIcon_Mismagius, .iconPalIndex = 2, + SHADOW(1, 11, SHADOW_SIZE_M) FOOTPRINT(Mismagius) OVERWORLD( sPicTable_Mismagius, @@ -3395,8 +3526,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Unown, \ .iconSprite = gMonIcon_Unown ##letter, \ .iconPalIndex = 0, \ + SHADOW(0, 3, SHADOW_SIZE_S) \ FOOTPRINT(Unown) \ - OVERWORLD( \ + OVERWORLD( \ sPicTable_Unown ##letter, \ SIZE_32x32, \ SHADOW_SIZE_M, \ @@ -3410,34 +3542,34 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .formSpeciesIdTable = sUnownFormSpeciesIdTable, \ } - [SPECIES_UNOWN] = UNOWN_MISC_INFO(A, FALSE, 24, 40, 24, 48, 8 ), - [SPECIES_UNOWN_B] = UNOWN_MISC_INFO(B, TRUE, 24, 32, 40, 48, 9 ), - [SPECIES_UNOWN_C] = UNOWN_MISC_INFO(C, TRUE, 32, 32, 48, 56, 6 ), - [SPECIES_UNOWN_D] = UNOWN_MISC_INFO(D, TRUE, 32, 32, 40, 48, 8 ), - [SPECIES_UNOWN_E] = UNOWN_MISC_INFO(E, TRUE, 32, 32, 40, 48, 10 ), - [SPECIES_UNOWN_F] = UNOWN_MISC_INFO(F, TRUE, 32, 32, 48, 48, 10 ), - [SPECIES_UNOWN_G] = UNOWN_MISC_INFO(G, TRUE, 24, 40, 40, 56, 5 ), - [SPECIES_UNOWN_H] = UNOWN_MISC_INFO(H, TRUE, 32, 32, 48, 48, 8 ), - [SPECIES_UNOWN_I] = UNOWN_MISC_INFO(I, FALSE, 24, 32, 24, 56, 7 ), - [SPECIES_UNOWN_J] = UNOWN_MISC_INFO(J, TRUE, 24, 32, 32, 48, 9 ), - [SPECIES_UNOWN_K] = UNOWN_MISC_INFO(K, TRUE, 32, 32, 40, 56, 7 ), - [SPECIES_UNOWN_L] = UNOWN_MISC_INFO(L, TRUE, 24, 32, 32, 48, 10 ), - [SPECIES_UNOWN_M] = UNOWN_MISC_INFO(M, FALSE, 32, 32, 48, 40, 13 ), - [SPECIES_UNOWN_N] = UNOWN_MISC_INFO(N, TRUE, 32, 24, 48, 40, 13 ), - [SPECIES_UNOWN_O] = UNOWN_MISC_INFO(O, FALSE, 32, 32, 48, 48, 8 ), - [SPECIES_UNOWN_P] = UNOWN_MISC_INFO(P, TRUE, 24, 32, 32, 48, 10 ), - [SPECIES_UNOWN_Q] = UNOWN_MISC_INFO(Q, TRUE, 32, 24, 40, 40, 15 ), - [SPECIES_UNOWN_R] = UNOWN_MISC_INFO(R, TRUE, 24, 32, 32, 40, 12 ), - [SPECIES_UNOWN_S] = UNOWN_MISC_INFO(S, TRUE, 32, 40, 40, 56, 4 ), - [SPECIES_UNOWN_T] = UNOWN_MISC_INFO(T, FALSE, 24, 32, 32, 40, 13 ), - [SPECIES_UNOWN_U] = UNOWN_MISC_INFO(U, FALSE, 32, 32, 48, 40, 13 ), - [SPECIES_UNOWN_V] = UNOWN_MISC_INFO(V, TRUE, 32, 32, 40, 48, 11 ), - [SPECIES_UNOWN_W] = UNOWN_MISC_INFO(W, FALSE, 32, 32, 40, 40, 13 ), - [SPECIES_UNOWN_X] = UNOWN_MISC_INFO(X, FALSE, 24, 24, 40, 40, 15 ), - [SPECIES_UNOWN_Y] = UNOWN_MISC_INFO(Y, FALSE, 24, 32, 32, 48, 10 ), - [SPECIES_UNOWN_Z] = UNOWN_MISC_INFO(Z, TRUE, 24, 32, 32, 48, 10 ), - [SPECIES_UNOWN_EMARK] = UNOWN_MISC_INFO(ExclamationMark, FALSE, 24, 40, 24, 56, 6 ), - [SPECIES_UNOWN_QMARK] = UNOWN_MISC_INFO(QuestionMark, TRUE, 24, 40, 32, 56, 6 ), + [SPECIES_UNOWN] = UNOWN_MISC_INFO(A, FALSE, 24, 40, 24, 48, 8 ), + [SPECIES_UNOWN_B] = UNOWN_MISC_INFO(B, TRUE, 24, 32, 40, 48, 9 ), + [SPECIES_UNOWN_C] = UNOWN_MISC_INFO(C, TRUE, 32, 32, 48, 56, 6 ), + [SPECIES_UNOWN_D] = UNOWN_MISC_INFO(D, TRUE, 32, 32, 40, 48, 8 ), + [SPECIES_UNOWN_E] = UNOWN_MISC_INFO(E, TRUE, 32, 32, 40, 48, 10 ), + [SPECIES_UNOWN_F] = UNOWN_MISC_INFO(F, TRUE, 32, 32, 48, 48, 10 ), + [SPECIES_UNOWN_G] = UNOWN_MISC_INFO(G, TRUE, 24, 40, 40, 56, 5 ), + [SPECIES_UNOWN_H] = UNOWN_MISC_INFO(H, TRUE, 32, 32, 48, 48, 8 ), + [SPECIES_UNOWN_I] = UNOWN_MISC_INFO(I, FALSE, 24, 32, 24, 56, 7 ), + [SPECIES_UNOWN_J] = UNOWN_MISC_INFO(J, TRUE, 24, 32, 32, 48, 9 ), + [SPECIES_UNOWN_K] = UNOWN_MISC_INFO(K, TRUE, 32, 32, 40, 56, 7 ), + [SPECIES_UNOWN_L] = UNOWN_MISC_INFO(L, TRUE, 24, 32, 32, 48, 10 ), + [SPECIES_UNOWN_M] = UNOWN_MISC_INFO(M, FALSE, 32, 32, 48, 40, 13 ), + [SPECIES_UNOWN_N] = UNOWN_MISC_INFO(N, TRUE, 32, 24, 48, 40, 13 ), + [SPECIES_UNOWN_O] = UNOWN_MISC_INFO(O, FALSE, 32, 32, 48, 48, 8 ), + [SPECIES_UNOWN_P] = UNOWN_MISC_INFO(P, TRUE, 24, 32, 32, 48, 10 ), + [SPECIES_UNOWN_Q] = UNOWN_MISC_INFO(Q, TRUE, 32, 24, 40, 40, 15 ), + [SPECIES_UNOWN_R] = UNOWN_MISC_INFO(R, TRUE, 24, 32, 32, 40, 12 ), + [SPECIES_UNOWN_S] = UNOWN_MISC_INFO(S, TRUE, 32, 40, 40, 56, 4 ), + [SPECIES_UNOWN_T] = UNOWN_MISC_INFO(T, FALSE, 24, 32, 32, 40, 13 ), + [SPECIES_UNOWN_U] = UNOWN_MISC_INFO(U, FALSE, 32, 32, 48, 40, 13 ), + [SPECIES_UNOWN_V] = UNOWN_MISC_INFO(V, TRUE, 32, 32, 40, 48, 11 ), + [SPECIES_UNOWN_W] = UNOWN_MISC_INFO(W, FALSE, 32, 32, 40, 40, 13 ), + [SPECIES_UNOWN_X] = UNOWN_MISC_INFO(X, FALSE, 24, 24, 40, 40, 15 ), + [SPECIES_UNOWN_Y] = UNOWN_MISC_INFO(Y, FALSE, 24, 32, 32, 48, 10 ), + [SPECIES_UNOWN_Z] = UNOWN_MISC_INFO(Z, TRUE, 24, 32, 32, 48, 10 ), + [SPECIES_UNOWN_EXCLAMATION] = UNOWN_MISC_INFO(Exclamation, FALSE, 24, 40, 24, 56, 6 ), + [SPECIES_UNOWN_QUESTION] = UNOWN_MISC_INFO(Question, TRUE, 24, 40, 32, 56, 6 ), #endif //P_FAMILY_UNOWN #if P_FAMILY_WOBBUFFET @@ -3477,19 +3609,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Wynaut, - .frontPicSize = MON_COORDS_SIZE(48, 40), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 40), .frontPicYOffset = 12, .frontAnimFrames = sAnims_Wynaut, .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .frontAnimDelay = 15, .backPic = gMonBackPic_Wynaut, - .backPicSize = MON_COORDS_SIZE(48, 48), - .backPicYOffset = 11, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(48, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 11, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Wynaut, .shinyPalette = gMonShinyPalette_Wynaut, .iconSprite = gMonIcon_Wynaut, .iconPalIndex = 0, + SHADOW(-1, 2, SHADOW_SIZE_S) FOOTPRINT(Wynaut) OVERWORLD( sPicTable_Wynaut, @@ -3541,26 +3674,29 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Wobbuffet, - .frontPicFemale = gMonFrontPic_WobbuffetF, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 5, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 5, .frontAnimFrames = sAnims_Wobbuffet, - .frontAnimId = ANIM_GROW_VIBRATE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_DEEP_V_SQUISH_AND_BOUNCE : ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Wobbuffet, - .backPicFemale = gMonBackPic_WobbuffetF, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicSizeFemale = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, .backAnimId = BACK_ANIM_V_STRETCH, .palette = gMonPalette_Wobbuffet, .shinyPalette = gMonShinyPalette_Wobbuffet, .iconSprite = gMonIcon_Wobbuffet, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_WobbuffetF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), + .backPicFemale = gMonBackPic_WobbuffetF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 56), #if P_CUSTOM_GENDER_DIFF_ICONS == TRUE .iconSpriteFemale = gMonIcon_WobbuffetF, .iconPalIndexFemale = 0, #endif +#endif //P_GENDER_DIFFERENCES + SHADOW(-3, 8, SHADOW_SIZE_M) FOOTPRINT(Wobbuffet) OVERWORLD( sPicTable_Wobbuffet, @@ -3570,6 +3706,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Wobbuffet, gShinyOverworldPalette_Wobbuffet ) + OVERWORLD_FEMALE( + sPicTable_WobbuffetF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .tmIlliterate = TRUE, .levelUpLearnset = sWobbuffetLevelUpLearnset, .teachableLearnset = sWobbuffetTeachableLearnset, @@ -3612,22 +3754,25 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Girafarig, - .frontPicFemale = gMonFrontPic_GirafarigF, - .frontPicSize = MON_COORDS_SIZE(56, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 64), - .frontPicYOffset = 0, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(56, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 0, .frontAnimFrames = sAnims_Girafarig, - .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_JUMPS_BIG : ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Girafarig, - .backPicFemale = gMonBackPic_GirafarigF, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 1, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 1, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Girafarig, .shinyPalette = gMonShinyPalette_Girafarig, .iconSprite = gMonIcon_Girafarig, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_GirafarigF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 64), + .backPicFemale = gMonBackPic_GirafarigF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(2, 13, SHADOW_SIZE_M) FOOTPRINT(Girafarig) OVERWORLD( sPicTable_Girafarig, @@ -3637,6 +3782,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Girafarig, gShinyOverworldPalette_Girafarig ) + OVERWORLD_FEMALE( + sPicTable_GirafarigF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sGirafarigLevelUpLearnset, .teachableLearnset = sGirafarigTeachableLearnset, .eggMoveLearnset = sGirafarigEggMoveLearnset, @@ -3691,6 +3842,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Farigiraf, .iconSprite = gMonIcon_Farigiraf, .iconPalIndex = 0, + SHADOW(11, 13, SHADOW_SIZE_L) FOOTPRINT(Farigiraf) OVERWORLD( sPicTable_Farigiraf, @@ -3742,18 +3894,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Pineco, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 12, .frontAnimFrames = sAnims_Pineco, .frontAnimId = ANIM_SWING_CONCAVE, .backPic = gMonBackPic_Pineco, - .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 13, .backAnimId = BACK_ANIM_H_SHAKE, .palette = gMonPalette_Pineco, .shinyPalette = gMonShinyPalette_Pineco, .iconSprite = gMonIcon_Pineco, .iconPalIndex = 0, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Pineco) OVERWORLD( sPicTable_Pineco, @@ -3804,8 +3957,8 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Forretress, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 8, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, .frontAnimFrames = sAnims_Forretress, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Forretress, @@ -3816,6 +3969,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Forretress, .iconSprite = gMonIcon_Forretress, .iconPalIndex = 2, + SHADOW(0, 6, SHADOW_SIZE_L) FOOTPRINT(Forretress) OVERWORLD( sPicTable_Forretress, @@ -3872,19 +4026,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Dunsparce, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 32) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 17 : 9, .frontAnimFrames = sAnims_Dunsparce, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .frontAnimDelay = 10, .backPic = gMonBackPic_Dunsparce, - .backPicSize = MON_COORDS_SIZE(56, 32), - .backPicYOffset = 17, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(56, 32), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 17, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Dunsparce, .shinyPalette = gMonShinyPalette_Dunsparce, .iconSprite = gMonIcon_Dunsparce, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Dunsparce) OVERWORLD( sPicTable_Dunsparce, @@ -3921,7 +4076,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SERENE_GRACE, ABILITY_RUN_AWAY, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_YELLOW, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Dudunsprce", "Dudunsparce"), + .speciesName = _("Dudunsparce"), .cryId = CRY_DUDUNSPARCE, .natDexNum = NATIONAL_DEX_DUDUNSPARCE, .categoryName = _("Land Snake"), @@ -3949,6 +4104,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Dudunsparce, .iconSprite = gMonIcon_Dudunsparce, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_L) FOOTPRINT(Dudunsparce) OVERWORLD( sPicTable_DudunsparceTwoSegment, @@ -3982,7 +4138,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SERENE_GRACE, ABILITY_RUN_AWAY, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_YELLOW, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Dudunsprce", "Dudunsparce"), + .speciesName = _("Dudunsparce"), .cryId = CRY_DUDUNSPARCE, .natDexNum = NATIONAL_DEX_DUDUNSPARCE, .categoryName = _("Land Snake"), @@ -4010,6 +4166,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Dudunsparce, .iconSprite = gMonIcon_Dudunsparce, .iconPalIndex = 0, + SHADOW(4, 4, SHADOW_SIZE_L) FOOTPRINT(Dudunsparce) OVERWORLD( sPicTable_DudunsparceThreeSegment, @@ -4062,23 +4219,26 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Gligar, - .frontPicFemale = gMonFrontPic_GligarF, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 4, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(56, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 4, .frontAnimFrames = sAnims_Gligar, .frontAnimId = ANIM_SHRINK_GROW, - .enemyMonElevation = 8, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 6 : 8, .backPic = gMonBackPic_Gligar, - .backPicFemale = gMonBackPic_GligarF, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 2, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 2, .backAnimId = BACK_ANIM_SHRINK_GROW, .palette = gMonPalette_Gligar, .shinyPalette = gMonShinyPalette_Gligar, .iconSprite = gMonIcon_Gligar, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_GligarF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), + .backPicFemale = gMonBackPic_GligarF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Gligar) OVERWORLD( sPicTable_Gligar, @@ -4088,6 +4248,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Gligar, gShinyOverworldPalette_Gligar ) + OVERWORLD_FEMALE( + sPicTable_GligarF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_NONE + ) .levelUpLearnset = sGligarLevelUpLearnset, .teachableLearnset = sGligarTeachableLearnset, .eggMoveLearnset = sGligarEggMoveLearnset, @@ -4144,6 +4310,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Gliscor, .iconSprite = gMonIcon_Gliscor, .iconPalIndex = 2, + SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Gliscor) OVERWORLD( sPicTable_Gliscor, @@ -4200,17 +4367,18 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Snubbull, .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 12, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 12, .frontAnimFrames = sAnims_Snubbull, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Snubbull, - .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 12, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 12, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Snubbull, .shinyPalette = gMonShinyPalette_Snubbull, .iconSprite = gMonIcon_Snubbull, .iconPalIndex = 0, + SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Snubbull) OVERWORLD( sPicTable_Snubbull, @@ -4269,18 +4437,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Granbull, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 4, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 56) : MON_COORDS_SIZE(56, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 4, .frontAnimFrames = sAnims_Granbull, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Granbull, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 8, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Granbull, .shinyPalette = gMonShinyPalette_Granbull, .iconSprite = gMonIcon_Granbull, .iconPalIndex = 2, + SHADOW(3, 10, SHADOW_SIZE_L) FOOTPRINT(Granbull) OVERWORLD( sPicTable_Granbull, @@ -4342,18 +4511,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Qwilfish, .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 8, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 8, .frontAnimFrames = sAnims_Qwilfish, .frontAnimId = ANIM_GROW_IN_STAGES, .frontAnimDelay = 39, .backPic = gMonBackPic_Qwilfish, .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 6, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 6, .backAnimId = BACK_ANIM_GROW_STUTTER, .palette = gMonPalette_Qwilfish, .shinyPalette = gMonShinyPalette_Qwilfish, .iconSprite = gMonIcon_Qwilfish, .iconPalIndex = 0, + SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Qwilfish) OVERWORLD( sPicTable_Qwilfish, @@ -4370,7 +4540,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = }, #if P_HISUIAN_FORMS - [SPECIES_QWILFISH_HISUIAN] = + [SPECIES_QWILFISH_HISUI] = { .baseHP = 65, .baseAttack = 95, @@ -4405,32 +4575,33 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .pokemonOffset = 0, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_QwilfishHisuian, + .frontPic = gMonFrontPic_QwilfishHisui, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 16, - .frontAnimFrames = sAnims_QwilfishHisuian, + .frontAnimFrames = sAnims_QwilfishHisui, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 9, - .backPic = gMonBackPic_QwilfishHisuian, + .backPic = gMonBackPic_QwilfishHisui, .backPicSize = MON_COORDS_SIZE(56, 56), .backPicYOffset = 8, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_QwilfishHisuian, - .shinyPalette = gMonShinyPalette_QwilfishHisuian, - .iconSprite = gMonIcon_QwilfishHisuian, + .palette = gMonPalette_QwilfishHisui, + .shinyPalette = gMonShinyPalette_QwilfishHisui, + .iconSprite = gMonIcon_QwilfishHisui, .iconPalIndex = 1, + SHADOW(-5, 4, SHADOW_SIZE_S) FOOTPRINT(Qwilfish) OVERWORLD( - sPicTable_QwilfishHisuian, + sPicTable_QwilfishHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_QwilfishHisuian, - gShinyOverworldPalette_QwilfishHisuian + gOverworldPalette_QwilfishHisui, + gShinyOverworldPalette_QwilfishHisui ) .isHisuianForm = TRUE, - .levelUpLearnset = sQwilfishHisuianLevelUpLearnset, - .teachableLearnset = sQwilfishHisuianTeachableLearnset, + .levelUpLearnset = sQwilfishHisuiLevelUpLearnset, + .teachableLearnset = sQwilfishHisuiTeachableLearnset, .formSpeciesIdTable = sQwilfishFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_MOVE, MOVE_BARB_BARRAGE, SPECIES_OVERQWIL}), }, @@ -4482,6 +4653,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Overqwil, .iconSprite = gMonIcon_Overqwil, .iconPalIndex = 2, + SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Overqwil) OVERWORLD( sPicTable_Overqwil, @@ -4540,18 +4712,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Shuckle, - .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 8, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, .frontAnimFrames = sAnims_Shuckle, .frontAnimId = ANIM_SWING_CONCAVE, .backPic = gMonBackPic_Shuckle, - .backPicSize = MON_COORDS_SIZE(48, 48), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(48, 48), .backPicYOffset = 11, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Shuckle, .shinyPalette = gMonShinyPalette_Shuckle, .iconSprite = gMonIcon_Shuckle, .iconPalIndex = 1, + SHADOW(1, 3, SHADOW_SIZE_M) FOOTPRINT(Shuckle) OVERWORLD( sPicTable_Shuckle, @@ -4603,22 +4776,25 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Heracross, - .frontPicFemale = gMonFrontPic_HeracrossF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 1, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 1, .frontAnimFrames = sAnims_Heracross, - .frontAnimId = ANIM_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_LUNGE_GROW : ANIM_V_STRETCH, .backPic = gMonBackPic_Heracross, - .backPicFemale = gMonBackPic_HeracrossF, - .backPicSize = MON_COORDS_SIZE(48, 64), - .backPicSizeFemale = MON_COORDS_SIZE(48, 64), - .backPicYOffset = 2, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(48, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 2, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Heracross, .shinyPalette = gMonShinyPalette_Heracross, .iconSprite = gMonIcon_Heracross, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_HeracrossF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_HeracrossF, + .backPicSizeFemale = MON_COORDS_SIZE(48, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 10, SHADOW_SIZE_M) FOOTPRINT(Heracross) OVERWORLD( sPicTable_Heracross, @@ -4628,6 +4804,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Heracross, gShinyOverworldPalette_Heracross ) + OVERWORLD_FEMALE( + sPicTable_HeracrossF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sHeracrossLevelUpLearnset, .teachableLearnset = sHeracrossTeachableLearnset, .eggMoveLearnset = sHeracrossEggMoveLearnset, @@ -4683,6 +4865,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_HeracrossMega, .iconSprite = gMonIcon_HeracrossMega, .iconPalIndex = 0, + SHADOW(2, 13, SHADOW_SIZE_M) FOOTPRINT(Heracross) .isMegaEvolution = TRUE, .levelUpLearnset = sHeracrossLevelUpLearnset, @@ -4732,22 +4915,25 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Sneasel, - .frontPicFemale = gMonFrontPic_SneaselF, - .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 8, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(56, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 8, .frontAnimFrames = sAnims_Sneasel, - .frontAnimId = ANIM_H_JUMPS, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_STRETCH : ANIM_H_JUMPS, .backPic = gMonBackPic_Sneasel, - .backPicFemale = gMonBackPic_SneaselF, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 3, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Sneasel, .shinyPalette = gMonShinyPalette_Sneasel, .iconSprite = gMonIcon_Sneasel, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_SneaselF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 48), + .backPicFemale = gMonBackPic_SneaselF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Sneasel) OVERWORLD( sPicTable_Sneasel, @@ -4757,6 +4943,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Sneasel, gShinyOverworldPalette_Sneasel ) + OVERWORLD_FEMALE( + sPicTable_SneaselF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sSneaselLevelUpLearnset, .teachableLearnset = sSneaselTeachableLearnset, .eggMoveLearnset = sSneaselEggMoveLearnset, @@ -4803,22 +4995,25 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Weavile, - .frontPicFemale = gMonFrontPic_WeavileF, .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 4, .frontAnimFrames = sAnims_Weavile, .frontAnimId = ANIM_H_VIBRATE, .backPic = gMonBackPic_Weavile, - .backPicFemale = gMonBackPic_WeavileF, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), .backPicYOffset = 6, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Weavile, .shinyPalette = gMonShinyPalette_Weavile, .iconSprite = gMonIcon_Weavile, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_WeavileF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), + .backPicFemale = gMonBackPic_WeavileF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-4, 10, SHADOW_SIZE_M) FOOTPRINT(Weavile) OVERWORLD( sPicTable_Weavile, @@ -4828,13 +5023,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Weavile, gShinyOverworldPalette_Weavile ) + OVERWORLD_FEMALE( + sPicTable_WeavileF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sWeavileLevelUpLearnset, .teachableLearnset = sWeavileTeachableLearnset, }, #endif //P_GEN_4_CROSS_EVOS #if P_HISUIAN_FORMS - [SPECIES_SNEASEL_HISUIAN] = + [SPECIES_SNEASEL_HISUI] = { .baseHP = 55, .baseAttack = 95, @@ -4870,35 +5071,44 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .pokemonOffset = -3, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_SneaselHisuian, - .frontPicFemale = gMonFrontPic_SneaselHisuianF, + .frontPic = gMonFrontPic_SneaselHisui, .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_SneaselHisuian, + .frontAnimFrames = sAnims_SneaselHisui, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_SneaselHisuian, - .backPicFemale = gMonBackPic_SneaselHisuianF, + .backPic = gMonBackPic_SneaselHisui, .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicSizeFemale = MON_COORDS_SIZE(56, 64), .backPicYOffset = 3, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_SneaselHisuian, - .shinyPalette = gMonShinyPalette_SneaselHisuian, - .iconSprite = gMonIcon_SneaselHisuian, + .palette = gMonPalette_SneaselHisui, + .shinyPalette = gMonShinyPalette_SneaselHisui, + .iconSprite = gMonIcon_SneaselHisui, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_SneaselHisuiF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), + .backPicFemale = gMonBackPic_SneaselHisuiF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Sneasel) OVERWORLD( - sPicTable_SneaselHisuian, + sPicTable_SneaselHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_SneaselHisuian, - gShinyOverworldPalette_SneaselHisuian + gOverworldPalette_SneaselHisui, + gShinyOverworldPalette_SneaselHisui + ) + OVERWORLD_FEMALE( + sPicTable_SneaselHisuiF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT ) .isHisuianForm = TRUE, - .levelUpLearnset = sSneaselHisuianLevelUpLearnset, - .teachableLearnset = sSneaselHisuianTeachableLearnset, + .levelUpLearnset = sSneaselHisuiLevelUpLearnset, + .teachableLearnset = sSneaselHisuiTeachableLearnset, .formSpeciesIdTable = sSneaselFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_ITEM_HOLD_DAY, ITEM_RAZOR_CLAW, SPECIES_SNEASLER}, {EVO_ITEM_DAY, ITEM_RAZOR_CLAW, SPECIES_SNEASLER}), @@ -4951,6 +5161,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Sneasler, .iconSprite = gMonIcon_Sneasler, .iconPalIndex = 2, + SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Sneasler) OVERWORLD( sPicTable_Sneasler, @@ -5008,18 +5219,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Teddiursa, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 12, .frontAnimFrames = sAnims_Teddiursa, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Teddiursa, .backPicSize = MON_COORDS_SIZE(48, 48), - .backPicYOffset = 10, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 10, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Teddiursa, .shinyPalette = gMonShinyPalette_Teddiursa, .iconSprite = gMonIcon_Teddiursa, .iconPalIndex = 0, + SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Teddiursa) OVERWORLD( sPicTable_Teddiursa, @@ -5074,22 +5286,25 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Ursaring, - .frontPicFemale = gMonFrontPic_UrsaringF, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, .frontAnimFrames = sAnims_Ursaring, - .frontAnimId = ANIM_H_SHAKE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SHAKE : ANIM_H_SHAKE, .backPic = gMonBackPic_Ursaring, - .backPicFemale = gMonBackPic_UrsaringF, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicSizeFemale = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 2, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 2, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Ursaring, .shinyPalette = gMonShinyPalette_Ursaring, .iconSprite = gMonIcon_Ursaring, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_UrsaringF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_UrsaringF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(1, 14, SHADOW_SIZE_L) FOOTPRINT(Ursaring) OVERWORLD( sPicTable_Ursaring, @@ -5099,6 +5314,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Ursaring, gShinyOverworldPalette_Ursaring ) + OVERWORLD_FEMALE( + sPicTable_UrsaringF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sUrsaringLevelUpLearnset, .teachableLearnset = sUrsaringTeachableLearnset, .evolutions = EVOLUTION({EVO_ITEM_NIGHT, ITEM_PEAT_BLOCK, SPECIES_URSALUNA}, @@ -5152,6 +5373,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Ursaluna, .iconSprite = gMonIcon_Ursaluna, .iconPalIndex = 2, + SHADOW(1, 4, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Ursaluna) OVERWORLD( sPicTable_Ursaluna, @@ -5213,6 +5435,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_UrsalunaBloodmoon, .iconSprite = gMonIcon_UrsalunaBloodmoon, .iconPalIndex = 2, + SHADOW(6, 11, SHADOW_SIZE_L) FOOTPRINT(Ursaluna) .levelUpLearnset = sUrsalunaBloodmoonLevelUpLearnset, .teachableLearnset = sUrsalunaBloodmoonTeachableLearnset, @@ -5257,18 +5480,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Slugma, - .frontPicSize = MON_COORDS_SIZE(32, 48), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(32, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 12, .frontAnimFrames = sAnims_Slugma, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Slugma, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .backAnimId = BACK_ANIM_SHAKE_GLOW_RED, .palette = gMonPalette_Slugma, .shinyPalette = gMonShinyPalette_Slugma, .iconSprite = gMonIcon_Slugma, .iconPalIndex = 0, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Slugma) OVERWORLD( sPicTable_Slugma, @@ -5326,18 +5550,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Magcargo, - .frontPicSize = MON_COORDS_SIZE(56, 64), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 56) : MON_COORDS_SIZE(56, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 6, .frontAnimFrames = sAnims_Magcargo, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Magcargo, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 7, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 7, .backAnimId = BACK_ANIM_SHAKE_GLOW_RED, .palette = gMonPalette_Magcargo, .shinyPalette = gMonShinyPalette_Magcargo, .iconSprite = gMonIcon_Magcargo, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Magcargo) OVERWORLD( sPicTable_Magcargo, @@ -5392,18 +5617,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Swinub, - .frontPicSize = MON_COORDS_SIZE(40, 32), - .frontPicYOffset = 18, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 24) : MON_COORDS_SIZE(40, 32), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 18, .frontAnimFrames = sAnims_Swinub, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Swinub, - .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 15, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 24) : MON_COORDS_SIZE(56, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 21 : 15, .backAnimId = BACK_ANIM_V_SHAKE_H_SLIDE, .palette = gMonPalette_Swinub, .shinyPalette = gMonShinyPalette_Swinub, .iconSprite = gMonIcon_Swinub, .iconPalIndex = 2, + SHADOW(-3, -6, SHADOW_SIZE_S) FOOTPRINT(Swinub) OVERWORLD( sPicTable_Swinub, @@ -5459,22 +5685,25 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Piloswine, - .frontPicFemale = gMonFrontPic_PiloswineF, - .frontPicSize = MON_COORDS_SIZE(48, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 56), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), .frontPicYOffset = 8, .frontAnimFrames = sAnims_Piloswine, .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Piloswine, - .backPicFemale = gMonBackPic_PiloswineF, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicSizeFemale = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 8, .backAnimId = BACK_ANIM_H_SHAKE, .palette = gMonPalette_Piloswine, .shinyPalette = gMonShinyPalette_Piloswine, .iconSprite = gMonIcon_Piloswine, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_PiloswineF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 56), + .backPicFemale = gMonBackPic_PiloswineF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 3, SHADOW_SIZE_M) FOOTPRINT(Piloswine) OVERWORLD( sPicTable_Piloswine, @@ -5484,6 +5713,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Piloswine, gShinyOverworldPalette_Piloswine ) + OVERWORLD_FEMALE( + sPicTable_PiloswineF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sPiloswineLevelUpLearnset, .teachableLearnset = sPiloswineTeachableLearnset, .evolutions = EVOLUTION({EVO_MOVE, MOVE_ANCIENT_POWER, SPECIES_MAMOSWINE}), @@ -5531,9 +5766,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 423, .trainerOffset = 8, .frontPic = gMonFrontPic_Mamoswine, - .frontPicFemale = gMonFrontPic_MamoswineF, .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), .frontPicYOffset = 4, .frontAnimFrames = sAnims_Mamoswine, .frontAnimId = ANIM_BACK_AND_LUNGE, @@ -5545,6 +5778,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Mamoswine, .iconSprite = gMonIcon_Mamoswine, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_MamoswineF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(7, 7, SHADOW_SIZE_L) FOOTPRINT(Mamoswine) OVERWORLD( sPicTable_Mamoswine, @@ -5554,6 +5792,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Mamoswine, gShinyOverworldPalette_Mamoswine ) + OVERWORLD_FEMALE( + sPicTable_MamoswineF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sMamoswineLevelUpLearnset, .teachableLearnset = sMamoswineTeachableLearnset, }, @@ -5613,13 +5857,14 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontAnimFrames = sAnims_Corsola, .frontAnimId = ANIM_H_SLIDE, .backPic = gMonBackPic_Corsola, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 8, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Corsola, .shinyPalette = gMonShinyPalette_Corsola, .iconSprite = gMonIcon_Corsola, .iconPalIndex = 0, + SHADOW(0, 1, SHADOW_SIZE_M) FOOTPRINT(Corsola) OVERWORLD( sPicTable_Corsola, @@ -5636,7 +5881,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = }, #if P_GALARIAN_FORMS - [SPECIES_CORSOLA_GALARIAN] = + [SPECIES_CORSOLA_GALAR] = { .baseHP = CORSOLA_HP - 5, .baseAttack = 55, @@ -5670,32 +5915,33 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .pokemonOffset = 15, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_CorsolaGalarian, + .frontPic = gMonFrontPic_CorsolaGalar, .frontPicSize = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, - .frontAnimFrames = sAnims_CorsolaGalarian, + .frontAnimFrames = sAnims_CorsolaGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_CorsolaGalarian, + .backPic = gMonBackPic_CorsolaGalar, .backPicSize = MON_COORDS_SIZE(56, 48), .backPicYOffset = 8, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_CorsolaGalarian, - .shinyPalette = gMonShinyPalette_CorsolaGalarian, - .iconSprite = gMonIcon_CorsolaGalarian, + .palette = gMonPalette_CorsolaGalar, + .shinyPalette = gMonShinyPalette_CorsolaGalar, + .iconSprite = gMonIcon_CorsolaGalar, .iconPalIndex = 0, + SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Corsola) OVERWORLD( - sPicTable_CorsolaGalarian, + sPicTable_CorsolaGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_CorsolaGalarian, - gShinyOverworldPalette_CorsolaGalarian + gOverworldPalette_CorsolaGalar, + gShinyOverworldPalette_CorsolaGalar ) .isGalarianForm = TRUE, - .levelUpLearnset = sCorsolaGalarianLevelUpLearnset, - .teachableLearnset = sCorsolaGalarianTeachableLearnset, - .eggMoveLearnset = sCorsolaGalarianEggMoveLearnset, + .levelUpLearnset = sCorsolaGalarLevelUpLearnset, + .teachableLearnset = sCorsolaGalarTeachableLearnset, + .eggMoveLearnset = sCorsolaGalarEggMoveLearnset, .formSpeciesIdTable = sCorsolaFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_CURSOLA}), }, @@ -5747,6 +5993,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Cursola, .iconSprite = gMonIcon_Cursola, .iconPalIndex = 0, + SHADOW(-3, 13, SHADOW_SIZE_S) FOOTPRINT(Cursola) OVERWORLD( sPicTable_Cursola, @@ -5802,18 +6049,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Remoraid, - .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(40, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 11, .frontAnimFrames = sAnims_Remoraid, - .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_JUMPS_SMALL : ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Remoraid, .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 12, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 12, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Remoraid, .shinyPalette = gMonShinyPalette_Remoraid, .iconSprite = gMonIcon_Remoraid, .iconPalIndex = 0, + SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Remoraid) OVERWORLD( sPicTable_Remoraid, @@ -5869,23 +6117,26 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Octillery, - .frontPicFemale = gMonFrontPic_OctilleryF, - .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 8, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 8, .frontAnimFrames = sAnims_Octillery, .frontAnimId = ANIM_V_STRETCH, .frontAnimDelay = 20, .backPic = gMonBackPic_Octillery, - .backPicFemale = gMonBackPic_OctilleryF, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 8, .backAnimId = BACK_ANIM_SHRINK_GROW, .palette = gMonPalette_Octillery, .shinyPalette = gMonShinyPalette_Octillery, .iconSprite = gMonIcon_Octillery, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_OctilleryF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 48), + .backPicFemale = gMonBackPic_OctilleryF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(1, 4, SHADOW_SIZE_M) FOOTPRINT(Octillery) OVERWORLD( sPicTable_Octillery, @@ -5895,6 +6146,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Octillery, gShinyOverworldPalette_Octillery ) + OVERWORLD_FEMALE( + sPicTable_OctilleryF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_SLITHER + ) .levelUpLearnset = sOctilleryLevelUpLearnset, .teachableLearnset = sOctilleryTeachableLearnset, }, @@ -5936,18 +6193,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Delibird, - .frontPicSize = MON_COORDS_SIZE(48, 56), - .frontPicYOffset = 7, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(48, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, .frontAnimFrames = sAnims_Delibird, - .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_JUMPS_SMALL : ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Delibird, - .backPicSize = MON_COORDS_SIZE(56, 56), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(56, 56), .backPicYOffset = 6, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Delibird, .shinyPalette = gMonShinyPalette_Delibird, .iconSprite = gMonIcon_Delibird, - .iconPalIndex = 1, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 1, + SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Delibird) OVERWORLD( sPicTable_Delibird, @@ -6012,6 +6270,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Mantyke, .iconSprite = gMonIcon_Mantyke, .iconPalIndex = 0, + SHADOW(-1, 3, SHADOW_SIZE_S) FOOTPRINT(Mantyke) OVERWORLD( sPicTable_Mantyke, @@ -6069,19 +6328,20 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 342, .trainerOffset = 7, .frontPic = gMonFrontPic_Mantine, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 9, .frontAnimFrames = sAnims_Mantine, .frontAnimId = ANIM_SWING_CONVEX, - .enemyMonElevation = 6, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 0 : 6, .backPic = gMonBackPic_Mantine, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 2, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 2, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Mantine, .shinyPalette = gMonShinyPalette_Mantine, .iconSprite = gMonIcon_Mantine, .iconPalIndex = 2, + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Mantine) OVERWORLD( sPicTable_Mantine, @@ -6135,17 +6395,18 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 1, .frontPic = gMonFrontPic_Skarmory, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 1, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 1, .frontAnimFrames = sAnims_Skarmory, - .frontAnimId = ANIM_V_SHAKE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_STRETCH : ANIM_V_SHAKE, .backPic = gMonBackPic_Skarmory, - .backPicSize = MON_COORDS_SIZE(48, 64), - .backPicYOffset = 1, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(48, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 1, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Skarmory, .shinyPalette = gMonShinyPalette_Skarmory, .iconSprite = gMonIcon_Skarmory, .iconPalIndex = 0, + SHADOW(2, 9, SHADOW_SIZE_M) FOOTPRINT(Skarmory) OVERWORLD( sPicTable_Skarmory, @@ -6198,17 +6459,18 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Houndour, .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 9, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 9, .frontAnimFrames = sAnims_Houndour, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Houndour, - .backPicSize = MON_COORDS_SIZE(40, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(40, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Houndour, .shinyPalette = gMonShinyPalette_Houndour, .iconSprite = gMonIcon_Houndour, .iconPalIndex = 0, + SHADOW(0, 4, SHADOW_SIZE_M) FOOTPRINT(Houndour) OVERWORLD( sPicTable_Houndour, @@ -6259,22 +6521,25 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Houndoom, - .frontPicFemale = gMonFrontPic_HoundoomF, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 0, .frontAnimFrames = sAnims_Houndoom, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Houndoom, - .backPicFemale = gMonBackPic_HoundoomF, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 6, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Houndoom, .shinyPalette = gMonShinyPalette_Houndoom, .iconSprite = gMonIcon_Houndoom, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_HoundoomF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_HoundoomF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(-5, 13, SHADOW_SIZE_L) FOOTPRINT(Houndoom) OVERWORLD( sPicTable_Houndoom, @@ -6284,6 +6549,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Houndoom, gShinyOverworldPalette_Houndoom ) + OVERWORLD_FEMALE( + sPicTable_HoundoomF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sHoundoomLevelUpLearnset, .teachableLearnset = sHoundoomTeachableLearnset, .formSpeciesIdTable = sHoundoomFormSpeciesIdTable, @@ -6337,6 +6608,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_HoundoomMega, .iconSprite = gMonIcon_HoundoomMega, .iconPalIndex = 0, + SHADOW(-5, 13, SHADOW_SIZE_L) FOOTPRINT(Houndoom) .isMegaEvolution = TRUE, .levelUpLearnset = sHoundoomLevelUpLearnset, @@ -6388,13 +6660,14 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontAnimFrames = sAnims_Phanpy, .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Phanpy, - .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 12, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(56, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 12, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Phanpy, .shinyPalette = gMonShinyPalette_Phanpy, .iconSprite = gMonIcon_Phanpy, .iconPalIndex = 0, + SHADOW(3, -2, SHADOW_SIZE_M) FOOTPRINT(Phanpy) OVERWORLD( sPicTable_Phanpy, @@ -6446,22 +6719,25 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Donphan, - .frontPicFemale = gMonFrontPic_DonphanF, .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 9, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 9, .frontAnimFrames = sAnims_Donphan, - .frontAnimId = ANIM_ROTATE_UP_SLAM_DOWN, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SHAKE_TWICE : ANIM_ROTATE_UP_SLAM_DOWN, .backPic = gMonBackPic_Donphan, - .backPicFemale = gMonBackPic_DonphanF, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicSizeFemale = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 9, .backAnimId = BACK_ANIM_V_SHAKE_LOW, .palette = gMonPalette_Donphan, .shinyPalette = gMonShinyPalette_Donphan, .iconSprite = gMonIcon_Donphan, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_DonphanF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 48), + .backPicFemale = gMonBackPic_DonphanF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(7, 2, SHADOW_SIZE_L) FOOTPRINT(Donphan) OVERWORLD( sPicTable_Donphan, @@ -6471,6 +6747,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Donphan, gShinyOverworldPalette_Donphan ) + OVERWORLD_FEMALE( + sPicTable_DonphanF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sDonphanLevelUpLearnset, .teachableLearnset = sDonphanTeachableLearnset, }, @@ -6516,18 +6798,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Stantler, - .frontPicSize = MON_COORDS_SIZE(48, 64), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(48, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Stantler, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Stantler, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 1, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 1, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Stantler, .shinyPalette = gMonShinyPalette_Stantler, .iconSprite = gMonIcon_Stantler, .iconPalIndex = 2, + SHADOW(3, 13, SHADOW_SIZE_M) FOOTPRINT(Stantler) OVERWORLD( sPicTable_Stantler, @@ -6592,6 +6875,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Wyrdeer, .iconSprite = gMonIcon_Wyrdeer, .iconPalIndex = 2, + SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Wyrdeer) OVERWORLD( sPicTable_Wyrdeer, @@ -6647,18 +6931,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Smeargle, - .frontPicSize = MON_COORDS_SIZE(64, 56), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = 6, .frontAnimFrames = sAnims_Smeargle, - .frontAnimId = ANIM_H_JUMPS_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_JUMPS : ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Smeargle, .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 9, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 9, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Smeargle, .shinyPalette = gMonShinyPalette_Smeargle, .iconSprite = gMonIcon_Smeargle, .iconPalIndex = 1, + SHADOW(6, 7, SHADOW_SIZE_S) FOOTPRINT(Smeargle) OVERWORLD( sPicTable_Smeargle, @@ -6716,18 +7001,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Miltank, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 8, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 8, .frontAnimFrames = sAnims_Miltank, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Miltank, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 6, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Miltank, .shinyPalette = gMonShinyPalette_Miltank, .iconSprite = gMonIcon_Miltank, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 0, + SHADOW(-3, 4, SHADOW_SIZE_M) FOOTPRINT(Miltank) OVERWORLD( sPicTable_Miltank, @@ -6790,18 +7076,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 345, .trainerOffset = 7, .frontPic = gMonFrontPic_Raikou, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 5, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 5, .frontAnimFrames = sAnims_Raikou, - .frontAnimId = ANIM_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_FLASH_YELLOW : ANIM_V_STRETCH, .backPic = gMonBackPic_Raikou, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 6, .backAnimId = BACK_ANIM_SHAKE_FLASH_YELLOW, .palette = gMonPalette_Raikou, .shinyPalette = gMonShinyPalette_Raikou, .iconSprite = gMonIcon_Raikou, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 2, + SHADOW(-4, 7, SHADOW_SIZE_L) FOOTPRINT(Raikou) OVERWORLD( sPicTable_Raikou, @@ -6812,6 +7099,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Raikou ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sRaikouLevelUpLearnset, .teachableLearnset = sRaikouTeachableLearnset, }, @@ -6865,17 +7153,18 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 7, .frontPic = gMonFrontPic_Entei, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 2, .frontAnimFrames = sAnims_Entei, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Entei, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 11, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 11, .backAnimId = BACK_ANIM_SHAKE_GLOW_RED, .palette = gMonPalette_Entei, .shinyPalette = gMonShinyPalette_Entei, .iconSprite = gMonIcon_Entei, .iconPalIndex = 2, + SHADOW(-1, 8, SHADOW_SIZE_L) FOOTPRINT(Entei) OVERWORLD( sPicTable_Entei, @@ -6886,6 +7175,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Entei ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sEnteiLevelUpLearnset, .teachableLearnset = sEnteiTeachableLearnset, }, @@ -6939,7 +7229,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 7, .frontPic = gMonFrontPic_Suicune, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 3, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 3, .frontAnimFrames = sAnims_Suicune, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Suicune, @@ -6949,7 +7239,8 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .palette = gMonPalette_Suicune, .shinyPalette = gMonShinyPalette_Suicune, .iconSprite = gMonIcon_Suicune, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 2, + SHADOW(3, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Suicune) OVERWORLD( sPicTable_Suicune, @@ -6960,6 +7251,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Suicune ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sSuicuneLevelUpLearnset, .teachableLearnset = sSuicuneTeachableLearnset, }, @@ -7001,18 +7293,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Larvitar, - .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 10, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(40, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 10, .frontAnimFrames = sAnims_Larvitar, .frontAnimId = ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Larvitar, - .backPicSize = MON_COORDS_SIZE(56, 64), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 64), .backPicYOffset = 8, .backAnimId = BACK_ANIM_V_SHAKE_LOW, .palette = gMonPalette_Larvitar, .shinyPalette = gMonShinyPalette_Larvitar, .iconSprite = gMonIcon_Larvitar, .iconPalIndex = 1, + SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Larvitar) OVERWORLD( sPicTable_Larvitar, @@ -7064,17 +7357,18 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Pupitar, .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 11, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 11, .frontAnimFrames = sAnims_Pupitar, - .frontAnimId = ANIM_H_SHAKE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SHAKE : ANIM_H_SHAKE, .backPic = gMonBackPic_Pupitar, .backPicSize = MON_COORDS_SIZE(48, 56), - .backPicYOffset = 9, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 9, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Pupitar, .shinyPalette = gMonShinyPalette_Pupitar, .iconSprite = gMonIcon_Pupitar, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 2, + SHADOW(3, 3, SHADOW_SIZE_S) FOOTPRINT(Pupitar) OVERWORLD( sPicTable_Pupitar, @@ -7133,16 +7427,17 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Tyranitar, - .frontAnimId = ANIM_V_SHAKE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_SHAKE : ANIM_V_SHAKE, .frontAnimDelay = 10, .backPic = gMonBackPic_Tyranitar, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 1, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 1, .backAnimId = BACK_ANIM_V_SHAKE_LOW, .palette = gMonPalette_Tyranitar, .shinyPalette = gMonShinyPalette_Tyranitar, .iconSprite = gMonIcon_Tyranitar, - .iconPalIndex = 4, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 4, + SHADOW(-1, 11, SHADOW_SIZE_L) FOOTPRINT(Tyranitar) OVERWORLD( sPicTable_Tyranitar, @@ -7206,6 +7501,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_TyranitarMega, .iconSprite = gMonIcon_TyranitarMega, .iconPalIndex = 1, + SHADOW(-1, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Tyranitar) .isMegaEvolution = TRUE, .levelUpLearnset = sTyranitarLevelUpLearnset, @@ -7266,12 +7562,13 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .enemyMonElevation = 6, .backPic = gMonBackPic_Lugia, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, .backAnimId = BACK_ANIM_SHAKE_GLOW_BLUE, .palette = gMonPalette_Lugia, .shinyPalette = gMonShinyPalette_Lugia, .iconSprite = gMonIcon_Lugia, .iconPalIndex = 0, + SHADOW(2, 17, SHADOW_SIZE_L) FOOTPRINT(Lugia) OVERWORLD( sPicTable_Lugia, @@ -7283,6 +7580,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sLugiaLevelUpLearnset, .teachableLearnset = sLugiaTeachableLearnset, }, @@ -7339,12 +7637,13 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .enemyMonElevation = 6, .backPic = gMonBackPic_HoOh, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 2, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 2, .backAnimId = BACK_ANIM_SHAKE_GLOW_RED, .palette = gMonPalette_HoOh, .shinyPalette = gMonShinyPalette_HoOh, .iconSprite = gMonIcon_HoOh, .iconPalIndex = 1, + SHADOW(1, 17, SHADOW_SIZE_L) FOOTPRINT(HoOh) OVERWORLD( sPicTable_HoOh, @@ -7356,6 +7655,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sHoOhLevelUpLearnset, .teachableLearnset = sHoOhTeachableLearnset, }, @@ -7406,18 +7706,19 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Celebi, .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 12, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 12, .frontAnimFrames = sAnims_Celebi, - .frontAnimId = ANIM_H_SLIDE_WOBBLE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_RISING_WOBBLE : ANIM_H_SLIDE_WOBBLE, .enemyMonElevation = 15, .backPic = gMonBackPic_Celebi, - .backPicSize = MON_COORDS_SIZE(48, 56), - .backPicYOffset = 7, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, .backAnimId = BACK_ANIM_SHAKE_GLOW_GREEN, .palette = gMonPalette_Celebi, .shinyPalette = gMonShinyPalette_Celebi, .iconSprite = gMonIcon_Celebi, .iconPalIndex = 1, + SHADOW(0, 14, SHADOW_SIZE_S) FOOTPRINT(Celebi) OVERWORLD( sPicTable_Celebi, @@ -7429,6 +7730,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sCelebiLevelUpLearnset, .teachableLearnset = sCelebiTeachableLearnset, }, diff --git a/src/data/pokemon/species_info/gen_3_families.h b/src/data/pokemon/species_info/gen_3_families.h index d0bc37e5fc69..af1b4476d8f2 100644 --- a/src/data/pokemon/species_info/gen_3_families.h +++ b/src/data/pokemon/species_info/gen_3_families.h @@ -44,13 +44,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontAnimFrames = sAnims_Treecko, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Treecko, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 8, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Treecko, .shinyPalette = gMonShinyPalette_Treecko, .iconSprite = gMonIcon_Treecko, .iconPalIndex = 1, + SHADOW(-3, 4, SHADOW_SIZE_S) FOOTPRINT(Treecko) OVERWORLD( sPicTable_Treecko, @@ -102,17 +103,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Grovyle, .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 5, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 5, .frontAnimFrames = sAnims_Grovyle, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Grovyle, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 7, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Grovyle, .shinyPalette = gMonShinyPalette_Grovyle, .iconSprite = gMonIcon_Grovyle, - .iconPalIndex = 1, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 1, + SHADOW(1, 7, SHADOW_SIZE_M) FOOTPRINT(Grovyle) OVERWORLD( sPicTable_Grovyle, @@ -174,12 +176,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Sceptile, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 6, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 6, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Sceptile, .shinyPalette = gMonShinyPalette_Sceptile, .iconSprite = gMonIcon_Sceptile, .iconPalIndex = 1, + SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Sceptile) OVERWORLD( sPicTable_Sceptile, @@ -243,6 +246,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_SceptileMega, .iconSprite = gMonIcon_SceptileMega, .iconPalIndex = 1, + SHADOW(3, 11, SHADOW_SIZE_L) FOOTPRINT(Sceptile) .isMegaEvolution = TRUE, .levelUpLearnset = sSceptileLevelUpLearnset, @@ -289,20 +293,23 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Torchic, - .frontPicSize = MON_COORDS_SIZE(32, 48), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(32, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 12, .frontAnimFrames = sAnims_Torchic, - .frontAnimId = ANIM_V_JUMPS_SMALL, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_STRETCH : ANIM_V_JUMPS_SMALL, .backPic = gMonBackPic_Torchic, - .backPicFemale = gMonBackPic_TorchicF, - .backPicSize = MON_COORDS_SIZE(40, 48), - .backPicSizeFemale = MON_COORDS_SIZE(40, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(40, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 10, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Torchic, .shinyPalette = gMonShinyPalette_Torchic, .iconSprite = gMonIcon_Torchic, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .backPicFemale = gMonBackPic_TorchicF, + .backPicSizeFemale = MON_COORDS_SIZE(40, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Torchic) OVERWORLD( sPicTable_Torchic, @@ -312,6 +319,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Torchic, gShinyOverworldPalette_Torchic ) + OVERWORLD_FEMALE( + sPicTable_TorchicF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sTorchicLevelUpLearnset, .teachableLearnset = sTorchicTeachableLearnset, .eggMoveLearnset = sTorchicEggMoveLearnset, @@ -354,22 +367,25 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Combusken, - .frontPicFemale = gMonFrontPic_CombuskenF, - .frontPicSize = MON_COORDS_SIZE(48, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 64), - .frontPicYOffset = 3, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(48, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 3, .frontAnimFrames = sAnims_Combusken, .frontAnimId = ANIM_V_JUMPS_H_JUMPS, .backPic = gMonBackPic_Combusken, - .backPicFemale = gMonBackPic_CombuskenF, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 1, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 1, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Combusken, .shinyPalette = gMonShinyPalette_Combusken, .iconSprite = gMonIcon_Combusken, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_CombuskenF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 64), + .backPicFemale = gMonBackPic_CombuskenF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Combusken) OVERWORLD( sPicTable_Combusken, @@ -379,6 +395,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Combusken, gShinyOverworldPalette_Combusken ) + OVERWORLD_FEMALE( + sPicTable_CombuskenF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sCombuskenLevelUpLearnset, .teachableLearnset = sCombuskenTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_BLAZIKEN}), @@ -425,22 +447,25 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 301, .trainerOffset = 4, .frontPic = gMonFrontPic_Blaziken, - .frontPicFemale = gMonFrontPic_BlazikenF, - .frontPicSize = MON_COORDS_SIZE(56, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 64), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Blaziken, .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Blaziken, - .backPicFemale = gMonBackPic_BlazikenF, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), .backPicYOffset = 0, .backAnimId = BACK_ANIM_SHAKE_GLOW_RED, .palette = gMonPalette_Blaziken, .shinyPalette = gMonShinyPalette_Blaziken, .iconSprite = gMonIcon_Blaziken, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_BlazikenF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 64), + .backPicFemale = gMonBackPic_BlazikenF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(4, 8, SHADOW_SIZE_M) FOOTPRINT(Blaziken) OVERWORLD( sPicTable_Blaziken, @@ -450,6 +475,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Blaziken, gShinyOverworldPalette_Blaziken ) + OVERWORLD_FEMALE( + sPicTable_BlazikenF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sBlazikenLevelUpLearnset, .teachableLearnset = sBlazikenTeachableLearnset, .formSpeciesIdTable = sBlazikenFormSpeciesIdTable, @@ -504,6 +535,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_BlazikenMega, .iconSprite = gMonIcon_BlazikenMega, .iconPalIndex = 0, + SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Blaziken) .isMegaEvolution = TRUE, .levelUpLearnset = sBlazikenLevelUpLearnset, @@ -550,18 +582,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Mudkip, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 13, .frontAnimFrames = sAnims_Mudkip, .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Mudkip, - .backPicSize = MON_COORDS_SIZE(48, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(48, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 10, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Mudkip, .shinyPalette = gMonShinyPalette_Mudkip, .iconSprite = gMonIcon_Mudkip, .iconPalIndex = 0, + SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Mudkip) OVERWORLD( sPicTable_Mudkip, @@ -613,17 +646,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Marshtomp, .frontPicSize = MON_COORDS_SIZE(48, 56), - .frontPicYOffset = 7, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 7, .frontAnimFrames = sAnims_Marshtomp, - .frontAnimId = ANIM_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SLIDE : ANIM_V_STRETCH, .backPic = gMonBackPic_Marshtomp, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Marshtomp, .shinyPalette = gMonShinyPalette_Marshtomp, .iconSprite = gMonIcon_Marshtomp, .iconPalIndex = 0, + SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Marshtomp) OVERWORLD( sPicTable_Marshtomp, @@ -679,18 +713,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Swampert, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 6, .frontAnimFrames = sAnims_Swampert, - .frontAnimId = ANIM_H_SHAKE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_JUMPS_BIG : ANIM_H_SHAKE, .backPic = gMonBackPic_Swampert, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 6, .backAnimId = BACK_ANIM_SHAKE_GLOW_BLUE, .palette = gMonPalette_Swampert, .shinyPalette = gMonShinyPalette_Swampert, .iconSprite = gMonIcon_Swampert, .iconPalIndex = 0, + SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Swampert) OVERWORLD( sPicTable_Swampert, @@ -754,6 +789,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_SwampertMega, .iconSprite = gMonIcon_SwampertMega, .iconPalIndex = 0, + SHADOW(6, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Swampert) .isMegaEvolution = TRUE, .levelUpLearnset = sSwampertLevelUpLearnset, @@ -810,18 +846,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Poochyena, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 11, .frontAnimFrames = sAnims_Poochyena, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Poochyena, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 11, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 11, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Poochyena, .shinyPalette = gMonShinyPalette_Poochyena, .iconSprite = gMonIcon_Poochyena, .iconPalIndex = 2, + SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Poochyena) OVERWORLD( sPicTable_Poochyena, @@ -876,18 +913,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Mightyena, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 3, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, .frontAnimFrames = sAnims_Mightyena, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Mightyena, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, .backAnimId = BACK_ANIM_H_SHAKE, .palette = gMonPalette_Mightyena, .shinyPalette = gMonShinyPalette_Mightyena, .iconSprite = gMonIcon_Mightyena, .iconPalIndex = 2, + SHADOW(-2, 6, SHADOW_SIZE_L) FOOTPRINT(Mightyena) OVERWORLD( sPicTable_Mightyena, @@ -952,18 +990,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Zigzagoon, - .frontPicSize = MON_COORDS_SIZE(56, 40), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(56, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 12, .frontAnimFrames = sAnims_Zigzagoon, .frontAnimId = ANIM_H_SLIDE, .backPic = gMonBackPic_Zigzagoon, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 6, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Zigzagoon, .shinyPalette = gMonShinyPalette_Zigzagoon, .iconSprite = gMonIcon_Zigzagoon, .iconPalIndex = 2, + SHADOW(-4, 0, SHADOW_SIZE_M) FOOTPRINT(Zigzagoon) OVERWORLD( sPicTable_Zigzagoon, @@ -1021,18 +1060,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Linoone, - .frontPicSize = MON_COORDS_SIZE(64, 40), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 13, .frontAnimFrames = sAnims_Linoone, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Linoone, - .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 12, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(56, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 12, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Linoone, .shinyPalette = gMonShinyPalette_Linoone, .iconSprite = gMonIcon_Linoone, .iconPalIndex = 2, + SHADOW(-6, 0, SHADOW_SIZE_L) FOOTPRINT(Linoone) OVERWORLD( sPicTable_Linoone, @@ -1048,7 +1088,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = }, #if P_GALARIAN_FORMS - [SPECIES_ZIGZAGOON_GALARIAN] = + [SPECIES_ZIGZAGOON_GALAR] = { .baseHP = 38, .baseAttack = 30, @@ -1082,37 +1122,38 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .pokemonOffset = 22, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_ZigzagoonGalarian, + .frontPic = gMonFrontPic_ZigzagoonGalar, .frontPicSize = MON_COORDS_SIZE(56, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_ZigzagoonGalarian, + .frontAnimFrames = sAnims_ZigzagoonGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_ZigzagoonGalarian, + .backPic = gMonBackPic_ZigzagoonGalar, .backPicSize = MON_COORDS_SIZE(56, 48), .backPicYOffset = 12, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_ZigzagoonGalarian, - .shinyPalette = gMonShinyPalette_ZigzagoonGalarian, - .iconSprite = gMonIcon_ZigzagoonGalarian, + .palette = gMonPalette_ZigzagoonGalar, + .shinyPalette = gMonShinyPalette_ZigzagoonGalar, + .iconSprite = gMonIcon_ZigzagoonGalar, .iconPalIndex = 0, + SHADOW(-5, 0, SHADOW_SIZE_M) FOOTPRINT(Zigzagoon) OVERWORLD( - sPicTable_ZigzagoonGalarian, + sPicTable_ZigzagoonGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_ZigzagoonGalarian, - gShinyOverworldPalette_ZigzagoonGalarian + gOverworldPalette_ZigzagoonGalar, + gShinyOverworldPalette_ZigzagoonGalar ) .isGalarianForm = TRUE, - .levelUpLearnset = sZigzagoonGalarianLevelUpLearnset, - .teachableLearnset = sZigzagoonGalarianTeachableLearnset, - .eggMoveLearnset = sZigzagoonGalarianEggMoveLearnset, + .levelUpLearnset = sZigzagoonGalarLevelUpLearnset, + .teachableLearnset = sZigzagoonGalarTeachableLearnset, + .eggMoveLearnset = sZigzagoonGalarEggMoveLearnset, .formSpeciesIdTable = sZigzagoonFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_LINOONE_GALARIAN}), + .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_LINOONE_GALAR}), }, - [SPECIES_LINOONE_GALARIAN] = + [SPECIES_LINOONE_GALAR] = { .baseHP = 78, .baseAttack = 70, @@ -1146,31 +1187,32 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .pokemonOffset = 7, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_LinooneGalarian, + .frontPic = gMonFrontPic_LinooneGalar, .frontPicSize = MON_COORDS_SIZE(64, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_LinooneGalarian, + .frontAnimFrames = sAnims_LinooneGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_LinooneGalarian, + .backPic = gMonBackPic_LinooneGalar, .backPicSize = MON_COORDS_SIZE(64, 40), .backPicYOffset = 13, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_LinooneGalarian, - .shinyPalette = gMonShinyPalette_LinooneGalarian, - .iconSprite = gMonIcon_LinooneGalarian, + .palette = gMonPalette_LinooneGalar, + .shinyPalette = gMonShinyPalette_LinooneGalar, + .iconSprite = gMonIcon_LinooneGalar, .iconPalIndex = 0, + SHADOW(-4, 0, SHADOW_SIZE_L) FOOTPRINT(Linoone) OVERWORLD( - sPicTable_LinooneGalarian, + sPicTable_LinooneGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_LinooneGalarian, - gShinyOverworldPalette_LinooneGalarian + gOverworldPalette_LinooneGalar, + gShinyOverworldPalette_LinooneGalar ) .isGalarianForm = TRUE, - .levelUpLearnset = sLinooneGalarianLevelUpLearnset, - .teachableLearnset = sLinooneGalarianTeachableLearnset, + .levelUpLearnset = sLinooneGalarLevelUpLearnset, + .teachableLearnset = sLinooneGalarTeachableLearnset, .formSpeciesIdTable = sLinooneFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL_NIGHT, 35, SPECIES_OBSTAGOON}), }, @@ -1222,6 +1264,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Obstagoon, .iconSprite = gMonIcon_Obstagoon, .iconPalIndex = 0, + SHADOW(2, 13, SHADOW_SIZE_M) FOOTPRINT(Obstagoon) OVERWORLD( sPicTable_Obstagoon, @@ -1281,18 +1324,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Wurmple, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 40) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 12, .frontAnimFrames = sAnims_Wurmple, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Wurmple, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 6, .backAnimId = BACK_ANIM_V_STRETCH, .palette = gMonPalette_Wurmple, .shinyPalette = gMonShinyPalette_Wurmple, .iconSprite = gMonIcon_Wurmple, .iconPalIndex = 0, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Wurmple) OVERWORLD( sPicTable_Wurmple, @@ -1344,18 +1388,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Silcoon, - .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 10, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(56, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 17 : 10, .frontAnimFrames = sAnims_Silcoon, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Silcoon, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 24) : MON_COORDS_SIZE(64, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 21 : 13, .backAnimId = BACK_ANIM_H_SHAKE, .palette = gMonPalette_Silcoon, .shinyPalette = gMonShinyPalette_Silcoon, .iconSprite = gMonIcon_Silcoon, .iconPalIndex = 2, + SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Silcoon) OVERWORLD( sPicTable_Silcoon, @@ -1415,23 +1460,26 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Beautifly, - .frontPicFemale = gMonFrontPic_BeautiflyF, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), .frontPicYOffset = 9, .frontAnimFrames = sAnims_Beautifly, .frontAnimId = ANIM_V_SLIDE, - .enemyMonElevation = 10, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 10, .backPic = gMonBackPic_Beautifly, - .backPicFemale = gMonBackPic_BeautiflyF, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), .backPicYOffset = 0, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Beautifly, .shinyPalette = gMonShinyPalette_Beautifly, .iconSprite = gMonIcon_Beautifly, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_BeautiflyF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), + .backPicFemale = gMonBackPic_BeautiflyF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-5, 12, SHADOW_SIZE_S) FOOTPRINT(Beautifly) OVERWORLD( sPicTable_Beautifly, @@ -1441,6 +1489,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Beautifly, gShinyOverworldPalette_Beautifly ) + OVERWORLD_FEMALE( + sPicTable_BeautiflyF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_NONE + ) .levelUpLearnset = sBeautiflyLevelUpLearnset, .teachableLearnset = sBeautiflyTeachableLearnset, }, @@ -1486,18 +1540,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Cascoon, - .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 10, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 32) : MON_COORDS_SIZE(56, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 10, .frontAnimFrames = sAnims_Cascoon, .frontAnimId = ANIM_V_SLIDE, .backPic = gMonBackPic_Cascoon, - .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 15, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 24) : MON_COORDS_SIZE(56, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 15, .backAnimId = BACK_ANIM_H_SHAKE, .palette = gMonPalette_Cascoon, .shinyPalette = gMonShinyPalette_Cascoon, .iconSprite = gMonIcon_Cascoon, .iconPalIndex = 2, + SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Cascoon) OVERWORLD( sPicTable_Cascoon, @@ -1559,23 +1614,26 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Dustox, - .frontPicFemale = gMonFrontPic_DustoxF, .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 12, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 12, .frontAnimFrames = sAnims_Dustox, .frontAnimId = ANIM_V_JUMPS_H_JUMPS, - .enemyMonElevation = 12, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 10 : 12, .backPic = gMonBackPic_Dustox, - .backPicFemale = gMonBackPic_DustoxF, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 1, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 24) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 1, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Dustox, .shinyPalette = gMonShinyPalette_Dustox, .iconSprite = gMonIcon_Dustox, - .iconPalIndex = 5, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 5, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_DustoxF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 48), + .backPicFemale = gMonBackPic_DustoxF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-2, 11, SHADOW_SIZE_S) FOOTPRINT(Dustox) OVERWORLD( sPicTable_Dustox, @@ -1585,6 +1643,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Dustox, gShinyOverworldPalette_Dustox ) + OVERWORLD_FEMALE( + sPicTable_DustoxF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_NONE + ) .levelUpLearnset = sDustoxLevelUpLearnset, .teachableLearnset = sDustoxTeachableLearnset, }, @@ -1627,18 +1691,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Lotad, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 13, .frontAnimFrames = sAnims_Lotad, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Lotad, .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 12, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 12, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Lotad, .shinyPalette = gMonShinyPalette_Lotad, .iconSprite = gMonIcon_Lotad, - .iconPalIndex = 4, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 4, + SHADOW(2, -3, SHADOW_SIZE_S) FOOTPRINT(Lotad) OVERWORLD( sPicTable_Lotad, @@ -1691,17 +1756,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Lombre, .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 10, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 10, .frontAnimFrames = sAnims_Lombre, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Lombre, - .backPicSize = MON_COORDS_SIZE(48, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(48, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Lombre, .shinyPalette = gMonShinyPalette_Lombre, .iconSprite = gMonIcon_Lombre, .iconPalIndex = 1, + SHADOW(4, 2, SHADOW_SIZE_S) FOOTPRINT(Lombre) OVERWORLD( sPicTable_Lombre, @@ -1758,22 +1824,25 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 268, .trainerOffset = -1, .frontPic = gMonFrontPic_Ludicolo, - .frontPicFemale = gMonFrontPic_LudicoloF, - .frontPicSize = MON_COORDS_SIZE(56, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 64), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Ludicolo, .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, .backPic = gMonBackPic_Ludicolo, - .backPicFemale = gMonBackPic_LudicoloF, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 6, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Ludicolo, .shinyPalette = gMonShinyPalette_Ludicolo, .iconSprite = gMonIcon_Ludicolo, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_LudicoloF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 64), + .backPicFemale = gMonBackPic_LudicoloF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(-3, 14, SHADOW_SIZE_M) FOOTPRINT(Ludicolo) OVERWORLD( sPicTable_Ludicolo, @@ -1783,6 +1852,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Ludicolo, gShinyOverworldPalette_Ludicolo ) + OVERWORLD_FEMALE( + sPicTable_LudicoloF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sLudicoloLevelUpLearnset, .teachableLearnset = sLudicoloTeachableLearnset, }, @@ -1825,18 +1900,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Seedot, - .frontPicSize = MON_COORDS_SIZE(32, 40), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(32, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 12, .frontAnimFrames = sAnims_Seedot, - .frontAnimId = ANIM_V_JUMPS_H_JUMPS, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES : ANIM_V_JUMPS_H_JUMPS, .backPic = gMonBackPic_Seedot, - .backPicSize = MON_COORDS_SIZE(48, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(48, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 10, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Seedot, .shinyPalette = gMonShinyPalette_Seedot, .iconSprite = gMonIcon_Seedot, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 2, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Seedot) OVERWORLD( sPicTable_Seedot, @@ -1888,22 +1964,25 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Nuzleaf, - .frontPicFemale = gMonFrontPic_NuzleafF, - .frontPicSize = MON_COORDS_SIZE(40, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(40, 56), - .frontPicYOffset = 7, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(40, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, .frontAnimFrames = sAnims_Nuzleaf, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Nuzleaf, - .backPicFemale = gMonBackPic_NuzleafF, .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicSizeFemale = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 9, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 9, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Nuzleaf, .shinyPalette = gMonShinyPalette_Nuzleaf, .iconSprite = gMonIcon_Nuzleaf, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_NuzleafF, + .frontPicSizeFemale = MON_COORDS_SIZE(40, 56), + .backPicFemale = gMonBackPic_NuzleafF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(-3, 5, SHADOW_SIZE_S) FOOTPRINT(Nuzleaf) OVERWORLD( sPicTable_Nuzleaf, @@ -1913,6 +1992,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Nuzleaf, gShinyOverworldPalette_Nuzleaf ) + OVERWORLD_FEMALE( + sPicTable_NuzleafF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sNuzleafLevelUpLearnset, .teachableLearnset = sNuzleafTeachableLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_LEAF_STONE, SPECIES_SHIFTRY}), @@ -1964,22 +2049,25 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Shiftry, - .frontPicFemale = gMonFrontPic_ShiftryF, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 7, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 7, .frontAnimFrames = sAnims_Shiftry, .frontAnimId = ANIM_H_VIBRATE, .backPic = gMonBackPic_Shiftry, - .backPicFemale = gMonBackPic_ShiftryF, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 9, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Shiftry, .shinyPalette = gMonShinyPalette_Shiftry, .iconSprite = gMonIcon_Shiftry, - .iconPalIndex = 5, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 5, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_ShiftryF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), + .backPicFemale = gMonBackPic_ShiftryF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(-5, 5, SHADOW_SIZE_M) FOOTPRINT(Shiftry) OVERWORLD( sPicTable_Shiftry, @@ -1989,6 +2077,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Shiftry, gShinyOverworldPalette_Shiftry ) + OVERWORLD_FEMALE( + sPicTable_ShiftryF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sShiftryLevelUpLearnset, .teachableLearnset = sShiftryTeachableLearnset, }, @@ -2030,18 +2124,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Taillow, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 32) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 11, .frontAnimFrames = sAnims_Taillow, .frontAnimId = ANIM_V_JUMPS_BIG, .backPic = gMonBackPic_Taillow, - .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 15, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 32) : MON_COORDS_SIZE(56, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 17 : 15, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Taillow, .shinyPalette = gMonShinyPalette_Taillow, .iconSprite = gMonIcon_Taillow, .iconPalIndex = 2, + SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Taillow) OVERWORLD( sPicTable_Taillow, @@ -2099,17 +2194,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Swellow, .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 5, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 5, .frontAnimFrames = sAnims_Swellow, .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Swellow, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Swellow, .shinyPalette = gMonShinyPalette_Swellow, .iconSprite = gMonIcon_Swellow, .iconPalIndex = 2, + SHADOW(-7, 7, SHADOW_SIZE_M) FOOTPRINT(Swellow) OVERWORLD( sPicTable_Swellow, @@ -2165,19 +2261,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Wingull, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 32) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 24 : 11, .frontAnimFrames = sAnims_Wingull, .frontAnimId = ANIM_H_PIVOT, - .enemyMonElevation = 15, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 16 : 15, .backPic = gMonBackPic_Wingull, .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 13, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 13, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Wingull, .shinyPalette = gMonShinyPalette_Wingull, .iconSprite = gMonIcon_Wingull, .iconPalIndex = 0, + SHADOW(-2, 15, SHADOW_SIZE_S) FOOTPRINT(Wingull) OVERWORLD( sPicTable_Wingull, @@ -2239,8 +2336,8 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Pelipper, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 2, .frontAnimFrames = sAnims_Pelipper, .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = 8, @@ -2251,7 +2348,8 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .palette = gMonPalette_Pelipper, .shinyPalette = gMonShinyPalette_Pelipper, .iconSprite = gMonIcon_Pelipper, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 2, + SHADOW(-1, 17, SHADOW_SIZE_M) FOOTPRINT(Pelipper) OVERWORLD( sPicTable_Pelipper, @@ -2311,7 +2409,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Ralts, .frontPicSize = MON_COORDS_SIZE(24, 40), - .frontPicYOffset = 12, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 12, .frontAnimFrames = sAnims_Ralts, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Ralts, @@ -2322,6 +2420,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Ralts, .iconSprite = gMonIcon_Ralts, .iconPalIndex = 1, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Ralts) OVERWORLD( sPicTable_Ralts, @@ -2377,13 +2476,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontAnimFrames = sAnims_Kirlia, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Kirlia, - .backPicSize = MON_COORDS_SIZE(48, 56), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 56) : MON_COORDS_SIZE(48, 56), .backPicYOffset = 6, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Kirlia, .shinyPalette = gMonShinyPalette_Kirlia, .iconSprite = gMonIcon_Kirlia, .iconPalIndex = 1, + SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Kirlia) OVERWORLD( sPicTable_Kirlia, @@ -2440,18 +2540,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Gardevoir, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, .frontAnimFrames = sAnims_Gardevoir, - .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE : ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Gardevoir, - .backPicSize = MON_COORDS_SIZE(48, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(48, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 6, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Gardevoir, .shinyPalette = gMonShinyPalette_Gardevoir, .iconSprite = gMonIcon_Gardevoir, .iconPalIndex = 1, + SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(Gardevoir) OVERWORLD( sPicTable_Gardevoir, @@ -2515,6 +2616,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_GardevoirMega, .iconSprite = gMonIcon_GardevoirMega, .iconPalIndex = 1, + SHADOW(1, 14, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gardevoir) .isMegaEvolution = TRUE, .levelUpLearnset = sGardevoirLevelUpLearnset, @@ -2582,6 +2684,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Gallade, .iconSprite = gMonIcon_Gallade, .iconPalIndex = 1, + SHADOW(4, 13, SHADOW_SIZE_L) FOOTPRINT(Gallade) OVERWORLD( sPicTable_Gallade, @@ -2645,6 +2748,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_GalladeMega, .iconSprite = gMonIcon_GalladeMega, .iconPalIndex = 1, + SHADOW(-2, 13, SHADOW_SIZE_L) FOOTPRINT(Gallade) .isMegaEvolution = TRUE, .levelUpLearnset = sGalladeLevelUpLearnset, @@ -2693,18 +2797,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Surskit, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 8, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 8, .frontAnimFrames = sAnims_Surskit, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Surskit, - .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 13, .backAnimId = BACK_ANIM_H_SPRING, .palette = gMonPalette_Surskit, .shinyPalette = gMonShinyPalette_Surskit, .iconSprite = gMonIcon_Surskit, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Surskit) OVERWORLD( sPicTable_Surskit, @@ -2764,7 +2869,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Masquerain, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 4, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 4, .frontAnimFrames = sAnims_Masquerain, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 10, @@ -2776,6 +2881,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Masquerain, .iconSprite = gMonIcon_Masquerain, .iconPalIndex = 0, + SHADOW(-4, 17, SHADOW_SIZE_M) FOOTPRINT(Masquerain) OVERWORLD( sPicTable_Masquerain, @@ -2832,18 +2938,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Shroomish, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 14, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 14, .frontAnimFrames = sAnims_Shroomish, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Shroomish, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(56, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 9, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Shroomish, .shinyPalette = gMonShinyPalette_Shroomish, .iconSprite = gMonIcon_Shroomish, .iconPalIndex = 1, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Shroomish) OVERWORLD( sPicTable_Shroomish, @@ -2900,18 +3007,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Breloom, - .frontPicSize = MON_COORDS_SIZE(48, 64), - .frontPicYOffset = 3, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(48, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, .frontAnimFrames = sAnims_Breloom, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Breloom, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Breloom, .shinyPalette = gMonShinyPalette_Breloom, .iconSprite = gMonIcon_Breloom, .iconPalIndex = 1, + SHADOW(-4, 9, SHADOW_SIZE_M) FOOTPRINT(Breloom) OVERWORLD( sPicTable_Breloom, @@ -2962,18 +3070,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Slakoth, - .frontPicSize = MON_COORDS_SIZE(56, 40), - .frontPicYOffset = 15, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 32) : MON_COORDS_SIZE(56, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 15, .frontAnimFrames = sAnims_Slakoth, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Slakoth, .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 12, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 12, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Slakoth, .shinyPalette = gMonShinyPalette_Slakoth, .iconSprite = gMonIcon_Slakoth, .iconPalIndex = 2, + SHADOW(1, -4, SHADOW_SIZE_M) FOOTPRINT(Slakoth) OVERWORLD( sPicTable_Slakoth, @@ -3024,18 +3133,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Vigoroth, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 7, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 7, .frontAnimFrames = sAnims_Vigoroth, .frontAnimId = ANIM_H_JUMPS, .backPic = gMonBackPic_Vigoroth, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 0, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Vigoroth, .shinyPalette = gMonShinyPalette_Vigoroth, .iconSprite = gMonIcon_Vigoroth, .iconPalIndex = 2, + SHADOW(4, 6, SHADOW_SIZE_M) FOOTPRINT(Vigoroth) OVERWORLD( sPicTable_Vigoroth, @@ -3091,18 +3201,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 300, .trainerOffset = 1, .frontPic = gMonFrontPic_Slaking, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 7, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, .frontAnimFrames = sAnims_Slaking, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Slaking, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .backAnimId = BACK_ANIM_H_SHAKE, .palette = gMonPalette_Slaking, .shinyPalette = gMonShinyPalette_Slaking, .iconSprite = gMonIcon_Slaking, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 2, + SHADOW(0, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Slaking) OVERWORLD( sPicTable_Slaking, @@ -3155,17 +3266,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Nincada, .frontPicSize = MON_COORDS_SIZE(56, 32), - .frontPicYOffset = 16, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 16, .frontAnimFrames = sAnims_Nincada, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Nincada, - .backPicSize = MON_COORDS_SIZE(64, 32), - .backPicYOffset = 18, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 24) : MON_COORDS_SIZE(64, 32), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 18, .backAnimId = BACK_ANIM_V_SHAKE_H_SLIDE, .palette = gMonPalette_Nincada, .shinyPalette = gMonShinyPalette_Nincada, .iconSprite = gMonIcon_Nincada, .iconPalIndex = 1, + SHADOW(2, -3, SHADOW_SIZE_M) FOOTPRINT(Nincada) OVERWORLD( sPicTable_Nincada, @@ -3218,18 +3330,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Ninjask, .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 11, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 11, .frontAnimFrames = sAnims_Ninjask, .frontAnimId = ANIM_H_SLIDE_SLOW, .enemyMonElevation = 10, .backPic = gMonBackPic_Ninjask, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 13, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Ninjask, .shinyPalette = gMonShinyPalette_Ninjask, .iconSprite = gMonIcon_Ninjask, .iconPalIndex = 1, + SHADOW(-2, 10, SHADOW_SIZE_S) FOOTPRINT(Ninjask) OVERWORLD( sPicTable_Ninjask, @@ -3284,13 +3397,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontAnimId = ANIM_V_SLIDE_WOBBLE, .enemyMonElevation = 8, .backPic = gMonBackPic_Shedinja, - .backPicSize = MON_COORDS_SIZE(64, 56), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), .backPicYOffset = 6, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Shedinja, .shinyPalette = gMonShinyPalette_Shedinja, .iconSprite = gMonIcon_Shedinja, .iconPalIndex = 1, + SHADOW(-2, 9, SHADOW_SIZE_S) FOOTPRINT(Shedinja) OVERWORLD( sPicTable_Shedinja, @@ -3341,18 +3455,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Whismur, - .frontPicSize = MON_COORDS_SIZE(48, 40), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 13, .frontAnimFrames = sAnims_Whismur, .frontAnimId = ANIM_H_SLIDE, .backPic = gMonBackPic_Whismur, - .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 12, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(56, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 12, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Whismur, .shinyPalette = gMonShinyPalette_Whismur, .iconSprite = gMonIcon_Whismur, - .iconPalIndex = 1, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 1, + SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(Whismur) OVERWORLD( sPicTable_Whismur, @@ -3406,15 +3521,16 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 3, .frontAnimFrames = sAnims_Loudred, - .frontAnimId = ANIM_SHRINK_GROW, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW : ANIM_SHRINK_GROW, .backPic = gMonBackPic_Loudred, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Loudred, .shinyPalette = gMonShinyPalette_Loudred, .iconSprite = gMonIcon_Loudred, .iconPalIndex = 2, + SHADOW(1, 9, SHADOW_SIZE_M) FOOTPRINT(Loudred) OVERWORLD( sPicTable_Loudred, @@ -3473,17 +3589,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Exploud, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, .frontAnimFrames = sAnims_Exploud, .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Exploud, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 0, .backAnimId = BACK_ANIM_GROW_STUTTER, .palette = gMonPalette_Exploud, .shinyPalette = gMonShinyPalette_Exploud, .iconSprite = gMonIcon_Exploud, .iconPalIndex = 2, + SHADOW(0, 12, SHADOW_SIZE_L) FOOTPRINT(Exploud) OVERWORLD( sPicTable_Exploud, @@ -3535,18 +3652,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Makuhita, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 8, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 8, .frontAnimFrames = sAnims_Makuhita, - .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONCAVE : ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Makuhita, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 8, .backAnimId = BACK_ANIM_V_SHAKE_LOW, .palette = gMonPalette_Makuhita, .shinyPalette = gMonShinyPalette_Makuhita, .iconSprite = gMonIcon_Makuhita, - .iconPalIndex = 1, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 1, + SHADOW(1, 5, SHADOW_SIZE_M) FOOTPRINT(Makuhita) OVERWORLD( sPicTable_Makuhita, @@ -3599,17 +3717,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 7, .frontPic = gMonFrontPic_Hariyama, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, .frontAnimFrames = sAnims_Hariyama, .frontAnimId = ANIM_ROTATE_UP_TO_SIDES, .backPic = gMonBackPic_Hariyama, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 4, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 4, .backAnimId = BACK_ANIM_V_SHAKE_LOW, .palette = gMonPalette_Hariyama, .shinyPalette = gMonShinyPalette_Hariyama, .iconSprite = gMonIcon_Hariyama, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 2, + SHADOW(-3, 9, SHADOW_SIZE_L) FOOTPRINT(Hariyama) OVERWORLD( sPicTable_Hariyama, @@ -3662,17 +3781,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 3, .frontPic = gMonFrontPic_Nosepass, .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 10, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, .frontAnimFrames = sAnims_Nosepass, - .frontAnimId = ANIM_H_SLIDE_SLOW, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW : ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Nosepass, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(56, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, .backAnimId = BACK_ANIM_V_SHAKE_LOW, .palette = gMonPalette_Nosepass, .shinyPalette = gMonShinyPalette_Nosepass, .iconSprite = gMonIcon_Nosepass, .iconPalIndex = 0, + SHADOW(-1, 3, SHADOW_SIZE_M) FOOTPRINT(Nosepass) OVERWORLD( sPicTable_Nosepass, @@ -3740,6 +3860,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Probopass, .iconSprite = gMonIcon_Probopass, .iconPalIndex = 0, + SHADOW(-1, 13, SHADOW_SIZE_L) FOOTPRINT(Probopass) OVERWORLD( sPicTable_Probopass, @@ -3795,18 +3916,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Skitty, - .frontPicSize = MON_COORDS_SIZE(56, 40), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 12, .frontAnimFrames = sAnims_Skitty, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Skitty, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 6, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Skitty, .shinyPalette = gMonShinyPalette_Skitty, .iconSprite = gMonIcon_Skitty, .iconPalIndex = 0, + SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Skitty) OVERWORLD( sPicTable_Skitty, @@ -3868,18 +3990,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Delcatty, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 4, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 4, .frontAnimFrames = sAnims_Delcatty, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Delcatty, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 0, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Delcatty, .shinyPalette = gMonShinyPalette_Delcatty, .iconSprite = gMonIcon_Delcatty, .iconPalIndex = 2, + SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Delcatty) OVERWORLD( sPicTable_Delcatty, @@ -3937,17 +4060,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Sableye, .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 10, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 10, .frontAnimFrames = sAnims_Sableye, .frontAnimId = ANIM_GLOW_BLACK, .backPic = gMonBackPic_Sableye, - .backPicSize = MON_COORDS_SIZE(48, 48), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(48, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 13, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Sableye, .shinyPalette = gMonShinyPalette_Sableye, .iconSprite = gMonIcon_Sableye, .iconPalIndex = 2, + SHADOW(2, 3, SHADOW_SIZE_S) FOOTPRINT(Sableye) OVERWORLD( sPicTable_Sableye, @@ -4012,6 +4136,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_SableyeMega, .iconSprite = gMonIcon_SableyeMega, .iconPalIndex = 2, + SHADOW(3, 7, SHADOW_SIZE_S) FOOTPRINT(Sableye) .isMegaEvolution = TRUE, .levelUpLearnset = sSableyeLevelUpLearnset, @@ -4067,18 +4192,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Mawile, - .frontPicSize = MON_COORDS_SIZE(64, 48), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = 8, .frontAnimFrames = sAnims_Mawile, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Mawile, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 7, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 7, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Mawile, .shinyPalette = gMonShinyPalette_Mawile, .iconSprite = gMonIcon_Mawile, .iconPalIndex = 2, + SHADOW(1, 4, SHADOW_SIZE_L) FOOTPRINT(Mawile) OVERWORLD( sPicTable_Mawile, @@ -4144,6 +4270,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_MawileMega, .iconSprite = gMonIcon_MawileMega, .iconPalIndex = 0, + SHADOW(0, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Mawile) .isMegaEvolution = TRUE, .levelUpLearnset = sMawileLevelUpLearnset, @@ -4192,18 +4319,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Aron, - .frontPicSize = MON_COORDS_SIZE(32, 40), - .frontPicYOffset = 14, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 24) : MON_COORDS_SIZE(32, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 14, .frontAnimFrames = sAnims_Aron, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Aron, - .backPicSize = MON_COORDS_SIZE(48, 40), - .backPicYOffset = 12, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(48, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 17 : 12, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Aron, .shinyPalette = gMonShinyPalette_Aron, .iconSprite = gMonIcon_Aron, .iconPalIndex = 2, + SHADOW(2, -3, SHADOW_SIZE_S) FOOTPRINT(Aron) OVERWORLD( sPicTable_Aron, @@ -4255,18 +4383,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Lairon, - .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 8, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(56, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 8, .frontAnimFrames = sAnims_Lairon, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Lairon, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 15, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 32) : MON_COORDS_SIZE(64, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 17 : 15, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Lairon, .shinyPalette = gMonShinyPalette_Lairon, .iconSprite = gMonIcon_Lairon, .iconPalIndex = 2, + SHADOW(4, 2, SHADOW_SIZE_L) FOOTPRINT(Lairon) OVERWORLD( sPicTable_Lairon, @@ -4329,12 +4458,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Aggron, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 5, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 5, .backAnimId = BACK_ANIM_V_SHAKE_LOW, .palette = gMonPalette_Aggron, .shinyPalette = gMonShinyPalette_Aggron, .iconSprite = gMonIcon_Aggron, .iconPalIndex = 2, + SHADOW(5, 12, SHADOW_SIZE_L) FOOTPRINT(Aggron) OVERWORLD( sPicTable_Aggron, @@ -4399,6 +4529,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_AggronMega, .iconSprite = gMonIcon_AggronMega, .iconPalIndex = 2, + SHADOW(1, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Aggron) .isMegaEvolution = TRUE, .levelUpLearnset = sAggronLevelUpLearnset, @@ -4445,22 +4576,25 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Meditite, - .frontPicFemale = gMonFrontPic_MedititeF, - .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 48), - .frontPicYOffset = 10, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(48, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, .frontAnimFrames = sAnims_Meditite, .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES, .backPic = gMonBackPic_Meditite, - .backPicFemale = gMonBackPic_MedititeF, - .backPicSize = MON_COORDS_SIZE(48, 48), - .backPicSizeFemale = MON_COORDS_SIZE(48, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(48, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 9, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Meditite, .shinyPalette = gMonShinyPalette_Meditite, .iconSprite = gMonIcon_Meditite, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_MedititeF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 48), + .backPicFemale = gMonBackPic_MedititeF, + .backPicSizeFemale = MON_COORDS_SIZE(48, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Meditite) OVERWORLD( sPicTable_Meditite, @@ -4470,6 +4604,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Meditite, gShinyOverworldPalette_Meditite ) + OVERWORLD_FEMALE( + sPicTable_MedititeF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sMedititeLevelUpLearnset, .teachableLearnset = sMedititeTeachableLearnset, .eggMoveLearnset = sMedititeEggMoveLearnset, @@ -4511,22 +4651,25 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Medicham, - .frontPicFemale = gMonFrontPic_MedichamF, - .frontPicSize = MON_COORDS_SIZE(40, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(40, 64), - .frontPicYOffset = 0, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 64) : MON_COORDS_SIZE(40, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, .frontAnimFrames = sAnims_Medicham, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Medicham, - .backPicFemale = gMonBackPic_MedichamF, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicSizeFemale = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 64) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 0, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Medicham, .shinyPalette = gMonShinyPalette_Medicham, .iconSprite = gMonIcon_Medicham, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_MedichamF, + .frontPicSizeFemale = MON_COORDS_SIZE(40, 64), + .backPicFemale = gMonBackPic_MedichamF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-2, 13, SHADOW_SIZE_S) FOOTPRINT(Medicham) OVERWORLD( sPicTable_Medicham, @@ -4536,6 +4679,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Medicham, gShinyOverworldPalette_Medicham ) + OVERWORLD_FEMALE( + sPicTable_MedichamF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sMedichamLevelUpLearnset, .teachableLearnset = sMedichamTeachableLearnset, .formSpeciesIdTable = sMedichamFormSpeciesIdTable, @@ -4590,6 +4739,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_MedichamMega, .iconSprite = gMonIcon_MedichamMega, .iconPalIndex = 0, + SHADOW(-2, 13, SHADOW_SIZE_S) FOOTPRINT(Medicham) .isMegaEvolution = TRUE, .levelUpLearnset = sMedichamLevelUpLearnset, @@ -4636,18 +4786,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Electrike, - .frontPicSize = MON_COORDS_SIZE(48, 40), - .frontPicYOffset = 14, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 32) : MON_COORDS_SIZE(48, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 14, .frontAnimFrames = sAnims_Electrike, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Electrike, - .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 32) : MON_COORDS_SIZE(56, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 13, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Electrike, .shinyPalette = gMonShinyPalette_Electrike, .iconSprite = gMonIcon_Electrike, .iconPalIndex = 1, + SHADOW(3, -1, SHADOW_SIZE_M) FOOTPRINT(Electrike) OVERWORLD( sPicTable_Electrike, @@ -4698,18 +4849,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 257, .trainerOffset = 0, .frontPic = gMonFrontPic_Manectric, - .frontPicSize = MON_COORDS_SIZE(56, 64), - .frontPicYOffset = 2, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 56) : MON_COORDS_SIZE(56, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 2, .frontAnimFrames = sAnims_Manectric, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Manectric, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 0, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Manectric, .shinyPalette = gMonShinyPalette_Manectric, .iconSprite = gMonIcon_Manectric, .iconPalIndex = 0, + SHADOW(1, 10, SHADOW_SIZE_M) FOOTPRINT(Manectric) OVERWORLD( sPicTable_Manectric, @@ -4772,6 +4924,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_ManectricMega, .iconSprite = gMonIcon_ManectricMega, .iconPalIndex = 0, + SHADOW(1, 10, SHADOW_SIZE_L) FOOTPRINT(Manectric) .isMegaEvolution = TRUE, .levelUpLearnset = sManectricLevelUpLearnset, @@ -4824,17 +4977,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Plusle, .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 11, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 11, .frontAnimFrames = sAnims_Plusle, - .frontAnimId = ANIM_V_JUMPS_H_JUMPS, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SQUISH_AND_BOUNCE : ANIM_V_JUMPS_H_JUMPS, .backPic = gMonBackPic_Plusle, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 3, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Plusle, .shinyPalette = gMonShinyPalette_Plusle, .iconSprite = gMonIcon_Plusle, .iconPalIndex = 0, + SHADOW(2, 3, SHADOW_SIZE_S) FOOTPRINT(Plusle) OVERWORLD( sPicTable_Plusle, @@ -4891,18 +5045,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Minun, - .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(40, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 11, .frontAnimFrames = sAnims_Minun, - .frontAnimId = ANIM_V_JUMPS_H_JUMPS, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_CIRCULAR_STRETCH_TWICE : ANIM_V_JUMPS_H_JUMPS, .backPic = gMonBackPic_Minun, - .backPicSize = MON_COORDS_SIZE(48, 64), - .backPicYOffset = 4, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(48, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 4, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Minun, .shinyPalette = gMonShinyPalette_Minun, .iconSprite = gMonIcon_Minun, .iconPalIndex = 0, + SHADOW(-4, 3, SHADOW_SIZE_S) FOOTPRINT(Minun) OVERWORLD( sPicTable_Minun, @@ -4961,18 +5116,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Volbeat, - .frontPicSize = MON_COORDS_SIZE(48, 56), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), .frontPicYOffset = 8, .frontAnimFrames = sAnims_Volbeat, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Volbeat, - .backPicSize = MON_COORDS_SIZE(48, 64), - .backPicYOffset = 3, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(48, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 3, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Volbeat, .shinyPalette = gMonShinyPalette_Volbeat, .iconSprite = gMonIcon_Volbeat, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Volbeat) OVERWORLD( sPicTable_Volbeat, @@ -5034,17 +5190,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Illumise, .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 10, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 10, .frontAnimFrames = sAnims_Illumise, - .frontAnimId = ANIM_RISING_WOBBLE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_BOUNCE_ROTATE_TO_SIDES : ANIM_RISING_WOBBLE, .backPic = gMonBackPic_Illumise, .backPicSize = MON_COORDS_SIZE(48, 56), - .backPicYOffset = 8, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 8, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Illumise, .shinyPalette = gMonShinyPalette_Illumise, .iconSprite = gMonIcon_Illumise, .iconPalIndex = 2, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Illumise) OVERWORLD( sPicTable_Illumise, @@ -5111,6 +5268,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Budew, .iconSprite = gMonIcon_Budew, .iconPalIndex = 1, + SHADOW(-3, 0, SHADOW_SIZE_S) FOOTPRINT(Budew) OVERWORLD( sPicTable_Budew, @@ -5164,22 +5322,25 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Roselia, - .frontPicFemale = gMonFrontPic_RoseliaF, .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 11, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 11, .frontAnimFrames = sAnims_Roselia, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Roselia, - .backPicFemale = gMonBackPic_RoseliaF, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), .backPicYOffset = 8, .backAnimId = BACK_ANIM_SHAKE_GLOW_GREEN, .palette = gMonPalette_Roselia, .shinyPalette = gMonShinyPalette_Roselia, .iconSprite = gMonIcon_Roselia, - .iconPalIndex = 4, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 4, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_RoseliaF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 48), + .backPicFemale = gMonBackPic_RoseliaF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Roselia) OVERWORLD( sPicTable_Roselia, @@ -5189,6 +5350,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Roselia, gShinyOverworldPalette_Roselia ) + OVERWORLD_FEMALE( + sPicTable_RoseliaF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sRoseliaLevelUpLearnset, .teachableLearnset = sRoseliaTeachableLearnset, .eggMoveLearnset = sRoseliaEggMoveLearnset, @@ -5241,22 +5408,25 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Roserade, - .frontPicFemale = gMonFrontPic_RoseradeF, .frontPicSize = MON_COORDS_SIZE(48, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 7, .frontAnimFrames = sAnims_Roserade, .frontAnimId = ANIM_H_VIBRATE, .backPic = gMonBackPic_Roserade, - .backPicFemale = gMonBackPic_RoseradeF, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), .backPicYOffset = 6, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Roserade, .shinyPalette = gMonShinyPalette_Roserade, .iconSprite = gMonIcon_Roserade, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_RoseradeF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 56), + .backPicFemale = gMonBackPic_RoseradeF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Roserade) OVERWORLD( sPicTable_Roserade, @@ -5266,6 +5436,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Roserade, gShinyOverworldPalette_Roserade ) + OVERWORLD_FEMALE( + sPicTable_RoseradeF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sRoseradeLevelUpLearnset, .teachableLearnset = sRoseradeTeachableLearnset, }, @@ -5310,22 +5486,25 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Gulpin, - .frontPicFemale = gMonFrontPic_GulpinF, - .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 15, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(40, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 15, .frontAnimFrames = sAnims_Gulpin, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Gulpin, - .backPicFemale = gMonBackPic_GulpinF, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicSizeFemale = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 9, .backAnimId = BACK_ANIM_V_STRETCH, .palette = gMonPalette_Gulpin, .shinyPalette = gMonShinyPalette_Gulpin, .iconSprite = gMonIcon_Gulpin, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_GulpinF, + .frontPicSizeFemale = MON_COORDS_SIZE(40, 48), + .backPicFemale = gMonBackPic_GulpinF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(1, -2, SHADOW_SIZE_S) FOOTPRINT(Gulpin) OVERWORLD( sPicTable_Gulpin, @@ -5335,6 +5514,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Gulpin, gShinyOverworldPalette_Gulpin ) + OVERWORLD_FEMALE( + sPicTable_GulpinF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_SPOT + ) .levelUpLearnset = sGulpinLevelUpLearnset, .teachableLearnset = sGulpinTeachableLearnset, .eggMoveLearnset = sGulpinEggMoveLearnset, @@ -5378,22 +5563,25 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 345, .trainerOffset = 3, .frontPic = gMonFrontPic_Swalot, - .frontPicFemale = gMonFrontPic_SwalotF, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 5, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 5, .frontAnimFrames = sAnims_Swalot, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .backPic = gMonBackPic_Swalot, - .backPicFemale = gMonBackPic_SwalotF, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 2, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 2, .backAnimId = BACK_ANIM_V_STRETCH, .palette = gMonPalette_Swalot, .shinyPalette = gMonShinyPalette_Swalot, .iconSprite = gMonIcon_Swalot, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_SwalotF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), + .backPicFemale = gMonBackPic_SwalotF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(4, 3, SHADOW_SIZE_L) FOOTPRINT(Swalot) OVERWORLD( sPicTable_Swalot, @@ -5403,6 +5591,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Swalot, gShinyOverworldPalette_Swalot ) + OVERWORLD_FEMALE( + sPicTable_SwalotF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_SLITHER + ) .levelUpLearnset = sSwalotLevelUpLearnset, .teachableLearnset = sSwalotTeachableLearnset, }, @@ -5450,13 +5644,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontAnimFrames = sAnims_Carvanha, .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, .backPic = gMonBackPic_Carvanha, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 10, .backAnimId = BACK_ANIM_H_SPRING_REPEATED, .palette = gMonPalette_Carvanha, .shinyPalette = gMonShinyPalette_Carvanha, .iconSprite = gMonIcon_Carvanha, .iconPalIndex = 0, + SHADOW(-1, 8, SHADOW_SIZE_S) FOOTPRINT(Carvanha) OVERWORLD( sPicTable_Carvanha, @@ -5508,18 +5703,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 317, .trainerOffset = 3, .frontPic = gMonFrontPic_Sharpedo, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 0, .frontAnimFrames = sAnims_Sharpedo, .frontAnimId = ANIM_H_JUMPS_V_STRETCH_TWICE, .backPic = gMonBackPic_Sharpedo, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 3, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Sharpedo, .shinyPalette = gMonShinyPalette_Sharpedo, .iconSprite = gMonIcon_Sharpedo, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Sharpedo) OVERWORLD( sPicTable_Sharpedo, @@ -5585,6 +5781,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_SharpedoMega, .iconSprite = gMonIcon_SharpedoMega, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Sharpedo) .isMegaEvolution = TRUE, .levelUpLearnset = sSharpedoLevelUpLearnset, @@ -5631,18 +5828,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 493, .trainerOffset = 0, .frontPic = gMonFrontPic_Wailmer, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 10, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 10, .frontAnimFrames = sAnims_Wailmer, .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Wailmer, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 24) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 21 : 9, .backAnimId = BACK_ANIM_SHAKE_GLOW_BLUE, .palette = gMonPalette_Wailmer, .shinyPalette = gMonShinyPalette_Wailmer, .iconSprite = gMonIcon_Wailmer, .iconPalIndex = 2, + SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(Wailmer) OVERWORLD( sPicTable_Wailmer, @@ -5694,18 +5892,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 18, .frontPic = gMonFrontPic_Wailord, .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 4, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 4, .frontAnimFrames = sAnims_Wailord, .frontAnimId = ANIM_V_SLIDE_WOBBLE, .frontAnimDelay = 10, .backPic = gMonBackPic_Wailord, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 14, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 24) : MON_COORDS_SIZE(64, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 22 : 14, .backAnimId = BACK_ANIM_SHAKE_GLOW_BLUE, .palette = gMonPalette_Wailord, .shinyPalette = gMonShinyPalette_Wailord, .iconSprite = gMonIcon_Wailord, .iconPalIndex = 0, + SHADOW(1, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Wailord) OVERWORLD( sPicTable_Wailord, @@ -5760,22 +5959,25 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Numel, - .frontPicFemale = gMonFrontPic_NumelF, - .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(40, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 9, .frontAnimFrames = sAnims_Numel, .frontAnimId = ANIM_V_SLIDE, .backPic = gMonBackPic_Numel, - .backPicFemale = gMonBackPic_NumelF, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicSizeFemale = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 6, .backAnimId = BACK_ANIM_V_SHAKE_LOW, .palette = gMonPalette_Numel, .shinyPalette = gMonShinyPalette_Numel, .iconSprite = gMonIcon_Numel, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_NumelF, + .frontPicSizeFemale = MON_COORDS_SIZE(40, 48), + .backPicFemale = gMonBackPic_NumelF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(4, 2, SHADOW_SIZE_S) FOOTPRINT(Numel) OVERWORLD( sPicTable_Numel, @@ -5785,6 +5987,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Numel, gShinyOverworldPalette_Numel ) + OVERWORLD_FEMALE( + sPicTable_NumelF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sNumelLevelUpLearnset, .teachableLearnset = sNumelTeachableLearnset, .eggMoveLearnset = sNumelEggMoveLearnset, @@ -5831,22 +6039,25 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 345, .trainerOffset = 6, .frontPic = gMonFrontPic_Camerupt, - .frontPicFemale = gMonFrontPic_CameruptF, .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 6, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 6, .frontAnimFrames = sAnims_Camerupt, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Camerupt, - .backPicFemale = gMonBackPic_CameruptF, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicSizeFemale = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 32) : MON_COORDS_SIZE(64, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 19 : 13, .backAnimId = BACK_ANIM_SHAKE_GLOW_RED, .palette = gMonPalette_Camerupt, .shinyPalette = gMonShinyPalette_Camerupt, .iconSprite = gMonIcon_Camerupt, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_CameruptF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 56), + .backPicFemale = gMonBackPic_CameruptF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 40), +#endif //P_GENDER_DIFFERENCES + SHADOW(2, 4, SHADOW_SIZE_L) FOOTPRINT(Camerupt) OVERWORLD( sPicTable_Camerupt, @@ -5856,6 +6067,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Camerupt, gShinyOverworldPalette_Camerupt ) + OVERWORLD_FEMALE( + sPicTable_CameruptF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sCameruptLevelUpLearnset, .teachableLearnset = sCameruptTeachableLearnset, .formSpeciesIdTable = sCameruptFormSpeciesIdTable, @@ -5911,6 +6128,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_CameruptMega, .iconSprite = gMonIcon_CameruptMega, .iconPalIndex = 0, + SHADOW(1, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Camerupt) .isMegaEvolution = TRUE, .levelUpLearnset = sCameruptLevelUpLearnset, @@ -5963,17 +6181,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Torkoal, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 3, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 3, .frontAnimFrames = sAnims_Torkoal, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Torkoal, .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 8, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 8, .backAnimId = BACK_ANIM_SHAKE_GLOW_RED, .palette = gMonPalette_Torkoal, .shinyPalette = gMonShinyPalette_Torkoal, .iconSprite = gMonIcon_Torkoal, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 2, + SHADOW(2, 7, SHADOW_SIZE_L) FOOTPRINT(Torkoal) OVERWORLD( sPicTable_Torkoal, @@ -6030,13 +6249,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontAnimFrames = sAnims_Spoink, .frontAnimId = ANIM_H_JUMPS_V_STRETCH_TWICE, .backPic = gMonBackPic_Spoink, - .backPicSize = MON_COORDS_SIZE(40, 64), - .backPicYOffset = 4, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(40, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 4, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, .palette = gMonPalette_Spoink, .shinyPalette = gMonShinyPalette_Spoink, .iconSprite = gMonIcon_Spoink, .iconPalIndex = 0, + SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Spoink) OVERWORLD( sPicTable_Spoink, @@ -6087,19 +6307,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Grumpig, - .frontPicSize = MON_COORDS_SIZE(56, 64), - .frontPicYOffset = 2, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(56, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 2, .frontAnimFrames = sAnims_Grumpig, .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .frontAnimDelay = 15, .backPic = gMonBackPic_Grumpig, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 2, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 2, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Grumpig, .shinyPalette = gMonShinyPalette_Grumpig, .iconSprite = gMonIcon_Grumpig, .iconPalIndex = 2, + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Grumpig) OVERWORLD( sPicTable_Grumpig, @@ -6158,7 +6379,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 8, .frontAnimFrames = sAnims_Spinda, - .frontAnimId = ANIM_CIRCLE_INTO_BG, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_JUMPS : ANIM_CIRCLE_INTO_BG, .backPic = gMonBackPic_Spinda, .backPicSize = MON_COORDS_SIZE(56, 56), .backPicYOffset = 4, @@ -6167,6 +6388,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Spinda, .iconSprite = gMonIcon_Spinda, .iconPalIndex = 1, + SHADOW(2, 6, SHADOW_SIZE_S) FOOTPRINT(Spinda) OVERWORLD( sPicTable_Spinda, @@ -6223,18 +6445,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Trapinch, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 32) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 12, .frontAnimFrames = sAnims_Trapinch, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Trapinch, - .backPicSize = MON_COORDS_SIZE(48, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 40) : MON_COORDS_SIZE(48, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 10, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Trapinch, .shinyPalette = gMonShinyPalette_Trapinch, .iconSprite = gMonIcon_Trapinch, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 0, + SHADOW(4, -1, SHADOW_SIZE_S) FOOTPRINT(Trapinch) OVERWORLD( sPicTable_Trapinch, @@ -6291,17 +6514,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Vibrava, .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 10, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, .frontAnimFrames = sAnims_Vibrava, .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Vibrava, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 12, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 32) : MON_COORDS_SIZE(64, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 17 : 12, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Vibrava, .shinyPalette = gMonShinyPalette_Vibrava, .iconSprite = gMonIcon_Vibrava, .iconPalIndex = 1, + SHADOW(-2, 0, SHADOW_SIZE_L) FOOTPRINT(Vibrava) OVERWORLD( sPicTable_Vibrava, @@ -6369,12 +6593,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .enemyMonElevation = 7, .backPic = gMonBackPic_Flygon, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 3, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Flygon, .shinyPalette = gMonShinyPalette_Flygon, .iconSprite = gMonIcon_Flygon, .iconPalIndex = 1, + SHADOW(0, 17, SHADOW_SIZE_M) FOOTPRINT(Flygon) OVERWORLD( sPicTable_Flygon, @@ -6426,18 +6651,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Cacnea, - .frontPicSize = MON_COORDS_SIZE(56, 40), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 32) : MON_COORDS_SIZE(56, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 13, .frontAnimFrames = sAnims_Cacnea, .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, .backPic = gMonBackPic_Cacnea, .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 12, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 15 : 12, .backAnimId = BACK_ANIM_V_SHAKE_H_SLIDE, .palette = gMonPalette_Cacnea, .shinyPalette = gMonShinyPalette_Cacnea, .iconSprite = gMonIcon_Cacnea, .iconPalIndex = 1, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Cacnea) OVERWORLD( sPicTable_Cacnea, @@ -6490,20 +6716,23 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Cacturne, - .frontPicFemale = gMonFrontPic_CacturneF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Cacturne, .frontAnimId = ANIM_V_SLIDE, .backPic = gMonBackPic_Cacturne, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 0, .backAnimId = BACK_ANIM_H_SHAKE, .palette = gMonPalette_Cacturne, .shinyPalette = gMonShinyPalette_Cacturne, .iconSprite = gMonIcon_Cacturne, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_CacturneF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 14, SHADOW_SIZE_M) FOOTPRINT(Cacturne) OVERWORLD( sPicTable_Cacturne, @@ -6513,6 +6742,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Cacturne, gShinyOverworldPalette_Cacturne ) + OVERWORLD_FEMALE( + sPicTable_CacturneF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sCacturneLevelUpLearnset, .teachableLearnset = sCacturneTeachableLearnset, }, @@ -6554,18 +6789,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Swablu, - .frontPicSize = MON_COORDS_SIZE(48, 40), - .frontPicYOffset = 14, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(48, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 17 : 14, .frontAnimFrames = sAnims_Swablu, - .frontAnimId = ANIM_GROW_VIBRATE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SLIDE : ANIM_GROW_VIBRATE, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 12 : 0, .backPic = gMonBackPic_Swablu, .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 11, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 11, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Swablu, .shinyPalette = gMonShinyPalette_Swablu, .iconSprite = gMonIcon_Swablu, .iconPalIndex = 0, + SHADOW(-2, 0, SHADOW_SIZE_S) FOOTPRINT(Swablu) OVERWORLD( sPicTable_Swablu, @@ -6617,17 +6854,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Altaria, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 1, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 1, .frontAnimFrames = sAnims_Altaria, - .frontAnimId = ANIM_V_STRETCH, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_H_STRETCH : ANIM_V_STRETCH, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 0, .backPic = gMonBackPic_Altaria, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 10, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Altaria, .shinyPalette = gMonShinyPalette_Altaria, .iconSprite = gMonIcon_Altaria, .iconPalIndex = 0, + SHADOW(-1, 14, SHADOW_SIZE_L) FOOTPRINT(Altaria) OVERWORLD( sPicTable_Altaria, @@ -6692,6 +6931,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_AltariaMega, .iconSprite = gMonIcon_AltariaMega, .iconPalIndex = 0, + SHADOW(-2, 17, SHADOW_SIZE_L) FOOTPRINT(Altaria) .isMegaEvolution = TRUE, .levelUpLearnset = sAltariaLevelUpLearnset, @@ -6740,18 +6980,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Zangoose, - .frontPicSize = MON_COORDS_SIZE(56, 56), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 56), .frontPicYOffset = 5, .frontAnimFrames = sAnims_Zangoose, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Zangoose, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 6, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Zangoose, .shinyPalette = gMonShinyPalette_Zangoose, .iconSprite = gMonIcon_Zangoose, .iconPalIndex = 0, + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Zangoose) OVERWORLD( sPicTable_Zangoose, @@ -6806,18 +7047,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Seviper, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .frontAnimFrames = sAnims_Seviper, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Seviper, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 1, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 1, .backAnimId = BACK_ANIM_V_STRETCH, .palette = gMonPalette_Seviper, .shinyPalette = gMonShinyPalette_Seviper, .iconSprite = gMonIcon_Seviper, .iconPalIndex = 2, + SHADOW(-3, 7, SHADOW_SIZE_L) FOOTPRINT(Seviper) OVERWORLD( sPicTable_Seviper, @@ -6883,13 +7125,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontAnimId = ANIM_SWING_CONVEX_FAST, .enemyMonElevation = 13, .backPic = gMonBackPic_Lunatone, - .backPicSize = MON_COORDS_SIZE(48, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(48, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 8, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Lunatone, .shinyPalette = gMonShinyPalette_Lunatone, .iconSprite = gMonIcon_Lunatone, .iconPalIndex = 1, + SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Lunatone) OVERWORLD( sPicTable_Lunatone, @@ -6949,18 +7192,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Solrock, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, .frontAnimFrames = sAnims_Solrock, .frontAnimId = ANIM_ROTATE_TO_SIDES_TWICE, .enemyMonElevation = 4, .backPic = gMonBackPic_Solrock, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 2, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 2, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Solrock, .shinyPalette = gMonShinyPalette_Solrock, .iconSprite = gMonIcon_Solrock, .iconPalIndex = 0, + SHADOW(0, 15, SHADOW_SIZE_M) FOOTPRINT(Solrock) OVERWORLD( sPicTable_Solrock, @@ -7015,19 +7259,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Barboach, - .frontPicSize = MON_COORDS_SIZE(48, 40), - .frontPicYOffset = 15, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(48, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 15, .frontAnimFrames = sAnims_Barboach, .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, - .enemyMonElevation = 7, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 0 : 7, .backPic = gMonBackPic_Barboach, - .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 9, .backAnimId = BACK_ANIM_V_STRETCH, .palette = gMonPalette_Barboach, .shinyPalette = gMonShinyPalette_Barboach, .iconSprite = gMonIcon_Barboach, .iconPalIndex = 0, + SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Barboach) OVERWORLD( sPicTable_Barboach, @@ -7082,18 +7327,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Whiscash, - .frontPicSize = MON_COORDS_SIZE(64, 48), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(64, 48), .frontPicYOffset = 9, .frontAnimFrames = sAnims_Whiscash, .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, .backPic = gMonBackPic_Whiscash, .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 11, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 11, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Whiscash, .shinyPalette = gMonShinyPalette_Whiscash, .iconSprite = gMonIcon_Whiscash, .iconPalIndex = 0, + SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(Whiscash) OVERWORLD( sPicTable_Whiscash, @@ -7144,18 +7390,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Corphish, - .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicYOffset = 8, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 8, .frontAnimFrames = sAnims_Corphish, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Corphish, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 8, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Corphish, .shinyPalette = gMonShinyPalette_Corphish, .iconSprite = gMonIcon_Corphish, .iconPalIndex = 0, + SHADOW(1, 5, SHADOW_SIZE_M) FOOTPRINT(Corphish) OVERWORLD( sPicTable_Corphish, @@ -7207,17 +7454,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Crawdaunt, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 4, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 4, .frontAnimFrames = sAnims_Crawdaunt, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Crawdaunt, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 7, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 7, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Crawdaunt, .shinyPalette = gMonShinyPalette_Crawdaunt, .iconSprite = gMonIcon_Crawdaunt, .iconPalIndex = 0, + SHADOW(6, 9, SHADOW_SIZE_M) FOOTPRINT(Crawdaunt) OVERWORLD( sPicTable_Crawdaunt, @@ -7270,10 +7518,10 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Baltoy, .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 14, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 14, .frontAnimFrames = sAnims_Baltoy, .frontAnimId = ANIM_H_SLIDE_WOBBLE, - .enemyMonElevation = 8, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 4 : 8, .backPic = gMonBackPic_Baltoy, .backPicSize = MON_COORDS_SIZE(64, 48), .backPicYOffset = 8, @@ -7281,7 +7529,8 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .palette = gMonPalette_Baltoy, .shinyPalette = gMonShinyPalette_Baltoy, .iconSprite = gMonIcon_Baltoy, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 2, + SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Baltoy) OVERWORLD( sPicTable_Baltoy, @@ -7333,7 +7582,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 1, .frontPic = gMonFrontPic_Claydol, .frontPicSize = MON_COORDS_SIZE(56, 64), - .frontPicYOffset = 3, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 3, .frontAnimFrames = sAnims_Claydol, .frontAnimId = ANIM_V_SLIDE_WOBBLE_SMALL, .enemyMonElevation = 10, @@ -7345,6 +7594,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Claydol, .iconSprite = gMonIcon_Claydol, .iconPalIndex = 0, + SHADOW(0, 18, SHADOW_SIZE_M) FOOTPRINT(Claydol) OVERWORLD( sPicTable_Claydol, @@ -7407,13 +7657,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontAnimFrames = sAnims_Lileep, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Lileep, - .backPicSize = MON_COORDS_SIZE(48, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(48, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 9 : 8, .backAnimId = BACK_ANIM_H_STRETCH, .palette = gMonPalette_Lileep, .shinyPalette = gMonShinyPalette_Lileep, .iconSprite = gMonIcon_Lileep, .iconPalIndex = 2, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Lileep) OVERWORLD( sPicTable_Lileep, @@ -7476,13 +7727,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontAnimFrames = sAnims_Cradily, .frontAnimId = ANIM_V_SHAKE_TWICE, .backPic = gMonBackPic_Cradily, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 0, .backAnimId = BACK_ANIM_V_STRETCH, .palette = gMonPalette_Cradily, .shinyPalette = gMonShinyPalette_Cradily, .iconSprite = gMonIcon_Cradily, - .iconPalIndex = 1, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 1, + SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Cradily) OVERWORLD( sPicTable_Cradily, @@ -7539,18 +7791,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Anorith, - .frontPicSize = MON_COORDS_SIZE(48, 56), - .frontPicYOffset = 7, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 7, .frontAnimFrames = sAnims_Anorith, .frontAnimId = ANIM_TWIST, .backPic = gMonBackPic_Anorith, - .backPicSize = MON_COORDS_SIZE(56, 32), - .backPicYOffset = 19, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 24) : MON_COORDS_SIZE(56, 32), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 23 : 19, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Anorith, .shinyPalette = gMonShinyPalette_Anorith, .iconSprite = gMonIcon_Anorith, .iconPalIndex = 0, + SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Anorith) OVERWORLD( sPicTable_Anorith, @@ -7608,17 +7861,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Armaldo, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 2, .frontAnimFrames = sAnims_Armaldo, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Armaldo, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 0, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Armaldo, .shinyPalette = gMonShinyPalette_Armaldo, .iconSprite = gMonIcon_Armaldo, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 2, + SHADOW(-2, 11, SHADOW_SIZE_L) FOOTPRINT(Armaldo) OVERWORLD( sPicTable_Armaldo, @@ -7673,18 +7927,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Feebas, - .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 10, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(40, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 10, .frontAnimFrames = sAnims_Feebas, .frontAnimId = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, .backPic = gMonBackPic_Feebas, .backPicSize = MON_COORDS_SIZE(48, 56), - .backPicYOffset = 6, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 6, .backAnimId = BACK_ANIM_H_SPRING, .palette = gMonPalette_Feebas, .shinyPalette = gMonShinyPalette_Feebas, .iconSprite = gMonIcon_Feebas, .iconPalIndex = 2, + SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Feebas) OVERWORLD( sPicTable_Feebas, @@ -7741,23 +7996,26 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 360, .trainerOffset = 7, .frontPic = gMonFrontPic_Milotic, - .frontPicFemale = gMonFrontPic_MiloticF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 2, .frontAnimFrames = sAnims_Milotic, - .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_GLOW_BLUE : ANIM_CIRCULAR_STRETCH_TWICE, .frontAnimDelay = 45, .backPic = gMonBackPic_Milotic, - .backPicFemale = gMonBackPic_MiloticF, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 64) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 0, .backAnimId = BACK_ANIM_SHAKE_GLOW_BLUE, .palette = gMonPalette_Milotic, .shinyPalette = gMonShinyPalette_Milotic, .iconSprite = gMonIcon_Milotic, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 0 : 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_MiloticF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_MiloticF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Milotic) OVERWORLD( sPicTable_Milotic, @@ -7767,6 +8025,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Milotic, gShinyOverworldPalette_Milotic ) + OVERWORLD_FEMALE( + sPicTable_MiloticF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_SLITHER + ) .levelUpLearnset = sMiloticLevelUpLearnset, .teachableLearnset = sMiloticTeachableLearnset, }, @@ -7823,6 +8087,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_CastformNormal, .iconSprite = gMonIcon_CastformNormal, .iconPalIndex = 0, + SHADOW(1, 10, SHADOW_SIZE_S) FOOTPRINT(Castform) OVERWORLD( sPicTable_CastformNormal, @@ -7889,6 +8154,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_CastformSunny, .iconSprite = gMonIcon_CastformSunny, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Castform) OVERWORLD( sPicTable_CastformSunny, @@ -7955,6 +8221,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_CastformRainy, .iconSprite = gMonIcon_CastformRainy, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Castform) OVERWORLD( sPicTable_CastformRainy, @@ -8021,6 +8288,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_CastformSnowy, .iconSprite = gMonIcon_CastformSnowy, .iconPalIndex = 0, + SHADOW(0, 8, SHADOW_SIZE_S) FOOTPRINT(Castform) OVERWORLD( sPicTable_CastformSnowy, @@ -8079,18 +8347,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Kecleon, .frontPicSize = MON_COORDS_SIZE(48, 56), - .frontPicYOffset = 5, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 5, .frontAnimFrames = sAnims_Kecleon, .frontAnimId = ANIM_FLICKER_INCREASING, .frontAnimDelay = 30, .backPic = gMonBackPic_Kecleon, - .backPicSize = MON_COORDS_SIZE(56, 56), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 56), .backPicYOffset = 6, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Kecleon, .shinyPalette = gMonShinyPalette_Kecleon, .iconSprite = gMonIcon_Kecleon, .iconPalIndex = 1, + SHADOW(2, 8, SHADOW_SIZE_S) FOOTPRINT(Kecleon) OVERWORLD( sPicTable_Kecleon, @@ -8147,19 +8416,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Shuppet, - .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicYOffset = 13, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(40, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 13, .frontAnimFrames = sAnims_Shuppet, .frontAnimId = ANIM_V_SLIDE_WOBBLE, - .enemyMonElevation = 14, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 12 : 14, .backPic = gMonBackPic_Shuppet, .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 5, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 5, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Shuppet, .shinyPalette = gMonShinyPalette_Shuppet, .iconSprite = gMonIcon_Shuppet, .iconPalIndex = 0, + SHADOW(2, 12, SHADOW_SIZE_S) FOOTPRINT(Shuppet) OVERWORLD( sPicTable_Shuppet, @@ -8215,18 +8485,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Banette, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 7, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(56, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 7, .frontAnimFrames = sAnims_Banette, - .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONVEX : ANIM_CIRCULAR_STRETCH_TWICE, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 8 : 0, .backPic = gMonBackPic_Banette, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 5, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 5, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Banette, .shinyPalette = gMonShinyPalette_Banette, .iconSprite = gMonIcon_Banette, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Banette) OVERWORLD( sPicTable_Banette, @@ -8291,6 +8563,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_BanetteMega, .iconSprite = gMonIcon_BanetteMega, .iconPalIndex = 0, + SHADOW(0, 16, SHADOW_SIZE_M) FOOTPRINT(Banette) .isMegaEvolution = TRUE, .levelUpLearnset = sBanetteLevelUpLearnset, @@ -8343,19 +8616,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Duskull, - .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(40, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 12, .frontAnimFrames = sAnims_Duskull, .frontAnimId = ANIM_ZIGZAG_FAST, - .enemyMonElevation = 13, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 9 : 13, .backPic = gMonBackPic_Duskull, - .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 8, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Duskull, .shinyPalette = gMonShinyPalette_Duskull, .iconSprite = gMonIcon_Duskull, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Duskull) OVERWORLD( sPicTable_Duskull, @@ -8412,19 +8686,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 299, .trainerOffset = 1, .frontPic = gMonFrontPic_Dusclops, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 3, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 3, .frontAnimFrames = sAnims_Dusclops, .frontAnimId = ANIM_H_VIBRATE, .frontAnimDelay = 30, .backPic = gMonBackPic_Dusclops, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 2, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 2, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Dusclops, .shinyPalette = gMonShinyPalette_Dusclops, .iconSprite = gMonIcon_Dusclops, .iconPalIndex = 0, + SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Dusclops) OVERWORLD( sPicTable_Dusclops, @@ -8501,6 +8776,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Dusknoir, .iconSprite = gMonIcon_Dusknoir, .iconPalIndex = 2, + SHADOW(6, 13, SHADOW_SIZE_M) FOOTPRINT(Dusknoir) OVERWORLD( sPicTable_Dusknoir, @@ -8561,13 +8837,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontAnimFrames = sAnims_Tropius, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Tropius, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 0, .backAnimId = BACK_ANIM_V_SHAKE_LOW, .palette = gMonPalette_Tropius, .shinyPalette = gMonShinyPalette_Tropius, .iconSprite = gMonIcon_Tropius, .iconPalIndex = 1, + SHADOW(-6, 13, SHADOW_SIZE_L) FOOTPRINT(Tropius) OVERWORLD( sPicTable_Tropius, @@ -8633,6 +8910,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Chingling, .iconSprite = gMonIcon_Chingling, .iconPalIndex = 1, + SHADOW(-1, -2, SHADOW_SIZE_S) FOOTPRINT(Chingling) OVERWORLD( sPicTable_Chingling, @@ -8696,15 +8974,16 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPicYOffset = 11, .frontAnimFrames = sAnims_Chimecho, .frontAnimId = ANIM_H_SLIDE_WOBBLE, - .enemyMonElevation = 16, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 12 : 16, .backPic = gMonBackPic_Chimecho, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 9, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 9, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Chimecho, .shinyPalette = gMonShinyPalette_Chimecho, .iconSprite = gMonIcon_Chimecho, .iconPalIndex = 0, + SHADOW(-3, 16, SHADOW_SIZE_S) FOOTPRINT(Chimecho) OVERWORLD( sPicTable_Chimecho, @@ -8761,19 +9040,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Absol, - .frontPicSize = MON_COORDS_SIZE(56, 64), - .frontPicYOffset = 2, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 64) : MON_COORDS_SIZE(56, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 0 : 2, .frontAnimFrames = sAnims_Absol, .frontAnimId = ANIM_CIRCULAR_VIBRATE, .frontAnimDelay = 45, .backPic = gMonBackPic_Absol, - .backPicSize = MON_COORDS_SIZE(64, 64), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .backPicYOffset = 3, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Absol, .shinyPalette = gMonShinyPalette_Absol, .iconSprite = gMonIcon_Absol, .iconPalIndex = 0, + SHADOW(4, 6, SHADOW_SIZE_L) FOOTPRINT(Absol) OVERWORLD( sPicTable_Absol, @@ -8839,6 +9119,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_AbsolMega, .iconSprite = gMonIcon_AbsolMega, .iconPalIndex = 0, + SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Absol) .isMegaEvolution = TRUE, .levelUpLearnset = sAbsolLevelUpLearnset, @@ -8891,8 +9172,8 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Snorunt, - .frontPicSize = MON_COORDS_SIZE(32, 40), - .frontPicYOffset = 12, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(32, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 12, .frontAnimFrames = sAnims_Snorunt, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE_SLOW, .frontAnimDelay = 20, @@ -8904,6 +9185,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Snorunt, .iconSprite = gMonIcon_Snorunt, .iconPalIndex = 2, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Snorunt) OVERWORLD( sPicTable_Snorunt, @@ -8959,19 +9241,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 344, .trainerOffset = 0, .frontPic = gMonFrontPic_Glalie, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 8, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 48) : MON_COORDS_SIZE(56, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 8, .frontAnimFrames = sAnims_Glalie, .frontAnimId = ANIM_ZIGZAG_FAST, .enemyMonElevation = 12, .backPic = gMonBackPic_Glalie, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 10, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 12 : 10, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Glalie, .shinyPalette = gMonShinyPalette_Glalie, .iconSprite = gMonIcon_Glalie, .iconPalIndex = 0, + SHADOW(1, 15, SHADOW_SIZE_M) FOOTPRINT(Glalie) OVERWORLD( sPicTable_Glalie, @@ -9035,6 +9318,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_GlalieMega, .iconSprite = gMonIcon_GlalieMega, .iconPalIndex = 0, + SHADOW(3, 18, SHADOW_SIZE_L) FOOTPRINT(Glalie) .isMegaEvolution = TRUE, .levelUpLearnset = sGlalieLevelUpLearnset, @@ -9093,6 +9377,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Froslass, .iconSprite = gMonIcon_Froslass, .iconPalIndex = 0, + SHADOW(-1, 10, SHADOW_SIZE_S) FOOTPRINT(Froslass) OVERWORLD( sPicTable_Froslass, @@ -9148,19 +9433,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Spheal, - .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 40) : MON_COORDS_SIZE(40, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 11, .frontAnimFrames = sAnims_Spheal, - .frontAnimId = ANIM_SPIN_LONG, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SPIN : ANIM_SPIN_LONG, .frontAnimDelay = 15, .backPic = gMonBackPic_Spheal, - .backPicSize = MON_COORDS_SIZE(48, 40), - .backPicYOffset = 15, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 32) : MON_COORDS_SIZE(48, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 18 : 15, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Spheal, .shinyPalette = gMonShinyPalette_Spheal, .iconSprite = gMonIcon_Spheal, .iconPalIndex = 2, + SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Spheal) OVERWORLD( sPicTable_Spheal, @@ -9215,18 +9501,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Sealeo, - .frontPicSize = MON_COORDS_SIZE(56, 48), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = 10, .frontAnimFrames = sAnims_Sealeo, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Sealeo, .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 11, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 11, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Sealeo, .shinyPalette = gMonShinyPalette_Sealeo, .iconSprite = gMonIcon_Sealeo, .iconPalIndex = 2, + SHADOW(-1, 2, SHADOW_SIZE_L) FOOTPRINT(Sealeo) OVERWORLD( sPicTable_Sealeo, @@ -9291,13 +9578,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontAnimFrames = sAnims_Walrein, .frontAnimId = ANIM_H_SHAKE, .backPic = gMonBackPic_Walrein, - .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 0, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Walrein, .shinyPalette = gMonShinyPalette_Walrein, .iconSprite = gMonIcon_Walrein, .iconPalIndex = 0, + SHADOW(0, 8, SHADOW_SIZE_L) FOOTPRINT(Walrein) OVERWORLD( sPicTable_Walrein, @@ -9350,18 +9638,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Clamperl, - .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicYOffset = 11, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(40, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 11, .frontAnimFrames = sAnims_Clamperl, .frontAnimId = ANIM_TWIST, .backPic = gMonBackPic_Clamperl, - .backPicSize = MON_COORDS_SIZE(56, 40), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(56, 40), .backPicYOffset = 13, .backAnimId = BACK_ANIM_DIP_RIGHT_SIDE, .palette = gMonPalette_Clamperl, .shinyPalette = gMonShinyPalette_Clamperl, .iconSprite = gMonIcon_Clamperl, .iconPalIndex = 0, + SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Clamperl) OVERWORLD( sPicTable_Clamperl, @@ -9417,18 +9706,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Huntail, - .frontPicSize = MON_COORDS_SIZE(64, 64), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, .frontAnimFrames = sAnims_Huntail, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Huntail, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 4, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 64) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 4, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Huntail, .shinyPalette = gMonShinyPalette_Huntail, .iconSprite = gMonIcon_Huntail, .iconPalIndex = 0, + SHADOW(2, 7, SHADOW_SIZE_L) FOOTPRINT(Huntail) OVERWORLD( sPicTable_Huntail, @@ -9478,18 +9768,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Gorebyss, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 6, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 6, .frontAnimFrames = sAnims_Gorebyss, .frontAnimId = ANIM_V_SLIDE_WOBBLE, .backPic = gMonBackPic_Gorebyss, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 6, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Gorebyss, .shinyPalette = gMonShinyPalette_Gorebyss, .iconSprite = gMonIcon_Gorebyss, .iconPalIndex = 0, + SHADOW(-1, 5, SHADOW_SIZE_M) FOOTPRINT(Gorebyss) OVERWORLD( sPicTable_Gorebyss, @@ -9542,22 +9833,25 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Relicanth, - .frontPicFemale = gMonFrontPic_RelicanthF, .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 8, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 8, .frontAnimFrames = sAnims_Relicanth, .frontAnimId = ANIM_TIP_MOVE_FORWARD, .backPic = gMonBackPic_Relicanth, - .backPicFemale = gMonBackPic_RelicanthF, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicSizeFemale = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 12, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 12, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Relicanth, .shinyPalette = gMonShinyPalette_Relicanth, .iconSprite = gMonIcon_Relicanth, - .iconPalIndex = 2, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 1 : 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_RelicanthF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), + .backPicFemale = gMonBackPic_RelicanthF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 40), +#endif //P_GENDER_DIFFERENCES + SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Relicanth) OVERWORLD( sPicTable_Relicanth, @@ -9567,6 +9861,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Relicanth, gShinyOverworldPalette_Relicanth ) + OVERWORLD_FEMALE( + sPicTable_RelicanthF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_NONE + ) .levelUpLearnset = sRelicanthLevelUpLearnset, .teachableLearnset = sRelicanthTeachableLearnset, .eggMoveLearnset = sRelicanthEggMoveLearnset, @@ -9610,18 +9910,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Luvdisc, - .frontPicSize = MON_COORDS_SIZE(32, 40), - .frontPicYOffset = 14, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(32, 40), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 24 : 14, .frontAnimFrames = sAnims_Luvdisc, .frontAnimId = ANIM_H_SLIDE_WOBBLE, .backPic = gMonBackPic_Luvdisc, - .backPicSize = MON_COORDS_SIZE(40, 48), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(32, 48) : MON_COORDS_SIZE(40, 48), .backPicYOffset = 10, .backAnimId = BACK_ANIM_H_SPRING_REPEATED, .palette = gMonPalette_Luvdisc, .shinyPalette = gMonShinyPalette_Luvdisc, .iconSprite = gMonIcon_Luvdisc, .iconPalIndex = 0, + SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Luvdisc) OVERWORLD( sPicTable_Luvdisc, @@ -9674,18 +9975,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Bagon, - .frontPicSize = MON_COORDS_SIZE(32, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 48) : MON_COORDS_SIZE(32, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 11 : 9, .frontAnimFrames = sAnims_Bagon, - .frontAnimId = ANIM_H_SHAKE, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SHAKE_TWICE : ANIM_H_SHAKE, .backPic = gMonBackPic_Bagon, - .backPicSize = MON_COORDS_SIZE(48, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(48, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 8 : 6, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Bagon, .shinyPalette = gMonShinyPalette_Bagon, .iconSprite = gMonIcon_Bagon, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(4, 3, SHADOW_SIZE_S) FOOTPRINT(Bagon) OVERWORLD( sPicTable_Bagon, @@ -9743,12 +10045,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontAnimId = ANIM_V_SLIDE, .backPic = gMonBackPic_Shelgon, .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 12, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 13 : 12, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Shelgon, .shinyPalette = gMonShinyPalette_Shelgon, .iconSprite = gMonIcon_Shelgon, .iconPalIndex = 2, + SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Shelgon) OVERWORLD( sPicTable_Shelgon, @@ -9805,19 +10108,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Salamence, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 3, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, .frontAnimFrames = sAnims_Salamence, .frontAnimId = ANIM_H_SHAKE, .frontAnimDelay = 70, .backPic = gMonBackPic_Salamence, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 4, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 56) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 4, .backAnimId = BACK_ANIM_H_SHAKE, .palette = gMonPalette_Salamence, .shinyPalette = gMonShinyPalette_Salamence, .iconSprite = gMonIcon_Salamence, .iconPalIndex = 0, + SHADOW(3, 8, SHADOW_SIZE_L) FOOTPRINT(Salamence) OVERWORLD( sPicTable_Salamence, @@ -9882,6 +10186,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_SalamenceMega, .iconSprite = gMonIcon_SalamenceMega, .iconPalIndex = 0, + SHADOW(3, 8, SHADOW_SIZE_L) FOOTPRINT(Salamence) .isMegaEvolution = TRUE, .levelUpLearnset = sSalamenceLevelUpLearnset, @@ -9929,19 +10234,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Beldum, - .frontPicSize = MON_COORDS_SIZE(48, 40), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(40, 40) : MON_COORDS_SIZE(48, 40), .frontPicYOffset = 15, .frontAnimFrames = sAnims_Beldum, .frontAnimId = ANIM_H_SHAKE, .enemyMonElevation = 8, .backPic = gMonBackPic_Beldum, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 9, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 10 : 9, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Beldum, .shinyPalette = gMonShinyPalette_Beldum, .iconSprite = gMonIcon_Beldum, .iconPalIndex = 0, + SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Beldum) OVERWORLD( sPicTable_Beldum, @@ -9993,18 +10299,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Metang, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 9, .frontAnimFrames = sAnims_Metang, .frontAnimId = ANIM_V_SLIDE, .backPic = gMonBackPic_Metang, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 13, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 32) : MON_COORDS_SIZE(64, 40), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 16 : 13, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Metang, .shinyPalette = gMonShinyPalette_Metang, .iconSprite = gMonIcon_Metang, .iconPalIndex = 0, + SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Metang) OVERWORLD( sPicTable_Metang, @@ -10061,18 +10368,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 447, .trainerOffset = 9, .frontPic = gMonFrontPic_Metagross, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 9, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 6 : 9, .frontAnimFrames = sAnims_Metagross, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Metagross, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 24) : MON_COORDS_SIZE(64, 56), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 20 : 6, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Metagross, .shinyPalette = gMonShinyPalette_Metagross, .iconSprite = gMonIcon_Metagross, .iconPalIndex = 0, + SHADOW(2, -2, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Metagross) OVERWORLD( sPicTable_Metagross, @@ -10137,6 +10445,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_MetagrossMega, .iconSprite = gMonIcon_MetagrossMega, .iconPalIndex = 0, + SHADOW(1, 15, SHADOW_SIZE_L) FOOTPRINT(Metagross) .isMegaEvolution = TRUE, .levelUpLearnset = sMetagrossLevelUpLearnset, @@ -10190,18 +10499,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 309, .trainerOffset = 1, .frontPic = gMonFrontPic_Regirock, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 3, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 3, .frontAnimFrames = sAnims_Regirock, .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, .backPic = gMonBackPic_Regirock, - .backPicSize = MON_COORDS_SIZE(64, 56), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 48) : MON_COORDS_SIZE(64, 56), .backPicYOffset = 10, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Regirock, .shinyPalette = gMonShinyPalette_Regirock, .iconSprite = gMonIcon_Regirock, .iconPalIndex = 2, + SHADOW(1, 10, SHADOW_SIZE_L) FOOTPRINT(Regirock) OVERWORLD( sPicTable_Regirock, @@ -10212,6 +10522,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Regirock ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sRegirockLevelUpLearnset, .teachableLearnset = sRegirockTeachableLearnset, }, @@ -10262,15 +10573,16 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, .frontAnimFrames = sAnims_Regice, - .frontAnimId = ANIM_H_SLIDE_SLOW, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_FOUR_PETAL : ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Regice, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 11, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 11, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Regice, .shinyPalette = gMonShinyPalette_Regice, .iconSprite = gMonIcon_Regice, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(1, 10, SHADOW_SIZE_L) FOOTPRINT(Regice) OVERWORLD( sPicTable_Regice, @@ -10281,6 +10593,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Regice ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sRegiceLevelUpLearnset, .teachableLearnset = sRegiceTeachableLearnset, }, @@ -10329,18 +10642,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 359, .trainerOffset = 6, .frontPic = gMonFrontPic_Registeel, - .frontPicSize = MON_COORDS_SIZE(64, 56), - .frontPicYOffset = 5, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 56), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 5, .frontAnimFrames = sAnims_Registeel, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Registeel, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 11, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 40) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 14 : 11, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Registeel, .shinyPalette = gMonShinyPalette_Registeel, .iconSprite = gMonIcon_Registeel, .iconPalIndex = 2, + SHADOW(4, 8, SHADOW_SIZE_L) FOOTPRINT(Registeel) OVERWORLD( sPicTable_Registeel, @@ -10351,6 +10665,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Registeel ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sRegisteelLevelUpLearnset, .teachableLearnset = sRegisteelTeachableLearnset, }, @@ -10398,19 +10713,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Latias, - .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicYOffset = 8, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(64, 48), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 8, .frontAnimFrames = sAnims_Latias, - .frontAnimId = ANIM_ZIGZAG_SLOW, - .enemyMonElevation = 12, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONCAVE_FAST_SHORT : ANIM_ZIGZAG_SLOW, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 6 : 12, .backPic = gMonBackPic_Latias, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 0, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Latias, .shinyPalette = gMonShinyPalette_Latias, .iconSprite = gMonIcon_Latias, .iconPalIndex = 0, + SHADOW(3, 15, SHADOW_SIZE_M) FOOTPRINT(Latias) OVERWORLD( sPicTable_Latias, @@ -10421,6 +10737,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Latias ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sLatiasLevelUpLearnset, .teachableLearnset = sLatiasTeachableLearnset, .formSpeciesIdTable = sLatiasFormSpeciesIdTable, @@ -10476,9 +10793,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_LatiasMega, .iconSprite = gMonIcon_LatiasMega, .iconPalIndex = 2, + SHADOW(-1, 19, SHADOW_SIZE_L) FOOTPRINT(Latias) .isLegendary = TRUE, .isMegaEvolution = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sLatiasLevelUpLearnset, .teachableLearnset = sLatiasTeachableLearnset, .formSpeciesIdTable = sLatiasFormSpeciesIdTable, @@ -10530,18 +10849,19 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 3, .frontPic = gMonFrontPic_Latios, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 0, .frontAnimFrames = sAnims_Latios, - .frontAnimId = ANIM_CIRCLE_C_CLOCKWISE_SLOW, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_V_SHAKE : ANIM_CIRCLE_C_CLOCKWISE_SLOW, .enemyMonElevation = 6, .backPic = gMonBackPic_Latios, - .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicYOffset = 0, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 64) : MON_COORDS_SIZE(56, 64), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 3 : 0, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Latios, .shinyPalette = gMonShinyPalette_Latios, .iconSprite = gMonIcon_Latios, - .iconPalIndex = 0, + .iconPalIndex = P_GBA_STYLE_SPECIES_ICONS ? 2 : 0, + SHADOW(1, 17, SHADOW_SIZE_M) FOOTPRINT(Latios) OVERWORLD( sPicTable_Latios, @@ -10552,6 +10872,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Latios ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sLatiosLevelUpLearnset, .teachableLearnset = sLatiosTeachableLearnset, .formSpeciesIdTable = sLatiosFormSpeciesIdTable, @@ -10607,9 +10928,11 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_LatiosMega, .iconSprite = gMonIcon_LatiosMega, .iconPalIndex = 2, + SHADOW(-1, 19, SHADOW_SIZE_L) FOOTPRINT(Latios) .isLegendary = TRUE, .isMegaEvolution = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sLatiosLevelUpLearnset, .teachableLearnset = sLatiosTeachableLearnset, .formSpeciesIdTable = sLatiosFormSpeciesIdTable, @@ -10660,19 +10983,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 614, .trainerOffset = 13, .frontPic = gMonFrontPic_Kyogre, - .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 64), + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 4 : 0, .frontAnimFrames = sAnims_Kyogre, .frontAnimId = ANIM_SWING_CONCAVE_FAST_SHORT, .frontAnimDelay = 60, .backPic = gMonBackPic_Kyogre, .backPicSize = MON_COORDS_SIZE(64, 32), - .backPicYOffset = 18, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 19 : 18, .backAnimId = BACK_ANIM_SHAKE_GLOW_BLUE, .palette = gMonPalette_Kyogre, .shinyPalette = gMonShinyPalette_Kyogre, .iconSprite = gMonIcon_Kyogre, .iconPalIndex = 2, + SHADOW(-1, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kyogre) OVERWORLD( sPicTable_Kyogre, @@ -10684,6 +11008,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sKyogreLevelUpLearnset, .teachableLearnset = sKyogreTeachableLearnset, .formSpeciesIdTable = sKyogreFormSpeciesIdTable, @@ -10737,10 +11062,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_KyogrePrimal, .iconSprite = gMonIcon_KyogrePrimal, .iconPalIndex = 0, + SHADOW(-1, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kyogre) .isLegendary = TRUE, .isPrimalReversion = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sKyogreLevelUpLearnset, .teachableLearnset = sKyogreTeachableLearnset, .formSpeciesIdTable = sKyogreFormSpeciesIdTable, @@ -10792,17 +11119,18 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerOffset = 14, .frontPic = gMonFrontPic_Groudon, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 1 : 0, .frontAnimFrames = sAnims_Groudon, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Groudon, - .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicYOffset = 8, + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(64, 56) : MON_COORDS_SIZE(64, 48), + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 7 : 8, .backAnimId = BACK_ANIM_SHAKE_GLOW_RED, .palette = gMonPalette_Groudon, .shinyPalette = gMonShinyPalette_Groudon, .iconSprite = gMonIcon_Groudon, .iconPalIndex = 0, + SHADOW(2, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Groudon) OVERWORLD( sPicTable_Groudon, @@ -10814,6 +11142,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sGroudonLevelUpLearnset, .teachableLearnset = sGroudonTeachableLearnset, .formSpeciesIdTable = sGroudonFormSpeciesIdTable, @@ -10868,10 +11197,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_GroudonPrimal, .iconSprite = gMonIcon_GroudonPrimal, .iconPalIndex = 0, + SHADOW(2, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Groudon) .isLegendary = TRUE, .isPrimalReversion = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sGroudonLevelUpLearnset, .teachableLearnset = sGroudonTeachableLearnset, .formSpeciesIdTable = sGroudonFormSpeciesIdTable, @@ -10930,13 +11261,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontAnimDelay = 60, .enemyMonElevation = 6, .backPic = gMonBackPic_Rayquaza, - .backPicSize = MON_COORDS_SIZE(64, 64), + .backPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(56, 64) : MON_COORDS_SIZE(64, 64), .backPicYOffset = 0, .backAnimId = BACK_ANIM_GROW_STUTTER, .palette = gMonPalette_Rayquaza, .shinyPalette = gMonShinyPalette_Rayquaza, .iconSprite = gMonIcon_Rayquaza, .iconPalIndex = 1, + SHADOW(0, 17, SHADOW_SIZE_L) FOOTPRINT(Rayquaza) OVERWORLD( sPicTable_Rayquaza, @@ -10948,6 +11280,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sRayquazaLevelUpLearnset, .teachableLearnset = sRayquazaTeachableLearnset, .formSpeciesIdTable = sRayquazaFormSpeciesIdTable, @@ -11004,10 +11337,12 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_RayquazaMega, .iconSprite = gMonIcon_RayquazaMega, .iconPalIndex = 1, + SHADOW(0, 15, SHADOW_SIZE_L) FOOTPRINT(Rayquaza) .isLegendary = TRUE, .isMegaEvolution = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sRayquazaLevelUpLearnset, .teachableLearnset = sRayquazaTeachableLearnset, .formSpeciesIdTable = sRayquazaFormSpeciesIdTable, @@ -11060,19 +11395,20 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Jirachi, - .frontPicSize = MON_COORDS_SIZE(56, 48), + .frontPicSize = P_GBA_STYLE_SPECIES_GFX ? MON_COORDS_SIZE(48, 48) : MON_COORDS_SIZE(56, 48), .frontPicYOffset = 13, .frontAnimFrames = sAnims_Jirachi, - .frontAnimId = ANIM_RISING_WOBBLE, - .enemyMonElevation = 14, + .frontAnimId = P_GBA_STYLE_SPECIES_GFX ? ANIM_SWING_CONVEX : ANIM_RISING_WOBBLE, + .enemyMonElevation = P_GBA_STYLE_SPECIES_GFX ? 12 : 14, .backPic = gMonBackPic_Jirachi, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 5 : 6, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Jirachi, .shinyPalette = gMonShinyPalette_Jirachi, .iconSprite = gMonIcon_Jirachi, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Jirachi) OVERWORLD( sPicTable_Jirachi, @@ -11084,6 +11420,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sJirachiLevelUpLearnset, .teachableLearnset = sJirachiTeachableLearnset, }, @@ -11137,12 +11474,13 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_DeoxysNormal, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 6, + .backPicYOffset = P_GBA_STYLE_SPECIES_GFX ? 2 : 6, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_DeoxysNormal, .shinyPalette = gMonShinyPalette_DeoxysNormal, .iconSprite = gMonIcon_DeoxysNormal, .iconPalIndex = 0, + SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Deoxys) OVERWORLD( sPicTable_DeoxysNormal, @@ -11154,6 +11492,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sDeoxysNormalLevelUpLearnset, .teachableLearnset = sDeoxysNormalTeachableLearnset, .formSpeciesIdTable = sDeoxysFormSpeciesIdTable, @@ -11204,7 +11543,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_DeoxysAttack, .iconSprite = gMonIcon_DeoxysAttack, .iconPalIndex = 0, - FOOTPRINT(Deoxys) + SHADOW(0, 14, SHADOW_SIZE_M) OVERWORLD( sPicTable_DeoxysAttack, SIZE_32x32, @@ -11215,6 +11554,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sDeoxysAttackLevelUpLearnset, .teachableLearnset = sDeoxysAttackTeachableLearnset, .formSpeciesIdTable = sDeoxysFormSpeciesIdTable, @@ -11265,6 +11605,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_DeoxysDefense, .iconSprite = gMonIcon_DeoxysDefense, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Deoxys) OVERWORLD( sPicTable_DeoxysDefense, @@ -11276,6 +11617,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sDeoxysDefenseLevelUpLearnset, .teachableLearnset = sDeoxysDefenseTeachableLearnset, .formSpeciesIdTable = sDeoxysFormSpeciesIdTable, @@ -11326,6 +11668,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_DeoxysSpeed, .iconSprite = gMonIcon_DeoxysSpeed, .iconPalIndex = 0, + SHADOW(3, 13, SHADOW_SIZE_M) FOOTPRINT(Deoxys) OVERWORLD( sPicTable_DeoxysSpeed, @@ -11337,6 +11680,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sDeoxysSpeedLevelUpLearnset, .teachableLearnset = sDeoxysSpeedTeachableLearnset, .formSpeciesIdTable = sDeoxysFormSpeciesIdTable, diff --git a/src/data/pokemon/species_info/gen_4_families.h b/src/data/pokemon/species_info/gen_4_families.h index c88dd71ddd5a..b84284de2905 100644 --- a/src/data/pokemon/species_info/gen_4_families.h +++ b/src/data/pokemon/species_info/gen_4_families.h @@ -51,6 +51,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Turtwig, .iconSprite = gMonIcon_Turtwig, .iconPalIndex = 1, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Turtwig) OVERWORLD( sPicTable_Turtwig, @@ -114,6 +115,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Grotle, .iconSprite = gMonIcon_Grotle, .iconPalIndex = 1, + SHADOW(1, 2, SHADOW_SIZE_L) FOOTPRINT(Grotle) OVERWORLD( sPicTable_Grotle, @@ -183,6 +185,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Torterra, .iconSprite = gMonIcon_Torterra, .iconPalIndex = 1, + SHADOW(1, 10, SHADOW_SIZE_L) FOOTPRINT(Torterra) OVERWORLD( sPicTable_Torterra, @@ -246,6 +249,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Chimchar, .iconSprite = gMonIcon_Chimchar, .iconPalIndex = 1, + SHADOW(4, 3, SHADOW_SIZE_S) FOOTPRINT(Chimchar) OVERWORLD( sPicTable_Chimchar, @@ -310,6 +314,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Monferno, .iconSprite = gMonIcon_Monferno, .iconPalIndex = 0, + SHADOW(-7, 6, SHADOW_SIZE_S) FOOTPRINT(Monferno) OVERWORLD( sPicTable_Monferno, @@ -379,6 +384,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Infernape, .iconSprite = gMonIcon_Infernape, .iconPalIndex = 0, + SHADOW(0, 9, SHADOW_SIZE_L) FOOTPRINT(Infernape) OVERWORLD( sPicTable_Infernape, @@ -445,6 +451,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Piplup, .iconSprite = gMonIcon_Piplup, .iconPalIndex = 0, + SHADOW(0, -1, SHADOW_SIZE_S) FOOTPRINT(Piplup) OVERWORLD( sPicTable_Piplup, @@ -511,6 +518,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Prinplup, .iconSprite = gMonIcon_Prinplup, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Prinplup) OVERWORLD( sPicTable_Prinplup, @@ -582,6 +590,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Empoleon, .iconSprite = gMonIcon_Empoleon, .iconPalIndex = 0, + SHADOW(2, 12, SHADOW_SIZE_M) FOOTPRINT(Empoleon) OVERWORLD( sPicTable_Empoleon, @@ -636,22 +645,25 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Starly, - .frontPicFemale = gMonFrontPic_StarlyF, .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicSizeFemale = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 12, .frontAnimFrames = sAnims_Starly, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Starly, - .backPicFemale = gMonBackPic_StarlyF, .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicSizeFemale = MON_COORDS_SIZE(56, 48), .backPicYOffset = 11, .backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL, .palette = gMonPalette_Starly, .shinyPalette = gMonShinyPalette_Starly, .iconSprite = gMonIcon_Starly, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_StarlyF, + .frontPicSizeFemale = MON_COORDS_SIZE(40, 40), + .backPicFemale = gMonBackPic_StarlyF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Starly) OVERWORLD( sPicTable_Starly, @@ -661,6 +673,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Starly, gShinyOverworldPalette_Starly ) + OVERWORLD_FEMALE( + sPicTable_StarlyF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sStarlyLevelUpLearnset, .teachableLearnset = sStarlyTeachableLearnset, .eggMoveLearnset = sStarlyEggMoveLearnset, @@ -702,22 +720,25 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Staravia, - .frontPicFemale = gMonFrontPic_StaraviaF, .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 8, .frontAnimFrames = sAnims_Staravia, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Staravia, - .backPicFemale = gMonBackPic_StaraviaF, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), .backPicYOffset = 6, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Staravia, .shinyPalette = gMonShinyPalette_Staravia, .iconSprite = gMonIcon_Staravia, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_StaraviaF, + .frontPicSizeFemale = MON_COORDS_SIZE(40, 48), + .backPicFemale = gMonBackPic_StaraviaF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Staravia) OVERWORLD( sPicTable_Staravia, @@ -727,6 +748,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Staravia, gShinyOverworldPalette_Staravia ) + OVERWORLD_FEMALE( + sPicTable_StaraviaF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sStaraviaLevelUpLearnset, .teachableLearnset = sStaraviaTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_STARAPTOR}), @@ -775,9 +802,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Staraptor, - .frontPicFemale = gMonFrontPic_StaraptorF, .frontPicSize = MON_COORDS_SIZE(56, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 3, .frontAnimFrames = sAnims_Staraptor, .frontAnimId = ANIM_V_SHAKE, @@ -789,6 +814,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Staraptor, .iconSprite = gMonIcon_Staraptor, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_StaraptorF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(1, 10, SHADOW_SIZE_M) FOOTPRINT(Staraptor) OVERWORLD( sPicTable_Staraptor, @@ -798,6 +828,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Staraptor, gShinyOverworldPalette_Staraptor ) + OVERWORLD_FEMALE( + sPicTable_StaraptorF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sStaraptorLevelUpLearnset, .teachableLearnset = sStaraptorTeachableLearnset, }, @@ -839,22 +875,25 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Bidoof, - .frontPicFemale = gMonFrontPic_BidoofF, .frontPicSize = MON_COORDS_SIZE(40, 40), - .frontPicSizeFemale = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 12, .frontAnimFrames = sAnims_Bidoof, .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Bidoof, - .backPicFemale = gMonBackPic_BidoofF, .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicSizeFemale = MON_COORDS_SIZE(64, 40), .backPicYOffset = 13, .backAnimId = BACK_ANIM_V_SHAKE_H_SLIDE, .palette = gMonPalette_Bidoof, .shinyPalette = gMonShinyPalette_Bidoof, .iconSprite = gMonIcon_Bidoof, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_BidoofF, + .frontPicSizeFemale = MON_COORDS_SIZE(40, 40), + .backPicFemale = gMonBackPic_BidoofF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 40), +#endif //P_GENDER_DIFFERENCES + SHADOW(1, 1, SHADOW_SIZE_M) FOOTPRINT(Bidoof) OVERWORLD( sPicTable_Bidoof, @@ -864,6 +903,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Bidoof, gShinyOverworldPalette_Bidoof ) + OVERWORLD_FEMALE( + sPicTable_BidoofF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sBidoofLevelUpLearnset, .teachableLearnset = sBidoofTeachableLearnset, .eggMoveLearnset = sBidoofEggMoveLearnset, @@ -905,9 +950,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 257, .trainerOffset = 0, .frontPic = gMonFrontPic_Bibarel, - .frontPicFemale = gMonFrontPic_BibarelF, .frontPicSize = MON_COORDS_SIZE(56, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 8, .frontAnimFrames = sAnims_Bibarel, .frontAnimId = ANIM_GROW_VIBRATE, @@ -919,6 +962,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Bibarel, .iconSprite = gMonIcon_Bibarel, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_BibarelF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(-5, 5, SHADOW_SIZE_M) FOOTPRINT(Bibarel) OVERWORLD( sPicTable_Bibarel, @@ -928,6 +976,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Bibarel, gShinyOverworldPalette_Bibarel ) + OVERWORLD_FEMALE( + sPicTable_BibarelF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sBibarelLevelUpLearnset, .teachableLearnset = sBibarelTeachableLearnset, }, @@ -970,22 +1024,25 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Kricketot, - .frontPicFemale = gMonFrontPic_KricketotF, .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 11, .frontAnimFrames = sAnims_Kricketot, .frontAnimId = ANIM_H_JUMPS, .backPic = gMonBackPic_Kricketot, - .backPicFemale = gMonBackPic_KricketotF, .backPicSize = MON_COORDS_SIZE(48, 56), - .backPicSizeFemale = MON_COORDS_SIZE(48, 56), .backPicYOffset = 6, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Kricketot, .shinyPalette = gMonShinyPalette_Kricketot, .iconSprite = gMonIcon_Kricketot, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_KricketotF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 48), + .backPicFemale = gMonBackPic_KricketotF, + .backPicSizeFemale = MON_COORDS_SIZE(48, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(-5, 2, SHADOW_SIZE_S) FOOTPRINT(Kricketot) OVERWORLD( sPicTable_Kricketot, @@ -995,6 +1052,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Kricketot, gShinyOverworldPalette_Kricketot ) + OVERWORLD_FEMALE( + sPicTable_KricketotF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .tmIlliterate = TRUE, .levelUpLearnset = sKricketotLevelUpLearnset, .teachableLearnset = sKricketotTeachableLearnset, @@ -1037,22 +1100,25 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 257, .trainerOffset = 0, .frontPic = gMonFrontPic_Kricketune, - .frontPicFemale = gMonFrontPic_KricketuneF, .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 7, .frontAnimFrames = sAnims_Kricketune, .frontAnimId = ANIM_H_SLIDE_SLOW, .backPic = gMonBackPic_Kricketune, - .backPicFemale = gMonBackPic_KricketuneF, .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicSizeFemale = MON_COORDS_SIZE(56, 64), .backPicYOffset = 3, .backAnimId = BACK_ANIM_H_VIBRATE, .palette = gMonPalette_Kricketune, .shinyPalette = gMonShinyPalette_Kricketune, .iconSprite = gMonIcon_Kricketune, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_KricketuneF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), + .backPicFemale = gMonBackPic_KricketuneF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-3, 6, SHADOW_SIZE_S) FOOTPRINT(Kricketune) OVERWORLD( sPicTable_Kricketune, @@ -1062,6 +1128,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Kricketune, gShinyOverworldPalette_Kricketune ) + OVERWORLD_FEMALE( + sPicTable_KricketuneF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sKricketuneLevelUpLearnset, .teachableLearnset = sKricketuneTeachableLearnset, }, @@ -1103,22 +1175,25 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Shinx, - .frontPicFemale = gMonFrontPic_ShinxF, .frontPicSize = MON_COORDS_SIZE(48, 40), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 13, .frontAnimFrames = sAnims_Shinx, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Shinx, - .backPicFemale = gMonBackPic_ShinxF, .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicSizeFemale = MON_COORDS_SIZE(64, 48), .backPicYOffset = 8, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Shinx, .shinyPalette = gMonShinyPalette_Shinx, .iconSprite = gMonIcon_Shinx, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_ShinxF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 40), + .backPicFemale = gMonBackPic_ShinxF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Shinx) OVERWORLD( sPicTable_Shinx, @@ -1128,6 +1203,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Shinx, gShinyOverworldPalette_Shinx ) + OVERWORLD_FEMALE( + sPicTable_ShinxF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sShinxLevelUpLearnset, .teachableLearnset = sShinxTeachableLearnset, .eggMoveLearnset = sShinxEggMoveLearnset, @@ -1169,22 +1250,25 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Luxio, - .frontPicFemale = gMonFrontPic_LuxioF, .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 10, .frontAnimFrames = sAnims_Luxio, .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_Luxio, - .backPicFemale = gMonBackPic_LuxioF, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), .backPicYOffset = 4, .backAnimId = BACK_ANIM_JOLT_RIGHT, .palette = gMonPalette_Luxio, .shinyPalette = gMonShinyPalette_Luxio, .iconSprite = gMonIcon_Luxio, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_LuxioF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 48), + .backPicFemale = gMonBackPic_LuxioF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-4, 2, SHADOW_SIZE_M) FOOTPRINT(Luxio) OVERWORLD( sPicTable_Luxio, @@ -1194,6 +1278,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Luxio, gShinyOverworldPalette_Luxio ) + OVERWORLD_FEMALE( + sPicTable_LuxioF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sLuxioLevelUpLearnset, .teachableLearnset = sLuxioTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_LUXRAY}), @@ -1240,22 +1330,25 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 262, .trainerOffset = 0, .frontPic = gMonFrontPic_Luxray, - .frontPicFemale = gMonFrontPic_LuxrayF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, .frontAnimFrames = sAnims_Luxray, .frontAnimId = ANIM_GLOW_YELLOW, .backPic = gMonBackPic_Luxray, - .backPicFemale = gMonBackPic_LuxrayF, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), .backPicYOffset = 0, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, .palette = gMonPalette_Luxray, .shinyPalette = gMonShinyPalette_Luxray, .iconSprite = gMonIcon_Luxray, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_LuxrayF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_LuxrayF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 10, SHADOW_SIZE_L) FOOTPRINT(Luxray) OVERWORLD( sPicTable_Luxray, @@ -1265,6 +1358,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Luxray, gShinyOverworldPalette_Luxray ) + OVERWORLD_FEMALE( + sPicTable_LuxrayF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sLuxrayLevelUpLearnset, .teachableLearnset = sLuxrayTeachableLearnset, }, @@ -1318,6 +1417,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Cranidos, .iconSprite = gMonIcon_Cranidos, .iconPalIndex = 0, + SHADOW(4, 4, SHADOW_SIZE_S) FOOTPRINT(Cranidos) OVERWORLD( sPicTable_Cranidos, @@ -1380,6 +1480,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Rampardos, .iconSprite = gMonIcon_Rampardos, .iconPalIndex = 0, + SHADOW(7, 11, SHADOW_SIZE_L) FOOTPRINT(Rampardos) OVERWORLD( sPicTable_Rampardos, @@ -1442,6 +1543,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Shieldon, .iconSprite = gMonIcon_Shieldon, .iconPalIndex = 1, + SHADOW(3, -1, SHADOW_SIZE_S) FOOTPRINT(Shieldon) OVERWORLD( sPicTable_Shieldon, @@ -1504,6 +1606,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Bastiodon, .iconSprite = gMonIcon_Bastiodon, .iconPalIndex = 1, + SHADOW(1, 6, SHADOW_SIZE_L) FOOTPRINT(Bastiodon) OVERWORLD( sPicTable_Bastiodon, @@ -1519,7 +1622,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = #endif //P_FAMILY_SHIELDON #if P_FAMILY_BURMY - [SPECIES_BURMY_PLANT_CLOAK] = + [SPECIES_BURMY_PLANT] = { .baseHP = 40, .baseAttack = 29, @@ -1567,6 +1670,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_BurmyPlantCloak, .iconSprite = gMonIcon_BurmyPlantCloak, .iconPalIndex = 1, + SHADOW(-1, 8, SHADOW_SIZE_S) FOOTPRINT(Burmy) OVERWORLD( sPicTable_BurmyPlantCloak, @@ -1581,11 +1685,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .teachableLearnset = sBurmyTeachableLearnset, .formSpeciesIdTable = sBurmyFormSpeciesIdTable, .formChangeTable = sBurmyFormChangeTable, - .evolutions = EVOLUTION({EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_PLANT_CLOAK}, - {EVO_LEVEL_MALE, 20, SPECIES_MOTHIM_PLANT_CLOAK}), + .evolutions = EVOLUTION({EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_PLANT}, + {EVO_LEVEL_MALE, 20, SPECIES_MOTHIM_PLANT}), }, - [SPECIES_BURMY_SANDY_CLOAK] = + [SPECIES_BURMY_SANDY] = { .baseHP = 40, .baseAttack = 29, @@ -1619,39 +1723,40 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .pokemonOffset = 24, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_BurmySandyCloak, + .frontPic = gMonFrontPic_BurmySandy, .frontPicSize = MON_COORDS_SIZE(32, 56), .frontPicYOffset = 12, .frontAnimFrames = sAnims_Burmy, .frontAnimId = ANIM_V_STRETCH, .enemyMonElevation = 10, - .backPic = gMonBackPic_BurmySandyCloak, + .backPic = gMonBackPic_BurmySandy, .backPicSize = MON_COORDS_SIZE(32, 56), .backPicYOffset = 7, .backAnimId = BACK_ANIM_H_SHAKE, - .palette = gMonPalette_BurmySandyCloak, - .shinyPalette = gMonShinyPalette_BurmySandyCloak, - .iconSprite = gMonIcon_BurmySandyCloak, + .palette = gMonPalette_BurmySandy, + .shinyPalette = gMonShinyPalette_BurmySandy, + .iconSprite = gMonIcon_BurmySandy, .iconPalIndex = 1, + SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Burmy) OVERWORLD( - sPicTable_BurmySandyCloak, + sPicTable_BurmySandy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_BurmySandyCloak, - gShinyOverworldPalette_BurmySandyCloak + gOverworldPalette_BurmySandy, + gShinyOverworldPalette_BurmySandy ) .tmIlliterate = TRUE, .levelUpLearnset = sBurmyLevelUpLearnset, .teachableLearnset = sBurmyTeachableLearnset, .formSpeciesIdTable = sBurmyFormSpeciesIdTable, .formChangeTable = sBurmyFormChangeTable, - .evolutions = EVOLUTION({EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_SANDY_CLOAK}, - {EVO_LEVEL_MALE, 20, SPECIES_MOTHIM_SANDY_CLOAK}), + .evolutions = EVOLUTION({EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_SANDY}, + {EVO_LEVEL_MALE, 20, SPECIES_MOTHIM_SANDY}), }, - [SPECIES_BURMY_TRASH_CLOAK] = + [SPECIES_BURMY_TRASH] = { .baseHP = 40, .baseAttack = 29, @@ -1685,39 +1790,40 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .pokemonOffset = 24, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_BurmyTrashCloak, + .frontPic = gMonFrontPic_BurmyTrash, .frontPicSize = MON_COORDS_SIZE(32, 56), .frontPicYOffset = 8, .frontAnimFrames = sAnims_Burmy, .frontAnimId = ANIM_V_STRETCH, .enemyMonElevation = 10, - .backPic = gMonBackPic_BurmyTrashCloak, + .backPic = gMonBackPic_BurmyTrash, .backPicSize = MON_COORDS_SIZE(40, 64), .backPicYOffset = 0, .backAnimId = BACK_ANIM_H_SHAKE, - .palette = gMonPalette_BurmyTrashCloak, - .shinyPalette = gMonShinyPalette_BurmyTrashCloak, - .iconSprite = gMonIcon_BurmyTrashCloak, + .palette = gMonPalette_BurmyTrash, + .shinyPalette = gMonShinyPalette_BurmyTrash, + .iconSprite = gMonIcon_BurmyTrash, .iconPalIndex = 0, + SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Burmy) OVERWORLD( - sPicTable_BurmyTrashCloak, + sPicTable_BurmyTrash, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_BurmyTrashCloak, - gShinyOverworldPalette_BurmyTrashCloak + gOverworldPalette_BurmyTrash, + gShinyOverworldPalette_BurmyTrash ) .tmIlliterate = TRUE, .levelUpLearnset = sBurmyLevelUpLearnset, .teachableLearnset = sBurmyTeachableLearnset, .formSpeciesIdTable = sBurmyFormSpeciesIdTable, .formChangeTable = sBurmyFormChangeTable, - .evolutions = EVOLUTION({EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_TRASH_CLOAK}, - {EVO_LEVEL_MALE, 20, SPECIES_MOTHIM_TRASH_CLOAK}), + .evolutions = EVOLUTION({EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_TRASH}, + {EVO_LEVEL_MALE, 20, SPECIES_MOTHIM_TRASH}), }, - [SPECIES_WORMADAM_PLANT_CLOAK] = + [SPECIES_WORMADAM_PLANT] = { .baseHP = 60, .baseAttack = 59, @@ -1766,6 +1872,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_WormadamPlantCloak, .iconSprite = gMonIcon_WormadamPlantCloak, .iconPalIndex = 1, + SHADOW(0, 9, SHADOW_SIZE_S) FOOTPRINT(Wormadam) OVERWORLD( sPicTable_WormadamPlantCloak, @@ -1780,7 +1887,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .formSpeciesIdTable = sWormadamFormSpeciesIdTable, }, - [SPECIES_WORMADAM_SANDY_CLOAK] = + [SPECIES_WORMADAM_SANDY] = { .baseHP = 60, .baseAttack = 79, @@ -1815,35 +1922,36 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .pokemonOffset = 13, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_WormadamSandyCloak, + .frontPic = gMonFrontPic_WormadamSandy, .frontPicSize = MON_COORDS_SIZE(40, 56), .frontPicYOffset = 10, .frontAnimFrames = sAnims_Wormadam, .frontAnimId = ANIM_SWING_CONVEX_FAST_SHORT, .enemyMonElevation = 8, - .backPic = gMonBackPic_WormadamSandyCloak, + .backPic = gMonBackPic_WormadamSandy, .backPicSize = MON_COORDS_SIZE(56, 64), .backPicYOffset = 2, .backAnimId = BACK_ANIM_V_SHAKE, - .palette = gMonPalette_WormadamSandyCloak, - .shinyPalette = gMonShinyPalette_WormadamSandyCloak, - .iconSprite = gMonIcon_WormadamSandyCloak, + .palette = gMonPalette_WormadamSandy, + .shinyPalette = gMonShinyPalette_WormadamSandy, + .iconSprite = gMonIcon_WormadamSandy, .iconPalIndex = 1, + SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Wormadam) OVERWORLD( - sPicTable_WormadamSandyCloak, + sPicTable_WormadamSandy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_WormadamSandyCloak, - gShinyOverworldPalette_WormadamSandyCloak + gOverworldPalette_WormadamSandy, + gShinyOverworldPalette_WormadamSandy ) - .levelUpLearnset = sWormadamSandyCloakLevelUpLearnset, - .teachableLearnset = sWormadamSandyCloakTeachableLearnset, + .levelUpLearnset = sWormadamSandyLevelUpLearnset, + .teachableLearnset = sWormadamSandyTeachableLearnset, .formSpeciesIdTable = sWormadamFormSpeciesIdTable, }, - [SPECIES_WORMADAM_TRASH_CLOAK] = + [SPECIES_WORMADAM_TRASH] = { .baseHP = 60, .baseAttack = 69, @@ -1879,31 +1987,32 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .pokemonOffset = 13, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_WormadamTrashCloak, + .frontPic = gMonFrontPic_WormadamTrash, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 10, .frontAnimFrames = sAnims_Wormadam, .frontAnimId = ANIM_SWING_CONVEX_FAST_SHORT, .enemyMonElevation = 8, - .backPic = gMonBackPic_WormadamTrashCloak, + .backPic = gMonBackPic_WormadamTrash, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 2, .backAnimId = BACK_ANIM_V_SHAKE, - .palette = gMonPalette_WormadamTrashCloak, - .shinyPalette = gMonShinyPalette_WormadamTrashCloak, - .iconSprite = gMonIcon_WormadamTrashCloak, + .palette = gMonPalette_WormadamTrash, + .shinyPalette = gMonShinyPalette_WormadamTrash, + .iconSprite = gMonIcon_WormadamTrash, .iconPalIndex = 0, + SHADOW(0, 9, SHADOW_SIZE_S) FOOTPRINT(Wormadam) OVERWORLD( - sPicTable_WormadamTrashCloak, + sPicTable_WormadamTrash, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_WormadamTrashCloak, - gShinyOverworldPalette_WormadamTrashCloak + gOverworldPalette_WormadamTrash, + gShinyOverworldPalette_WormadamTrash ) - .levelUpLearnset = sWormadamTrashCloakLevelUpLearnset, - .teachableLearnset = sWormadamTrashCloakTeachableLearnset, + .levelUpLearnset = sWormadamTrashLevelUpLearnset, + .teachableLearnset = sWormadamTrashTeachableLearnset, .formSpeciesIdTable = sWormadamFormSpeciesIdTable, }, @@ -1953,6 +2062,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Mothim, \ .iconSprite = gMonIcon_Mothim, \ .iconPalIndex = 0, \ + SHADOW(-1, 9, SHADOW_SIZE_S) \ FOOTPRINT(Mothim) \ OVERWORLD( \ sPicTable_Mothim, \ @@ -1967,9 +2077,9 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .formSpeciesIdTable = sMothimFormSpeciesIdTable, \ } - [SPECIES_MOTHIM_PLANT_CLOAK] = MOTHIM_SPECIES_INFO, - [SPECIES_MOTHIM_SANDY_CLOAK] = MOTHIM_SPECIES_INFO, - [SPECIES_MOTHIM_TRASH_CLOAK] = MOTHIM_SPECIES_INFO, + [SPECIES_MOTHIM_PLANT] = MOTHIM_SPECIES_INFO, + [SPECIES_MOTHIM_SANDY] = MOTHIM_SPECIES_INFO, + [SPECIES_MOTHIM_TRASH] = MOTHIM_SPECIES_INFO, #endif //P_FAMILY_BURMY #if P_FAMILY_COMBEE @@ -2019,11 +2129,14 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .backPicYOffset = 22, .backAnimId = BACK_ANIM_TRIANGLE_DOWN, .palette = gMonPalette_Combee, - .paletteFemale = gMonPalette_CombeeF, .shinyPalette = gMonShinyPalette_Combee, - .shinyPaletteFemale = gMonShinyPalette_CombeeF, .iconSprite = gMonIcon_Combee, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .paletteFemale = gMonPalette_CombeeF, + .shinyPaletteFemale = gMonShinyPalette_CombeeF, +#endif //P_GENDER_DIFFERENCES + SHADOW(-4, 10, SHADOW_SIZE_S) FOOTPRINT(Combee) OVERWORLD( sPicTable_Combee, @@ -2033,6 +2146,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Combee, gShinyOverworldPalette_Combee ) + OVERWORLD_FEMALE( + sPicTable_CombeeF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .tmIlliterate = TRUE, .levelUpLearnset = sCombeeLevelUpLearnset, .teachableLearnset = sCombeeTeachableLearnset, @@ -2089,6 +2208,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Vespiquen, .iconSprite = gMonIcon_Vespiquen, .iconPalIndex = 0, + SHADOW(-1, 11, SHADOW_SIZE_L) FOOTPRINT(Vespiquen) OVERWORLD( sPicTable_Vespiquen, @@ -2139,9 +2259,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Pachirisu, - .frontPicFemale = gMonFrontPic_PachirisuF, .frontPicSize = MON_COORDS_SIZE(48, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 12, .frontAnimFrames = sAnims_Pachirisu, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, @@ -2153,6 +2271,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Pachirisu, .iconSprite = gMonIcon_Pachirisu, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_PachirisuF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Pachirisu) OVERWORLD( sPicTable_Pachirisu, @@ -2162,6 +2285,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Pachirisu, gShinyOverworldPalette_Pachirisu ) + OVERWORLD_FEMALE( + sPicTable_PachirisuF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sPachirisuLevelUpLearnset, .teachableLearnset = sPachirisuTeachableLearnset, .eggMoveLearnset = sPachirisuEggMoveLearnset, @@ -2209,15 +2338,18 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontAnimFrames = sAnims_Buizel, .frontAnimId = ANIM_GROW_VIBRATE, .backPic = gMonBackPic_Buizel, - .backPicFemale = gMonBackPic_BuizelF, .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicSizeFemale = MON_COORDS_SIZE(64, 48), .backPicYOffset = 9, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Buizel, .shinyPalette = gMonShinyPalette_Buizel, .iconSprite = gMonIcon_Buizel, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .backPicFemale = gMonBackPic_BuizelF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(1, 4, SHADOW_SIZE_S) FOOTPRINT(Buizel) OVERWORLD( sPicTable_Buizel, @@ -2227,6 +2359,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Buizel, gShinyOverworldPalette_Buizel ) + OVERWORLD_FEMALE( + sPicTable_BuizelF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sBuizelLevelUpLearnset, .teachableLearnset = sBuizelTeachableLearnset, .eggMoveLearnset = sBuizelEggMoveLearnset, @@ -2273,15 +2411,18 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .frontAnimFrames = sAnims_Floatzel, .frontAnimId = ANIM_H_JUMPS_V_STRETCH, .backPic = gMonBackPic_Floatzel, - .backPicFemale = gMonBackPic_FloatzelF, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), .backPicYOffset = 6, .backAnimId = BACK_ANIM_V_STRETCH, .palette = gMonPalette_Floatzel, .shinyPalette = gMonShinyPalette_Floatzel, .iconSprite = gMonIcon_Floatzel, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .backPicFemale = gMonBackPic_FloatzelF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-4, 10, SHADOW_SIZE_M) FOOTPRINT(Floatzel) OVERWORLD( sPicTable_Floatzel, @@ -2291,6 +2432,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Floatzel, gShinyOverworldPalette_Floatzel ) + OVERWORLD_FEMALE( + sPicTable_FloatzelF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sFloatzelLevelUpLearnset, .teachableLearnset = sFloatzelTeachableLearnset, }, @@ -2345,6 +2492,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Cherubi, .iconSprite = gMonIcon_Cherubi, .iconPalIndex = 1, + SHADOW(-4, -2, SHADOW_SIZE_S) FOOTPRINT(Cherubi) OVERWORLD( sPicTable_Cherubi, @@ -2408,6 +2556,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_CherrimOvercast, .iconSprite = gMonIcon_CherrimOvercast, .iconPalIndex = 0, + SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Cherrim) OVERWORLD( sPicTable_CherrimOvercast, @@ -2471,6 +2620,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_CherrimSunshine, .iconSprite = gMonIcon_CherrimSunshine, .iconPalIndex = 1, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Cherrim) .levelUpLearnset = sCherrimLevelUpLearnset, .teachableLearnset = sCherrimTeachableLearnset, @@ -2480,7 +2630,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = #endif //P_FAMILY_CHERUBI #if P_FAMILY_SHELLOS - [SPECIES_SHELLOS_WEST_SEA] = + [SPECIES_SHELLOS_WEST] = { .baseHP = 76, .baseAttack = 48, @@ -2527,6 +2677,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_ShellosWestSea, .iconSprite = gMonIcon_ShellosWestSea, .iconPalIndex = 0, + SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(Shellos) OVERWORLD( sPicTable_ShellosWestSea, @@ -2540,10 +2691,10 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .teachableLearnset = sShellosTeachableLearnset, .eggMoveLearnset = sShellosEggMoveLearnset, .formSpeciesIdTable = sShellosFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_GASTRODON_WEST_SEA}), + .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_GASTRODON_WEST}), }, - [SPECIES_SHELLOS_EAST_SEA] = + [SPECIES_SHELLOS_EAST] = { .baseHP = 76, .baseAttack = 48, @@ -2577,36 +2728,37 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .pokemonOffset = 13, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_ShellosEastSea, + .frontPic = gMonFrontPic_ShellosEast, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 14, .frontAnimFrames = sAnims_Shellos, .frontAnimId = ANIM_V_STRETCH, - .backPic = gMonBackPic_ShellosEastSea, + .backPic = gMonBackPic_ShellosEast, .backPicSize = MON_COORDS_SIZE(56, 48), .backPicYOffset = 8, .backAnimId = BACK_ANIM_H_SPRING, - .palette = gMonPalette_ShellosEastSea, - .shinyPalette = gMonShinyPalette_ShellosEastSea, - .iconSprite = gMonIcon_ShellosEastSea, + .palette = gMonPalette_ShellosEast, + .shinyPalette = gMonShinyPalette_ShellosEast, + .iconSprite = gMonIcon_ShellosEast, .iconPalIndex = 0, + SHADOW(2, -1, SHADOW_SIZE_S) FOOTPRINT(Shellos) OVERWORLD( - sPicTable_ShellosEastSea, + sPicTable_ShellosEast, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_ShellosEastSea, - gShinyOverworldPalette_ShellosEastSea + gOverworldPalette_ShellosEast, + gShinyOverworldPalette_ShellosEast ) .levelUpLearnset = sShellosLevelUpLearnset, .teachableLearnset = sShellosTeachableLearnset, .eggMoveLearnset = sShellosEggMoveLearnset, .formSpeciesIdTable = sShellosFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_GASTRODON_EAST_SEA}), + .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_GASTRODON_EAST}), }, - [SPECIES_GASTRODON_WEST_SEA] = + [SPECIES_GASTRODON_WEST] = { .baseHP = 111, .baseAttack = 83, @@ -2653,6 +2805,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_GastrodonWestSea, .iconSprite = gMonIcon_GastrodonWestSea, .iconPalIndex = 0, + SHADOW(1, 3, SHADOW_SIZE_M) FOOTPRINT(Gastrodon) OVERWORLD( sPicTable_GastrodonWestSea, @@ -2667,7 +2820,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .formSpeciesIdTable = sGastrodonFormSpeciesIdTable, }, - [SPECIES_GASTRODON_EAST_SEA] = + [SPECIES_GASTRODON_EAST] = { .baseHP = 111, .baseAttack = 83, @@ -2701,27 +2854,28 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .pokemonOffset = 8, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_GastrodonEastSea, + .frontPic = gMonFrontPic_GastrodonEast, .frontPicSize = MON_COORDS_SIZE(56, 48), .frontPicYOffset = 8, .frontAnimFrames = sAnims_Gastrodon, .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, - .backPic = gMonBackPic_GastrodonEastSea, + .backPic = gMonBackPic_GastrodonEast, .backPicSize = MON_COORDS_SIZE(56, 64), .backPicYOffset = 3, .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, - .palette = gMonPalette_GastrodonEastSea, - .shinyPalette = gMonShinyPalette_GastrodonEastSea, - .iconSprite = gMonIcon_GastrodonEastSea, + .palette = gMonPalette_GastrodonEast, + .shinyPalette = gMonShinyPalette_GastrodonEast, + .iconSprite = gMonIcon_GastrodonEast, .iconPalIndex = 0, + SHADOW(2, 4, SHADOW_SIZE_M) FOOTPRINT(Gastrodon) OVERWORLD( - sPicTable_GastrodonEastSea, + sPicTable_GastrodonEast, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_GastrodonEastSea, - gShinyOverworldPalette_GastrodonEastSea + gOverworldPalette_GastrodonEast, + gShinyOverworldPalette_GastrodonEast ) .levelUpLearnset = sGastrodonLevelUpLearnset, .teachableLearnset = sGastrodonTeachableLearnset, @@ -2778,6 +2932,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Drifloon, .iconSprite = gMonIcon_Drifloon, .iconPalIndex = 2, + SHADOW(1, 9, SHADOW_SIZE_S) FOOTPRINT(Drifloon) OVERWORLD( sPicTable_Drifloon, @@ -2841,6 +2996,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Drifblim, .iconSprite = gMonIcon_Drifblim, .iconPalIndex = 2, + SHADOW(0, 11, SHADOW_SIZE_M) FOOTPRINT(Drifblim) OVERWORLD( sPicTable_Drifblim, @@ -2903,6 +3059,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Buneary, .iconSprite = gMonIcon_Buneary, .iconPalIndex = 2, + SHADOW(3, 5, SHADOW_SIZE_S) FOOTPRINT(Buneary) OVERWORLD( sPicTable_Buneary, @@ -2965,6 +3122,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Lopunny, .iconSprite = gMonIcon_Lopunny, .iconPalIndex = 2, + SHADOW(0, 10, SHADOW_SIZE_S) FOOTPRINT(Lopunny) OVERWORLD( sPicTable_Lopunny, @@ -3028,6 +3186,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_LopunnyMega, .iconSprite = gMonIcon_LopunnyMega, .iconPalIndex = 2, + SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Lopunny) .isMegaEvolution = TRUE, .levelUpLearnset = sLopunnyLevelUpLearnset, @@ -3086,6 +3245,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Glameow, .iconSprite = gMonIcon_Glameow, .iconPalIndex = 0, + SHADOW(-3, 6, SHADOW_SIZE_S) FOOTPRINT(Glameow) OVERWORLD( sPicTable_Glameow, @@ -3148,6 +3308,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Purugly, .iconSprite = gMonIcon_Purugly, .iconPalIndex = 0, + SHADOW(4, 8, SHADOW_SIZE_L) FOOTPRINT(Purugly) OVERWORLD( sPicTable_Purugly, @@ -3210,6 +3371,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Stunky, .iconSprite = gMonIcon_Stunky, .iconPalIndex = 2, + SHADOW(-1, 0, SHADOW_SIZE_M) FOOTPRINT(Stunky) OVERWORLD( sPicTable_Stunky, @@ -3272,6 +3434,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Skuntank, .iconSprite = gMonIcon_Skuntank, .iconPalIndex = 2, + SHADOW(-3, 6, SHADOW_SIZE_L) FOOTPRINT(Skuntank) OVERWORLD( sPicTable_Skuntank, @@ -3336,6 +3499,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Bronzor, .iconSprite = gMonIcon_Bronzor, .iconPalIndex = 0, + SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Bronzor) OVERWORLD( sPicTable_Bronzor, @@ -3400,6 +3564,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Bronzong, .iconSprite = gMonIcon_Bronzong, .iconPalIndex = 0, + SHADOW(5, 12, SHADOW_SIZE_M) FOOTPRINT(Bronzong) OVERWORLD( sPicTable_Bronzong, @@ -3463,6 +3628,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Chatot, .iconSprite = gMonIcon_Chatot, .iconPalIndex = 0, + SHADOW(-1, 3, SHADOW_SIZE_S) FOOTPRINT(Chatot) OVERWORLD( sPicTable_Chatot, @@ -3527,6 +3693,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Spiritomb, .iconSprite = gMonIcon_Spiritomb, .iconPalIndex = 5, + SHADOW(-1, 7, SHADOW_SIZE_L) FOOTPRINT(Spiritomb) OVERWORLD( sPicTable_Spiritomb, @@ -3578,22 +3745,25 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Gible, - .frontPicFemale = gMonFrontPic_GibleF, .frontPicSize = MON_COORDS_SIZE(48, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(48, 48), .frontPicYOffset = 9, .frontAnimFrames = sAnims_Gible, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Gible, - .backPicFemale = gMonBackPic_GibleF, .backPicSize = MON_COORDS_SIZE(56, 48), - .backPicSizeFemale = MON_COORDS_SIZE(56, 48), .backPicYOffset = 9, .backAnimId = BACK_ANIM_H_SHAKE, .palette = gMonPalette_Gible, .shinyPalette = gMonShinyPalette_Gible, .iconSprite = gMonIcon_Gible, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_GibleF, + .frontPicSizeFemale = MON_COORDS_SIZE(48, 48), + .backPicFemale = gMonBackPic_GibleF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 48), +#endif //P_GENDER_DIFFERENCES + SHADOW(1, 5, SHADOW_SIZE_M) FOOTPRINT(Gible) OVERWORLD( sPicTable_Gible, @@ -3603,6 +3773,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Gible, gShinyOverworldPalette_Gible ) + OVERWORLD_FEMALE( + sPicTable_GibleF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sGibleLevelUpLearnset, .teachableLearnset = sGibleTeachableLearnset, .eggMoveLearnset = sGibleEggMoveLearnset, @@ -3644,22 +3820,25 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 262, .trainerOffset = 0, .frontPic = gMonFrontPic_Gabite, - .frontPicFemale = gMonFrontPic_GabiteF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, .frontAnimFrames = sAnims_Gabite, .frontAnimId = ANIM_V_STRETCH, .backPic = gMonBackPic_Gabite, - .backPicFemale = gMonBackPic_GabiteF, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), .backPicYOffset = 3, .backAnimId = BACK_ANIM_V_SHAKE, .palette = gMonPalette_Gabite, .shinyPalette = gMonShinyPalette_Gabite, .iconSprite = gMonIcon_Gabite, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_GabiteF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_GabiteF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(3, 8, SHADOW_SIZE_M) FOOTPRINT(Gabite) OVERWORLD( sPicTable_Gabite, @@ -3669,6 +3848,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Gabite, gShinyOverworldPalette_Gabite ) + OVERWORLD_FEMALE( + sPicTable_GabiteF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sGabiteLevelUpLearnset, .teachableLearnset = sGabiteTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 48, SPECIES_GARCHOMP}), @@ -3715,9 +3900,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 326, .trainerOffset = 4, .frontPic = gMonFrontPic_Garchomp, - .frontPicFemale = gMonFrontPic_GarchompF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Garchomp, .frontAnimId = ANIM_V_SHAKE_TWICE, @@ -3729,6 +3912,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Garchomp, .iconSprite = gMonIcon_Garchomp, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_GarchompF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(5, 11, SHADOW_SIZE_L) FOOTPRINT(Garchomp) OVERWORLD( sPicTable_Garchomp, @@ -3738,6 +3926,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Garchomp, gShinyOverworldPalette_Garchomp ) + OVERWORLD_FEMALE( + sPicTable_GarchompF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sGarchompLevelUpLearnset, .teachableLearnset = sGarchompTeachableLearnset, .formSpeciesIdTable = sGarchompFormSpeciesIdTable, @@ -3792,6 +3986,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_GarchompMega, .iconSprite = gMonIcon_GarchompMega, .iconPalIndex = 0, + SHADOW(1, 12, SHADOW_SIZE_L) FOOTPRINT(Garchomp) .isMegaEvolution = TRUE, .levelUpLearnset = sGarchompLevelUpLearnset, @@ -3850,6 +4045,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Riolu, .iconSprite = gMonIcon_Riolu, .iconPalIndex = 2, + SHADOW(3, 3, SHADOW_SIZE_S) FOOTPRINT(Riolu) OVERWORLD( sPicTable_Riolu, @@ -3913,6 +4109,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Lucario, .iconSprite = gMonIcon_Lucario, .iconPalIndex = 2, + SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Lucario) OVERWORLD( sPicTable_Lucario, @@ -3977,6 +4174,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_LucarioMega, .iconSprite = gMonIcon_LucarioMega, .iconPalIndex = 2, + SHADOW(-1, 11, SHADOW_SIZE_M) FOOTPRINT(Lucario) .isMegaEvolution = TRUE, .levelUpLearnset = sLucarioLevelUpLearnset, @@ -4032,15 +4230,18 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .backPicYOffset = 14, .backAnimId = BACK_ANIM_H_SLIDE, .palette = gMonPalette_Hippopotas, - .paletteFemale = gMonPalette_HippopotasF, .shinyPalette = gMonShinyPalette_Hippopotas, - .shinyPaletteFemale = gMonShinyPalette_HippopotasF, .iconSprite = gMonIcon_Hippopotas, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .paletteFemale = gMonPalette_HippopotasF, + .shinyPaletteFemale = gMonShinyPalette_HippopotasF, #if P_CUSTOM_GENDER_DIFF_ICONS == TRUE .iconSpriteFemale = gMonIcon_HippopotasF, .iconPalIndexFemale = 1, #endif +#endif //P_GENDER_DIFFERENCES + SHADOW(2, -1, SHADOW_SIZE_L) FOOTPRINT(Hippopotas) OVERWORLD( sPicTable_Hippopotas, @@ -4050,6 +4251,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Hippopotas, gShinyOverworldPalette_Hippopotas ) + OVERWORLD_FEMALE( + sPicTable_HippopotasF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sHippopotasLevelUpLearnset, .teachableLearnset = sHippopotasTeachableLearnset, .eggMoveLearnset = sHippopotasEggMoveLearnset, @@ -4100,15 +4307,18 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .backPicYOffset = 6, .backAnimId = BACK_ANIM_V_SHAKE_LOW, .palette = gMonPalette_Hippowdon, - .paletteFemale = gMonPalette_HippowdonF, .shinyPalette = gMonShinyPalette_Hippowdon, - .shinyPaletteFemale = gMonShinyPalette_HippowdonF, .iconSprite = gMonIcon_Hippowdon, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .paletteFemale = gMonPalette_HippowdonF, + .shinyPaletteFemale = gMonShinyPalette_HippowdonF, #if P_CUSTOM_GENDER_DIFF_ICONS == TRUE .iconSpriteFemale = gMonIcon_HippowdonF, .iconPalIndexFemale = 1, #endif +#endif //P_GENDER_DIFFERENCES + NO_SHADOW FOOTPRINT(Hippowdon) OVERWORLD( sPicTable_Hippowdon, @@ -4118,6 +4328,10 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Hippowdon, gShinyOverworldPalette_Hippowdon ) + OVERWORLD_PAL_FEMALE( + gOverworldPalette_HippowdonF, + gShinyOverworldPalette_HippowdonF + ) .levelUpLearnset = sHippowdonLevelUpLearnset, .teachableLearnset = sHippowdonTeachableLearnset, }, @@ -4172,6 +4386,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Skorupi, .iconSprite = gMonIcon_Skorupi, .iconPalIndex = 0, + SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Skorupi) OVERWORLD( sPicTable_Skorupi, @@ -4235,6 +4450,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Drapion, .iconSprite = gMonIcon_Drapion, .iconPalIndex = 2, + SHADOW(-3, 6, SHADOW_SIZE_L) FOOTPRINT(Drapion) OVERWORLD( sPicTable_Drapion, @@ -4286,22 +4502,25 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Croagunk, - .frontPicFemale = gMonFrontPic_CroagunkF, .frontPicSize = MON_COORDS_SIZE(40, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 9, .frontAnimFrames = sAnims_Croagunk, .frontAnimId = ANIM_RAPID_H_HOPS, .backPic = gMonBackPic_Croagunk, - .backPicFemale = gMonBackPic_CroagunkF, .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicSizeFemale = MON_COORDS_SIZE(56, 56), .backPicYOffset = 6, .backAnimId = BACK_ANIM_GROW, .palette = gMonPalette_Croagunk, .shinyPalette = gMonShinyPalette_Croagunk, .iconSprite = gMonIcon_Croagunk, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_CroagunkF, + .frontPicSizeFemale = MON_COORDS_SIZE(40, 48), + .backPicFemale = gMonBackPic_CroagunkF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(2, 4, SHADOW_SIZE_S) FOOTPRINT(Croagunk) OVERWORLD( sPicTable_Croagunk, @@ -4311,6 +4530,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Croagunk, gShinyOverworldPalette_Croagunk ) + OVERWORLD_FEMALE( + sPicTable_CroagunkF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sCroagunkLevelUpLearnset, .teachableLearnset = sCroagunkTeachableLearnset, .eggMoveLearnset = sCroagunkEggMoveLearnset, @@ -4353,22 +4578,25 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Toxicroak, - .frontPicFemale = gMonFrontPic_ToxicroakF, .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 5, .frontAnimFrames = sAnims_Toxicroak, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Toxicroak, - .backPicFemale = gMonBackPic_ToxicroakF, .backPicSize = MON_COORDS_SIZE(56, 56), - .backPicSizeFemale = MON_COORDS_SIZE(56, 56), .backPicYOffset = 6, .backAnimId = BACK_ANIM_V_SHAKE_H_SLIDE, .palette = gMonPalette_Toxicroak, .shinyPalette = gMonShinyPalette_Toxicroak, .iconSprite = gMonIcon_Toxicroak, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_ToxicroakF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), + .backPicFemale = gMonBackPic_ToxicroakF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(3, 7, SHADOW_SIZE_M) FOOTPRINT(Toxicroak) OVERWORLD( sPicTable_Toxicroak, @@ -4378,6 +4606,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Toxicroak, gShinyOverworldPalette_Toxicroak ) + OVERWORLD_FEMALE( + sPicTable_ToxicroakF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sToxicroakLevelUpLearnset, .teachableLearnset = sToxicroakTeachableLearnset, }, @@ -4432,6 +4666,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Carnivine, .iconSprite = gMonIcon_Carnivine, .iconPalIndex = 1, + SHADOW(0, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Carnivine) OVERWORLD( sPicTable_Carnivine, @@ -4483,22 +4718,25 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Finneon, - .frontPicFemale = gMonFrontPic_FinneonF, .frontPicSize = MON_COORDS_SIZE(32, 40), - .frontPicSizeFemale = MON_COORDS_SIZE(32, 40), .frontPicYOffset = 14, .frontAnimFrames = sAnims_Finneon, .frontAnimId = ANIM_V_SLIDE_WOBBLE_SMALL, .backPic = gMonBackPic_Finneon, - .backPicFemale = gMonBackPic_FinneonF, .backPicSize = MON_COORDS_SIZE(56, 40), - .backPicSizeFemale = MON_COORDS_SIZE(56, 40), .backPicYOffset = 12, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Finneon, .shinyPalette = gMonShinyPalette_Finneon, .iconSprite = gMonIcon_Finneon, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_FinneonF, + .frontPicSizeFemale = MON_COORDS_SIZE(32, 40), + .backPicFemale = gMonBackPic_FinneonF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 40), +#endif //P_GENDER_DIFFERENCES + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Finneon) OVERWORLD( sPicTable_Finneon, @@ -4508,6 +4746,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Finneon, gShinyOverworldPalette_Finneon ) + OVERWORLD_FEMALE( + sPicTable_FinneonF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sFinneonLevelUpLearnset, .teachableLearnset = sFinneonTeachableLearnset, .eggMoveLearnset = sFinneonEggMoveLearnset, @@ -4549,22 +4793,25 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Lumineon, - .frontPicFemale = gMonFrontPic_LumineonF, .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 6, .frontAnimFrames = sAnims_Lumineon, .frontAnimId = ANIM_H_STRETCH, .backPic = gMonBackPic_Lumineon, - .backPicFemale = gMonBackPic_LumineonF, .backPicSize = MON_COORDS_SIZE(56, 64), - .backPicSizeFemale = MON_COORDS_SIZE(56, 64), .backPicYOffset = 0, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Lumineon, .shinyPalette = gMonShinyPalette_Lumineon, .iconSprite = gMonIcon_Lumineon, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_LumineonF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), + .backPicFemale = gMonBackPic_LumineonF, + .backPicSizeFemale = MON_COORDS_SIZE(56, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Lumineon) OVERWORLD( sPicTable_Lumineon, @@ -4574,6 +4821,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Lumineon, gShinyOverworldPalette_Lumineon ) + OVERWORLD_FEMALE( + sPicTable_LumineonF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sLumineonLevelUpLearnset, .teachableLearnset = sLumineonTeachableLearnset, }, @@ -4616,22 +4869,25 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 257, .trainerOffset = 0, .frontPic = gMonFrontPic_Snover, - .frontPicFemale = gMonFrontPic_SnoverF, .frontPicSize = MON_COORDS_SIZE(64, 48), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 48), .frontPicYOffset = 10, .frontAnimFrames = sAnims_Snover, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Snover, - .backPicFemale = gMonBackPic_SnoverF, .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicSizeFemale = MON_COORDS_SIZE(64, 56), .backPicYOffset = 6, .backAnimId = BACK_ANIM_V_STRETCH, .palette = gMonPalette_Snover, .shinyPalette = gMonShinyPalette_Snover, .iconSprite = gMonIcon_Snover, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_SnoverF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 48), + .backPicFemale = gMonBackPic_SnoverF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 56), +#endif //P_GENDER_DIFFERENCES + SHADOW(1, 4, SHADOW_SIZE_M) FOOTPRINT(Snover) OVERWORLD( sPicTable_Snover, @@ -4641,6 +4897,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Snover, gShinyOverworldPalette_Snover ) + OVERWORLD_FEMALE( + sPicTable_SnoverF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sSnoverLevelUpLearnset, .teachableLearnset = sSnoverTeachableLearnset, .eggMoveLearnset = sSnoverEggMoveLearnset, @@ -4684,9 +4946,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .trainerScale = 348, .trainerOffset = 6, .frontPic = gMonFrontPic_Abomasnow, - .frontPicFemale = gMonFrontPic_AbomasnowF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Abomasnow, .frontAnimId = ANIM_H_SHAKE, @@ -4698,6 +4958,11 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Abomasnow, .iconSprite = gMonIcon_Abomasnow, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_AbomasnowF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), +#endif //P_GENDER_DIFFERENCES + SHADOW(0, 11, SHADOW_SIZE_L) FOOTPRINT(Abomasnow) OVERWORLD( sPicTable_Abomasnow, @@ -4707,6 +4972,12 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_Abomasnow, gShinyOverworldPalette_Abomasnow ) + OVERWORLD_FEMALE( + sPicTable_AbomasnowF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sAbomasnowLevelUpLearnset, .teachableLearnset = sAbomasnowTeachableLearnset, .formSpeciesIdTable = sAbomasnowFormSpeciesIdTable, @@ -4763,6 +5034,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_AbomasnowMega, .iconSprite = gMonIcon_AbomasnowMega, .iconPalIndex = 1, + SHADOW(0, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Abomasnow) .isMegaEvolution = TRUE, .levelUpLearnset = sAbomasnowLevelUpLearnset, @@ -4823,6 +5095,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Rotom, .iconSprite = gMonIcon_Rotom, .iconPalIndex = 0, + SHADOW(0, 10, SHADOW_SIZE_S) FOOTPRINT(Rotom) OVERWORLD( sPicTable_Rotom, @@ -4895,6 +5168,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_RotomHeat, .iconSprite = gMonIcon_RotomHeat, .iconPalIndex = 0, + SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Rotom) OVERWORLD( sPicTable_RotomHeat, @@ -4960,6 +5234,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_RotomWash, .iconSprite = gMonIcon_RotomWash, .iconPalIndex = 0, + SHADOW(0, 10, SHADOW_SIZE_M) FOOTPRINT(Rotom) OVERWORLD( sPicTable_RotomWash, @@ -5024,6 +5299,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_RotomFrost, .iconSprite = gMonIcon_RotomFrost, .iconPalIndex = 5, + SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Rotom) OVERWORLD( sPicTable_RotomFrost, @@ -5089,6 +5365,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_RotomFan, .iconSprite = gMonIcon_RotomFan, .iconPalIndex = 0, + SHADOW(4, 9, SHADOW_SIZE_S) FOOTPRINT(Rotom) OVERWORLD( sPicTable_RotomFan, @@ -5153,6 +5430,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_RotomMow, .iconSprite = gMonIcon_RotomMow, .iconPalIndex = 0, + SHADOW(2, 14, SHADOW_SIZE_M) FOOTPRINT(Rotom) OVERWORLD( sPicTable_RotomMow, @@ -5225,6 +5503,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Uxie, .iconSprite = gMonIcon_Uxie, .iconPalIndex = 0, + SHADOW(2, 11, SHADOW_SIZE_S) FOOTPRINT(Uxie) OVERWORLD( sPicTable_Uxie, @@ -5235,6 +5514,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Uxie ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sUxieLevelUpLearnset, .teachableLearnset = sUxieTeachableLearnset, }, @@ -5297,6 +5577,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Mesprit, .iconSprite = gMonIcon_Mesprit, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Mesprit) OVERWORLD( sPicTable_Mesprit, @@ -5307,6 +5588,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Mesprit ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMespritLevelUpLearnset, .teachableLearnset = sMespritTeachableLearnset, }, @@ -5368,6 +5650,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Azelf, .iconSprite = gMonIcon_Azelf, .iconPalIndex = 0, + SHADOW(0, 17, SHADOW_SIZE_S) FOOTPRINT(Azelf) OVERWORLD( sPicTable_Azelf, @@ -5378,6 +5661,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Azelf ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sAzelfLevelUpLearnset, .teachableLearnset = sAzelfTeachableLearnset, }, @@ -5439,6 +5723,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Dialga, .iconSprite = gMonIcon_Dialga, .iconPalIndex = 2, + SHADOW(4, 12, SHADOW_SIZE_L) FOOTPRINT(Dialga) OVERWORLD( sPicTable_Dialga, @@ -5450,6 +5735,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sDialgaLevelUpLearnset, .teachableLearnset = sDialgaTeachableLearnset, .formSpeciesIdTable = sDialgaFormSpeciesIdTable, @@ -5503,6 +5789,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_DialgaOrigin, .iconSprite = gMonIcon_DialgaOrigin, .iconPalIndex = 0, + SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Dialga) OVERWORLD( sPicTable_DialgaOrigin, @@ -5514,6 +5801,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sDialgaLevelUpLearnset, .teachableLearnset = sDialgaTeachableLearnset, .formSpeciesIdTable = sDialgaFormSpeciesIdTable, @@ -5577,6 +5865,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Palkia, .iconSprite = gMonIcon_Palkia, .iconPalIndex = 2, + SHADOW(0, 10, SHADOW_SIZE_L) FOOTPRINT(Palkia) OVERWORLD( sPicTable_Palkia, @@ -5588,6 +5877,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sPalkiaLevelUpLearnset, .teachableLearnset = sPalkiaTeachableLearnset, .formSpeciesIdTable = sPalkiaFormSpeciesIdTable, @@ -5641,6 +5931,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_PalkiaOrigin, .iconSprite = gMonIcon_PalkiaOrigin, .iconPalIndex = 2, + SHADOW(-3, 14, SHADOW_SIZE_L) FOOTPRINT(Palkia) OVERWORLD( sPicTable_PalkiaOrigin, @@ -5652,6 +5943,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sPalkiaLevelUpLearnset, .teachableLearnset = sPalkiaTeachableLearnset, .formSpeciesIdTable = sPalkiaFormSpeciesIdTable, @@ -5713,6 +6005,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Heatran, .iconSprite = gMonIcon_Heatran, .iconPalIndex = 0, + SHADOW(2, 2, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Heatran) OVERWORLD( sPicTable_Heatran, @@ -5723,6 +6016,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Heatran ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sHeatranLevelUpLearnset, .teachableLearnset = sHeatranTeachableLearnset, }, @@ -5782,6 +6076,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Regigigas, .iconSprite = gMonIcon_Regigigas, .iconPalIndex = 0, + SHADOW(3, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Regigigas) OVERWORLD( sPicTable_Regigigas, @@ -5792,6 +6087,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Regigigas ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sRegigigasLevelUpLearnset, .teachableLearnset = sRegigigasTeachableLearnset, }, @@ -5853,6 +6149,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_GiratinaAltered, .iconSprite = gMonIcon_GiratinaAltered, .iconPalIndex = 0, + SHADOW(3, 11, SHADOW_SIZE_L) FOOTPRINT(GiratinaAltered) OVERWORLD( sPicTable_GiratinaAltered, @@ -5864,6 +6161,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sGiratinaLevelUpLearnset, .teachableLearnset = sGiratinaTeachableLearnset, .formSpeciesIdTable = sGiratinaFormSpeciesIdTable, @@ -5918,6 +6216,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_GiratinaOrigin, .iconSprite = gMonIcon_GiratinaOrigin, .iconPalIndex = 0, + SHADOW(0, 18, SHADOW_SIZE_L) FOOTPRINT(GiratinaOrigin) OVERWORLD( sPicTable_GiratinaOrigin, @@ -5929,6 +6228,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sGiratinaLevelUpLearnset, .teachableLearnset = sGiratinaTeachableLearnset, .formSpeciesIdTable = sGiratinaFormSpeciesIdTable, @@ -5991,6 +6291,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Cresselia, .iconSprite = gMonIcon_Cresselia, .iconPalIndex = 0, + SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(Cresselia) OVERWORLD( sPicTable_Cresselia, @@ -6001,6 +6302,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Cresselia ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sCresseliaLevelUpLearnset, .teachableLearnset = sCresseliaTeachableLearnset, }, @@ -6061,6 +6363,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Phione, .iconSprite = gMonIcon_Phione, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Phione) OVERWORLD( sPicTable_Phione, @@ -6072,6 +6375,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sPhioneLevelUpLearnset, .teachableLearnset = sPhioneTeachableLearnset, }, @@ -6130,6 +6434,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Manaphy, .iconSprite = gMonIcon_Manaphy, .iconPalIndex = 0, + SHADOW(-5, 8, SHADOW_SIZE_S) FOOTPRINT(Manaphy) OVERWORLD( sPicTable_Manaphy, @@ -6141,6 +6446,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sManaphyLevelUpLearnset, .teachableLearnset = sManaphyTeachableLearnset, }, @@ -6202,6 +6508,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Darkrai, .iconSprite = gMonIcon_Darkrai, .iconPalIndex = 0, + SHADOW(4, 12, SHADOW_SIZE_M) FOOTPRINT(Darkrai) OVERWORLD( sPicTable_Darkrai, @@ -6213,6 +6520,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sDarkraiLevelUpLearnset, .teachableLearnset = sDarkraiTeachableLearnset, }, @@ -6276,6 +6584,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_ShayminLand, .iconSprite = gMonIcon_ShayminLand, .iconPalIndex = 1, + SHADOW(1, -3, SHADOW_SIZE_S) FOOTPRINT(Shaymin) OVERWORLD( sPicTable_ShayminLand, @@ -6287,6 +6596,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sShayminLandLevelUpLearnset, .teachableLearnset = sShayminLandTeachableLearnset, .formSpeciesIdTable = sShayminFormSpeciesIdTable, @@ -6347,6 +6657,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_ShayminSky, .iconSprite = gMonIcon_ShayminSky, .iconPalIndex = 1, + SHADOW(3, 7, SHADOW_SIZE_M) FOOTPRINT(Shaymin) OVERWORLD( sPicTable_ShayminSky, @@ -6358,6 +6669,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sShayminSkyLevelUpLearnset, .teachableLearnset = sShayminSkyTeachableLearnset, .formSpeciesIdTable = sShayminFormSpeciesIdTable, @@ -6383,63 +6695,65 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .iconPalIndex = 1, #endif -#define ARCEUS_SPECIES_INFO(type, typeName, iconPal) \ - { \ - .baseHP = 120, \ - .baseAttack = 120, \ - .baseDefense = 120, \ - .baseSpeed = 120, \ - .baseSpAttack = 120, \ - .baseSpDefense = 120, \ - .types = MON_TYPES(type), \ - .catchRate = 3, \ - .expYield = ARCEUS_EXP_YIELD, \ - .evYield_HP = 3, \ - .genderRatio = MON_GENDERLESS, \ - .eggCycles = 120, \ - .friendship = 0, \ - .growthRate = GROWTH_SLOW, \ - .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ - .abilities = { ABILITY_MULTITYPE, ABILITY_NONE, ABILITY_NONE }, \ - .bodyColor = BODY_COLOR_WHITE, \ - .speciesName = _("Arceus"), \ - .cryId = CRY_ARCEUS, \ - .natDexNum = NATIONAL_DEX_ARCEUS, \ - .categoryName = _("Alpha"), \ - .height = 32, \ - .weight = 3200, \ - .description = gArceusPokedexText, \ - .pokemonScale = 256, \ - .pokemonOffset = 0, \ - .trainerScale = 495, \ - .trainerOffset = 10, \ - .frontPic = gMonFrontPic_Arceus, \ - .frontPicSize = MON_COORDS_SIZE(64, 64), \ - .frontPicYOffset = 0, \ - .frontAnimFrames = sAnims_Arceus, \ - .frontAnimId = ANIM_GROW_VIBRATE, \ - .backPic = gMonBackPic_Arceus, \ - .backPicSize = MON_COORDS_SIZE(64, 64), \ - .backPicYOffset = 3, \ - .backAnimId = BACK_ANIM_GROW_STUTTER, \ - .palette = gMonPalette_Arceus ##typeName, \ - .shinyPalette = gMonShinyPalette_Arceus ##typeName, \ - ARCEUS_ICON(typeName, iconPal) \ - FOOTPRINT(Arceus) \ - OVERWORLD( \ - sPicTable_Arceus ##typeName, \ - SIZE_64x64, \ - SHADOW_SIZE_M, \ - TRACKS_FOOT, \ - gOverworldPalette_Arceus ##typeName, \ - gShinyOverworldPalette_Arceus ##typeName \ - ) \ - .levelUpLearnset = sArceusLevelUpLearnset, \ - .teachableLearnset = sArceusTeachableLearnset, \ - .formSpeciesIdTable = sArceusFormSpeciesIdTable, \ - .formChangeTable = sArceusFormChangeTable, \ - .isMythical = TRUE, \ - .isFrontierBanned = TRUE, \ +#define ARCEUS_SPECIES_INFO(type, typeName, iconPal) \ + { \ + .baseHP = 120, \ + .baseAttack = 120, \ + .baseDefense = 120, \ + .baseSpeed = 120, \ + .baseSpAttack = 120, \ + .baseSpDefense = 120, \ + .types = MON_TYPES(type), \ + .catchRate = 3, \ + .expYield = ARCEUS_EXP_YIELD, \ + .evYield_HP = 3, \ + .genderRatio = MON_GENDERLESS, \ + .eggCycles = 120, \ + .friendship = 0, \ + .growthRate = GROWTH_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ + .abilities = { ABILITY_MULTITYPE, ABILITY_NONE, ABILITY_NONE }, \ + .bodyColor = BODY_COLOR_WHITE, \ + .speciesName = _("Arceus"), \ + .cryId = CRY_ARCEUS, \ + .natDexNum = NATIONAL_DEX_ARCEUS, \ + .categoryName = _("Alpha"), \ + .height = 32, \ + .weight = 3200, \ + .description = gArceusPokedexText, \ + .pokemonScale = 256, \ + .pokemonOffset = 0, \ + .trainerScale = 495, \ + .trainerOffset = 10, \ + .frontPic = gMonFrontPic_Arceus, \ + .frontPicSize = MON_COORDS_SIZE(64, 64), \ + .frontPicYOffset = 0, \ + .frontAnimFrames = sAnims_Arceus, \ + .frontAnimId = ANIM_GROW_VIBRATE, \ + .backPic = gMonBackPic_Arceus, \ + .backPicSize = MON_COORDS_SIZE(64, 64), \ + .backPicYOffset = 3, \ + .backAnimId = BACK_ANIM_GROW_STUTTER, \ + .palette = gMonPalette_Arceus ##typeName, \ + .shinyPalette = gMonShinyPalette_Arceus ##typeName, \ + ARCEUS_ICON(typeName, iconPal) \ + SHADOW(-1, 15, SHADOW_SIZE_XL_BATTLE_ONLY) \ + FOOTPRINT(Arceus) \ + OVERWORLD( \ + sPicTable_Arceus ##typeName, \ + SIZE_64x64, \ + SHADOW_SIZE_M, \ + TRACKS_FOOT, \ + gOverworldPalette_Arceus ##typeName, \ + gShinyOverworldPalette_Arceus ##typeName \ + ) \ + .levelUpLearnset = sArceusLevelUpLearnset, \ + .teachableLearnset = sArceusTeachableLearnset, \ + .formSpeciesIdTable = sArceusFormSpeciesIdTable, \ + .formChangeTable = sArceusFormChangeTable, \ + .isMythical = TRUE, \ + .isFrontierBanned = TRUE, \ + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, \ } [SPECIES_ARCEUS_NORMAL] = ARCEUS_SPECIES_INFO(TYPE_NORMAL, Normal, 1), diff --git a/src/data/pokemon/species_info/gen_5_families.h b/src/data/pokemon/species_info/gen_5_families.h index 50ee5b1fec32..052b0f40c568 100644 --- a/src/data/pokemon/species_info/gen_5_families.h +++ b/src/data/pokemon/species_info/gen_5_families.h @@ -51,6 +51,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Victini, .iconSprite = gMonIcon_Victini, .iconPalIndex = 0, + SHADOW(1, 4, SHADOW_SIZE_S) FOOTPRINT(Victini) OVERWORLD( sPicTable_Victini, @@ -62,6 +63,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sVictiniLevelUpLearnset, .teachableLearnset = sVictiniTeachableLearnset, }, @@ -115,6 +117,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Snivy, .iconSprite = gMonIcon_Snivy, .iconPalIndex = 1, + SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Snivy) OVERWORLD( sPicTable_Snivy, @@ -177,6 +180,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Servine, .iconSprite = gMonIcon_Servine, .iconPalIndex = 1, + SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Servine) OVERWORLD( sPicTable_Servine, @@ -238,6 +242,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Serperior, .iconSprite = gMonIcon_Serperior, .iconPalIndex = 1, + SHADOW(2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Serperior) OVERWORLD( sPicTable_Serperior, @@ -300,6 +305,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Tepig, .iconSprite = gMonIcon_Tepig, .iconPalIndex = 0, + SHADOW(0, -2, SHADOW_SIZE_S) FOOTPRINT(Tepig) OVERWORLD( sPicTable_Tepig, @@ -362,6 +368,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Pignite, .iconSprite = gMonIcon_Pignite, .iconPalIndex = 0, + SHADOW(0, 6, SHADOW_SIZE_M) FOOTPRINT(Pignite) OVERWORLD( sPicTable_Pignite, @@ -424,6 +431,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Emboar, .iconSprite = gMonIcon_Emboar, .iconPalIndex = 0, + SHADOW(-1, 12, SHADOW_SIZE_L) FOOTPRINT(Emboar) OVERWORLD( sPicTable_Emboar, @@ -486,6 +494,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Oshawott, .iconSprite = gMonIcon_Oshawott, .iconPalIndex = 0, + SHADOW(-3, 0, SHADOW_SIZE_S) FOOTPRINT(Oshawott) OVERWORLD( sPicTable_Oshawott, @@ -548,6 +557,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Dewott, .iconSprite = gMonIcon_Dewott, .iconPalIndex = 0, + SHADOW(-2, 6, SHADOW_SIZE_S) FOOTPRINT(Dewott) OVERWORLD( sPicTable_Dewott, @@ -560,7 +570,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .levelUpLearnset = sDewottLevelUpLearnset, .teachableLearnset = sDewottTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_SAMUROTT}, - {EVO_NONE, 0, SPECIES_SAMUROTT_HISUIAN}), + {EVO_NONE, 0, SPECIES_SAMUROTT_HISUI}), }, [SPECIES_SAMUROTT] = @@ -610,6 +620,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Samurott, .iconSprite = gMonIcon_Samurott, .iconPalIndex = 2, + SHADOW(-2, 13, SHADOW_SIZE_L) FOOTPRINT(Samurott) OVERWORLD( sPicTable_Samurott, @@ -625,7 +636,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = }, #if P_HISUIAN_FORMS - [SPECIES_SAMUROTT_HISUIAN] = + [SPECIES_SAMUROTT_HISUI] = { .baseHP = 90, .baseAttack = 108, @@ -659,31 +670,32 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .pokemonOffset = 2, .trainerScale = 271, .trainerOffset = 0, - .frontPic = gMonFrontPic_SamurottHisuian, + .frontPic = gMonFrontPic_SamurottHisui, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_SamurottHisuian, + .frontAnimFrames = sAnims_SamurottHisui, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_SamurottHisuian, + .backPic = gMonBackPic_SamurottHisui, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 8, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_SamurottHisuian, - .shinyPalette = gMonShinyPalette_SamurottHisuian, - .iconSprite = gMonIcon_SamurottHisuian, + .palette = gMonPalette_SamurottHisui, + .shinyPalette = gMonShinyPalette_SamurottHisui, + .iconSprite = gMonIcon_SamurottHisui, .iconPalIndex = 0, + SHADOW(-2, 13, SHADOW_SIZE_L) FOOTPRINT(Samurott) OVERWORLD( - sPicTable_SamurottHisuian, + sPicTable_SamurottHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_SamurottHisuian, - gShinyOverworldPalette_SamurottHisuian + gOverworldPalette_SamurottHisui, + gShinyOverworldPalette_SamurottHisui ) .isHisuianForm = TRUE, - .levelUpLearnset = sSamurottHisuianLevelUpLearnset, - .teachableLearnset = sSamurottHisuianTeachableLearnset, + .levelUpLearnset = sSamurottHisuiLevelUpLearnset, + .teachableLearnset = sSamurottHisuiTeachableLearnset, .formSpeciesIdTable = sSamurottFormSpeciesIdTable, }, #endif //P_HISUIAN_FORMS @@ -737,6 +749,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Patrat, .iconSprite = gMonIcon_Patrat, .iconPalIndex = 2, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Patrat) OVERWORLD( sPicTable_Patrat, @@ -799,6 +812,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Watchog, .iconSprite = gMonIcon_Watchog, .iconPalIndex = 2, + SHADOW(-4, 11, SHADOW_SIZE_S) FOOTPRINT(Watchog) OVERWORLD( sPicTable_Watchog, @@ -861,6 +875,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Lillipup, .iconSprite = gMonIcon_Lillipup, .iconPalIndex = 2, + SHADOW(2, 1, SHADOW_SIZE_S) FOOTPRINT(Lillipup) OVERWORLD( sPicTable_Lillipup, @@ -923,6 +938,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Herdier, .iconSprite = gMonIcon_Herdier, .iconPalIndex = 2, + SHADOW(3, 5, SHADOW_SIZE_M) FOOTPRINT(Herdier) OVERWORLD( sPicTable_Herdier, @@ -990,6 +1006,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Stoutland, .iconSprite = gMonIcon_Stoutland, .iconPalIndex = 2, + SHADOW(-4, 9, SHADOW_SIZE_L) FOOTPRINT(Stoutland) OVERWORLD( sPicTable_Stoutland, @@ -1052,6 +1069,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Purrloin, .iconSprite = gMonIcon_Purrloin, .iconPalIndex = 0, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Purrloin) OVERWORLD( sPicTable_Purrloin, @@ -1114,6 +1132,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Liepard, .iconSprite = gMonIcon_Liepard, .iconPalIndex = 0, + SHADOW(-1, 11, SHADOW_SIZE_M) FOOTPRINT(Liepard) OVERWORLD( sPicTable_Liepard, @@ -1176,6 +1195,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Pansage, .iconSprite = gMonIcon_Pansage, .iconPalIndex = 1, + SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Pansage) OVERWORLD( sPicTable_Pansage, @@ -1238,6 +1258,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Simisage, .iconSprite = gMonIcon_Simisage, .iconPalIndex = 1, + SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(Simisage) OVERWORLD( sPicTable_Simisage, @@ -1301,6 +1322,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Pansear, .iconSprite = gMonIcon_Pansear, .iconPalIndex = 2, + SHADOW(1, 3, SHADOW_SIZE_S) FOOTPRINT(Pansear) OVERWORLD( sPicTable_Pansear, @@ -1364,6 +1386,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Simisear, .iconSprite = gMonIcon_Simisear, .iconPalIndex = 2, + SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Simisear) OVERWORLD( sPicTable_Simisear, @@ -1426,6 +1449,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Panpour, .iconSprite = gMonIcon_Panpour, .iconPalIndex = 2, + SHADOW(-3, 4, SHADOW_SIZE_S) FOOTPRINT(Panpour) OVERWORLD( sPicTable_Panpour, @@ -1488,6 +1512,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Simipour, .iconSprite = gMonIcon_Simipour, .iconPalIndex = 2, + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Simipour) OVERWORLD( sPicTable_Simipour, @@ -1551,6 +1576,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Munna, .iconSprite = gMonIcon_Munna, .iconPalIndex = 0, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Munna) OVERWORLD( sPicTable_Munna, @@ -1614,6 +1640,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Musharna, .iconSprite = gMonIcon_Musharna, .iconPalIndex = 0, + SHADOW(6, 10, SHADOW_SIZE_M) FOOTPRINT(Musharna) OVERWORLD( sPicTable_Musharna, @@ -1676,6 +1703,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Pidove, .iconSprite = gMonIcon_Pidove, .iconPalIndex = 0, + SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Pidove) OVERWORLD( sPicTable_Pidove, @@ -1738,6 +1766,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Tranquill, .iconSprite = gMonIcon_Tranquill, .iconPalIndex = 0, + SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Tranquill) OVERWORLD( sPicTable_Tranquill, @@ -1793,26 +1822,29 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Unfezant, - .frontPicFemale = gMonFrontPic_UnfezantF, .frontPicSize = MON_COORDS_SIZE(56, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Unfezant, .frontAnimId = ANIM_SHRINK_GROW, .backPic = gMonBackPic_Unfezant, - .backPicFemale = gMonBackPic_UnfezantF, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), .backPicYOffset = 1, .backAnimId = BACK_ANIM_V_STRETCH, .palette = gMonPalette_Unfezant, - .paletteFemale = gMonPalette_UnfezantF, .shinyPalette = gMonShinyPalette_Unfezant, - .shinyPaletteFemale = gMonShinyPalette_UnfezantF, .iconSprite = gMonIcon_Unfezant, - .iconSpriteFemale = gMonIcon_UnfezantF, .iconPalIndex = 1, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_UnfezantF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 64), + .backPicFemale = gMonBackPic_UnfezantF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), + .paletteFemale = gMonPalette_UnfezantF, + .shinyPaletteFemale = gMonShinyPalette_UnfezantF, + .iconSpriteFemale = gMonIcon_UnfezantF, .iconPalIndexFemale = 1, +#endif //P_GENDER_DIFFERENCES + SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(Unfezant) OVERWORLD( sPicTable_Unfezant, @@ -1822,6 +1854,14 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = gOverworldPalette_Unfezant, gShinyOverworldPalette_Unfezant ) + OVERWORLD_FEMALE( + sPicTable_UnfezantF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT, + gOverworldPalette_UnfezantF, + gShinyOverworldPalette_UnfezantF + ) .levelUpLearnset = sUnfezantLevelUpLearnset, .teachableLearnset = sUnfezantTeachableLearnset, }, @@ -1875,6 +1915,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Blitzle, .iconSprite = gMonIcon_Blitzle, .iconPalIndex = 2, + SHADOW(3, 9, SHADOW_SIZE_M) FOOTPRINT(Blitzle) OVERWORLD( sPicTable_Blitzle, @@ -1937,6 +1978,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Zebstrika, .iconSprite = gMonIcon_Zebstrika, .iconPalIndex = 2, + SHADOW(-2, 13, SHADOW_SIZE_M) FOOTPRINT(Zebstrika) OVERWORLD( sPicTable_Zebstrika, @@ -2005,6 +2047,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Roggenrola, .iconSprite = gMonIcon_Roggenrola, .iconPalIndex = 2, + SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Roggenrola) OVERWORLD( sPicTable_Roggenrola, @@ -2074,6 +2117,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Boldore, .iconSprite = gMonIcon_Boldore, .iconPalIndex = 0, + SHADOW(1, 3, SHADOW_SIZE_L) FOOTPRINT(Boldore) OVERWORLD( sPicTable_Boldore, @@ -2148,6 +2192,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Gigalith, .iconSprite = gMonIcon_Gigalith, .iconPalIndex = 0, + SHADOW(-1, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gigalith) OVERWORLD( sPicTable_Gigalith, @@ -2211,6 +2256,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Woobat, .iconSprite = gMonIcon_Woobat, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_S) FOOTPRINT(Woobat) OVERWORLD( sPicTable_Woobat, @@ -2274,6 +2320,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Swoobat, .iconSprite = gMonIcon_Swoobat, .iconPalIndex = 0, + SHADOW(-1, 17, SHADOW_SIZE_M) FOOTPRINT(Swoobat) OVERWORLD( sPicTable_Swoobat, @@ -2337,6 +2384,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Drilbur, .iconSprite = gMonIcon_Drilbur, .iconPalIndex = 0, + SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Drilbur) OVERWORLD( sPicTable_Drilbur, @@ -2400,6 +2448,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Excadrill, .iconSprite = gMonIcon_Excadrill, .iconPalIndex = 0, + SHADOW(3, 8, SHADOW_SIZE_L) FOOTPRINT(Excadrill) OVERWORLD( sPicTable_Excadrill, @@ -2464,6 +2513,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Audino, .iconSprite = gMonIcon_Audino, .iconPalIndex = 1, + SHADOW(-1, 6, SHADOW_SIZE_S) FOOTPRINT(Audino) OVERWORLD( sPicTable_Audino, @@ -2530,6 +2580,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_AudinoMega, .iconSprite = gMonIcon_AudinoMega, .iconPalIndex = 1, + SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Audino) .isMegaEvolution = TRUE, .levelUpLearnset = sAudinoLevelUpLearnset, @@ -2589,6 +2640,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Timburr, .iconSprite = gMonIcon_Timburr, .iconPalIndex = 1, + SHADOW(-4, 2, SHADOW_SIZE_S) FOOTPRINT(Timburr) OVERWORLD( sPicTable_Timburr, @@ -2651,6 +2703,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Gurdurr, .iconSprite = gMonIcon_Gurdurr, .iconPalIndex = 1, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Gurdurr) OVERWORLD( sPicTable_Gurdurr, @@ -2713,6 +2766,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Conkeldurr, .iconSprite = gMonIcon_Conkeldurr, .iconPalIndex = 1, + SHADOW(0, 3, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Conkeldurr) OVERWORLD( sPicTable_Conkeldurr, @@ -2775,6 +2829,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Tympole, .iconSprite = gMonIcon_Tympole, .iconPalIndex = 2, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Tympole) OVERWORLD( sPicTable_Tympole, @@ -2837,6 +2892,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Palpitoad, .iconSprite = gMonIcon_Palpitoad, .iconPalIndex = 2, + SHADOW(-1, 3, SHADOW_SIZE_S) FOOTPRINT(Palpitoad) OVERWORLD( sPicTable_Palpitoad, @@ -2904,6 +2960,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Seismitoad, .iconSprite = gMonIcon_Seismitoad, .iconPalIndex = 0, + SHADOW(4, 10, SHADOW_SIZE_L) FOOTPRINT(Seismitoad) OVERWORLD( sPicTable_Seismitoad, @@ -2967,6 +3024,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Throh, .iconSprite = gMonIcon_Throh, .iconPalIndex = 0, + SHADOW(3, 4, SHADOW_SIZE_M) FOOTPRINT(Throh) OVERWORLD( sPicTable_Throh, @@ -3031,6 +3089,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Sawk, .iconSprite = gMonIcon_Sawk, .iconPalIndex = 0, + SHADOW(-1, 6, SHADOW_SIZE_M) FOOTPRINT(Sawk) OVERWORLD( sPicTable_Sawk, @@ -3094,6 +3153,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Sewaddle, .iconSprite = gMonIcon_Sewaddle, .iconPalIndex = 1, + SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(Sewaddle) OVERWORLD( sPicTable_Sewaddle, @@ -3157,6 +3217,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Swadloon, .iconSprite = gMonIcon_Swadloon, .iconPalIndex = 1, + SHADOW(0, 1, SHADOW_SIZE_L) FOOTPRINT(Swadloon) OVERWORLD( sPicTable_Swadloon, @@ -3225,6 +3286,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Leavanny, .iconSprite = gMonIcon_Leavanny, .iconPalIndex = 1, + SHADOW(0, 14, SHADOW_SIZE_S) FOOTPRINT(Leavanny) OVERWORLD( sPicTable_Leavanny, @@ -3292,6 +3354,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Venipede, .iconSprite = gMonIcon_Venipede, .iconPalIndex = 1, + SHADOW(-2, -3, SHADOW_SIZE_M) FOOTPRINT(Venipede) OVERWORLD( sPicTable_Venipede, @@ -3359,6 +3422,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Whirlipede, .iconSprite = gMonIcon_Whirlipede, .iconPalIndex = 2, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Whirlipede) OVERWORLD( sPicTable_Whirlipede, @@ -3431,6 +3495,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Scolipede, .iconSprite = gMonIcon_Scolipede, .iconPalIndex = 2, + SHADOW(1, 12, SHADOW_SIZE_L) FOOTPRINT(Scolipede) OVERWORLD( sPicTable_Scolipede, @@ -3500,6 +3565,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Cottonee, .iconSprite = gMonIcon_Cottonee, .iconPalIndex = 1, + SHADOW(-1, -5, SHADOW_SIZE_M) FOOTPRINT(Cottonee) OVERWORLD( sPicTable_Cottonee, @@ -3563,6 +3629,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Whimsicott, .iconSprite = gMonIcon_Whimsicott, .iconPalIndex = 1, + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Whimsicott) OVERWORLD( sPicTable_Whimsicott, @@ -3627,6 +3694,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Petilil, .iconSprite = gMonIcon_Petilil, .iconPalIndex = 1, + SHADOW(-2, 6, SHADOW_SIZE_S) FOOTPRINT(Petilil) OVERWORLD( sPicTable_Petilil, @@ -3640,7 +3708,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .teachableLearnset = sPetililTeachableLearnset, .eggMoveLearnset = sPetililEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_SUN_STONE, SPECIES_LILLIGANT}, - {EVO_NONE, 0, SPECIES_LILLIGANT_HISUIAN}), + {EVO_NONE, 0, SPECIES_LILLIGANT_HISUI}), }, [SPECIES_LILLIGANT] = @@ -3692,6 +3760,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Lilligant, .iconSprite = gMonIcon_Lilligant, .iconPalIndex = 1, + SHADOW(-2, 13, SHADOW_SIZE_M) FOOTPRINT(Lilligant) OVERWORLD( sPicTable_Lilligant, @@ -3707,7 +3776,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = }, #if P_HISUIAN_FORMS - [SPECIES_LILLIGANT_HISUIAN] = + [SPECIES_LILLIGANT_HISUI] = { .baseHP = 70, .baseAttack = 105, @@ -3744,31 +3813,32 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .pokemonOffset = 7, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_LilligantHisuian, + .frontPic = gMonFrontPic_LilligantHisui, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_LilligantHisuian, + .frontAnimFrames = sAnims_LilligantHisui, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_LilligantHisuian, + .backPic = gMonBackPic_LilligantHisui, .backPicSize = MON_COORDS_SIZE(56, 56), .backPicYOffset = 5, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_LilligantHisuian, - .shinyPalette = gMonShinyPalette_LilligantHisuian, - .iconSprite = gMonIcon_LilligantHisuian, + .palette = gMonPalette_LilligantHisui, + .shinyPalette = gMonShinyPalette_LilligantHisui, + .iconSprite = gMonIcon_LilligantHisui, .iconPalIndex = 1, + SHADOW(-3, 13, SHADOW_SIZE_S) FOOTPRINT(Lilligant) OVERWORLD( - sPicTable_LilligantHisuian, + sPicTable_LilligantHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_LilligantHisuian, - gShinyOverworldPalette_LilligantHisuian + gOverworldPalette_LilligantHisui, + gShinyOverworldPalette_LilligantHisui ) .isHisuianForm = TRUE, - .levelUpLearnset = sLilligantHisuianLevelUpLearnset, - .teachableLearnset = sLilligantHisuianTeachableLearnset, + .levelUpLearnset = sLilligantHisuiLevelUpLearnset, + .teachableLearnset = sLilligantHisuiTeachableLearnset, .formSpeciesIdTable = sLilligantFormSpeciesIdTable, }, #endif //P_HISUIAN_FORMS @@ -3824,6 +3894,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_BasculinRedStriped, .iconSprite = gMonIcon_BasculinRedStriped, .iconPalIndex = 1, + SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Basculin) OVERWORLD( sPicTable_BasculinRedStriped, @@ -3888,6 +3959,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_BasculinBlueStriped, .iconSprite = gMonIcon_BasculinBlueStriped, .iconPalIndex = 0, + SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Basculin) OVERWORLD( sPicTable_BasculinBlueStriped, @@ -3953,6 +4025,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_BasculinWhiteStriped, .iconSprite = gMonIcon_BasculinWhiteStriped, .iconPalIndex = 0, + SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Basculin) OVERWORLD( sPicTable_BasculinWhiteStriped, @@ -3965,11 +4038,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .levelUpLearnset = sBasculinWhiteStripedLevelUpLearnset, .teachableLearnset = sBasculinWhiteStripedTeachableLearnset, .formSpeciesIdTable = sBasculinFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_RECOIL_DAMAGE_MALE, 294, SPECIES_BASCULEGION_MALE}, - {EVO_RECOIL_DAMAGE_FEMALE, 294, SPECIES_BASCULEGION_FEMALE}), + .evolutions = EVOLUTION({EVO_RECOIL_DAMAGE_MALE, 294, SPECIES_BASCULEGION_M}, + {EVO_RECOIL_DAMAGE_FEMALE, 294, SPECIES_BASCULEGION_F}), }, - [SPECIES_BASCULEGION_MALE] = + [SPECIES_BASCULEGION_M] = { .baseHP = 120, .baseAttack = 112, @@ -3988,7 +4061,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_ADAPTABILITY, ABILITY_MOLD_BREAKER }, .bodyColor = BODY_COLOR_GREEN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Bsculegion", "Basculegion"), + .speciesName = _("Basculegion"), .cryId = CRY_BASCULEGION, .natDexNum = NATIONAL_DEX_BASCULEGION, .categoryName = _("Big Fish"), @@ -4003,35 +4076,36 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .pokemonOffset = 7, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_BasculegionMale, + .frontPic = gMonFrontPic_BasculegionM, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Basculegion, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 5, - .backPic = gMonBackPic_BasculegionMale, + .backPic = gMonBackPic_BasculegionM, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 8, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_BasculegionMale, - .shinyPalette = gMonShinyPalette_BasculegionMale, - .iconSprite = gMonIcon_BasculegionMale, + .palette = gMonPalette_BasculegionM, + .shinyPalette = gMonShinyPalette_BasculegionM, + .iconSprite = gMonIcon_BasculegionM, .iconPalIndex = 1, + SHADOW(0, 16, SHADOW_SIZE_M) FOOTPRINT(Basculegion) OVERWORLD( - sPicTable_BasculegionMale, + sPicTable_BasculegionM, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_BasculegionMale, - gShinyOverworldPalette_BasculegionMale + gOverworldPalette_BasculegionM, + gShinyOverworldPalette_BasculegionM ) .levelUpLearnset = sBasculegionLevelUpLearnset, .teachableLearnset = sBasculegionTeachableLearnset, .formSpeciesIdTable = sBasculegionFormSpeciesIdTable, }, - [SPECIES_BASCULEGION_FEMALE] = + [SPECIES_BASCULEGION_F] = { .baseHP = 120, .baseAttack = 92, @@ -4050,7 +4124,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_ADAPTABILITY, ABILITY_MOLD_BREAKER }, .bodyColor = BODY_COLOR_GREEN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Bsculegion", "Basculegion"), + .speciesName = _("Basculegion"), .cryId = CRY_BASCULEGION, .natDexNum = NATIONAL_DEX_BASCULEGION, .categoryName = _("Big Fish"), @@ -4064,28 +4138,29 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .pokemonOffset = 7, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_BasculegionFemale, + .frontPic = gMonFrontPic_BasculegionF, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Basculegion, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 5, - .backPic = gMonBackPic_BasculegionFemale, + .backPic = gMonBackPic_BasculegionF, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 8, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_BasculegionFemale, - .shinyPalette = gMonShinyPalette_BasculegionFemale, - .iconSprite = gMonIcon_BasculegionFemale, + .palette = gMonPalette_BasculegionF, + .shinyPalette = gMonShinyPalette_BasculegionF, + .iconSprite = gMonIcon_BasculegionF, .iconPalIndex = 0, + SHADOW(0, 16, SHADOW_SIZE_M) FOOTPRINT(Basculegion) OVERWORLD( - sPicTable_BasculegionFemale, + sPicTable_BasculegionF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_BasculegionFemale, - gShinyOverworldPalette_BasculegionFemale + gOverworldPalette_BasculegionF, + gShinyOverworldPalette_BasculegionF ) .levelUpLearnset = sBasculegionLevelUpLearnset, .teachableLearnset = sBasculegionTeachableLearnset, @@ -4143,6 +4218,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Sandile, .iconSprite = gMonIcon_Sandile, .iconPalIndex = 1, + SHADOW(4, -5, SHADOW_SIZE_M) FOOTPRINT(Sandile) OVERWORLD( sPicTable_Sandile, @@ -4206,6 +4282,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Krokorok, .iconSprite = gMonIcon_Krokorok, .iconPalIndex = 1, + SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Krokorok) OVERWORLD( sPicTable_Krokorok, @@ -4274,6 +4351,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Krookodile, .iconSprite = gMonIcon_Krookodile, .iconPalIndex = 0, + SHADOW(3, 12, SHADOW_SIZE_L) FOOTPRINT(Krookodile) OVERWORLD( sPicTable_Krookodile, @@ -4336,6 +4414,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Darumaka, .iconSprite = gMonIcon_Darumaka, .iconPalIndex = 0, + SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Darumaka) OVERWORLD( sPicTable_Darumaka, @@ -4349,10 +4428,10 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .teachableLearnset = sDarumakaTeachableLearnset, .eggMoveLearnset = sDarumakaEggMoveLearnset, .formSpeciesIdTable = sDarumakaFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_DARMANITAN_STANDARD_MODE}), + .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_DARMANITAN_STANDARD}), }, - [SPECIES_DARMANITAN_STANDARD_MODE] = + [SPECIES_DARMANITAN_STANDARD] = { .baseHP = 105, .baseAttack = 140, @@ -4386,27 +4465,28 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .pokemonOffset = 3, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_DarmanitanStandardMode, + .frontPic = gMonFrontPic_DarmanitanStandard, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_DarmanitanStandardMode, + .frontAnimFrames = sAnims_DarmanitanStandard, .frontAnimId = ANIM_CIRCULAR_STRETCH_TWICE, - .backPic = gMonBackPic_DarmanitanStandardMode, + .backPic = gMonBackPic_DarmanitanStandard, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 2, .backAnimId = BACK_ANIM_V_SHAKE_H_SLIDE, - .palette = gMonPalette_DarmanitanStandardMode, - .shinyPalette = gMonShinyPalette_DarmanitanStandardMode, - .iconSprite = gMonIcon_DarmanitanStandardMode, + .palette = gMonPalette_DarmanitanStandard, + .shinyPalette = gMonShinyPalette_DarmanitanStandard, + .iconSprite = gMonIcon_DarmanitanStandard, .iconPalIndex = 0, + SHADOW(3, 5, SHADOW_SIZE_L) FOOTPRINT(Darmanitan) OVERWORLD( - sPicTable_DarmanitanStandardMode, + sPicTable_DarmanitanStandard, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_DarmanitanStandardMode, - gShinyOverworldPalette_DarmanitanStandardMode + gOverworldPalette_DarmanitanStandard, + gShinyOverworldPalette_DarmanitanStandard ) .levelUpLearnset = sDarmanitanLevelUpLearnset, .teachableLearnset = sDarmanitanTeachableLearnset, @@ -4414,7 +4494,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .formChangeTable = sDarmanitanFormChangeTable, }, - [SPECIES_DARMANITAN_ZEN_MODE] = + [SPECIES_DARMANITAN_ZEN] = { .baseHP = 105, .baseAttack = 30, @@ -4447,19 +4527,20 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .pokemonOffset = 3, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_DarmanitanZenMode, + .frontPic = gMonFrontPic_DarmanitanZen, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_DarmanitanZenMode, + .frontAnimFrames = sAnims_DarmanitanZen, .frontAnimId = ANIM_GROW_VIBRATE, - .backPic = gMonBackPic_DarmanitanZenMode, + .backPic = gMonBackPic_DarmanitanZen, .backPicSize = MON_COORDS_SIZE(56, 48), .backPicYOffset = 11, .backAnimId = BACK_ANIM_H_SHAKE, - .palette = gMonPalette_DarmanitanZenMode, - .shinyPalette = gMonShinyPalette_DarmanitanZenMode, - .iconSprite = gMonIcon_DarmanitanZenMode, + .palette = gMonPalette_DarmanitanZen, + .shinyPalette = gMonShinyPalette_DarmanitanZen, + .iconSprite = gMonIcon_DarmanitanZen, .iconPalIndex = 0, + SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Darmanitan) .levelUpLearnset = sDarmanitanLevelUpLearnset, .teachableLearnset = sDarmanitanTeachableLearnset, @@ -4468,7 +4549,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = }, #if P_GALARIAN_FORMS - [SPECIES_DARUMAKA_GALARIAN] = + [SPECIES_DARUMAKA_GALAR] = { .baseHP = 70, .baseAttack = 90, @@ -4502,37 +4583,38 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .pokemonOffset = 14, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_DarumakaGalarian, + .frontPic = gMonFrontPic_DarumakaGalar, .frontPicSize = MON_COORDS_SIZE(40, 40), .frontPicYOffset = 15, - .frontAnimFrames = sAnims_DarumakaGalarian, + .frontAnimFrames = sAnims_DarumakaGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_DarumakaGalarian, + .backPic = gMonBackPic_DarumakaGalar, .backPicSize = MON_COORDS_SIZE(56, 48), .backPicYOffset = 11, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_DarumakaGalarian, - .shinyPalette = gMonShinyPalette_DarumakaGalarian, - .iconSprite = gMonIcon_DarumakaGalarian, + .palette = gMonPalette_DarumakaGalar, + .shinyPalette = gMonShinyPalette_DarumakaGalar, + .iconSprite = gMonIcon_DarumakaGalar, .iconPalIndex = 0, + SHADOW(-3, -1, SHADOW_SIZE_S) FOOTPRINT(Darumaka) OVERWORLD( - sPicTable_DarumakaGalarian, + sPicTable_DarumakaGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_DarumakaGalarian, - gShinyOverworldPalette_DarumakaGalarian + gOverworldPalette_DarumakaGalar, + gShinyOverworldPalette_DarumakaGalar ) .isGalarianForm = TRUE, - .levelUpLearnset = sDarumakaGalarianLevelUpLearnset, - .teachableLearnset = sDarumakaGalarianTeachableLearnset, - .eggMoveLearnset = sDarumakaGalarianEggMoveLearnset, + .levelUpLearnset = sDarumakaGalarLevelUpLearnset, + .teachableLearnset = sDarumakaGalarTeachableLearnset, + .eggMoveLearnset = sDarumakaGalarEggMoveLearnset, .formSpeciesIdTable = sDarumakaFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_ITEM, ITEM_ICE_STONE, SPECIES_DARMANITAN_GALARIAN_STANDARD_MODE}), + .evolutions = EVOLUTION({EVO_ITEM, ITEM_ICE_STONE, SPECIES_DARMANITAN_GALAR_STANDARD}), }, - [SPECIES_DARMANITAN_GALARIAN_STANDARD_MODE] = + [SPECIES_DARMANITAN_GALAR_STANDARD] = { .baseHP = 105, .baseAttack = 140, @@ -4566,36 +4648,37 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .pokemonOffset = 3, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_DarmanitanGalarianStandardMode, + .frontPic = gMonFrontPic_DarmanitanGalarStandard, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_DarmanitanGalarianStandardMode, + .frontAnimFrames = sAnims_DarmanitanGalarStandard, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_DarmanitanGalarianStandardMode, + .backPic = gMonBackPic_DarmanitanGalarStandard, .backPicSize = MON_COORDS_SIZE(56, 64), .backPicYOffset = 2, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_DarmanitanGalarianStandardMode, - .shinyPalette = gMonShinyPalette_DarmanitanGalarianStandardMode, - .iconSprite = gMonIcon_DarmanitanGalarianStandardMode, + .palette = gMonPalette_DarmanitanGalarStandard, + .shinyPalette = gMonShinyPalette_DarmanitanGalarStandard, + .iconSprite = gMonIcon_DarmanitanGalarStandard, .iconPalIndex = 0, + SHADOW(4, 8, SHADOW_SIZE_L) FOOTPRINT(Darmanitan) OVERWORLD( - sPicTable_DarmanitanGalarianStandardMode, + sPicTable_DarmanitanGalarStandard, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_DarmanitanGalarianStandardMode, - gShinyOverworldPalette_DarmanitanGalarianStandardMode + gOverworldPalette_DarmanitanGalarStandard, + gShinyOverworldPalette_DarmanitanGalarStandard ) .isGalarianForm = TRUE, - .levelUpLearnset = sDarmanitanGalarianLevelUpLearnset, - .teachableLearnset = sDarmanitanGalarianTeachableLearnset, + .levelUpLearnset = sDarmanitanGalarLevelUpLearnset, + .teachableLearnset = sDarmanitanGalarTeachableLearnset, .formSpeciesIdTable = sDarmanitanFormSpeciesIdTable, - .formChangeTable = sDarmanitanGalarianFormChangeTable, + .formChangeTable = sDarmanitanGalarFormChangeTable, }, - [SPECIES_DARMANITAN_GALARIAN_ZEN_MODE] = + [SPECIES_DARMANITAN_GALAR_ZEN] = { .baseHP = 105, .baseAttack = 160, @@ -4629,25 +4712,26 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .pokemonOffset = 3, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_DarmanitanGalarianZenMode, + .frontPic = gMonFrontPic_DarmanitanGalarZen, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_DarmanitanGalarianZenMode, + .frontAnimFrames = sAnims_DarmanitanGalarZen, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_DarmanitanGalarianZenMode, + .backPic = gMonBackPic_DarmanitanGalarZen, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 1, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_DarmanitanGalarianZenMode, - .shinyPalette = gMonShinyPalette_DarmanitanGalarianZenMode, - .iconSprite = gMonIcon_DarmanitanGalarianZenMode, + .palette = gMonPalette_DarmanitanGalarZen, + .shinyPalette = gMonShinyPalette_DarmanitanGalarZen, + .iconSprite = gMonIcon_DarmanitanGalarZen, .iconPalIndex = 0, + SHADOW(0, 11, SHADOW_SIZE_S) FOOTPRINT(Darmanitan) .isGalarianForm = TRUE, - .levelUpLearnset = sDarmanitanGalarianLevelUpLearnset, - .teachableLearnset = sDarmanitanGalarianTeachableLearnset, + .levelUpLearnset = sDarmanitanGalarLevelUpLearnset, + .teachableLearnset = sDarmanitanGalarTeachableLearnset, .formSpeciesIdTable = sDarmanitanFormSpeciesIdTable, - .formChangeTable = sDarmanitanGalarianFormChangeTable, + .formChangeTable = sDarmanitanGalarFormChangeTable, }, #endif //P_GALARIAN_FORMS #endif //P_FAMILY_DARUMAKA @@ -4701,6 +4785,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Maractus, .iconSprite = gMonIcon_Maractus, .iconPalIndex = 1, + SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Maractus) OVERWORLD( sPicTable_Maractus, @@ -4765,6 +4850,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Dwebble, .iconSprite = gMonIcon_Dwebble, .iconPalIndex = 0, + SHADOW(-1, -2, SHADOW_SIZE_S) FOOTPRINT(Dwebble) OVERWORLD( sPicTable_Dwebble, @@ -4828,6 +4914,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Crustle, .iconSprite = gMonIcon_Crustle, .iconPalIndex = 2, + SHADOW(1, 8, SHADOW_SIZE_L) FOOTPRINT(Crustle) OVERWORLD( sPicTable_Crustle, @@ -4891,6 +4978,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Scraggy, .iconSprite = gMonIcon_Scraggy, .iconPalIndex = 2, + SHADOW(-4, 2, SHADOW_SIZE_S) FOOTPRINT(Scraggy) OVERWORLD( sPicTable_Scraggy, @@ -4955,6 +5043,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Scrafty, .iconSprite = gMonIcon_Scrafty, .iconPalIndex = 0, + SHADOW(-2, 9, SHADOW_SIZE_M) FOOTPRINT(Scrafty) OVERWORLD( sPicTable_Scrafty, @@ -5018,6 +5107,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Sigilyph, .iconSprite = gMonIcon_Sigilyph, .iconPalIndex = 0, + SHADOW(3, 18, SHADOW_SIZE_S) FOOTPRINT(Sigilyph) OVERWORLD( sPicTable_Sigilyph, @@ -5083,6 +5173,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Yamask, .iconSprite = gMonIcon_Yamask, .iconPalIndex = 0, + SHADOW(-1, 6, SHADOW_SIZE_S) FOOTPRINT(Yamask) OVERWORLD( sPicTable_Yamask, @@ -5147,6 +5238,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Cofagrigus, .iconSprite = gMonIcon_Cofagrigus, .iconPalIndex = 0, + SHADOW(6, 12, SHADOW_SIZE_M) FOOTPRINT(Cofagrigus) OVERWORLD( sPicTable_Cofagrigus, @@ -5161,7 +5253,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = }, #if P_GALARIAN_FORMS - [SPECIES_YAMASK_GALARIAN] = + [SPECIES_YAMASK_GALAR] = { .baseHP = 38, .baseAttack = 55, @@ -5195,33 +5287,34 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .pokemonOffset = 13, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_YamaskGalarian, + .frontPic = gMonFrontPic_YamaskGalar, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 13, - .frontAnimFrames = sAnims_YamaskGalarian, + .frontAnimFrames = sAnims_YamaskGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 4, - .backPic = gMonBackPic_YamaskGalarian, + .backPic = gMonBackPic_YamaskGalar, .backPicSize = MON_COORDS_SIZE(40, 40), .backPicYOffset = 13, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_YamaskGalarian, - .shinyPalette = gMonShinyPalette_YamaskGalarian, - .iconSprite = gMonIcon_YamaskGalarian, + .palette = gMonPalette_YamaskGalar, + .shinyPalette = gMonShinyPalette_YamaskGalar, + .iconSprite = gMonIcon_YamaskGalar, .iconPalIndex = 2, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Yamask) OVERWORLD( - sPicTable_YamaskGalarian, + sPicTable_YamaskGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_YamaskGalarian, - gShinyOverworldPalette_YamaskGalarian + gOverworldPalette_YamaskGalar, + gShinyOverworldPalette_YamaskGalar ) .isGalarianForm = TRUE, - .levelUpLearnset = sYamaskGalarianLevelUpLearnset, - .teachableLearnset = sYamaskGalarianTeachableLearnset, - .eggMoveLearnset = sYamaskGalarianEggMoveLearnset, + .levelUpLearnset = sYamaskGalarLevelUpLearnset, + .teachableLearnset = sYamaskGalarTeachableLearnset, + .eggMoveLearnset = sYamaskGalarEggMoveLearnset, .formSpeciesIdTable = sYamaskFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_SCRIPT_TRIGGER_DMG, 49, SPECIES_RUNERIGUS}), }, @@ -5273,6 +5366,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Runerigus, .iconSprite = gMonIcon_Runerigus, .iconPalIndex = 2, + SHADOW(14, 14, SHADOW_SIZE_M) FOOTPRINT(Runerigus) OVERWORLD( sPicTable_Runerigus, @@ -5336,6 +5430,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Tirtouga, .iconSprite = gMonIcon_Tirtouga, .iconPalIndex = 2, + SHADOW(0, -3, SHADOW_SIZE_M) FOOTPRINT(Tirtouga) OVERWORLD( sPicTable_Tirtouga, @@ -5398,6 +5493,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Carracosta, .iconSprite = gMonIcon_Carracosta, .iconPalIndex = 2, + SHADOW(4, 8, SHADOW_SIZE_L) FOOTPRINT(Carracosta) OVERWORLD( sPicTable_Carracosta, @@ -5460,6 +5556,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Archen, .iconSprite = gMonIcon_Archen, .iconPalIndex = 0, + SHADOW(-3, -2, SHADOW_SIZE_S) FOOTPRINT(Archen) OVERWORLD( sPicTable_Archen, @@ -5523,6 +5620,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Archeops, .iconSprite = gMonIcon_Archeops, .iconPalIndex = 0, + SHADOW(0, 18, SHADOW_SIZE_M) FOOTPRINT(Archeops) OVERWORLD( sPicTable_Archeops, @@ -5586,6 +5684,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Trubbish, .iconSprite = gMonIcon_Trubbish, .iconPalIndex = 1, + SHADOW(-2, -1, SHADOW_SIZE_S) FOOTPRINT(Trubbish) OVERWORLD( sPicTable_Trubbish, @@ -5651,6 +5750,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Garbodor, .iconSprite = gMonIcon_Garbodor, .iconPalIndex = 1, + SHADOW(3, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Garbodor) OVERWORLD( sPicTable_Garbodor, @@ -5667,7 +5767,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_GARBODOR_GIGANTAMAX] = + [SPECIES_GARBODOR_GMAX] = { .baseHP = 80, .baseAttack = 95, @@ -5704,19 +5804,20 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .pokemonOffset = 1, .trainerScale = 326, .trainerOffset = 4, - .frontPic = gMonFrontPic_GarbodorGigantamax, + .frontPic = gMonFrontPic_GarbodorGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_GarbodorGigantamax, + .frontAnimFrames = sAnims_GarbodorGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_GarbodorGigantamax, + .backPic = gMonBackPic_GarbodorGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 2, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_GarbodorGigantamax, - .shinyPalette = gMonShinyPalette_GarbodorGigantamax, - .iconSprite = gMonIcon_GarbodorGigantamax, + .palette = gMonPalette_GarbodorGmax, + .shinyPalette = gMonShinyPalette_GarbodorGmax, + .iconSprite = gMonIcon_GarbodorGmax, .iconPalIndex = 0, + NO_SHADOW FOOTPRINT(Garbodor) .isGigantamax = TRUE, .levelUpLearnset = sGarbodorLevelUpLearnset, @@ -5775,6 +5876,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Zorua, .iconSprite = gMonIcon_Zorua, .iconPalIndex = 0, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Zorua) OVERWORLD( sPicTable_Zorua, @@ -5838,6 +5940,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Zoroark, .iconSprite = gMonIcon_Zoroark, .iconPalIndex = 0, + SHADOW(1, 8, SHADOW_SIZE_L) FOOTPRINT(Zoroark) OVERWORLD( sPicTable_Zoroark, @@ -5853,7 +5956,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = }, #if P_HISUIAN_FORMS - [SPECIES_ZORUA_HISUIAN] = + [SPECIES_ZORUA_HISUI] = { .baseHP = 35, .baseAttack = 60, @@ -5887,36 +5990,37 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .pokemonOffset = 12, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_ZoruaHisuian, + .frontPic = gMonFrontPic_ZoruaHisui, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_ZoruaHisuian, + .frontAnimFrames = sAnims_ZoruaHisui, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_ZoruaHisuian, + .backPic = gMonBackPic_ZoruaHisui, .backPicSize = MON_COORDS_SIZE(56, 64), .backPicYOffset = 1, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_ZoruaHisuian, - .shinyPalette = gMonShinyPalette_ZoruaHisuian, - .iconSprite = gMonIcon_ZoruaHisuian, + .palette = gMonPalette_ZoruaHisui, + .shinyPalette = gMonShinyPalette_ZoruaHisui, + .iconSprite = gMonIcon_ZoruaHisui, .iconPalIndex = 0, + SHADOW(2, 12, SHADOW_SIZE_S) FOOTPRINT(Zorua) OVERWORLD( - sPicTable_ZoruaHisuian, + sPicTable_ZoruaHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_ZoruaHisuian, - gShinyOverworldPalette_ZoruaHisuian + gOverworldPalette_ZoruaHisui, + gShinyOverworldPalette_ZoruaHisui ) .isHisuianForm = TRUE, - .levelUpLearnset = sZoruaHisuianLevelUpLearnset, - .teachableLearnset = sZoruaHisuianTeachableLearnset, + .levelUpLearnset = sZoruaHisuiLevelUpLearnset, + .teachableLearnset = sZoruaHisuiTeachableLearnset, .formSpeciesIdTable = sZoruaFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_ZOROARK_HISUIAN}), + .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_ZOROARK_HISUI}), }, - [SPECIES_ZOROARK_HISUIAN] = + [SPECIES_ZOROARK_HISUI] = { .baseHP = 55, .baseAttack = 100, @@ -5950,31 +6054,32 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .pokemonOffset = 1, .trainerScale = 296, .trainerOffset = 1, - .frontPic = gMonFrontPic_ZoroarkHisuian, + .frontPic = gMonFrontPic_ZoroarkHisui, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_ZoroarkHisuian, + .frontAnimFrames = sAnims_ZoroarkHisui, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_ZoroarkHisuian, + .backPic = gMonBackPic_ZoroarkHisui, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 0, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_ZoroarkHisuian, - .shinyPalette = gMonShinyPalette_ZoroarkHisuian, - .iconSprite = gMonIcon_ZoroarkHisuian, + .palette = gMonPalette_ZoroarkHisui, + .shinyPalette = gMonShinyPalette_ZoroarkHisui, + .iconSprite = gMonIcon_ZoroarkHisui, .iconPalIndex = 0, + SHADOW(11, 13, SHADOW_SIZE_L) FOOTPRINT(Zoroark) OVERWORLD( - sPicTable_ZoroarkHisuian, + sPicTable_ZoroarkHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_ZoroarkHisuian, - gShinyOverworldPalette_ZoroarkHisuian + gOverworldPalette_ZoroarkHisui, + gShinyOverworldPalette_ZoroarkHisui ) .isHisuianForm = TRUE, - .levelUpLearnset = sZoroarkHisuianLevelUpLearnset, - .teachableLearnset = sZoroarkHisuianTeachableLearnset, + .levelUpLearnset = sZoroarkHisuiLevelUpLearnset, + .teachableLearnset = sZoroarkHisuiTeachableLearnset, .formSpeciesIdTable = sZoroarkFormSpeciesIdTable, }, #endif //P_HISUIAN_FORMS @@ -6028,6 +6133,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Minccino, .iconSprite = gMonIcon_Minccino, .iconPalIndex = 0, + SHADOW(-3, 3, SHADOW_SIZE_S) FOOTPRINT(Minccino) OVERWORLD( sPicTable_Minccino, @@ -6091,6 +6197,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Cinccino, .iconSprite = gMonIcon_Cinccino, .iconPalIndex = 0, + SHADOW(0, 6, SHADOW_SIZE_M) FOOTPRINT(Cinccino) OVERWORLD( sPicTable_Cinccino, @@ -6157,6 +6264,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Gothita, .iconSprite = gMonIcon_Gothita, .iconPalIndex = 2, + SHADOW(-3, 2, SHADOW_SIZE_S) FOOTPRINT(Gothita) OVERWORLD( sPicTable_Gothita, @@ -6223,6 +6331,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Gothorita, .iconSprite = gMonIcon_Gothorita, .iconPalIndex = 2, + SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Gothorita) OVERWORLD( sPicTable_Gothorita, @@ -6288,6 +6397,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Gothitelle, .iconSprite = gMonIcon_Gothitelle, .iconPalIndex = 2, + SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Gothitelle) OVERWORLD( sPicTable_Gothitelle, @@ -6352,6 +6462,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Solosis, .iconSprite = gMonIcon_Solosis, .iconPalIndex = 1, + SHADOW(-1, 8, SHADOW_SIZE_S) FOOTPRINT(Solosis) OVERWORLD( sPicTable_Solosis, @@ -6415,6 +6526,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Duosion, .iconSprite = gMonIcon_Duosion, .iconPalIndex = 1, + SHADOW(-1, 6, SHADOW_SIZE_M) FOOTPRINT(Duosion) OVERWORLD( sPicTable_Duosion, @@ -6477,6 +6589,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Reuniclus, .iconSprite = gMonIcon_Reuniclus, .iconPalIndex = 1, + SHADOW(0, 8, SHADOW_SIZE_M) FOOTPRINT(Reuniclus) OVERWORLD( sPicTable_Reuniclus, @@ -6539,6 +6652,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Ducklett, .iconSprite = gMonIcon_Ducklett, .iconPalIndex = 0, + SHADOW(-1, 2, SHADOW_SIZE_S) FOOTPRINT(Ducklett) OVERWORLD( sPicTable_Ducklett, @@ -6601,6 +6715,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Swanna, .iconSprite = gMonIcon_Swanna, .iconPalIndex = 2, + SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Swanna) OVERWORLD( sPicTable_Swanna, @@ -6668,6 +6783,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Vanillite, .iconSprite = gMonIcon_Vanillite, .iconPalIndex = 0, + SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Vanillite) OVERWORLD( sPicTable_Vanillite, @@ -6735,6 +6851,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Vanillish, .iconSprite = gMonIcon_Vanillish, .iconPalIndex = 2, + SHADOW(-3, 9, SHADOW_SIZE_S) FOOTPRINT(Vanillish) OVERWORLD( sPicTable_Vanillish, @@ -6801,6 +6918,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Vanilluxe, .iconSprite = gMonIcon_Vanilluxe, .iconPalIndex = 2, + SHADOW(-2, 10, SHADOW_SIZE_M) FOOTPRINT(Vanilluxe) OVERWORLD( sPicTable_Vanilluxe, @@ -6863,6 +6981,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_DeerlingSpring, .iconSprite = gMonIcon_DeerlingSpring, .iconPalIndex = 1, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Deerling) OVERWORLD( sPicTable_DeerlingSpring, @@ -6926,6 +7045,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_DeerlingSummer, .iconSprite = gMonIcon_DeerlingSummer, .iconPalIndex = 1, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Deerling) OVERWORLD( sPicTable_DeerlingSummer, @@ -6989,6 +7109,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_DeerlingAutumn, .iconSprite = gMonIcon_DeerlingAutumn, .iconPalIndex = 0, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Deerling) OVERWORLD( sPicTable_DeerlingAutumn, @@ -7052,6 +7173,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_DeerlingWinter, .iconSprite = gMonIcon_DeerlingWinter, .iconPalIndex = 2, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Deerling) OVERWORLD( sPicTable_DeerlingWinter, @@ -7115,6 +7237,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_SawsbuckSpring, .iconSprite = gMonIcon_SawsbuckSpring, .iconPalIndex = 1, + SHADOW(7, 13, SHADOW_SIZE_M) FOOTPRINT(Sawsbuck) OVERWORLD( sPicTable_SawsbuckSpring, @@ -7176,6 +7299,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_SawsbuckSummer, .iconSprite = gMonIcon_SawsbuckSummer, .iconPalIndex = 1, + SHADOW(7, 13, SHADOW_SIZE_M) FOOTPRINT(Sawsbuck) OVERWORLD( sPicTable_SawsbuckSummer, @@ -7237,6 +7361,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_SawsbuckAutumn, .iconSprite = gMonIcon_SawsbuckAutumn, .iconPalIndex = 1, + SHADOW(7, 13, SHADOW_SIZE_M) FOOTPRINT(Sawsbuck) OVERWORLD( sPicTable_SawsbuckAutumn, @@ -7298,6 +7423,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_SawsbuckWinter, .iconSprite = gMonIcon_SawsbuckWinter, .iconPalIndex = 1, + SHADOW(7, 13, SHADOW_SIZE_M) FOOTPRINT(Sawsbuck) OVERWORLD( sPicTable_SawsbuckWinter, @@ -7363,6 +7489,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Emolga, .iconSprite = gMonIcon_Emolga, .iconPalIndex = 2, + SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Emolga) OVERWORLD( sPicTable_Emolga, @@ -7426,6 +7553,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Karrablast, .iconSprite = gMonIcon_Karrablast, .iconPalIndex = 0, + SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Karrablast) OVERWORLD( sPicTable_Karrablast, @@ -7488,6 +7616,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Escavalier, .iconSprite = gMonIcon_Escavalier, .iconPalIndex = 0, + SHADOW(1, 11, SHADOW_SIZE_M) FOOTPRINT(Escavalier) OVERWORLD( sPicTable_Escavalier, @@ -7552,6 +7681,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Foongus, .iconSprite = gMonIcon_Foongus, .iconPalIndex = 0, + SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Foongus) OVERWORLD( sPicTable_Foongus, @@ -7617,6 +7747,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Amoonguss, .iconSprite = gMonIcon_Amoonguss, .iconPalIndex = 1, + SHADOW(1, 5, SHADOW_SIZE_M) FOOTPRINT(Amoonguss) OVERWORLD( sPicTable_Amoonguss, @@ -7667,26 +7798,29 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .trainerScale = 256, .trainerOffset = 0, .frontPic = gMonFrontPic_Frillish, - .frontPicFemale = gMonFrontPic_FrillishF, .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), .frontPicYOffset = 5, .frontAnimFrames = sAnims_Frillish, .frontAnimId = ANIM_RISING_WOBBLE, .backPic = gMonBackPic_Frillish, - .backPicFemale = gMonBackPic_FrillishF, .backPicSize = MON_COORDS_SIZE(40, 56), - .backPicSizeFemale = MON_COORDS_SIZE(40, 56), .backPicYOffset = 7, .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, .palette = gMonPalette_Frillish, - .paletteFemale = gMonPalette_FrillishF, .shinyPalette = gMonShinyPalette_Frillish, - .shinyPaletteFemale = gMonShinyPalette_FrillishF, .iconSprite = gMonIcon_Frillish, - .iconSpriteFemale = gMonIcon_FrillishF, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_FrillishF, + .frontPicSizeFemale = MON_COORDS_SIZE(56, 56), + .backPicFemale = gMonBackPic_FrillishF, + .backPicSizeFemale = MON_COORDS_SIZE(40, 56), + .paletteFemale = gMonPalette_FrillishF, + .shinyPaletteFemale = gMonShinyPalette_FrillishF, + .iconSpriteFemale = gMonIcon_FrillishF, .iconPalIndexFemale = 1, +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Frillish) OVERWORLD( sPicTable_Frillish, @@ -7696,6 +7830,14 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = gOverworldPalette_Frillish, gShinyOverworldPalette_Frillish ) + OVERWORLD_FEMALE( + sPicTable_FrillishF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT, + gOverworldPalette_FrillishF, + gShinyOverworldPalette_FrillishF + ) .levelUpLearnset = sFrillishLevelUpLearnset, .teachableLearnset = sFrillishTeachableLearnset, .eggMoveLearnset = sFrillishEggMoveLearnset, @@ -7737,26 +7879,29 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .trainerScale = 348, .trainerOffset = 6, .frontPic = gMonFrontPic_Jellicent, - .frontPicFemale = gMonFrontPic_JellicentF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, .frontAnimFrames = sAnims_Jellicent, .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Jellicent, - .backPicFemale = gMonBackPic_JellicentF, .backPicSize = MON_COORDS_SIZE(64, 48), - .backPicSizeFemale = MON_COORDS_SIZE(64, 48), .backPicYOffset = 10, .backAnimId = BACK_ANIM_GROW_STUTTER, .palette = gMonPalette_Jellicent, - .paletteFemale = gMonPalette_JellicentF, .shinyPalette = gMonShinyPalette_Jellicent, - .shinyPaletteFemale = gMonShinyPalette_JellicentF, .iconSprite = gMonIcon_Jellicent, - .iconSpriteFemale = gMonIcon_JellicentF, .iconPalIndex = 0, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_JellicentF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_JellicentF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 48), + .paletteFemale = gMonPalette_JellicentF, + .shinyPaletteFemale = gMonShinyPalette_JellicentF, + .iconSpriteFemale = gMonIcon_JellicentF, .iconPalIndexFemale = 1, +#endif //P_GENDER_DIFFERENCES + SHADOW(-1, 11, SHADOW_SIZE_M) FOOTPRINT(Jellicent) OVERWORLD( sPicTable_Jellicent, @@ -7766,6 +7911,14 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = gOverworldPalette_Jellicent, gShinyOverworldPalette_Jellicent ) + OVERWORLD_FEMALE( + sPicTable_JellicentF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT, + gOverworldPalette_JellicentF, + gShinyOverworldPalette_JellicentF + ) .levelUpLearnset = sJellicentLevelUpLearnset, .teachableLearnset = sJellicentTeachableLearnset, }, @@ -7819,6 +7972,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Alomomola, .iconSprite = gMonIcon_Alomomola, .iconPalIndex = 0, + SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Alomomola) OVERWORLD( sPicTable_Alomomola, @@ -7882,6 +8036,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Joltik, .iconSprite = gMonIcon_Joltik, .iconPalIndex = 0, + SHADOW(0, -5, SHADOW_SIZE_S) FOOTPRINT(Joltik) OVERWORLD( sPicTable_Joltik, @@ -7944,6 +8099,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Galvantula, .iconSprite = gMonIcon_Galvantula, .iconPalIndex = 2, + SHADOW(0, -2, SHADOW_SIZE_L) FOOTPRINT(Galvantula) OVERWORLD( sPicTable_Galvantula, @@ -8007,6 +8163,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Ferroseed, .iconSprite = gMonIcon_Ferroseed, .iconPalIndex = 1, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Ferroseed) OVERWORLD( sPicTable_Ferroseed, @@ -8075,6 +8232,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Ferrothorn, .iconSprite = gMonIcon_Ferrothorn, .iconPalIndex = 1, + SHADOW(-2, 17, SHADOW_SIZE_M) FOOTPRINT(Ferrothorn) OVERWORLD( sPicTable_Ferrothorn, @@ -8139,6 +8297,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Klink, .iconSprite = gMonIcon_Klink, .iconPalIndex = 0, + SHADOW(-2, 11, SHADOW_SIZE_S) FOOTPRINT(Klink) OVERWORLD( sPicTable_Klink, @@ -8202,6 +8361,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Klang, .iconSprite = gMonIcon_Klang, .iconPalIndex = 0, + SHADOW(-1, 12, SHADOW_SIZE_M) FOOTPRINT(Klang) OVERWORLD( sPicTable_Klang, @@ -8265,6 +8425,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Klinklang, .iconSprite = gMonIcon_Klinklang, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Klinklang) OVERWORLD( sPicTable_Klinklang, @@ -8328,6 +8489,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Tynamo, .iconSprite = gMonIcon_Tynamo, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_S) FOOTPRINT(Tynamo) OVERWORLD( sPicTable_Tynamo, @@ -8391,6 +8553,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Eelektrik, .iconSprite = gMonIcon_Eelektrik, .iconPalIndex = 0, + SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Eelektrik) OVERWORLD( sPicTable_Eelektrik, @@ -8453,6 +8616,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Eelektross, .iconSprite = gMonIcon_Eelektross, .iconPalIndex = 0, + SHADOW(3, 13, SHADOW_SIZE_M) FOOTPRINT(Eelektross) OVERWORLD( sPicTable_Eelektross, @@ -8515,6 +8679,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Elgyem, .iconSprite = gMonIcon_Elgyem, .iconPalIndex = 0, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Elgyem) OVERWORLD( sPicTable_Elgyem, @@ -8577,6 +8742,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Beheeyem, .iconSprite = gMonIcon_Beheeyem, .iconPalIndex = 2, + SHADOW(0, 10, SHADOW_SIZE_M) FOOTPRINT(Beheeyem) OVERWORLD( sPicTable_Beheeyem, @@ -8644,6 +8810,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Litwick, .iconSprite = gMonIcon_Litwick, .iconPalIndex = 2, + SHADOW(1, -1, SHADOW_SIZE_S) FOOTPRINT(Litwick) OVERWORLD( sPicTable_Litwick, @@ -8711,6 +8878,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Lampent, .iconSprite = gMonIcon_Lampent, .iconPalIndex = 2, + SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Lampent) OVERWORLD( sPicTable_Lampent, @@ -8777,6 +8945,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Chandelure, .iconSprite = gMonIcon_Chandelure, .iconPalIndex = 2, + SHADOW(1, 13, SHADOW_SIZE_S) FOOTPRINT(Chandelure) OVERWORLD( sPicTable_Chandelure, @@ -8839,6 +9008,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Axew, .iconSprite = gMonIcon_Axew, .iconPalIndex = 1, + SHADOW(2, 1, SHADOW_SIZE_S) FOOTPRINT(Axew) OVERWORLD( sPicTable_Axew, @@ -8901,6 +9071,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Fraxure, .iconSprite = gMonIcon_Fraxure, .iconPalIndex = 1, + SHADOW(-2, 8, SHADOW_SIZE_L) FOOTPRINT(Fraxure) OVERWORLD( sPicTable_Fraxure, @@ -8962,6 +9133,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Haxorus, .iconSprite = gMonIcon_Haxorus, .iconPalIndex = 2, + SHADOW(2, 9, SHADOW_SIZE_L) FOOTPRINT(Haxorus) OVERWORLD( sPicTable_Haxorus, @@ -9028,6 +9200,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Cubchoo, .iconSprite = gMonIcon_Cubchoo, .iconPalIndex = 0, + SHADOW(-2, 0, SHADOW_SIZE_S) FOOTPRINT(Cubchoo) OVERWORLD( sPicTable_Cubchoo, @@ -9094,6 +9267,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Beartic, .iconSprite = gMonIcon_Beartic, .iconPalIndex = 0, + SHADOW(1, 13, SHADOW_SIZE_L) FOOTPRINT(Beartic) OVERWORLD( sPicTable_Beartic, @@ -9158,6 +9332,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Cryogonal, .iconSprite = gMonIcon_Cryogonal, .iconPalIndex = 0, + SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Cryogonal) OVERWORLD( sPicTable_Cryogonal, @@ -9220,6 +9395,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Shelmet, .iconSprite = gMonIcon_Shelmet, .iconPalIndex = 1, + SHADOW(0, -1, SHADOW_SIZE_S) FOOTPRINT(Shelmet) OVERWORLD( sPicTable_Shelmet, @@ -9282,6 +9458,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Accelgor, .iconSprite = gMonIcon_Accelgor, .iconPalIndex = 1, + SHADOW(-14, 8, SHADOW_SIZE_S) FOOTPRINT(Accelgor) OVERWORLD( sPicTable_Accelgor, @@ -9345,6 +9522,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Stunfisk, .iconSprite = gMonIcon_Stunfisk, .iconPalIndex = 2, + SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Stunfisk) OVERWORLD( sPicTable_Stunfisk, @@ -9361,7 +9539,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = }, #if P_GALARIAN_FORMS - [SPECIES_STUNFISK_GALARIAN] = + [SPECIES_STUNFISK_GALAR] = { .baseHP = 109, .baseAttack = 81, @@ -9395,32 +9573,33 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .pokemonOffset = 14, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_StunfiskGalarian, + .frontPic = gMonFrontPic_StunfiskGalar, .frontPicSize = MON_COORDS_SIZE(48, 40), .frontPicYOffset = 14, - .frontAnimFrames = sAnims_StunfiskGalarian, + .frontAnimFrames = sAnims_StunfiskGalar, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_StunfiskGalarian, + .backPic = gMonBackPic_StunfiskGalar, .backPicSize = MON_COORDS_SIZE(64, 24), .backPicYOffset = 23, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_StunfiskGalarian, - .shinyPalette = gMonShinyPalette_StunfiskGalarian, - .iconSprite = gMonIcon_StunfiskGalarian, + .palette = gMonPalette_StunfiskGalar, + .shinyPalette = gMonShinyPalette_StunfiskGalar, + .iconSprite = gMonIcon_StunfiskGalar, .iconPalIndex = 1, + SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Stunfisk) OVERWORLD( - sPicTable_StunfiskGalarian, + sPicTable_StunfiskGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_StunfiskGalarian, - gShinyOverworldPalette_StunfiskGalarian + gOverworldPalette_StunfiskGalar, + gShinyOverworldPalette_StunfiskGalar ) .isGalarianForm = TRUE, - .levelUpLearnset = sStunfiskGalarianLevelUpLearnset, - .teachableLearnset = sStunfiskGalarianTeachableLearnset, - .eggMoveLearnset = sStunfiskGalarianEggMoveLearnset, + .levelUpLearnset = sStunfiskGalarLevelUpLearnset, + .teachableLearnset = sStunfiskGalarTeachableLearnset, + .eggMoveLearnset = sStunfiskGalarEggMoveLearnset, .formSpeciesIdTable = sStunfiskFormSpeciesIdTable, }, #endif //P_GALARIAN_FORMS @@ -9474,6 +9653,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Mienfoo, .iconSprite = gMonIcon_Mienfoo, .iconPalIndex = 1, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Mienfoo) OVERWORLD( sPicTable_Mienfoo, @@ -9536,6 +9716,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Mienshao, .iconSprite = gMonIcon_Mienshao, .iconPalIndex = 2, + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Mienshao) OVERWORLD( sPicTable_Mienshao, @@ -9599,6 +9780,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Druddigon, .iconSprite = gMonIcon_Druddigon, .iconPalIndex = 0, + SHADOW(3, 9, SHADOW_SIZE_M) FOOTPRINT(Druddigon) OVERWORLD( sPicTable_Druddigon, @@ -9664,6 +9846,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Golett, .iconSprite = gMonIcon_Golett, .iconPalIndex = 0, + SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Golett) OVERWORLD( sPicTable_Golett, @@ -9727,6 +9910,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Golurk, .iconSprite = gMonIcon_Golurk, .iconPalIndex = 0, + SHADOW(-1, 14, SHADOW_SIZE_L) FOOTPRINT(Golurk) OVERWORLD( sPicTable_Golurk, @@ -9789,6 +9973,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Pawniard, .iconSprite = gMonIcon_Pawniard, .iconPalIndex = 0, + SHADOW(4, 4, SHADOW_SIZE_S) FOOTPRINT(Pawniard) OVERWORLD( sPicTable_Pawniard, @@ -9852,6 +10037,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Bisharp, .iconSprite = gMonIcon_Bisharp, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Bisharp) OVERWORLD( sPicTable_Bisharp, @@ -9914,6 +10100,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Kingambit, .iconSprite = gMonIcon_Kingambit, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Kingambit) OVERWORLD( sPicTable_Kingambit, @@ -9977,6 +10164,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Bouffalant, .iconSprite = gMonIcon_Bouffalant, .iconPalIndex = 2, + SHADOW(8, 7, SHADOW_SIZE_M) FOOTPRINT(Bouffalant) OVERWORLD( sPicTable_Bouffalant, @@ -10040,6 +10228,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Rufflet, .iconSprite = gMonIcon_Rufflet, .iconPalIndex = 2, + SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Rufflet) OVERWORLD( sPicTable_Rufflet, @@ -10052,7 +10241,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .levelUpLearnset = sRuffletLevelUpLearnset, .teachableLearnset = sRuffletTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 54, SPECIES_BRAVIARY}, - {EVO_NONE, 0, SPECIES_BRAVIARY_HISUIAN}), + {EVO_NONE, 0, SPECIES_BRAVIARY_HISUI}), }, [SPECIES_BRAVIARY] = @@ -10103,6 +10292,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Braviary, .iconSprite = gMonIcon_Braviary, .iconPalIndex = 0, + SHADOW(-1, 16, SHADOW_SIZE_M) FOOTPRINT(Braviary) OVERWORLD( sPicTable_Braviary, @@ -10118,7 +10308,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = }, #if P_HISUIAN_FORMS - [SPECIES_BRAVIARY_HISUIAN] = + [SPECIES_BRAVIARY_HISUI] = { .baseHP = 110, .baseAttack = 83, @@ -10151,32 +10341,33 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .pokemonOffset = 2, .trainerScale = 271, .trainerOffset = 0, - .frontPic = gMonFrontPic_BraviaryHisuian, + .frontPic = gMonFrontPic_BraviaryHisui, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_BraviaryHisuian, + .frontAnimFrames = sAnims_BraviaryHisui, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 3, - .backPic = gMonBackPic_BraviaryHisuian, + .backPic = gMonBackPic_BraviaryHisui, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 7, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_BraviaryHisuian, - .shinyPalette = gMonShinyPalette_BraviaryHisuian, - .iconSprite = gMonIcon_BraviaryHisuian, + .palette = gMonPalette_BraviaryHisui, + .shinyPalette = gMonShinyPalette_BraviaryHisui, + .iconSprite = gMonIcon_BraviaryHisui, .iconPalIndex = 2, + SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Braviary) OVERWORLD( - sPicTable_BraviaryHisuian, + sPicTable_BraviaryHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_BraviaryHisuian, - gShinyOverworldPalette_BraviaryHisuian + gOverworldPalette_BraviaryHisui, + gShinyOverworldPalette_BraviaryHisui ) .isHisuianForm = TRUE, - .levelUpLearnset = sBraviaryHisuianLevelUpLearnset, - .teachableLearnset = sBraviaryHisuianTeachableLearnset, + .levelUpLearnset = sBraviaryHisuiLevelUpLearnset, + .teachableLearnset = sBraviaryHisuiTeachableLearnset, .formSpeciesIdTable = sBraviaryFormSpeciesIdTable, }, #endif //P_HISUIAN_FORMS @@ -10230,6 +10421,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Vullaby, .iconSprite = gMonIcon_Vullaby, .iconPalIndex = 0, + SHADOW(-1, 9, SHADOW_SIZE_M) FOOTPRINT(Vullaby) OVERWORLD( sPicTable_Vullaby, @@ -10292,6 +10484,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Mandibuzz, .iconSprite = gMonIcon_Mandibuzz, .iconPalIndex = 1, + SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Mandibuzz) OVERWORLD( sPicTable_Mandibuzz, @@ -10354,6 +10547,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Heatmor, .iconSprite = gMonIcon_Heatmor, .iconPalIndex = 2, + SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Heatmor) OVERWORLD( sPicTable_Heatmor, @@ -10417,6 +10611,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Durant, .iconSprite = gMonIcon_Durant, .iconPalIndex = 0, + SHADOW(0, -3, SHADOW_SIZE_L) FOOTPRINT(Durant) OVERWORLD( sPicTable_Durant, @@ -10480,6 +10675,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Deino, .iconSprite = gMonIcon_Deino, .iconPalIndex = 2, + SHADOW(1, 3, SHADOW_SIZE_S) FOOTPRINT(Deino) OVERWORLD( sPicTable_Deino, @@ -10542,6 +10738,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Zweilous, .iconSprite = gMonIcon_Zweilous, .iconPalIndex = 2, + SHADOW(1, 6, SHADOW_SIZE_L) FOOTPRINT(Zweilous) OVERWORLD( sPicTable_Zweilous, @@ -10604,6 +10801,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Hydreigon, .iconSprite = gMonIcon_Hydreigon, .iconPalIndex = 2, + SHADOW(1, 16, SHADOW_SIZE_M) FOOTPRINT(Hydreigon) OVERWORLD( sPicTable_Hydreigon, @@ -10666,6 +10864,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Larvesta, .iconSprite = gMonIcon_Larvesta, .iconPalIndex = 0, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Larvesta) OVERWORLD( sPicTable_Larvesta, @@ -10731,6 +10930,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Volcarona, .iconSprite = gMonIcon_Volcarona, .iconPalIndex = 0, + SHADOW(-4, 14, SHADOW_SIZE_M) FOOTPRINT(Volcarona) OVERWORLD( sPicTable_Volcarona, @@ -10793,6 +10993,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Cobalion, .iconSprite = gMonIcon_Cobalion, .iconPalIndex = 0, + SHADOW(2, 14, SHADOW_SIZE_M) FOOTPRINT(Cobalion) OVERWORLD( sPicTable_Cobalion, @@ -10803,6 +11004,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = gShinyOverworldPalette_Cobalion ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sCobalionLevelUpLearnset, .teachableLearnset = sCobalionTeachableLearnset, }, @@ -10856,6 +11058,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Terrakion, .iconSprite = gMonIcon_Terrakion, .iconPalIndex = 2, + SHADOW(3, 6, SHADOW_SIZE_L) FOOTPRINT(Terrakion) OVERWORLD( sPicTable_Terrakion, @@ -10866,6 +11069,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = gShinyOverworldPalette_Terrakion ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sTerrakionLevelUpLearnset, .teachableLearnset = sTerrakionTeachableLearnset, }, @@ -10919,6 +11123,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Virizion, .iconSprite = gMonIcon_Virizion, .iconPalIndex = 1, + SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Virizion) OVERWORLD( sPicTable_Virizion, @@ -10929,6 +11134,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = gShinyOverworldPalette_Virizion ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sVirizionLevelUpLearnset, .teachableLearnset = sVirizionTeachableLearnset, }, @@ -10983,6 +11189,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_TornadusIncarnate, .iconSprite = gMonIcon_TornadusIncarnate, .iconPalIndex = 1, + SHADOW(2, 17, SHADOW_SIZE_M) FOOTPRINT(Tornadus) OVERWORLD( sPicTable_TornadusIncarnate, @@ -10993,6 +11200,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = gShinyOverworldPalette_TornadusIncarnate ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sTornadusLevelUpLearnset, .teachableLearnset = sTornadusTeachableLearnset, .formSpeciesIdTable = sTornadusFormSpeciesIdTable, @@ -11046,6 +11254,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_TornadusTherian, .iconSprite = gMonIcon_TornadusTherian, .iconPalIndex = 1, + SHADOW(-5, 12, SHADOW_SIZE_L) FOOTPRINT(Tornadus) OVERWORLD( sPicTable_TornadusTherian, @@ -11056,6 +11265,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = gShinyOverworldPalette_TornadusTherian ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sTornadusLevelUpLearnset, .teachableLearnset = sTornadusTeachableLearnset, .formSpeciesIdTable = sTornadusFormSpeciesIdTable, @@ -11112,6 +11322,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_ThundurusIncarnate, .iconSprite = gMonIcon_ThundurusIncarnate, .iconPalIndex = 0, + SHADOW(2, 17, SHADOW_SIZE_M) FOOTPRINT(Thundurus) OVERWORLD( sPicTable_ThundurusIncarnate, @@ -11122,6 +11333,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = gShinyOverworldPalette_ThundurusIncarnate ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sThundurusLevelUpLearnset, .teachableLearnset = sThundurusTeachableLearnset, .formSpeciesIdTable = sThundurusFormSpeciesIdTable, @@ -11176,6 +11388,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_ThundurusTherian, .iconSprite = gMonIcon_ThundurusTherian, .iconPalIndex = 0, + SHADOW(5, 16, SHADOW_SIZE_M) FOOTPRINT(Thundurus) OVERWORLD( sPicTable_ThundurusTherian, @@ -11186,6 +11399,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = gShinyOverworldPalette_ThundurusTherian ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sThundurusLevelUpLearnset, .teachableLearnset = sThundurusTeachableLearnset, .formSpeciesIdTable = sThundurusFormSpeciesIdTable, @@ -11241,6 +11455,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Reshiram, .iconSprite = gMonIcon_Reshiram, .iconPalIndex = 0, + SHADOW(-2, 12, SHADOW_SIZE_L) FOOTPRINT(Reshiram) OVERWORLD( sPicTable_Reshiram, @@ -11252,6 +11467,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sReshiramLevelUpLearnset, .teachableLearnset = sReshiramTeachableLearnset, }, @@ -11305,6 +11521,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Zekrom, .iconSprite = gMonIcon_Zekrom, .iconPalIndex = 2, + SHADOW(2, 14, SHADOW_SIZE_L) FOOTPRINT(Zekrom) OVERWORLD( sPicTable_Zekrom, @@ -11316,6 +11533,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sZekromLevelUpLearnset, .teachableLearnset = sZekromTeachableLearnset, }, @@ -11370,6 +11588,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_LandorusIncarnate, .iconSprite = gMonIcon_LandorusIncarnate, .iconPalIndex = 0, + SHADOW(2, 17, SHADOW_SIZE_M) FOOTPRINT(Landorus) OVERWORLD( sPicTable_LandorusIncarnate, @@ -11380,6 +11599,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = gShinyOverworldPalette_LandorusIncarnate ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sLandorusLevelUpLearnset, .teachableLearnset = sLandorusTeachableLearnset, .formSpeciesIdTable = sLandorusFormSpeciesIdTable, @@ -11433,6 +11653,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_LandorusTherian, .iconSprite = gMonIcon_LandorusTherian, .iconPalIndex = 0, + SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Landorus) OVERWORLD( sPicTable_LandorusTherian, @@ -11443,6 +11664,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = gShinyOverworldPalette_LandorusTherian ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sLandorusLevelUpLearnset, .teachableLearnset = sLandorusTeachableLearnset, .formSpeciesIdTable = sLandorusFormSpeciesIdTable, @@ -11501,6 +11723,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Kyurem, .iconSprite = gMonIcon_Kyurem, .iconPalIndex = 0, + SHADOW(0, 8, SHADOW_SIZE_L) FOOTPRINT(Kyurem) OVERWORLD( sPicTable_Kyurem, @@ -11512,6 +11735,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sKyuremLevelUpLearnset, .teachableLearnset = sKyuremTeachableLearnset, .formSpeciesIdTable = sKyuremFormSpeciesIdTable, @@ -11572,6 +11796,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_KyuremWhite, .iconSprite = gMonIcon_KyuremWhite, .iconPalIndex = 0, + SHADOW(-8, 14, SHADOW_SIZE_L) FOOTPRINT(Kyurem) OVERWORLD( sPicTable_KyuremWhite, @@ -11584,6 +11809,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .isLegendary = TRUE, .cannotBeTraded = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sKyuremWhiteLevelUpLearnset, .teachableLearnset = sKyuremTeachableLearnset, .formSpeciesIdTable = sKyuremFormSpeciesIdTable, @@ -11643,6 +11869,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_KyuremBlack, .iconSprite = gMonIcon_KyuremBlack, .iconPalIndex = 0, + SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(Kyurem) OVERWORLD( sPicTable_KyuremBlack, @@ -11655,6 +11882,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .isLegendary = TRUE, .cannotBeTraded = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sKyuremBlackLevelUpLearnset, .teachableLearnset = sKyuremTeachableLearnset, .formSpeciesIdTable = sKyuremFormSpeciesIdTable, @@ -11710,6 +11938,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_KeldeoOrdinary, .iconSprite = gMonIcon_KeldeoOrdinary, .iconPalIndex = 0, + SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Keldeo) OVERWORLD( sPicTable_KeldeoOrdinary, @@ -11721,6 +11950,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sKeldeoLevelUpLearnset, .teachableLearnset = sKeldeoTeachableLearnset, .formSpeciesIdTable = sKeldeoFormSpeciesIdTable, @@ -11775,9 +12005,11 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_KeldeoResolute, .iconSprite = gMonIcon_KeldeoResolute, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Keldeo) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sKeldeoLevelUpLearnset, .teachableLearnset = sKeldeoTeachableLearnset, .formSpeciesIdTable = sKeldeoFormSpeciesIdTable, @@ -11839,6 +12071,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_MeloettaAria, .iconSprite = gMonIcon_MeloettaAria, .iconPalIndex = 4, + SHADOW(-1, 10, SHADOW_SIZE_S) FOOTPRINT(Meloetta) OVERWORLD( sPicTable_MeloettaAria, @@ -11850,6 +12083,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMeloettaLevelUpLearnset, .teachableLearnset = sMeloettaTeachableLearnset, .formSpeciesIdTable = sMeloettaFormSpeciesIdTable, @@ -11908,6 +12142,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_MeloettaPirouette, .iconSprite = gMonIcon_MeloettaPirouette, .iconPalIndex = 0, + SHADOW(0, 16, SHADOW_SIZE_S) FOOTPRINT(Meloetta) OVERWORLD( sPicTable_MeloettaPirouette, @@ -11919,6 +12154,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMeloettaLevelUpLearnset, .teachableLearnset = sMeloettaTeachableLearnset, .formSpeciesIdTable = sMeloettaFormSpeciesIdTable, @@ -11927,73 +12163,75 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = #endif //P_FAMILY_MELOETTA #if P_FAMILY_GENESECT -#define GENESECT_SPECIES_INFO(form) \ - { \ - .baseHP = 71, \ - .baseAttack = 120, \ - .baseDefense = 95, \ - .baseSpeed = 99, \ - .baseSpAttack = 120, \ - .baseSpDefense = 95, \ - .types = MON_TYPES(TYPE_BUG, TYPE_STEEL), \ - .catchRate = 3, \ - .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 300 : 270, \ - .evYield_Attack = 1, \ - .evYield_Speed = 1, \ - .evYield_SpAttack = 1, \ - .genderRatio = MON_GENDERLESS, \ - .eggCycles = 120, \ - .friendship = 0, \ - .growthRate = GROWTH_SLOW, \ - .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ - .abilities = { ABILITY_DOWNLOAD, ABILITY_NONE, ABILITY_NONE }, \ - .bodyColor = BODY_COLOR_PURPLE, \ - .speciesName = _("Genesect"), \ - .cryId = CRY_GENESECT, \ - .natDexNum = NATIONAL_DEX_GENESECT, \ - .categoryName = _("Paleozoic"), \ - .height = 15, \ - .weight = 825, \ - .description = gGenesectPokedexText, \ - .pokemonScale = 268, \ - .pokemonOffset = 2, \ - .trainerScale = 271, \ - .trainerOffset = 0, \ - .frontPic = gMonFrontPic_Genesect, \ - .frontPicSize = MON_COORDS_SIZE(56, 64), \ - .frontPicYOffset = 0, \ - .frontAnimFrames = sAnims_Genesect, \ - .frontAnimId = ANIM_H_VIBRATE, \ - .backPic = gMonBackPic_Genesect, \ - .backPicSize = MON_COORDS_SIZE(64, 48), \ - .backPicYOffset = 8, \ - .backAnimId = BACK_ANIM_CIRCLE_COUNTERCLOCKWISE, \ - .palette = gMonPalette_##form, \ - .shinyPalette = gMonShinyPalette_##form, \ - .iconSprite = gMonIcon_Genesect, \ - .iconPalIndex = 2, \ - FOOTPRINT(Genesect) \ - OVERWORLD( \ - sPicTable_Genesect, \ - SIZE_32x32, \ - SHADOW_SIZE_M, \ - TRACKS_FOOT, \ - gOverworldPalette_Genesect, \ - gShinyOverworldPalette_Genesect \ - ) \ - .levelUpLearnset = sGenesectLevelUpLearnset, \ - .teachableLearnset = sGenesectTeachableLearnset, \ - .formSpeciesIdTable = sGenesectFormSpeciesIdTable, \ - .formChangeTable = sGenesectFormChangeTable, \ - .isMythical = TRUE, \ - .isFrontierBanned = TRUE, \ +#define GENESECT_SPECIES_INFO(form) \ + { \ + .baseHP = 71, \ + .baseAttack = 120, \ + .baseDefense = 95, \ + .baseSpeed = 99, \ + .baseSpAttack = 120, \ + .baseSpDefense = 95, \ + .types = MON_TYPES(TYPE_BUG, TYPE_STEEL), \ + .catchRate = 3, \ + .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 300 : 270, \ + .evYield_Attack = 1, \ + .evYield_Speed = 1, \ + .evYield_SpAttack = 1, \ + .genderRatio = MON_GENDERLESS, \ + .eggCycles = 120, \ + .friendship = 0, \ + .growthRate = GROWTH_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ + .abilities = { ABILITY_DOWNLOAD, ABILITY_NONE, ABILITY_NONE }, \ + .bodyColor = BODY_COLOR_PURPLE, \ + .speciesName = _("Genesect"), \ + .cryId = CRY_GENESECT, \ + .natDexNum = NATIONAL_DEX_GENESECT, \ + .categoryName = _("Paleozoic"), \ + .height = 15, \ + .weight = 825, \ + .description = gGenesectPokedexText, \ + .pokemonScale = 268, \ + .pokemonOffset = 2, \ + .trainerScale = 271, \ + .trainerOffset = 0, \ + .frontPic = gMonFrontPic_Genesect, \ + .frontPicSize = MON_COORDS_SIZE(56, 64), \ + .frontPicYOffset = 0, \ + .frontAnimFrames = sAnims_Genesect, \ + .frontAnimId = ANIM_H_VIBRATE, \ + .backPic = gMonBackPic_Genesect, \ + .backPicSize = MON_COORDS_SIZE(64, 48), \ + .backPicYOffset = 8, \ + .backAnimId = BACK_ANIM_CIRCLE_COUNTERCLOCKWISE, \ + .palette = gMonPalette_##form, \ + .shinyPalette = gMonShinyPalette_##form, \ + .iconSprite = gMonIcon_Genesect, \ + .iconPalIndex = 2, \ + SHADOW(5, 13, SHADOW_SIZE_L) \ + FOOTPRINT(Genesect) \ + OVERWORLD( \ + sPicTable_Genesect, \ + SIZE_32x32, \ + SHADOW_SIZE_M, \ + TRACKS_FOOT, \ + gOverworldPalette_Genesect, \ + gShinyOverworldPalette_Genesect \ + ) \ + .levelUpLearnset = sGenesectLevelUpLearnset, \ + .teachableLearnset = sGenesectTeachableLearnset, \ + .formSpeciesIdTable = sGenesectFormSpeciesIdTable, \ + .formChangeTable = sGenesectFormChangeTable, \ + .isMythical = TRUE, \ + .isFrontierBanned = TRUE, \ + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, \ } [SPECIES_GENESECT] = GENESECT_SPECIES_INFO(Genesect), - [SPECIES_GENESECT_DOUSE_DRIVE] = GENESECT_SPECIES_INFO(GenesectDouseDrive), - [SPECIES_GENESECT_SHOCK_DRIVE] = GENESECT_SPECIES_INFO(GenesectShockDrive), - [SPECIES_GENESECT_BURN_DRIVE] = GENESECT_SPECIES_INFO(GenesectBurnDrive), - [SPECIES_GENESECT_CHILL_DRIVE] = GENESECT_SPECIES_INFO(GenesectChillDrive), + [SPECIES_GENESECT_DOUSE] = GENESECT_SPECIES_INFO(GenesectDouseDrive), + [SPECIES_GENESECT_SHOCK] = GENESECT_SPECIES_INFO(GenesectShockDrive), + [SPECIES_GENESECT_BURN] = GENESECT_SPECIES_INFO(GenesectBurnDrive), + [SPECIES_GENESECT_CHILL] = GENESECT_SPECIES_INFO(GenesectChillDrive), #endif //P_FAMILY_GENESECT #ifdef __INTELLISENSE__ diff --git a/src/data/pokemon/species_info/gen_6_families.h b/src/data/pokemon/species_info/gen_6_families.h index ac77faa806af..147fadbaf806 100644 --- a/src/data/pokemon/species_info/gen_6_families.h +++ b/src/data/pokemon/species_info/gen_6_families.h @@ -51,6 +51,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Chespin, .iconSprite = gMonIcon_Chespin, .iconPalIndex = 1, + SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Chespin) OVERWORLD( sPicTable_Chespin, @@ -113,6 +114,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Quilladin, .iconSprite = gMonIcon_Quilladin, .iconPalIndex = 1, + SHADOW(2, 4, SHADOW_SIZE_M) FOOTPRINT(Quilladin) OVERWORLD( sPicTable_Quilladin, @@ -174,6 +176,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Chesnaught, .iconSprite = gMonIcon_Chesnaught, .iconPalIndex = 1, + SHADOW(4, 10, SHADOW_SIZE_L) FOOTPRINT(Chesnaught) OVERWORLD( sPicTable_Chesnaught, @@ -236,6 +239,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Fennekin, .iconSprite = gMonIcon_Fennekin, .iconPalIndex = 0, + SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Fennekin) OVERWORLD( sPicTable_Fennekin, @@ -298,6 +302,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Braixen, .iconSprite = gMonIcon_Braixen, .iconPalIndex = 0, + SHADOW(-2, 10, SHADOW_SIZE_M) FOOTPRINT(Braixen) OVERWORLD( sPicTable_Braixen, @@ -359,6 +364,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Delphox, .iconSprite = gMonIcon_Delphox, .iconPalIndex = 0, + SHADOW(7, 14, SHADOW_SIZE_M) FOOTPRINT(Delphox) OVERWORLD( sPicTable_Delphox, @@ -421,6 +427,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Froakie, .iconSprite = gMonIcon_Froakie, .iconPalIndex = 0, + SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Froakie) OVERWORLD( sPicTable_Froakie, @@ -483,6 +490,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Frogadier, .iconSprite = gMonIcon_Frogadier, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Frogadier) OVERWORLD( sPicTable_Frogadier, @@ -541,6 +549,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Greninja, .iconSprite = gMonIcon_Greninja, .iconPalIndex = 0, + SHADOW(4, 6, SHADOW_SIZE_L) FOOTPRINT(Greninja) OVERWORLD( sPicTable_Greninja, @@ -599,6 +608,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Greninja, .iconSprite = gMonIcon_Greninja, .iconPalIndex = 0, + SHADOW(4, 6, SHADOW_SIZE_L) FOOTPRINT(Greninja) OVERWORLD( sPicTable_Greninja, @@ -658,6 +668,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_GreninjaAsh, .iconSprite = gMonIcon_GreninjaAsh, .iconPalIndex = 0, + SHADOW(1, 10, SHADOW_SIZE_L) FOOTPRINT(Greninja) .levelUpLearnset = sGreninjaLevelUpLearnset, .teachableLearnset = sGreninjaTeachableLearnset, @@ -714,6 +725,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Bunnelby, .iconSprite = gMonIcon_Bunnelby, .iconPalIndex = 2, + SHADOW(3, 9, SHADOW_SIZE_S) FOOTPRINT(Bunnelby) OVERWORLD( sPicTable_Bunnelby, @@ -776,6 +788,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Diggersby, .iconSprite = gMonIcon_Diggersby, .iconPalIndex = 2, + SHADOW(8, 10, SHADOW_SIZE_M) FOOTPRINT(Diggersby) OVERWORLD( sPicTable_Diggersby, @@ -838,6 +851,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Fletchling, .iconSprite = gMonIcon_Fletchling, .iconPalIndex = 2, + SHADOW(-2, 0, SHADOW_SIZE_S) FOOTPRINT(Fletchling) OVERWORLD( sPicTable_Fletchling, @@ -872,7 +886,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_FLAME_BODY, ABILITY_NONE, ABILITY_GALE_WINGS }, .bodyColor = BODY_COLOR_RED, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Flechinder", "Fletchinder"), + .speciesName = _("Fletchinder"), .cryId = CRY_FLETCHINDER, .natDexNum = NATIONAL_DEX_FLETCHINDER, .categoryName = _("Ember"), @@ -901,6 +915,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Fletchinder, .iconSprite = gMonIcon_Fletchinder, .iconPalIndex = 2, + SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Fletchinder) OVERWORLD( sPicTable_Fletchinder, @@ -963,6 +978,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Talonflame, .iconSprite = gMonIcon_Talonflame, .iconPalIndex = 2, + SHADOW(-2, 17, SHADOW_SIZE_M) FOOTPRINT(Talonflame) OVERWORLD( sPicTable_Talonflame, @@ -1021,6 +1037,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Scatterbug, \ .iconSprite = gMonIcon_Scatterbug, \ .iconPalIndex = 1, \ + SHADOW(1, 1, SHADOW_SIZE_S) \ FOOTPRINT(Scatterbug) \ OVERWORLD( \ sPicTable_Scatterbug, \ @@ -1057,7 +1074,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = [SPECIES_SCATTERBUG_OCEAN] = SCATTERBUG_SPECIES_INFO(OCEAN), [SPECIES_SCATTERBUG_JUNGLE] = SCATTERBUG_SPECIES_INFO(JUNGLE), [SPECIES_SCATTERBUG_FANCY] = SCATTERBUG_SPECIES_INFO(FANCY), - [SPECIES_SCATTERBUG_POKE_BALL] = SCATTERBUG_SPECIES_INFO(POKE_BALL), + [SPECIES_SCATTERBUG_POKEBALL] = SCATTERBUG_SPECIES_INFO(POKEBALL), #define SPEWPA_SPECIES_INFO(evolution) \ { \ @@ -1102,6 +1119,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Spewpa, \ .iconSprite = gMonIcon_Spewpa, \ .iconPalIndex = 1, \ + SHADOW(0, 2, SHADOW_SIZE_M) \ FOOTPRINT(Spewpa) \ OVERWORLD( \ sPicTable_Spewpa, \ @@ -1137,7 +1155,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = [SPECIES_SPEWPA_OCEAN] = SPEWPA_SPECIES_INFO(OCEAN), [SPECIES_SPEWPA_JUNGLE] = SPEWPA_SPECIES_INFO(JUNGLE), [SPECIES_SPEWPA_FANCY] = SPEWPA_SPECIES_INFO(FANCY), - [SPECIES_SPEWPA_POKE_BALL] = SPEWPA_SPECIES_INFO(POKE_BALL), + [SPECIES_SPEWPA_POKEBALL] = SPEWPA_SPECIES_INFO(POKEBALL), #define VIVILLON_MISC_INFO(form, color, iconPal) \ .baseHP = 80, \ @@ -1183,6 +1201,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Vivillon ##form, \ .iconSprite = gMonIcon_Vivillon ##form, \ .iconPalIndex = iconPal, \ + SHADOW(0, 20, SHADOW_SIZE_M) \ FOOTPRINT(Vivillon) \ OVERWORLD( \ sPicTable_Vivillon ##form, \ @@ -1367,7 +1386,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = "This form is from a mysterious land.\n" "It scatters toxic color scales in battle."), }, - [SPECIES_VIVILLON_POKE_BALL] = + [SPECIES_VIVILLON_POKEBALL] = { VIVILLON_MISC_INFO(PokeBall, BODY_COLOR_RED, 2), .description = COMPOUND_STRING( @@ -1426,6 +1445,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Litleo, .iconSprite = gMonIcon_Litleo, .iconPalIndex = 2, + SHADOW(2, 3, SHADOW_SIZE_S) FOOTPRINT(Litleo) OVERWORLD( sPicTable_Litleo, @@ -1476,24 +1496,27 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .trainerScale = 271, .trainerOffset = 0, .frontPic = gMonFrontPic_Pyroar, - .frontPicFemale = gMonFrontPic_PyroarF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Pyroar, .frontAnimId = ANIM_V_SHAKE, .backPic = gMonBackPic_Pyroar, - .backPicFemale = gMonBackPic_PyroarF, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicSizeFemale = MON_COORDS_SIZE(64, 64), .backPicYOffset = 3, .backAnimId = BACK_ANIM_H_STRETCH, .palette = gMonPalette_Pyroar, .shinyPalette = gMonShinyPalette_Pyroar, .iconSprite = gMonIcon_Pyroar, - .iconSpriteFemale = gMonIcon_PyroarF, .iconPalIndex = 2, +#if P_GENDER_DIFFERENCES + .frontPicFemale = gMonFrontPic_PyroarF, + .frontPicSizeFemale = MON_COORDS_SIZE(64, 64), + .backPicFemale = gMonBackPic_PyroarF, + .backPicSizeFemale = MON_COORDS_SIZE(64, 64), + .iconSpriteFemale = gMonIcon_PyroarF, .iconPalIndexFemale = 2, +#endif //P_GENDER_DIFFERENCES + SHADOW(-2, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Pyroar) OVERWORLD( sPicTable_Pyroar, @@ -1503,6 +1526,12 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = gOverworldPalette_Pyroar, gShinyOverworldPalette_Pyroar ) + OVERWORLD_FEMALE( + sPicTable_PyroarF, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT + ) .levelUpLearnset = sPyroarLevelUpLearnset, .teachableLearnset = sPyroarTeachableLearnset, }, @@ -1547,26 +1576,27 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .backPicSize = MON_COORDS_SIZE(64, 40), \ .backPicYOffset = 12, \ .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, \ - .palette = gMonPalette_Flabebe##Form##Flower, \ - .shinyPalette = gMonShinyPalette_Flabebe##Form##Flower, \ - .iconSprite = gMonIcon_Flabebe##Form##Flower, \ + .palette = gMonPalette_Flabebe##Form, \ + .shinyPalette = gMonShinyPalette_Flabebe##Form, \ + .iconSprite = gMonIcon_Flabebe##Form, \ .iconPalIndex = iconPal, \ + SHADOW(0, 11, SHADOW_SIZE_S) \ FOOTPRINT(Flabebe) \ OVERWORLD( \ - sPicTable_Flabebe##Form##Flower, \ + sPicTable_Flabebe##Form, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ - gOverworldPalette_Flabebe##Form##Flower, \ - gShinyOverworldPalette_Flabebe##Form##Flower \ + gOverworldPalette_Flabebe##Form, \ + gShinyOverworldPalette_Flabebe##Form \ ) \ .levelUpLearnset = sFlabebeLevelUpLearnset, \ .teachableLearnset = sFlabebeTeachableLearnset, \ .eggMoveLearnset = sFlabebeEggMoveLearnset, \ .formSpeciesIdTable = sFlabebeFormSpeciesIdTable, \ - .evolutions = EVOLUTION({EVO_LEVEL, 19, SPECIES_FLOETTE_ ##FORM##_FLOWER}) + .evolutions = EVOLUTION({EVO_LEVEL, 19, SPECIES_FLOETTE_ ##FORM}) - [SPECIES_FLABEBE_RED_FLOWER] = + [SPECIES_FLABEBE_RED] = { FLABEBE_MISC_INFO(Red, RED, 1), .description = COMPOUND_STRING( @@ -1575,7 +1605,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = "begins flying around in search of a\n" "flower it likes."), }, - [SPECIES_FLABEBE_YELLOW_FLOWER] = + [SPECIES_FLABEBE_YELLOW] = { FLABEBE_MISC_INFO(Yellow, YELLOW, 1), .description = COMPOUND_STRING( @@ -1584,7 +1614,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = "within flowers. This Pokémon is\n" "particularly fond of yellow flowers."), }, - [SPECIES_FLABEBE_ORANGE_FLOWER] = + [SPECIES_FLABEBE_ORANGE] = { FLABEBE_MISC_INFO(Orange, ORANGE, 0), .description = COMPOUND_STRING( @@ -1593,7 +1623,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = "return. This Pokémon likes orange\n" "flowers best of all."), }, - [SPECIES_FLABEBE_BLUE_FLOWER] = + [SPECIES_FLABEBE_BLUE] = { FLABEBE_MISC_INFO(Blue, BLUE, 0), .description = COMPOUND_STRING( @@ -1602,7 +1632,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = "power emanating from its flower\n" "and bobs along lightly through the air."), }, - [SPECIES_FLABEBE_WHITE_FLOWER] = + [SPECIES_FLABEBE_WHITE] = { FLABEBE_MISC_INFO(White, WHITE, 1), .description = COMPOUND_STRING( @@ -1634,18 +1664,19 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .frontAnimFrames = sAnims_Floette, \ .frontAnimId = ANIM_V_SLIDE_WOBBLE, \ .backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC, \ - .palette = gMonPalette_Floette ##form##Flower, \ - .shinyPalette = gMonShinyPalette_Floette ##form##Flower, \ - .iconSprite = gMonIcon_Floette##form##Flower, \ + .palette = gMonPalette_Floette ##form, \ + .shinyPalette = gMonShinyPalette_Floette ##form, \ + .iconSprite = gMonIcon_Floette##form, \ .iconPalIndex = iconPal, \ + SHADOW(-3, 12, SHADOW_SIZE_S) \ FOOTPRINT(Floette) \ OVERWORLD( \ - sPicTable_Floette ##form##Flower, \ + sPicTable_Floette ##form, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ - gOverworldPalette_Floette ##form##Flower, \ - gShinyOverworldPalette_Floette ##form##Flower \ + gOverworldPalette_Floette ##form, \ + gShinyOverworldPalette_Floette ##form \ ) \ .formSpeciesIdTable = sFloetteFormSpeciesIdTable @@ -1668,10 +1699,10 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .backPicYOffset = 2, \ .levelUpLearnset = sFloetteLevelUpLearnset, \ .teachableLearnset = sFloetteTeachableLearnset, \ - .evolutions = EVOLUTION({EVO_ITEM, ITEM_SHINY_STONE, SPECIES_FLORGES_ ##FORM##_FLOWER}),\ + .evolutions = EVOLUTION({EVO_ITEM, ITEM_SHINY_STONE, SPECIES_FLORGES_ ##FORM}),\ FLOETTE_MISC_INFO(form, FORM, iconPal) - [SPECIES_FLOETTE_RED_FLOWER] = + [SPECIES_FLOETTE_RED] = { FLOETTE_NORMAL_INFO(Red, RED, 1), .description = COMPOUND_STRING( @@ -1680,7 +1711,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = "into flowers and draw forth their\n" "latent potential."), }, - [SPECIES_FLOETTE_YELLOW_FLOWER] = + [SPECIES_FLOETTE_YELLOW] = { FLOETTE_NORMAL_INFO(Yellow, YELLOW, 1), .description = COMPOUND_STRING( @@ -1689,7 +1720,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = "This power then becomes the moves\n" "Floette uses to protect itself."), }, - [SPECIES_FLOETTE_ORANGE_FLOWER] = + [SPECIES_FLOETTE_ORANGE] = { FLOETTE_NORMAL_INFO(Orange, ORANGE, 0), .description = COMPOUND_STRING( @@ -1698,7 +1729,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = "flowers, compared to flowers of other\n" "colors."), }, - [SPECIES_FLOETTE_BLUE_FLOWER] = + [SPECIES_FLOETTE_BLUE] = { FLOETTE_NORMAL_INFO(Blue, BLUE, 0), .description = COMPOUND_STRING( @@ -1707,7 +1738,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = "will bring them back to its territory\n" "and care for them."), }, - [SPECIES_FLOETTE_WHITE_FLOWER] = + [SPECIES_FLOETTE_WHITE] = { FLOETTE_NORMAL_INFO(White, WHITE, 1), .description = COMPOUND_STRING( @@ -1716,7 +1747,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = "without mercy. This Floette takes\n" "particularly good care of white flowers."), }, - [SPECIES_FLOETTE_ETERNAL_FLOWER] = + [SPECIES_FLOETTE_ETERNAL] = { FLOETTE_MISC_INFO(Eternal, ETERNAL, 0), .baseHP = 74, @@ -1727,21 +1758,21 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpDefense = 128, .expYield = 243, .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), - .cryId = CRY_FLOETTE_ETERNAL_FLOWER, + .cryId = CRY_FLOETTE_ETERNAL, .description = COMPOUND_STRING( "The flower it's holding can no\n" "longer be found blooming anywhere. It's\n" "also thought to contain terrifying\n" "power."), - .frontPic = gMonFrontPic_FloetteEternalFlower, + .frontPic = gMonFrontPic_FloetteEternal, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, .enemyMonElevation = 4, - .backPic = gMonBackPic_FloetteEternalFlower, + .backPic = gMonBackPic_FloetteEternal, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 2, - .levelUpLearnset = sFloetteEternalFlowerLevelUpLearnset, - .teachableLearnset = sFloetteEternalFlowerTeachableLearnset, + .levelUpLearnset = sFloetteEternalLevelUpLearnset, + .teachableLearnset = sFloetteEternalTeachableLearnset, }, #define FLORGES_MISC_INFO(Form, iconPal) \ @@ -1781,24 +1812,25 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .backPicSize = MON_COORDS_SIZE(64, 48), \ .backPicYOffset = 9, \ .backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE, \ - .palette = gMonPalette_Florges##Form##Flower, \ - .shinyPalette = gMonShinyPalette_Florges##Form##Flower, \ - .iconSprite = gMonIcon_Florges##Form##Flower, \ + .palette = gMonPalette_Florges##Form, \ + .shinyPalette = gMonShinyPalette_Florges##Form, \ + .iconSprite = gMonIcon_Florges##Form, \ .iconPalIndex = iconPal, \ + SHADOW(-5, 15, SHADOW_SIZE_M) \ FOOTPRINT(Florges) \ OVERWORLD( \ - sPicTable_Florges ##Form##Flower, \ + sPicTable_Florges ##Form, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ - gOverworldPalette_Florges ##Form##Flower, \ - gShinyOverworldPalette_Florges ##Form##Flower \ + gOverworldPalette_Florges ##Form, \ + gShinyOverworldPalette_Florges ##Form \ ) \ .levelUpLearnset = sFlorgesLevelUpLearnset, \ .teachableLearnset = sFlorgesTeachableLearnset, \ .formSpeciesIdTable = sFlorgesFormSpeciesIdTable - [SPECIES_FLORGES_RED_FLOWER] = + [SPECIES_FLORGES_RED] = { FLORGES_MISC_INFO(Red, 0), .description = COMPOUND_STRING( @@ -1807,7 +1839,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = "draws forth the power of the red\n" "flowers around its neck."), }, - [SPECIES_FLORGES_YELLOW_FLOWER] = + [SPECIES_FLORGES_YELLOW] = { FLORGES_MISC_INFO(Yellow, 1), .description = COMPOUND_STRING( @@ -1816,7 +1848,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = "ruthlessly punishes anyone who\n" "tramples on flowering plants."), }, - [SPECIES_FLORGES_ORANGE_FLOWER] = + [SPECIES_FLORGES_ORANGE] = { FLORGES_MISC_INFO(Orange, 0), .description = COMPOUND_STRING( @@ -1825,7 +1857,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = "care for their castles' exquisite\n" "gardens."), }, - [SPECIES_FLORGES_BLUE_FLOWER] = + [SPECIES_FLORGES_BLUE] = { FLORGES_MISC_INFO(Blue, 0), .description = COMPOUND_STRING( @@ -1833,7 +1865,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = "expensive in the past, so paintings\n" "of blue Florges are highly valuable."), }, - [SPECIES_FLORGES_WHITE_FLOWER] = + [SPECIES_FLORGES_WHITE] = { FLORGES_MISC_INFO(White, 0), .description = COMPOUND_STRING( @@ -1892,6 +1924,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Skiddo, .iconSprite = gMonIcon_Skiddo, .iconPalIndex = 1, + SHADOW(2, 7, SHADOW_SIZE_M) FOOTPRINT(Skiddo) OVERWORLD( sPicTable_Skiddo, @@ -1954,6 +1987,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Gogoat, .iconSprite = gMonIcon_Gogoat, .iconPalIndex = 1, + SHADOW(2, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gogoat) OVERWORLD( sPicTable_Gogoat, @@ -2017,6 +2051,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Pancham, .iconSprite = gMonIcon_Pancham, .iconPalIndex = 1, + SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Pancham) OVERWORLD( sPicTable_Pancham, @@ -2080,6 +2115,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Pangoro, .iconSprite = gMonIcon_Pangoro, .iconPalIndex = 1, + SHADOW(-2, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Pangoro) OVERWORLD( sPicTable_Pangoro, @@ -2139,6 +2175,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Furfrou##_form, \ .iconSprite = gMonIcon_Furfrou##_form, \ .iconPalIndex = _iconIdx, \ + SHADOW(3, 10, SHADOW_SIZE_XL_BATTLE_ONLY) \ FOOTPRINT(Furfrou) \ OVERWORLD( \ sPicTable_Furfrou##_form, \ @@ -2215,6 +2252,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Espurr, .iconSprite = gMonIcon_Espurr, .iconPalIndex = 2, + SHADOW(-1, 4, SHADOW_SIZE_S) FOOTPRINT(Espurr) OVERWORLD( sPicTable_Espurr, @@ -2227,11 +2265,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .levelUpLearnset = sEspurrLevelUpLearnset, .teachableLearnset = sEspurrTeachableLearnset, .eggMoveLearnset = sEspurrEggMoveLearnset, - .evolutions = EVOLUTION({EVO_LEVEL_MALE, 25, SPECIES_MEOWSTIC_MALE}, - {EVO_LEVEL_FEMALE, 25, SPECIES_MEOWSTIC_FEMALE}), + .evolutions = EVOLUTION({EVO_LEVEL_MALE, 25, SPECIES_MEOWSTIC_M}, + {EVO_LEVEL_FEMALE, 25, SPECIES_MEOWSTIC_F}), }, - [SPECIES_MEOWSTIC_MALE] = + [SPECIES_MEOWSTIC_M] = { .baseHP = 74, .baseAttack = 48, @@ -2265,34 +2303,35 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .pokemonOffset = 12, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_MeowsticMale, + .frontPic = gMonFrontPic_MeowsticM, .frontPicSize = MON_COORDS_SIZE(48, 64), .frontPicYOffset = 3, .frontAnimFrames = sAnims_Meowstic, .frontAnimId = ANIM_GROW_VIBRATE, - .backPic = gMonBackPic_MeowsticMale, + .backPic = gMonBackPic_MeowsticM, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 9, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, - .palette = gMonPalette_MeowsticMale, - .shinyPalette = gMonShinyPalette_MeowsticMale, - .iconSprite = gMonIcon_MeowsticMale, + .palette = gMonPalette_MeowsticM, + .shinyPalette = gMonShinyPalette_MeowsticM, + .iconSprite = gMonIcon_MeowsticM, .iconPalIndex = 0, + SHADOW(-2, 11, SHADOW_SIZE_S) FOOTPRINT(Meowstic) OVERWORLD( - sPicTable_MeowsticMale, + sPicTable_MeowsticM, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_MeowsticMale, - gShinyOverworldPalette_MeowsticMale + gOverworldPalette_MeowsticM, + gShinyOverworldPalette_MeowsticM ) - .levelUpLearnset = sMeowsticMaleLevelUpLearnset, - .teachableLearnset = sMeowsticMaleTeachableLearnset, + .levelUpLearnset = sMeowsticMLevelUpLearnset, + .teachableLearnset = sMeowsticMTeachableLearnset, .formSpeciesIdTable = sMeowsticFormSpeciesIdTable, }, - [SPECIES_MEOWSTIC_FEMALE] = + [SPECIES_MEOWSTIC_F] = { .baseHP = 74, .baseAttack = 48, @@ -2326,30 +2365,31 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .pokemonOffset = 12, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_MeowsticFemale, + .frontPic = gMonFrontPic_MeowsticF, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 2, .frontAnimFrames = sAnims_Meowstic, .frontAnimId = ANIM_GROW_VIBRATE, - .backPic = gMonBackPic_MeowsticFemale, + .backPic = gMonBackPic_MeowsticF, .backPicSize = MON_COORDS_SIZE(48, 64), .backPicYOffset = 9, .backAnimId = BACK_ANIM_CONCAVE_ARC_LARGE, - .palette = gMonPalette_MeowsticFemale, - .shinyPalette = gMonShinyPalette_MeowsticFemale, - .iconSprite = gMonIcon_MeowsticFemale, + .palette = gMonPalette_MeowsticF, + .shinyPalette = gMonShinyPalette_MeowsticF, + .iconSprite = gMonIcon_MeowsticF, .iconPalIndex = 0, + SHADOW(-2, 12, SHADOW_SIZE_S) FOOTPRINT(Meowstic) OVERWORLD( - sPicTable_MeowsticFemale, + sPicTable_MeowsticF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_MeowsticFemale, - gShinyOverworldPalette_MeowsticFemale + gOverworldPalette_MeowsticF, + gShinyOverworldPalette_MeowsticF ) - .levelUpLearnset = sMeowsticFemaleLevelUpLearnset, - .teachableLearnset = sMeowsticFemaleTeachableLearnset, + .levelUpLearnset = sMeowsticFLevelUpLearnset, + .teachableLearnset = sMeowsticFTeachableLearnset, .formSpeciesIdTable = sMeowsticFormSpeciesIdTable, }, #endif //P_FAMILY_ESPURR @@ -2403,6 +2443,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Honedge, .iconSprite = gMonIcon_Honedge, .iconPalIndex = 2, + SHADOW(-10, 11, SHADOW_SIZE_S) FOOTPRINT(Honedge) OVERWORLD( sPicTable_Honedge, @@ -2466,6 +2507,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Doublade, .iconSprite = gMonIcon_Doublade, .iconPalIndex = 2, + SHADOW(8, 11, SHADOW_SIZE_M) FOOTPRINT(Doublade) OVERWORLD( sPicTable_Doublade, @@ -2531,6 +2573,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_AegislashShield, .iconSprite = gMonIcon_AegislashShield, .iconPalIndex = 2, + SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Aegislash) OVERWORLD( sPicTable_AegislashShield, @@ -2600,6 +2643,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_AegislashBlade, .iconSprite = gMonIcon_AegislashBlade, .iconPalIndex = 2, + SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Aegislash) .levelUpLearnset = sAegislashLevelUpLearnset, .teachableLearnset = sAegislashTeachableLearnset, @@ -2657,6 +2701,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Spritzee, .iconSprite = gMonIcon_Spritzee, .iconPalIndex = 0, + SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Spritzee) OVERWORLD( sPicTable_Spritzee, @@ -2720,6 +2765,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Aromatisse, .iconSprite = gMonIcon_Aromatisse, .iconPalIndex = 0, + SHADOW(0, 10, SHADOW_SIZE_M) FOOTPRINT(Aromatisse) OVERWORLD( sPicTable_Aromatisse, @@ -2782,6 +2828,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Swirlix, .iconSprite = gMonIcon_Swirlix, .iconPalIndex = 1, + SHADOW(0, -1, SHADOW_SIZE_S) FOOTPRINT(Swirlix) OVERWORLD( sPicTable_Swirlix, @@ -2845,6 +2892,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Slurpuff, .iconSprite = gMonIcon_Slurpuff, .iconPalIndex = 1, + SHADOW(1, 6, SHADOW_SIZE_M) FOOTPRINT(Slurpuff) OVERWORLD( sPicTable_Slurpuff, @@ -2908,6 +2956,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Inkay, .iconSprite = gMonIcon_Inkay, .iconPalIndex = 0, + SHADOW(-1, 11, SHADOW_SIZE_S) FOOTPRINT(Inkay) OVERWORLD( sPicTable_Inkay, @@ -2970,6 +3019,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Malamar, .iconSprite = gMonIcon_Malamar, .iconPalIndex = 2, + SHADOW(5, 14, SHADOW_SIZE_M) FOOTPRINT(Malamar) OVERWORLD( sPicTable_Malamar, @@ -3032,6 +3082,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Binacle, .iconSprite = gMonIcon_Binacle, .iconPalIndex = 2, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Binacle) OVERWORLD( sPicTable_Binacle, @@ -3095,6 +3146,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Barbaracle, .iconSprite = gMonIcon_Barbaracle, .iconPalIndex = 2, + SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(Barbaracle) OVERWORLD( sPicTable_Barbaracle, @@ -3157,6 +3209,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Skrelp, .iconSprite = gMonIcon_Skrelp, .iconPalIndex = 2, + SHADOW(3, 5, SHADOW_SIZE_S) FOOTPRINT(Skrelp) OVERWORLD( sPicTable_Skrelp, @@ -3219,6 +3272,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Dragalge, .iconSprite = gMonIcon_Dragalge, .iconPalIndex = 5, + SHADOW(-3, 14, SHADOW_SIZE_M) FOOTPRINT(Dragalge) OVERWORLD( sPicTable_Dragalge, @@ -3282,6 +3336,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Clauncher, .iconSprite = gMonIcon_Clauncher, .iconPalIndex = 0, + SHADOW(4, -6, SHADOW_SIZE_M) FOOTPRINT(Clauncher) OVERWORLD( sPicTable_Clauncher, @@ -3345,6 +3400,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Clawitzer, .iconSprite = gMonIcon_Clawitzer, .iconPalIndex = 0, + SHADOW(6, 1, SHADOW_SIZE_L) FOOTPRINT(Clawitzer) OVERWORLD( sPicTable_Clawitzer, @@ -3407,6 +3463,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Helioptile, .iconSprite = gMonIcon_Helioptile, .iconPalIndex = 2, + SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Helioptile) OVERWORLD( sPicTable_Helioptile, @@ -3470,6 +3527,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Heliolisk, .iconSprite = gMonIcon_Heliolisk, .iconPalIndex = 2, + SHADOW(-2, 10, SHADOW_SIZE_M) FOOTPRINT(Heliolisk) OVERWORLD( sPicTable_Heliolisk, @@ -3532,6 +3590,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Tyrunt, .iconSprite = gMonIcon_Tyrunt, .iconPalIndex = 2, + SHADOW(3, 2, SHADOW_SIZE_M) FOOTPRINT(Tyrunt) OVERWORLD( sPicTable_Tyrunt, @@ -3594,6 +3653,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Tyrantrum, .iconSprite = gMonIcon_Tyrantrum, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_L) FOOTPRINT(Tyrantrum) OVERWORLD( sPicTable_Tyrantrum, @@ -3656,6 +3716,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Amaura, .iconSprite = gMonIcon_Amaura, .iconPalIndex = 0, + SHADOW(0, 8, SHADOW_SIZE_S) FOOTPRINT(Amaura) OVERWORLD( sPicTable_Amaura, @@ -3718,6 +3779,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Aurorus, .iconSprite = gMonIcon_Aurorus, .iconPalIndex = 0, + SHADOW(-6, 14, SHADOW_SIZE_L) FOOTPRINT(Aurorus) OVERWORLD( sPicTable_Aurorus, @@ -3785,6 +3847,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Hawlucha, .iconSprite = gMonIcon_Hawlucha, .iconPalIndex = 0, + SHADOW(3, 6, SHADOW_SIZE_S) FOOTPRINT(Hawlucha) OVERWORLD( sPicTable_Hawlucha, @@ -3848,6 +3911,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Dedenne, .iconSprite = gMonIcon_Dedenne, .iconPalIndex = 0, + SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Dedenne) OVERWORLD( sPicTable_Dedenne, @@ -3913,6 +3977,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Carbink, .iconSprite = gMonIcon_Carbink, .iconPalIndex = 2, + SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Carbink) OVERWORLD( sPicTable_Carbink, @@ -3976,6 +4041,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Goomy, .iconSprite = gMonIcon_Goomy, .iconPalIndex = 5, + SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Goomy) OVERWORLD( sPicTable_Goomy, @@ -3989,7 +4055,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .teachableLearnset = sGoomyTeachableLearnset, .eggMoveLearnset = sGoomyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_SLIGGOO}, - {EVO_NONE, 0, SPECIES_SLIGGOO_HISUIAN}), + {EVO_NONE, 0, SPECIES_SLIGGOO_HISUI}), }, [SPECIES_SLIGGOO] = @@ -4040,6 +4106,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Sliggoo, .iconSprite = gMonIcon_Sliggoo, .iconPalIndex = 5, + SHADOW(1, 6, SHADOW_SIZE_S) FOOTPRINT(Sliggoo) OVERWORLD( sPicTable_Sliggoo, @@ -4103,6 +4170,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Goodra, .iconSprite = gMonIcon_Goodra, .iconPalIndex = 5, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Goodra) OVERWORLD( sPicTable_Goodra, @@ -4118,7 +4186,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = }, #if P_HISUIAN_FORMS - [SPECIES_SLIGGOO_HISUIAN] = + [SPECIES_SLIGGOO_HISUI] = { .baseHP = 58, .baseAttack = 75, @@ -4153,37 +4221,38 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .pokemonOffset = 7, .trainerScale = 257, .trainerOffset = 0, - .frontPic = gMonFrontPic_SliggooHisuian, + .frontPic = gMonFrontPic_SliggooHisui, .frontPicSize = MON_COORDS_SIZE(48, 56), .frontPicYOffset = 7, - .frontAnimFrames = sAnims_SliggooHisuian, + .frontAnimFrames = sAnims_SliggooHisui, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_SliggooHisuian, + .backPic = gMonBackPic_SliggooHisui, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 1, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_SliggooHisuian, - .shinyPalette = gMonShinyPalette_SliggooHisuian, - .iconSprite = gMonIcon_SliggooHisuian, + .palette = gMonPalette_SliggooHisui, + .shinyPalette = gMonShinyPalette_SliggooHisui, + .iconSprite = gMonIcon_SliggooHisui, .iconPalIndex = 2, + SHADOW(2, 6, SHADOW_SIZE_M) FOOTPRINT(Sliggoo) OVERWORLD( - sPicTable_SliggooHisuian, + sPicTable_SliggooHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_SliggooHisuian, - gShinyOverworldPalette_SliggooHisuian + gOverworldPalette_SliggooHisui, + gShinyOverworldPalette_SliggooHisui ) .isHisuianForm = TRUE, - .levelUpLearnset = sSliggooHisuianLevelUpLearnset, - .teachableLearnset = sSliggooHisuianTeachableLearnset, + .levelUpLearnset = sSliggooHisuiLevelUpLearnset, + .teachableLearnset = sSliggooHisuiTeachableLearnset, .formSpeciesIdTable = sSliggooFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL_RAIN, 50, SPECIES_GOODRA_HISUIAN}, - {EVO_LEVEL_FOG, 50, SPECIES_GOODRA_HISUIAN}), + .evolutions = EVOLUTION({EVO_LEVEL_RAIN, 50, SPECIES_GOODRA_HISUI}, + {EVO_LEVEL_FOG, 50, SPECIES_GOODRA_HISUI}), }, - [SPECIES_GOODRA_HISUIAN] = + [SPECIES_GOODRA_HISUI] = { .baseHP = 80, .baseAttack = 100, @@ -4217,31 +4286,32 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .pokemonOffset = 1, .trainerScale = 334, .trainerOffset = 4, - .frontPic = gMonFrontPic_GoodraHisuian, + .frontPic = gMonFrontPic_GoodraHisui, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_GoodraHisuian, + .frontAnimFrames = sAnims_GoodraHisui, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_GoodraHisuian, + .backPic = gMonBackPic_GoodraHisui, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 0, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_GoodraHisuian, - .shinyPalette = gMonShinyPalette_GoodraHisuian, - .iconSprite = gMonIcon_GoodraHisuian, + .palette = gMonPalette_GoodraHisui, + .shinyPalette = gMonShinyPalette_GoodraHisui, + .iconSprite = gMonIcon_GoodraHisui, .iconPalIndex = 2, + SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Goodra) OVERWORLD( - sPicTable_GoodraHisuian, + sPicTable_GoodraHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_GoodraHisuian, - gShinyOverworldPalette_GoodraHisuian + gOverworldPalette_GoodraHisui, + gShinyOverworldPalette_GoodraHisui ) .isHisuianForm = TRUE, - .levelUpLearnset = sGoodraHisuianLevelUpLearnset, - .teachableLearnset = sGoodraHisuianTeachableLearnset, + .levelUpLearnset = sGoodraHisuiLevelUpLearnset, + .teachableLearnset = sGoodraHisuiTeachableLearnset, .formSpeciesIdTable = sGoodraFormSpeciesIdTable, }, #endif //P_HISUIAN_FORMS @@ -4297,6 +4367,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Klefki, .iconSprite = gMonIcon_Klefki, .iconPalIndex = 0, + SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Klefki) OVERWORLD( sPicTable_Klefki, @@ -4361,6 +4432,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Phantump, .iconSprite = gMonIcon_Phantump, .iconPalIndex = 1, + SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Phantump) OVERWORLD( sPicTable_Phantump, @@ -4424,6 +4496,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Trevenant, .iconSprite = gMonIcon_Trevenant, .iconPalIndex = 1, + SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Trevenant) OVERWORLD( sPicTable_Trevenant, @@ -4486,6 +4559,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Pumpkaboo, .iconSprite = gMonIcon_Pumpkaboo, .iconPalIndex = 2, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Pumpkaboo) OVERWORLD( sPicTable_PumpkabooAverage, @@ -4549,6 +4623,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Pumpkaboo, .iconSprite = gMonIcon_Pumpkaboo, .iconPalIndex = 2, + SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Pumpkaboo) OVERWORLD( sPicTable_PumpkabooSmall, @@ -4612,6 +4687,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Pumpkaboo, .iconSprite = gMonIcon_Pumpkaboo, .iconPalIndex = 2, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Pumpkaboo) OVERWORLD( sPicTable_PumpkabooLarge, @@ -4677,6 +4753,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Pumpkaboo, .iconSprite = gMonIcon_Pumpkaboo, .iconPalIndex = 2, + SHADOW(1, 4, SHADOW_SIZE_S) FOOTPRINT(Pumpkaboo) OVERWORLD( sPicTable_PumpkabooSuper, @@ -4741,6 +4818,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Gourgeist, .iconSprite = gMonIcon_Gourgeist, .iconPalIndex = 2, + SHADOW(3, 10, SHADOW_SIZE_M) FOOTPRINT(Gourgeist) OVERWORLD( sPicTable_GourgeistAverage, @@ -4802,6 +4880,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Gourgeist, .iconSprite = gMonIcon_Gourgeist, .iconPalIndex = 2, + SHADOW(4, 9, SHADOW_SIZE_S) FOOTPRINT(Gourgeist) OVERWORLD( sPicTable_GourgeistSmall, @@ -4863,6 +4942,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Gourgeist, .iconSprite = gMonIcon_Gourgeist, .iconPalIndex = 2, + SHADOW(4, 12, SHADOW_SIZE_M) FOOTPRINT(Gourgeist) OVERWORLD( sPicTable_GourgeistLarge, @@ -4926,6 +5006,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Gourgeist, .iconSprite = gMonIcon_Gourgeist, .iconPalIndex = 2, + SHADOW(4, 14, SHADOW_SIZE_M) FOOTPRINT(Gourgeist) OVERWORLD( sPicTable_GourgeistSuper, @@ -4995,6 +5076,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Bergmite, .iconSprite = gMonIcon_Bergmite, .iconPalIndex = 0, + SHADOW(1, -1, SHADOW_SIZE_S) FOOTPRINT(Bergmite) OVERWORLD( sPicTable_Bergmite, @@ -5008,7 +5090,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .teachableLearnset = sBergmiteTeachableLearnset, .eggMoveLearnset = sBergmiteEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 37, SPECIES_AVALUGG}, - {EVO_NONE, 0, SPECIES_AVALUGG_HISUIAN}), + {EVO_NONE, 0, SPECIES_AVALUGG_HISUI}), }, [SPECIES_AVALUGG] = @@ -5058,6 +5140,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Avalugg, .iconSprite = gMonIcon_Avalugg, .iconPalIndex = 0, + SHADOW(1, -1, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Avalugg) OVERWORLD( sPicTable_Avalugg, @@ -5073,7 +5156,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = }, #if P_HISUIAN_FORMS - [SPECIES_AVALUGG_HISUIAN] = + [SPECIES_AVALUGG_HISUI] = { .baseHP = 95, .baseAttack = 127, @@ -5106,31 +5189,32 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .pokemonOffset = 1, .trainerScale = 334, .trainerOffset = 4, - .frontPic = gMonFrontPic_AvaluggHisuian, + .frontPic = gMonFrontPic_AvaluggHisui, .frontPicSize = MON_COORDS_SIZE(64, 48), .frontPicYOffset = 6, - .frontAnimFrames = sAnims_AvaluggHisuian, + .frontAnimFrames = sAnims_AvaluggHisui, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_AvaluggHisuian, + .backPic = gMonBackPic_AvaluggHisui, .backPicSize = MON_COORDS_SIZE(64, 32), .backPicYOffset = 16, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_AvaluggHisuian, - .shinyPalette = gMonShinyPalette_AvaluggHisuian, - .iconSprite = gMonIcon_AvaluggHisuian, + .palette = gMonPalette_AvaluggHisui, + .shinyPalette = gMonShinyPalette_AvaluggHisui, + .iconSprite = gMonIcon_AvaluggHisui, .iconPalIndex = 5, + SHADOW(2, -2, SHADOW_SIZE_L) FOOTPRINT(Avalugg) OVERWORLD( - sPicTable_AvaluggHisuian, + sPicTable_AvaluggHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_AvaluggHisuian, - gShinyOverworldPalette_AvaluggHisuian + gOverworldPalette_AvaluggHisui, + gShinyOverworldPalette_AvaluggHisui ) .isHisuianForm = TRUE, - .levelUpLearnset = sAvaluggHisuianLevelUpLearnset, - .teachableLearnset = sAvaluggHisuianTeachableLearnset, + .levelUpLearnset = sAvaluggHisuiLevelUpLearnset, + .teachableLearnset = sAvaluggHisuiTeachableLearnset, .formSpeciesIdTable = sAvaluggFormSpeciesIdTable, }, #endif //P_HISUIAN_FORMS @@ -5189,6 +5273,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Noibat, .iconSprite = gMonIcon_Noibat, .iconPalIndex = 2, + SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Noibat) OVERWORLD( sPicTable_Noibat, @@ -5255,6 +5340,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Noivern, .iconSprite = gMonIcon_Noivern, .iconPalIndex = 2, + SHADOW(5, 10, SHADOW_SIZE_L) FOOTPRINT(Noivern) OVERWORLD( sPicTable_Noivern, @@ -5313,6 +5399,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_XerneasNeutral, .iconSprite = gMonIcon_XerneasNeutral, .iconPalIndex = 0, + SHADOW(3, 14, SHADOW_SIZE_M) FOOTPRINT(Xerneas) OVERWORLD( sPicTable_XerneasNeutral, @@ -5324,6 +5411,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sXerneasLevelUpLearnset, .teachableLearnset = sXerneasTeachableLearnset, .formSpeciesIdTable = sXerneasFormSpeciesIdTable, @@ -5373,6 +5461,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_XerneasActive, .iconSprite = gMonIcon_XerneasActive, .iconPalIndex = 0, + SHADOW(3, 14, SHADOW_SIZE_M) FOOTPRINT(Xerneas) OVERWORLD( sPicTable_XerneasActive, @@ -5384,6 +5473,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sXerneasLevelUpLearnset, .teachableLearnset = sXerneasTeachableLearnset, .formSpeciesIdTable = sXerneasFormSpeciesIdTable, @@ -5440,6 +5530,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Yveltal, .iconSprite = gMonIcon_Yveltal, .iconPalIndex = 0, + SHADOW(0, 16, SHADOW_SIZE_L) FOOTPRINT(Yveltal) OVERWORLD( sPicTable_Yveltal, @@ -5451,13 +5542,14 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sYveltalLevelUpLearnset, .teachableLearnset = sYveltalTeachableLearnset, }, #endif //P_FAMILY_YVELTAL #if P_FAMILY_ZYGARDE - [SPECIES_ZYGARDE_50_AURA_BREAK] = + [SPECIES_ZYGARDE_50] = { .baseHP = 108, .baseAttack = 100, @@ -5501,6 +5593,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Zygarde50, .iconSprite = gMonIcon_Zygarde50, .iconPalIndex = 1, + SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Zygarde) OVERWORLD( sPicTable_Zygarde50, @@ -5512,6 +5605,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sZygardeLevelUpLearnset, .teachableLearnset = sZygardeTeachableLearnset, .formSpeciesIdTable = sZygardeFormSpeciesIdTable, @@ -5561,6 +5655,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Zygarde50, .iconSprite = gMonIcon_Zygarde50, .iconPalIndex = 1, + SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Zygarde) OVERWORLD( sPicTable_Zygarde50, @@ -5572,6 +5667,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sZygardeLevelUpLearnset, .teachableLearnset = sZygardeTeachableLearnset, .formSpeciesIdTable = sZygardeFormSpeciesIdTable, @@ -5621,6 +5717,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Zygarde10, .iconSprite = gMonIcon_Zygarde10, .iconPalIndex = 1, + SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Zygarde) OVERWORLD( sPicTable_Zygarde10, @@ -5632,6 +5729,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sZygardeLevelUpLearnset, .teachableLearnset = sZygardeTeachableLearnset, .formSpeciesIdTable = sZygardeFormSpeciesIdTable, @@ -5682,6 +5780,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Zygarde10, .iconSprite = gMonIcon_Zygarde10, .iconPalIndex = 1, + SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Zygarde) OVERWORLD( sPicTable_Zygarde10, @@ -5693,6 +5792,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sZygardeLevelUpLearnset, .teachableLearnset = sZygardeTeachableLearnset, .formSpeciesIdTable = sZygardeFormSpeciesIdTable, @@ -5747,6 +5847,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_ZygardeComplete, .iconSprite = gMonIcon_ZygardeComplete, .iconPalIndex = 1, + SHADOW(-3, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Zygarde) OVERWORLD( sPicTable_ZygardeComplete, @@ -5758,6 +5859,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sZygardeLevelUpLearnset, .teachableLearnset = sZygardeTeachableLearnset, .formSpeciesIdTable = sZygardeFormSpeciesIdTable, @@ -5814,6 +5916,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Diancie, .iconSprite = gMonIcon_Diancie, .iconPalIndex = 1, + SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Diancie) OVERWORLD( sPicTable_Diancie, @@ -5825,6 +5928,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sDiancieLevelUpLearnset, .teachableLearnset = sDiancieTeachableLearnset, .formSpeciesIdTable = sDiancieFormSpeciesIdTable, @@ -5880,10 +5984,12 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_DiancieMega, .iconSprite = gMonIcon_DiancieMega, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Diancie) .isMythical = TRUE, .isMegaEvolution = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sDiancieLevelUpLearnset, .teachableLearnset = sDiancieTeachableLearnset, .formSpeciesIdTable = sDiancieFormSpeciesIdTable, @@ -5941,6 +6047,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_HoopaConfined, .iconSprite = gMonIcon_HoopaConfined, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Hoopa) OVERWORLD( sPicTable_HoopaConfined, @@ -5952,6 +6059,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sHoopaConfinedLevelUpLearnset, .teachableLearnset = sHoopaConfinedTeachableLearnset, .formSpeciesIdTable = sHoopaFormSpeciesIdTable, @@ -6006,6 +6114,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_HoopaUnbound, .iconSprite = gMonIcon_HoopaUnbound, .iconPalIndex = 0, + SHADOW(1, 14, SHADOW_SIZE_L) FOOTPRINT(Hoopa) OVERWORLD( sPicTable_HoopaUnbound, @@ -6017,6 +6126,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sHoopaUnboundLevelUpLearnset, .teachableLearnset = sHoopaUnboundTeachableLearnset, .formSpeciesIdTable = sHoopaFormSpeciesIdTable, @@ -6072,6 +6182,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Volcanion, .iconSprite = gMonIcon_Volcanion, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Volcanion) OVERWORLD( sPicTable_Volcanion, @@ -6083,6 +6194,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sVolcanionLevelUpLearnset, .teachableLearnset = sVolcanionTeachableLearnset, }, diff --git a/src/data/pokemon/species_info/gen_7_families.h b/src/data/pokemon/species_info/gen_7_families.h index 48ab87ee1703..cb126fd171a4 100644 --- a/src/data/pokemon/species_info/gen_7_families.h +++ b/src/data/pokemon/species_info/gen_7_families.h @@ -51,6 +51,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Rowlet, .iconSprite = gMonIcon_Rowlet, .iconPalIndex = 0, + SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Rowlet) OVERWORLD( sPicTable_Rowlet, @@ -114,6 +115,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Dartrix, .iconSprite = gMonIcon_Dartrix, .iconPalIndex = 1, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Dartrix) OVERWORLD( sPicTable_Dartrix, @@ -126,7 +128,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .levelUpLearnset = sDartrixLevelUpLearnset, .teachableLearnset = sDartrixTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_DECIDUEYE}, - {EVO_NONE, 0, SPECIES_DECIDUEYE_HISUIAN}), + {EVO_NONE, 0, SPECIES_DECIDUEYE_HISUI}), }, [SPECIES_DECIDUEYE] = @@ -176,6 +178,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Decidueye, .iconSprite = gMonIcon_Decidueye, .iconPalIndex = 1, + SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Decidueye) OVERWORLD( sPicTable_Decidueye, @@ -191,7 +194,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = }, #if P_HISUIAN_FORMS - [SPECIES_DECIDUEYE_HISUIAN] = + [SPECIES_DECIDUEYE_HISUI] = { .baseHP = 88, .baseAttack = 112, @@ -225,31 +228,32 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .pokemonOffset = 1, .trainerScale = 296, .trainerOffset = 1, - .frontPic = gMonFrontPic_DecidueyeHisuian, + .frontPic = gMonFrontPic_DecidueyeHisui, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_DecidueyeHisuian, + .frontAnimFrames = sAnims_DecidueyeHisui, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_DecidueyeHisuian, + .backPic = gMonBackPic_DecidueyeHisui, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 0, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_DecidueyeHisuian, - .shinyPalette = gMonShinyPalette_DecidueyeHisuian, - .iconSprite = gMonIcon_DecidueyeHisuian, + .palette = gMonPalette_DecidueyeHisui, + .shinyPalette = gMonShinyPalette_DecidueyeHisui, + .iconSprite = gMonIcon_DecidueyeHisui, .iconPalIndex = 0, + SHADOW(-1, 14, SHADOW_SIZE_L) FOOTPRINT(Decidueye) OVERWORLD( - sPicTable_DecidueyeHisuian, + sPicTable_DecidueyeHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_DecidueyeHisuian, - gShinyOverworldPalette_DecidueyeHisuian + gOverworldPalette_DecidueyeHisui, + gShinyOverworldPalette_DecidueyeHisui ) .isHisuianForm = TRUE, - .levelUpLearnset = sDecidueyeHisuianLevelUpLearnset, - .teachableLearnset = sDecidueyeHisuianTeachableLearnset, + .levelUpLearnset = sDecidueyeHisuiLevelUpLearnset, + .teachableLearnset = sDecidueyeHisuiTeachableLearnset, .formSpeciesIdTable = sDecidueyeFormSpeciesIdTable, }, #endif //P_HISUIAN_FORMS @@ -303,6 +307,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Litten, .iconSprite = gMonIcon_Litten, .iconPalIndex = 0, + SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Litten) OVERWORLD( sPicTable_Litten, @@ -365,6 +370,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Torracat, .iconSprite = gMonIcon_Torracat, .iconPalIndex = 0, + SHADOW(5, 7, SHADOW_SIZE_M) FOOTPRINT(Torracat) OVERWORLD( sPicTable_Torracat, @@ -426,6 +432,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Incineroar, .iconSprite = gMonIcon_Incineroar, .iconPalIndex = 0, + SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(Incineroar) OVERWORLD( sPicTable_Incineroar, @@ -488,6 +495,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Popplio, .iconSprite = gMonIcon_Popplio, .iconPalIndex = 0, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Popplio) OVERWORLD( sPicTable_Popplio, @@ -550,6 +558,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Brionne, .iconSprite = gMonIcon_Brionne, .iconPalIndex = 0, + SHADOW(-5, 6, SHADOW_SIZE_M) FOOTPRINT(Brionne) OVERWORLD( sPicTable_Brionne, @@ -611,6 +620,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Primarina, .iconSprite = gMonIcon_Primarina, .iconPalIndex = 0, + SHADOW(-6, 11, SHADOW_SIZE_L) FOOTPRINT(Primarina) OVERWORLD( sPicTable_Primarina, @@ -674,6 +684,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Pikipek, .iconSprite = gMonIcon_Pikipek, .iconPalIndex = 2, + SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Pikipek) OVERWORLD( sPicTable_Pikipek, @@ -737,6 +748,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Trumbeak, .iconSprite = gMonIcon_Trumbeak, .iconPalIndex = 0, + SHADOW(1, 8, SHADOW_SIZE_S) FOOTPRINT(Trumbeak) OVERWORLD( sPicTable_Trumbeak, @@ -799,6 +811,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Toucannon, .iconSprite = gMonIcon_Toucannon, .iconPalIndex = 0, + SHADOW(9, 12, SHADOW_SIZE_M) FOOTPRINT(Toucannon) OVERWORLD( sPicTable_Toucannon, @@ -862,6 +875,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Yungoos, .iconSprite = gMonIcon_Yungoos, .iconPalIndex = 2, + SHADOW(-9, 1, SHADOW_SIZE_M) FOOTPRINT(Yungoos) OVERWORLD( sPicTable_Yungoos, @@ -921,6 +935,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Gumshoos, .iconSprite = gMonIcon_Gumshoos, .iconPalIndex = 2, + SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Gumshoos) OVERWORLD( sPicTable_Gumshoos, @@ -979,6 +994,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Gumshoos, .iconSprite = gMonIcon_Gumshoos, .iconPalIndex = 2, + SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Gumshoos) OVERWORLD( sPicTable_Gumshoos, @@ -989,6 +1005,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Gumshoos ) .isTotem = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sGumshoosLevelUpLearnset, .teachableLearnset = sGumshoosTeachableLearnset, .formSpeciesIdTable = sGumshoosFormSpeciesIdTable, @@ -1043,6 +1060,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Grubbin, .iconSprite = gMonIcon_Grubbin, .iconPalIndex = 0, + SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Grubbin) OVERWORLD( sPicTable_Grubbin, @@ -1106,6 +1124,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Charjabug, .iconSprite = gMonIcon_Charjabug, .iconPalIndex = 1, + NO_SHADOW FOOTPRINT(Charjabug) OVERWORLD( sPicTable_Charjabug, @@ -1166,6 +1185,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Vikavolt, .iconSprite = gMonIcon_Vikavolt, .iconPalIndex = 0, + SHADOW(-1, 16, SHADOW_SIZE_S) FOOTPRINT(Vikavolt) OVERWORLD( sPicTable_Vikavolt, @@ -1224,6 +1244,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Vikavolt, .iconSprite = gMonIcon_Vikavolt, .iconPalIndex = 0, + SHADOW(-1, 16, SHADOW_SIZE_S) FOOTPRINT(Vikavolt) OVERWORLD( sPicTable_Vikavolt, @@ -1234,6 +1255,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Vikavolt ) .isTotem = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sVikavoltLevelUpLearnset, .teachableLearnset = sVikavoltTeachableLearnset, .formSpeciesIdTable = sVikavoltFormSpeciesIdTable, @@ -1289,6 +1311,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Crabrawler, .iconSprite = gMonIcon_Crabrawler, .iconPalIndex = 2, + SHADOW(7, 6, SHADOW_SIZE_M) FOOTPRINT(Crabrawler) OVERWORLD( sPicTable_Crabrawler, @@ -1325,7 +1348,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_HYPER_CUTTER, ABILITY_IRON_FIST, ABILITY_ANGER_POINT }, .bodyColor = BODY_COLOR_WHITE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Crabminabl", "Crabominable"), + .speciesName = _("Crabominable"), .cryId = CRY_CRABOMINABLE, .natDexNum = NATIONAL_DEX_CRABOMINABLE, .categoryName = _("Woolly Crab"), @@ -1353,6 +1376,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Crabominable, .iconSprite = gMonIcon_Crabominable, .iconPalIndex = 2, + SHADOW(1, 14, SHADOW_SIZE_L) FOOTPRINT(Crabominable) OVERWORLD( sPicTable_Crabominable, @@ -1416,6 +1440,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_OricorioBaile, .iconSprite = gMonIcon_OricorioBaile, .iconPalIndex = 0, + SHADOW(-4, 9, SHADOW_SIZE_S) FOOTPRINT(Oricorio) OVERWORLD( sPicTable_OricorioBaile, @@ -1480,6 +1505,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_OricorioPomPom, .iconSprite = gMonIcon_OricorioPomPom, .iconPalIndex = 1, + SHADOW(5, 8, SHADOW_SIZE_S) FOOTPRINT(Oricorio) OVERWORLD( sPicTable_OricorioPomPom, @@ -1544,6 +1570,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_OricorioPau, .iconSprite = gMonIcon_OricorioPau, .iconPalIndex = 1, + SHADOW(-3, 11, SHADOW_SIZE_S) FOOTPRINT(Oricorio) OVERWORLD( sPicTable_OricorioPau, @@ -1608,6 +1635,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_OricorioSensu, .iconSprite = gMonIcon_OricorioSensu, .iconPalIndex = 0, + SHADOW(7, 10, SHADOW_SIZE_S) FOOTPRINT(Oricorio) OVERWORLD( sPicTable_OricorioSensu, @@ -1675,6 +1703,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Cutiefly, .iconSprite = gMonIcon_Cutiefly, .iconPalIndex = 2, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Cutiefly) OVERWORLD( sPicTable_Cutiefly, @@ -1736,6 +1765,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Ribombee, .iconSprite = gMonIcon_Ribombee, .iconPalIndex = 2, + SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Ribombee) OVERWORLD( sPicTable_Ribombee, @@ -1795,6 +1825,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Ribombee, .iconSprite = gMonIcon_Ribombee, .iconPalIndex = 2, + SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Ribombee) OVERWORLD( sPicTable_Ribombee, @@ -1805,6 +1836,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Ribombee ) .isTotem = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sRibombeeLevelUpLearnset, .teachableLearnset = sRibombeeTeachableLearnset, .formSpeciesIdTable = sRibombeeFormSpeciesIdTable, @@ -1855,6 +1887,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Rockruff, .iconSprite = gMonIcon_Rockruff, .iconPalIndex = 2, + SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Rockruff) OVERWORLD( sPicTable_Rockruff, @@ -1915,6 +1948,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Rockruff, .iconSprite = gMonIcon_Rockruff, .iconPalIndex = 2, + SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Rockruff) OVERWORLD( sPicTable_Rockruff, @@ -1978,6 +2012,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_LycanrocMidday, .iconSprite = gMonIcon_LycanrocMidday, .iconPalIndex = 2, + SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Lycanroc) OVERWORLD( sPicTable_LycanrocMidday, @@ -2039,6 +2074,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_LycanrocMidnight, .iconSprite = gMonIcon_LycanrocMidnight, .iconPalIndex = 0, + SHADOW(5, 13, SHADOW_SIZE_L) FOOTPRINT(Lycanroc) OVERWORLD( sPicTable_LycanrocMidnight, @@ -2100,6 +2136,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_LycanrocDusk, .iconSprite = gMonIcon_LycanrocDusk, .iconPalIndex = 0, + SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Lycanroc) OVERWORLD( sPicTable_LycanrocDusk, @@ -2164,6 +2201,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_WishiwashiSolo, .iconSprite = gMonIcon_WishiwashiSolo, .iconPalIndex = 2, + SHADOW(-1, 3, SHADOW_SIZE_S) FOOTPRINT(Wishiwashi) OVERWORLD( sPicTable_WishiwashiSolo, @@ -2227,6 +2265,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_WishiwashiSchool, .iconSprite = gMonIcon_WishiwashiSchool, .iconPalIndex = 0, + SHADOW(-4, 7, SHADOW_SIZE_L) FOOTPRINT(Wishiwashi) .levelUpLearnset = sWishiwashiLevelUpLearnset, .teachableLearnset = sWishiwashiTeachableLearnset, @@ -2285,6 +2324,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Mareanie, .iconSprite = gMonIcon_Mareanie, .iconPalIndex = 2, + SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Mareanie) OVERWORLD( sPicTable_Mareanie, @@ -2348,6 +2388,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Toxapex, .iconSprite = gMonIcon_Toxapex, .iconPalIndex = 0, + SHADOW(0, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Toxapex) OVERWORLD( sPicTable_Toxapex, @@ -2411,6 +2452,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Mudbray, .iconSprite = gMonIcon_Mudbray, .iconPalIndex = 2, + SHADOW(2, 6, SHADOW_SIZE_M) FOOTPRINT(Mudbray) OVERWORLD( sPicTable_Mudbray, @@ -2474,6 +2516,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Mudsdale, .iconSprite = gMonIcon_Mudsdale, .iconPalIndex = 0, + SHADOW(4, 13, SHADOW_SIZE_L) FOOTPRINT(Mudsdale) OVERWORLD( sPicTable_Mudsdale, @@ -2537,6 +2580,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Dewpider, .iconSprite = gMonIcon_Dewpider, .iconPalIndex = 0, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Dewpider) OVERWORLD( sPicTable_Dewpider, @@ -2597,6 +2641,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Araquanid, .iconSprite = gMonIcon_Araquanid, .iconPalIndex = 2, + SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Araquanid) OVERWORLD( sPicTable_Araquanid, @@ -2655,6 +2700,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Araquanid, .iconSprite = gMonIcon_Araquanid, .iconPalIndex = 2, + SHADOW(-6, 9, SHADOW_SIZE_S) FOOTPRINT(Araquanid) OVERWORLD( sPicTable_Araquanid, @@ -2665,6 +2711,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Araquanid ) .isTotem = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sAraquanidLevelUpLearnset, .teachableLearnset = sAraquanidTeachableLearnset, .formSpeciesIdTable = sAraquanidFormSpeciesIdTable, @@ -2720,6 +2767,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Fomantis, .iconSprite = gMonIcon_Fomantis, .iconPalIndex = 1, + SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Fomantis) OVERWORLD( sPicTable_Fomantis, @@ -2780,6 +2828,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Lurantis, .iconSprite = gMonIcon_Lurantis, .iconPalIndex = 1, + SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Lurantis) OVERWORLD( sPicTable_Lurantis, @@ -2838,6 +2887,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Lurantis, .iconSprite = gMonIcon_Lurantis, .iconPalIndex = 1, + SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Lurantis) OVERWORLD( sPicTable_Lurantis, @@ -2848,6 +2898,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Lurantis ) .isTotem = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sLurantisLevelUpLearnset, .teachableLearnset = sLurantisTeachableLearnset, .formSpeciesIdTable = sLurantisFormSpeciesIdTable, @@ -2904,6 +2955,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Morelull, .iconSprite = gMonIcon_Morelull, .iconPalIndex = 0, + SHADOW(-1, 4, SHADOW_SIZE_S) FOOTPRINT(Morelull) OVERWORLD( sPicTable_Morelull, @@ -2968,6 +3020,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Shiinotic, .iconSprite = gMonIcon_Shiinotic, .iconPalIndex = 1, + SHADOW(0, 10, SHADOW_SIZE_S) FOOTPRINT(Shiinotic) OVERWORLD( sPicTable_Shiinotic, @@ -3031,6 +3084,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Salandit, .iconSprite = gMonIcon_Salandit, .iconPalIndex = 2, + SHADOW(3, 1, SHADOW_SIZE_M) FOOTPRINT(Salandit) OVERWORLD( sPicTable_Salandit, @@ -3091,6 +3145,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Salazzle, .iconSprite = gMonIcon_Salazzle, .iconPalIndex = 0, + SHADOW(-4, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Salazzle) OVERWORLD( sPicTable_Salazzle, @@ -3149,6 +3204,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Salazzle, .iconSprite = gMonIcon_Salazzle, .iconPalIndex = 0, + SHADOW(-4, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Salazzle) OVERWORLD( sPicTable_Salazzle, @@ -3159,6 +3215,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Salazzle ) .isTotem = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sSalazzleLevelUpLearnset, .teachableLearnset = sSalazzleTeachableLearnset, .formSpeciesIdTable = sSalanditFormSpeciesIdTable, @@ -3213,6 +3270,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Stufful, .iconSprite = gMonIcon_Stufful, .iconPalIndex = 0, + SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Stufful) OVERWORLD( sPicTable_Stufful, @@ -3275,6 +3333,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Bewear, .iconSprite = gMonIcon_Bewear, .iconPalIndex = 0, + SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Bewear) OVERWORLD( sPicTable_Bewear, @@ -3338,6 +3397,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Bounsweet, .iconSprite = gMonIcon_Bounsweet, .iconPalIndex = 1, + SHADOW(-2, -3, SHADOW_SIZE_S) FOOTPRINT(Bounsweet) OVERWORLD( sPicTable_Bounsweet, @@ -3402,6 +3462,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Steenee, .iconSprite = gMonIcon_Steenee, .iconPalIndex = 1, + SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Steenee) OVERWORLD( sPicTable_Steenee, @@ -3465,6 +3526,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Tsareena, .iconSprite = gMonIcon_Tsareena, .iconPalIndex = 1, + SHADOW(1, 13, SHADOW_SIZE_M) FOOTPRINT(Tsareena) OVERWORLD( sPicTable_Tsareena, @@ -3530,6 +3592,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Comfey, .iconSprite = gMonIcon_Comfey, .iconPalIndex = 1, + SHADOW(0, 10, SHADOW_SIZE_M) FOOTPRINT(Comfey) OVERWORLD( sPicTable_Comfey, @@ -3593,6 +3656,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Oranguru, .iconSprite = gMonIcon_Oranguru, .iconPalIndex = 0, + SHADOW(-2, 6, SHADOW_SIZE_M) FOOTPRINT(Oranguru) OVERWORLD( sPicTable_Oranguru, @@ -3656,6 +3720,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Passimian, .iconSprite = gMonIcon_Passimian, .iconPalIndex = 1, + SHADOW(-4, 12, SHADOW_SIZE_L) FOOTPRINT(Passimian) OVERWORLD( sPicTable_Passimian, @@ -3719,6 +3784,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Wimpod, .iconSprite = gMonIcon_Wimpod, .iconPalIndex = 2, + SHADOW(-4, -3, SHADOW_SIZE_S) FOOTPRINT(Wimpod) OVERWORLD( sPicTable_Wimpod, @@ -3781,6 +3847,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Golisopod, .iconSprite = gMonIcon_Golisopod, .iconPalIndex = 2, + SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(Golisopod) OVERWORLD( sPicTable_Golisopod, @@ -3844,6 +3911,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Sandygast, .iconSprite = gMonIcon_Sandygast, .iconPalIndex = 1, + NO_SHADOW FOOTPRINT(Sandygast) OVERWORLD( sPicTable_Sandygast, @@ -3907,6 +3975,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Palossand, .iconSprite = gMonIcon_Palossand, .iconPalIndex = 2, + NO_SHADOW FOOTPRINT(Palossand) OVERWORLD( sPicTable_Palossand, @@ -3969,6 +4038,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Pyukumuku, .iconSprite = gMonIcon_Pyukumuku, .iconPalIndex = 0, + SHADOW(-3, -3, SHADOW_SIZE_S) FOOTPRINT(Pyukumuku) OVERWORLD( sPicTable_Pyukumuku, @@ -4032,6 +4102,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_TypeNull, .iconSprite = gMonIcon_TypeNull, .iconPalIndex = 0, + SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Type_Null) OVERWORLD( sPicTable_TypeNull, @@ -4042,70 +4113,73 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_TypeNull ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sTypeNullLevelUpLearnset, .teachableLearnset = sTypeNullTeachableLearnset, .evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_SILVALLY_NORMAL}), }, -#define SILVALLY_SPECIES_INFO(type, _palette) \ - { \ - .baseHP = 95, \ - .baseAttack = 95, \ - .baseDefense = 95, \ - .baseSpeed = 95, \ - .baseSpAttack = 95, \ - .baseSpDefense = 95, \ - .types = MON_TYPES(type), \ - .catchRate = 3, \ - .expYield = 257, \ - .evYield_HP = 3, \ - .genderRatio = MON_GENDERLESS, \ - .eggCycles = 120, \ - .friendship = 0, \ - .growthRate = GROWTH_SLOW, \ - .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ - .abilities = { ABILITY_RKS_SYSTEM, ABILITY_NONE, ABILITY_NONE }, \ - .bodyColor = BODY_COLOR_GRAY, \ - .isLegendary = TRUE, \ - .speciesName = _("Silvally"), \ - .cryId = CRY_SILVALLY, \ - .natDexNum = NATIONAL_DEX_SILVALLY, \ - .categoryName = _("Synthetic"), \ - .height = 23, \ - .weight = 1005, \ - .description = (type == TYPE_NORMAL \ - ? gSilvallyNormalPokedexText \ - : gSilvallyMemoryPokedexText), \ - .pokemonScale = 256, \ - .pokemonOffset = 0, \ - .trainerScale = 342, \ - .trainerOffset = 7, \ - .frontPic = gMonFrontPic_Silvally, \ - .frontPicSize = MON_COORDS_SIZE(64, 64), \ - .frontPicYOffset = 0, \ - .frontAnimFrames = sAnims_Silvally, \ - .frontAnimId = ANIM_V_SHAKE, \ - .backPic = gMonBackPic_Silvally, \ - .backPicSize = MON_COORDS_SIZE(56, 64), \ - .backPicYOffset = 0, \ - /*.backAnimId = BACK_ANIM_NONE,*/ \ - .palette = gMonPalette_Silvally##_palette, \ - .shinyPalette = gMonShinyPalette_Silvally##_palette, \ - .iconSprite = gMonIcon_Silvally, \ - .iconPalIndex = 0, \ - FOOTPRINT(Silvally) \ - OVERWORLD( \ - sPicTable_Silvally, \ - SIZE_32x32, \ - SHADOW_SIZE_M, \ - TRACKS_FOOT, \ - gOverworldPalette_Silvally, \ - gShinyOverworldPalette_Silvally \ - ) \ - .levelUpLearnset = sSilvallyLevelUpLearnset, \ - .teachableLearnset = sSilvallyTeachableLearnset, \ - .formSpeciesIdTable = sSilvallyFormSpeciesIdTable, \ - .formChangeTable = sSilvallyFormChangeTable, \ +#define SILVALLY_SPECIES_INFO(type, _palette) \ + { \ + .baseHP = 95, \ + .baseAttack = 95, \ + .baseDefense = 95, \ + .baseSpeed = 95, \ + .baseSpAttack = 95, \ + .baseSpDefense = 95, \ + .types = MON_TYPES(type), \ + .catchRate = 3, \ + .expYield = 257, \ + .evYield_HP = 3, \ + .genderRatio = MON_GENDERLESS, \ + .eggCycles = 120, \ + .friendship = 0, \ + .growthRate = GROWTH_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ + .abilities = { ABILITY_RKS_SYSTEM, ABILITY_NONE, ABILITY_NONE }, \ + .bodyColor = BODY_COLOR_GRAY, \ + .speciesName = _("Silvally"), \ + .cryId = CRY_SILVALLY, \ + .natDexNum = NATIONAL_DEX_SILVALLY, \ + .categoryName = _("Synthetic"), \ + .height = 23, \ + .weight = 1005, \ + .description = (type == TYPE_NORMAL \ + ? gSilvallyNormalPokedexText \ + : gSilvallyMemoryPokedexText), \ + .pokemonScale = 256, \ + .pokemonOffset = 0, \ + .trainerScale = 342, \ + .trainerOffset = 7, \ + .frontPic = gMonFrontPic_Silvally, \ + .frontPicSize = MON_COORDS_SIZE(64, 64), \ + .frontPicYOffset = 0, \ + .frontAnimFrames = sAnims_Silvally, \ + .frontAnimId = ANIM_V_SHAKE, \ + .backPic = gMonBackPic_Silvally, \ + .backPicSize = MON_COORDS_SIZE(56, 64), \ + .backPicYOffset = 0, \ + /*.backAnimId = BACK_ANIM_NONE,*/ \ + .palette = gMonPalette_Silvally##_palette, \ + .shinyPalette = gMonShinyPalette_Silvally##_palette, \ + .iconSprite = gMonIcon_Silvally, \ + .iconPalIndex = 0, \ + SHADOW(1, 13, SHADOW_SIZE_L) \ + FOOTPRINT(Silvally) \ + OVERWORLD( \ + sPicTable_Silvally, \ + SIZE_32x32, \ + SHADOW_SIZE_M, \ + TRACKS_FOOT, \ + gOverworldPalette_Silvally, \ + gShinyOverworldPalette_Silvally \ + ) \ + .isLegendary = TRUE, \ + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, \ + .levelUpLearnset = sSilvallyLevelUpLearnset, \ + .teachableLearnset = sSilvallyTeachableLearnset, \ + .formSpeciesIdTable = sSilvallyFormSpeciesIdTable, \ + .formChangeTable = sSilvallyFormChangeTable, \ } [SPECIES_SILVALLY_NORMAL] = SILVALLY_SPECIES_INFO(TYPE_NORMAL, Normal), @@ -4182,6 +4256,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_MiniorMeteor, \ .iconSprite = gMonIcon_MiniorMeteor, \ .iconPalIndex = 0, \ + SHADOW(0, 14, SHADOW_SIZE_S) \ OVERWORLD( \ sPicTable_MiniorMeteor, \ SIZE_32x32, \ @@ -4218,6 +4293,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_MiniorCore, \ .iconSprite = gMonIcon_MiniorCore##Form, \ .iconPalIndex = iconPal, \ + SHADOW(-2, 12, SHADOW_SIZE_S) \ .formChangeTable = sMinior ##Form##FormChangeTable, \ MINIOR_MISC_INFO(color), \ } @@ -4286,6 +4362,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Komala, .iconSprite = gMonIcon_Komala, .iconPalIndex = 2, + SHADOW(-4, 0, SHADOW_SIZE_S) FOOTPRINT(Komala) OVERWORLD( sPicTable_Komala, @@ -4350,6 +4427,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Turtonator, .iconSprite = gMonIcon_Turtonator, .iconPalIndex = 0, + SHADOW(-3, 12, SHADOW_SIZE_L) FOOTPRINT(Turtonator) OVERWORLD( sPicTable_Turtonator, @@ -4410,6 +4488,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Togedemaru, .iconSprite = gMonIcon_Togedemaru, .iconPalIndex = 2, + SHADOW(-1, 4, SHADOW_SIZE_S) FOOTPRINT(Togedemaru) OVERWORLD( sPicTable_Togedemaru, @@ -4469,6 +4548,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Togedemaru, .iconSprite = gMonIcon_Togedemaru, .iconPalIndex = 2, + SHADOW(-1, 4, SHADOW_SIZE_S) FOOTPRINT(Togedemaru) OVERWORLD( sPicTable_Togedemaru, @@ -4479,6 +4559,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Togedemaru ) .isTotem = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sTogedemaruLevelUpLearnset, .teachableLearnset = sTogedemaruTeachableLearnset, .eggMoveLearnset = sTogedemaruEggMoveLearnset, @@ -4531,6 +4612,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_MimikyuDisguised, .iconSprite = gMonIcon_MimikyuDisguised, .iconPalIndex = 1, + SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Mimikyu) OVERWORLD( sPicTable_MimikyuDisguised, @@ -4591,6 +4673,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_MimikyuBusted, .iconSprite = gMonIcon_MimikyuBusted, .iconPalIndex = 1, + SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Mimikyu) .levelUpLearnset = sMimikyuLevelUpLearnset, .teachableLearnset = sMimikyuTeachableLearnset, @@ -4643,6 +4726,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_MimikyuDisguised, .iconSprite = gMonIcon_MimikyuDisguised, .iconPalIndex = 1, + SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Mimikyu) OVERWORLD( sPicTable_MimikyuDisguised, @@ -4653,6 +4737,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_MimikyuDisguised ) .isTotem = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMimikyuLevelUpLearnset, .teachableLearnset = sMimikyuTeachableLearnset, .eggMoveLearnset = sMimikyuEggMoveLearnset, @@ -4660,7 +4745,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .formChangeTable = sMimikyuTotemFormChangeTable, }, - [SPECIES_MIMIKYU_TOTEM_BUSTED] = + [SPECIES_MIMIKYU_BUSTED_TOTEM] = { .baseHP = 55, .baseAttack = 90, @@ -4704,8 +4789,10 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_MimikyuBusted, .iconSprite = gMonIcon_MimikyuBusted, .iconPalIndex = 1, + SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Mimikyu) .isTotem = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMimikyuLevelUpLearnset, .teachableLearnset = sMimikyuTeachableLearnset, .eggMoveLearnset = sMimikyuEggMoveLearnset, @@ -4763,6 +4850,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Bruxish, .iconSprite = gMonIcon_Bruxish, .iconPalIndex = 0, + SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Bruxish) OVERWORLD( sPicTable_Bruxish, @@ -4827,6 +4915,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Drampa, .iconSprite = gMonIcon_Drampa, .iconPalIndex = 0, + SHADOW(5, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Drampa) OVERWORLD( sPicTable_Drampa, @@ -4892,6 +4981,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Dhelmise, .iconSprite = gMonIcon_Dhelmise, .iconPalIndex = 1, + SHADOW(-1, 12, SHADOW_SIZE_M) FOOTPRINT(Dhelmise) OVERWORLD( sPicTable_Dhelmise, @@ -4955,6 +5045,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_JangmoO, .iconSprite = gMonIcon_JangmoO, .iconPalIndex = 2, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(JangmoO) OVERWORLD( sPicTable_JangmoO, @@ -5018,6 +5109,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_HakamoO, .iconSprite = gMonIcon_HakamoO, .iconPalIndex = 2, + SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(HakamoO) OVERWORLD( sPicTable_HakamoO, @@ -5077,6 +5169,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_KommoO, .iconSprite = gMonIcon_KommoO, .iconPalIndex = 2, + SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(KommoO) OVERWORLD( sPicTable_KommoO, @@ -5135,6 +5228,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_KommoO, .iconSprite = gMonIcon_KommoO, .iconPalIndex = 2, + SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(KommoO) OVERWORLD( sPicTable_KommoO, @@ -5145,6 +5239,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_KommoO ) .isTotem = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sKommoOLevelUpLearnset, .teachableLearnset = sKommoOTeachableLearnset, .formSpeciesIdTable = sKommoOFormSpeciesIdTable, @@ -5200,6 +5295,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_TapuKoko, .iconSprite = gMonIcon_TapuKoko, .iconPalIndex = 0, + SHADOW(-1, 19, SHADOW_SIZE_M) FOOTPRINT(TapuKoko) OVERWORLD( sPicTable_TapuKoko, @@ -5210,6 +5306,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_TapuKoko ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sTapuKokoLevelUpLearnset, .teachableLearnset = sTapuKokoTeachableLearnset, }, @@ -5264,6 +5361,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_TapuLele, .iconSprite = gMonIcon_TapuLele, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(TapuLele) OVERWORLD( sPicTable_TapuLele, @@ -5274,6 +5372,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_TapuLele ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sTapuLeleLevelUpLearnset, .teachableLearnset = sTapuLeleTeachableLearnset, }, @@ -5328,6 +5427,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_TapuBulu, .iconSprite = gMonIcon_TapuBulu, .iconPalIndex = 2, + SHADOW(4, 16, SHADOW_SIZE_M) FOOTPRINT(TapuBulu) OVERWORLD( sPicTable_TapuBulu, @@ -5338,6 +5438,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_TapuBulu ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sTapuBuluLevelUpLearnset, .teachableLearnset = sTapuBuluTeachableLearnset, }, @@ -5393,6 +5494,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_TapuFini, .iconSprite = gMonIcon_TapuFini, .iconPalIndex = 2, + SHADOW(1, 15, SHADOW_SIZE_M) FOOTPRINT(TapuFini) OVERWORLD( sPicTable_TapuFini, @@ -5403,6 +5505,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_TapuFini ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sTapuFiniLevelUpLearnset, .teachableLearnset = sTapuFiniTeachableLearnset, }, @@ -5457,6 +5560,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Cosmog, .iconSprite = gMonIcon_Cosmog, .iconPalIndex = 2, + SHADOW(0, 8, SHADOW_SIZE_S) FOOTPRINT(Cosmog) OVERWORLD( sPicTable_Cosmog, @@ -5469,6 +5573,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .isLegendary = TRUE, .tmIlliterate = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sCosmogLevelUpLearnset, .teachableLearnset = sCosmogTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 43, SPECIES_COSMOEM}), @@ -5523,6 +5628,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Cosmoem, .iconSprite = gMonIcon_Cosmoem, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Cosmoem) OVERWORLD( sPicTable_Cosmoem, @@ -5535,6 +5641,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .isLegendary = TRUE, .tmIlliterate = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sCosmoemLevelUpLearnset, .teachableLearnset = sCosmoemTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL_DAY, 53, SPECIES_SOLGALEO}, @@ -5588,6 +5695,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Solgaleo, .iconSprite = gMonIcon_Solgaleo, .iconPalIndex = 2, + SHADOW(-1, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Solgaleo) OVERWORLD( sPicTable_Solgaleo, @@ -5599,6 +5707,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sSolgaleoLevelUpLearnset, .teachableLearnset = sSolgaleoTeachableLearnset, }, @@ -5651,6 +5760,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Lunala, .iconSprite = gMonIcon_Lunala, .iconPalIndex = 2, + SHADOW(4, 17, SHADOW_SIZE_L) FOOTPRINT(Lunala) OVERWORLD( sPicTable_Lunala, @@ -5662,6 +5772,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sLunalaLevelUpLearnset, .teachableLearnset = sLunalaTeachableLearnset, }, @@ -5716,6 +5827,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Nihilego, .iconSprite = gMonIcon_Nihilego, .iconPalIndex = 2, + SHADOW(-2, 14, SHADOW_SIZE_S) FOOTPRINT(Nihilego) OVERWORLD( sPicTable_Nihilego, @@ -5726,6 +5838,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Nihilego ) .isUltraBeast = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sNihilegoLevelUpLearnset, .teachableLearnset = sNihilegoTeachableLearnset, }, @@ -5780,6 +5893,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Buzzwole, .iconSprite = gMonIcon_Buzzwole, .iconPalIndex = 0, + SHADOW(-2, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Buzzwole) OVERWORLD( sPicTable_Buzzwole, @@ -5790,6 +5904,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Buzzwole ) .isUltraBeast = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sBuzzwoleLevelUpLearnset, .teachableLearnset = sBuzzwoleTeachableLearnset, }, @@ -5843,6 +5958,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Pheromosa, .iconSprite = gMonIcon_Pheromosa, .iconPalIndex = 2, + SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Pheromosa) OVERWORLD( sPicTable_Pheromosa, @@ -5853,6 +5969,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Pheromosa ) .isUltraBeast = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sPheromosaLevelUpLearnset, .teachableLearnset = sPheromosaTeachableLearnset, }, @@ -5906,6 +6023,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Xurkitree, .iconSprite = gMonIcon_Xurkitree, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Xurkitree) OVERWORLD( sPicTable_Xurkitree, @@ -5916,6 +6034,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Xurkitree ) .isUltraBeast = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sXurkitreeLevelUpLearnset, .teachableLearnset = sXurkitreeTeachableLearnset, }, @@ -5971,6 +6090,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Celesteela, .iconSprite = gMonIcon_Celesteela, .iconPalIndex = 0, + SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Celesteela) OVERWORLD( sPicTable_Celesteela, @@ -5981,6 +6101,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Celesteela ) .isUltraBeast = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sCelesteelaLevelUpLearnset, .teachableLearnset = sCelesteelaTeachableLearnset, }, @@ -6035,6 +6156,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Kartana, .iconSprite = gMonIcon_Kartana, .iconPalIndex = 0, + SHADOW(2, 14, SHADOW_SIZE_M) FOOTPRINT(Kartana) OVERWORLD( sPicTable_Kartana, @@ -6045,6 +6167,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Kartana ) .isUltraBeast = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sKartanaLevelUpLearnset, .teachableLearnset = sKartanaTeachableLearnset, }, @@ -6098,6 +6221,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Guzzlord, .iconSprite = gMonIcon_Guzzlord, .iconPalIndex = 2, + SHADOW(4, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Guzzlord) OVERWORLD( sPicTable_Guzzlord, @@ -6108,6 +6232,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Guzzlord ) .isUltraBeast = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sGuzzlordLevelUpLearnset, .teachableLearnset = sGuzzlordTeachableLearnset, }, @@ -6164,6 +6289,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Necrozma, .iconSprite = gMonIcon_Necrozma, .iconPalIndex = 1, + SHADOW(-1, 15, SHADOW_SIZE_M) FOOTPRINT(Necrozma) OVERWORLD( sPicTable_Necrozma, @@ -6175,6 +6301,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sNecrozmaLevelUpLearnset, .teachableLearnset = sNecrozmaTeachableLearnset, .formSpeciesIdTable = sNecrozmaFormSpeciesIdTable, @@ -6229,6 +6356,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_NecrozmaDuskMane, .iconSprite = gMonIcon_NecrozmaDuskMane, .iconPalIndex = 0, + SHADOW(-3, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Necrozma) OVERWORLD( sPicTable_NecrozmaDuskMane, @@ -6241,6 +6369,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .isLegendary = TRUE, .cannotBeTraded = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sNecrozmaLevelUpLearnset, .teachableLearnset = sNecrozmaTeachableLearnset, .formSpeciesIdTable = sNecrozmaFormSpeciesIdTable, @@ -6296,6 +6425,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_NecrozmaDawnWings, .iconSprite = gMonIcon_NecrozmaDawnWings, .iconPalIndex = 0, + SHADOW(3, 17, SHADOW_SIZE_L) FOOTPRINT(Necrozma) OVERWORLD( sPicTable_NecrozmaDawnWings, @@ -6308,6 +6438,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .isLegendary = TRUE, .cannotBeTraded = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sNecrozmaLevelUpLearnset, .teachableLearnset = sNecrozmaTeachableLearnset, .formSpeciesIdTable = sNecrozmaFormSpeciesIdTable, @@ -6366,11 +6497,13 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_NecrozmaUltra, .iconSprite = gMonIcon_NecrozmaUltra, .iconPalIndex = 2, + SHADOW(-1, 16, SHADOW_SIZE_L) FOOTPRINT(Necrozma) .isLegendary = TRUE, .isUltraBurst = TRUE, .cannotBeTraded = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sNecrozmaLevelUpLearnset, .teachableLearnset = sNecrozmaTeachableLearnset, .formSpeciesIdTable = sNecrozmaFormSpeciesIdTable, @@ -6427,6 +6560,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Magearna, .iconSprite = gMonIcon_Magearna, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Magearna) OVERWORLD( sPicTable_Magearna, @@ -6438,11 +6572,12 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMagearnaLevelUpLearnset, .teachableLearnset = sMagearnaTeachableLearnset, .formSpeciesIdTable = sMagearnaFormSpeciesIdTable, }, - [SPECIES_MAGEARNA_ORIGINAL_COLOR] = + [SPECIES_MAGEARNA_ORIGINAL] = { .baseHP = 80, .baseAttack = 95, @@ -6476,30 +6611,32 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .pokemonOffset = 7, .trainerScale = 257, .trainerOffset = 0, - .frontPic = gMonFrontPic_MagearnaOriginalColor, + .frontPic = gMonFrontPic_MagearnaOriginal, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Magearna, .frontAnimId = ANIM_H_SLIDE_SLOW, - .backPic = gMonBackPic_MagearnaOriginalColor, + .backPic = gMonBackPic_MagearnaOriginal, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 4, /*.backAnimId = BACK_ANIM_NONE,*/ - .palette = gMonPalette_MagearnaOriginalColor, - .shinyPalette = gMonShinyPalette_MagearnaOriginalColor, - .iconSprite = gMonIcon_MagearnaOriginalColor, + .palette = gMonPalette_MagearnaOriginal, + .shinyPalette = gMonShinyPalette_MagearnaOriginal, + .iconSprite = gMonIcon_MagearnaOriginal, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Magearna) OVERWORLD( - sPicTable_MagearnaOriginalColor, + sPicTable_MagearnaOriginal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_MagearnaOriginalColor, - gShinyOverworldPalette_MagearnaOriginalColor + gOverworldPalette_MagearnaOriginal, + gShinyOverworldPalette_MagearnaOriginal ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMagearnaLevelUpLearnset, .teachableLearnset = sMagearnaTeachableLearnset, .formSpeciesIdTable = sMagearnaFormSpeciesIdTable, @@ -6556,6 +6693,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Marshadow, .iconSprite = gMonIcon_Marshadow, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Marshadow) OVERWORLD( sPicTable_Marshadow, @@ -6567,6 +6705,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMarshadowLevelUpLearnset, .teachableLearnset = sMarshadowTeachableLearnset, }, @@ -6620,6 +6759,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Poipole, .iconSprite = gMonIcon_Poipole, .iconPalIndex = 0, + SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Poipole) OVERWORLD( sPicTable_Poipole, @@ -6630,6 +6770,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Poipole ) .isUltraBeast = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sPoipoleLevelUpLearnset, .teachableLearnset = sPoipoleTeachableLearnset, .evolutions = EVOLUTION({EVO_MOVE, MOVE_DRAGON_PULSE, SPECIES_NAGANADEL}), @@ -6682,6 +6823,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Naganadel, .iconSprite = gMonIcon_Naganadel, .iconPalIndex = 0, + SHADOW(7, 17, SHADOW_SIZE_M) FOOTPRINT(Naganadel) OVERWORLD( sPicTable_Naganadel, @@ -6692,6 +6834,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Naganadel ) .isUltraBeast = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sNaganadelLevelUpLearnset, .teachableLearnset = sNaganadelTeachableLearnset, }, @@ -6745,6 +6888,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Stakataka, .iconSprite = gMonIcon_Stakataka, .iconPalIndex = 0, + SHADOW(2, 15, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Stakataka) OVERWORLD( sPicTable_Stakataka, @@ -6755,6 +6899,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Stakataka ) .isUltraBeast = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sStakatakaLevelUpLearnset, .teachableLearnset = sStakatakaTeachableLearnset, }, @@ -6781,7 +6926,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .abilities = { ABILITY_BEAST_BOOST, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .noFlip = TRUE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Blacephaln", "Blacephalon"), + .speciesName = _("Blacephalon"), .cryId = CRY_BLACEPHALON, .natDexNum = NATIONAL_DEX_BLACEPHALON, .categoryName = _("Fireworks"), @@ -6808,6 +6953,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Blacephalon, .iconSprite = gMonIcon_Blacephalon, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Blacephalon) OVERWORLD( sPicTable_Blacephalon, @@ -6818,6 +6964,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Blacephalon ) .isUltraBeast = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sBlacephalonLevelUpLearnset, .teachableLearnset = sBlacephalonTeachableLearnset, }, @@ -6870,6 +7017,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Zeraora, .iconSprite = gMonIcon_Zeraora, .iconPalIndex = 0, + SHADOW(0, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Zeraora) OVERWORLD( sPicTable_Zeraora, @@ -6881,6 +7029,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sZeraoraLevelUpLearnset, .teachableLearnset = sZeraoraTeachableLearnset, }, @@ -6933,6 +7082,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Meltan, .iconSprite = gMonIcon_Meltan, .iconPalIndex = 2, + SHADOW(-1, 2, SHADOW_SIZE_S) FOOTPRINT(Meltan) OVERWORLD( sPicTable_Meltan, @@ -6944,6 +7094,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMeltanLevelUpLearnset, .teachableLearnset = sMeltanTeachableLearnset, }, @@ -6994,6 +7145,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Melmetal, .iconSprite = gMonIcon_Melmetal, .iconPalIndex = 2, + SHADOW(3, 10, SHADOW_SIZE_L) FOOTPRINT(Melmetal) OVERWORLD( sPicTable_Melmetal, @@ -7005,6 +7157,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMelmetalLevelUpLearnset, .teachableLearnset = sMelmetalTeachableLearnset, .formSpeciesIdTable = sMelmetalFormSpeciesIdTable, @@ -7012,7 +7165,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_MELMETAL_GIGANTAMAX] = + [SPECIES_MELMETAL_GMAX] = { .baseHP = 135, .baseAttack = 143, @@ -7046,23 +7199,25 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .pokemonOffset = 10, .trainerScale = 423, .trainerOffset = 8, - .frontPic = gMonFrontPic_MelmetalGigantamax, + .frontPic = gMonFrontPic_MelmetalGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_MelmetalGigantamax, + .frontAnimFrames = sAnims_MelmetalGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_MelmetalGigantamax, + .backPic = gMonBackPic_MelmetalGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 14, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_MelmetalGigantamax, - .shinyPalette = gMonShinyPalette_MelmetalGigantamax, - .iconSprite = gMonIcon_MelmetalGigantamax, + .palette = gMonPalette_MelmetalGmax, + .shinyPalette = gMonShinyPalette_MelmetalGmax, + .iconSprite = gMonIcon_MelmetalGmax, .iconPalIndex = 0, + SHADOW(2, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Melmetal) .isMythical = TRUE, .isGigantamax = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMelmetalLevelUpLearnset, .teachableLearnset = sMelmetalTeachableLearnset, .formSpeciesIdTable = sMelmetalFormSpeciesIdTable, diff --git a/src/data/pokemon/species_info/gen_8_families.h b/src/data/pokemon/species_info/gen_8_families.h index 46057b3847aa..37eefda7f9e3 100644 --- a/src/data/pokemon/species_info/gen_8_families.h +++ b/src/data/pokemon/species_info/gen_8_families.h @@ -51,6 +51,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Grookey, .iconSprite = gMonIcon_Grookey, .iconPalIndex = 1, + SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Grookey) OVERWORLD( sPicTable_Grookey, @@ -112,6 +113,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Thwackey, .iconSprite = gMonIcon_Thwackey, .iconPalIndex = 1, + SHADOW(5, 6, SHADOW_SIZE_M) FOOTPRINT(Thwackey) OVERWORLD( sPicTable_Thwackey, @@ -172,6 +174,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Rillaboom, .iconSprite = gMonIcon_Rillaboom, .iconPalIndex = 1, + SHADOW(2, 8, SHADOW_SIZE_L) FOOTPRINT(Rillaboom) OVERWORLD( sPicTable_Rillaboom, @@ -188,7 +191,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_RILLABOOM_GIGANTAMAX] = + [SPECIES_RILLABOOM_GMAX] = { .baseHP = 100, .baseAttack = 125, @@ -221,19 +224,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 0, .trainerScale = 365, .trainerOffset = 7, - .frontPic = gMonFrontPic_RillaboomGigantamax, + .frontPic = gMonFrontPic_RillaboomGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_RillaboomGigantamax, + .frontAnimFrames = sAnims_RillaboomGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_RillaboomGigantamax, + .backPic = gMonBackPic_RillaboomGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_RillaboomGigantamax, - .shinyPalette = gMonShinyPalette_RillaboomGigantamax, - .iconSprite = gMonIcon_RillaboomGigantamax, + .palette = gMonPalette_RillaboomGmax, + .shinyPalette = gMonShinyPalette_RillaboomGmax, + .iconSprite = gMonIcon_RillaboomGmax, .iconPalIndex = 1, + SHADOW(0, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rillaboom) .isGigantamax = TRUE, .levelUpLearnset = sRillaboomLevelUpLearnset, @@ -292,6 +296,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Scorbunny, .iconSprite = gMonIcon_Scorbunny, .iconPalIndex = 0, + SHADOW(-1, 6, SHADOW_SIZE_S) FOOTPRINT(Scorbunny) OVERWORLD( sPicTable_Scorbunny, @@ -353,6 +358,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Raboot, .iconSprite = gMonIcon_Raboot, .iconPalIndex = 0, + SHADOW(-4, 5, SHADOW_SIZE_S) FOOTPRINT(Raboot) OVERWORLD( sPicTable_Raboot, @@ -414,6 +420,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Cinderace, .iconSprite = gMonIcon_Cinderace, .iconPalIndex = 0, + SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Cinderace) OVERWORLD( sPicTable_Cinderace, @@ -430,7 +437,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_CINDERACE_GIGANTAMAX] = + [SPECIES_CINDERACE_GMAX] = { .baseHP = 80, .baseAttack = 116, @@ -464,19 +471,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 2, .trainerScale = 262, .trainerOffset = 0, - .frontPic = gMonFrontPic_CinderaceGigantamax, + .frontPic = gMonFrontPic_CinderaceGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_CinderaceGigantamax, + .frontAnimFrames = sAnims_CinderaceGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_CinderaceGigantamax, + .backPic = gMonBackPic_CinderaceGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_CinderaceGigantamax, - .shinyPalette = gMonShinyPalette_CinderaceGigantamax, - .iconSprite = gMonIcon_CinderaceGigantamax, + .palette = gMonPalette_CinderaceGmax, + .shinyPalette = gMonShinyPalette_CinderaceGmax, + .iconSprite = gMonIcon_CinderaceGmax, .iconPalIndex = 0, + SHADOW(-3, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Cinderace) .isGigantamax = TRUE, .levelUpLearnset = sCinderaceLevelUpLearnset, @@ -536,6 +544,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Sobble, .iconSprite = gMonIcon_Sobble, .iconPalIndex = 2, + SHADOW(-3, 3, SHADOW_SIZE_S) FOOTPRINT(Sobble) OVERWORLD( sPicTable_Sobble, @@ -597,6 +606,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Drizzile, .iconSprite = gMonIcon_Drizzile, .iconPalIndex = 2, + SHADOW(2, 5, SHADOW_SIZE_M) FOOTPRINT(Drizzile) OVERWORLD( sPicTable_Drizzile, @@ -658,6 +668,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Inteleon, .iconSprite = gMonIcon_Inteleon, .iconPalIndex = 0, + SHADOW(-5, 12, SHADOW_SIZE_S) FOOTPRINT(Inteleon) OVERWORLD( sPicTable_Inteleon, @@ -674,7 +685,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_INTELEON_GIGANTAMAX] = + [SPECIES_INTELEON_GMAX] = { .baseHP = 70, .baseAttack = 85, @@ -708,19 +719,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 1, .trainerScale = 326, .trainerOffset = 4, - .frontPic = gMonFrontPic_InteleonGigantamax, + .frontPic = gMonFrontPic_InteleonGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_InteleonGigantamax, + .frontAnimFrames = sAnims_InteleonGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_InteleonGigantamax, + .backPic = gMonBackPic_InteleonGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_InteleonGigantamax, - .shinyPalette = gMonShinyPalette_InteleonGigantamax, - .iconSprite = gMonIcon_InteleonGigantamax, + .palette = gMonPalette_InteleonGmax, + .shinyPalette = gMonShinyPalette_InteleonGmax, + .iconSprite = gMonIcon_InteleonGmax, .iconPalIndex = 0, + SHADOW(-5, 12, SHADOW_SIZE_L) FOOTPRINT(Inteleon) .isGigantamax = TRUE, .levelUpLearnset = sInteleonLevelUpLearnset, @@ -779,6 +791,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Skwovet, .iconSprite = gMonIcon_Skwovet, .iconPalIndex = 2, + SHADOW(-7, 5, SHADOW_SIZE_S) FOOTPRINT(Skwovet) OVERWORLD( sPicTable_Skwovet, @@ -842,6 +855,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Greedent, .iconSprite = gMonIcon_Greedent, .iconPalIndex = 0, + SHADOW(-11, 10, SHADOW_SIZE_M) FOOTPRINT(Greedent) OVERWORLD( sPicTable_Greedent, @@ -904,6 +918,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Rookidee, .iconSprite = gMonIcon_Rookidee, .iconPalIndex = 0, + SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Rookidee) OVERWORLD( sPicTable_Rookidee, @@ -938,7 +953,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_UNNERVE, ABILITY_BIG_PECKS }, .bodyColor = BODY_COLOR_BLUE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Corvisquir", "Corvisquire"), + .speciesName = _("Corvisquire"), .cryId = CRY_CORVISQUIRE, .natDexNum = NATIONAL_DEX_CORVISQUIRE, .categoryName = _("Raven"), @@ -967,6 +982,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Corvisquire, .iconSprite = gMonIcon_Corvisquire, .iconPalIndex = 0, + SHADOW(2, 16, SHADOW_SIZE_S) FOOTPRINT(Corvisquire) OVERWORLD( sPicTable_Corvisquire, @@ -1000,7 +1016,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_PRESSURE, ABILITY_UNNERVE, ABILITY_MIRROR_ARMOR }, .bodyColor = BODY_COLOR_PURPLE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Corviknigh", "Corviknight"), + .speciesName = _("Corviknight"), .cryId = CRY_CORVIKNIGHT, .natDexNum = NATIONAL_DEX_CORVIKNIGHT, .categoryName = _("Raven"), @@ -1028,6 +1044,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Corviknight, .iconSprite = gMonIcon_Corviknight, .iconPalIndex = 0, + SHADOW(-1, 9, SHADOW_SIZE_L) FOOTPRINT(Corviknight) OVERWORLD( sPicTable_Corviknight, @@ -1044,7 +1061,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_CORVIKNIGHT_GIGANTAMAX] = + [SPECIES_CORVIKNIGHT_GMAX] = { .baseHP = 98, .baseAttack = 87, @@ -1063,7 +1080,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_PRESSURE, ABILITY_UNNERVE, ABILITY_MIRROR_ARMOR }, .bodyColor = BODY_COLOR_PURPLE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Corviknigh", "Corviknight"), + .speciesName = _("Corviknight"), .cryId = CRY_CORVIKNIGHT, .natDexNum = NATIONAL_DEX_CORVIKNIGHT, .categoryName = _("Raven"), @@ -1078,19 +1095,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 0, .trainerScale = 348, .trainerOffset = 6, - .frontPic = gMonFrontPic_CorviknightGigantamax, + .frontPic = gMonFrontPic_CorviknightGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_CorviknightGigantamax, + .frontAnimFrames = sAnims_CorviknightGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_CorviknightGigantamax, + .backPic = gMonBackPic_CorviknightGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 3, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_CorviknightGigantamax, - .shinyPalette = gMonShinyPalette_CorviknightGigantamax, - .iconSprite = gMonIcon_CorviknightGigantamax, + .palette = gMonPalette_CorviknightGmax, + .shinyPalette = gMonShinyPalette_CorviknightGmax, + .iconSprite = gMonIcon_CorviknightGmax, .iconPalIndex = 0, + SHADOW(2, 8, SHADOW_SIZE_L) FOOTPRINT(Corviknight) .isGigantamax = TRUE, .levelUpLearnset = sCorviknightLevelUpLearnset, @@ -1148,6 +1166,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Blipbug, .iconSprite = gMonIcon_Blipbug, .iconPalIndex = 0, + SHADOW(2, 1, SHADOW_SIZE_S) FOOTPRINT(Blipbug) OVERWORLD( sPicTable_Blipbug, @@ -1212,6 +1231,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Dottler, .iconSprite = gMonIcon_Dottler, .iconPalIndex = 2, + SHADOW(-1, 0, SHADOW_SIZE_M) FOOTPRINT(Dottler) OVERWORLD( sPicTable_Dottler, @@ -1275,6 +1295,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Orbeetle, .iconSprite = gMonIcon_Orbeetle, .iconPalIndex = 0, + SHADOW(0, 15, SHADOW_SIZE_M) FOOTPRINT(Orbeetle) OVERWORLD( sPicTable_Orbeetle, @@ -1291,7 +1312,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_ORBEETLE_GIGANTAMAX] = + [SPECIES_ORBEETLE_GMAX] = { .baseHP = 60, .baseAttack = 45, @@ -1326,19 +1347,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 12, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_OrbeetleGigantamax, + .frontPic = gMonFrontPic_OrbeetleGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_OrbeetleGigantamax, + .frontAnimFrames = sAnims_OrbeetleGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_OrbeetleGigantamax, + .backPic = gMonBackPic_OrbeetleGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 6, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_OrbeetleGigantamax, - .shinyPalette = gMonShinyPalette_OrbeetleGigantamax, - .iconSprite = gMonIcon_OrbeetleGigantamax, + .palette = gMonPalette_OrbeetleGmax, + .shinyPalette = gMonShinyPalette_OrbeetleGmax, + .iconSprite = gMonIcon_OrbeetleGmax, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Orbeetle) .isGigantamax = TRUE, .levelUpLearnset = sOrbeetleLevelUpLearnset, @@ -1397,6 +1419,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Nickit, .iconSprite = gMonIcon_Nickit, .iconPalIndex = 2, + SHADOW(0, 4, SHADOW_SIZE_M) FOOTPRINT(Nickit) OVERWORLD( sPicTable_Nickit, @@ -1459,6 +1482,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Thievul, .iconSprite = gMonIcon_Thievul, .iconPalIndex = 2, + SHADOW(-9, 7, SHADOW_SIZE_M) FOOTPRINT(Thievul) OVERWORLD( sPicTable_Thievul, @@ -1521,6 +1545,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Gossifleur, .iconSprite = gMonIcon_Gossifleur, .iconPalIndex = 1, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Gossifleur) OVERWORLD( sPicTable_Gossifleur, @@ -1583,6 +1608,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Eldegoss, .iconSprite = gMonIcon_Eldegoss, .iconPalIndex = 1, + SHADOW(-2, 8, SHADOW_SIZE_S) FOOTPRINT(Eldegoss) OVERWORLD( sPicTable_Eldegoss, @@ -1645,6 +1671,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Wooloo, .iconSprite = gMonIcon_Wooloo, .iconPalIndex = 0, + SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Wooloo) OVERWORLD( sPicTable_Wooloo, @@ -1707,6 +1734,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Dubwool, .iconSprite = gMonIcon_Dubwool, .iconPalIndex = 2, + SHADOW(2, 8, SHADOW_SIZE_M) FOOTPRINT(Dubwool) OVERWORLD( sPicTable_Dubwool, @@ -1768,6 +1796,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Chewtle, .iconSprite = gMonIcon_Chewtle, .iconPalIndex = 0, + SHADOW(3, 1, SHADOW_SIZE_S) FOOTPRINT(Chewtle) OVERWORLD( sPicTable_Chewtle, @@ -1829,6 +1858,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Drednaw, .iconSprite = gMonIcon_Drednaw, .iconPalIndex = 0, + SHADOW(-2, 4, SHADOW_SIZE_L) FOOTPRINT(Drednaw) OVERWORLD( sPicTable_Drednaw, @@ -1845,7 +1875,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_DREDNAW_GIGANTAMAX] = + [SPECIES_DREDNAW_GMAX] = { .baseHP = 90, .baseAttack = 115, @@ -1879,19 +1909,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 7, .trainerScale = 257, .trainerOffset = 0, - .frontPic = gMonFrontPic_DrednawGigantamax, + .frontPic = gMonFrontPic_DrednawGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_DrednawGigantamax, + .frontAnimFrames = sAnims_DrednawGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_DrednawGigantamax, + .backPic = gMonBackPic_DrednawGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 12, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_DrednawGigantamax, - .shinyPalette = gMonShinyPalette_DrednawGigantamax, - .iconSprite = gMonIcon_DrednawGigantamax, + .palette = gMonPalette_DrednawGmax, + .shinyPalette = gMonShinyPalette_DrednawGmax, + .iconSprite = gMonIcon_DrednawGmax, .iconPalIndex = 0, + SHADOW(2, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Drednaw) .isGigantamax = TRUE, .levelUpLearnset = sDrednawLevelUpLearnset, @@ -1950,6 +1981,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Yamper, .iconSprite = gMonIcon_Yamper, .iconPalIndex = 1, + SHADOW(-1, 2, SHADOW_SIZE_M) FOOTPRINT(Yamper) OVERWORLD( sPicTable_Yamper, @@ -2012,6 +2044,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Boltund, .iconSprite = gMonIcon_Boltund, .iconPalIndex = 1, + SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Boltund) OVERWORLD( sPicTable_Boltund, @@ -2074,6 +2107,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Rolycoly, .iconSprite = gMonIcon_Rolycoly, .iconPalIndex = 0, + SHADOW(0, -3, SHADOW_SIZE_S) FOOTPRINT(Rolycoly) OVERWORLD( sPicTable_Rolycoly, @@ -2135,6 +2169,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Carkol, .iconSprite = gMonIcon_Carkol, .iconPalIndex = 0, + SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Carkol) OVERWORLD( sPicTable_Carkol, @@ -2196,6 +2231,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Coalossal, .iconSprite = gMonIcon_Coalossal, .iconPalIndex = 0, + SHADOW(1, 12, SHADOW_SIZE_L) FOOTPRINT(Coalossal) OVERWORLD( sPicTable_Coalossal, @@ -2212,7 +2248,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_COALOSSAL_GIGANTAMAX] = + [SPECIES_COALOSSAL_GMAX] = { .baseHP = 110, .baseAttack = 80, @@ -2246,19 +2282,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 7, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_CoalossalGigantamax, + .frontPic = gMonFrontPic_CoalossalGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_CoalossalGigantamax, + .frontAnimFrames = sAnims_CoalossalGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_CoalossalGigantamax, + .backPic = gMonBackPic_CoalossalGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 8, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_CoalossalGigantamax, - .shinyPalette = gMonShinyPalette_CoalossalGigantamax, - .iconSprite = gMonIcon_CoalossalGigantamax, + .palette = gMonPalette_CoalossalGmax, + .shinyPalette = gMonShinyPalette_CoalossalGmax, + .iconSprite = gMonIcon_CoalossalGmax, .iconPalIndex = 0, + SHADOW(1, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Coalossal) .isGigantamax = TRUE, .levelUpLearnset = sCoalossalLevelUpLearnset, @@ -2317,6 +2354,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Applin, .iconSprite = gMonIcon_Applin, .iconPalIndex = 1, + SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Applin) OVERWORLD( sPicTable_Applin, @@ -2382,6 +2420,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Flapple, .iconSprite = gMonIcon_Flapple, .iconPalIndex = 1, + SHADOW(-6, 11, SHADOW_SIZE_S) FOOTPRINT(Flapple) OVERWORLD( sPicTable_Flapple, @@ -2398,7 +2437,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_FLAPPLE_GIGANTAMAX] = + [SPECIES_FLAPPLE_GMAX] = { .baseHP = 70, .baseAttack = 110, @@ -2432,19 +2471,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 13, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_FlappleGigantamax, + .frontPic = gMonFrontPic_FlappleGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_FlappleGigantamax, + .frontAnimFrames = sAnims_FlappleGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_FlappleGigantamax, + .backPic = gMonBackPic_FlappleGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 2, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_FlappleGigantamax, - .shinyPalette = gMonShinyPalette_FlappleGigantamax, - .iconSprite = gMonIcon_FlappleGigantamax, + .palette = gMonPalette_FlappleGmax, + .shinyPalette = gMonShinyPalette_FlappleGmax, + .iconSprite = gMonIcon_FlappleGmax, .iconPalIndex = 1, + SHADOW(0, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Flapple) .isGigantamax = TRUE, .levelUpLearnset = sFlappleLevelUpLearnset, @@ -2500,6 +2540,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Appletun, .iconSprite = gMonIcon_Appletun, .iconPalIndex = 1, + SHADOW(5, 6, SHADOW_SIZE_L) FOOTPRINT(Appletun) OVERWORLD( sPicTable_Appletun, @@ -2516,7 +2557,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_APPLETUN_GIGANTAMAX] = + [SPECIES_APPLETUN_GMAX] = { .baseHP = 110, .baseAttack = 85, @@ -2550,19 +2591,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 12, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_AppletunGigantamax, + .frontPic = gMonFrontPic_AppletunGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, - .frontAnimFrames = sAnims_AppletunGigantamax, + .frontAnimFrames = sAnims_AppletunGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_AppletunGigantamax, + .backPic = gMonBackPic_AppletunGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 2, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_AppletunGigantamax, - .shinyPalette = gMonShinyPalette_AppletunGigantamax, - .iconSprite = gMonIcon_AppletunGigantamax, + .palette = gMonPalette_AppletunGmax, + .shinyPalette = gMonShinyPalette_AppletunGmax, + .iconSprite = gMonIcon_AppletunGmax, .iconPalIndex = 1, + SHADOW(0, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Appletun) .isGigantamax = TRUE, .levelUpLearnset = sAppletunLevelUpLearnset, @@ -2619,6 +2661,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Dipplin, .iconSprite = gMonIcon_Dipplin, .iconPalIndex = 1, + SHADOW(-4, 8, SHADOW_SIZE_S) FOOTPRINT(Dipplin) OVERWORLD( sPicTable_Dipplin, @@ -2680,6 +2723,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Hydrapple, .iconSprite = gMonIcon_Hydrapple, .iconPalIndex = 5, + SHADOW(1, 12, SHADOW_SIZE_L) FOOTPRINT(Hydrapple) OVERWORLD( sPicTable_Hydrapple, @@ -2742,6 +2786,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Silicobra, .iconSprite = gMonIcon_Silicobra, .iconPalIndex = 1, + SHADOW(3, 1, SHADOW_SIZE_M) FOOTPRINT(Silicobra) OVERWORLD( sPicTable_Silicobra, @@ -2804,6 +2849,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Sandaconda, .iconSprite = gMonIcon_Sandaconda, .iconPalIndex = 1, + SHADOW(2, -1, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Sandaconda) OVERWORLD( sPicTable_Sandaconda, @@ -2820,7 +2866,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_SANDACONDA_GIGANTAMAX] = + [SPECIES_SANDACONDA_GMAX] = { .baseHP = 72, .baseAttack = 107, @@ -2854,19 +2900,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 0, .trainerScale = 610, .trainerOffset = 17, - .frontPic = gMonFrontPic_SandacondaGigantamax, + .frontPic = gMonFrontPic_SandacondaGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_SandacondaGigantamax, + .frontAnimFrames = sAnims_SandacondaGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_SandacondaGigantamax, + .backPic = gMonBackPic_SandacondaGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 5, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_SandacondaGigantamax, - .shinyPalette = gMonShinyPalette_SandacondaGigantamax, - .iconSprite = gMonIcon_SandacondaGigantamax, + .palette = gMonPalette_SandacondaGmax, + .shinyPalette = gMonShinyPalette_SandacondaGmax, + .iconSprite = gMonIcon_SandacondaGmax, .iconPalIndex = 1, + SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Sandaconda) .isGigantamax = TRUE, .levelUpLearnset = sSandacondaLevelUpLearnset, @@ -2924,6 +2971,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Cramorant, .iconSprite = gMonIcon_Cramorant, .iconPalIndex = 0, + SHADOW(5, 14, SHADOW_SIZE_M) FOOTPRINT(Cramorant) OVERWORLD( sPicTable_Cramorant, @@ -2987,6 +3035,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_CramorantGulping, .iconSprite = gMonIcon_CramorantGulping, .iconPalIndex = 0, + SHADOW(5, 14, SHADOW_SIZE_M) FOOTPRINT(Cramorant) .levelUpLearnset = sCramorantLevelUpLearnset, .teachableLearnset = sCramorantTeachableLearnset, @@ -3042,6 +3091,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_CramorantGorging, .iconSprite = gMonIcon_CramorantGorging, .iconPalIndex = 0, + SHADOW(5, 14, SHADOW_SIZE_M) FOOTPRINT(Cramorant) .levelUpLearnset = sCramorantLevelUpLearnset, .teachableLearnset = sCramorantTeachableLearnset, @@ -3099,6 +3149,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Arrokuda, .iconSprite = gMonIcon_Arrokuda, .iconPalIndex = 2, + SHADOW(-1, -5, SHADOW_SIZE_S) FOOTPRINT(Arrokuda) OVERWORLD( sPicTable_Arrokuda, @@ -3133,7 +3184,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_NONE, ABILITY_PROPELLER_TAIL }, .bodyColor = BODY_COLOR_BROWN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Barraskewd", "Barraskewda"), + .speciesName = _("Barraskewda"), .cryId = CRY_BARRASKEWDA, .natDexNum = NATIONAL_DEX_BARRASKEWDA, .categoryName = _("Skewer"), @@ -3161,6 +3212,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Barraskewda, .iconSprite = gMonIcon_Barraskewda, .iconPalIndex = 2, + SHADOW(4, 5, SHADOW_SIZE_M) FOOTPRINT(Barraskewda) OVERWORLD( sPicTable_Barraskewda, @@ -3223,6 +3275,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Toxel, .iconSprite = gMonIcon_Toxel, .iconPalIndex = 2, + SHADOW(-2, 1, SHADOW_SIZE_M) FOOTPRINT(Toxel) OVERWORLD( sPicTable_Toxel, @@ -3286,6 +3339,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_ToxtricityAmped, .iconSprite = gMonIcon_ToxtricityAmped, .iconPalIndex = 2, + SHADOW(-6, 13, SHADOW_SIZE_M) FOOTPRINT(Toxtricity) OVERWORLD( sPicTable_ToxtricityAmped, @@ -3302,7 +3356,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_TOXTRICITY_AMPED_GIGANTAMAX] = + [SPECIES_TOXTRICITY_AMPED_GMAX] = { .baseHP = 75, .baseAttack = 98, @@ -3332,19 +3386,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 1, .trainerScale = 296, .trainerOffset = 1, - .frontPic = gMonFrontPic_ToxtricityGigantamax, + .frontPic = gMonFrontPic_ToxtricityGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_ToxtricityGigantamax, + .frontAnimFrames = sAnims_ToxtricityGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_ToxtricityGigantamax, + .backPic = gMonBackPic_ToxtricityGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 0, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_ToxtricityGigantamax, - .shinyPalette = gMonShinyPalette_ToxtricityGigantamax, - .iconSprite = gMonIcon_ToxtricityGigantamax, + .palette = gMonPalette_ToxtricityGmax, + .shinyPalette = gMonShinyPalette_ToxtricityGmax, + .iconSprite = gMonIcon_ToxtricityGmax, .iconPalIndex = 0, + SHADOW(1, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Toxtricity) .isGigantamax = TRUE, .levelUpLearnset = sToxtricityAmpedLevelUpLearnset, @@ -3400,6 +3455,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_ToxtricityLowKey, .iconSprite = gMonIcon_ToxtricityLowKey, .iconPalIndex = 2, + SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Toxtricity) OVERWORLD( sPicTable_ToxtricityLowKey, @@ -3416,7 +3472,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX] = + [SPECIES_TOXTRICITY_LOW_KEY_GMAX] = { .baseHP = 75, .baseAttack = 98, @@ -3446,19 +3502,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 1, .trainerScale = 296, .trainerOffset = 1, - .frontPic = gMonFrontPic_ToxtricityGigantamax, + .frontPic = gMonFrontPic_ToxtricityGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_ToxtricityGigantamax, + .frontAnimFrames = sAnims_ToxtricityGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_ToxtricityGigantamax, + .backPic = gMonBackPic_ToxtricityGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 0, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_ToxtricityGigantamax, - .shinyPalette = gMonShinyPalette_ToxtricityGigantamax, - .iconSprite = gMonIcon_ToxtricityGigantamax, + .palette = gMonPalette_ToxtricityGmax, + .shinyPalette = gMonShinyPalette_ToxtricityGmax, + .iconSprite = gMonIcon_ToxtricityGmax, .iconPalIndex = 0, + SHADOW(1, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Toxtricity) .isGigantamax = TRUE, .levelUpLearnset = sToxtricityLowKeyLevelUpLearnset, @@ -3516,6 +3573,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Sizzlipede, .iconSprite = gMonIcon_Sizzlipede, .iconPalIndex = 0, + SHADOW(6, -4, SHADOW_SIZE_S) FOOTPRINT(Sizzlipede) OVERWORLD( sPicTable_Sizzlipede, @@ -3550,7 +3608,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_FLASH_FIRE, ABILITY_WHITE_SMOKE, ABILITY_FLAME_BODY }, .bodyColor = BODY_COLOR_RED, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Centiskorc", "Centiskorch"), + .speciesName = _("Centiskorch"), .cryId = CRY_CENTISKORCH, .natDexNum = NATIONAL_DEX_CENTISKORCH, .categoryName = _("Radiator"), @@ -3578,6 +3636,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Centiskorch, .iconSprite = gMonIcon_Centiskorch, .iconPalIndex = 0, + SHADOW(-3, 7, SHADOW_SIZE_M) FOOTPRINT(Centiskorch) OVERWORLD( sPicTable_Centiskorch, @@ -3594,7 +3653,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_CENTISKORCH_GIGANTAMAX] = + [SPECIES_CENTISKORCH_GMAX] = { .baseHP = 100, .baseAttack = 115, @@ -3613,7 +3672,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_FLASH_FIRE, ABILITY_WHITE_SMOKE, ABILITY_FLAME_BODY }, .bodyColor = BODY_COLOR_RED, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Centiskorc", "Centiskorch"), + .speciesName = _("Centiskorch"), .cryId = CRY_CENTISKORCH, .natDexNum = NATIONAL_DEX_CENTISKORCH, .categoryName = _("Radiator"), @@ -3628,19 +3687,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 7, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_CentiskorchGigantamax, + .frontPic = gMonFrontPic_CentiskorchGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 5, - .frontAnimFrames = sAnims_CentiskorchGigantamax, + .frontAnimFrames = sAnims_CentiskorchGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_CentiskorchGigantamax, + .backPic = gMonBackPic_CentiskorchGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 1, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_CentiskorchGigantamax, - .shinyPalette = gMonShinyPalette_CentiskorchGigantamax, - .iconSprite = gMonIcon_CentiskorchGigantamax, + .palette = gMonPalette_CentiskorchGmax, + .shinyPalette = gMonShinyPalette_CentiskorchGmax, + .iconSprite = gMonIcon_CentiskorchGmax, .iconPalIndex = 0, + SHADOW(6, 9, SHADOW_SIZE_L) FOOTPRINT(Centiskorch) .isGigantamax = TRUE, .levelUpLearnset = sCentiskorchLevelUpLearnset, @@ -3699,6 +3759,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Clobbopus, .iconSprite = gMonIcon_Clobbopus, .iconPalIndex = 0, + SHADOW(1, -2, SHADOW_SIZE_S) FOOTPRINT(Clobbopus) OVERWORLD( sPicTable_Clobbopus, @@ -3760,6 +3821,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Grapploct, .iconSprite = gMonIcon_Grapploct, .iconPalIndex = 2, + SHADOW(4, 9, SHADOW_SIZE_M) FOOTPRINT(Grapploct) OVERWORLD( sPicTable_Grapploct, @@ -3822,6 +3884,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Sinistea, .iconSprite = gMonIcon_Sinistea, .iconPalIndex = 2, + SHADOW(3, 3, SHADOW_SIZE_S) FOOTPRINT(Sinistea) OVERWORLD( sPicTable_Sinistea, @@ -3885,6 +3948,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Sinistea, .iconSprite = gMonIcon_Sinistea, .iconPalIndex = 2, + SHADOW(3, 4, SHADOW_SIZE_S) FOOTPRINT(Sinistea) OVERWORLD( sPicTable_Sinistea, @@ -3919,7 +3983,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_WEAK_ARMOR, ABILITY_NONE, ABILITY_CURSED_BODY }, .bodyColor = BODY_COLOR_PURPLE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Polteageis", "Polteageist"), + .speciesName = _("Polteageist"), .cryId = CRY_POLTEAGEIST, .natDexNum = NATIONAL_DEX_POLTEAGEIST, .categoryName = _("Black Tea"), @@ -3947,6 +4011,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Polteageist, .iconSprite = gMonIcon_Polteageist, .iconPalIndex = 2, + SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Polteageist) OVERWORLD( sPicTable_Polteageist, @@ -3980,7 +4045,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_WEAK_ARMOR, ABILITY_NONE, ABILITY_CURSED_BODY }, .bodyColor = BODY_COLOR_PURPLE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Polteageis", "Polteageist"), + .speciesName = _("Polteageist"), .cryId = CRY_POLTEAGEIST, .natDexNum = NATIONAL_DEX_POLTEAGEIST, .categoryName = _("Black Tea"), @@ -4009,6 +4074,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Polteageist, .iconSprite = gMonIcon_Polteageist, .iconPalIndex = 2, + SHADOW(0, 11, SHADOW_SIZE_S) FOOTPRINT(Polteageist) OVERWORLD( sPicTable_Polteageist, @@ -4072,6 +4138,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Hatenna, .iconSprite = gMonIcon_Hatenna, .iconPalIndex = 0, + SHADOW(0, 1, SHADOW_SIZE_M) FOOTPRINT(Hatenna) OVERWORLD( sPicTable_Hatenna, @@ -4133,6 +4200,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Hattrem, .iconSprite = gMonIcon_Hattrem, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Hattrem) OVERWORLD( sPicTable_Hattrem, @@ -4193,6 +4261,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Hatterene, .iconSprite = gMonIcon_Hatterene, .iconPalIndex = 0, + SHADOW(6, 13, SHADOW_SIZE_S) FOOTPRINT(Hatterene) OVERWORLD( sPicTable_Hatterene, @@ -4209,7 +4278,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_HATTERENE_GIGANTAMAX] = + [SPECIES_HATTERENE_GMAX] = { .baseHP = 57, .baseAttack = 90, @@ -4243,19 +4312,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 0, .trainerScale = 365, .trainerOffset = 7, - .frontPic = gMonFrontPic_HattereneGigantamax, + .frontPic = gMonFrontPic_HattereneGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_HattereneGigantamax, + .frontAnimFrames = sAnims_HattereneGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_HattereneGigantamax, + .backPic = gMonBackPic_HattereneGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 3, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_HattereneGigantamax, - .shinyPalette = gMonShinyPalette_HattereneGigantamax, - .iconSprite = gMonIcon_HattereneGigantamax, + .palette = gMonPalette_HattereneGmax, + .shinyPalette = gMonShinyPalette_HattereneGmax, + .iconSprite = gMonIcon_HattereneGmax, .iconPalIndex = 0, + SHADOW(-3, 13, SHADOW_SIZE_S) FOOTPRINT(Hatterene) .isGigantamax = TRUE, .levelUpLearnset = sHattereneLevelUpLearnset, @@ -4314,6 +4384,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Impidimp, .iconSprite = gMonIcon_Impidimp, .iconPalIndex = 0, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Impidimp) OVERWORLD( sPicTable_Impidimp, @@ -4375,6 +4446,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Morgrem, .iconSprite = gMonIcon_Morgrem, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Morgrem) OVERWORLD( sPicTable_Morgrem, @@ -4436,6 +4508,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Grimmsnarl, .iconSprite = gMonIcon_Grimmsnarl, .iconPalIndex = 0, + SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Grimmsnarl) OVERWORLD( sPicTable_Grimmsnarl, @@ -4452,7 +4525,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_GRIMMSNARL_GIGANTAMAX] = + [SPECIES_GRIMMSNARL_GMAX] = { .baseHP = 95, .baseAttack = 120, @@ -4486,19 +4559,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 2, .trainerScale = 271, .trainerOffset = 0, - .frontPic = gMonFrontPic_GrimmsnarlGigantamax, + .frontPic = gMonFrontPic_GrimmsnarlGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 1, - .frontAnimFrames = sAnims_GrimmsnarlGigantamax, + .frontAnimFrames = sAnims_GrimmsnarlGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_GrimmsnarlGigantamax, + .backPic = gMonBackPic_GrimmsnarlGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 10, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_GrimmsnarlGigantamax, - .shinyPalette = gMonShinyPalette_GrimmsnarlGigantamax, - .iconSprite = gMonIcon_GrimmsnarlGigantamax, + .palette = gMonPalette_GrimmsnarlGmax, + .shinyPalette = gMonShinyPalette_GrimmsnarlGmax, + .iconSprite = gMonIcon_GrimmsnarlGmax, .iconPalIndex = 0, + SHADOW(0, 14, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Grimmsnarl) .isGigantamax = TRUE, .levelUpLearnset = sGrimmsnarlLevelUpLearnset, @@ -4557,6 +4631,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Milcery, .iconSprite = gMonIcon_Milcery, .iconPalIndex = 1, + SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Milcery) OVERWORLD( sPicTable_Milcery, @@ -4626,6 +4701,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Alcremie ##sweet, \ .iconSprite = gMonIcon_AlcremieStrawberryVanillaCream, /*AlcremieStrawberry##cream##*/ \ .iconPalIndex = 1, \ + SHADOW(0, 5, SHADOW_SIZE_S) \ FOOTPRINT(Alcremie) \ OVERWORLD( \ sPicTable_AlcremieStrawberry, /*Alcremie ##sweet*/ \ @@ -4705,7 +4781,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = [SPECIES_ALCREMIE_RIBBON_CARAMEL_SWIRL] = ALCREMIE_REGULAR_SPECIES_INFO(Ribbon, CaramelSwirl, BODY_COLOR_BROWN), [SPECIES_ALCREMIE_RIBBON_RAINBOW_SWIRL] = ALCREMIE_REGULAR_SPECIES_INFO(Ribbon, RainbowSwirl, BODY_COLOR_YELLOW), #if P_GIGANTAMAX_FORMS - [SPECIES_ALCREMIE_GIGANTAMAX] = + [SPECIES_ALCREMIE_GMAX] = { ALCREMIE_MISC_INFO(BODY_COLOR_YELLOW), .speciesName = _("Alcremie"), @@ -4723,19 +4799,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 13, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_AlcremieGigantamax, + .frontPic = gMonFrontPic_AlcremieGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_AlcremieGigantamax, + .frontAnimFrames = sAnims_AlcremieGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_AlcremieGigantamax, + .backPic = gMonBackPic_AlcremieGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 9, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_AlcremieGigantamax, - .shinyPalette = gMonShinyPalette_AlcremieGigantamax, - .iconSprite = gMonIcon_AlcremieGigantamax, + .palette = gMonPalette_AlcremieGmax, + .shinyPalette = gMonShinyPalette_AlcremieGmax, + .iconSprite = gMonIcon_AlcremieGmax, .iconPalIndex = 1, + SHADOW(0, 10, SHADOW_SIZE_L) FOOTPRINT(Alcremie) .isGigantamax = TRUE, .levelUpLearnset = sAlcremieLevelUpLearnset, @@ -4793,6 +4870,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Falinks, .iconSprite = gMonIcon_Falinks, .iconPalIndex = 0, + SHADOW(-7, 5, SHADOW_SIZE_S) FOOTPRINT(Falinks) OVERWORLD( sPicTable_Falinks, @@ -4854,6 +4932,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Pincurchin, .iconSprite = gMonIcon_Pincurchin, .iconPalIndex = 2, + SHADOW(-1, -4, SHADOW_SIZE_S) FOOTPRINT(Pincurchin) OVERWORLD( sPicTable_Pincurchin, @@ -4918,6 +4997,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Snom, .iconSprite = gMonIcon_Snom, .iconPalIndex = 0, + SHADOW(-2, -7, SHADOW_SIZE_S) FOOTPRINT(Snom) OVERWORLD( sPicTable_Snom, @@ -4981,6 +5061,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Frosmoth, .iconSprite = gMonIcon_Frosmoth, .iconPalIndex = 0, + SHADOW(-7, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Frosmoth) OVERWORLD( sPicTable_Frosmoth, @@ -5015,7 +5096,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_POWER_SPOT, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Stonjourne", "Stonjourner"), + .speciesName = _("Stonjourner"), .cryId = CRY_STONJOURNER, .natDexNum = NATIONAL_DEX_STONJOURNER, .categoryName = _("Big Rock"), @@ -5043,6 +5124,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Stonjourner, .iconSprite = gMonIcon_Stonjourner, .iconPalIndex = 2, + SHADOW(0, 10, SHADOW_SIZE_L) FOOTPRINT(Stonjourner) OVERWORLD( sPicTable_Stonjourner, @@ -5059,7 +5141,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = #endif //P_FAMILY_STONJOURNER #if P_FAMILY_EISCUE - [SPECIES_EISCUE_ICE_FACE] = + [SPECIES_EISCUE_ICE] = { .baseHP = 75, .baseAttack = 80, @@ -5079,7 +5161,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .abilities = { ABILITY_ICE_FACE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Eiscue"), - .cryId = CRY_EISCUE_ICE_FACE, + .cryId = CRY_EISCUE_ICE, .natDexNum = NATIONAL_DEX_EISCUE, .categoryName = _("Penguin"), .height = 14, @@ -5093,27 +5175,28 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 2, .trainerScale = 262, .trainerOffset = 0, - .frontPic = gMonFrontPic_EiscueIceFace, + .frontPic = gMonFrontPic_EiscueIce, .frontPicSize = MON_COORDS_SIZE(40, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Eiscue, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_EiscueIceFace, + .backPic = gMonBackPic_EiscueIce, .backPicSize = MON_COORDS_SIZE(48, 64), .backPicYOffset = 0, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_EiscueIceFace, - .shinyPalette = gMonShinyPalette_EiscueIceFace, - .iconSprite = gMonIcon_EiscueIceFace, + .palette = gMonPalette_EiscueIce, + .shinyPalette = gMonShinyPalette_EiscueIce, + .iconSprite = gMonIcon_EiscueIce, .iconPalIndex = 0, + SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Eiscue) OVERWORLD( - sPicTable_EiscueIceFace, + sPicTable_EiscueIce, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_EiscueIceFace, - gShinyOverworldPalette_EiscueIceFace + gOverworldPalette_EiscueIce, + gShinyOverworldPalette_EiscueIce ) .levelUpLearnset = sEiscueLevelUpLearnset, .teachableLearnset = sEiscueTeachableLearnset, @@ -5122,7 +5205,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .formChangeTable = sEiscueFormChangeTable, }, - [SPECIES_EISCUE_NOICE_FACE] = + [SPECIES_EISCUE_NOICE] = { .baseHP = 75, .baseAttack = 80, @@ -5156,19 +5239,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 2, .trainerScale = 262, .trainerOffset = 0, - .frontPic = gMonFrontPic_EiscueNoiceFace, + .frontPic = gMonFrontPic_EiscueNoice, .frontPicSize = MON_COORDS_SIZE(40, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Eiscue, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_EiscueNoiceFace, + .backPic = gMonBackPic_EiscueNoice, .backPicSize = MON_COORDS_SIZE(40, 64), .backPicYOffset = 0, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_EiscueNoiceFace, - .shinyPalette = gMonShinyPalette_EiscueNoiceFace, - .iconSprite = gMonIcon_EiscueNoiceFace, + .palette = gMonPalette_EiscueNoice, + .shinyPalette = gMonShinyPalette_EiscueNoice, + .iconSprite = gMonIcon_EiscueNoice, .iconPalIndex = 0, + SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Eiscue) .levelUpLearnset = sEiscueLevelUpLearnset, .teachableLearnset = sEiscueTeachableLearnset, @@ -5179,7 +5263,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = #endif //P_FAMILY_EISCUE #if P_FAMILY_INDEEDEE - [SPECIES_INDEEDEE_MALE] = + [SPECIES_INDEEDEE_M] = { .baseHP = 60, .baseAttack = 65, @@ -5199,7 +5283,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .abilities = { ABILITY_INNER_FOCUS, ABILITY_SYNCHRONIZE, ABILITY_PSYCHIC_SURGE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Indeedee"), - .cryId = CRY_INDEEDEE_MALE, + .cryId = CRY_INDEEDEE_M, .natDexNum = NATIONAL_DEX_INDEEDEE, .categoryName = _("Emotion"), .height = 9, @@ -5213,34 +5297,35 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 8, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_IndeedeeMale, + .frontPic = gMonFrontPic_IndeedeeM, .frontPicSize = MON_COORDS_SIZE(40, 56), .frontPicYOffset = 9, .frontAnimFrames = sAnims_Indeedee, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_IndeedeeMale, + .backPic = gMonBackPic_IndeedeeM, .backPicSize = MON_COORDS_SIZE(56, 56), .backPicYOffset = 7, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_IndeedeeMale, - .shinyPalette = gMonShinyPalette_IndeedeeMale, - .iconSprite = gMonIcon_IndeedeeMale, + .palette = gMonPalette_IndeedeeM, + .shinyPalette = gMonShinyPalette_IndeedeeM, + .iconSprite = gMonIcon_IndeedeeM, .iconPalIndex = 2, + SHADOW(2, 4, SHADOW_SIZE_S) FOOTPRINT(Indeedee) OVERWORLD( - sPicTable_IndeedeeMale, + sPicTable_IndeedeeM, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_IndeedeeMale, - gShinyOverworldPalette_IndeedeeMale + gOverworldPalette_IndeedeeM, + gShinyOverworldPalette_IndeedeeM ) - .levelUpLearnset = sIndeedeeMaleLevelUpLearnset, - .teachableLearnset = sIndeedeeMaleTeachableLearnset, + .levelUpLearnset = sIndeedeeMLevelUpLearnset, + .teachableLearnset = sIndeedeeMTeachableLearnset, .formSpeciesIdTable = sIndeedeeFormSpeciesIdTable, }, - [SPECIES_INDEEDEE_FEMALE] = + [SPECIES_INDEEDEE_F] = { .baseHP = 70, .baseAttack = 55, @@ -5260,7 +5345,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .abilities = { ABILITY_OWN_TEMPO, ABILITY_SYNCHRONIZE, ABILITY_PSYCHIC_SURGE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Indeedee"), - .cryId = CRY_INDEEDEE_FEMALE, + .cryId = CRY_INDEEDEE_F, .natDexNum = NATIONAL_DEX_INDEEDEE, .categoryName = _("Emotion"), .height = 9, @@ -5274,31 +5359,32 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 8, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_IndeedeeFemale, + .frontPic = gMonFrontPic_IndeedeeF, .frontPicSize = MON_COORDS_SIZE(40, 48), .frontPicYOffset = 9, .frontAnimFrames = sAnims_Indeedee, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_IndeedeeFemale, + .backPic = gMonBackPic_IndeedeeF, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 7, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_IndeedeeFemale, - .shinyPalette = gMonShinyPalette_IndeedeeFemale, - .iconSprite = gMonIcon_IndeedeeFemale, + .palette = gMonPalette_IndeedeeF, + .shinyPalette = gMonShinyPalette_IndeedeeF, + .iconSprite = gMonIcon_IndeedeeF, .iconPalIndex = 2, + SHADOW(2, 4, SHADOW_SIZE_S) FOOTPRINT(Indeedee) OVERWORLD( - sPicTable_IndeedeeFemale, + sPicTable_IndeedeeF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_IndeedeeFemale, - gShinyOverworldPalette_IndeedeeFemale + gOverworldPalette_IndeedeeF, + gShinyOverworldPalette_IndeedeeF ) - .levelUpLearnset = sIndeedeeFemaleLevelUpLearnset, - .teachableLearnset = sIndeedeeFemaleTeachableLearnset, - .eggMoveLearnset = sIndeedeeFemaleEggMoveLearnset, + .levelUpLearnset = sIndeedeeFLevelUpLearnset, + .teachableLearnset = sIndeedeeFTeachableLearnset, + .eggMoveLearnset = sIndeedeeFEggMoveLearnset, .formSpeciesIdTable = sIndeedeeFormSpeciesIdTable, }, #endif //P_FAMILY_INDEEDEE @@ -5351,6 +5437,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_MorpekoFullBelly, .iconSprite = gMonIcon_MorpekoFullBelly, .iconPalIndex = 2, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Morpeko) OVERWORLD( sPicTable_MorpekoFullBelly, @@ -5414,6 +5501,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_MorpekoHangry, .iconSprite = gMonIcon_MorpekoHangry, .iconPalIndex = 2, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Morpeko) .levelUpLearnset = sMorpekoLevelUpLearnset, .teachableLearnset = sMorpekoTeachableLearnset, @@ -5472,6 +5560,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Cufant, .iconSprite = gMonIcon_Cufant, .iconPalIndex = 0, + SHADOW(5, 2, SHADOW_SIZE_M) FOOTPRINT(Cufant) OVERWORLD( sPicTable_Cufant, @@ -5534,6 +5623,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Copperajah, .iconSprite = gMonIcon_Copperajah, .iconPalIndex = 0, + SHADOW(6, 7, SHADOW_SIZE_L) FOOTPRINT(Copperajah) OVERWORLD( sPicTable_Copperajah, @@ -5550,7 +5640,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_COPPERAJAH_GIGANTAMAX] = + [SPECIES_COPPERAJAH_GMAX] = { .baseHP = 122, .baseAttack = 130, @@ -5585,19 +5675,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 7, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_CopperajahGigantamax, + .frontPic = gMonFrontPic_CopperajahGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 2, - .frontAnimFrames = sAnims_CopperajahGigantamax, + .frontAnimFrames = sAnims_CopperajahGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_CopperajahGigantamax, + .backPic = gMonBackPic_CopperajahGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 7, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_CopperajahGigantamax, - .shinyPalette = gMonShinyPalette_CopperajahGigantamax, - .iconSprite = gMonIcon_CopperajahGigantamax, + .palette = gMonPalette_CopperajahGmax, + .shinyPalette = gMonShinyPalette_CopperajahGmax, + .iconSprite = gMonIcon_CopperajahGmax, .iconPalIndex = 0, + SHADOW(0, 11, SHADOW_SIZE_L) FOOTPRINT(Copperajah) .isGigantamax = TRUE, .levelUpLearnset = sCopperajahLevelUpLearnset, @@ -5656,6 +5747,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Dracozolt, .iconSprite = gMonIcon_Dracozolt, .iconPalIndex = 1, + SHADOW(-4, 10, SHADOW_SIZE_L) FOOTPRINT(Dracozolt) OVERWORLD( sPicTable_Dracozolt, @@ -5717,6 +5809,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Arctozolt, .iconSprite = gMonIcon_Arctozolt, .iconPalIndex = 0, + SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Arctozolt) OVERWORLD( sPicTable_Arctozolt, @@ -5779,6 +5872,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Dracovish, .iconSprite = gMonIcon_Dracovish, .iconPalIndex = 0, + SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Dracovish) OVERWORLD( sPicTable_Dracovish, @@ -5841,6 +5935,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Arctovish, .iconSprite = gMonIcon_Arctovish, .iconPalIndex = 0, + SHADOW(0, 11, SHADOW_SIZE_L) FOOTPRINT(Arctovish) OVERWORLD( sPicTable_Arctovish, @@ -5902,6 +5997,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Duraludon, .iconSprite = gMonIcon_Duraludon, .iconPalIndex = 0, + SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Duraludon) OVERWORLD( sPicTable_Duraludon, @@ -5920,7 +6016,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #if P_GIGANTAMAX_FORMS - [SPECIES_DURALUDON_GIGANTAMAX] = + [SPECIES_DURALUDON_GMAX] = { .baseHP = 70, .baseAttack = 95, @@ -5954,19 +6050,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 2, .trainerScale = 286, .trainerOffset = 1, - .frontPic = gMonFrontPic_DuraludonGigantamax, + .frontPic = gMonFrontPic_DuraludonGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_DuraludonGigantamax, + .frontAnimFrames = sAnims_DuraludonGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_DuraludonGigantamax, + .backPic = gMonBackPic_DuraludonGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 0, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_DuraludonGigantamax, - .shinyPalette = gMonShinyPalette_DuraludonGigantamax, - .iconSprite = gMonIcon_DuraludonGigantamax, + .palette = gMonPalette_DuraludonGmax, + .shinyPalette = gMonShinyPalette_DuraludonGmax, + .iconSprite = gMonIcon_DuraludonGmax, .iconPalIndex = 0, + SHADOW(3, 12, SHADOW_SIZE_L) FOOTPRINT(Duraludon) .isGigantamax = TRUE, .levelUpLearnset = sDuraludonLevelUpLearnset, @@ -6025,6 +6122,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Archaludon, .iconSprite = gMonIcon_Archaludon, .iconPalIndex = 0, + SHADOW(4, 14, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Archaludon) OVERWORLD( sPicTable_Archaludon, @@ -6089,6 +6187,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Dreepy, .iconSprite = gMonIcon_Dreepy, .iconPalIndex = 0, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Dreepy) OVERWORLD( sPicTable_Dreepy, @@ -6151,6 +6250,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Drakloak, .iconSprite = gMonIcon_Drakloak, .iconPalIndex = 0, + SHADOW(0, 9, SHADOW_SIZE_M) FOOTPRINT(Drakloak) OVERWORLD( sPicTable_Drakloak, @@ -6213,6 +6313,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Dragapult, .iconSprite = gMonIcon_Dragapult, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Dragapult) OVERWORLD( sPicTable_Dragapult, @@ -6228,7 +6329,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = #endif //P_FAMILY_DREEPY #if P_FAMILY_ZACIAN - [SPECIES_ZACIAN_HERO_OF_MANY_BATTLES] = + [SPECIES_ZACIAN_HERO] = { .baseHP = 92, .baseAttack = P_UPDATED_STATS >= GEN_9 ? 120 : 130, @@ -6248,7 +6349,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .abilities = { ABILITY_INTREPID_SWORD, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Zacian"), - .cryId = CRY_ZACIAN_HERO_OF_MANY_BATTLES, + .cryId = CRY_ZACIAN_HERO, .natDexNum = NATIONAL_DEX_ZACIAN, .categoryName = _("Warrior"), .height = 28, @@ -6261,37 +6362,39 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 7, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_ZacianHeroOfManyBattles, + .frontPic = gMonFrontPic_ZacianHero, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 3, .frontAnimFrames = sAnims_Zacian, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_ZacianHeroOfManyBattles, + .backPic = gMonBackPic_ZacianHero, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 6, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_ZacianHeroOfManyBattles, - .shinyPalette = gMonShinyPalette_ZacianHeroOfManyBattles, - .iconSprite = gMonIcon_ZacianHeroOfManyBattles, + .palette = gMonPalette_ZacianHero, + .shinyPalette = gMonShinyPalette_ZacianHero, + .iconSprite = gMonIcon_ZacianHero, .iconPalIndex = 2, + SHADOW(-1, 9, SHADOW_SIZE_L) FOOTPRINT(Zacian) OVERWORLD( - sPicTable_ZacianHeroOfManyBattles, + sPicTable_ZacianHero, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_ZacianHeroOfManyBattles, - gShinyOverworldPalette_ZacianHeroOfManyBattles + gOverworldPalette_ZacianHero, + gShinyOverworldPalette_ZacianHero ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sZacianLevelUpLearnset, .teachableLearnset = sZacianTeachableLearnset, .formSpeciesIdTable = sZacianFormSpeciesIdTable, .formChangeTable = sZacianFormChangeTable, }, - [SPECIES_ZACIAN_CROWNED_SWORD] = + [SPECIES_ZACIAN_CROWNED] = { .baseHP = 92, .baseAttack = P_UPDATED_STATS >= GEN_9 ? 150 : 170, @@ -6311,7 +6414,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .abilities = { ABILITY_INTREPID_SWORD, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Zacian"), - .cryId = CRY_ZACIAN_CROWNED_SWORD, + .cryId = CRY_ZACIAN_CROWNED, .natDexNum = NATIONAL_DEX_ZACIAN, .categoryName = _("Warrior"), .height = 28, @@ -6325,30 +6428,32 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 7, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_ZacianCrownedSword, + .frontPic = gMonFrontPic_ZacianCrowned, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Zacian, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_ZacianCrownedSword, + .backPic = gMonBackPic_ZacianCrowned, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 6, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_ZacianCrownedSword, - .shinyPalette = gMonShinyPalette_ZacianCrownedSword, - .iconSprite = gMonIcon_ZacianCrownedSword, + .palette = gMonPalette_ZacianCrowned, + .shinyPalette = gMonShinyPalette_ZacianCrowned, + .iconSprite = gMonIcon_ZacianCrowned, .iconPalIndex = 2, + SHADOW(-3, 12, SHADOW_SIZE_L) FOOTPRINT(Zacian) OVERWORLD( - sPicTable_ZacianCrownedSword, + sPicTable_ZacianCrowned, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_ZacianCrownedSword, - gShinyOverworldPalette_ZacianCrownedSword + gOverworldPalette_ZacianCrowned, + gShinyOverworldPalette_ZacianCrowned ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sZacianLevelUpLearnset, .teachableLearnset = sZacianTeachableLearnset, .formSpeciesIdTable = sZacianFormSpeciesIdTable, @@ -6357,7 +6462,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = #endif //P_FAMILY_ZACIAN #if P_FAMILY_ZAMAZENTA - [SPECIES_ZAMAZENTA_HERO_OF_MANY_BATTLES] = + [SPECIES_ZAMAZENTA_HERO] = { .baseHP = 92, .baseAttack = P_UPDATED_STATS >= GEN_9 ? 120 : 130, @@ -6377,7 +6482,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .abilities = { ABILITY_DAUNTLESS_SHIELD, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Zamazenta"), - .cryId = CRY_ZAMAZENTA_HERO_OF_MANY_BATTLES, + .cryId = CRY_ZAMAZENTA_HERO, .natDexNum = NATIONAL_DEX_ZAMAZENTA, .categoryName = _("Warrior"), .height = 29, @@ -6391,37 +6496,39 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 7, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_ZamazentaHeroOfManyBattles, + .frontPic = gMonFrontPic_ZamazentaHero, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Zamazenta, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_ZamazentaHeroOfManyBattles, + .backPic = gMonBackPic_ZamazentaHero, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 5, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_ZamazentaHeroOfManyBattles, - .shinyPalette = gMonShinyPalette_ZamazentaHeroOfManyBattles, - .iconSprite = gMonIcon_ZamazentaHeroOfManyBattles, + .palette = gMonPalette_ZamazentaHero, + .shinyPalette = gMonShinyPalette_ZamazentaHero, + .iconSprite = gMonIcon_ZamazentaHero, .iconPalIndex = 2, + SHADOW(-1, 12, SHADOW_SIZE_L) FOOTPRINT(Zamazenta) OVERWORLD( - sPicTable_ZamazentaHeroOfManyBattles, + sPicTable_ZamazentaHero, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_ZamazentaHeroOfManyBattles, - gShinyOverworldPalette_ZamazentaHeroOfManyBattles + gOverworldPalette_ZamazentaHero, + gShinyOverworldPalette_ZamazentaHero ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sZamazentaLevelUpLearnset, .teachableLearnset = sZamazentaTeachableLearnset, .formSpeciesIdTable = sZamazentaFormSpeciesIdTable, .formChangeTable = sZamazentaFormChangeTable, }, - [SPECIES_ZAMAZENTA_CROWNED_SHIELD] = + [SPECIES_ZAMAZENTA_CROWNED] = { .baseHP = 92, .baseAttack = P_UPDATED_STATS >= GEN_9 ? 120 : 130, @@ -6441,7 +6548,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .abilities = { ABILITY_DAUNTLESS_SHIELD, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Zamazenta"), - .cryId = CRY_ZAMAZENTA_CROWNED_SHIELD, + .cryId = CRY_ZAMAZENTA_CROWNED, .natDexNum = NATIONAL_DEX_ZAMAZENTA, .categoryName = _("Warrior"), .height = 29, @@ -6455,30 +6562,32 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 7, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_ZamazentaCrownedShield, + .frontPic = gMonFrontPic_ZamazentaCrowned, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Zamazenta, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_ZamazentaCrownedShield, + .backPic = gMonBackPic_ZamazentaCrowned, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 3, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_ZamazentaCrownedShield, - .shinyPalette = gMonShinyPalette_ZamazentaCrownedShield, - .iconSprite = gMonIcon_ZamazentaCrownedShield, + .palette = gMonPalette_ZamazentaCrowned, + .shinyPalette = gMonShinyPalette_ZamazentaCrowned, + .iconSprite = gMonIcon_ZamazentaCrowned, .iconPalIndex = 2, + SHADOW(0, 12, SHADOW_SIZE_L) FOOTPRINT(Zamazenta) OVERWORLD( - sPicTable_ZamazentaCrownedShield, + sPicTable_ZamazentaCrowned, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_ZamazentaCrownedShield, - gShinyOverworldPalette_ZamazentaCrownedShield + gOverworldPalette_ZamazentaCrowned, + gShinyOverworldPalette_ZamazentaCrowned ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sZamazentaLevelUpLearnset, .teachableLearnset = sZamazentaTeachableLearnset, .formSpeciesIdTable = sZamazentaFormSpeciesIdTable, @@ -6535,6 +6644,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Eternatus, .iconSprite = gMonIcon_Eternatus, .iconPalIndex = 0, + SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(Eternatus) OVERWORLD( sPicTable_Eternatus, @@ -6546,6 +6656,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sEternatusLevelUpLearnset, .teachableLearnset = sEternatusTeachableLearnset, .formSpeciesIdTable = sEternatusFormSpeciesIdTable, @@ -6599,9 +6710,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_EternatusEternamax, .iconSprite = gMonIcon_EternatusEternamax, .iconPalIndex = 0, + SHADOW(-3, 20, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Eternatus) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sEternatusLevelUpLearnset, .teachableLearnset = sEternatusTeachableLearnset, .formSpeciesIdTable = sEternatusFormSpeciesIdTable, @@ -6655,6 +6768,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Kubfu, .iconSprite = gMonIcon_Kubfu, .iconPalIndex = 1, + SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Kubfu) OVERWORLD( sPicTable_Kubfu, @@ -6665,15 +6779,16 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = gShinyOverworldPalette_Kubfu ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sKubfuLevelUpLearnset, .teachableLearnset = sKubfuTeachableLearnset, - .evolutions = EVOLUTION({EVO_DARK_SCROLL, 0, SPECIES_URSHIFU_SINGLE_STRIKE_STYLE}, - {EVO_ITEM, ITEM_SCROLL_OF_DARKNESS, SPECIES_URSHIFU_SINGLE_STRIKE_STYLE}, - {EVO_WATER_SCROLL, 0, SPECIES_URSHIFU_RAPID_STRIKE_STYLE}, - {EVO_ITEM, ITEM_SCROLL_OF_WATERS, SPECIES_URSHIFU_RAPID_STRIKE_STYLE}), + .evolutions = EVOLUTION({EVO_DARK_SCROLL, 0, SPECIES_URSHIFU_SINGLE_STRIKE}, + {EVO_ITEM, ITEM_SCROLL_OF_DARKNESS, SPECIES_URSHIFU_SINGLE_STRIKE}, + {EVO_WATER_SCROLL, 0, SPECIES_URSHIFU_RAPID_STRIKE}, + {EVO_ITEM, ITEM_SCROLL_OF_WATERS, SPECIES_URSHIFU_RAPID_STRIKE}), }, - [SPECIES_URSHIFU_SINGLE_STRIKE_STYLE] = + [SPECIES_URSHIFU_SINGLE_STRIKE] = { .baseHP = 100, .baseAttack = 130, @@ -6693,7 +6808,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .abilities = { ABILITY_UNSEEN_FIST, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Urshifu"), - .cryId = CRY_URSHIFU_SINGLE_STRIKE_STYLE, + .cryId = CRY_URSHIFU_SINGLE_STRIKE, .natDexNum = NATIONAL_DEX_URSHIFU, .categoryName = _("Wushu"), .height = 19, @@ -6707,19 +6822,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 1, .trainerScale = 326, .trainerOffset = 4, - .frontPic = gMonFrontPic_UrshifuSingleStrikeStyle, + .frontPic = gMonFrontPic_UrshifuSingleStrike, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Urshifu, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_UrshifuSingleStrikeStyle, + .backPic = gMonBackPic_UrshifuSingleStrike, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_UrshifuSingleStrikeStyle, - .shinyPalette = gMonShinyPalette_UrshifuSingleStrikeStyle, + .palette = gMonPalette_UrshifuSingleStrike, + .shinyPalette = gMonShinyPalette_UrshifuSingleStrike, .iconSprite = gMonIcon_Urshifu, .iconPalIndex = 2, + SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(Urshifu) OVERWORLD( sPicTable_Urshifu, @@ -6730,14 +6846,15 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = gShinyOverworldPalette_Urshifu ) .isLegendary = TRUE, - .levelUpLearnset = sUrshifuSingleStrikeStyleLevelUpLearnset, - .teachableLearnset = sUrshifuSingleStrikeStyleTeachableLearnset, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, + .levelUpLearnset = sUrshifuSingleStrikeLevelUpLearnset, + .teachableLearnset = sUrshifuSingleStrikeTeachableLearnset, .formSpeciesIdTable = sUrshifuFormSpeciesIdTable, .formChangeTable = sUrshifuSingleStrikeFormChangeTable, }, #if P_GIGANTAMAX_FORMS - [SPECIES_URSHIFU_SINGLE_STRIKE_STYLE_GIGANTAMAX] = + [SPECIES_URSHIFU_SINGLE_STRIKE_GMAX] = { .baseHP = 100, .baseAttack = 130, @@ -6757,7 +6874,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .abilities = { ABILITY_UNSEEN_FIST, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Urshifu"), - .cryId = CRY_URSHIFU_SINGLE_STRIKE_STYLE, + .cryId = CRY_URSHIFU_SINGLE_STRIKE, .natDexNum = NATIONAL_DEX_URSHIFU, .categoryName = _("Wushu"), .height = 290, @@ -6771,29 +6888,31 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 1, .trainerScale = 326, .trainerOffset = 4, - .frontPic = gMonFrontPic_UrshifuSingleStrikeStyleGigantamax, + .frontPic = gMonFrontPic_UrshifuSingleStrikeGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_UrshifuSingleStrikeStyleGigantamax, + .frontAnimFrames = sAnims_UrshifuSingleStrikeGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_UrshifuSingleStrikeStyleGigantamax, + .backPic = gMonBackPic_UrshifuSingleStrikeGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_UrshifuSingleStrikeStyleGigantamax, - .shinyPalette = gMonShinyPalette_UrshifuSingleStrikeStyleGigantamax, - .iconSprite = gMonIcon_UrshifuSingleStrikeStyleGigantamax, + .palette = gMonPalette_UrshifuSingleStrikeGmax, + .shinyPalette = gMonShinyPalette_UrshifuSingleStrikeGmax, + .iconSprite = gMonIcon_UrshifuSingleStrikeGmax, .iconPalIndex = 0, + SHADOW(1, 13, SHADOW_SIZE_L) FOOTPRINT(Urshifu) .isLegendary = TRUE, .isGigantamax = TRUE, - .levelUpLearnset = sUrshifuSingleStrikeStyleLevelUpLearnset, - .teachableLearnset = sUrshifuSingleStrikeStyleTeachableLearnset, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, + .levelUpLearnset = sUrshifuSingleStrikeLevelUpLearnset, + .teachableLearnset = sUrshifuSingleStrikeTeachableLearnset, .formSpeciesIdTable = sUrshifuFormSpeciesIdTable, }, #endif //P_GIGANTAMAX_FORMS - [SPECIES_URSHIFU_RAPID_STRIKE_STYLE] = + [SPECIES_URSHIFU_RAPID_STRIKE] = { .baseHP = 100, .baseAttack = 130, @@ -6813,7 +6932,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .abilities = { ABILITY_UNSEEN_FIST, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Urshifu"), - .cryId = CRY_URSHIFU_RAPID_STRIKE_STYLE, + .cryId = CRY_URSHIFU_RAPID_STRIKE, .natDexNum = NATIONAL_DEX_URSHIFU, .categoryName = _("Wushu"), .height = 19, @@ -6827,19 +6946,20 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 1, .trainerScale = 326, .trainerOffset = 4, - .frontPic = gMonFrontPic_UrshifuRapidStrikeStyle, + .frontPic = gMonFrontPic_UrshifuRapidStrike, .frontPicSize = MON_COORDS_SIZE(56, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Urshifu, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_UrshifuRapidStrikeStyle, + .backPic = gMonBackPic_UrshifuRapidStrike, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_UrshifuRapidStrikeStyle, - .shinyPalette = gMonShinyPalette_UrshifuRapidStrikeStyle, + .palette = gMonPalette_UrshifuRapidStrike, + .shinyPalette = gMonShinyPalette_UrshifuRapidStrike, .iconSprite = gMonIcon_Urshifu, .iconPalIndex = 2, + SHADOW(4, 14, SHADOW_SIZE_M) FOOTPRINT(Urshifu) OVERWORLD( sPicTable_Urshifu, @@ -6850,14 +6970,15 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = gShinyOverworldPalette_Urshifu ) .isLegendary = TRUE, - .levelUpLearnset = sUrshifuRapidStrikeStyleLevelUpLearnset, - .teachableLearnset = sUrshifuRapidStrikeStyleTeachableLearnset, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, + .levelUpLearnset = sUrshifuRapidStrikeLevelUpLearnset, + .teachableLearnset = sUrshifuRapidStrikeTeachableLearnset, .formSpeciesIdTable = sUrshifuFormSpeciesIdTable, .formChangeTable = sUrshifuRapidStrikeFormChangeTable, }, #if P_GIGANTAMAX_FORMS - [SPECIES_URSHIFU_RAPID_STRIKE_STYLE_GIGANTAMAX] = + [SPECIES_URSHIFU_RAPID_STRIKE_GMAX] = { .baseHP = 100, .baseAttack = 130, @@ -6877,7 +6998,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .abilities = { ABILITY_UNSEEN_FIST, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Urshifu"), - .cryId = CRY_URSHIFU_RAPID_STRIKE_STYLE, + .cryId = CRY_URSHIFU_RAPID_STRIKE, .natDexNum = NATIONAL_DEX_URSHIFU, .categoryName = _("Wushu"), .height = 260, @@ -6891,24 +7012,26 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 1, .trainerScale = 326, .trainerOffset = 4, - .frontPic = gMonFrontPic_UrshifuRapidStrikeStyleGigantamax, + .frontPic = gMonFrontPic_UrshifuRapidStrikeGmax, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, - .frontAnimFrames = sAnims_UrshifuRapidStrikeStyleGigantamax, + .frontAnimFrames = sAnims_UrshifuRapidStrikeGmax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_UrshifuRapidStrikeStyleGigantamax, + .backPic = gMonBackPic_UrshifuRapidStrikeGmax, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_UrshifuRapidStrikeStyleGigantamax, - .shinyPalette = gMonShinyPalette_UrshifuRapidStrikeStyleGigantamax, - .iconSprite = gMonIcon_UrshifuRapidStrikeStyleGigantamax, + .palette = gMonPalette_UrshifuRapidStrikeGmax, + .shinyPalette = gMonShinyPalette_UrshifuRapidStrikeGmax, + .iconSprite = gMonIcon_UrshifuRapidStrikeGmax, .iconPalIndex = 0, + SHADOW(2, 13, SHADOW_SIZE_M) FOOTPRINT(Urshifu) .isLegendary = TRUE, .isGigantamax = TRUE, - .levelUpLearnset = sUrshifuRapidStrikeStyleLevelUpLearnset, - .teachableLearnset = sUrshifuRapidStrikeStyleTeachableLearnset, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, + .levelUpLearnset = sUrshifuRapidStrikeLevelUpLearnset, + .teachableLearnset = sUrshifuRapidStrikeTeachableLearnset, .formSpeciesIdTable = sUrshifuFormSpeciesIdTable, }, #endif //P_GIGANTAMAX_FORMS @@ -6963,6 +7086,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Zarude, .iconSprite = gMonIcon_Zarude, .iconPalIndex = 1, + SHADOW(5, 11, SHADOW_SIZE_L) FOOTPRINT(Zarude) OVERWORLD( sPicTable_Zarude, @@ -6974,6 +7098,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sZarudeLevelUpLearnset, .teachableLearnset = sZarudeTeachableLearnset, .formSpeciesIdTable = sZarudeFormSpeciesIdTable, @@ -7025,9 +7150,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_ZarudeDada, .iconSprite = gMonIcon_ZarudeDada, .iconPalIndex = 1, + SHADOW(5, 11, SHADOW_SIZE_L) FOOTPRINT(Zarude) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sZarudeLevelUpLearnset, .teachableLearnset = sZarudeTeachableLearnset, .formSpeciesIdTable = sZarudeFormSpeciesIdTable, @@ -7083,6 +7210,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Regieleki, .iconSprite = gMonIcon_Regieleki, .iconPalIndex = 0, + SHADOW(-3, 14, SHADOW_SIZE_S) FOOTPRINT(Regieleki) OVERWORLD( sPicTable_Regieleki, @@ -7093,6 +7221,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = gShinyOverworldPalette_Regieleki ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sRegielekiLevelUpLearnset, .teachableLearnset = sRegielekiTeachableLearnset, }, @@ -7147,6 +7276,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Regidrago, .iconSprite = gMonIcon_Regidrago, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Regidrago) OVERWORLD( sPicTable_Regidrago, @@ -7157,6 +7287,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = gShinyOverworldPalette_Regidrago ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sRegidragoLevelUpLearnset, .teachableLearnset = sRegidragoTeachableLearnset, }, @@ -7209,6 +7340,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Glastrier, .iconSprite = gMonIcon_Glastrier, .iconPalIndex = 0, + SHADOW(-5, 11, SHADOW_SIZE_L) FOOTPRINT(Glastrier) OVERWORLD( sPicTable_Glastrier, @@ -7219,6 +7351,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = gShinyOverworldPalette_Glastrier ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sGlastrierLevelUpLearnset, .teachableLearnset = sGlastrierTeachableLearnset, }, @@ -7272,6 +7405,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Spectrier, .iconSprite = gMonIcon_Spectrier, .iconPalIndex = 0, + SHADOW(-6, 12, SHADOW_SIZE_L) FOOTPRINT(Spectrier) OVERWORLD( sPicTable_Spectrier, @@ -7282,6 +7416,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = gShinyOverworldPalette_Spectrier ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sSpectrierLevelUpLearnset, .teachableLearnset = sSpectrierTeachableLearnset, }, @@ -7335,6 +7470,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Calyrex, .iconSprite = gMonIcon_Calyrex, .iconPalIndex = 0, + SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Calyrex) OVERWORLD( sPicTable_Calyrex, @@ -7346,13 +7482,14 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sCalyrexLevelUpLearnset, .teachableLearnset = sCalyrexTeachableLearnset, .formSpeciesIdTable = sCalyrexFormSpeciesIdTable, }, #if P_FUSION_FORMS - [SPECIES_CALYREX_ICE_RIDER] = + [SPECIES_CALYREX_ICE] = { .baseHP = 100, .baseAttack = 165, @@ -7372,7 +7509,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .abilities = { ABILITY_AS_ONE_ICE_RIDER, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Calyrex"), - .cryId = CRY_CALYREX_ICE_RIDER, + .cryId = CRY_CALYREX_ICE, .natDexNum = NATIONAL_DEX_CALYREX, .categoryName = _("High King"), .height = 24, @@ -7386,37 +7523,39 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 7, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_CalyrexIceRider, + .frontPic = gMonFrontPic_CalyrexIce, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Calyrex, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_CalyrexIceRider, + .backPic = gMonBackPic_CalyrexIce, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 7, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_CalyrexIceRider, - .shinyPalette = gMonShinyPalette_CalyrexIceRider, - .iconSprite = gMonIcon_CalyrexIceRider, + .palette = gMonPalette_CalyrexIce, + .shinyPalette = gMonShinyPalette_CalyrexIce, + .iconSprite = gMonIcon_CalyrexIce, .iconPalIndex = 0, + SHADOW(-5, 11, SHADOW_SIZE_L) FOOTPRINT(Calyrex) OVERWORLD( - sPicTable_CalyrexIceRider, + sPicTable_CalyrexIce, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_CalyrexIceRider, - gShinyOverworldPalette_CalyrexIceRider + gOverworldPalette_CalyrexIce, + gShinyOverworldPalette_CalyrexIce ) .isLegendary = TRUE, .cannotBeTraded = TRUE, .isFrontierBanned = TRUE, - .levelUpLearnset = sCalyrexIceRiderLevelUpLearnset, - .teachableLearnset = sCalyrexIceRiderTeachableLearnset, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, + .levelUpLearnset = sCalyrexIceLevelUpLearnset, + .teachableLearnset = sCalyrexIceTeachableLearnset, .formSpeciesIdTable = sCalyrexFormSpeciesIdTable, }, - [SPECIES_CALYREX_SHADOW_RIDER] = + [SPECIES_CALYREX_SHADOW] = { .baseHP = 100, .baseAttack = 85, @@ -7436,7 +7575,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .abilities = { ABILITY_AS_ONE_SHADOW_RIDER, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Calyrex"), - .cryId = CRY_CALYREX_SHADOW_RIDER, + .cryId = CRY_CALYREX_SHADOW, .natDexNum = NATIONAL_DEX_CALYREX, .categoryName = _("High King"), .height = 24, @@ -7450,33 +7589,35 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .pokemonOffset = 7, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_CalyrexShadowRider, + .frontPic = gMonFrontPic_CalyrexShadow, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 0, .frontAnimFrames = sAnims_Calyrex, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_CalyrexShadowRider, + .backPic = gMonBackPic_CalyrexShadow, .backPicSize = MON_COORDS_SIZE(64, 56), .backPicYOffset = 7, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_CalyrexShadowRider, - .shinyPalette = gMonShinyPalette_CalyrexShadowRider, - .iconSprite = gMonIcon_CalyrexShadowRider, + .palette = gMonPalette_CalyrexShadow, + .shinyPalette = gMonShinyPalette_CalyrexShadow, + .iconSprite = gMonIcon_CalyrexShadow, .iconPalIndex = 0, + SHADOW(-5, 12, SHADOW_SIZE_L) FOOTPRINT(Calyrex) OVERWORLD( - sPicTable_CalyrexShadowRider, + sPicTable_CalyrexShadow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_CalyrexShadowRider, - gShinyOverworldPalette_CalyrexShadowRider + gOverworldPalette_CalyrexShadow, + gShinyOverworldPalette_CalyrexShadow ) .isLegendary = TRUE, .cannotBeTraded = TRUE, .isFrontierBanned = TRUE, - .levelUpLearnset = sCalyrexShadowRiderLevelUpLearnset, - .teachableLearnset = sCalyrexShadowRiderTeachableLearnset, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, + .levelUpLearnset = sCalyrexShadowLevelUpLearnset, + .teachableLearnset = sCalyrexShadowTeachableLearnset, .formSpeciesIdTable = sCalyrexFormSpeciesIdTable, }, #endif //P_FUSION_FORMS @@ -7531,6 +7672,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_EnamorusIncarnate, .iconSprite = gMonIcon_EnamorusIncarnate, .iconPalIndex = 1, + SHADOW(0, 17, SHADOW_SIZE_M) FOOTPRINT(Enamorus) OVERWORLD( sPicTable_EnamorusIncarnate, @@ -7541,6 +7683,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = gShinyOverworldPalette_EnamorusIncarnate ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sEnamorusLevelUpLearnset, .teachableLearnset = sEnamorusTeachableLearnset, .formSpeciesIdTable = sEnamorusFormSpeciesIdTable, @@ -7593,6 +7736,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_EnamorusTherian, .iconSprite = gMonIcon_EnamorusTherian, .iconPalIndex = 1, + SHADOW(2, 8, SHADOW_SIZE_L) FOOTPRINT(Enamorus) OVERWORLD( sPicTable_EnamorusTherian, @@ -7603,6 +7747,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = gShinyOverworldPalette_EnamorusTherian ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sEnamorusLevelUpLearnset, .teachableLearnset = sEnamorusTeachableLearnset, .formSpeciesIdTable = sEnamorusFormSpeciesIdTable, diff --git a/src/data/pokemon/species_info/gen_9_families.h b/src/data/pokemon/species_info/gen_9_families.h index 1b6aab1e4185..d617d36f1b0a 100644 --- a/src/data/pokemon/species_info/gen_9_families.h +++ b/src/data/pokemon/species_info/gen_9_families.h @@ -51,6 +51,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Sprigatito, .iconSprite = gMonIcon_Sprigatito, .iconPalIndex = 1, + SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Sprigatito) OVERWORLD( sPicTable_Sprigatito, @@ -113,6 +114,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Floragato, .iconSprite = gMonIcon_Floragato, .iconPalIndex = 1, + SHADOW(-3, 11, SHADOW_SIZE_M) FOOTPRINT(Floragato) OVERWORLD( sPicTable_Floragato, @@ -146,7 +148,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_PROTEAN }, .bodyColor = BODY_COLOR_GREEN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Meowscarad", "Meowscarada"), + .speciesName = _("Meowscarada"), .cryId = CRY_MEOWSCARADA, .natDexNum = NATIONAL_DEX_MEOWSCARADA, .categoryName = _("Magician"), @@ -174,6 +176,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Meowscarada, .iconSprite = gMonIcon_Meowscarada, .iconPalIndex = 1, + SHADOW(-3, 14, SHADOW_SIZE_S) FOOTPRINT(Meowscarada) OVERWORLD( sPicTable_Meowscarada, @@ -236,6 +239,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Fuecoco, .iconSprite = gMonIcon_Fuecoco, .iconPalIndex = 2, + SHADOW(-3, 5, SHADOW_SIZE_S) FOOTPRINT(Fuecoco) OVERWORLD( sPicTable_Fuecoco, @@ -298,6 +302,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Crocalor, .iconSprite = gMonIcon_Crocalor, .iconPalIndex = 0, + SHADOW(2, 8, SHADOW_SIZE_M) FOOTPRINT(Crocalor) OVERWORLD( sPicTable_Crocalor, @@ -359,6 +364,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Skeledirge, .iconSprite = gMonIcon_Skeledirge, .iconPalIndex = 0, + SHADOW(6, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Skeledirge) OVERWORLD( sPicTable_Skeledirge, @@ -421,6 +427,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Quaxly, .iconSprite = gMonIcon_Quaxly, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Quaxly) OVERWORLD( sPicTable_Quaxly, @@ -483,6 +490,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Quaxwell, .iconSprite = gMonIcon_Quaxwell, .iconPalIndex = 0, + SHADOW(1, 10, SHADOW_SIZE_S) FOOTPRINT(Quaxwell) OVERWORLD( sPicTable_Quaxwell, @@ -544,6 +552,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Quaquaval, .iconSprite = gMonIcon_Quaquaval, .iconPalIndex = 0, + SHADOW(-7, 13, SHADOW_SIZE_M) FOOTPRINT(Quaquaval) OVERWORLD( sPicTable_Quaquaval, @@ -606,6 +615,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Lechonk, .iconSprite = gMonIcon_Lechonk, .iconPalIndex = 1, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Lechonk) OVERWORLD( sPicTable_Lechonk, @@ -618,11 +628,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .levelUpLearnset = sLechonkLevelUpLearnset, .teachableLearnset = sLechonkTeachableLearnset, .eggMoveLearnset = sLechonkEggMoveLearnset, - .evolutions = EVOLUTION({EVO_LEVEL_MALE, 18, SPECIES_OINKOLOGNE_MALE}, - {EVO_LEVEL_FEMALE, 18, SPECIES_OINKOLOGNE_FEMALE}), + .evolutions = EVOLUTION({EVO_LEVEL_MALE, 18, SPECIES_OINKOLOGNE_M}, + {EVO_LEVEL_FEMALE, 18, SPECIES_OINKOLOGNE_F}), }, - [SPECIES_OINKOLOGNE_MALE] = + [SPECIES_OINKOLOGNE_M] = { .baseHP = 110, .baseAttack = 100, @@ -642,7 +652,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .abilities = { ABILITY_LINGERING_AROMA, ABILITY_GLUTTONY, ABILITY_THICK_FAT }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Oinkologne"), - .cryId = CRY_OINKOLOGNE_MALE, + .cryId = CRY_OINKOLOGNE_M, .natDexNum = NATIONAL_DEX_OINKOLOGNE, .categoryName = _("Hog"), .height = 10, @@ -655,34 +665,35 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .pokemonOffset = 17, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_OinkologneMale, + .frontPic = gMonFrontPic_OinkologneM, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 6, .frontAnimFrames = sAnims_Oinkologne, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_OinkologneMale, + .backPic = gMonBackPic_OinkologneM, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 8, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_OinkologneMale, - .shinyPalette = gMonShinyPalette_OinkologneMale, - .iconSprite = gMonIcon_OinkologneMale, + .palette = gMonPalette_OinkologneM, + .shinyPalette = gMonShinyPalette_OinkologneM, + .iconSprite = gMonIcon_OinkologneM, .iconPalIndex = 1, + SHADOW(-2, 6, SHADOW_SIZE_M) FOOTPRINT(Oinkologne) OVERWORLD( - sPicTable_OinkologneMale, + sPicTable_OinkologneM, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_OinkologneMale, - gShinyOverworldPalette_OinkologneMale + gOverworldPalette_OinkologneM, + gShinyOverworldPalette_OinkologneM ) - .levelUpLearnset = sOinkologneMaleLevelUpLearnset, + .levelUpLearnset = sOinkologneMLevelUpLearnset, .teachableLearnset = sOinkologneTeachableLearnset, .formSpeciesIdTable = sOinkologneFormSpeciesIdTable, }, - [SPECIES_OINKOLOGNE_FEMALE] = + [SPECIES_OINKOLOGNE_F] = { .baseHP = 115, .baseAttack = 90, @@ -702,7 +713,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .abilities = { ABILITY_AROMA_VEIL, ABILITY_GLUTTONY, ABILITY_THICK_FAT }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Oinkologne"), - .cryId = CRY_OINKOLOGNE_FEMALE, + .cryId = CRY_OINKOLOGNE_F, .natDexNum = NATIONAL_DEX_OINKOLOGNE, .categoryName = _("Hog"), .height = 10, @@ -716,29 +727,30 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .pokemonOffset = 17, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_OinkologneFemale, + .frontPic = gMonFrontPic_OinkologneF, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 6, .frontAnimFrames = sAnims_Oinkologne, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .backPic = gMonBackPic_OinkologneFemale, + .backPic = gMonBackPic_OinkologneF, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 7, //.backAnimId = BACK_ANIM_NONE, - .palette = gMonPalette_OinkologneFemale, - .shinyPalette = gMonShinyPalette_OinkologneFemale, - .iconSprite = gMonIcon_OinkologneFemale, + .palette = gMonPalette_OinkologneF, + .shinyPalette = gMonShinyPalette_OinkologneF, + .iconSprite = gMonIcon_OinkologneF, .iconPalIndex = 0, + SHADOW(3, 7, SHADOW_SIZE_M) FOOTPRINT(Oinkologne) OVERWORLD( - sPicTable_OinkologneFemale, + sPicTable_OinkologneF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, - gOverworldPalette_OinkologneFemale, - gShinyOverworldPalette_OinkologneFemale + gOverworldPalette_OinkologneF, + gShinyOverworldPalette_OinkologneF ) - .levelUpLearnset = sOinkologneFemaleLevelUpLearnset, + .levelUpLearnset = sOinkologneFLevelUpLearnset, .teachableLearnset = sOinkologneTeachableLearnset, .formSpeciesIdTable = sOinkologneFormSpeciesIdTable, }, @@ -792,6 +804,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tarountula, .iconSprite = gMonIcon_Tarountula, .iconPalIndex = 1, + SHADOW(-1, 2, SHADOW_SIZE_M) FOOTPRINT(Tarountula) OVERWORLD( sPicTable_Tarountula, @@ -854,6 +867,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Spidops, .iconSprite = gMonIcon_Spidops, .iconPalIndex = 1, + SHADOW(6, 8, SHADOW_SIZE_L) FOOTPRINT(Spidops) OVERWORLD( sPicTable_Spidops, @@ -916,6 +930,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Nymble, .iconSprite = gMonIcon_Nymble, .iconPalIndex = 0, + SHADOW(1, 3, SHADOW_SIZE_M) FOOTPRINT(Nymble) OVERWORLD( sPicTable_Nymble, @@ -978,6 +993,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Lokix, .iconSprite = gMonIcon_Lokix, .iconPalIndex = 0, + SHADOW(0, 11, SHADOW_SIZE_M) FOOTPRINT(Lokix) OVERWORLD( sPicTable_Lokix, @@ -1040,6 +1056,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Pawmi, .iconSprite = gMonIcon_Pawmi, .iconPalIndex = 0, + SHADOW(1, 4, SHADOW_SIZE_M) FOOTPRINT(Pawmi) OVERWORLD( sPicTable_Pawmi, @@ -1102,6 +1119,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Pawmo, .iconSprite = gMonIcon_Pawmo, .iconPalIndex = 0, + SHADOW(-3, 10, SHADOW_SIZE_S) FOOTPRINT(Pawmo) OVERWORLD( sPicTable_Pawmo, @@ -1163,6 +1181,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Pawmot, .iconSprite = gMonIcon_Pawmot, .iconPalIndex = 0, + SHADOW(-1, 11, SHADOW_SIZE_M) FOOTPRINT(Pawmot) OVERWORLD( sPicTable_Pawmot, @@ -1225,6 +1244,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tandemaus, .iconSprite = gMonIcon_Tandemaus, .iconPalIndex = 1, + SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Tandemaus) OVERWORLD( sPicTable_Tandemaus, @@ -1237,11 +1257,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .levelUpLearnset = sTandemausLevelUpLearnset, .teachableLearnset = sTandemausTeachableLearnset, .eggMoveLearnset = sTandemausEggMoveLearnset, - .evolutions = EVOLUTION({EVO_LEVEL_FAMILY_OF_FOUR, 25, SPECIES_MAUSHOLD_FAMILY_OF_FOUR}, - {EVO_LEVEL_FAMILY_OF_THREE, 25, SPECIES_MAUSHOLD_FAMILY_OF_THREE}), + .evolutions = EVOLUTION({EVO_LEVEL_FAMILY_OF_FOUR, 25, SPECIES_MAUSHOLD_FOUR}, + {EVO_LEVEL_FAMILY_OF_THREE, 25, SPECIES_MAUSHOLD_THREE}), }, - [SPECIES_MAUSHOLD_FAMILY_OF_THREE] = + [SPECIES_MAUSHOLD_THREE] = { .baseHP = 74, .baseAttack = 75, @@ -1261,7 +1281,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .abilities = { ABILITY_FRIEND_GUARD, ABILITY_CHEEK_POUCH, ABILITY_TECHNICIAN }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Maushold"), - .cryId = CRY_MAUSHOLD_FAMILY_OF_THREE, + .cryId = CRY_MAUSHOLD_THREE, .natDexNum = NATIONAL_DEX_MAUSHOLD, .categoryName = _("Family"), .height = 3, @@ -1275,33 +1295,34 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .pokemonOffset = 17, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_MausholdFamilyOfThree, + .frontPic = gMonFrontPic_MausholdThree, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 15, .frontAnimFrames = sAnims_Maushold, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ - .backPic = gMonBackPic_MausholdFamilyOfThree, + .backPic = gMonBackPic_MausholdThree, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 15, /*.backAnimId = BACK_ANIM_NONE,*/ .palette = gMonPalette_Maushold, .shinyPalette = gMonShinyPalette_Maushold, - .iconSprite = gMonIcon_MausholdFamilyOfThree, + .iconSprite = gMonIcon_MausholdThree, .iconPalIndex = 1, - FOOTPRINT(MausholdFamilyOfThree) + SHADOW(4, -1, SHADOW_SIZE_L) + FOOTPRINT(MausholdThree) OVERWORLD( - sPicTable_MausholdFamilyOfThree, + sPicTable_MausholdThree, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, - gOverworldPalette_MausholdFamilyOfThree, - gShinyOverworldPalette_MausholdFamilyOfThree + gOverworldPalette_MausholdThree, + gShinyOverworldPalette_MausholdThree ) .levelUpLearnset = sMausholdLevelUpLearnset, .teachableLearnset = sMausholdTeachableLearnset, .formSpeciesIdTable = sMausholdFormSpeciesIdTable, }, - [SPECIES_MAUSHOLD_FAMILY_OF_FOUR] = + [SPECIES_MAUSHOLD_FOUR] = { .baseHP = 74, .baseAttack = 75, @@ -1321,7 +1342,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .abilities = { ABILITY_FRIEND_GUARD, ABILITY_CHEEK_POUCH, ABILITY_TECHNICIAN }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Maushold"), - .cryId = CRY_MAUSHOLD_FAMILY_OF_FOUR, + .cryId = CRY_MAUSHOLD_FOUR, .natDexNum = NATIONAL_DEX_MAUSHOLD, .categoryName = _("Family"), .height = 3, @@ -1335,27 +1356,28 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .pokemonOffset = 17, .trainerScale = 256, .trainerOffset = 0, - .frontPic = gMonFrontPic_MausholdFamilyOfFour, + .frontPic = gMonFrontPic_MausholdFour, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 15, .frontAnimFrames = sAnims_Maushold, /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ - .backPic = gMonBackPic_MausholdFamilyOfFour, + .backPic = gMonBackPic_MausholdFour, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 15, /*.backAnimId = BACK_ANIM_NONE,*/ .palette = gMonPalette_Maushold, .shinyPalette = gMonShinyPalette_Maushold, - .iconSprite = gMonIcon_MausholdFamilyOfFour, + .iconSprite = gMonIcon_MausholdFour, .iconPalIndex = 1, - FOOTPRINT(MausholdFamilyOfFour) + SHADOW(0, -1, SHADOW_SIZE_L) + FOOTPRINT(MausholdFour) OVERWORLD( - sPicTable_MausholdFamilyOfFour, + sPicTable_MausholdFour, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, - gOverworldPalette_MausholdFamilyOfFour, - gShinyOverworldPalette_MausholdFamilyOfFour + gOverworldPalette_MausholdFour, + gShinyOverworldPalette_MausholdFour ) .levelUpLearnset = sMausholdLevelUpLearnset, .teachableLearnset = sMausholdTeachableLearnset, @@ -1411,6 +1433,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Fidough, .iconSprite = gMonIcon_Fidough, .iconPalIndex = 1, + SHADOW(4, 0, SHADOW_SIZE_S) FOOTPRINT(Fidough) OVERWORLD( sPicTable_Fidough, @@ -1473,6 +1496,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Dachsbun, .iconSprite = gMonIcon_Dachsbun, .iconPalIndex = 0, + SHADOW(-1, 7, SHADOW_SIZE_L) FOOTPRINT(Dachsbun) OVERWORLD( sPicTable_Dachsbun, @@ -1535,6 +1559,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Smoliv, .iconSprite = gMonIcon_Smoliv, .iconPalIndex = 1, + SHADOW(-1, -2, SHADOW_SIZE_S) FOOTPRINT(Smoliv) OVERWORLD( sPicTable_Smoliv, @@ -1597,6 +1622,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Dolliv, .iconSprite = gMonIcon_Dolliv, .iconPalIndex = 1, + SHADOW(1, 9, SHADOW_SIZE_M) FOOTPRINT(Dolliv) OVERWORLD( sPicTable_Dolliv, @@ -1658,6 +1684,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Arboliva, .iconSprite = gMonIcon_Arboliva, .iconPalIndex = 1, + SHADOW(1, 13, SHADOW_SIZE_L) FOOTPRINT(Arboliva) OVERWORLD( sPicTable_Arboliva, @@ -1673,7 +1700,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = #endif //P_FAMILY_SMOLIV #if P_FAMILY_SQUAWKABILLY - [SPECIES_SQUAWKABILLY_GREEN_PLUMAGE] = + [SPECIES_SQUAWKABILLY_GREEN] = { .baseHP = 82, .baseAttack = 96, @@ -1692,7 +1719,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_GUTS }, .bodyColor = BODY_COLOR_GREEN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Sqawkabily", "Squawkabilly"), + .speciesName = _("Squawkabilly"), .cryId = CRY_SQUAWKABILLY, .natDexNum = NATIONAL_DEX_SQUAWKABILLY, .categoryName = _("Parrot"), @@ -1716,18 +1743,19 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 4, /*.backAnimId = BACK_ANIM_NONE,*/ - .palette = gMonPalette_SquawkabillyGreenPlumage, - .shinyPalette = gMonShinyPalette_SquawkabillyGreenPlumage, - .iconSprite = gMonIcon_SquawkabillyGreenPlumage, + .palette = gMonPalette_SquawkabillyGreen, + .shinyPalette = gMonShinyPalette_SquawkabillyGreen, + .iconSprite = gMonIcon_SquawkabillyGreen, .iconPalIndex = 1, + SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Squawkabilly) OVERWORLD( - sPicTable_SquawkabillyGreenPlumage, + sPicTable_SquawkabillyGreen, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, - gOverworldPalette_SquawkabillyGreenPlumage, - gShinyOverworldPalette_SquawkabillyGreenPlumage + gOverworldPalette_SquawkabillyGreen, + gShinyOverworldPalette_SquawkabillyGreen ) .levelUpLearnset = sSquawkabillyLevelUpLearnset, .teachableLearnset = sSquawkabillyTeachableLearnset, @@ -1735,7 +1763,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .formSpeciesIdTable = sSquawkabillyFormSpeciesIdTable, }, - [SPECIES_SQUAWKABILLY_BLUE_PLUMAGE] = + [SPECIES_SQUAWKABILLY_BLUE] = { .baseHP = 82, .baseAttack = 96, @@ -1754,7 +1782,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_GUTS }, .bodyColor = BODY_COLOR_BLUE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Sqawkabily", "Squawkabilly"), + .speciesName = _("Squawkabilly"), .cryId = CRY_SQUAWKABILLY, .natDexNum = NATIONAL_DEX_SQUAWKABILLY, .categoryName = _("Parrot"), @@ -1778,18 +1806,19 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 4, /*.backAnimId = BACK_ANIM_NONE,*/ - .palette = gMonPalette_SquawkabillyBluePlumage, - .shinyPalette = gMonShinyPalette_SquawkabillyBluePlumage, - .iconSprite = gMonIcon_SquawkabillyBluePlumage, + .palette = gMonPalette_SquawkabillyBlue, + .shinyPalette = gMonShinyPalette_SquawkabillyBlue, + .iconSprite = gMonIcon_SquawkabillyBlue, .iconPalIndex = 0, + SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Squawkabilly) OVERWORLD( - sPicTable_SquawkabillyBluePlumage, + sPicTable_SquawkabillyBlue, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, - gOverworldPalette_SquawkabillyBluePlumage, - gShinyOverworldPalette_SquawkabillyBluePlumage + gOverworldPalette_SquawkabillyBlue, + gShinyOverworldPalette_SquawkabillyBlue ) .levelUpLearnset = sSquawkabillyLevelUpLearnset, .teachableLearnset = sSquawkabillyTeachableLearnset, @@ -1797,7 +1826,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .formSpeciesIdTable = sSquawkabillyFormSpeciesIdTable, }, - [SPECIES_SQUAWKABILLY_YELLOW_PLUMAGE] = + [SPECIES_SQUAWKABILLY_YELLOW] = { .baseHP = 82, .baseAttack = 96, @@ -1816,7 +1845,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_YELLOW, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Sqawkabily", "Squawkabilly"), + .speciesName = _("Squawkabilly"), .cryId = CRY_SQUAWKABILLY, .natDexNum = NATIONAL_DEX_SQUAWKABILLY, .categoryName = _("Parrot"), @@ -1840,18 +1869,19 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 4, /*.backAnimId = BACK_ANIM_NONE,*/ - .palette = gMonPalette_SquawkabillyYellowPlumage, - .shinyPalette = gMonShinyPalette_SquawkabillyYellowPlumage, - .iconSprite = gMonIcon_SquawkabillyYellowPlumage, + .palette = gMonPalette_SquawkabillyYellow, + .shinyPalette = gMonShinyPalette_SquawkabillyYellow, + .iconSprite = gMonIcon_SquawkabillyYellow, .iconPalIndex = 1, + SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Squawkabilly) OVERWORLD( - sPicTable_SquawkabillyYellowPlumage, + sPicTable_SquawkabillyYellow, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, - gOverworldPalette_SquawkabillyYellowPlumage, - gShinyOverworldPalette_SquawkabillyYellowPlumage + gOverworldPalette_SquawkabillyYellow, + gShinyOverworldPalette_SquawkabillyYellow ) .levelUpLearnset = sSquawkabillyLevelUpLearnset, .teachableLearnset = sSquawkabillyTeachableLearnset, @@ -1859,7 +1889,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .formSpeciesIdTable = sSquawkabillyFormSpeciesIdTable, }, - [SPECIES_SQUAWKABILLY_WHITE_PLUMAGE] = + [SPECIES_SQUAWKABILLY_WHITE] = { .baseHP = 82, .baseAttack = 96, @@ -1878,7 +1908,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_WHITE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Sqawkabily", "Squawkabilly"), + .speciesName = _("Squawkabilly"), .cryId = CRY_SQUAWKABILLY, .natDexNum = NATIONAL_DEX_SQUAWKABILLY, .categoryName = _("Parrot"), @@ -1902,18 +1932,19 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 4, /*.backAnimId = BACK_ANIM_NONE,*/ - .palette = gMonPalette_SquawkabillyWhitePlumage, - .shinyPalette = gMonShinyPalette_SquawkabillyWhitePlumage, - .iconSprite = gMonIcon_SquawkabillyWhitePlumage, + .palette = gMonPalette_SquawkabillyWhite, + .shinyPalette = gMonShinyPalette_SquawkabillyWhite, + .iconSprite = gMonIcon_SquawkabillyWhite, .iconPalIndex = 0, + SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Squawkabilly) OVERWORLD( - sPicTable_SquawkabillyWhitePlumage, + sPicTable_SquawkabillyWhite, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, - gOverworldPalette_SquawkabillyWhitePlumage, - gShinyOverworldPalette_SquawkabillyWhitePlumage + gOverworldPalette_SquawkabillyWhite, + gShinyOverworldPalette_SquawkabillyWhite ) .levelUpLearnset = sSquawkabillyLevelUpLearnset, .teachableLearnset = sSquawkabillyTeachableLearnset, @@ -1970,6 +2001,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Nacli, .iconSprite = gMonIcon_Nacli, .iconPalIndex = 2, + SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Nacli) OVERWORLD( sPicTable_Nacli, @@ -2032,6 +2064,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Naclstack, .iconSprite = gMonIcon_Naclstack, .iconPalIndex = 2, + SHADOW(0, 5, SHADOW_SIZE_L) FOOTPRINT(Naclstack) OVERWORLD( sPicTable_Naclstack, @@ -2093,6 +2126,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Garganacl, .iconSprite = gMonIcon_Garganacl, .iconPalIndex = 2, + SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Garganacl) OVERWORLD( sPicTable_Garganacl, @@ -2155,6 +2189,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Charcadet, .iconSprite = gMonIcon_Charcadet, .iconPalIndex = 0, + SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Charcadet) OVERWORLD( sPicTable_Charcadet, @@ -2218,6 +2253,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Armarouge, .iconSprite = gMonIcon_Armarouge, .iconPalIndex = 0, + SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(Armarouge) OVERWORLD( sPicTable_Armarouge, @@ -2278,6 +2314,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Ceruledge, .iconSprite = gMonIcon_Ceruledge, .iconPalIndex = 2, + SHADOW(9, 14, SHADOW_SIZE_L) FOOTPRINT(Ceruledge) OVERWORLD( sPicTable_Ceruledge, @@ -2341,6 +2378,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tadbulb, .iconSprite = gMonIcon_Tadbulb, .iconPalIndex = 0, + SHADOW(0, 19, SHADOW_SIZE_S) FOOTPRINT(Tadbulb) OVERWORLD( sPicTable_Tadbulb, @@ -2403,6 +2441,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Bellibolt, .iconSprite = gMonIcon_Bellibolt, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Bellibolt) OVERWORLD( sPicTable_Bellibolt, @@ -2465,6 +2504,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Wattrel, .iconSprite = gMonIcon_Wattrel, .iconPalIndex = 0, + SHADOW(-3, 0, SHADOW_SIZE_S) FOOTPRINT(Wattrel) OVERWORLD( sPicTable_Wattrel, @@ -2499,7 +2539,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FLYING), .abilities = { ABILITY_WIND_POWER, ABILITY_VOLT_ABSORB, ABILITY_COMPETITIVE }, .bodyColor = BODY_COLOR_YELLOW, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Kilowatrel", "Kilowattrel"), + .speciesName = _("Kilowattrel"), .cryId = CRY_KILOWATTREL, .natDexNum = NATIONAL_DEX_KILOWATTREL, .categoryName = _("Frigatebird"), @@ -2527,6 +2567,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Kilowattrel, .iconSprite = gMonIcon_Kilowattrel, .iconPalIndex = 0, + SHADOW(-6, 6, SHADOW_SIZE_M) FOOTPRINT(Kilowattrel) OVERWORLD( sPicTable_Kilowattrel, @@ -2589,6 +2630,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Maschiff, .iconSprite = gMonIcon_Maschiff, .iconPalIndex = 0, + SHADOW(2, 5, SHADOW_SIZE_L) FOOTPRINT(Maschiff) OVERWORLD( sPicTable_Maschiff, @@ -2651,6 +2693,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Mabosstiff, .iconSprite = gMonIcon_Mabosstiff, .iconPalIndex = 0, + SHADOW(1, 5, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Mabosstiff) OVERWORLD( sPicTable_Mabosstiff, @@ -2713,6 +2756,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Shroodle, .iconSprite = gMonIcon_Shroodle, .iconPalIndex = 0, + SHADOW(0, -6, SHADOW_SIZE_S) FOOTPRINT(Shroodle) OVERWORLD( sPicTable_Shroodle, @@ -2775,6 +2819,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Grafaiai, .iconSprite = gMonIcon_Grafaiai, .iconPalIndex = 0, + SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Grafaiai) OVERWORLD( sPicTable_Grafaiai, @@ -2837,6 +2882,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Bramblin, .iconSprite = gMonIcon_Bramblin, .iconPalIndex = 1, + SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Bramblin) OVERWORLD( sPicTable_Bramblin, @@ -2871,7 +2917,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_WIND_RIDER, ABILITY_NONE, ABILITY_INFILTRATOR }, .bodyColor = BODY_COLOR_BROWN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Brmblghast", "Brambleghast"), + .speciesName = _("Brambleghast"), .cryId = CRY_BRAMBLEGHAST, .natDexNum = NATIONAL_DEX_BRAMBLEGHAST, .categoryName = _("Tumbleweed"), @@ -2899,6 +2945,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Brambleghast, .iconSprite = gMonIcon_Brambleghast, .iconPalIndex = 2, + SHADOW(0, 6, SHADOW_SIZE_M) FOOTPRINT(Brambleghast) OVERWORLD( sPicTable_Brambleghast, @@ -2963,6 +3010,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Toedscool, .iconSprite = gMonIcon_Toedscool, .iconPalIndex = 0, + SHADOW(-2, 10, SHADOW_SIZE_M) FOOTPRINT(Toedscool) OVERWORLD( sPicTable_Toedscool, @@ -3027,6 +3075,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Toedscruel, .iconSprite = gMonIcon_Toedscruel, .iconPalIndex = 0, + SHADOW(2, 8, SHADOW_SIZE_L) FOOTPRINT(Toedscruel) OVERWORLD( sPicTable_Toedscruel, @@ -3089,6 +3138,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Klawf, .iconSprite = gMonIcon_Klawf, .iconPalIndex = 0, + SHADOW(0, 0, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Klawf) OVERWORLD( sPicTable_Klawf, @@ -3152,6 +3202,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Capsakid, .iconSprite = gMonIcon_Capsakid, .iconPalIndex = 1, + SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Capsakid) OVERWORLD( sPicTable_Capsakid, @@ -3214,6 +3265,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Scovillain, .iconSprite = gMonIcon_Scovillain, .iconPalIndex = 1, + SHADOW(6, 11, SHADOW_SIZE_M) FOOTPRINT(Scovillain) OVERWORLD_SET_ANIM( sPicTable_Scovillain, @@ -3277,6 +3329,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Rellor, .iconSprite = gMonIcon_Rellor, .iconPalIndex = 0, + SHADOW(4, -3, SHADOW_SIZE_L) FOOTPRINT(Rellor) OVERWORLD( sPicTable_Rellor, @@ -3339,6 +3392,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Rabsca, .iconSprite = gMonIcon_Rabsca, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Rabsca) OVERWORLD( sPicTable_Rabsca, @@ -3401,6 +3455,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Flittle, .iconSprite = gMonIcon_Flittle, .iconPalIndex = 1, + SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Flittle) OVERWORLD( sPicTable_Flittle, @@ -3463,6 +3518,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Espathra, .iconSprite = gMonIcon_Espathra, .iconPalIndex = 0, + SHADOW(-5, 10, SHADOW_SIZE_M) FOOTPRINT(Espathra) OVERWORLD( sPicTable_Espathra, @@ -3525,6 +3581,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tinkatink, .iconSprite = gMonIcon_Tinkatink, .iconPalIndex = 1, + SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Tinkatink) OVERWORLD_SET_ANIM( sPicTable_Tinkatink, @@ -3588,6 +3645,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tinkatuff, .iconSprite = gMonIcon_Tinkatuff, .iconPalIndex = 1, + SHADOW(-4, 5, SHADOW_SIZE_L) FOOTPRINT(Tinkatuff) OVERWORLD_SET_ANIM( sPicTable_Tinkatuff, @@ -3650,6 +3708,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tinkaton, .iconSprite = gMonIcon_Tinkaton, .iconPalIndex = 1, + SHADOW(-5, 15, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Tinkaton) OVERWORLD_SET_ANIM( sPicTable_Tinkaton, @@ -3712,6 +3771,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Wiglett, .iconSprite = gMonIcon_Wiglett, .iconPalIndex = 0, + NO_SHADOW FOOTPRINT(Wiglett) OVERWORLD( sPicTable_Wiglett, @@ -3773,6 +3833,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Wugtrio, .iconSprite = gMonIcon_Wugtrio, .iconPalIndex = 0, + NO_SHADOW FOOTPRINT(Wugtrio) OVERWORLD( sPicTable_Wugtrio, @@ -3836,6 +3897,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Bombirdier, .iconSprite = gMonIcon_Bombirdier, .iconPalIndex = 0, + SHADOW(1, 18, SHADOW_SIZE_M) FOOTPRINT(Bombirdier) OVERWORLD( sPicTable_Bombirdier, @@ -3898,6 +3960,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Finizen, .iconSprite = gMonIcon_Finizen, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Finizen) OVERWORLD( sPicTable_Finizen, @@ -3960,6 +4023,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_PalafinZero, .iconSprite = gMonIcon_PalafinZero, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Palafin) OVERWORLD( sPicTable_PalafinZero, @@ -4022,6 +4086,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_PalafinHero, .iconSprite = gMonIcon_PalafinHero, .iconPalIndex = 0, + SHADOW(1, 13, SHADOW_SIZE_M) FOOTPRINT(Palafin) OVERWORLD( sPicTable_PalafinHero, @@ -4086,6 +4151,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Varoom, .iconSprite = gMonIcon_Varoom, .iconPalIndex = 2, + SHADOW(0, 0, SHADOW_SIZE_M) FOOTPRINT(Varoom) OVERWORLD( sPicTable_Varoom, @@ -4148,6 +4214,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Revavroom, .iconSprite = gMonIcon_Revavroom, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Revavroom) OVERWORLD( sPicTable_Revavroom, @@ -4210,6 +4277,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Cyclizar, .iconSprite = gMonIcon_Cyclizar, .iconPalIndex = 1, + SHADOW(-1, 9, SHADOW_SIZE_M) FOOTPRINT(Cyclizar) OVERWORLD( sPicTable_Cyclizar, @@ -4273,6 +4341,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Orthworm, .iconSprite = gMonIcon_Orthworm, .iconPalIndex = 0, + SHADOW(6, 10, SHADOW_SIZE_L) FOOTPRINT(Orthworm) OVERWORLD( sPicTable_Orthworm, @@ -4337,6 +4406,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Glimmet, .iconSprite = gMonIcon_Glimmet, .iconPalIndex = 0, + SHADOW(-2, 6, SHADOW_SIZE_S) FOOTPRINT(Glimmet) OVERWORLD( sPicTable_Glimmet, @@ -4400,6 +4470,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Glimmora, .iconSprite = gMonIcon_Glimmora, .iconPalIndex = 0, + SHADOW(-3, 17, SHADOW_SIZE_M) FOOTPRINT(Glimmora) OVERWORLD( sPicTable_Glimmora, @@ -4462,6 +4533,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Greavard, .iconSprite = gMonIcon_Greavard, .iconPalIndex = 0, + SHADOW(3, 2, SHADOW_SIZE_M) FOOTPRINT(Greavard) OVERWORLD( sPicTable_Greavard, @@ -4524,6 +4596,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Houndstone, .iconSprite = gMonIcon_Houndstone, .iconPalIndex = 2, + SHADOW(4, 6, SHADOW_SIZE_L) FOOTPRINT(Houndstone) OVERWORLD( sPicTable_Houndstone, @@ -4586,6 +4659,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Flamigo, .iconSprite = gMonIcon_Flamigo, .iconPalIndex = 1, + SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Flamigo) OVERWORLD( sPicTable_Flamigo, @@ -4649,6 +4723,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Cetoddle, .iconSprite = gMonIcon_Cetoddle, .iconPalIndex = 0, + SHADOW(2, 0, SHADOW_SIZE_M) FOOTPRINT(Cetoddle) OVERWORLD( sPicTable_Cetoddle, @@ -4711,6 +4786,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Cetitan, .iconSprite = gMonIcon_Cetitan, .iconPalIndex = 0, + SHADOW(-1, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Cetitan) OVERWORLD( sPicTable_Cetitan, @@ -4774,6 +4850,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Veluza, .iconSprite = gMonIcon_Veluza, .iconPalIndex = 1, + SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Veluza) OVERWORLD( sPicTable_Veluza, @@ -4838,6 +4915,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Dondozo, .iconSprite = gMonIcon_Dondozo, .iconPalIndex = 0, + SHADOW(-1, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Dondozo) OVERWORLD( sPicTable_Dondozo, @@ -4901,6 +4979,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TatsugiriCurly, .iconSprite = gMonIcon_TatsugiriCurly, .iconPalIndex = 0, + SHADOW(-2, -1, SHADOW_SIZE_S) FOOTPRINT(Tatsugiri) OVERWORLD( sPicTable_TatsugiriCurly, @@ -4962,6 +5041,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TatsugiriDroopy, .iconSprite = gMonIcon_TatsugiriDroopy, .iconPalIndex = 0, + SHADOW(-2, -1, SHADOW_SIZE_S) FOOTPRINT(Tatsugiri) OVERWORLD( sPicTable_TatsugiriDroopy, @@ -5023,6 +5103,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TatsugiriStretchy, .iconSprite = gMonIcon_TatsugiriStretchy, .iconPalIndex = 0, + SHADOW(-2, -1, SHADOW_SIZE_S) FOOTPRINT(Tatsugiri) OVERWORLD( sPicTable_TatsugiriStretchy, @@ -5088,6 +5169,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_GreatTusk, .iconSprite = gMonIcon_GreatTusk, .iconPalIndex = 0, + SHADOW(3, 6, SHADOW_SIZE_L) FOOTPRINT(GreatTusk) OVERWORLD( sPicTable_GreatTusk, @@ -5124,7 +5206,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_PINK, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("ScreamTail", "Scream Tail"), + .speciesName = _("Scream Tail"), .cryId = CRY_SCREAM_TAIL, .natDexNum = NATIONAL_DEX_SCREAM_TAIL, .categoryName = _("Paradox"), @@ -5152,6 +5234,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_ScreamTail, .iconSprite = gMonIcon_ScreamTail, .iconPalIndex = 0, + SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(ScreamTail) OVERWORLD( sPicTable_ScreamTail, @@ -5188,7 +5271,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("BruteBonet", "Brute Bonnet"), + .speciesName = _("Brute Bonnet"), .cryId = CRY_BRUTE_BONNET, .natDexNum = NATIONAL_DEX_BRUTE_BONNET, .categoryName = _("Paradox"), @@ -5216,6 +5299,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_BruteBonnet, .iconSprite = gMonIcon_BruteBonnet, .iconPalIndex = 1, + SHADOW(2, 7, SHADOW_SIZE_L) FOOTPRINT(BruteBonnet) OVERWORLD( sPicTable_BruteBonnet, @@ -5254,7 +5338,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("FluttrMane", "Flutter Mane"), + .speciesName = _("Flutter Mane"), .cryId = CRY_FLUTTER_MANE, .natDexNum = NATIONAL_DEX_FLUTTER_MANE, .categoryName = _("Paradox"), @@ -5283,6 +5367,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_FlutterMane, .iconSprite = gMonIcon_FlutterMane, .iconPalIndex = 2, + SHADOW(-2, 20, SHADOW_SIZE_S) FOOTPRINT(FlutterMane) OVERWORLD( sPicTable_FlutterMane, @@ -5319,7 +5404,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("SlithrWing", "Slither Wing"), + .speciesName = _("Slither Wing"), .cryId = CRY_SLITHER_WING, .natDexNum = NATIONAL_DEX_SLITHER_WING, .categoryName = _("Paradox"), @@ -5346,6 +5431,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_SlitherWing, .iconSprite = gMonIcon_SlitherWing, .iconPalIndex = 1, + SHADOW(-5, 13, SHADOW_SIZE_M) FOOTPRINT(SlitherWing) OVERWORLD( sPicTable_SlitherWing, @@ -5382,7 +5468,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("SndyShocks", "Sandy Shocks"), + .speciesName = _("Sandy Shocks"), .cryId = CRY_SANDY_SHOCKS, .natDexNum = NATIONAL_DEX_SANDY_SHOCKS, .categoryName = _("Paradox"), @@ -5410,6 +5496,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_SandyShocks, .iconSprite = gMonIcon_SandyShocks, .iconPalIndex = 0, + SHADOW(2, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(SandyShocks) OVERWORLD( sPicTable_SandyShocks, @@ -5446,7 +5533,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronTreads", "Iron Treads"), + .speciesName = _("Iron Treads"), .cryId = CRY_IRON_TREADS, .natDexNum = NATIONAL_DEX_IRON_TREADS, .categoryName = _("Paradox"), @@ -5474,6 +5561,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronTreads, .iconSprite = gMonIcon_IronTreads, .iconPalIndex = 1, + SHADOW(4, 3, SHADOW_SIZE_L) FOOTPRINT(IronTreads) OVERWORLD( sPicTable_IronTreads, @@ -5510,7 +5598,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_RED, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronBundle", "Iron Bundle"), + .speciesName = _("Iron Bundle"), .cryId = CRY_IRON_BUNDLE, .natDexNum = NATIONAL_DEX_IRON_BUNDLE, .categoryName = _("Paradox"), @@ -5538,6 +5626,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronBundle, .iconSprite = gMonIcon_IronBundle, .iconPalIndex = 0, + SHADOW(-1, 6, SHADOW_SIZE_M) FOOTPRINT(IronBundle) OVERWORLD( sPicTable_IronBundle, @@ -5602,6 +5691,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronHands, .iconSprite = gMonIcon_IronHands, .iconPalIndex = 0, + SHADOW(-2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(IronHands) OVERWORLD( sPicTable_IronHands, @@ -5638,7 +5728,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronJuguls", "Iron Jugulis"), + .speciesName = _("Iron Jugulis"), .cryId = CRY_IRON_JUGULIS, .natDexNum = NATIONAL_DEX_IRON_JUGULIS, .categoryName = _("Paradox"), @@ -5667,6 +5757,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronJugulis, .iconSprite = gMonIcon_IronJugulis, .iconPalIndex = 0, + SHADOW(0, 15, SHADOW_SIZE_M) FOOTPRINT(IronJugulis) OVERWORLD( sPicTable_IronJugulis, @@ -5732,6 +5823,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronMoth, .iconSprite = gMonIcon_IronMoth, .iconPalIndex = 3, + SHADOW(-4, 14, SHADOW_SIZE_M) FOOTPRINT(IronMoth) OVERWORLD( sPicTable_IronMoth, @@ -5768,7 +5860,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GREEN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronThorns", "Iron Thorns"), + .speciesName = _("Iron Thorns"), .cryId = CRY_IRON_THORNS, .natDexNum = NATIONAL_DEX_IRON_THORNS, .categoryName = _("Paradox"), @@ -5796,6 +5888,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronThorns, .iconSprite = gMonIcon_IronThorns, .iconPalIndex = 1, + SHADOW(-9, 12, SHADOW_SIZE_L) FOOTPRINT(IronThorns) OVERWORLD( sPicTable_IronThorns, @@ -5859,6 +5952,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Frigibax, .iconSprite = gMonIcon_Frigibax, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Frigibax) OVERWORLD( sPicTable_Frigibax, @@ -5921,6 +6015,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Arctibax, .iconSprite = gMonIcon_Arctibax, .iconPalIndex = 0, + SHADOW(4, 8, SHADOW_SIZE_M) FOOTPRINT(Arctibax) OVERWORLD( sPicTable_Arctibax, @@ -5982,6 +6077,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Baxcalibur, .iconSprite = gMonIcon_Baxcalibur, .iconPalIndex = 0, + SHADOW(5, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Baxcalibur) OVERWORLD( sPicTable_Baxcalibur, @@ -6044,6 +6140,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_GimmighoulChest, .iconSprite = gMonIcon_GimmighoulChest, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(GimmighoulChest) OVERWORLD( sPicTable_GimmighoulChest, @@ -6106,6 +6203,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_GimmighoulRoaming, .iconSprite = gMonIcon_GimmighoulRoaming, .iconPalIndex = 0, + SHADOW(-1, -4, SHADOW_SIZE_S) FOOTPRINT(GimmighoulRoaming) .levelUpLearnset = sGimmighoulLevelUpLearnset, .teachableLearnset = sGimmighoulTeachableLearnset, @@ -6160,6 +6258,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Gholdengo, .iconSprite = gMonIcon_Gholdengo, .iconPalIndex = 0, + SHADOW(3, 13, SHADOW_SIZE_M) FOOTPRINT(Gholdengo) OVERWORLD( sPicTable_Gholdengo, @@ -6222,6 +6321,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_WoChien, .iconSprite = gMonIcon_WoChien, .iconPalIndex = 1, + SHADOW(0, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(WoChien) OVERWORLD( sPicTable_WoChien, @@ -6232,6 +6332,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = gShinyOverworldPalette_WoChien ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sWoChienLevelUpLearnset, .teachableLearnset = sWoChienTeachableLearnset, }, @@ -6285,6 +6386,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_ChienPao, .iconSprite = gMonIcon_ChienPao, .iconPalIndex = 0, + SHADOW(-4, 8, SHADOW_SIZE_L) FOOTPRINT(ChienPao) OVERWORLD( sPicTable_ChienPao, @@ -6295,6 +6397,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = gShinyOverworldPalette_ChienPao ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sChienPaoLevelUpLearnset, .teachableLearnset = sChienPaoTeachableLearnset, }, @@ -6348,6 +6451,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TingLu, .iconSprite = gMonIcon_TingLu, .iconPalIndex = 0, + SHADOW(12, 13, SHADOW_SIZE_L) FOOTPRINT(TingLu) OVERWORLD( sPicTable_TingLu, @@ -6358,6 +6462,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = gShinyOverworldPalette_TingLu ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sTingLuLevelUpLearnset, .teachableLearnset = sTingLuTeachableLearnset, }, @@ -6412,6 +6517,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_ChiYu, .iconSprite = gMonIcon_ChiYu, .iconPalIndex = 0, + SHADOW(0, 16, SHADOW_SIZE_S) FOOTPRINT(ChiYu) OVERWORLD( sPicTable_ChiYu, @@ -6422,6 +6528,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = gShinyOverworldPalette_ChiYu ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sChiYuLevelUpLearnset, .teachableLearnset = sChiYuTeachableLearnset, }, @@ -6448,7 +6555,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("RoarngMoon", "Roaring Moon"), + .speciesName = _("Roaring Moon"), .cryId = CRY_ROARING_MOON, .natDexNum = NATIONAL_DEX_ROARING_MOON, .categoryName = _("Paradox"), @@ -6477,6 +6584,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_RoaringMoon, .iconSprite = gMonIcon_RoaringMoon, .iconPalIndex = 0, + SHADOW(3, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(RoaringMoon) OVERWORLD( sPicTable_RoaringMoon, @@ -6513,7 +6621,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronVliant", "Iron Valiant"), + .speciesName = _("Iron Valiant"), .cryId = CRY_IRON_VALIANT, .natDexNum = NATIONAL_DEX_IRON_VALIANT, .categoryName = _("Paradox"), @@ -6540,6 +6648,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronValiant, .iconSprite = gMonIcon_IronValiant, .iconPalIndex = 1, + SHADOW(2, 14, SHADOW_SIZE_L) FOOTPRINT(IronValiant) OVERWORLD( sPicTable_IronValiant, @@ -6603,6 +6712,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Koraidon, .iconSprite = gMonIcon_Koraidon, .iconPalIndex = 0, + SHADOW(-3, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Koraidon) OVERWORLD( sPicTable_Koraidon, @@ -6614,6 +6724,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sKoraidonLevelUpLearnset, .teachableLearnset = sKoraidonTeachableLearnset, }, @@ -6667,6 +6778,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Miraidon, .iconSprite = gMonIcon_Miraidon, .iconPalIndex = 2, + SHADOW(10, 14, SHADOW_SIZE_L) FOOTPRINT(Miraidon) OVERWORLD( sPicTable_Miraidon, @@ -6678,6 +6790,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMiraidonLevelUpLearnset, .teachableLearnset = sMiraidonTeachableLearnset, }, @@ -6704,7 +6817,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("WalkngWake", "Walking Wake"), + .speciesName = _("Walking Wake"), .cryId = CRY_WALKING_WAKE, .natDexNum = NATIONAL_DEX_WALKING_WAKE, .categoryName = _("Paradox"), @@ -6731,6 +6844,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_WalkingWake, .iconSprite = gMonIcon_WalkingWake, .iconPalIndex = 2, + SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(WalkingWake) OVERWORLD( sPicTable_WalkingWake, @@ -6767,7 +6881,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GREEN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronLeaves", "Iron Leaves"), + .speciesName = _("Iron Leaves"), .cryId = CRY_IRON_LEAVES, .natDexNum = NATIONAL_DEX_IRON_LEAVES, .categoryName = _("Paradox"), @@ -6794,6 +6908,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronLeaves, .iconSprite = gMonIcon_IronLeaves, .iconPalIndex = 1, + SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(IronLeaves) OVERWORLD( sPicTable_IronLeaves, @@ -6829,7 +6944,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_HOSPITALITY, ABILITY_NONE, ABILITY_HEATPROOF }, .bodyColor = BODY_COLOR_GREEN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Ptchageist", "Poltchageist"), + .speciesName = _("Poltchageist"), .cryId = CRY_POLTCHAGEIST, .natDexNum = NATIONAL_DEX_POLTCHAGEIST, .categoryName = _("Matcha"), @@ -6858,6 +6973,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Poltchageist, .iconSprite = gMonIcon_Poltchageist, .iconPalIndex = 1, + SHADOW(-1, 14, SHADOW_SIZE_S) FOOTPRINT(Poltchageist) OVERWORLD( sPicTable_Poltchageist, @@ -6890,7 +7006,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_HOSPITALITY, ABILITY_NONE, ABILITY_HEATPROOF }, .bodyColor = BODY_COLOR_GREEN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Ptchageist", "Poltchageist"), + .speciesName = _("Poltchageist"), .cryId = CRY_POLTCHAGEIST, .natDexNum = NATIONAL_DEX_POLTCHAGEIST, .categoryName = _("Matcha"), @@ -6919,6 +7035,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Poltchageist, .iconSprite = gMonIcon_Poltchageist, .iconPalIndex = 1, + SHADOW(-1, 14, SHADOW_SIZE_S) FOOTPRINT(Poltchageist) OVERWORLD( sPicTable_Poltchageist, @@ -6981,6 +7098,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Sinistcha, .iconSprite = gMonIcon_Sinistcha, .iconPalIndex = 1, + SHADOW(0, 11, SHADOW_SIZE_M) FOOTPRINT(Sinistcha) OVERWORLD( sPicTable_Sinistcha, @@ -7041,6 +7159,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Sinistcha, .iconSprite = gMonIcon_Sinistcha, .iconPalIndex = 1, + SHADOW(0, 11, SHADOW_SIZE_M) FOOTPRINT(Sinistcha) OVERWORLD( sPicTable_Sinistcha, @@ -7103,6 +7222,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Okidogi, .iconSprite = gMonIcon_Okidogi, .iconPalIndex = 1, + SHADOW(-1, 11, SHADOW_SIZE_L) FOOTPRINT(Okidogi) OVERWORLD( sPicTable_Okidogi, @@ -7113,6 +7233,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = gShinyOverworldPalette_Okidogi ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sOkidogiLevelUpLearnset, .teachableLearnset = sOkidogiTeachableLearnset, }, @@ -7166,6 +7287,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Munkidori, .iconSprite = gMonIcon_Munkidori, .iconPalIndex = 0, + SHADOW(1, 8, SHADOW_SIZE_S) FOOTPRINT(Munkidori) OVERWORLD( sPicTable_Munkidori, @@ -7176,6 +7298,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = gShinyOverworldPalette_Munkidori ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sMunkidoriLevelUpLearnset, .teachableLearnset = sMunkidoriTeachableLearnset, }, @@ -7201,7 +7324,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_TOXIC_CHAIN, ABILITY_NONE, ABILITY_TECHNICIAN }, .bodyColor = BODY_COLOR_BLACK, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Fezndipiti", "Fezandipiti"), + .speciesName = _("Fezandipiti"), .cryId = CRY_FEZANDIPITI, .natDexNum = NATIONAL_DEX_FEZANDIPITI, .categoryName = _("Retainer"), @@ -7229,6 +7352,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Fezandipiti, .iconSprite = gMonIcon_Fezandipiti, .iconPalIndex = 0, + SHADOW(-3, 10, SHADOW_SIZE_M) FOOTPRINT(Fezandipiti) OVERWORLD( sPicTable_Fezandipiti, @@ -7239,6 +7363,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = gShinyOverworldPalette_Fezandipiti ) .isLegendary = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sFezandipitiLevelUpLearnset, .teachableLearnset = sFezandipitiTeachableLearnset, }, @@ -7276,27 +7401,28 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .pokemonOffset = 17, \ .trainerScale = 256, \ .trainerOffset = 0, \ - .frontPic = gMonFrontPic_Ogerpon##Form1##Form2, \ + .frontPic = gMonFrontPic_Ogerpon##Form2, \ .frontPicSize = MON_COORDS_SIZE(64, 64), \ .frontPicYOffset = 0, \ .frontAnimFrames = sAnims_Ogerpon, \ /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ \ - .backPic = gMonBackPic_Ogerpon##Form1##Form2, \ + .backPic = gMonBackPic_Ogerpon##Form2, \ .backPicSize = MON_COORDS_SIZE(64, 64), \ .backPicYOffset = 0, \ /*.backAnimId = BACK_ANIM_NONE,*/ \ - .palette = gMonPalette_Ogerpon##Form1##Form2, \ - .shinyPalette = gMonShinyPalette_Ogerpon##Form1##Form2, \ - .iconSprite = gMonIcon_Ogerpon##Form1##Mask, \ + .palette = gMonPalette_Ogerpon##Form2, \ + .shinyPalette = gMonShinyPalette_Ogerpon##Form2, \ + .iconSprite = gMonIcon_Ogerpon##Form1, \ .iconPalIndex = iconpalette, \ + SHADOW(7, 13, SHADOW_SIZE_L) \ FOOTPRINT(Ogerpon) \ OVERWORLD( \ - sPicTable_Ogerpon##Form1##Form2, \ + sPicTable_Ogerpon##Form2, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ - gOverworldPalette_Ogerpon##Form1##Form2, \ - gShinyOverworldPalette_Ogerpon##Form1##Form2 \ + gOverworldPalette_Ogerpon##Form2, \ + gShinyOverworldPalette_Ogerpon##Form2 \ ) \ .levelUpLearnset = sOgerponLevelUpLearnset, \ .teachableLearnset = sOgerponTeachableLearnset, \ @@ -7304,17 +7430,18 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .formChangeTable = sOgerponFormChangeTable, \ .isLegendary = TRUE, \ .isTeraForm = isTeraform, \ + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, \ } - [SPECIES_OGERPON_TEAL_MASK] = OGERPON_SPECIES_INFO(Teal, Mask, TYPE_GRASS, ABILITY_DEFIANT, BODY_COLOR_GREEN, 1, FALSE), - [SPECIES_OGERPON_WELLSPRING_MASK] = OGERPON_SPECIES_INFO(Wellspring, Mask, TYPE_WATER, ABILITY_WATER_ABSORB, BODY_COLOR_BLUE, 0, FALSE), - [SPECIES_OGERPON_HEARTHFLAME_MASK] = OGERPON_SPECIES_INFO(Hearthflame, Mask, TYPE_FIRE, ABILITY_MOLD_BREAKER, BODY_COLOR_RED, 0, FALSE), - [SPECIES_OGERPON_CORNERSTONE_MASK] = OGERPON_SPECIES_INFO(Cornerstone, Mask, TYPE_ROCK, ABILITY_STURDY, BODY_COLOR_GRAY, 0, FALSE), + [SPECIES_OGERPON_TEAL] = OGERPON_SPECIES_INFO(Teal, Teal, TYPE_GRASS, ABILITY_DEFIANT, BODY_COLOR_GREEN, 1, FALSE), + [SPECIES_OGERPON_WELLSPRING] = OGERPON_SPECIES_INFO(Wellspring, Wellspring, TYPE_WATER, ABILITY_WATER_ABSORB, BODY_COLOR_BLUE, 0, FALSE), + [SPECIES_OGERPON_HEARTHFLAME] = OGERPON_SPECIES_INFO(Hearthflame, Hearthflame, TYPE_FIRE, ABILITY_MOLD_BREAKER, BODY_COLOR_RED, 0, FALSE), + [SPECIES_OGERPON_CORNERSTONE] = OGERPON_SPECIES_INFO(Cornerstone, Cornerstone, TYPE_ROCK, ABILITY_STURDY, BODY_COLOR_GRAY, 0, FALSE), #if P_TERA_FORMS - [SPECIES_OGERPON_TEAL_MASK_TERA] = OGERPON_SPECIES_INFO(Teal, MaskTera, TYPE_GRASS, ABILITY_EMBODY_ASPECT_TEAL_MASK, BODY_COLOR_GREEN, 1, TRUE), - [SPECIES_OGERPON_WELLSPRING_MASK_TERA] = OGERPON_SPECIES_INFO(Wellspring, MaskTera, TYPE_WATER, ABILITY_EMBODY_ASPECT_WELLSPRING_MASK, BODY_COLOR_BLUE, 0, TRUE), - [SPECIES_OGERPON_HEARTHFLAME_MASK_TERA] = OGERPON_SPECIES_INFO(Hearthflame, MaskTera, TYPE_FIRE, ABILITY_EMBODY_ASPECT_HEARTHFLAME_MASK, BODY_COLOR_RED, 0, TRUE), - [SPECIES_OGERPON_CORNERSTONE_MASK_TERA] = OGERPON_SPECIES_INFO(Cornerstone, MaskTera, TYPE_ROCK, ABILITY_EMBODY_ASPECT_CORNERSTONE_MASK, BODY_COLOR_GRAY, 0, TRUE), + [SPECIES_OGERPON_TEAL_TERA] = OGERPON_SPECIES_INFO(Teal, TealTera, TYPE_GRASS, ABILITY_EMBODY_ASPECT_TEAL_MASK, BODY_COLOR_GREEN, 1, TRUE), + [SPECIES_OGERPON_WELLSPRING_TERA] = OGERPON_SPECIES_INFO(Wellspring, WellspringTera, TYPE_WATER, ABILITY_EMBODY_ASPECT_WELLSPRING_MASK, BODY_COLOR_BLUE, 0, TRUE), + [SPECIES_OGERPON_HEARTHFLAME_TERA] = OGERPON_SPECIES_INFO(Hearthflame, HearthflameTera, TYPE_FIRE, ABILITY_EMBODY_ASPECT_HEARTHFLAME_MASK, BODY_COLOR_RED, 0, TRUE), + [SPECIES_OGERPON_CORNERSTONE_TERA] = OGERPON_SPECIES_INFO(Cornerstone, CornerstoneTera, TYPE_ROCK, ABILITY_EMBODY_ASPECT_CORNERSTONE_MASK, BODY_COLOR_GRAY, 0, TRUE), #endif //P_TERA_FORMS #endif //P_FAMILY_OGERPON @@ -7340,7 +7467,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BROWN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("GouginFire", "Gouging Fire"), + .speciesName = _("Gouging Fire"), .cryId = CRY_GOUGING_FIRE, .natDexNum = NATIONAL_DEX_GOUGING_FIRE, .categoryName = _("Paradox"), @@ -7368,6 +7495,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_GougingFire, .iconSprite = gMonIcon_GougingFire, .iconPalIndex = 5, + SHADOW(-1, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(GougingFire) OVERWORLD( sPicTable_GougingFire, @@ -7404,7 +7532,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("RagingBolt", "Raging Bolt"), + .speciesName = _("Raging Bolt"), .cryId = CRY_RAGING_BOLT, .natDexNum = NATIONAL_DEX_RAGING_BOLT, .categoryName = _("Paradox"), @@ -7432,6 +7560,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_RagingBolt, .iconSprite = gMonIcon_RagingBolt, .iconPalIndex = 2, + SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(RagingBolt) OVERWORLD( sPicTable_RagingBolt, @@ -7468,7 +7597,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronBouldr", "Iron Boulder"), + .speciesName = _("Iron Boulder"), .cryId = CRY_IRON_BOULDER, .natDexNum = NATIONAL_DEX_IRON_BOULDER, .categoryName = _("Paradox"), @@ -7495,6 +7624,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronBoulder, .iconSprite = gMonIcon_IronBoulder, .iconPalIndex = 5, + SHADOW(4, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(IronBoulder) OVERWORLD( sPicTable_IronBoulder, @@ -7559,6 +7689,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronCrown, .iconSprite = gMonIcon_IronCrown, .iconPalIndex = 3, + SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(IronCrown) OVERWORLD( sPicTable_IronCrown, @@ -7624,6 +7755,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TerapagosNormal, .iconSprite = gMonIcon_TerapagosNormal, .iconPalIndex = 0, + SHADOW(3, 13, SHADOW_SIZE_L) FOOTPRINT(TerapagosNormal) OVERWORLD( sPicTable_TerapagosNormal, @@ -7635,6 +7767,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sTerapagosLevelUpLearnset, .teachableLearnset = sTerapagosTeachableLearnset, .formSpeciesIdTable = sTerapagosFormSpeciesIdTable, @@ -7691,6 +7824,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TerapagosTerastal, .iconSprite = gMonIcon_TerapagosTerastal, .iconPalIndex = 0, + SHADOW(-4, 4, SHADOW_SIZE_L) FOOTPRINT(TerapagosTerastal) OVERWORLD( sPicTable_TerapagosTerastal, @@ -7702,6 +7836,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = ) .isLegendary = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sTerapagosLevelUpLearnset, .teachableLearnset = sTerapagosTeachableLearnset, .formSpeciesIdTable = sTerapagosFormSpeciesIdTable, @@ -7756,10 +7891,12 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TerapagosStellar, .iconSprite = gMonIcon_TerapagosStellar, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_L) FOOTPRINT(TerapagosStellar) .isLegendary = TRUE, .isTeraForm = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sTerapagosLevelUpLearnset, .teachableLearnset = sTerapagosTeachableLearnset, .formSpeciesIdTable = sTerapagosFormSpeciesIdTable, @@ -7815,6 +7952,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Pecharunt, .iconSprite = gMonIcon_Pecharunt, .iconPalIndex = 0, + SHADOW(2, 1, SHADOW_SIZE_L) FOOTPRINT(Pecharunt) OVERWORLD( sPicTable_Pecharunt, @@ -7826,6 +7964,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = ) .isMythical = TRUE, .isFrontierBanned = TRUE, + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sPecharuntLevelUpLearnset, .teachableLearnset = sPecharuntTeachableLearnset, }, diff --git a/src/data/pokemon/species_info/shared_dex_text.h b/src/data/pokemon/species_info/shared_dex_text.h index bf7e12aefb6f..370b0040979b 100644 --- a/src/data/pokemon/species_info/shared_dex_text.h +++ b/src/data/pokemon/species_info/shared_dex_text.h @@ -6,7 +6,7 @@ const u8 gFallbackPokedexText[] = _( "at this time."); // Gen 1 families -const u8 gRaticateAlolanPokedexText[] = _( +const u8 gRaticateAlolaPokedexText[] = _( "It forms a group of Rattata, which it \n" "assumes command of. Each group\n" "has its own territory, and disputes\n" @@ -24,7 +24,7 @@ const u8 gPikachuPokedexText[] = _( "energy in a burst, the electric power is\n" "equal to a lightning bolt."); -const u8 gMarowakAlolanPokedexText[] = _( +const u8 gMarowakAlolaPokedexText[] = _( "The cursed flames that light up the bone\n" "carried by this Pokémon are said\n" "to cause both mental and physical\n" diff --git a/src/data/pokemon/teachable_learnsets.h b/src/data/pokemon/teachable_learnsets.h index a8f660558838..46354db5a0d8 100644 --- a/src/data/pokemon/teachable_learnsets.h +++ b/src/data/pokemon/teachable_learnsets.h @@ -728,7 +728,7 @@ static const u16 sRaticateTeachableLearnset[] = { }; #if P_ALOLAN_FORMS -static const u16 sRattataAlolanTeachableLearnset[] = { +static const u16 sRattataAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIG, @@ -757,7 +757,7 @@ static const u16 sRattataAlolanTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sRaticateAlolanTeachableLearnset[] = { +static const u16 sRaticateAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_BULK_UP, @@ -1031,7 +1031,7 @@ static const u16 sRaichuTeachableLearnset[] = { }; #if P_ALOLAN_FORMS -static const u16 sRaichuAlolanTeachableLearnset[] = { +static const u16 sRaichuAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_CALM_MIND, @@ -1155,7 +1155,7 @@ static const u16 sSandslashTeachableLearnset[] = { }; #if P_ALOLAN_FORMS -static const u16 sSandshrewAlolanTeachableLearnset[] = { +static const u16 sSandshrewAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, @@ -1194,7 +1194,7 @@ static const u16 sSandshrewAlolanTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sSandslashAlolanTeachableLearnset[] = { +static const u16 sSandslashAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, @@ -1731,7 +1731,7 @@ static const u16 sNinetalesTeachableLearnset[] = { }; #if P_ALOLAN_FORMS -static const u16 sVulpixAlolanTeachableLearnset[] = { +static const u16 sVulpixAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIG, @@ -1759,7 +1759,7 @@ static const u16 sVulpixAlolanTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sNinetalesAlolanTeachableLearnset[] = { +static const u16 sNinetalesAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_CALM_MIND, @@ -2339,7 +2339,7 @@ static const u16 sDugtrioTeachableLearnset[] = { }; #if P_ALOLAN_FORMS -static const u16 sDiglettAlolanTeachableLearnset[] = { +static const u16 sDiglettAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_DIG, @@ -2365,7 +2365,7 @@ static const u16 sDiglettAlolanTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sDugtrioAlolanTeachableLearnset[] = { +static const u16 sDugtrioAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_DIG, @@ -2477,7 +2477,7 @@ static const u16 sPersianTeachableLearnset[] = { }; #if P_ALOLAN_FORMS -static const u16 sMeowthAlolanTeachableLearnset[] = { +static const u16 sMeowthAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_DIG, @@ -2512,7 +2512,7 @@ static const u16 sMeowthAlolanTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sPersianAlolanTeachableLearnset[] = { +static const u16 sPersianAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_DIG, @@ -2551,7 +2551,7 @@ static const u16 sPersianAlolanTeachableLearnset[] = { #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS -static const u16 sMeowthGalarianTeachableLearnset[] = { +static const u16 sMeowthGalarTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BRICK_BREAK, @@ -2910,7 +2910,7 @@ static const u16 sArcanineTeachableLearnset[] = { }; #if P_HISUIAN_FORMS -static const u16 sGrowlitheHisuianTeachableLearnset[] = { +static const u16 sGrowlitheHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_DIG, MOVE_FACADE, @@ -2934,7 +2934,7 @@ static const u16 sGrowlitheHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sArcanineHisuianTeachableLearnset[] = { +static const u16 sArcanineHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_DIG, MOVE_FACADE, @@ -3677,7 +3677,7 @@ static const u16 sGolemTeachableLearnset[] = { }; #if P_ALOLAN_FORMS -static const u16 sGeodudeAlolanTeachableLearnset[] = { +static const u16 sGeodudeAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_DIG, @@ -3715,7 +3715,7 @@ static const u16 sGeodudeAlolanTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sGravelerAlolanTeachableLearnset[] = { +static const u16 sGravelerAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_DIG, @@ -3755,7 +3755,7 @@ static const u16 sGravelerAlolanTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sGolemAlolanTeachableLearnset[] = { +static const u16 sGolemAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_DIG, @@ -3854,7 +3854,7 @@ static const u16 sRapidashTeachableLearnset[] = { }; #if P_GALARIAN_FORMS -static const u16 sPonytaGalarianTeachableLearnset[] = { +static const u16 sPonytaGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_FACADE, @@ -3873,7 +3873,7 @@ static const u16 sPonytaGalarianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sRapidashGalarianTeachableLearnset[] = { +static const u16 sRapidashGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_FACADE, @@ -4064,7 +4064,7 @@ static const u16 sSlowkingTeachableLearnset[] = { #endif //P_GEN_2_CROSS_EVOS #if P_GALARIAN_FORMS -static const u16 sSlowpokeGalarianTeachableLearnset[] = { +static const u16 sSlowpokeGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_CALM_MIND, @@ -4100,7 +4100,7 @@ static const u16 sSlowpokeGalarianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sSlowbroGalarianTeachableLearnset[] = { +static const u16 sSlowbroGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_BRICK_BREAK, @@ -4147,7 +4147,7 @@ static const u16 sSlowbroGalarianTeachableLearnset[] = { }; #if P_GEN_2_CROSS_EVOS -static const u16 sSlowkingGalarianTeachableLearnset[] = { +static const u16 sSlowkingGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_BRICK_BREAK, @@ -4320,7 +4320,7 @@ static const u16 sFarfetchdTeachableLearnset[] = { }; #if P_GALARIAN_FORMS -static const u16 sFarfetchdGalarianTeachableLearnset[] = { +static const u16 sFarfetchdGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_FACADE, @@ -4567,7 +4567,7 @@ static const u16 sMukTeachableLearnset[] = { }; #if P_ALOLAN_FORMS -static const u16 sGrimerAlolanTeachableLearnset[] = { +static const u16 sGrimerAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_DIG, @@ -4608,7 +4608,7 @@ static const u16 sGrimerAlolanTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sMukAlolanTeachableLearnset[] = { +static const u16 sMukAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_DIG, @@ -5128,7 +5128,7 @@ static const u16 sElectrodeTeachableLearnset[] = { }; #if P_HISUIAN_FORMS -static const u16 sVoltorbHisuianTeachableLearnset[] = { +static const u16 sVoltorbHisuiTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_FACADE, MOVE_GIGA_DRAIN, @@ -5151,7 +5151,7 @@ static const u16 sVoltorbHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sElectrodeHisuianTeachableLearnset[] = { +static const u16 sElectrodeHisuiTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_FACADE, MOVE_GIGA_DRAIN, @@ -5247,7 +5247,7 @@ static const u16 sExeggutorTeachableLearnset[] = { }; #if P_ALOLAN_FORMS -static const u16 sExeggutorAlolanTeachableLearnset[] = { +static const u16 sExeggutorAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, @@ -5378,7 +5378,7 @@ static const u16 sMarowakTeachableLearnset[] = { }; #if P_ALOLAN_FORMS -static const u16 sMarowakAlolanTeachableLearnset[] = { +static const u16 sMarowakAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, @@ -5754,7 +5754,7 @@ static const u16 sWeezingTeachableLearnset[] = { }; #if P_GALARIAN_FORMS -static const u16 sWeezingGalarianTeachableLearnset[] = { +static const u16 sWeezingGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -6548,7 +6548,7 @@ static const u16 sMrMimeTeachableLearnset[] = { }; #if P_GALARIAN_FORMS -static const u16 sMrMimeGalarianTeachableLearnset[] = { +static const u16 sMrMimeGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_BRICK_BREAK, @@ -7148,7 +7148,7 @@ static const u16 sTaurosTeachableLearnset[] = { }; #if P_PALDEAN_FORMS -static const u16 sTaurosPaldeanCombatBreedTeachableLearnset[] = { +static const u16 sTaurosPaldeaCombatTeachableLearnset[] = { MOVE_BULK_UP, MOVE_DIG, MOVE_EARTHQUAKE, @@ -7171,7 +7171,7 @@ static const u16 sTaurosPaldeanCombatBreedTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sTaurosPaldeanBlazeBreedTeachableLearnset[] = { +static const u16 sTaurosPaldeaBlazeTeachableLearnset[] = { MOVE_BULK_UP, MOVE_DIG, MOVE_EARTHQUAKE, @@ -7196,7 +7196,7 @@ static const u16 sTaurosPaldeanBlazeBreedTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sTaurosPaldeanAquaBreedTeachableLearnset[] = { +static const u16 sTaurosPaldeaAquaTeachableLearnset[] = { MOVE_BULK_UP, MOVE_DIG, MOVE_EARTHQUAKE, @@ -8075,7 +8075,7 @@ static const u16 sArticunoTeachableLearnset[] = { }; #if P_GALARIAN_FORMS -static const u16 sArticunoGalarianTeachableLearnset[] = { +static const u16 sArticunoGalarTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, MOVE_FACADE, @@ -8136,7 +8136,7 @@ static const u16 sZapdosTeachableLearnset[] = { }; #if P_GALARIAN_FORMS -static const u16 sZapdosGalarianTeachableLearnset[] = { +static const u16 sZapdosGalarTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_BULK_UP, @@ -8197,7 +8197,7 @@ static const u16 sMoltresTeachableLearnset[] = { }; #if P_GALARIAN_FORMS -static const u16 sMoltresGalarianTeachableLearnset[] = { +static const u16 sMoltresGalarTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_FACADE, MOVE_FLY, @@ -8643,7 +8643,7 @@ static const u16 sTyphlosionTeachableLearnset[] = { }; #if P_HISUIAN_FORMS -static const u16 sTyphlosionHisuianTeachableLearnset[] = { +static const u16 sTyphlosionHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_CALM_MIND, @@ -10091,7 +10091,7 @@ static const u16 sQuagsireTeachableLearnset[] = { }; #if P_PALDEAN_FORMS -static const u16 sWooperPaldeanTeachableLearnset[] = { +static const u16 sWooperPaldeaTeachableLearnset[] = { MOVE_DIG, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -10767,7 +10767,7 @@ static const u16 sQwilfishTeachableLearnset[] = { }; #if P_HISUIAN_FORMS -static const u16 sQwilfishHisuianTeachableLearnset[] = { +static const u16 sQwilfishHisuiTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_FACADE, MOVE_ICE_BEAM, @@ -10990,7 +10990,7 @@ static const u16 sWeavileTeachableLearnset[] = { #endif //P_GEN_4_CROSS_EVOS #if P_HISUIAN_FORMS -static const u16 sSneaselHisuianTeachableLearnset[] = { +static const u16 sSneaselHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_BULK_UP, @@ -11434,7 +11434,7 @@ static const u16 sCorsolaTeachableLearnset[] = { }; #if P_GALARIAN_FORMS -static const u16 sCorsolaGalarianTeachableLearnset[] = { +static const u16 sCorsolaGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_CALM_MIND, @@ -12904,7 +12904,7 @@ static const u16 sLinooneTeachableLearnset[] = { }; #if P_GALARIAN_FORMS -static const u16 sZigzagoonGalarianTeachableLearnset[] = { +static const u16 sZigzagoonGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIG, @@ -12933,7 +12933,7 @@ static const u16 sZigzagoonGalarianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sLinooneGalarianTeachableLearnset[] = { +static const u16 sLinooneGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIG, @@ -18932,7 +18932,7 @@ static const u16 sWormadamPlantCloakTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sWormadamSandyCloakTeachableLearnset[] = { +static const u16 sWormadamSandyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, MOVE_DOUBLE_TEAM, @@ -18965,7 +18965,7 @@ static const u16 sWormadamSandyCloakTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sWormadamTrashCloakTeachableLearnset[] = { +static const u16 sWormadamTrashTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, MOVE_DOUBLE_TEAM, @@ -21335,7 +21335,7 @@ static const u16 sSamurottTeachableLearnset[] = { }; #if P_HISUIAN_FORMS -static const u16 sSamurottHisuianTeachableLearnset[] = { +static const u16 sSamurottHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, MOVE_BRICK_BREAK, @@ -22725,7 +22725,7 @@ static const u16 sLilligantTeachableLearnset[] = { }; #if P_HISUIAN_FORMS -static const u16 sLilligantHisuianTeachableLearnset[] = { +static const u16 sLilligantHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, @@ -23011,7 +23011,7 @@ static const u16 sDarmanitanTeachableLearnset[] = { }; #if P_GALARIAN_FORMS -static const u16 sDarumakaGalarianTeachableLearnset[] = { +static const u16 sDarumakaGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_BRICK_BREAK, @@ -23040,7 +23040,7 @@ static const u16 sDarumakaGalarianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sDarmanitanGalarianTeachableLearnset[] = { +static const u16 sDarmanitanGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_BRICK_BREAK, @@ -23333,7 +23333,7 @@ static const u16 sCofagrigusTeachableLearnset[] = { }; #if P_GALARIAN_FORMS -static const u16 sYamaskGalarianTeachableLearnset[] = { +static const u16 sYamaskGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_EARTHQUAKE, @@ -23631,7 +23631,7 @@ static const u16 sZoroarkTeachableLearnset[] = { }; #if P_HISUIAN_FORMS -static const u16 sZoruaHisuianTeachableLearnset[] = { +static const u16 sZoruaHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_CALM_MIND, MOVE_DIG, @@ -23655,7 +23655,7 @@ static const u16 sZoruaHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sZoroarkHisuianTeachableLearnset[] = { +static const u16 sZoroarkHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_CALM_MIND, @@ -25087,7 +25087,7 @@ static const u16 sStunfiskTeachableLearnset[] = { }; #if P_GALARIAN_FORMS -static const u16 sStunfiskGalarianTeachableLearnset[] = { +static const u16 sStunfiskGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, MOVE_EARTHQUAKE, @@ -25492,7 +25492,7 @@ static const u16 sBraviaryTeachableLearnset[] = { }; #if P_HISUIAN_FORMS -static const u16 sBraviaryHisuianTeachableLearnset[] = { +static const u16 sBraviaryHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BULK_UP, MOVE_CALM_MIND, @@ -26918,7 +26918,7 @@ static const u16 sFloetteTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sFloetteEternalFlowerTeachableLearnset[] = { +static const u16 sFloetteEternalTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, @@ -27188,7 +27188,7 @@ static const u16 sEspurrTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sMeowsticMaleTeachableLearnset[] = { +static const u16 sMeowsticMTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_CUT, @@ -27224,7 +27224,7 @@ static const u16 sMeowsticMaleTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sMeowsticFemaleTeachableLearnset[] = { +static const u16 sMeowsticFTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_CUT, @@ -28137,7 +28137,7 @@ static const u16 sGoodraTeachableLearnset[] = { }; #if P_HISUIAN_FORMS -static const u16 sSliggooHisuianTeachableLearnset[] = { +static const u16 sSliggooHisuiTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_FACADE, MOVE_ICE_BEAM, @@ -28160,7 +28160,7 @@ static const u16 sSliggooHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sGoodraHisuianTeachableLearnset[] = { +static const u16 sGoodraHisuiTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, @@ -28422,7 +28422,7 @@ static const u16 sAvaluggTeachableLearnset[] = { }; #if P_HISUIAN_FORMS -static const u16 sAvaluggHisuianTeachableLearnset[] = { +static const u16 sAvaluggHisuiTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_DIG, MOVE_EARTHQUAKE, @@ -28846,7 +28846,7 @@ static const u16 sDecidueyeTeachableLearnset[] = { }; #if P_HISUIAN_FORMS -static const u16 sDecidueyeHisuianTeachableLearnset[] = { +static const u16 sDecidueyeHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_BULK_UP, @@ -32722,7 +32722,7 @@ static const u16 sEiscueTeachableLearnset[] = { #endif //P_FAMILY_EISCUE #if P_FAMILY_INDEEDEE -static const u16 sIndeedeeMaleTeachableLearnset[] = { +static const u16 sIndeedeeMTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_FACADE, @@ -32741,7 +32741,7 @@ static const u16 sIndeedeeMaleTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sIndeedeeFemaleTeachableLearnset[] = { +static const u16 sIndeedeeFTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_FACADE, @@ -33180,7 +33180,7 @@ static const u16 sKubfuTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sUrshifuSingleStrikeStyleTeachableLearnset[] = { +static const u16 sUrshifuSingleStrikeTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BRICK_BREAK, @@ -33212,7 +33212,7 @@ static const u16 sUrshifuSingleStrikeStyleTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sUrshifuRapidStrikeStyleTeachableLearnset[] = { +static const u16 sUrshifuRapidStrikeTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BRICK_BREAK, @@ -33394,7 +33394,7 @@ static const u16 sCalyrexTeachableLearnset[] = { }; #if P_FUSION_FORMS -static const u16 sCalyrexIceRiderTeachableLearnset[] = { +static const u16 sCalyrexIceTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_BULLET_SEED, MOVE_CALM_MIND, @@ -33428,7 +33428,7 @@ static const u16 sCalyrexIceRiderTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -static const u16 sCalyrexShadowRiderTeachableLearnset[] = { +static const u16 sCalyrexShadowTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CALM_MIND, MOVE_FACADE, diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index 5b49ed6d203f..deceeb04204c 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -52,7 +52,7 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(VenusaurMega); #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(VenusaurGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(VenusaurGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_BULBASAUR @@ -89,7 +89,7 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(CharizardMegaY); #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(CharizardGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(CharizardGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_CHARMANDER @@ -125,7 +125,7 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(BlastoiseMega); #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(BlastoiseGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(BlastoiseGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SQUIRTLE @@ -169,7 +169,7 @@ static const union AnimCmd sAnim_Butterfree_1[] = }; #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(ButterfreeGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(ButterfreeGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_CATERPIE @@ -278,8 +278,8 @@ static const union AnimCmd sAnim_Raticate_1[] = }; #if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(RattataAlolan); -PLACEHOLDER_ANIM_SINGLE_FRAME(RaticateAlolan); +PLACEHOLDER_ANIM_SINGLE_FRAME(RattataAlola); +PLACEHOLDER_ANIM_SINGLE_FRAME(RaticateAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_RATTATA @@ -361,18 +361,18 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuPhD); PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuLibre); #endif //P_COSPLAY_PIKACHU_FORMS #if P_CAP_PIKACHU_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuOriginalCap); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuHoennCap); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuSinnohCap); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuUnovaCap); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuKalosCap); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuAlolaCap); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuPartnerCap); -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuWorldCap); +PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuOriginal); +PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuHoenn); +PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuSinnoh); +PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuUnova); +PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuKalos); +PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuAlola); +PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuPartner); +PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuWorld); #endif //P_CAP_PIKACHU_FORMS #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(PikachuGmax); #endif //P_GIGANTAMAX_FORMS static const union AnimCmd sAnim_Raichu_1[] = @@ -386,7 +386,7 @@ static const union AnimCmd sAnim_Raichu_1[] = }; #if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(RaichuAlolan); +PLACEHOLDER_ANIM_SINGLE_FRAME(RaichuAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_PIKACHU @@ -412,8 +412,8 @@ static const union AnimCmd sAnim_Sandslash_1[] = }; #if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(SandshrewAlolan); -PLACEHOLDER_ANIM_SINGLE_FRAME(SandslashAlolan); +PLACEHOLDER_ANIM_SINGLE_FRAME(SandshrewAlola); +PLACEHOLDER_ANIM_SINGLE_FRAME(SandslashAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_SANDSHREW @@ -523,8 +523,8 @@ static const union AnimCmd sAnim_Ninetales_1[] = }; #if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(VulpixAlolan); -PLACEHOLDER_ANIM_SINGLE_FRAME(NinetalesAlolan); +PLACEHOLDER_ANIM_SINGLE_FRAME(VulpixAlola); +PLACEHOLDER_ANIM_SINGLE_FRAME(NinetalesAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_VULPIX @@ -782,8 +782,8 @@ static const union AnimCmd sAnim_Dugtrio_1[] = }; #if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(DiglettAlolan); -PLACEHOLDER_ANIM_SINGLE_FRAME(DugtrioAlolan); +PLACEHOLDER_ANIM_SINGLE_FRAME(DiglettAlola); +PLACEHOLDER_ANIM_SINGLE_FRAME(DugtrioAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_DIGLETT @@ -807,17 +807,17 @@ static const union AnimCmd sAnim_Persian_1[] = }; #if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(MeowthAlolan); -PLACEHOLDER_ANIM_SINGLE_FRAME(PersianAlolan); +PLACEHOLDER_ANIM_SINGLE_FRAME(MeowthAlola); +PLACEHOLDER_ANIM_SINGLE_FRAME(PersianAlola); #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(MeowthGalarian); +PLACEHOLDER_ANIM_SINGLE_FRAME(MeowthGalar); PLACEHOLDER_ANIM_SINGLE_FRAME(Perrserker); #endif //P_GALARIAN_FORMS #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(MeowthGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(MeowthGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_MEOWTH @@ -892,8 +892,8 @@ static const union AnimCmd sAnim_Arcanine_1[] = }; #if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(GrowlitheHisuian); -PLACEHOLDER_ANIM_SINGLE_FRAME(ArcanineHisuian); +PLACEHOLDER_ANIM_SINGLE_FRAME(GrowlitheHisui); +PLACEHOLDER_ANIM_SINGLE_FRAME(ArcanineHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_GROWLITHE @@ -1001,7 +1001,7 @@ static const union AnimCmd sAnim_Machamp_1[] = }; #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(MachampGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(MachampGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_MACHOP @@ -1091,9 +1091,9 @@ static const union AnimCmd sAnim_Golem_1[] = }; #if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(GeodudeAlolan); -PLACEHOLDER_ANIM_SINGLE_FRAME(GravelerAlolan); -PLACEHOLDER_ANIM_SINGLE_FRAME(GolemAlolan); +PLACEHOLDER_ANIM_SINGLE_FRAME(GeodudeAlola); +PLACEHOLDER_ANIM_SINGLE_FRAME(GravelerAlola); +PLACEHOLDER_ANIM_SINGLE_FRAME(GolemAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_GEODUDE @@ -1114,8 +1114,8 @@ static const union AnimCmd sAnim_Rapidash_1[] = }; #if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(PonytaGalarian); -PLACEHOLDER_ANIM_SINGLE_FRAME(RapidashGalarian); +PLACEHOLDER_ANIM_SINGLE_FRAME(PonytaGalar); +PLACEHOLDER_ANIM_SINGLE_FRAME(RapidashGalar); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_PONYTA @@ -1150,10 +1150,10 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(SlowbroMega); #endif //P_MEGA_EVOLUTIONS #if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(SlowpokeGalarian); -PLACEHOLDER_ANIM_SINGLE_FRAME(SlowbroGalarian); +PLACEHOLDER_ANIM_SINGLE_FRAME(SlowpokeGalar); +PLACEHOLDER_ANIM_SINGLE_FRAME(SlowbroGalar); #if P_GEN_2_CROSS_EVOS -PLACEHOLDER_ANIM_SINGLE_FRAME(SlowkingGalarian); +PLACEHOLDER_ANIM_SINGLE_FRAME(SlowkingGalar); #endif //P_GEN_2_CROSS_EVOS #endif //P_GALARIAN_FORMS #endif //P_FAMILY_SLOWPOKE @@ -1213,7 +1213,7 @@ static const union AnimCmd sAnim_Farfetchd_1[] = }; #if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(FarfetchdGalarian); +PLACEHOLDER_ANIM_SINGLE_FRAME(FarfetchdGalar); PLACEHOLDER_ANIM_SINGLE_FRAME(Sirfetchd); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_FARFETCHD @@ -1283,8 +1283,8 @@ static const union AnimCmd sAnim_Muk_1[] = }; #if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(GrimerAlolan); -PLACEHOLDER_ANIM_SINGLE_FRAME(MukAlolan); +PLACEHOLDER_ANIM_SINGLE_FRAME(GrimerAlola); +PLACEHOLDER_ANIM_SINGLE_FRAME(MukAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_GRIMER @@ -1344,7 +1344,7 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(GengarMega); #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(GengarGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(GengarGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_GASTLY @@ -1418,7 +1418,7 @@ static const union AnimCmd sAnim_Kingler_1[] = }; #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(KinglerGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(KinglerGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_KRABBY @@ -1443,8 +1443,8 @@ static const union AnimCmd sAnim_Electrode_1[] = }; #if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(VoltorbHisuian); -PLACEHOLDER_ANIM_SINGLE_FRAME(ElectrodeHisuian); +PLACEHOLDER_ANIM_SINGLE_FRAME(VoltorbHisui); +PLACEHOLDER_ANIM_SINGLE_FRAME(ElectrodeHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_VOLTORB @@ -1471,7 +1471,7 @@ static const union AnimCmd sAnim_Exeggutor_1[] = }; #if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_TWO_FRAMES(ExeggutorAlolan); +PLACEHOLDER_ANIM_TWO_FRAMES(ExeggutorAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_EXEGGCUTE @@ -1499,7 +1499,7 @@ static const union AnimCmd sAnim_Marowak_1[] = }; #if P_ALOLAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(MarowakAlolan); +PLACEHOLDER_ANIM_SINGLE_FRAME(MarowakAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_CUBONE @@ -1597,7 +1597,7 @@ static const union AnimCmd sAnim_Weezing_1[] = }; #if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(WeezingGalarian); +PLACEHOLDER_ANIM_SINGLE_FRAME(WeezingGalar); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_KOFFING @@ -1809,7 +1809,7 @@ static const union AnimCmd sAnim_MrMime_1[] = }; #if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(MrMimeGalarian); +PLACEHOLDER_ANIM_SINGLE_FRAME(MrMimeGalar); PLACEHOLDER_ANIM_SINGLE_FRAME(MrRime); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_MR_MIME @@ -1955,7 +1955,7 @@ static const union AnimCmd sAnim_Tauros_1[] = }; #if P_PALDEAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(TaurosPaldean); +PLACEHOLDER_ANIM_SINGLE_FRAME(TaurosPaldea); #endif //P_PALDEAN_FORMS #endif //P_FAMILY_TAUROS @@ -1996,7 +1996,7 @@ static const union AnimCmd sAnim_Lapras_1[] = }; #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(LaprasGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(LaprasGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_LAPRAS @@ -2020,7 +2020,7 @@ static const union AnimCmd sAnim_Eevee_1[] = }; #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(EeveeGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(EeveeGmax); #endif //P_GIGANTAMAX_FORMS static const union AnimCmd sAnim_Vaporeon_1[] = @@ -2207,7 +2207,7 @@ static const union AnimCmd sAnim_Snorlax_1[] = }; #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(SnorlaxGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(SnorlaxGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SNORLAX @@ -2222,7 +2222,7 @@ static const union AnimCmd sAnim_Articuno_1[] = }; #if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(ArticunoGalarian); +PLACEHOLDER_ANIM_SINGLE_FRAME(ArticunoGalar); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_ARTICUNO @@ -2237,7 +2237,7 @@ static const union AnimCmd sAnim_Zapdos_1[] = }; #if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(ZapdosGalarian); +PLACEHOLDER_ANIM_SINGLE_FRAME(ZapdosGalar); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_ZAPDOS @@ -2280,7 +2280,7 @@ static const union AnimCmd sAnim_Moltres_1[] = }; #if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(MoltresGalarian); +PLACEHOLDER_ANIM_SINGLE_FRAME(MoltresGalar); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_MOLTRES @@ -2387,7 +2387,7 @@ static const union AnimCmd sAnim_Typhlosion_1[] = }; #if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(TyphlosionHisuian); +PLACEHOLDER_ANIM_SINGLE_FRAME(TyphlosionHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_CYNDAQUIL @@ -2834,7 +2834,7 @@ static const union AnimCmd sAnim_Quagsire_1[] = }; #if P_PALDEAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(WooperPaldean); +PLACEHOLDER_ANIM_SINGLE_FRAME(WooperPaldea); PLACEHOLDER_ANIM_SINGLE_FRAME(Clodsire); #endif //P_PALDEAN_FORMS #endif //P_FAMILY_WOOPER @@ -3024,7 +3024,7 @@ static const union AnimCmd sAnim_Qwilfish_1[] = }; #if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(QwilfishHisuian); +PLACEHOLDER_ANIM_SINGLE_FRAME(QwilfishHisui); PLACEHOLDER_ANIM_SINGLE_FRAME(Overqwil); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_QWILFISH @@ -3077,7 +3077,7 @@ static const union AnimCmd sAnim_Weavile_1[] = #endif //P_GEN_4_CROSS_EVOS #if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(SneaselHisuian); +PLACEHOLDER_ANIM_SINGLE_FRAME(SneaselHisui); PLACEHOLDER_ANIM_SINGLE_FRAME(Sneasler); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_SNEASEL @@ -3167,7 +3167,7 @@ static const union AnimCmd sAnim_Corsola_1[] = }; #if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(CorsolaGalarian); +PLACEHOLDER_ANIM_SINGLE_FRAME(CorsolaGalar); PLACEHOLDER_ANIM_SINGLE_FRAME(Cursola); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_CORSOLA @@ -3555,8 +3555,8 @@ static const union AnimCmd sAnim_Linoone_1[] = }; #if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(ZigzagoonGalarian); -PLACEHOLDER_ANIM_SINGLE_FRAME(LinooneGalarian); +PLACEHOLDER_ANIM_SINGLE_FRAME(ZigzagoonGalar); +PLACEHOLDER_ANIM_SINGLE_FRAME(LinooneGalar); PLACEHOLDER_ANIM_SINGLE_FRAME(Obstagoon); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_ZIGZAGOON @@ -6339,7 +6339,7 @@ static const union AnimCmd sAnim_Samurott_1[] = }; #if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(SamurottHisuian); +PLACEHOLDER_ANIM_SINGLE_FRAME(SamurottHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_OSHAWOTT @@ -6831,7 +6831,7 @@ static const union AnimCmd sAnim_Lilligant_1[] = }; #if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(LilligantHisuian); +PLACEHOLDER_ANIM_SINGLE_FRAME(LilligantHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_PETILIL @@ -6888,7 +6888,7 @@ static const union AnimCmd sAnim_Darumaka_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DarmanitanStandardMode_1[] = +static const union AnimCmd sAnim_DarmanitanStandard_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -6897,7 +6897,7 @@ static const union AnimCmd sAnim_DarmanitanStandardMode_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DarmanitanZenMode_1[] = +static const union AnimCmd sAnim_DarmanitanZen_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), @@ -6905,9 +6905,9 @@ static const union AnimCmd sAnim_DarmanitanZenMode_1[] = }; #if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(DarumakaGalarian); -PLACEHOLDER_ANIM_SINGLE_FRAME(DarmanitanGalarianStandardMode); -PLACEHOLDER_ANIM_SINGLE_FRAME(DarmanitanGalarianZenMode); +PLACEHOLDER_ANIM_SINGLE_FRAME(DarumakaGalar); +PLACEHOLDER_ANIM_SINGLE_FRAME(DarmanitanGalarStandard); +PLACEHOLDER_ANIM_SINGLE_FRAME(DarmanitanGalarZen); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_DARUMAKA @@ -7005,7 +7005,7 @@ static const union AnimCmd sAnim_Cofagrigus_1[] = }; #if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(YamaskGalarian); +PLACEHOLDER_ANIM_SINGLE_FRAME(YamaskGalar); PLACEHOLDER_ANIM_SINGLE_FRAME(Runerigus); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_YAMASK @@ -7077,7 +7077,7 @@ static const union AnimCmd sAnim_Garbodor_1[] = }; #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(GarbodorGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(GarbodorGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_TRUBBISH @@ -7103,8 +7103,8 @@ static const union AnimCmd sAnim_Zoroark_1[] = }; #if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(ZoruaHisuian); -PLACEHOLDER_ANIM_SINGLE_FRAME(ZoroarkHisuian); +PLACEHOLDER_ANIM_SINGLE_FRAME(ZoruaHisui); +PLACEHOLDER_ANIM_SINGLE_FRAME(ZoroarkHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_ZORUA @@ -7590,7 +7590,7 @@ static const union AnimCmd sAnim_Stunfisk_1[] = }; #if P_GALARIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(StunfiskGalarian); +PLACEHOLDER_ANIM_SINGLE_FRAME(StunfiskGalar); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_STUNFISK @@ -7702,7 +7702,7 @@ static const union AnimCmd sAnim_Braviary_1[] = }; #if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(BraviaryHisuian); +PLACEHOLDER_ANIM_SINGLE_FRAME(BraviaryHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_RUFFLET @@ -8678,8 +8678,8 @@ static const union AnimCmd sAnim_Goodra_1[] = }; #if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(SliggooHisuian); -PLACEHOLDER_ANIM_SINGLE_FRAME(GoodraHisuian); +PLACEHOLDER_ANIM_SINGLE_FRAME(SliggooHisui); +PLACEHOLDER_ANIM_SINGLE_FRAME(GoodraHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_GOOMY @@ -8764,7 +8764,7 @@ static const union AnimCmd sAnim_Avalugg_1[] = }; #if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(AvaluggHisuian); +PLACEHOLDER_ANIM_SINGLE_FRAME(AvaluggHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_BERGMITE @@ -8906,7 +8906,7 @@ static const union AnimCmd sAnim_Decidueye_1[] = }; #if P_HISUIAN_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(DecidueyeHisuian); +PLACEHOLDER_ANIM_SINGLE_FRAME(DecidueyeHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_ROWLET @@ -9425,7 +9425,7 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(Meltan); PLACEHOLDER_ANIM_SINGLE_FRAME(Melmetal); #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(MelmetalGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(MelmetalGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_MELTAN @@ -9435,7 +9435,7 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(Thwackey); PLACEHOLDER_ANIM_SINGLE_FRAME(Rillaboom); #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(RillaboomGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(RillaboomGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_GROOKEY @@ -9445,7 +9445,7 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(Raboot); PLACEHOLDER_ANIM_SINGLE_FRAME(Cinderace); #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(CinderaceGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(CinderaceGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SCORBUNNY @@ -9455,7 +9455,7 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(Drizzile); PLACEHOLDER_ANIM_SINGLE_FRAME(Inteleon); #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(InteleonGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(InteleonGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SOBBLE @@ -9498,7 +9498,7 @@ static const union AnimCmd sAnim_Corviknight_1[] = }; #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(CorviknightGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(CorviknightGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_ROOKIDEE @@ -9508,7 +9508,7 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(Dottler); PLACEHOLDER_ANIM_SINGLE_FRAME(Orbeetle); #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(OrbeetleGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(OrbeetleGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_BLIPBUG @@ -9545,7 +9545,7 @@ static const union AnimCmd sAnim_Drednaw_1[] = }; #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(DrednawGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(DrednawGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_CHEWTLE @@ -9560,7 +9560,7 @@ PLACEHOLDER_ANIM_TWO_FRAMES(Carkol); PLACEHOLDER_ANIM_TWO_FRAMES(Coalossal); #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(CoalossalGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(CoalossalGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_ROLYCOLY @@ -9569,13 +9569,13 @@ PLACEHOLDER_ANIM_TWO_FRAMES(Applin); PLACEHOLDER_ANIM_TWO_FRAMES(Flapple); #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(FlappleGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(FlappleGmax); #endif //P_GIGANTAMAX_FORMS PLACEHOLDER_ANIM_TWO_FRAMES(Appletun); #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(AppletunGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(AppletunGmax); #endif //P_GIGANTAMAX_FORMS #if P_GEN_9_CROSS_EVOS @@ -9589,7 +9589,7 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(Silicobra); PLACEHOLDER_ANIM_SINGLE_FRAME(Sandaconda); #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(SandacondaGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(SandacondaGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SILICOBRA @@ -9607,7 +9607,7 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(Toxel); PLACEHOLDER_ANIM_SINGLE_FRAME(Toxtricity); #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(ToxtricityGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(ToxtricityGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_TOXEL @@ -9629,7 +9629,7 @@ static const union AnimCmd sAnim_Centiskorch_1[] = }; #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(CentiskorchGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(CentiskorchGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SIZZLIPEDE @@ -9649,7 +9649,7 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(Hattrem); PLACEHOLDER_ANIM_SINGLE_FRAME(Hatterene); #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(HattereneGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(HattereneGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_HATENNA @@ -9659,7 +9659,7 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(Morgrem); PLACEHOLDER_ANIM_SINGLE_FRAME(Grimmsnarl); #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(GrimmsnarlGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(GrimmsnarlGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_IMPIDIMP @@ -9668,7 +9668,7 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(Milcery); PLACEHOLDER_ANIM_SINGLE_FRAME(Alcremie); #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(AlcremieGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(AlcremieGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_MILCERY @@ -9706,7 +9706,7 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(Cufant); PLACEHOLDER_ANIM_SINGLE_FRAME(Copperajah); #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(CopperajahGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(CopperajahGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_CUFANT @@ -9730,7 +9730,7 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(Arctovish); PLACEHOLDER_ANIM_SINGLE_FRAME(Duraludon); #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(DuraludonGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(DuraludonGmax); #endif //P_GIGANTAMAX_FORMS #if P_GEN_9_CROSS_EVOS @@ -9761,11 +9761,11 @@ PLACEHOLDER_ANIM_SINGLE_FRAME(Kubfu); PLACEHOLDER_ANIM_SINGLE_FRAME(Urshifu); #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(UrshifuSingleStrikeStyleGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(UrshifuSingleStrikeGmax); #endif //P_GIGANTAMAX_FORMS #if P_GIGANTAMAX_FORMS -PLACEHOLDER_ANIM_SINGLE_FRAME(UrshifuRapidStrikeStyleGigantamax); +PLACEHOLDER_ANIM_SINGLE_FRAME(UrshifuRapidStrikeGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_KUBFU @@ -10166,7 +10166,7 @@ SINGLE_ANIMATION(Venusaur); SINGLE_ANIMATION(VenusaurMega); #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(VenusaurGigantamax); +SINGLE_ANIMATION(VenusaurGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_BULBASAUR #if P_FAMILY_CHARMANDER @@ -10178,7 +10178,7 @@ SINGLE_ANIMATION(CharizardMegaX); SINGLE_ANIMATION(CharizardMegaY); #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(CharizardGigantamax); +SINGLE_ANIMATION(CharizardGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_CHARMANDER #if P_FAMILY_SQUIRTLE @@ -10189,7 +10189,7 @@ SINGLE_ANIMATION(Blastoise); SINGLE_ANIMATION(BlastoiseMega); #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(BlastoiseGigantamax); +SINGLE_ANIMATION(BlastoiseGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SQUIRTLE #if P_FAMILY_CATERPIE @@ -10197,7 +10197,7 @@ SINGLE_ANIMATION(Caterpie); SINGLE_ANIMATION(Metapod); SINGLE_ANIMATION(Butterfree); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(ButterfreeGigantamax); +SINGLE_ANIMATION(ButterfreeGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_CATERPIE #if P_FAMILY_WEEDLE @@ -10220,8 +10220,8 @@ SINGLE_ANIMATION(PidgeotMega); SINGLE_ANIMATION(Rattata); SINGLE_ANIMATION(Raticate); #if P_ALOLAN_FORMS -SINGLE_ANIMATION(RattataAlolan); -SINGLE_ANIMATION(RaticateAlolan); +SINGLE_ANIMATION(RattataAlola); +SINGLE_ANIMATION(RaticateAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_RATTATA #if P_FAMILY_SPEAROW @@ -10247,29 +10247,29 @@ SINGLE_ANIMATION(PikachuPhD); SINGLE_ANIMATION(PikachuLibre); #endif //P_COSPLAY_PIKACHU_FORMS #if P_CAP_PIKACHU_FORMS -SINGLE_ANIMATION(PikachuOriginalCap); -SINGLE_ANIMATION(PikachuHoennCap); -SINGLE_ANIMATION(PikachuSinnohCap); -SINGLE_ANIMATION(PikachuUnovaCap); -SINGLE_ANIMATION(PikachuKalosCap); -SINGLE_ANIMATION(PikachuAlolaCap); -SINGLE_ANIMATION(PikachuPartnerCap); -SINGLE_ANIMATION(PikachuWorldCap); +SINGLE_ANIMATION(PikachuOriginal); +SINGLE_ANIMATION(PikachuHoenn); +SINGLE_ANIMATION(PikachuSinnoh); +SINGLE_ANIMATION(PikachuUnova); +SINGLE_ANIMATION(PikachuKalos); +SINGLE_ANIMATION(PikachuAlola); +SINGLE_ANIMATION(PikachuPartner); +SINGLE_ANIMATION(PikachuWorld); #endif //P_CAP_PIKACHU_FORMS #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(PikachuGigantamax); +SINGLE_ANIMATION(PikachuGmax); #endif //P_GIGANTAMAX_FORMS SINGLE_ANIMATION(Raichu); #if P_ALOLAN_FORMS -SINGLE_ANIMATION(RaichuAlolan); +SINGLE_ANIMATION(RaichuAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_PIKACHU #if P_FAMILY_SANDSHREW SINGLE_ANIMATION(Sandshrew); SINGLE_ANIMATION(Sandslash); #if P_ALOLAN_FORMS -SINGLE_ANIMATION(SandshrewAlolan); -SINGLE_ANIMATION(SandslashAlolan); +SINGLE_ANIMATION(SandshrewAlola); +SINGLE_ANIMATION(SandslashAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_SANDSHREW #if P_FAMILY_NIDORAN @@ -10291,8 +10291,8 @@ SINGLE_ANIMATION(Clefable); SINGLE_ANIMATION(Vulpix); SINGLE_ANIMATION(Ninetales); #if P_ALOLAN_FORMS -SINGLE_ANIMATION(VulpixAlolan); -SINGLE_ANIMATION(NinetalesAlolan); +SINGLE_ANIMATION(VulpixAlola); +SINGLE_ANIMATION(NinetalesAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_VULPIX #if P_FAMILY_JIGGLYPUFF @@ -10329,23 +10329,23 @@ SINGLE_ANIMATION(Venomoth); SINGLE_ANIMATION(Diglett); SINGLE_ANIMATION(Dugtrio); #if P_ALOLAN_FORMS -SINGLE_ANIMATION(DiglettAlolan); -SINGLE_ANIMATION(DugtrioAlolan); +SINGLE_ANIMATION(DiglettAlola); +SINGLE_ANIMATION(DugtrioAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_DIGLETT #if P_FAMILY_MEOWTH SINGLE_ANIMATION(Meowth); SINGLE_ANIMATION(Persian); #if P_ALOLAN_FORMS -SINGLE_ANIMATION(MeowthAlolan); -SINGLE_ANIMATION(PersianAlolan); +SINGLE_ANIMATION(MeowthAlola); +SINGLE_ANIMATION(PersianAlola); #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS -SINGLE_ANIMATION(MeowthGalarian); +SINGLE_ANIMATION(MeowthGalar); SINGLE_ANIMATION(Perrserker); #endif //P_GALARIAN_FORMS #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(MeowthGigantamax); +SINGLE_ANIMATION(MeowthGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_MEOWTH #if P_FAMILY_PSYDUCK @@ -10363,8 +10363,8 @@ SINGLE_ANIMATION(Annihilape); SINGLE_ANIMATION(Growlithe); SINGLE_ANIMATION(Arcanine); #if P_HISUIAN_FORMS -SINGLE_ANIMATION(GrowlitheHisuian); -SINGLE_ANIMATION(ArcanineHisuian); +SINGLE_ANIMATION(GrowlitheHisui); +SINGLE_ANIMATION(ArcanineHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_GROWLITHE #if P_FAMILY_POLIWAG @@ -10388,7 +10388,7 @@ SINGLE_ANIMATION(Machop); SINGLE_ANIMATION(Machoke); SINGLE_ANIMATION(Machamp); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(MachampGigantamax); +SINGLE_ANIMATION(MachampGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_MACHOP #if P_FAMILY_BELLSPROUT @@ -10405,17 +10405,17 @@ SINGLE_ANIMATION(Geodude); SINGLE_ANIMATION(Graveler); SINGLE_ANIMATION(Golem); #if P_ALOLAN_FORMS -SINGLE_ANIMATION(GeodudeAlolan); -SINGLE_ANIMATION(GravelerAlolan); -SINGLE_ANIMATION(GolemAlolan); +SINGLE_ANIMATION(GeodudeAlola); +SINGLE_ANIMATION(GravelerAlola); +SINGLE_ANIMATION(GolemAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_GEODUDE #if P_FAMILY_PONYTA SINGLE_ANIMATION(Ponyta); SINGLE_ANIMATION(Rapidash); #if P_GALARIAN_FORMS -SINGLE_ANIMATION(PonytaGalarian); -SINGLE_ANIMATION(RapidashGalarian); +SINGLE_ANIMATION(PonytaGalar); +SINGLE_ANIMATION(RapidashGalar); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_PONYTA #if P_FAMILY_SLOWPOKE @@ -10428,10 +10428,10 @@ SINGLE_ANIMATION(Slowking); SINGLE_ANIMATION(SlowbroMega); #endif //P_MEGA_EVOLUTIONS #if P_GALARIAN_FORMS -SINGLE_ANIMATION(SlowpokeGalarian); -SINGLE_ANIMATION(SlowbroGalarian); +SINGLE_ANIMATION(SlowpokeGalar); +SINGLE_ANIMATION(SlowbroGalar); #if P_GEN_2_CROSS_EVOS -SINGLE_ANIMATION(SlowkingGalarian); +SINGLE_ANIMATION(SlowkingGalar); #endif //P_GEN_2_CROSS_EVOS #endif //P_GALARIAN_FORMS #endif //P_FAMILY_SLOWPOKE @@ -10445,7 +10445,7 @@ SINGLE_ANIMATION(Magnezone); #if P_FAMILY_FARFETCHD SINGLE_ANIMATION(Farfetchd); #if P_GALARIAN_FORMS -SINGLE_ANIMATION(FarfetchdGalarian); +SINGLE_ANIMATION(FarfetchdGalar); SINGLE_ANIMATION(Sirfetchd); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_FARFETCHD @@ -10461,8 +10461,8 @@ SINGLE_ANIMATION(Dewgong); SINGLE_ANIMATION(Grimer); SINGLE_ANIMATION(Muk); #if P_ALOLAN_FORMS -SINGLE_ANIMATION(GrimerAlolan); -SINGLE_ANIMATION(MukAlolan); +SINGLE_ANIMATION(GrimerAlola); +SINGLE_ANIMATION(MukAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_GRIMER #if P_FAMILY_SHELLDER @@ -10477,7 +10477,7 @@ SINGLE_ANIMATION(Gengar); SINGLE_ANIMATION(GengarMega); #endif //P_MEGA_EVOLUTIONS #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(GengarGigantamax); +SINGLE_ANIMATION(GengarGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_GASTLY #if P_FAMILY_ONIX @@ -10497,29 +10497,29 @@ SINGLE_ANIMATION(Hypno); SINGLE_ANIMATION(Krabby); SINGLE_ANIMATION(Kingler); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(KinglerGigantamax); +SINGLE_ANIMATION(KinglerGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_KRABBY #if P_FAMILY_VOLTORB SINGLE_ANIMATION(Voltorb); SINGLE_ANIMATION(Electrode); #if P_HISUIAN_FORMS -SINGLE_ANIMATION(VoltorbHisuian); -SINGLE_ANIMATION(ElectrodeHisuian); +SINGLE_ANIMATION(VoltorbHisui); +SINGLE_ANIMATION(ElectrodeHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_VOLTORB #if P_FAMILY_EXEGGCUTE SINGLE_ANIMATION(Exeggcute); SINGLE_ANIMATION(Exeggutor); #if P_ALOLAN_FORMS -SINGLE_ANIMATION(ExeggutorAlolan); +SINGLE_ANIMATION(ExeggutorAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_EXEGGCUTE #if P_FAMILY_CUBONE SINGLE_ANIMATION(Cubone); SINGLE_ANIMATION(Marowak); #if P_ALOLAN_FORMS -SINGLE_ANIMATION(MarowakAlolan); +SINGLE_ANIMATION(MarowakAlola); #endif //P_ALOLAN_FORMS #endif //P_FAMILY_CUBONE #if P_FAMILY_HITMONS @@ -10542,7 +10542,7 @@ SINGLE_ANIMATION(Lickilicky); SINGLE_ANIMATION(Koffing); SINGLE_ANIMATION(Weezing); #if P_GALARIAN_FORMS -SINGLE_ANIMATION(WeezingGalarian); +SINGLE_ANIMATION(WeezingGalar); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_KOFFING #if P_FAMILY_RHYHORN @@ -10594,7 +10594,7 @@ SINGLE_ANIMATION(MimeJr); #endif //P_GEN_4_CROSS_EVOS SINGLE_ANIMATION(MrMime); #if P_GALARIAN_FORMS -SINGLE_ANIMATION(MrMimeGalarian); +SINGLE_ANIMATION(MrMimeGalar); SINGLE_ANIMATION(MrRime); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_MR_MIME @@ -10643,7 +10643,7 @@ SINGLE_ANIMATION(PinsirMega); #if P_FAMILY_TAUROS SINGLE_ANIMATION(Tauros); #if P_PALDEAN_FORMS -SINGLE_ANIMATION(TaurosPaldean); +SINGLE_ANIMATION(TaurosPaldea); #endif //P_PALDEAN_FORMS #endif //P_FAMILY_TAUROS #if P_FAMILY_MAGIKARP @@ -10656,7 +10656,7 @@ SINGLE_ANIMATION(GyaradosMega); #if P_FAMILY_LAPRAS SINGLE_ANIMATION(Lapras); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(LaprasGigantamax); +SINGLE_ANIMATION(LaprasGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_LAPRAS #if P_FAMILY_DITTO @@ -10665,7 +10665,7 @@ SINGLE_ANIMATION(Ditto); #if P_FAMILY_EEVEE SINGLE_ANIMATION(Eevee); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(EeveeGigantamax); +SINGLE_ANIMATION(EeveeGmax); #endif //P_GIGANTAMAX_FORMS SINGLE_ANIMATION(Vaporeon); SINGLE_ANIMATION(Jolteon); @@ -10711,25 +10711,25 @@ SINGLE_ANIMATION(Munchlax); #endif //P_GEN_4_CROSS_EVOS SINGLE_ANIMATION(Snorlax); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(SnorlaxGigantamax); +SINGLE_ANIMATION(SnorlaxGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SNORLAX #if P_FAMILY_ARTICUNO SINGLE_ANIMATION(Articuno); #if P_GALARIAN_FORMS -SINGLE_ANIMATION(ArticunoGalarian); +SINGLE_ANIMATION(ArticunoGalar); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_ARTICUNO #if P_FAMILY_ZAPDOS SINGLE_ANIMATION(Zapdos); #if P_GALARIAN_FORMS -SINGLE_ANIMATION(ZapdosGalarian); +SINGLE_ANIMATION(ZapdosGalar); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_ZAPDOS #if P_FAMILY_MOLTRES SINGLE_ANIMATION(Moltres); #if P_GALARIAN_FORMS -SINGLE_ANIMATION(MoltresGalarian); +SINGLE_ANIMATION(MoltresGalar); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_MOLTRES #if P_FAMILY_DRATINI @@ -10757,7 +10757,7 @@ SINGLE_ANIMATION(Cyndaquil); SINGLE_ANIMATION(Quilava); SINGLE_ANIMATION(Typhlosion); #if P_HISUIAN_FORMS -SINGLE_ANIMATION(TyphlosionHisuian); +SINGLE_ANIMATION(TyphlosionHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_CYNDAQUIL #if P_FAMILY_TOTODILE @@ -10842,7 +10842,7 @@ SINGLE_ANIMATION(Yanmega); SINGLE_ANIMATION(Wooper); SINGLE_ANIMATION(Quagsire); #if P_PALDEAN_FORMS -SINGLE_ANIMATION(WooperPaldean); +SINGLE_ANIMATION(WooperPaldea); SINGLE_ANIMATION(Clodsire); #endif //P_PALDEAN_FORMS #endif //P_FAMILY_WOOPER @@ -10896,7 +10896,7 @@ SINGLE_ANIMATION(Granbull); #if P_FAMILY_QWILFISH SINGLE_ANIMATION(Qwilfish); #if P_HISUIAN_FORMS -SINGLE_ANIMATION(QwilfishHisuian); +SINGLE_ANIMATION(QwilfishHisui); SINGLE_ANIMATION(Overqwil); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_QWILFISH @@ -10915,7 +10915,7 @@ SINGLE_ANIMATION(Sneasel); SINGLE_ANIMATION(Weavile); #endif //P_GEN_4_CROSS_EVOS #if P_HISUIAN_FORMS -SINGLE_ANIMATION(SneaselHisuian); +SINGLE_ANIMATION(SneaselHisui); SINGLE_ANIMATION(Sneasler); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_SNEASEL @@ -10941,7 +10941,7 @@ SINGLE_ANIMATION(Mamoswine); #if P_FAMILY_CORSOLA SINGLE_ANIMATION(Corsola); #if P_GALARIAN_FORMS -SINGLE_ANIMATION(CorsolaGalarian); +SINGLE_ANIMATION(CorsolaGalar); SINGLE_ANIMATION(Cursola); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_CORSOLA @@ -11042,8 +11042,8 @@ SINGLE_ANIMATION(Mightyena); SINGLE_ANIMATION(Zigzagoon); SINGLE_ANIMATION(Linoone); #if P_GALARIAN_FORMS -SINGLE_ANIMATION(ZigzagoonGalarian); -SINGLE_ANIMATION(LinooneGalarian); +SINGLE_ANIMATION(ZigzagoonGalar); +SINGLE_ANIMATION(LinooneGalar); SINGLE_ANIMATION(Obstagoon); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_ZIGZAGOON @@ -11594,7 +11594,7 @@ SINGLE_ANIMATION(Oshawott); SINGLE_ANIMATION(Dewott); SINGLE_ANIMATION(Samurott); #if P_HISUIAN_FORMS -SINGLE_ANIMATION(SamurottHisuian); +SINGLE_ANIMATION(SamurottHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_OSHAWOTT #if P_FAMILY_PATRAT @@ -11688,7 +11688,7 @@ SINGLE_ANIMATION(Whimsicott); SINGLE_ANIMATION(Petilil); SINGLE_ANIMATION(Lilligant); #if P_HISUIAN_FORMS -SINGLE_ANIMATION(LilligantHisuian); +SINGLE_ANIMATION(LilligantHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_PETILIL #if P_FAMILY_BASCULIN @@ -11704,12 +11704,12 @@ SINGLE_ANIMATION(Krookodile); #endif //P_FAMILY_SANDILE #if P_FAMILY_DARUMAKA SINGLE_ANIMATION(Darumaka); -SINGLE_ANIMATION(DarmanitanStandardMode); -SINGLE_ANIMATION(DarmanitanZenMode); +SINGLE_ANIMATION(DarmanitanStandard); +SINGLE_ANIMATION(DarmanitanZen); #if P_GALARIAN_FORMS -SINGLE_ANIMATION(DarumakaGalarian); -SINGLE_ANIMATION(DarmanitanGalarianStandardMode); -SINGLE_ANIMATION(DarmanitanGalarianZenMode); +SINGLE_ANIMATION(DarumakaGalar); +SINGLE_ANIMATION(DarmanitanGalarStandard); +SINGLE_ANIMATION(DarmanitanGalarZen); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_DARUMAKA #if P_FAMILY_MARACTUS @@ -11730,7 +11730,7 @@ SINGLE_ANIMATION(Sigilyph); SINGLE_ANIMATION(Yamask); SINGLE_ANIMATION(Cofagrigus); #if P_GALARIAN_FORMS -SINGLE_ANIMATION(YamaskGalarian); +SINGLE_ANIMATION(YamaskGalar); SINGLE_ANIMATION(Runerigus); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_YAMASK @@ -11746,15 +11746,15 @@ SINGLE_ANIMATION(Archeops); SINGLE_ANIMATION(Trubbish); SINGLE_ANIMATION(Garbodor); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(GarbodorGigantamax); +SINGLE_ANIMATION(GarbodorGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_TRUBBISH #if P_FAMILY_ZORUA SINGLE_ANIMATION(Zorua); SINGLE_ANIMATION(Zoroark); #if P_HISUIAN_FORMS -SINGLE_ANIMATION(ZoruaHisuian); -SINGLE_ANIMATION(ZoroarkHisuian); +SINGLE_ANIMATION(ZoruaHisui); +SINGLE_ANIMATION(ZoroarkHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_ZORUA #if P_FAMILY_MINCCINO @@ -11848,7 +11848,7 @@ SINGLE_ANIMATION(Accelgor); #if P_FAMILY_STUNFISK SINGLE_ANIMATION(Stunfisk); #if P_GALARIAN_FORMS -SINGLE_ANIMATION(StunfiskGalarian); +SINGLE_ANIMATION(StunfiskGalar); #endif //P_GALARIAN_FORMS #endif //P_FAMILY_STUNFISK #if P_FAMILY_MIENFOO @@ -11876,7 +11876,7 @@ SINGLE_ANIMATION(Bouffalant); SINGLE_ANIMATION(Rufflet); SINGLE_ANIMATION(Braviary); #if P_HISUIAN_FORMS -SINGLE_ANIMATION(BraviaryHisuian); +SINGLE_ANIMATION(BraviaryHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_RUFFLET #if P_FAMILY_VULLABY @@ -12053,8 +12053,8 @@ SINGLE_ANIMATION(Goomy); SINGLE_ANIMATION(Sliggoo); SINGLE_ANIMATION(Goodra); #if P_HISUIAN_FORMS -SINGLE_ANIMATION(SliggooHisuian); -SINGLE_ANIMATION(GoodraHisuian); +SINGLE_ANIMATION(SliggooHisui); +SINGLE_ANIMATION(GoodraHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_GOOMY #if P_FAMILY_KLEFKI @@ -12072,7 +12072,7 @@ SINGLE_ANIMATION(Gourgeist); SINGLE_ANIMATION(Bergmite); SINGLE_ANIMATION(Avalugg); #if P_HISUIAN_FORMS -SINGLE_ANIMATION(AvaluggHisuian); +SINGLE_ANIMATION(AvaluggHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_BERGMITE #if P_FAMILY_NOIBAT @@ -12108,7 +12108,7 @@ SINGLE_ANIMATION(Rowlet); SINGLE_ANIMATION(Dartrix); SINGLE_ANIMATION(Decidueye); #if P_HISUIAN_FORMS -SINGLE_ANIMATION(DecidueyeHisuian); +SINGLE_ANIMATION(DecidueyeHisui); #endif //P_HISUIAN_FORMS #endif //P_FAMILY_ROWLET #if P_FAMILY_LITTEN @@ -12309,7 +12309,7 @@ SINGLE_ANIMATION(Zeraora); SINGLE_ANIMATION(Meltan); SINGLE_ANIMATION(Melmetal); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(MelmetalGigantamax); +SINGLE_ANIMATION(MelmetalGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_MELTAN #if P_FAMILY_GROOKEY @@ -12317,7 +12317,7 @@ SINGLE_ANIMATION(Grookey); SINGLE_ANIMATION(Thwackey); SINGLE_ANIMATION(Rillaboom); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(RillaboomGigantamax); +SINGLE_ANIMATION(RillaboomGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_GROOKEY #if P_FAMILY_SCORBUNNY @@ -12325,7 +12325,7 @@ SINGLE_ANIMATION(Scorbunny); SINGLE_ANIMATION(Raboot); SINGLE_ANIMATION(Cinderace); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(CinderaceGigantamax); +SINGLE_ANIMATION(CinderaceGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SCORBUNNY #if P_FAMILY_SOBBLE @@ -12333,7 +12333,7 @@ SINGLE_ANIMATION(Sobble); SINGLE_ANIMATION(Drizzile); SINGLE_ANIMATION(Inteleon); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(InteleonGigantamax); +SINGLE_ANIMATION(InteleonGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SOBBLE #if P_FAMILY_SKWOVET @@ -12345,7 +12345,7 @@ SINGLE_ANIMATION(Rookidee); SINGLE_ANIMATION(Corvisquire); SINGLE_ANIMATION(Corviknight); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(CorviknightGigantamax); +SINGLE_ANIMATION(CorviknightGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_ROOKIDEE #if P_FAMILY_BLIPBUG @@ -12353,7 +12353,7 @@ SINGLE_ANIMATION(Blipbug); SINGLE_ANIMATION(Dottler); SINGLE_ANIMATION(Orbeetle); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(OrbeetleGigantamax); +SINGLE_ANIMATION(OrbeetleGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_BLIPBUG #if P_FAMILY_NICKIT @@ -12372,7 +12372,7 @@ SINGLE_ANIMATION(Dubwool); SINGLE_ANIMATION(Chewtle); SINGLE_ANIMATION(Drednaw); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(DrednawGigantamax); +SINGLE_ANIMATION(DrednawGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_CHEWTLE #if P_FAMILY_YAMPER @@ -12384,18 +12384,18 @@ SINGLE_ANIMATION(Rolycoly); SINGLE_ANIMATION(Carkol); SINGLE_ANIMATION(Coalossal); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(CoalossalGigantamax); +SINGLE_ANIMATION(CoalossalGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_ROLYCOLY #if P_FAMILY_APPLIN SINGLE_ANIMATION(Applin); SINGLE_ANIMATION(Flapple); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(FlappleGigantamax); +SINGLE_ANIMATION(FlappleGmax); #endif //P_GIGANTAMAX_FORMS SINGLE_ANIMATION(Appletun); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(AppletunGigantamax); +SINGLE_ANIMATION(AppletunGmax); #endif //P_GIGANTAMAX_FORMS #if P_GEN_9_CROSS_EVOS SINGLE_ANIMATION(Dipplin); @@ -12406,7 +12406,7 @@ SINGLE_ANIMATION(Hydrapple); SINGLE_ANIMATION(Silicobra); SINGLE_ANIMATION(Sandaconda); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(SandacondaGigantamax); +SINGLE_ANIMATION(SandacondaGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SILICOBRA #if P_FAMILY_CRAMORANT @@ -12420,14 +12420,14 @@ SINGLE_ANIMATION(Barraskewda); SINGLE_ANIMATION(Toxel); SINGLE_ANIMATION(Toxtricity); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(ToxtricityGigantamax); +SINGLE_ANIMATION(ToxtricityGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_TOXEL #if P_FAMILY_SIZZLIPEDE SINGLE_ANIMATION(Sizzlipede); SINGLE_ANIMATION(Centiskorch); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(CentiskorchGigantamax); +SINGLE_ANIMATION(CentiskorchGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_SIZZLIPEDE #if P_FAMILY_CLOBBOPUS @@ -12443,7 +12443,7 @@ SINGLE_ANIMATION(Hatenna); SINGLE_ANIMATION(Hattrem); SINGLE_ANIMATION(Hatterene); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(HattereneGigantamax); +SINGLE_ANIMATION(HattereneGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_HATENNA #if P_FAMILY_IMPIDIMP @@ -12451,14 +12451,14 @@ SINGLE_ANIMATION(Impidimp); SINGLE_ANIMATION(Morgrem); SINGLE_ANIMATION(Grimmsnarl); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(GrimmsnarlGigantamax); +SINGLE_ANIMATION(GrimmsnarlGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_IMPIDIMP #if P_FAMILY_MILCERY SINGLE_ANIMATION(Milcery); SINGLE_ANIMATION(Alcremie); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(AlcremieGigantamax); +SINGLE_ANIMATION(AlcremieGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_MILCERY #if P_FAMILY_FALINKS @@ -12487,7 +12487,7 @@ SINGLE_ANIMATION(Morpeko); SINGLE_ANIMATION(Cufant); SINGLE_ANIMATION(Copperajah); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(CopperajahGigantamax); +SINGLE_ANIMATION(CopperajahGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_CUFANT #if P_FAMILY_DRACOZOLT @@ -12505,7 +12505,7 @@ SINGLE_ANIMATION(Arctovish); #if P_FAMILY_DURALUDON SINGLE_ANIMATION(Duraludon); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(DuraludonGigantamax); +SINGLE_ANIMATION(DuraludonGmax); #endif //P_GIGANTAMAX_FORMS #if P_GEN_9_CROSS_EVOS SINGLE_ANIMATION(Archaludon); @@ -12529,8 +12529,8 @@ SINGLE_ANIMATION(Eternatus); SINGLE_ANIMATION(Kubfu); SINGLE_ANIMATION(Urshifu); #if P_GIGANTAMAX_FORMS -SINGLE_ANIMATION(UrshifuSingleStrikeStyleGigantamax); -SINGLE_ANIMATION(UrshifuRapidStrikeStyleGigantamax); +SINGLE_ANIMATION(UrshifuSingleStrikeGmax); +SINGLE_ANIMATION(UrshifuRapidStrikeGmax); #endif //P_GIGANTAMAX_FORMS #endif //P_FAMILY_KUBFU #if P_FAMILY_ZARUDE diff --git a/src/data/script_menu.h b/src/data/script_menu.h index c5afa87043a9..3b291713271a 100644 --- a/src/data/script_menu.h +++ b/src/data/script_menu.h @@ -105,107 +105,107 @@ static const struct MenuAction MultichoiceList_LevelMode[] = static const struct MenuAction MultichoiceList_Mechadoll1_Q1[] = { - {gTrickHouse_Mechadoll_Oddish}, - {gTrickHouse_Mechadoll_Poochyena}, - {gTrickHouse_Mechadoll_Taillow}, + {COMPOUND_STRING("ODDISH")}, + {COMPOUND_STRING("POOCHYENA")}, + {COMPOUND_STRING("TAILLOW")}, }; static const struct MenuAction MultichoiceList_Mechadoll1_Q2[] = { - {gTrickHouse_Mechadoll_Azurill}, - {gTrickHouse_Mechadoll_Lotad}, - {gTrickHouse_Mechadoll_Wingull}, + {COMPOUND_STRING("AZURILL")}, + {COMPOUND_STRING("LOTAD")}, + {COMPOUND_STRING("WINGULL")}, }; static const struct MenuAction MultichoiceList_Mechadoll1_Q3[] = { - {gTrickHouse_Mechadoll_Dustox}, - {gTrickHouse_Mechadoll_Zubat}, - {gTrickHouse_Mechadoll_Nincada}, + {COMPOUND_STRING("DUSTOX")}, + {COMPOUND_STRING("ZUBAT")}, + {COMPOUND_STRING("NINCADA")}, }; static const struct MenuAction MultichoiceList_Mechadoll2_Q1[] = { - {gTrickHouse_Mechadoll_Ralts}, - {gTrickHouse_Mechadoll_Zigzagoon}, - {gTrickHouse_Mechadoll_Slakoth}, + {COMPOUND_STRING("RALTS")}, + {COMPOUND_STRING("ZIGZAGOON")}, + {COMPOUND_STRING("SLAKOTH")}, }; static const struct MenuAction MultichoiceList_Mechadoll2_Q2[] = { - {gTrickHouse_Mechadoll_Poochyena2}, - {gTrickHouse_Mechadoll_Shroomish}, - {gTrickHouse_Mechadoll_Zigzagoon2}, + {COMPOUND_STRING("POOCHYENA")}, + {COMPOUND_STRING("SHROOMISH")}, + {COMPOUND_STRING("ZIGZAGOON")}, }; static const struct MenuAction MultichoiceList_Mechadoll2_Q3[] = { - {gTrickHouse_Mechadoll_Poochyena3}, - {gTrickHouse_Mechadoll_Zubat2}, - {gTrickHouse_Mechadoll_Carvanha}, + {COMPOUND_STRING("POOCHYENA")}, + {COMPOUND_STRING("ZUBAT")}, + {COMPOUND_STRING("CARVANHA")}, }; static const struct MenuAction MultichoiceList_Mechadoll3_Q1[] = { - {gTrickHouse_Mechadoll_BurnHeal}, - {gTrickHouse_Mechadoll_HarborMail}, - {gTrickHouse_Mechadoll_SamePrice}, + {COMPOUND_STRING("BURN HEAL")}, + {COMPOUND_STRING("HARBOR MAIL")}, + {COMPOUND_STRING("Same price")}, }; static const struct MenuAction MultichoiceList_Mechadoll3_Q2[] = { - {gTrickHouse_Mechadoll_60Yen}, - {gTrickHouse_Mechadoll_55Yen}, - {gTrickHouse_Mechadoll_Nothing}, + {COMPOUND_STRING("¥60")}, + {COMPOUND_STRING("¥55")}, + {COMPOUND_STRING("Nothing")}, }; static const struct MenuAction MultichoiceList_Mechadoll3_Q3[] = { - {gTrickHouse_Mechadoll_CostMore}, - {gTrickHouse_Mechadoll_CostLess}, - {gTrickHouse_Mechadoll_SamePrice2}, + {COMPOUND_STRING("They will cost more.")}, + {COMPOUND_STRING("They will cost less.")}, + {COMPOUND_STRING("Same price")}, }; static const struct MenuAction MultichoiceList_Mechadoll4_Q1[] = { - {gTrickHouse_Mechadoll_Male}, - {gTrickHouse_Mechadoll_Female}, - {gTrickHouse_Mechadoll_Neither}, + {COMPOUND_STRING("Male")}, + {COMPOUND_STRING("Female")}, + {COMPOUND_STRING("Neither")}, }; static const struct MenuAction MultichoiceList_Mechadoll4_Q2[] = { - {gTrickHouse_Mechadoll_ElderlyMen}, - {gTrickHouse_Mechadoll_ElderlyLadies}, - {gTrickHouse_Mechadoll_SameNumber}, + {COMPOUND_STRING("Elderly men")}, + {COMPOUND_STRING("Elderly ladies")}, + {COMPOUND_STRING("Same number")}, }; static const struct MenuAction MultichoiceList_Mechadoll4_Q3[] = { - {gTrickHouse_Mechadoll_None}, - {gTrickHouse_Mechadoll_One}, - {gTrickHouse_Mechadoll_Two}, + {COMPOUND_STRING("None")}, + {COMPOUND_STRING("1")}, + {COMPOUND_STRING("2")}, }; static const struct MenuAction MultichoiceList_Mechadoll5_Q1[] = { - {gTrickHouse_Mechadoll_Two2}, - {gTrickHouse_Mechadoll_Three}, - {gTrickHouse_Mechadoll_Four}, + {COMPOUND_STRING("2")}, + {COMPOUND_STRING("3")}, + {COMPOUND_STRING("4")}, }; static const struct MenuAction MultichoiceList_Mechadoll5_Q2[] = { - {gTrickHouse_Mechadoll_Six}, - {gTrickHouse_Mechadoll_Seven}, - {gTrickHouse_Mechadoll_Eight}, + {COMPOUND_STRING("6")}, + {COMPOUND_STRING("7")}, + {COMPOUND_STRING("8")}, }; static const struct MenuAction MultichoiceList_Mechadoll5_Q3[] = { - {gTrickHouse_Mechadoll_Six2}, - {gTrickHouse_Mechadoll_Seven2}, - {gTrickHouse_Mechadoll_Eight2}, + {COMPOUND_STRING("6")}, + {COMPOUND_STRING("7")}, + {COMPOUND_STRING("8")}, }; static const struct MenuAction MultichoiceList_VendingMachine[] = diff --git a/src/data/trainers.h b/src/data/trainers.h index 0ef947a14bc2..ebc85e9cab2d 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -40,7 +40,7 @@ #line 90 .doubleBattle = FALSE, #line 91 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -430,7 +430,7 @@ F_TRAINER_FEMALE | #line 245 .doubleBattle = FALSE, #line 246 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -1113,7 +1113,7 @@ F_TRAINER_FEMALE | #line 515 .doubleBattle = FALSE, #line 516 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -1158,7 +1158,7 @@ F_TRAINER_FEMALE | #line 533 .doubleBattle = FALSE, #line 534 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -1235,7 +1235,7 @@ F_TRAINER_FEMALE | #line 563 .doubleBattle = FALSE, #line 564 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -1280,7 +1280,7 @@ F_TRAINER_FEMALE | #line 580 .doubleBattle = FALSE, #line 581 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -1325,7 +1325,7 @@ F_TRAINER_FEMALE | #line 598 .doubleBattle = FALSE, #line 599 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -1516,7 +1516,7 @@ F_TRAINER_FEMALE | #line 671 .doubleBattle = FALSE, #line 672 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -2990,7 +2990,7 @@ F_TRAINER_FEMALE | #line 1268 .doubleBattle = FALSE, #line 1269 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -3030,7 +3030,7 @@ F_TRAINER_FEMALE | #line 1285 .doubleBattle = FALSE, #line 1286 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -3070,7 +3070,7 @@ F_TRAINER_FEMALE | #line 1302 .doubleBattle = FALSE, #line 1303 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -3112,7 +3112,7 @@ F_TRAINER_FEMALE | #line 1319 .doubleBattle = FALSE, #line 1320 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -3151,7 +3151,7 @@ F_TRAINER_FEMALE | #line 1335 .doubleBattle = FALSE, #line 1336 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -3264,7 +3264,7 @@ F_TRAINER_FEMALE | #line 1385 .doubleBattle = FALSE, #line 1386 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -3320,7 +3320,7 @@ F_TRAINER_FEMALE | #line 1407 .doubleBattle = FALSE, #line 1408 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -3365,7 +3365,7 @@ F_TRAINER_FEMALE | #line 1425 .doubleBattle = FALSE, #line 1426 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -3421,7 +3421,7 @@ F_TRAINER_FEMALE | #line 1447 .doubleBattle = FALSE, #line 1448 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -3466,7 +3466,7 @@ F_TRAINER_FEMALE | #line 1465 .doubleBattle = FALSE, #line 1466 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -3511,7 +3511,7 @@ F_TRAINER_FEMALE | #line 1483 .doubleBattle = FALSE, #line 1484 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -3567,7 +3567,7 @@ F_TRAINER_FEMALE | #line 1505 .doubleBattle = FALSE, #line 1506 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -3634,7 +3634,7 @@ F_TRAINER_FEMALE | #line 1531 .doubleBattle = FALSE, #line 1532 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -3690,7 +3690,7 @@ F_TRAINER_FEMALE | #line 1553 .doubleBattle = FALSE, #line 1554 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -3746,7 +3746,7 @@ F_TRAINER_FEMALE | #line 1575 .doubleBattle = FALSE, #line 1576 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -3802,7 +3802,7 @@ F_TRAINER_FEMALE | #line 1597 .doubleBattle = FALSE, #line 1598 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -3858,7 +3858,7 @@ F_TRAINER_FEMALE | #line 1619 .doubleBattle = FALSE, #line 1620 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -3914,7 +3914,7 @@ F_TRAINER_FEMALE | #line 1641 .doubleBattle = FALSE, #line 1642 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -3961,7 +3961,7 @@ F_TRAINER_FEMALE | #line 1659 .doubleBattle = FALSE, #line 1660 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -4002,7 +4002,7 @@ F_TRAINER_FEMALE | #line 1675 .doubleBattle = FALSE, #line 1676 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -4044,7 +4044,7 @@ F_TRAINER_FEMALE | #line 1692 .doubleBattle = FALSE, #line 1693 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -4085,7 +4085,7 @@ F_TRAINER_FEMALE | #line 1708 .doubleBattle = FALSE, #line 1709 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -4164,7 +4164,7 @@ F_TRAINER_FEMALE | #line 1742 .doubleBattle = FALSE, #line 1743 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -4211,7 +4211,7 @@ F_TRAINER_FEMALE | #line 1760 .doubleBattle = FALSE, #line 1761 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -4269,7 +4269,7 @@ F_TRAINER_FEMALE | #line 1782 .doubleBattle = FALSE, #line 1783 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -4305,7 +4305,7 @@ F_TRAINER_FEMALE | #line 1796 .doubleBattle = FALSE, #line 1797 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -4341,7 +4341,7 @@ F_TRAINER_FEMALE | #line 1810 .doubleBattle = FALSE, #line 1811 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -4377,7 +4377,7 @@ F_TRAINER_FEMALE | #line 1824 .doubleBattle = FALSE, #line 1825 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -4435,7 +4435,7 @@ F_TRAINER_FEMALE | #line 1846 .doubleBattle = FALSE, #line 1847 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -4482,7 +4482,7 @@ F_TRAINER_FEMALE | #line 1864 .doubleBattle = FALSE, #line 1865 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -4540,7 +4540,7 @@ F_TRAINER_FEMALE | #line 1886 .doubleBattle = FALSE, #line 1887 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -4598,7 +4598,7 @@ F_TRAINER_FEMALE | #line 1908 .doubleBattle = FALSE, #line 1909 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -4656,7 +4656,7 @@ F_TRAINER_FEMALE | #line 1930 .doubleBattle = FALSE, #line 1931 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -4714,7 +4714,7 @@ F_TRAINER_FEMALE | #line 1952 .doubleBattle = FALSE, #line 1953 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -11394,7 +11394,7 @@ F_TRAINER_FEMALE | #line 4594 .doubleBattle = FALSE, #line 4595 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_BASIC_TRAINER | AI_FLAG_FORCE_SETUP_FIRST_TURN, #line 4596 .mugshotEnabled = TRUE, .mugshotColor = MUGSHOT_COLOR_PURPLE, @@ -11514,7 +11514,7 @@ F_TRAINER_FEMALE | #line 4645 .doubleBattle = FALSE, #line 4646 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, #line 4647 .mugshotEnabled = TRUE, .mugshotColor = MUGSHOT_COLOR_GREEN, @@ -11634,7 +11634,7 @@ F_TRAINER_FEMALE | #line 4696 .doubleBattle = FALSE, #line 4697 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, #line 4698 .mugshotEnabled = TRUE, .mugshotColor = MUGSHOT_COLOR_PINK, @@ -11752,7 +11752,7 @@ F_TRAINER_FEMALE | #line 4747 .doubleBattle = FALSE, #line 4748 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, #line 4749 .mugshotEnabled = TRUE, .mugshotColor = MUGSHOT_COLOR_BLUE, @@ -11872,7 +11872,7 @@ F_TRAINER_FEMALE | #line 4798 .doubleBattle = FALSE, #line 4799 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -11951,7 +11951,7 @@ F_TRAINER_FEMALE | #line 4832 .doubleBattle = FALSE, #line 4833 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -12030,7 +12030,7 @@ F_TRAINER_FEMALE | #line 4866 .doubleBattle = FALSE, #line 4867 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -12129,7 +12129,7 @@ F_TRAINER_FEMALE | #line 4908 .doubleBattle = FALSE, #line 4909 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -12226,7 +12226,7 @@ F_TRAINER_FEMALE | #line 4950 .doubleBattle = FALSE, #line 4951 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -12325,7 +12325,7 @@ F_TRAINER_FEMALE | #line 4992 .doubleBattle = FALSE, #line 4993 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, + .aiFlags = AI_FLAG_BASIC_TRAINER | AI_FLAG_RISKY, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -12440,7 +12440,7 @@ F_TRAINER_FEMALE | #line 5042 .doubleBattle = TRUE, #line 5043 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -12539,7 +12539,7 @@ F_TRAINER_FEMALE | #line 5084 .doubleBattle = FALSE, #line 5085 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -14286,7 +14286,7 @@ F_TRAINER_FEMALE | #line 5766 .doubleBattle = FALSE, #line 5767 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -14318,7 +14318,7 @@ F_TRAINER_FEMALE | #line 5779 .doubleBattle = FALSE, #line 5780 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -14357,7 +14357,7 @@ F_TRAINER_FEMALE | #line 5796 .doubleBattle = FALSE, #line 5797 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -14396,7 +14396,7 @@ F_TRAINER_FEMALE | #line 5813 .doubleBattle = FALSE, #line 5814 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -14435,7 +14435,7 @@ F_TRAINER_FEMALE | #line 5830 .doubleBattle = FALSE, #line 5831 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -14476,7 +14476,7 @@ F_TRAINER_FEMALE | #line 5847 .doubleBattle = FALSE, #line 5848 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -14517,7 +14517,7 @@ F_TRAINER_FEMALE | #line 5864 .doubleBattle = FALSE, #line 5865 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -14562,7 +14562,7 @@ F_TRAINER_FEMALE | #line 5881 .doubleBattle = FALSE, #line 5882 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -14607,7 +14607,7 @@ F_TRAINER_FEMALE | #line 5898 .doubleBattle = FALSE, #line 5899 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -14652,7 +14652,7 @@ F_TRAINER_FEMALE | #line 5915 .doubleBattle = FALSE, #line 5916 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -14697,7 +14697,7 @@ F_TRAINER_FEMALE | #line 5932 .doubleBattle = FALSE, #line 5933 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -14985,7 +14985,7 @@ F_TRAINER_FEMALE | #line 6049 .doubleBattle = FALSE, #line 6050 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -15046,7 +15046,7 @@ F_TRAINER_FEMALE | #line 6075 .doubleBattle = FALSE, #line 6076 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -15481,7 +15481,7 @@ F_TRAINER_FEMALE | #line 6250 .doubleBattle = FALSE, #line 6251 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, #line 6252 .mugshotEnabled = TRUE, .mugshotColor = MUGSHOT_COLOR_YELLOW, @@ -22954,7 +22954,7 @@ F_TRAINER_FEMALE | #line 9191 .doubleBattle = FALSE, #line 9192 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -22986,7 +22986,7 @@ F_TRAINER_FEMALE | #line 9204 .doubleBattle = FALSE, #line 9205 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -23156,7 +23156,7 @@ F_TRAINER_FEMALE | #line 9273 .doubleBattle = FALSE, #line 9274 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -23629,7 +23629,7 @@ F_TRAINER_FEMALE | #line 9461 .doubleBattle = FALSE, #line 9462 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -23740,7 +23740,7 @@ F_TRAINER_FEMALE | #line 9510 .doubleBattle = FALSE, #line 9511 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -23772,7 +23772,7 @@ F_TRAINER_FEMALE | #line 9523 .doubleBattle = FALSE, #line 9524 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -23826,7 +23826,7 @@ F_TRAINER_FEMALE | #line 9544 .doubleBattle = FALSE, #line 9545 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -23880,7 +23880,7 @@ F_TRAINER_FEMALE | #line 9565 .doubleBattle = FALSE, #line 9566 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -23912,7 +23912,7 @@ F_TRAINER_FEMALE | #line 9578 .doubleBattle = FALSE, #line 9579 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -23966,7 +23966,7 @@ F_TRAINER_FEMALE | #line 9599 .doubleBattle = FALSE, #line 9600 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24020,7 +24020,7 @@ F_TRAINER_FEMALE | #line 9620 .doubleBattle = FALSE, #line 9621 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -24052,7 +24052,7 @@ F_TRAINER_FEMALE | #line 9633 .doubleBattle = FALSE, #line 9634 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24106,7 +24106,7 @@ F_TRAINER_FEMALE | #line 9654 .doubleBattle = FALSE, #line 9655 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24162,7 +24162,7 @@ F_TRAINER_FEMALE | #line 9675 .doubleBattle = FALSE, #line 9676 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -24196,7 +24196,7 @@ F_TRAINER_FEMALE | #line 9688 .doubleBattle = FALSE, #line 9689 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24252,7 +24252,7 @@ F_TRAINER_FEMALE | #line 9709 .doubleBattle = FALSE, #line 9710 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24308,7 +24308,7 @@ F_TRAINER_FEMALE | #line 9730 .doubleBattle = FALSE, #line 9731 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -24342,7 +24342,7 @@ F_TRAINER_FEMALE | #line 9743 .doubleBattle = FALSE, #line 9744 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24398,7 +24398,7 @@ F_TRAINER_FEMALE | #line 9764 .doubleBattle = FALSE, #line 9765 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24454,7 +24454,7 @@ F_TRAINER_FEMALE | #line 9785 .doubleBattle = FALSE, #line 9786 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -24488,7 +24488,7 @@ F_TRAINER_FEMALE | #line 9798 .doubleBattle = FALSE, #line 9799 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24544,7 +24544,7 @@ F_TRAINER_FEMALE | #line 9819 .doubleBattle = FALSE, #line 9820 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24717,7 +24717,7 @@ F_TRAINER_FEMALE | #line 9886 .doubleBattle = FALSE, #line 9887 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -25215,7 +25215,7 @@ F_TRAINER_FEMALE | #line 10077 .doubleBattle = FALSE, #line 10078 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -25648,7 +25648,7 @@ F_TRAINER_FEMALE | #line 10240 .doubleBattle = FALSE, #line 10241 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -25682,7 +25682,7 @@ F_TRAINER_FEMALE | #line 10254 .doubleBattle = FALSE, #line 10255 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -25738,7 +25738,7 @@ F_TRAINER_FEMALE | #line 10276 .doubleBattle = FALSE, #line 10277 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -25772,7 +25772,7 @@ F_TRAINER_FEMALE | #line 10290 .doubleBattle = FALSE, #line 10291 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -25806,7 +25806,7 @@ F_TRAINER_FEMALE | #line 10304 .doubleBattle = FALSE, #line 10305 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -25840,7 +25840,7 @@ F_TRAINER_FEMALE | #line 10318 .doubleBattle = FALSE, #line 10319 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -25874,7 +25874,7 @@ F_TRAINER_FEMALE | #line 10332 .doubleBattle = FALSE, #line 10333 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -25921,7 +25921,7 @@ F_TRAINER_FEMALE | #line 10350 .doubleBattle = FALSE, #line 10351 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -25968,7 +25968,7 @@ F_TRAINER_FEMALE | #line 10368 .doubleBattle = FALSE, #line 10369 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -26026,7 +26026,7 @@ F_TRAINER_FEMALE | #line 10390 .doubleBattle = FALSE, #line 10391 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -26073,7 +26073,7 @@ F_TRAINER_FEMALE | #line 10408 .doubleBattle = FALSE, #line 10409 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -26120,7 +26120,7 @@ F_TRAINER_FEMALE | #line 10426 .doubleBattle = FALSE, #line 10427 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -26167,7 +26167,7 @@ F_TRAINER_FEMALE | #line 10444 .doubleBattle = FALSE, #line 10445 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -26214,7 +26214,7 @@ F_TRAINER_FEMALE | #line 10462 .doubleBattle = FALSE, #line 10463 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -26676,7 +26676,7 @@ F_TRAINER_FEMALE | #line 10643 .doubleBattle = FALSE, #line 10644 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -27283,7 +27283,7 @@ F_TRAINER_FEMALE | #line 10885 .doubleBattle = FALSE, #line 10886 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -27405,7 +27405,7 @@ F_TRAINER_FEMALE | #line 10932 .doubleBattle = FALSE, #line 10933 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -27472,7 +27472,7 @@ F_TRAINER_FEMALE | #line 10958 .doubleBattle = FALSE, #line 10959 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -27515,7 +27515,7 @@ F_TRAINER_FEMALE | #line 10975 .doubleBattle = FALSE, #line 10976 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -27560,7 +27560,7 @@ F_TRAINER_FEMALE | #line 10992 .doubleBattle = FALSE, #line 10993 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -27605,7 +27605,7 @@ F_TRAINER_FEMALE | #line 11010 .doubleBattle = FALSE, #line 11011 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -27661,7 +27661,7 @@ F_TRAINER_FEMALE | #line 11032 .doubleBattle = FALSE, #line 11033 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -27841,7 +27841,7 @@ F_TRAINER_FEMALE | #line 11100 .doubleBattle = FALSE, #line 11101 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -29814,7 +29814,7 @@ F_TRAINER_FEMALE | #line 11869 .doubleBattle = FALSE, #line 11870 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -30223,7 +30223,7 @@ F_TRAINER_FEMALE | #line 12041 .doubleBattle = FALSE, #line 12042 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -30257,7 +30257,7 @@ F_TRAINER_FEMALE | #line 12055 .doubleBattle = FALSE, #line 12056 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -30370,7 +30370,7 @@ F_TRAINER_FEMALE | #line 12105 .doubleBattle = FALSE, #line 12106 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -30483,7 +30483,7 @@ F_TRAINER_FEMALE | #line 12155 .doubleBattle = FALSE, #line 12156 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -30596,7 +30596,7 @@ F_TRAINER_FEMALE | #line 12205 .doubleBattle = FALSE, #line 12206 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -30707,7 +30707,7 @@ F_TRAINER_FEMALE | #line 12254 .doubleBattle = FALSE, #line 12255 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -30772,7 +30772,7 @@ F_TRAINER_FEMALE | #line 12279 .doubleBattle = FALSE, #line 12280 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -30837,7 +30837,7 @@ F_TRAINER_FEMALE | #line 12304 .doubleBattle = FALSE, #line 12305 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -30904,7 +30904,7 @@ F_TRAINER_FEMALE | #line 12329 .doubleBattle = FALSE, #line 12330 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -30971,7 +30971,7 @@ F_TRAINER_FEMALE | #line 12354 .doubleBattle = FALSE, #line 12355 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -31038,7 +31038,7 @@ F_TRAINER_FEMALE | #line 12379 .doubleBattle = FALSE, #line 12380 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -31258,7 +31258,7 @@ F_TRAINER_FEMALE | #line 12464 .doubleBattle = FALSE, #line 12465 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -31303,7 +31303,7 @@ F_TRAINER_FEMALE | #line 12482 .doubleBattle = FALSE, #line 12483 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -31766,7 +31766,7 @@ F_TRAINER_FEMALE | #line 12672 .doubleBattle = TRUE, #line 12673 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -31823,7 +31823,7 @@ F_TRAINER_FEMALE | #line 12697 .doubleBattle = TRUE, #line 12698 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -31880,7 +31880,7 @@ F_TRAINER_FEMALE | #line 12722 .doubleBattle = TRUE, #line 12723 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -31937,7 +31937,7 @@ F_TRAINER_FEMALE | #line 12747 .doubleBattle = TRUE, #line 12748 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -31994,7 +31994,7 @@ F_TRAINER_FEMALE | #line 12772 .doubleBattle = TRUE, #line 12773 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -33888,7 +33888,7 @@ F_TRAINER_FEMALE | #line 13518 .doubleBattle = FALSE, #line 13519 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -33931,7 +33931,7 @@ F_TRAINER_FEMALE | #line 13535 .doubleBattle = FALSE, #line 13536 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -34227,7 +34227,7 @@ F_TRAINER_FEMALE | #line 13651 .doubleBattle = FALSE, #line 13652 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -34958,7 +34958,7 @@ F_TRAINER_FEMALE | #line 13933 .doubleBattle = FALSE, #line 13934 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -35112,7 +35112,7 @@ F_TRAINER_FEMALE | #line 13994 .doubleBattle = FALSE, #line 13995 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -35418,7 +35418,7 @@ F_TRAINER_FEMALE | #line 14111 .doubleBattle = FALSE, #line 14112 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -35463,7 +35463,7 @@ F_TRAINER_FEMALE | #line 14128 .doubleBattle = FALSE, #line 14129 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -35508,7 +35508,7 @@ F_TRAINER_FEMALE | #line 14145 .doubleBattle = FALSE, #line 14146 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -35555,7 +35555,7 @@ F_TRAINER_FEMALE | #line 14163 .doubleBattle = TRUE, #line 14164 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -35656,7 +35656,7 @@ F_TRAINER_FEMALE | #line 14205 .doubleBattle = TRUE, #line 14206 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -35775,7 +35775,7 @@ F_TRAINER_FEMALE | #line 14255 .doubleBattle = TRUE, #line 14256 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -35894,7 +35894,7 @@ F_TRAINER_FEMALE | #line 14305 .doubleBattle = TRUE, #line 14306 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -36029,7 +36029,7 @@ F_TRAINER_FEMALE | #line 14363 .doubleBattle = TRUE, #line 14364 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -36128,7 +36128,7 @@ F_TRAINER_FEMALE | #line 14405 .doubleBattle = TRUE, #line 14406 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -36227,7 +36227,7 @@ F_TRAINER_FEMALE | #line 14447 .doubleBattle = TRUE, #line 14448 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -36344,7 +36344,7 @@ F_TRAINER_FEMALE | #line 14497 .doubleBattle = TRUE, #line 14498 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -36479,7 +36479,7 @@ F_TRAINER_FEMALE | #line 14555 .doubleBattle = TRUE, #line 14556 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -36578,7 +36578,7 @@ F_TRAINER_FEMALE | #line 14597 .doubleBattle = TRUE, #line 14598 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -36695,7 +36695,7 @@ F_TRAINER_FEMALE | #line 14647 .doubleBattle = TRUE, #line 14648 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -36812,7 +36812,7 @@ F_TRAINER_FEMALE | #line 14697 .doubleBattle = TRUE, #line 14698 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -36949,7 +36949,7 @@ F_TRAINER_FEMALE | #line 14755 .doubleBattle = TRUE, #line 14756 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -37052,7 +37052,7 @@ F_TRAINER_FEMALE | #line 14797 .doubleBattle = TRUE, #line 14798 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -37173,7 +37173,7 @@ F_TRAINER_FEMALE | #line 14847 .doubleBattle = TRUE, #line 14848 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -37312,7 +37312,7 @@ F_TRAINER_FEMALE | #line 14905 .doubleBattle = TRUE, #line 14906 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -37449,7 +37449,7 @@ F_TRAINER_FEMALE | #line 14963 .doubleBattle = TRUE, #line 14964 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -37548,7 +37548,7 @@ F_TRAINER_FEMALE | #line 15005 .doubleBattle = TRUE, #line 15006 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -37665,7 +37665,7 @@ F_TRAINER_FEMALE | #line 15055 .doubleBattle = TRUE, #line 15056 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -37782,7 +37782,7 @@ F_TRAINER_FEMALE | #line 15105 .doubleBattle = TRUE, #line 15106 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -37919,7 +37919,7 @@ F_TRAINER_FEMALE | #line 15163 .doubleBattle = TRUE, #line 15164 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, + .aiFlags = AI_FLAG_BASIC_TRAINER | AI_FLAG_RISKY, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -38038,7 +38038,7 @@ F_TRAINER_FEMALE | #line 15213 .doubleBattle = TRUE, #line 15214 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, + .aiFlags = AI_FLAG_BASIC_TRAINER | AI_FLAG_RISKY, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -38175,7 +38175,7 @@ F_TRAINER_FEMALE | #line 15271 .doubleBattle = TRUE, #line 15272 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, + .aiFlags = AI_FLAG_BASIC_TRAINER | AI_FLAG_RISKY, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -38312,7 +38312,7 @@ F_TRAINER_FEMALE | #line 15329 .doubleBattle = TRUE, #line 15330 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, + .aiFlags = AI_FLAG_BASIC_TRAINER | AI_FLAG_RISKY, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -38447,7 +38447,7 @@ F_TRAINER_FEMALE | #line 15387 .doubleBattle = TRUE, #line 15388 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -38566,7 +38566,7 @@ F_TRAINER_FEMALE | #line 15437 .doubleBattle = TRUE, #line 15438 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -38703,7 +38703,7 @@ F_TRAINER_FEMALE | #line 15495 .doubleBattle = TRUE, #line 15496 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -38840,7 +38840,7 @@ F_TRAINER_FEMALE | #line 15553 .doubleBattle = TRUE, #line 15554 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -38977,7 +38977,7 @@ F_TRAINER_FEMALE | #line 15611 .doubleBattle = TRUE, #line 15612 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -39094,7 +39094,7 @@ F_TRAINER_FEMALE | #line 15661 .doubleBattle = TRUE, #line 15662 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -39211,7 +39211,7 @@ F_TRAINER_FEMALE | #line 15711 .doubleBattle = TRUE, #line 15712 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -39346,7 +39346,7 @@ F_TRAINER_FEMALE | #line 15769 .doubleBattle = TRUE, #line 15770 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -39479,7 +39479,7 @@ F_TRAINER_FEMALE | #line 15826 .doubleBattle = FALSE, #line 15827 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -39534,7 +39534,7 @@ F_TRAINER_FEMALE | #line 15849 .doubleBattle = FALSE, #line 15850 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -39568,7 +39568,7 @@ F_TRAINER_FEMALE | #line 15863 .doubleBattle = FALSE, #line 15864 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -39701,7 +39701,7 @@ F_TRAINER_FEMALE | #line 15920 .doubleBattle = FALSE, #line 15921 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -39733,7 +39733,7 @@ F_TRAINER_FEMALE | #line 15933 .doubleBattle = FALSE, #line 15934 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -39765,7 +39765,7 @@ F_TRAINER_FEMALE | #line 15946 .doubleBattle = FALSE, #line 15947 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -39799,7 +39799,7 @@ F_TRAINER_FEMALE | #line 15959 .doubleBattle = FALSE, #line 15960 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -39831,7 +39831,7 @@ F_TRAINER_FEMALE | #line 15972 .doubleBattle = FALSE, #line 15973 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -39865,7 +39865,7 @@ F_TRAINER_FEMALE | #line 15985 .doubleBattle = FALSE, #line 15986 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -39897,7 +39897,7 @@ F_TRAINER_FEMALE | #line 15998 .doubleBattle = FALSE, #line 15999 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -40764,7 +40764,7 @@ F_TRAINER_FEMALE | #line 16336 .doubleBattle = FALSE, #line 16337 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -40811,7 +40811,7 @@ F_TRAINER_FEMALE | #line 16354 .doubleBattle = FALSE, #line 16355 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -40869,7 +40869,7 @@ F_TRAINER_FEMALE | #line 16376 .doubleBattle = FALSE, #line 16377 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -40927,7 +40927,7 @@ F_TRAINER_FEMALE | #line 16398 .doubleBattle = FALSE, #line 16399 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -41197,7 +41197,7 @@ F_TRAINER_FEMALE | #line 16503 .doubleBattle = FALSE, #line 16504 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -41240,7 +41240,7 @@ F_TRAINER_FEMALE | #line 16520 .doubleBattle = FALSE, #line 16521 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -41294,7 +41294,7 @@ F_TRAINER_FEMALE | #line 16541 .doubleBattle = FALSE, #line 16542 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -41348,7 +41348,7 @@ F_TRAINER_FEMALE | #line 16562 .doubleBattle = FALSE, #line 16563 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { diff --git a/src/data/trainers.party b/src/data/trainers.party index c5d2626b3d52..14304518b69b 100644 --- a/src/data/trainers.party +++ b/src/data/trainers.party @@ -88,7 +88,7 @@ Pic: Hiker Gender: Male Music: Hiker Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Geodude Level: 21 @@ -243,7 +243,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Manectric Level: 29 @@ -513,7 +513,7 @@ Pic: Expert M Gender: Male Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Makuhita Level: 30 @@ -531,7 +531,7 @@ Gender: Male Music: Aqua Items: Super Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mightyena Level: 34 @@ -561,7 +561,7 @@ Pic: Aqua Admin F Gender: Female Music: Aqua Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Carvanha Level: 28 @@ -578,7 +578,7 @@ Pic: Aqua Admin F Gender: Female Music: Aqua Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Sharpedo Level: 37 @@ -596,7 +596,7 @@ Gender: Male Music: Aqua Items: Super Potion / Super Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mightyena Level: 41 @@ -669,7 +669,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Medicham Level: 43 @@ -1266,7 +1266,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Swellow Level: 26 @@ -1283,7 +1283,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Spinda Level: 26 @@ -1300,7 +1300,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slakoth @ Sitrus Berry Level: 26 @@ -1317,7 +1317,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Vigoroth Level: 26 @@ -1333,7 +1333,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Swellow Level: 28 @@ -1383,7 +1383,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Sableye Level: 44 @@ -1405,7 +1405,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mawile Level: 46 @@ -1423,7 +1423,7 @@ Gender: Male Music: Cool Items: Super Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Electrike Level: 17 @@ -1445,7 +1445,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Cacturne Level: 43 @@ -1463,7 +1463,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Magneton Level: 43 @@ -1481,7 +1481,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Swellow Level: 42 @@ -1503,7 +1503,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Dodrio Level: 42 @@ -1529,7 +1529,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Kecleon Level: 42 @@ -1551,7 +1551,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Electrike Level: 26 @@ -1573,7 +1573,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Manectric Level: 29 @@ -1595,7 +1595,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Manectric Level: 32 @@ -1617,7 +1617,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Manectric Level: 35 @@ -1639,7 +1639,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Graveler Level: 33 @@ -1657,7 +1657,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Delcatty Level: 26 @@ -1673,7 +1673,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Wigglytuff Level: 26 @@ -1690,7 +1690,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Zangoose Level: 26 @@ -1706,7 +1706,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Mawile Level: 29 @@ -1740,7 +1740,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Lairon Level: 45 @@ -1758,7 +1758,7 @@ Gender: Female Music: Cool Items: Super Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Wingull Level: 17 @@ -1780,7 +1780,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Sableye Level: 30 @@ -1794,7 +1794,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Roselia Level: 45 @@ -1808,7 +1808,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Claydol Level: 45 @@ -1822,7 +1822,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Torkoal Level: 42 @@ -1844,7 +1844,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Skarmory Level: 43 @@ -1862,7 +1862,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Sandslash Level: 42 @@ -1884,7 +1884,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Wingull Level: 26 @@ -1906,7 +1906,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Pelipper Level: 29 @@ -1928,7 +1928,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Pelipper Level: 32 @@ -1950,7 +1950,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Pelipper Level: 34 @@ -4592,7 +4592,7 @@ Gender: Male Music: Elite Four Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability / Setup First Turn +AI: Basic Trainer / Force Setup First Turn Mugshot: Purple Mightyena @@ -4643,7 +4643,7 @@ Gender: Female Music: Elite Four Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mugshot: Green Dusclops @@ -4694,7 +4694,7 @@ Gender: Female Music: Elite Four Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mugshot: Pink Sealeo @@ -4745,7 +4745,7 @@ Gender: Male Music: Elite Four Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mugshot: Blue Shelgon @@ -4796,7 +4796,7 @@ Gender: Female Music: Female Items: Potion / Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Geodude Level: 12 @@ -4830,7 +4830,7 @@ Gender: Male Music: Male Items: Super Potion / Super Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Machop Level: 16 @@ -4864,7 +4864,7 @@ Gender: Male Music: Male Items: Super Potion / Super Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Voltorb Level: 20 @@ -4906,7 +4906,7 @@ Gender: Female Music: Female Items: Hyper Potion / Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Numel Level: 24 @@ -4948,7 +4948,7 @@ Gender: Male Music: Male Items: Hyper Potion / Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Spinda Level: 27 @@ -4990,7 +4990,7 @@ Gender: Female Music: Female Items: Hyper Potion / Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability / Risky +AI: Basic Trainer / Risky Swablu Level: 29 @@ -5040,7 +5040,7 @@ Gender: Male Music: Female Items: Hyper Potion / Hyper Potion / Hyper Potion / Hyper Potion Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Claydol Level: 41 @@ -5082,7 +5082,7 @@ Gender: Male Music: Male Items: Hyper Potion / Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Luvdisc Level: 41 @@ -5764,7 +5764,7 @@ Pic: Expert M Gender: Male Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hariyama Level: 27 @@ -5777,7 +5777,7 @@ Pic: Expert M Gender: Male Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hariyama Level: 33 @@ -5794,7 +5794,7 @@ Pic: Expert M Gender: Male Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hariyama Level: 36 @@ -5811,7 +5811,7 @@ Pic: Expert M Gender: Male Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hariyama Level: 39 @@ -5828,7 +5828,7 @@ Pic: Expert M Gender: Male Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hariyama Level: 42 @@ -5845,7 +5845,7 @@ Pic: Expert F Gender: Female Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Meditite Level: 18 @@ -5862,7 +5862,7 @@ Pic: Expert F Gender: Female Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Meditite Level: 21 @@ -5879,7 +5879,7 @@ Pic: Expert F Gender: Female Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Meditite Level: 30 @@ -5896,7 +5896,7 @@ Pic: Expert F Gender: Female Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Medicham Level: 33 @@ -5913,7 +5913,7 @@ Pic: Expert F Gender: Female Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Medicham Level: 36 @@ -5930,7 +5930,7 @@ Pic: Expert F Gender: Female Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Medicham Level: 39 @@ -6047,7 +6047,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slaking Level: 43 @@ -6073,7 +6073,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Gardevoir Level: 43 @@ -6248,7 +6248,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mugshot: Yellow Wailord @@ -9189,7 +9189,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Absol Level: 27 @@ -9202,7 +9202,7 @@ Pic: Ninja Boy Gender: Male Music: Suspicious Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Koffing Level: 31 @@ -9271,7 +9271,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Manectric Level: 34 @@ -9459,7 +9459,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Altaria Level: 44 @@ -9508,7 +9508,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Treecko Level: 5 @@ -9521,7 +9521,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slugma Level: 18 @@ -9542,7 +9542,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slugma Level: 29 @@ -9563,7 +9563,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Torchic Level: 5 @@ -9576,7 +9576,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Wingull Level: 18 @@ -9597,7 +9597,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Pelipper Level: 29 @@ -9618,7 +9618,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mudkip Level: 5 @@ -9631,7 +9631,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Lombre Level: 18 @@ -9652,7 +9652,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Lombre Level: 29 @@ -9673,7 +9673,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Treecko Level: 5 @@ -9686,7 +9686,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Wingull Level: 18 @@ -9707,7 +9707,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slugma Level: 29 @@ -9728,7 +9728,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Torchic Level: 5 @@ -9741,7 +9741,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Wingull Level: 18 @@ -9762,7 +9762,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Pelipper Level: 29 @@ -9783,7 +9783,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mudkip Level: 5 @@ -9796,7 +9796,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Lombre Level: 18 @@ -9817,7 +9817,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Lombre Level: 29 @@ -9884,7 +9884,7 @@ Pic: Cooltrainer M Gender: Male Music: Cool Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Lunatone Level: 43 @@ -10075,7 +10075,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Sableye Level: 43 @@ -10238,7 +10238,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Breloom Level: 27 @@ -10252,7 +10252,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Seedot Level: 28 @@ -10274,7 +10274,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Cacturne Level: 39 @@ -10288,7 +10288,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Breloom Level: 31 @@ -10302,7 +10302,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Breloom Level: 34 @@ -10316,7 +10316,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Breloom Level: 37 @@ -10330,7 +10330,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Kecleon Level: 39 @@ -10348,7 +10348,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Gloom Level: 26 @@ -10366,7 +10366,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Lotad Level: 28 @@ -10388,7 +10388,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Swablu Level: 38 @@ -10406,7 +10406,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Gloom Level: 30 @@ -10424,7 +10424,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Gloom Level: 33 @@ -10442,7 +10442,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Gloom Level: 36 @@ -10460,7 +10460,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Bellossom Level: 39 @@ -10641,7 +10641,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Manectric Level: 32 @@ -10883,7 +10883,7 @@ Pic: Expert M Gender: Male Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Swellow Level: 33 @@ -10930,7 +10930,7 @@ Pic: Magma Admin Gender: Male Music: Magma Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Numel Level: 18 @@ -10956,7 +10956,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Kecleon Level: 33 @@ -10973,7 +10973,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slugma Level: 13 @@ -10990,7 +10990,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Wingull Level: 13 @@ -11008,7 +11008,7 @@ Gender: Male Music: Magma Items: Super Potion / Super Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mightyena Level: 37 @@ -11030,7 +11030,7 @@ Gender: Male Music: Magma Items: Super Potion / Super Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mightyena Level: 24 @@ -11098,7 +11098,7 @@ Pic: Lass Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Marill Level: 15 @@ -11867,7 +11867,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Kecleon Level: 23 @@ -12039,7 +12039,7 @@ Pic: Wally Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Ralts Level: 16 @@ -12053,7 +12053,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Altaria Level: 47 @@ -12103,7 +12103,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Altaria Level: 50 @@ -12153,7 +12153,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Altaria Level: 53 @@ -12203,7 +12203,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Altaria Level: 56 @@ -12252,7 +12252,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Tropius Level: 31 @@ -12277,7 +12277,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Tropius Level: 31 @@ -12302,7 +12302,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Tropius Level: 31 @@ -12327,7 +12327,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Tropius Level: 31 @@ -12352,7 +12352,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Tropius Level: 31 @@ -12377,7 +12377,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Tropius Level: 31 @@ -12462,7 +12462,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Gloom Level: 34 @@ -12480,7 +12480,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Shiftry Level: 34 @@ -12670,7 +12670,7 @@ Pic: Old Couple Gender: Male Music: Intense Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Medicham Level: 39 @@ -12695,7 +12695,7 @@ Pic: Old Couple Gender: Male Music: Intense Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Medicham Level: 43 @@ -12720,7 +12720,7 @@ Pic: Old Couple Gender: Male Music: Intense Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Medicham Level: 46 @@ -12745,7 +12745,7 @@ Pic: Old Couple Gender: Male Music: Intense Double Battle: Yes -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Medicham Level: 49 @@ -12770,7 +12770,7 @@ Pic: Old Couple Gender: Male Music: Intense Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Medicham Level: 52 @@ -13516,7 +13516,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Pelipper Level: 33 @@ -13533,7 +13533,7 @@ Pic: Magma Leader Maxie Gender: Male Music: Magma Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mightyena Level: 42 @@ -13649,7 +13649,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Manectric Level: 24 @@ -13931,7 +13931,7 @@ Gender: Female Music: Intense Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Roselia Level: 33 @@ -13992,7 +13992,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Manectric Level: 30 @@ -14109,7 +14109,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Loudred Level: 29 @@ -14126,7 +14126,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Lotad Level: 13 @@ -14143,7 +14143,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Torkoal Level: 13 @@ -14161,7 +14161,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Golem Level: 32 @@ -14203,7 +14203,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Omanyte Level: 37 @@ -14253,7 +14253,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Omastar Level: 42 @@ -14303,7 +14303,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Aerodactyl Level: 47 @@ -14361,7 +14361,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Machamp @ Sitrus Berry Level: 33 @@ -14403,7 +14403,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Machamp @ Sitrus Berry Level: 38 @@ -14445,7 +14445,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hitmonchan Level: 40 @@ -14495,7 +14495,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hitmonlee Level: 46 @@ -14553,7 +14553,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mareep Level: 36 @@ -14595,7 +14595,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Pikachu Level: 39 @@ -14645,7 +14645,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Raichu Level: 44 @@ -14695,7 +14695,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Electabuzz Level: 50 @@ -14753,7 +14753,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Magcargo @ White Herb Level: 38 @@ -14795,7 +14795,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Growlithe Level: 41 @@ -14845,7 +14845,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Houndour Level: 46 @@ -14903,7 +14903,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Arcanine Level: 51 @@ -14961,7 +14961,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Chansey Level: 42 @@ -15003,7 +15003,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slaking @ Sitrus Berry Level: 47 @@ -15053,7 +15053,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slaking @ Sitrus Berry Level: 52 @@ -15103,7 +15103,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slaking @ Sitrus Berry Level: 57 @@ -15161,7 +15161,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability / Risky +AI: Basic Trainer / Risky Dratini @ Sitrus Berry Level: 40 @@ -15211,7 +15211,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability / Risky +AI: Basic Trainer / Risky Hoothoot Level: 43 @@ -15269,7 +15269,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability / Risky +AI: Basic Trainer / Risky Noctowl Level: 48 @@ -15327,7 +15327,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability / Risky +AI: Basic Trainer / Risky Noctowl Level: 53 @@ -15385,7 +15385,7 @@ Gender: Male Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slowpoke Level: 48 @@ -15435,7 +15435,7 @@ Gender: Male Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Drowzee Level: 53 @@ -15493,7 +15493,7 @@ Gender: Male Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hypno Level: 58 @@ -15551,7 +15551,7 @@ Gender: Male Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hypno Level: 63 @@ -15609,7 +15609,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Poliwag Level: 46 @@ -15659,7 +15659,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Poliwhirl Level: 50 @@ -15709,7 +15709,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Lapras Level: 56 @@ -15767,7 +15767,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Lapras Level: 61 @@ -15824,7 +15824,7 @@ Pic: Bug Maniac Gender: Male Music: Suspicious Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Illumise Level: 17 @@ -15847,7 +15847,7 @@ Pic: Bird Keeper Gender: Male Music: Cool Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Tropius Level: 30 @@ -15861,7 +15861,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Skarmory Level: 77 @@ -15918,7 +15918,7 @@ Pic: Salon Maiden Anabel Gender: Female Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Beldum Level: 5 @@ -15931,7 +15931,7 @@ Pic: Dome Ace Tucker Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Beldum Level: 5 @@ -15944,7 +15944,7 @@ Pic: Palace Maven Spenser Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Beldum Level: 5 @@ -15957,7 +15957,7 @@ Pic: Arena Tycoon Greta Gender: Female Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Beldum Level: 5 @@ -15970,7 +15970,7 @@ Pic: Factory Head Noland Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Beldum Level: 5 @@ -15983,7 +15983,7 @@ Pic: Pike Queen Lucy Gender: Female Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Beldum Level: 5 @@ -15996,7 +15996,7 @@ Pic: Pyramid King Brandon Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Beldum Level: 5 @@ -16334,7 +16334,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Loudred Level: 35 @@ -16352,7 +16352,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Spinda Level: 37 @@ -16374,7 +16374,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Spinda Level: 39 @@ -16396,7 +16396,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Spinda Level: 41 @@ -16501,7 +16501,7 @@ Pic: Hiker Gender: Male Music: Hiker Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Geodude Level: 26 @@ -16518,7 +16518,7 @@ Pic: Hiker Gender: Male Music: Hiker Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Machop Level: 28 @@ -16539,7 +16539,7 @@ Pic: Hiker Gender: Male Music: Hiker Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Machop Level: 30 @@ -16560,7 +16560,7 @@ Pic: Hiker Gender: Male Music: Hiker Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Machoke Level: 33 diff --git a/src/data/types_info.h b/src/data/types_info.h index f9bd233ca6c4..d14012ed5c55 100644 --- a/src/data/types_info.h +++ b/src/data/types_info.h @@ -40,12 +40,6 @@ const uq4_12_t gTypeEffectivenessTable[NUMBER_OF_MON_TYPES][NUMBER_OF_MON_TYPES] #undef ______ #undef X -#if B_EXPANDED_TYPE_NAMES == TRUE -#define HANDLE_EXPANDED_TYPE_NAME(_name, ...) _(DEFAULT(_name, __VA_ARGS__)) -#else -#define HANDLE_EXPANDED_TYPE_NAME(_name, ...) _(_name) -#endif - // .generic is large enough that the text for TYPE_ELECTRIC will exceed TEXT_BUFF_ARRAY_COUNT. // In this array there's commented-out data such as references to type-resist berries that would otherwise would go unused. // However, we figured this information would be useful for users that want to add their own types as a reminder of @@ -60,6 +54,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB_WHITE, .damageCategory = DAMAGE_CATEGORY_PHYSICAL, .paletteTMHM = gItemIconPalette_NormalTMHM, + .useSecondTypeIconPalette = FALSE, + .isSpecialCaseType = TRUE, }, [TYPE_NORMAL] = { @@ -71,6 +67,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB_WHITE, // custom .damageCategory = DAMAGE_CATEGORY_PHYSICAL, .paletteTMHM = gItemIconPalette_NormalTMHM, + .useSecondTypeIconPalette = FALSE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_SILK_SCARF, //.berry = ITEM_CHILAN_BERRY, //.gem = ITEM_NORMAL_GEM, @@ -80,7 +78,7 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = }, [TYPE_FIGHTING] = { - .name = HANDLE_EXPANDED_TYPE_NAME("Fight", "Fighting"), + .name = _("Fighting"), .generic = _("a FIGHTING move"), .palette = 13, .zMove = MOVE_ALL_OUT_PUMMELING, @@ -88,6 +86,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(26, 8, 14), .damageCategory = DAMAGE_CATEGORY_PHYSICAL, .paletteTMHM = gItemIconPalette_FightingTMHM, + .useSecondTypeIconPalette = FALSE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_BLACK_BELT, //.berry = ITEM_CHOPLE_BERRY, //.gem = ITEM_FIGHTING_GEM, @@ -107,6 +107,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(31, 26, 7), .damageCategory = DAMAGE_CATEGORY_PHYSICAL, .paletteTMHM = gItemIconPalette_FlyingTMHM, + .useSecondTypeIconPalette = FALSE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_SHARP_BEAK, //.berry = ITEM_COBA_BERRY, //.gem = ITEM_FLYING_GEM, @@ -126,6 +128,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(26, 10, 25), // custom .damageCategory = DAMAGE_CATEGORY_PHYSICAL, .paletteTMHM = gItemIconPalette_PoisonTMHM, + .useSecondTypeIconPalette = FALSE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_POISON_BARB, //.berry = ITEM_KEBIA_BERRY, //.gem = ITEM_POISON_GEM, @@ -145,6 +149,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(25, 23, 18), .damageCategory = DAMAGE_CATEGORY_PHYSICAL, .paletteTMHM = gItemIconPalette_GroundTMHM, + .useSecondTypeIconPalette = FALSE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_SOFT_SAND, //.berry = ITEM_SHUCA_BERRY, //.gem = ITEM_GROUND_GEM, @@ -164,6 +170,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(18, 16, 8), // custom .damageCategory = DAMAGE_CATEGORY_PHYSICAL, .paletteTMHM = gItemIconPalette_RockTMHM, + .useSecondTypeIconPalette = FALSE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_HARD_STONE, //.berry = ITEM_CHARTI_BERRY, //.gem = ITEM_ROCK_GEM, @@ -183,6 +191,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(18, 24, 6), .damageCategory = DAMAGE_CATEGORY_PHYSICAL, .paletteTMHM = gItemIconPalette_BugTMHM, + .useSecondTypeIconPalette = FALSE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_SILVER_POWDER, //.berry = ITEM_TANGA_BERRY, //.gem = ITEM_BUG_GEM, @@ -202,6 +212,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(12, 10, 16), .damageCategory = DAMAGE_CATEGORY_PHYSICAL, .paletteTMHM = gItemIconPalette_GhostTMHM, + .useSecondTypeIconPalette = FALSE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_SPELL_TAG, //.berry = ITEM_KASIB_BERRY, //.gem = ITEM_GHOST_GEM, @@ -221,6 +233,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(19, 19, 20), .damageCategory = DAMAGE_CATEGORY_PHYSICAL, .paletteTMHM = gItemIconPalette_SteelTMHM, + .useSecondTypeIconPalette = FALSE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_METAL_COAT, //.berry = ITEM_BABIRI_BERRY, //.gem = ITEM_STEEL_GEM, @@ -237,6 +251,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .palette = 15, .teraTypeRGBValue = RGB_WHITE, .damageCategory = DAMAGE_CATEGORY_SPECIAL, + .useSecondTypeIconPalette = FALSE, + .isSpecialCaseType = TRUE, }, [TYPE_FIRE] = { @@ -248,6 +264,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(31, 20, 11), .damageCategory = DAMAGE_CATEGORY_SPECIAL, .paletteTMHM = gItemIconPalette_FireTMHM, + .useSecondTypeIconPalette = TRUE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_CHARCOAL, //.berry = ITEM_OCCA_BERRY, //.gem = ITEM_FIRE_GEM, @@ -267,6 +285,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(10, 18, 27), .damageCategory = DAMAGE_CATEGORY_SPECIAL, .paletteTMHM = gItemIconPalette_WaterTMHM, + .useSecondTypeIconPalette = TRUE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_MYSTIC_WATER, //.berry = ITEM_PASSHO_BERRY, //.gem = ITEM_WATER_GEM, @@ -286,6 +306,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(12, 24, 11), .damageCategory = DAMAGE_CATEGORY_SPECIAL, .paletteTMHM = gItemIconPalette_GrassTMHM, + .useSecondTypeIconPalette = TRUE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_MIRACLE_SEED, //.berry = ITEM_RINDO_BERRY, //.gem = ITEM_GRASS_GEM, @@ -297,7 +319,7 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = }, [TYPE_ELECTRIC] = { - .name = HANDLE_EXPANDED_TYPE_NAME("Electr", "Electric"), + .name = _("Electric"), .generic = _("an ELECTRIC move"), .palette = 13, .zMove = MOVE_GIGAVOLT_HAVOC, @@ -305,6 +327,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(30, 26, 7), .damageCategory = DAMAGE_CATEGORY_SPECIAL, .paletteTMHM = gItemIconPalette_ElectricTMHM, + .useSecondTypeIconPalette = TRUE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_MAGNET, //.berry = ITEM_WACAN_BERRY, //.gem = ITEM_ELECTRIC_GEM, @@ -316,7 +340,7 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = }, [TYPE_PSYCHIC] = { - .name = HANDLE_EXPANDED_TYPE_NAME("Psychc", "Psychic"), + .name = _("Psychic"), .generic = _("a PSYCHIC move"), .palette = 14, .zMove = MOVE_SHATTERED_PSYCHE, @@ -324,6 +348,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(31, 14, 15), .damageCategory = DAMAGE_CATEGORY_SPECIAL, .paletteTMHM = gItemIconPalette_PsychicTMHM, + .useSecondTypeIconPalette = TRUE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_TWISTED_SPOON, //.berry = ITEM_PAYAPA_BERRY, //.gem = ITEM_PSYCHIC_GEM, @@ -343,6 +369,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(14, 26, 25), .damageCategory = DAMAGE_CATEGORY_SPECIAL, .paletteTMHM = gItemIconPalette_IceTMHM, + .useSecondTypeIconPalette = TRUE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_NEVER_MELT_ICE, //.berry = ITEM_YACHE_BERRY, //.gem = ITEM_ICE_GEM, @@ -362,6 +390,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(10, 18, 27), .damageCategory = DAMAGE_CATEGORY_SPECIAL, .paletteTMHM = gItemIconPalette_DragonTMHM, + .useSecondTypeIconPalette = TRUE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_DRAGON_FANG, //.berry = ITEM_HABAN_BERRY, //.gem = ITEM_DRAGON_GEM, @@ -381,6 +411,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(6, 5, 8), .damageCategory = DAMAGE_CATEGORY_SPECIAL, .paletteTMHM = gItemIconPalette_DarkTMHM, + .useSecondTypeIconPalette = TRUE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_BLACK_GLASSES, //.berry = ITEM_COLBUR_BERRY, //.gem = ITEM_DARK_GEM, @@ -400,6 +432,8 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = .teraTypeRGBValue = RGB(31, 15, 21), .damageCategory = DAMAGE_CATEGORY_SPECIAL, .paletteTMHM = gItemIconPalette_FairyTMHM, + .useSecondTypeIconPalette = TRUE, + .isSpecialCaseType = FALSE, //.enhanceItem = ITEM_FAIRY_FEATHER, //.berry = ITEM_ROSELI_BERRY, //.gem = ITEM_FAIRY_GEM, @@ -411,13 +445,15 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = }, [TYPE_STELLAR] = { - .name = HANDLE_EXPANDED_TYPE_NAME("Stellr", "Stellar"), + .name = _("Stellar"), .generic = _("a STELLAR move"), .palette = 15, .zMove = MOVE_BREAKNECK_BLITZ, .maxMove = MOVE_MAX_STRIKE, .teraTypeRGBValue = RGB(10, 18, 27), .paletteTMHM = gItemIconPalette_NormalTMHM, // failsafe + .useSecondTypeIconPalette = FALSE, + .isSpecialCaseType = TRUE, // .teraShard = ITEM_STELLAR_TERA_SHARD, }, }; diff --git a/src/daycare.c b/src/daycare.c index e13f993c3f10..013e0b05ba99 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -3,7 +3,7 @@ #include "battle.h" #include "daycare.h" #include "string_util.h" -#include "level_caps.h" +#include "caps.h" #include "mail.h" #include "pokemon_storage_system.h" #include "event_data.h" @@ -716,17 +716,17 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare) static void InheritPokeball(struct Pokemon *egg, struct BoxPokemon *father, struct BoxPokemon *mother) { - u16 inheritBall = ITEM_POKE_BALL; - u16 fatherBall = GetBoxMonData(father, MON_DATA_POKEBALL); - u16 motherBall = GetBoxMonData(mother, MON_DATA_POKEBALL); + enum PokeBall inheritBall = BALL_POKE; + enum PokeBall fatherBall = GetBoxMonData(father, MON_DATA_POKEBALL); + enum PokeBall motherBall = GetBoxMonData(mother, MON_DATA_POKEBALL); u16 fatherSpecies = GetBoxMonData(father, MON_DATA_SPECIES); u16 motherSpecies = GetBoxMonData(mother, MON_DATA_SPECIES); - if (fatherBall == ITEM_MASTER_BALL || fatherBall == ITEM_CHERISH_BALL) - fatherBall = ITEM_POKE_BALL; + if (fatherBall == BALL_MASTER || fatherBall == BALL_CHERISH || fatherBall == BALL_STRANGE) + fatherBall = BALL_POKE; - if (motherBall == ITEM_MASTER_BALL || motherBall == ITEM_CHERISH_BALL) - motherBall = ITEM_POKE_BALL; + if (motherBall == BALL_MASTER || motherBall == BALL_CHERISH || motherBall == BALL_STRANGE) + motherBall = BALL_POKE; if (P_BALL_INHERITING >= GEN_7) { @@ -996,6 +996,8 @@ static void GiveMoveIfItem(struct Pokemon *mon, struct DayCare *daycare) } } +STATIC_ASSERT(P_SCATTERBUG_LINE_FORM_BREED == SPECIES_SCATTERBUG_ICY_SNOW || (P_SCATTERBUG_LINE_FORM_BREED >= SPECIES_SCATTERBUG_POLAR && P_SCATTERBUG_LINE_FORM_BREED <= SPECIES_SCATTERBUG_POKEBALL), ScatterbugLineFormBreedMustBeAValidScatterbugForm); + static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parentSlots) { u16 i; @@ -1030,6 +1032,8 @@ static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parent eggSpecies = SPECIES_PHIONE; else if (GET_BASE_SPECIES_ID(eggSpecies) == SPECIES_ROTOM) eggSpecies = SPECIES_ROTOM; + else if (GET_BASE_SPECIES_ID(eggSpecies) == SPECIES_SCATTERBUG) + eggSpecies = P_SCATTERBUG_LINE_FORM_BREED; else if (GET_BASE_SPECIES_ID(eggSpecies) == SPECIES_FURFROU) eggSpecies = SPECIES_FURFROU; else if (eggSpecies == SPECIES_SINISTEA_ANTIQUE) @@ -1083,14 +1087,14 @@ static void _GiveEggFromDaycare(struct DayCare *daycare) void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation) { u8 metLevel; - u16 ball; + enum PokeBall ball; u8 language; u8 metLocation; u8 isEgg; CreateMon(mon, species, EGG_HATCH_LEVEL, USE_RANDOM_IVS, FALSE, 0, OT_ID_PLAYER_ID, 0); metLevel = 0; - ball = ITEM_POKE_BALL; + ball = BALL_POKE; language = LANGUAGE_JAPANESE; SetMonData(mon, MON_DATA_POKEBALL, &ball); SetMonData(mon, MON_DATA_NICKNAME, sJapaneseEggNickname); @@ -1110,14 +1114,14 @@ void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation) static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare *daycare) { u32 personality; - u16 ball; + enum PokeBall ball; u8 metLevel; u8 language; personality = daycare->offspringPersonality; CreateMon(mon, species, EGG_HATCH_LEVEL, USE_RANDOM_IVS, TRUE, personality, OT_ID_PLAYER_ID, 0); metLevel = 0; - ball = ITEM_POKE_BALL; + ball = BALL_POKE; language = LANGUAGE_JAPANESE; SetMonData(mon, MON_DATA_POKEBALL, &ball); SetMonData(mon, MON_DATA_NICKNAME, sJapaneseEggNickname); diff --git a/src/debug.c b/src/debug.c index a2bf55d95afa..f1c403fc1e80 100644 --- a/src/debug.c +++ b/src/debug.c @@ -68,7 +68,6 @@ #include "constants/weather.h" #include "save.h" -#if DEBUG_OVERWORLD_MENU == TRUE // ******************************* enum DebugMenu { @@ -4175,12 +4174,12 @@ static void DebugAction_PCBag_Fill_PocketItems(u8 taskId) static void DebugAction_PCBag_Fill_PocketPokeBalls(u8 taskId) { - u16 itemId; + u16 ballId; - for (itemId = FIRST_BALL; itemId < LAST_BALL; itemId++) + for (ballId = BALL_STRANGE; ballId < POKEBALL_COUNT; ballId++) { - if (CheckBagHasSpace(itemId, MAX_BAG_ITEM_CAPACITY)) - AddBagItem(itemId, MAX_BAG_ITEM_CAPACITY); + if (CheckBagHasSpace(ballId, MAX_BAG_ITEM_CAPACITY)) + AddBagItem(ballId, MAX_BAG_ITEM_CAPACITY); } } @@ -5129,5 +5128,3 @@ static void DebugAction_Util_CheckEWRAMCounters(u8 taskId) { Debug_DestroyMenu_Full_Script(taskId, Debug_EventScript_EWRAMCounters); } - -#endif //DEBUG_OVERWORLD_MENU == TRUE diff --git a/src/decompress.c b/src/decompress.c index 30337f5a8dc3..284bce48d331 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -130,18 +130,24 @@ void LoadSpecialPokePic(void *dest, s32 species, u32 personality, bool8 isFrontP if (isFrontPic) { + #if P_GENDER_DIFFERENCES if (gSpeciesInfo[species].frontPicFemale != NULL && IsPersonalityFemale(species, personality)) LZ77UnCompWram(gSpeciesInfo[species].frontPicFemale, dest); - else if (gSpeciesInfo[species].frontPic != NULL) + else + #endif + if (gSpeciesInfo[species].frontPic != NULL) LZ77UnCompWram(gSpeciesInfo[species].frontPic, dest); else LZ77UnCompWram(gSpeciesInfo[SPECIES_NONE].frontPic, dest); } else { + #if P_GENDER_DIFFERENCES if (gSpeciesInfo[species].backPicFemale != NULL && IsPersonalityFemale(species, personality)) LZ77UnCompWram(gSpeciesInfo[species].backPicFemale, dest); - else if (gSpeciesInfo[species].backPic != NULL) + else + #endif + if (gSpeciesInfo[species].backPic != NULL) LZ77UnCompWram(gSpeciesInfo[species].backPic, dest); else LZ77UnCompWram(gSpeciesInfo[SPECIES_NONE].backPic, dest); diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 88f2b329e9c6..ee45635ce743 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -314,7 +314,8 @@ static void CreateHatchedMon(struct Pokemon *egg, struct Pokemon *temp) { u16 species; u32 personality, pokerus; - u8 i, friendship, language, gameMet, markings, isModernFatefulEncounter, ball; + enum PokeBall ball; + u8 i, friendship, language, gameMet, markings, isModernFatefulEncounter; u16 moves[MAX_MON_MOVES]; u32 ivs[NUM_STATS]; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index ef09ea93f36b..47640b8f4ed1 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -49,6 +49,7 @@ #include "constants/region_map_sections.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/metatile_behaviors.h" #include "constants/trainer_types.h" #include "constants/union_room.h" #include "constants/weather.h" @@ -158,7 +159,6 @@ static void ApplyLevitateMovement(u8); static bool8 MovementType_Disguise_Callback(struct ObjectEvent *, struct Sprite *); static bool8 MovementType_Buried_Callback(struct ObjectEvent *, struct Sprite *); static void CreateReflectionEffectSprites(void); -static u8 GetObjectEventIdByLocalId(u8); static u8 GetObjectEventIdByLocalIdAndMapInternal(u8, u8, u8); static bool8 GetAvailableObjectEventId(u16, u8, u8, u8 *); static void SetObjectEventDynamicGraphicsId(struct ObjectEvent *); @@ -180,7 +180,6 @@ static void SpriteCB_CameraObject(struct Sprite *); static void CameraObject_Init(struct Sprite *); static void CameraObject_UpdateMove(struct Sprite *); static void CameraObject_UpdateFrozen(struct Sprite *); -static const struct ObjectEventTemplate *FindObjectEventTemplateByLocalId(u8, const struct ObjectEventTemplate *, u8); static void ObjectEventSetSingleMovement(struct ObjectEvent *, struct Sprite *, u8); static void SetSpriteDataForNormalStep(struct Sprite *, u8, u8); static void InitSpriteForFigure8Anim(struct Sprite *); @@ -203,11 +202,12 @@ static const struct ObjectEventGraphicsInfo *SpeciesToGraphicsInfo(u16 species, static bool8 NpcTakeStep(struct Sprite *); static bool8 IsElevationMismatchAt(u8, s16, s16); static bool8 AreElevationsCompatible(u8, u8); -static u16 PackGraphicsId(const struct ObjectEventTemplate *template); static void CopyObjectGraphicsInfoToSpriteTemplate_WithMovementType(u16 graphicsId, u16 movementType, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables); static const struct SpriteFrameImage sPicTable_PechaBerryTree[]; +static void StartSlowRunningAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction); + const u8 gReflectionEffectPaletteMap[16] = { [PALSLOT_PLAYER] = PALSLOT_PLAYER_REFLECTION, [PALSLOT_PLAYER_REFLECTION] = PALSLOT_PLAYER_REFLECTION, @@ -745,10 +745,10 @@ static const u8 sFaceDirectionAnimNums[] = { [DIR_NORTH] = ANIM_STD_FACE_NORTH, [DIR_WEST] = ANIM_STD_FACE_WEST, [DIR_EAST] = ANIM_STD_FACE_EAST, - [DIR_SOUTHWEST] = ANIM_STD_FACE_SOUTH, - [DIR_SOUTHEAST] = ANIM_STD_FACE_SOUTH, - [DIR_NORTHWEST] = ANIM_STD_FACE_NORTH, - [DIR_NORTHEAST] = ANIM_STD_FACE_NORTH, + [DIR_SOUTHWEST] = ANIM_STD_FACE_WEST, + [DIR_SOUTHEAST] = ANIM_STD_FACE_EAST, + [DIR_NORTHWEST] = ANIM_STD_FACE_WEST, + [DIR_NORTHEAST] = ANIM_STD_FACE_EAST, }; static const u8 sMoveDirectionAnimNums[] = { [DIR_NONE] = ANIM_STD_GO_SOUTH, @@ -756,10 +756,10 @@ static const u8 sMoveDirectionAnimNums[] = { [DIR_NORTH] = ANIM_STD_GO_NORTH, [DIR_WEST] = ANIM_STD_GO_WEST, [DIR_EAST] = ANIM_STD_GO_EAST, - [DIR_SOUTHWEST] = ANIM_STD_GO_SOUTH, - [DIR_SOUTHEAST] = ANIM_STD_GO_SOUTH, - [DIR_NORTHWEST] = ANIM_STD_GO_NORTH, - [DIR_NORTHEAST] = ANIM_STD_GO_NORTH, + [DIR_SOUTHWEST] = ANIM_STD_GO_WEST, + [DIR_SOUTHEAST] = ANIM_STD_GO_EAST, + [DIR_NORTHWEST] = ANIM_STD_GO_WEST, + [DIR_NORTHEAST] = ANIM_STD_GO_EAST, }; static const u8 sMoveDirectionFastAnimNums[] = { [DIR_NONE] = ANIM_STD_GO_FAST_SOUTH, @@ -767,10 +767,10 @@ static const u8 sMoveDirectionFastAnimNums[] = { [DIR_NORTH] = ANIM_STD_GO_FAST_NORTH, [DIR_WEST] = ANIM_STD_GO_FAST_WEST, [DIR_EAST] = ANIM_STD_GO_FAST_EAST, - [DIR_SOUTHWEST] = ANIM_STD_GO_FAST_SOUTH, - [DIR_SOUTHEAST] = ANIM_STD_GO_FAST_SOUTH, - [DIR_NORTHWEST] = ANIM_STD_GO_FAST_NORTH, - [DIR_NORTHEAST] = ANIM_STD_GO_FAST_NORTH, + [DIR_SOUTHWEST] = ANIM_STD_GO_FAST_WEST, + [DIR_SOUTHEAST] = ANIM_STD_GO_FAST_EAST, + [DIR_NORTHWEST] = ANIM_STD_GO_FAST_WEST, + [DIR_NORTHEAST] = ANIM_STD_GO_FAST_EAST, }; static const u8 sMoveDirectionFasterAnimNums[] = { [DIR_NONE] = ANIM_STD_GO_FASTER_SOUTH, @@ -778,10 +778,10 @@ static const u8 sMoveDirectionFasterAnimNums[] = { [DIR_NORTH] = ANIM_STD_GO_FASTER_NORTH, [DIR_WEST] = ANIM_STD_GO_FASTER_WEST, [DIR_EAST] = ANIM_STD_GO_FASTER_EAST, - [DIR_SOUTHWEST] = ANIM_STD_GO_FASTER_SOUTH, - [DIR_SOUTHEAST] = ANIM_STD_GO_FASTER_SOUTH, - [DIR_NORTHWEST] = ANIM_STD_GO_FASTER_NORTH, - [DIR_NORTHEAST] = ANIM_STD_GO_FASTER_NORTH, + [DIR_SOUTHWEST] = ANIM_STD_GO_FASTER_WEST, + [DIR_SOUTHEAST] = ANIM_STD_GO_FASTER_EAST, + [DIR_NORTHWEST] = ANIM_STD_GO_FASTER_WEST, + [DIR_NORTHEAST] = ANIM_STD_GO_FASTER_EAST, }; static const u8 sMoveDirectionFastestAnimNums[] = { [DIR_NONE] = ANIM_STD_GO_FASTEST_SOUTH, @@ -789,10 +789,10 @@ static const u8 sMoveDirectionFastestAnimNums[] = { [DIR_NORTH] = ANIM_STD_GO_FASTEST_NORTH, [DIR_WEST] = ANIM_STD_GO_FASTEST_WEST, [DIR_EAST] = ANIM_STD_GO_FASTEST_EAST, - [DIR_SOUTHWEST] = ANIM_STD_GO_FASTEST_SOUTH, - [DIR_SOUTHEAST] = ANIM_STD_GO_FASTEST_SOUTH, - [DIR_NORTHWEST] = ANIM_STD_GO_FASTEST_NORTH, - [DIR_NORTHEAST] = ANIM_STD_GO_FASTEST_NORTH, + [DIR_SOUTHWEST] = ANIM_STD_GO_FASTEST_WEST, + [DIR_SOUTHEAST] = ANIM_STD_GO_FASTEST_EAST, + [DIR_NORTHWEST] = ANIM_STD_GO_FASTEST_WEST, + [DIR_NORTHEAST] = ANIM_STD_GO_FASTEST_EAST, }; static const u8 sJumpSpecialDirectionAnimNums[] = { // used for jumping onto surf mon [DIR_NONE] = ANIM_GET_ON_OFF_POKEMON_SOUTH, @@ -811,10 +811,10 @@ static const u8 sAcroWheelieDirectionAnimNums[] = { [DIR_NORTH] = ANIM_BUNNY_HOP_BACK_WHEEL_NORTH, [DIR_WEST] = ANIM_BUNNY_HOP_BACK_WHEEL_WEST, [DIR_EAST] = ANIM_BUNNY_HOP_BACK_WHEEL_EAST, - [DIR_SOUTHWEST] = ANIM_BUNNY_HOP_BACK_WHEEL_SOUTH, - [DIR_SOUTHEAST] = ANIM_BUNNY_HOP_BACK_WHEEL_SOUTH, - [DIR_NORTHWEST] = ANIM_BUNNY_HOP_BACK_WHEEL_NORTH, - [DIR_NORTHEAST] = ANIM_BUNNY_HOP_BACK_WHEEL_NORTH, + [DIR_SOUTHWEST] = ANIM_BUNNY_HOP_BACK_WHEEL_WEST, + [DIR_SOUTHEAST] = ANIM_BUNNY_HOP_BACK_WHEEL_EAST, + [DIR_NORTHWEST] = ANIM_BUNNY_HOP_BACK_WHEEL_WEST, + [DIR_NORTHEAST] = ANIM_BUNNY_HOP_BACK_WHEEL_EAST, }; static const u8 sAcroUnusedDirectionAnimNums[] = { [DIR_NONE] = ANIM_BUNNY_HOP_FRONT_WHEEL_SOUTH, @@ -833,10 +833,10 @@ static const u8 sAcroEndWheelieDirectionAnimNums[] = { [DIR_NORTH] = ANIM_STANDING_WHEELIE_BACK_WHEEL_NORTH, [DIR_WEST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_WEST, [DIR_EAST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_EAST, - [DIR_SOUTHWEST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH, - [DIR_SOUTHEAST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH, - [DIR_NORTHWEST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_NORTH, - [DIR_NORTHEAST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_NORTH, + [DIR_SOUTHWEST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_WEST, + [DIR_SOUTHEAST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_EAST, + [DIR_NORTHWEST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_WEST, + [DIR_NORTHEAST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_EAST, }; static const u8 sAcroUnusedActionDirectionAnimNums[] = { [DIR_NONE] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_SOUTH, @@ -855,10 +855,10 @@ static const u8 sAcroWheeliePedalDirectionAnimNums[] = { [DIR_NORTH] = ANIM_MOVING_WHEELIE_NORTH, [DIR_WEST] = ANIM_MOVING_WHEELIE_WEST, [DIR_EAST] = ANIM_MOVING_WHEELIE_EAST, - [DIR_SOUTHWEST] = ANIM_MOVING_WHEELIE_SOUTH, - [DIR_SOUTHEAST] = ANIM_MOVING_WHEELIE_SOUTH, - [DIR_NORTHWEST] = ANIM_MOVING_WHEELIE_NORTH, - [DIR_NORTHEAST] = ANIM_MOVING_WHEELIE_NORTH, + [DIR_SOUTHWEST] = ANIM_MOVING_WHEELIE_WEST, + [DIR_SOUTHEAST] = ANIM_MOVING_WHEELIE_EAST, + [DIR_NORTHWEST] = ANIM_MOVING_WHEELIE_WEST, + [DIR_NORTHEAST] = ANIM_MOVING_WHEELIE_EAST, }; static const u8 sFishingDirectionAnimNums[] = { [DIR_NONE] = ANIM_TAKE_OUT_ROD_SOUTH, @@ -899,10 +899,10 @@ static const u8 sRunningDirectionAnimNums[] = { [DIR_NORTH] = ANIM_RUN_NORTH, [DIR_WEST] = ANIM_RUN_WEST, [DIR_EAST] = ANIM_RUN_EAST, - [DIR_SOUTHWEST] = ANIM_RUN_SOUTH, - [DIR_SOUTHEAST] = ANIM_RUN_SOUTH, - [DIR_NORTHWEST] = ANIM_RUN_NORTH, - [DIR_NORTHEAST] = ANIM_RUN_NORTH, + [DIR_SOUTHWEST] = ANIM_RUN_WEST, + [DIR_SOUTHEAST] = ANIM_RUN_EAST, + [DIR_NORTHWEST] = ANIM_RUN_WEST, + [DIR_NORTHEAST] = ANIM_RUN_EAST, }; const u8 gTrainerFacingDirectionMovementTypes[] = { @@ -940,64 +940,72 @@ static const struct Coords16 sDirectionToVectors[] = { {-1, 1}, { 1, 1}, {-1, -1}, - { 1, -1} + { 1, -1}, + {-2, 1}, + { 2, 1}, + {-2, -1}, + { 2, -1} }; const u8 gFaceDirectionMovementActions[] = { - MOVEMENT_ACTION_FACE_DOWN, - MOVEMENT_ACTION_FACE_DOWN, - MOVEMENT_ACTION_FACE_UP, - MOVEMENT_ACTION_FACE_LEFT, - MOVEMENT_ACTION_FACE_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_FACE_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_FACE_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_FACE_UP, + [DIR_WEST] = MOVEMENT_ACTION_FACE_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_FACE_RIGHT, + [DIR_SOUTHWEST] = MOVEMENT_ACTION_FACE_LEFT, + [DIR_SOUTHEAST] = MOVEMENT_ACTION_FACE_RIGHT, + [DIR_NORTHWEST] = MOVEMENT_ACTION_FACE_LEFT, + [DIR_NORTHEAST] = MOVEMENT_ACTION_FACE_RIGHT }; const u8 gWalkSlowMovementActions[] = { - MOVEMENT_ACTION_WALK_SLOW_DOWN, - MOVEMENT_ACTION_WALK_SLOW_DOWN, - MOVEMENT_ACTION_WALK_SLOW_UP, - MOVEMENT_ACTION_WALK_SLOW_LEFT, - MOVEMENT_ACTION_WALK_SLOW_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_WALK_SLOW_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_WALK_SLOW_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_WALK_SLOW_UP, + [DIR_WEST] = MOVEMENT_ACTION_WALK_SLOW_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_WALK_SLOW_RIGHT, }; const u8 gWalkNormalMovementActions[] = { - MOVEMENT_ACTION_WALK_NORMAL_DOWN, - MOVEMENT_ACTION_WALK_NORMAL_DOWN, - MOVEMENT_ACTION_WALK_NORMAL_UP, - MOVEMENT_ACTION_WALK_NORMAL_LEFT, - MOVEMENT_ACTION_WALK_NORMAL_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_WALK_NORMAL_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_WALK_NORMAL_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_WALK_NORMAL_UP, + [DIR_WEST] = MOVEMENT_ACTION_WALK_NORMAL_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_WALK_NORMAL_RIGHT, }; const u8 gWalkFastMovementActions[] = { - MOVEMENT_ACTION_WALK_FAST_DOWN, - MOVEMENT_ACTION_WALK_FAST_DOWN, - MOVEMENT_ACTION_WALK_FAST_UP, - MOVEMENT_ACTION_WALK_FAST_LEFT, - MOVEMENT_ACTION_WALK_FAST_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_WALK_FAST_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_WALK_FAST_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_WALK_FAST_UP, + [DIR_WEST] = MOVEMENT_ACTION_WALK_FAST_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_WALK_FAST_RIGHT, }; const u8 gRideWaterCurrentMovementActions[] = { - MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, - MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, - MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP, - MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT, - MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP, + [DIR_WEST] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT, }; const u8 gWalkFasterMovementActions[] = { - MOVEMENT_ACTION_WALK_FASTER_DOWN, - MOVEMENT_ACTION_WALK_FASTER_DOWN, - MOVEMENT_ACTION_WALK_FASTER_UP, - MOVEMENT_ACTION_WALK_FASTER_LEFT, - MOVEMENT_ACTION_WALK_FASTER_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_WALK_FASTER_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_WALK_FASTER_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_WALK_FASTER_UP, + [DIR_WEST] = MOVEMENT_ACTION_WALK_FASTER_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_WALK_FASTER_RIGHT, }; const u8 gSlideMovementActions[] = { - MOVEMENT_ACTION_SLIDE_DOWN, - MOVEMENT_ACTION_SLIDE_DOWN, - MOVEMENT_ACTION_SLIDE_UP, - MOVEMENT_ACTION_SLIDE_LEFT, - MOVEMENT_ACTION_SLIDE_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_SLIDE_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_SLIDE_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_SLIDE_UP, + [DIR_WEST] = MOVEMENT_ACTION_SLIDE_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_SLIDE_RIGHT, }; const u8 gPlayerRunMovementActions[] = { - MOVEMENT_ACTION_PLAYER_RUN_DOWN, - MOVEMENT_ACTION_PLAYER_RUN_DOWN, - MOVEMENT_ACTION_PLAYER_RUN_UP, - MOVEMENT_ACTION_PLAYER_RUN_LEFT, - MOVEMENT_ACTION_PLAYER_RUN_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_PLAYER_RUN_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_PLAYER_RUN_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_PLAYER_RUN_UP, + [DIR_WEST] = MOVEMENT_ACTION_PLAYER_RUN_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_PLAYER_RUN_RIGHT, }; const u8 gJump2MovementActions[] = { MOVEMENT_ACTION_JUMP_2_DOWN, @@ -1035,102 +1043,170 @@ const u8 gJumpSpecialMovementActions[] = { MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT, }; const u8 gWalkInPlaceSlowMovementActions[] = { - MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP, - MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT, - MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP, + [DIR_WEST] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT, + [DIR_SOUTHWEST] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT, + [DIR_NORTHWEST] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT, + [DIR_NORTHEAST] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT, + [DIR_SOUTHEAST] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT }; const u8 gWalkInPlaceNormalMovementActions[] = { - MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP, - MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT, - MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP, + [DIR_WEST] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT, + [DIR_SOUTHWEST] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT, + [DIR_NORTHWEST] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT, + [DIR_NORTHEAST] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT, + [DIR_SOUTHEAST] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT }; const u8 gWalkInPlaceFastMovementActions[] = { - MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP, - MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT, - MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP, + [DIR_WEST] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT, + [DIR_SOUTHWEST] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT, + [DIR_NORTHWEST] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT, + [DIR_NORTHEAST] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT, + [DIR_SOUTHEAST] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT }; const u8 gWalkInPlaceFasterMovementActions[] = { - MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_UP, - MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_LEFT, - MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_UP, + [DIR_WEST] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_RIGHT, + [DIR_SOUTHWEST] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_LEFT, + [DIR_NORTHWEST] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_LEFT, + [DIR_NORTHEAST] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_RIGHT, + [DIR_SOUTHEAST] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_RIGHT }; const u8 gAcroWheelieFaceDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP, + [DIR_WEST] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT, + [DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT, + [DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT, + [DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT, + [DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT }; const u8 gAcroPopWheelieFaceDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP, + [DIR_WEST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT, + [DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT, + [DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT, + [DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT, + [DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT, }; const u8 gAcroEndWheelieFaceDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, - MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, - MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP, - MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT, - MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP, + [DIR_WEST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT, + [DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT, + [DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT, + [DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT, + [DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT, }; const u8 gAcroWheelieHopFaceDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP, + [DIR_WEST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT, + [DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT, + [DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT, + [DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT, + [DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT, }; const u8 gAcroWheelieHopDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP, + [DIR_WEST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT, + [DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT, + [DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT, + [DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT, + [DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT, }; const u8 gAcroWheelieJumpDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP, + [DIR_WEST] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT, + [DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT, + [DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT, + [DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT, + [DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT, }; const u8 gAcroWheelieInPlaceDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP, + [DIR_WEST] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT, + [DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT, + [DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT, + [DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT, + [DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT, }; const u8 gAcroPopWheelieMoveDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP, + [DIR_WEST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT, + [DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT, + [DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT, + [DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT, + [DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT, }; const u8 gAcroWheelieMoveDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP, + [DIR_WEST] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT, + [DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT, + [DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT, + [DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT, + [DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT, }; const u8 gAcroEndWheelieMoveDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, - MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, - MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP, - MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT, - MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP, + [DIR_WEST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT, + [DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT, + [DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT, + [DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT, + [DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT, +}; +// run slow +const u8 gRunSlowMovementActions[] = { + [DIR_NONE] = MOVEMENT_ACTION_RUN_DOWN_SLOW, + [DIR_SOUTH] = MOVEMENT_ACTION_RUN_DOWN_SLOW, + [DIR_NORTH] = MOVEMENT_ACTION_RUN_UP_SLOW, + [DIR_WEST] = MOVEMENT_ACTION_RUN_LEFT_SLOW, + [DIR_EAST] = MOVEMENT_ACTION_RUN_RIGHT_SLOW, + [DIR_SOUTHWEST] = MOVEMENT_ACTION_RUN_LEFT_SLOW, + [DIR_SOUTHEAST] = MOVEMENT_ACTION_RUN_RIGHT_SLOW, + [DIR_NORTHWEST] = MOVEMENT_ACTION_RUN_LEFT_SLOW, + [DIR_NORTHEAST] = MOVEMENT_ACTION_RUN_RIGHT_SLOW, }; static const u8 sOppositeDirections[] = { @@ -1299,7 +1375,7 @@ static u8 GetObjectEventIdByLocalIdAndMapInternal(u8 localId, u8 mapNum, u8 mapG return OBJECT_EVENTS_COUNT; } -static u8 GetObjectEventIdByLocalId(u8 localId) +u8 GetObjectEventIdByLocalId(u8 localId) { u8 i; for (i = 0; i < OBJECT_EVENTS_COUNT; i++) @@ -1326,7 +1402,7 @@ static u8 InitObjectEventStateFromTemplate(const struct ObjectEventTemplate *tem y = template->y + MAP_OFFSET; objectEvent->active = TRUE; objectEvent->triggerGroundEffectsOnMove = TRUE; - objectEvent->graphicsId = PackGraphicsId(template); + objectEvent->graphicsId = template->graphicsId; SetObjectEventDynamicGraphicsId(objectEvent); if (IS_OW_MON_OBJ(objectEvent)) { @@ -1644,33 +1720,10 @@ static u8 TrySetupObjectEventSprite(const struct ObjectEventTemplate *objectEven return objectEventId; } -// Pack pokemon form info into a graphicsId, from a template's script -static u16 PackGraphicsId(const struct ObjectEventTemplate *template) -{ - u16 graphicsId = template->graphicsId; - u32 form = 0; - // set form based on template's script, - // if first command is bufferspeciesname - if (IS_OW_MON_OBJ(template)) - { - if (template->script && template->script[0] == 0x7d) - { - form = T1_READ_16(&template->script[2]); - form = (form >> 10) & 0x1F; - } - else if (template->trainerRange_berryTreeId) - { - form = template->trainerRange_berryTreeId & 0x1F; - } - graphicsId |= form << OBJ_EVENT_GFX_SPECIES_BITS; - } - return graphicsId; -} - static u8 TrySpawnObjectEventTemplate(const struct ObjectEventTemplate *objectEventTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) { u8 objectEventId; - u16 graphicsId = PackGraphicsId(objectEventTemplate); + u16 graphicsId = objectEventTemplate->graphicsId; struct SpriteTemplate spriteTemplate; struct SpriteFrameImage spriteFrameImage; const struct ObjectEventGraphicsInfo *graphicsInfo; @@ -1774,16 +1827,23 @@ u8 CreateObjectGraphicsSprite(u16 graphicsId, void (*callback)(struct Sprite *), { struct SpriteTemplate *spriteTemplate; const struct SubspriteTable *subspriteTables; - const struct ObjectEventGraphicsInfo *graphicsInfo; + const struct ObjectEventGraphicsInfo *graphicsInfo = GetObjectEventGraphicsInfo(graphicsId); struct Sprite *sprite; u8 spriteId; bool32 isShiny = graphicsId >= SPECIES_SHINY_TAG + OBJ_EVENT_GFX_MON_BASE; + spriteTemplate = Alloc(sizeof(struct SpriteTemplate)); + CopyObjectGraphicsInfoToSpriteTemplate(graphicsId, callback, spriteTemplate, &subspriteTables); + if (isShiny) graphicsId -= SPECIES_SHINY_TAG; - spriteTemplate = Alloc(sizeof(struct SpriteTemplate)); - CopyObjectGraphicsInfoToSpriteTemplate(graphicsId, callback, spriteTemplate, &subspriteTables); + if (OW_GFX_COMPRESS) + { + // Checking only for compressed here so as not to mess with decorations + if (graphicsInfo->compressed) + spriteTemplate->tileTag = LoadSheetGraphicsInfo(graphicsInfo, graphicsId, NULL); + } if (spriteTemplate->paletteTag == OBJ_EVENT_PAL_TAG_DYNAMIC) { @@ -1795,13 +1855,51 @@ u8 CreateObjectGraphicsSprite(u16 graphicsId, void (*callback)(struct Sprite *), LoadObjectEventPalette(spriteTemplate->paletteTag); } + spriteId = CreateSprite(spriteTemplate, x, y, subpriority); + + Free(spriteTemplate); + + if (spriteId != MAX_SPRITES && subspriteTables != NULL) + { + sprite = &gSprites[spriteId]; + if (OW_GFX_COMPRESS && graphicsInfo->compressed) + sprite->sheetSpan = GetSpanPerImage(sprite->oam.shape, sprite->oam.size); + SetSubspriteTables(sprite, subspriteTables); + sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; + } + return spriteId; +} + +// Horrible workaround for sprite the visualizer, this should probably be reworked later +u8 CreateObjectGraphicsFollowerSpriteForVisualizer(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, struct FollowerSpriteVisualizerData *data) +{ + struct SpriteTemplate *spriteTemplate; + const struct SubspriteTable *subspriteTables; + const struct ObjectEventGraphicsInfo *graphicsInfo = GetObjectEventGraphicsInfo(graphicsId); + struct Sprite *sprite; + u8 spriteId; + bool32 isShiny = data->isShiny; + + spriteTemplate = Alloc(sizeof(struct SpriteTemplate)); + CopyObjectGraphicsInfoToSpriteTemplate(graphicsId, callback, spriteTemplate, &subspriteTables); + if (OW_GFX_COMPRESS) { - graphicsInfo = GetObjectEventGraphicsInfo(graphicsId); // Checking only for compressed here so as not to mess with decorations if (graphicsInfo->compressed) spriteTemplate->tileTag = LoadSheetGraphicsInfo(graphicsInfo, graphicsId, NULL); } + + if (spriteTemplate->paletteTag == OBJ_EVENT_PAL_TAG_DYNAMIC) + { + u32 paletteNum = LoadDynamicFollowerPaletteFromGraphicsId(graphicsId, isShiny, spriteTemplate); + spriteTemplate->paletteTag = GetSpritePaletteTagByPaletteNum(paletteNum); + } + else if (spriteTemplate->paletteTag != TAG_NONE) + { + LoadObjectEventPalette(spriteTemplate->paletteTag); + } + spriteId = CreateSprite(spriteTemplate, x, y, subpriority); Free(spriteTemplate); @@ -1901,9 +1999,19 @@ static const struct ObjectEventGraphicsInfo *SpeciesToGraphicsInfo(u16 species, graphicsInfo = &gSpeciesInfo[form ? SPECIES_UNOWN_B + form - 1 : species].overworldData; break; default: - graphicsInfo = &gSpeciesInfo[species].overworldData; + #if P_GENDER_DIFFERENCES + if (form == 1 && gSpeciesInfo[species].overworldDataFemale.paletteTag == OBJ_EVENT_PAL_TAG_DYNAMIC) + { + graphicsInfo = &gSpeciesInfo[species].overworldDataFemale; + } + else + #endif + { + graphicsInfo = &gSpeciesInfo[species].overworldData; + } break; } + // Try to avoid OOB or undefined access if ((graphicsInfo->tileTag == 0 && species < NUM_SPECIES) || (graphicsInfo->tileTag != TAG_NONE && species >= NUM_SPECIES)) { @@ -1919,6 +2027,7 @@ static const struct ObjectEventGraphicsInfo *SpeciesToGraphicsInfo(u16 species, static u8 LoadDynamicFollowerPalette(u16 species, u8 form, bool32 shiny) { u32 paletteNum; + bool32 female = (form == 1); // Use standalone palette, unless entry is OOB or NULL (fallback to front-sprite-based) #if OW_POKEMON_OBJECT_EVENTS == TRUE && OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE if ((shiny && gSpeciesInfo[species].overworldPalette) @@ -1930,10 +2039,23 @@ static u8 LoadDynamicFollowerPalette(u16 species, u8 form, bool32 shiny) if ((paletteNum = IndexOfSpritePaletteTag(palTag)) < 16) return paletteNum; spritePalette.tag = palTag; - if (shiny) - spritePalette.data = gSpeciesInfo[species].overworldShinyPalette; + #if P_GENDER_DIFFERENCES + if (female && gSpeciesInfo[species].overworldPaletteFemale != NULL) + { + if (shiny) + spritePalette.data = gSpeciesInfo[species].overworldShinyPaletteFemale; + else + spritePalette.data = gSpeciesInfo[species].overworldPaletteFemale; + } else - spritePalette.data = gSpeciesInfo[species].overworldPalette; + #endif + { + if (shiny) + spritePalette.data = gSpeciesInfo[species].overworldShinyPalette; + else + spritePalette.data = gSpeciesInfo[species].overworldPalette; + } + // Check if pal data must be decompressed if (IsLZ77Data(spritePalette.data, PLTT_SIZE_4BPP, PLTT_SIZE_4BPP)) @@ -1949,7 +2071,7 @@ static u8 LoadDynamicFollowerPalette(u16 species, u8 form, bool32 shiny) { // Note that the shiny palette tag is `species + SPECIES_SHINY_TAG`, which must be increased with more pokemon // so that palette tags do not overlap - const u32 *palette = GetMonSpritePalFromSpecies(species, shiny, FALSE); //ETODO + const u32 *palette = GetMonSpritePalFromSpecies(species, shiny, female); //ETODO // palette already loaded if ((paletteNum = IndexOfSpritePaletteTag(species)) < 16) return paletteNum; @@ -2061,6 +2183,7 @@ static bool8 GetMonInfo(struct Pokemon *mon, u16 *species, u8 *form, u8 *shiny) return FALSE; } *species = GetMonData(mon, MON_DATA_SPECIES); + *form = GetMonGender(mon) == MON_FEMALE; *shiny = IsMonShiny(mon); switch (*species) { @@ -2148,7 +2271,7 @@ void RemoveFollowingPokemon(void) } // Determine whether follower *should* be visible -static bool32 IsFollowerVisible(void) +bool32 IsFollowerVisible(void) { return !(TestPlayerAvatarFlags(FOLLOWER_INVISIBLE_FLAGS) || MetatileBehavior_IsSurfableWaterOrUnderwater(gObjectEvents[gPlayerAvatar.objectEventId].previousMetatileBehavior) @@ -2567,18 +2690,25 @@ static void SpawnObjectEventOnReturnToField(u8 objectEventId, s16 x, s16 y) CopyObjectGraphicsInfoToSpriteTemplate_WithMovementType(objectEvent->graphicsId, objectEvent->movementType, &spriteTemplate, &subspriteTables); spriteFrameImage.size = graphicsInfo->size; spriteTemplate.images = &spriteFrameImage; + if (OW_GFX_COMPRESS) spriteTemplate.tileTag = LoadSheetGraphicsInfo(graphicsInfo, objectEvent->graphicsId, NULL); - if (spriteTemplate.paletteTag != TAG_NONE && spriteTemplate.paletteTag != OBJ_EVENT_PAL_TAG_DYNAMIC) + + if (spriteTemplate.paletteTag == OBJ_EVENT_PAL_TAG_DYNAMIC) + { + u32 paletteNum = LoadDynamicFollowerPalette(OW_SPECIES(objectEvent), OW_FORM(objectEvent), objectEvent->shiny); + spriteTemplate.paletteTag = GetSpritePaletteTagByPaletteNum(paletteNum); + } + else if (spriteTemplate.paletteTag != TAG_NONE) + { LoadObjectEventPalette(spriteTemplate.paletteTag); + } i = CreateSprite(&spriteTemplate, 0, 0, 0); if (i != MAX_SPRITES) { sprite = &gSprites[i]; // Use palette from species palette table - if (spriteTemplate.paletteTag == OBJ_EVENT_PAL_TAG_DYNAMIC) - sprite->oam.paletteNum = LoadDynamicFollowerPalette(OW_SPECIES(objectEvent), OW_FORM(objectEvent), objectEvent->shiny); if (OW_GFX_COMPRESS && sprite->usingSheet) sprite->sheetSpan = GetSpanPerImage(sprite->oam.shape, sprite->oam.size); GetMapCoordsFromSpritePos(x + objectEvent->currentCoords.x, y + objectEvent->currentCoords.y, &sprite->x, &sprite->y); @@ -2766,9 +2896,6 @@ const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u16 graphicsId) if (graphicsId >= OBJ_EVENT_GFX_VARS && graphicsId <= OBJ_EVENT_GFX_VAR_F) graphicsId = VarGetObjectEventGraphicsId(graphicsId - OBJ_EVENT_GFX_VARS); - if (graphicsId >= OBJ_EVENT_GFX_MON_BASE + SPECIES_SHINY_TAG) - graphicsId -= SPECIES_SHINY_TAG; - // graphicsId may contain mon form info if (graphicsId > OBJ_EVENT_GFX_SPECIES_MASK) { form = graphicsId >> OBJ_EVENT_GFX_SPECIES_BITS; @@ -3315,7 +3442,7 @@ static const struct ObjectEventTemplate *GetObjectEventTemplateByLocalIdAndMap(u return FindObjectEventTemplateByLocalId(localId, templates, count); } -static const struct ObjectEventTemplate *FindObjectEventTemplateByLocalId(u8 localId, const struct ObjectEventTemplate *templates, u8 count) +const struct ObjectEventTemplate *FindObjectEventTemplateByLocalId(u8 localId, const struct ObjectEventTemplate *templates, u8 count) { u8 i; @@ -5332,16 +5459,11 @@ bool8 MovementType_FollowPlayer_Active(struct ObjectEvent *objectEvent, struct S bool8 MovementType_FollowPlayer_Moving(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - #ifdef MB_SIDEWAYS_STAIRS_RIGHT_SIDE // Copied from ObjectEventExecSingleMovementAction if (gMovementActionFuncs[objectEvent->movementActionId][sprite->sActionFuncId](objectEvent, sprite)) { objectEvent->movementActionId = MOVEMENT_ACTION_NONE; sprite->sActionFuncId = 0; - #else - if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) - { - #endif objectEvent->singleMovementActive = FALSE; if (sprite->sTypeFuncId) // restore nonzero state sprite->sTypeFuncId = 1; @@ -5395,9 +5517,7 @@ bool8 FollowablePlayerMovement_Step(struct ObjectEvent *objectEvent, struct Spri s16 y; s16 targetX; s16 targetY; - #ifdef MB_SIDEWAYS_STAIRS_RIGHT_SIDE u32 playerAction = gObjectEvents[gPlayerAvatar.objectEventId].movementActionId; - #endif targetX = gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.x; targetY = gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.y; @@ -5437,12 +5557,12 @@ bool8 FollowablePlayerMovement_Step(struct ObjectEvent *objectEvent, struct Spri // Follow player direction = GetDirectionToFace(x, y, targetX, targetY); MoveCoords(direction, &x, &y); - #ifdef MB_SIDEWAYS_STAIRS_RIGHT_SIDE // https://github.com/ghoulslash/pokeemerald/tree/sideways_stairs GetCollisionAtCoords(objectEvent, x, y, direction); // Sets directionOverwrite for stairs if (GetLedgeJumpDirection(x, y, direction) != DIR_NONE) { // InitJumpRegular will set the proper speed ObjectEventSetSingleMovement(objectEvent, sprite, GetJump2MovementAction(direction)); + } else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH)) { // Set follow speed according to player's speed @@ -5469,7 +5589,6 @@ bool8 FollowablePlayerMovement_Step(struct ObjectEvent *objectEvent, struct Spri } } sprite->sActionFuncId = 0; - #else if (GetLedgeJumpDirection(x, y, direction) != DIR_NONE) { // InitJumpRegular will set the proper speed @@ -5491,7 +5610,6 @@ bool8 FollowablePlayerMovement_Step(struct ObjectEvent *objectEvent, struct Spri if (OW_FOLLOWERS_BOBBING == TRUE) sprite->y2 = -1; } - #endif objectEvent->singleMovementActive = TRUE; sprite->sTypeFuncId = 2; return TRUE; @@ -5941,7 +6059,7 @@ u8 GetTrainerFacingDirectionMovementType(u8 direction) return gTrainerFacingDirectionMovementTypes[direction]; } -static u8 GetCollisionInDirection(struct ObjectEvent *objectEvent, u8 direction) +u8 GetCollisionInDirection(struct ObjectEvent *objectEvent, u8 direction) { s16 x = objectEvent->currentCoords.x; s16 y = objectEvent->currentCoords.y; @@ -5949,18 +6067,56 @@ static u8 GetCollisionInDirection(struct ObjectEvent *objectEvent, u8 direction) return GetCollisionAtCoords(objectEvent, x, y, direction); } -u8 GetCollisionAtCoords(struct ObjectEvent *objectEvent, s16 x, s16 y, u32 dir) +u8 GetSidewaysStairsCollision(struct ObjectEvent *objectEvent, u8 dir, u8 currentBehavior, u8 nextBehavior, u8 collision) { - u8 direction = dir; + if ((dir == DIR_SOUTH || dir == DIR_NORTH) && collision != COLLISION_NONE) + return collision; -#if OW_FLAG_NO_COLLISION != 0 - if (FlagGet(OW_FLAG_NO_COLLISION)) - return COLLISION_NONE; -#endif + // cant descend stairs into water + if (MetatileBehavior_IsSurfableFishableWater(nextBehavior)) + return collision; + + if (MetatileBehavior_IsSidewaysStairsLeftSide(nextBehavior)) + { + //moving ONTO left side stair + if (dir == DIR_WEST && currentBehavior != nextBehavior) + return collision; //moving onto top part of left-stair going left, so no diagonal + else + return COLLISION_SIDEWAYS_STAIRS_TO_LEFT; // move diagonally + } + else if (MetatileBehavior_IsSidewaysStairsRightSide(nextBehavior)) + { + //moving ONTO right side stair + if (dir == DIR_EAST && currentBehavior != nextBehavior) + return collision; //moving onto top part of right-stair going right, so no diagonal + else + return COLLISION_SIDEWAYS_STAIRS_TO_RIGHT; + } + else if (MetatileBehavior_IsSidewaysStairsLeftSideAny(currentBehavior)) + { + //moving OFF of any left side stair + if (dir == DIR_WEST && nextBehavior != currentBehavior) + return COLLISION_SIDEWAYS_STAIRS_TO_LEFT; //moving off of left stairs onto non-stair -> move diagonal + else + return collision; //moving off of left side stair to east -> move east + } + else if (MetatileBehavior_IsSidewaysStairsRightSideAny(currentBehavior)) + { + //moving OFF of any right side stair + if (dir == DIR_EAST && nextBehavior != currentBehavior) + return COLLISION_SIDEWAYS_STAIRS_TO_RIGHT; //moving off right stair onto non-stair -> move diagonal + else + return collision; + } + return collision; +} + +static u8 GetVanillaCollision(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 direction) +{ if (IsCoordOutsideObjectEventMovementRange(objectEvent, x, y)) return COLLISION_OUTSIDE_RANGE; - else if (MapGridGetCollisionAt(x, y) || GetMapBorderIdAt(x, y) == CONNECTION_INVALID || IsMetatileDirectionallyImpassable(objectEvent, x, y, direction)) + else if (MapGridGetCollisionAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(objectEvent, x, y, direction)) return COLLISION_IMPASSABLE; else if (objectEvent->trackedByCamera && !CanCameraMoveInDirection(direction)) return COLLISION_IMPASSABLE; @@ -5968,9 +6124,94 @@ u8 GetCollisionAtCoords(struct ObjectEvent *objectEvent, s16 x, s16 y, u32 dir) return COLLISION_ELEVATION_MISMATCH; else if (DoesObjectCollideWithObjectAt(objectEvent, x, y)) return COLLISION_OBJECT_EVENT; + return COLLISION_NONE; } +static bool8 ObjectEventOnLeftSideStair(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 direction) +{ + switch (direction) + { + case DIR_EAST: + MoveCoords(DIR_NORTH, &x, &y); + return DoesObjectCollideWithObjectAt(objectEvent, x, y); + case DIR_WEST: + MoveCoords(DIR_SOUTH, &x, &y); + return DoesObjectCollideWithObjectAt(objectEvent, x, y); + default: + return FALSE; //north/south taken care of in GetVanillaCollision + } +} + +static bool8 ObjectEventOnRightSideStair(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 direction) +{ + switch (direction) + { + case DIR_EAST: + MoveCoords(DIR_SOUTH, &x, &y); + return DoesObjectCollideWithObjectAt(objectEvent, x, y); + case DIR_WEST: + MoveCoords(DIR_NORTH, &x, &y); + return DoesObjectCollideWithObjectAt(objectEvent, x, y); + default: + return FALSE; //north/south taken care of in GetVanillaCollision + } +} + +u8 GetCollisionAtCoords(struct ObjectEvent *objectEvent, s16 x, s16 y, u32 dir) +{ + u8 currentBehavior = MapGridGetMetatileBehaviorAt(objectEvent->currentCoords.x, objectEvent->currentCoords.y); + u8 nextBehavior = MapGridGetMetatileBehaviorAt(x, y); + u8 collision; + + #if OW_FLAG_NO_COLLISION != 0 + if (FlagGet(OW_FLAG_NO_COLLISION)) + return COLLISION_NONE; + #endif + + objectEvent->directionOverwrite = DIR_NONE; + + //sideways stairs checks + if (MetatileBehavior_IsSidewaysStairsLeftSideTop(nextBehavior) && dir == DIR_EAST) + return COLLISION_IMPASSABLE; //moving onto left-side top edge east from regular ground -> nope + else if (MetatileBehavior_IsSidewaysStairsRightSideTop(nextBehavior) && dir == DIR_WEST) + return COLLISION_IMPASSABLE; //moving onto left-side top edge east from regular ground -> nope + else if (MetatileBehavior_IsSidewaysStairsRightSideBottom(nextBehavior) && (dir == DIR_EAST || dir == DIR_SOUTH)) + return COLLISION_IMPASSABLE; //moving into right-side bottom edge from regular ground -> nah + else if (MetatileBehavior_IsSidewaysStairsLeftSideBottom(nextBehavior) && (dir == DIR_WEST || dir == DIR_SOUTH)) + return COLLISION_IMPASSABLE; //moving onto left-side bottom edge from regular ground -> nah + else if ((MetatileBehavior_IsSidewaysStairsLeftSideTop(currentBehavior) || MetatileBehavior_IsSidewaysStairsRightSideTop(currentBehavior)) + && dir == DIR_NORTH) + return COLLISION_IMPASSABLE; //trying to move north off of top-most tile onto same level doesn't work + else if (!(MetatileBehavior_IsSidewaysStairsLeftSideTop(currentBehavior) || MetatileBehavior_IsSidewaysStairsRightSideTop(currentBehavior)) + && dir == DIR_SOUTH && (MetatileBehavior_IsSidewaysStairsLeftSideTop(nextBehavior) || MetatileBehavior_IsSidewaysStairsRightSideTop(nextBehavior))) + return COLLISION_IMPASSABLE; //trying to move south onto top stair tile at same level from non-stair -> no + else if (!(MetatileBehavior_IsSidewaysStairsLeftSideBottom(currentBehavior) || MetatileBehavior_IsSidewaysStairsRightSideBottom(currentBehavior)) + && dir == DIR_NORTH && (MetatileBehavior_IsSidewaysStairsLeftSideBottom(nextBehavior) || MetatileBehavior_IsSidewaysStairsRightSideBottom(nextBehavior))) + return COLLISION_IMPASSABLE; //trying to move north onto top stair tile at same level from non-stair -> no + + // regular checks + collision = GetVanillaCollision(objectEvent, x, y, dir); + + //sideways stairs direction change checks + collision = GetSidewaysStairsCollision(objectEvent, dir, currentBehavior, nextBehavior, collision); + switch (collision) + { + case COLLISION_SIDEWAYS_STAIRS_TO_LEFT: + if (ObjectEventOnLeftSideStair(objectEvent, x, y, dir)) + return COLLISION_OBJECT_EVENT; + objectEvent->directionOverwrite = GetLeftSideStairsDirection(dir); + return COLLISION_NONE; + case COLLISION_SIDEWAYS_STAIRS_TO_RIGHT: + if (ObjectEventOnRightSideStair(objectEvent, x, y, dir)) + return COLLISION_OBJECT_EVENT; + objectEvent->directionOverwrite = GetRightSideStairsDirection(dir); + return COLLISION_NONE; + } + + return collision; +} + u8 GetCollisionFlagsAtCoords(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 direction) { u8 flags = 0; @@ -6034,6 +6275,7 @@ static bool8 DoesObjectCollideWithObjectAt(struct ObjectEvent *objectEvent, s16 curObject = &gObjectEvents[i]; if (curObject->active && (curObject->movementType != MOVEMENT_TYPE_FOLLOW_PLAYER || objectEvent != &gObjectEvents[gPlayerAvatar.objectEventId]) && curObject != objectEvent) { + // check for collision if curObject is active, not the object in question, and not exempt from collisions if ((curObject->currentCoords.x == x && curObject->currentCoords.y == y) || (curObject->previousCoords.x == x && curObject->previousCoords.y == y)) { if (AreElevationsCompatible(objectEvent->currentElevation, curObject->currentElevation)) @@ -6170,11 +6412,36 @@ bool8 ObjectEventIsHeldMovementActive(struct ObjectEvent *objectEvent) return FALSE; } +static u8 TryUpdateMovementActionOnStairs(struct ObjectEvent *objectEvent, u8 movementActionId) +{ + if (objectEvent->isPlayer || objectEvent->localId == OBJ_EVENT_ID_FOLLOWER) + return movementActionId; // handled separately + + if (!ObjectMovingOnRockStairs(objectEvent, objectEvent->movementDirection)) + return movementActionId; + + switch (movementActionId) + { + case MOVEMENT_ACTION_WALK_NORMAL_DOWN: + return MOVEMENT_ACTION_WALK_SLOW_DOWN; + case MOVEMENT_ACTION_WALK_NORMAL_UP: + return MOVEMENT_ACTION_WALK_SLOW_UP; + case MOVEMENT_ACTION_WALK_NORMAL_LEFT: + return MOVEMENT_ACTION_WALK_SLOW_LEFT; + case MOVEMENT_ACTION_WALK_NORMAL_RIGHT: + return MOVEMENT_ACTION_WALK_SLOW_RIGHT; + default: + return movementActionId; + } +} + bool8 ObjectEventSetHeldMovement(struct ObjectEvent *objectEvent, u8 movementActionId) { if (ObjectEventIsMovementOverridden(objectEvent)) return TRUE; + movementActionId = TryUpdateMovementActionOnStairs(objectEvent, movementActionId); + UnfreezeObjectEvent(objectEvent); objectEvent->movementActionId = movementActionId; objectEvent->heldMovementActive = TRUE; @@ -6185,6 +6452,7 @@ bool8 ObjectEventSetHeldMovement(struct ObjectEvent *objectEvent, u8 movementAct void ObjectEventForceSetHeldMovement(struct ObjectEvent *objectEvent, u8 movementActionId) { + movementActionId = TryUpdateMovementActionOnStairs(objectEvent, movementActionId); ObjectEventClearHeldMovementIfActive(objectEvent); ObjectEventSetHeldMovement(objectEvent, movementActionId); } @@ -6224,7 +6492,7 @@ u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *objectEvent) u8 ObjectEventGetHeldMovementActionId(struct ObjectEvent *objectEvent) { if (objectEvent->heldMovementActive) - return objectEvent->movementActionId; + return TryUpdateMovementActionOnStairs(objectEvent, objectEvent->movementActionId); return MOVEMENT_ACTION_NONE; } @@ -6253,12 +6521,13 @@ u8 name(u32 idx)\ u8 animIds[sizeof(table)];\ direction = idx;\ memcpy(animIds, (table), sizeof(table));\ - if (direction > DIR_EAST) direction = 0;\ + if (direction > sizeof(table)) direction = 0;\ return animIds[direction];\ } dirn_to_anim(GetFaceDirectionMovementAction, gFaceDirectionMovementActions); dirn_to_anim(GetWalkSlowMovementAction, gWalkSlowMovementActions); +dirn_to_anim(GetPlayerRunSlowMovementAction, gRunSlowMovementActions); dirn_to_anim(GetWalkNormalMovementAction, gWalkNormalMovementActions); dirn_to_anim(GetWalkFastMovementAction, gWalkFastMovementActions); dirn_to_anim(GetRideWaterCurrentMovementAction, gRideWaterCurrentMovementActions); @@ -6327,12 +6596,14 @@ static u32 GetCopyDirection(u8 copyInitDir, u32 playerInitDir, u32 playerMoveDir static void ObjectEventExecHeldMovementAction(struct ObjectEvent *objectEvent, struct Sprite *sprite) { + objectEvent->movementActionId = TryUpdateMovementActionOnStairs(objectEvent, objectEvent->movementActionId); if (gMovementActionFuncs[objectEvent->movementActionId][sprite->sActionFuncId](objectEvent, sprite)) objectEvent->heldMovementFinished = TRUE; } static bool8 ObjectEventExecSingleMovementAction(struct ObjectEvent *objectEvent, struct Sprite *sprite) { + objectEvent->movementActionId = TryUpdateMovementActionOnStairs(objectEvent, objectEvent->movementActionId); if (gMovementActionFuncs[objectEvent->movementActionId][sprite->sActionFuncId](objectEvent, sprite)) { objectEvent->movementActionId = MOVEMENT_ACTION_NONE; @@ -6344,7 +6615,7 @@ static bool8 ObjectEventExecSingleMovementAction(struct ObjectEvent *objectEvent static void ObjectEventSetSingleMovement(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 animId) { - objectEvent->movementActionId = animId; + objectEvent->movementActionId = TryUpdateMovementActionOnStairs(objectEvent, animId); sprite->sActionFuncId = 0; } @@ -6560,7 +6831,10 @@ bool8 MovementAction_WalkSlowUp_Step1(struct ObjectEvent *objectEvent, struct Sp bool8 MovementAction_WalkSlowLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitWalkSlow(objectEvent, sprite, DIR_WEST); + if (objectEvent->directionOverwrite) + InitWalkSlow(objectEvent, sprite, objectEvent->directionOverwrite); + else + InitWalkSlow(objectEvent, sprite, DIR_WEST); return MovementAction_WalkSlowLeft_Step1(objectEvent, sprite); } @@ -6576,7 +6850,10 @@ bool8 MovementAction_WalkSlowLeft_Step1(struct ObjectEvent *objectEvent, struct bool8 MovementAction_WalkSlowRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitWalkSlow(objectEvent, sprite, DIR_EAST); + if (objectEvent->directionOverwrite) + InitWalkSlow(objectEvent, sprite, objectEvent->directionOverwrite); + else + InitWalkSlow(objectEvent, sprite, DIR_EAST); return MovementAction_WalkSlowRight_Step1(objectEvent, sprite); } @@ -6688,7 +6965,10 @@ bool8 MovementAction_WalkNormalUp_Step1(struct ObjectEvent *objectEvent, struct bool8 MovementAction_WalkNormalLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_NORMAL); + if (objectEvent->directionOverwrite) + InitMovementNormal(objectEvent, sprite, objectEvent->directionOverwrite, MOVE_SPEED_NORMAL); + else + InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_NORMAL); return MovementAction_WalkNormalLeft_Step1(objectEvent, sprite); } @@ -6704,7 +6984,10 @@ bool8 MovementAction_WalkNormalLeft_Step1(struct ObjectEvent *objectEvent, struc bool8 MovementAction_WalkNormalRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_NORMAL); + if (objectEvent->directionOverwrite) + InitMovementNormal(objectEvent, sprite, objectEvent->directionOverwrite, MOVE_SPEED_NORMAL); + else + InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_NORMAL); return MovementAction_WalkNormalRight_Step1(objectEvent, sprite); } @@ -6982,7 +7265,10 @@ bool8 MovementAction_WalkFastUp_Step1(struct ObjectEvent *objectEvent, struct Sp bool8 MovementAction_WalkFastLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FAST_1); + if (objectEvent->directionOverwrite) + InitMovementNormal(objectEvent, sprite, objectEvent->directionOverwrite, MOVE_SPEED_FAST_1); + else + InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FAST_1); return MovementAction_WalkFastLeft_Step1(objectEvent, sprite); } @@ -6998,7 +7284,10 @@ bool8 MovementAction_WalkFastLeft_Step1(struct ObjectEvent *objectEvent, struct bool8 MovementAction_WalkFastRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FAST_1); + if (objectEvent->directionOverwrite) + InitMovementNormal(objectEvent, sprite, objectEvent->directionOverwrite, MOVE_SPEED_FAST_1); + else + InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FAST_1); return MovementAction_WalkFastRight_Step1(objectEvent, sprite); } @@ -7059,12 +7348,12 @@ static u8 LoadFillColorPalette(u16 color, u16 paletteTag, struct Sprite *sprite) static void ObjectEventSetPokeballGfx(struct ObjectEvent *objEvent) { #if OW_FOLLOWERS_POKEBALLS - u32 ball = BALL_POKE; + enum PokeBall ball = BALL_STRANGE; if (objEvent->localId == OBJ_EVENT_ID_FOLLOWER) { struct Pokemon *mon = GetFirstLiveMon(); if (mon) - ball = ItemIdToBallId(GetMonData(mon, MON_DATA_POKEBALL)); + ball = GetMonData(mon, MON_DATA_POKEBALL); } if (ball != BALL_POKE && ball < POKEBALL_COUNT) @@ -7332,13 +7621,19 @@ bool8 MovementAction_WalkInPlaceFasterUp_Step0(struct ObjectEvent *objectEvent, bool8 MovementAction_WalkInPlaceFasterLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMoveInPlace(objectEvent, sprite, DIR_WEST, GetMoveDirectionFasterAnimNum(DIR_WEST), 4); + if (objectEvent->directionOverwrite) + InitMoveInPlace(objectEvent, sprite, objectEvent->directionOverwrite, GetMoveDirectionFasterAnimNum(DIR_WEST), 4); + else + InitMoveInPlace(objectEvent, sprite, DIR_WEST, GetMoveDirectionFasterAnimNum(DIR_WEST), 4); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } bool8 MovementAction_WalkInPlaceFasterRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMoveInPlace(objectEvent, sprite, DIR_EAST, GetMoveDirectionFasterAnimNum(DIR_EAST), 4); + if (objectEvent->directionOverwrite) + InitMoveInPlace(objectEvent, sprite, objectEvent->directionOverwrite, GetMoveDirectionFasterAnimNum(DIR_EAST), 4); + else + InitMoveInPlace(objectEvent, sprite, DIR_EAST, GetMoveDirectionFasterAnimNum(DIR_EAST), 4); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } @@ -7376,7 +7671,10 @@ bool8 MovementAction_RideWaterCurrentUp_Step1(struct ObjectEvent *objectEvent, s bool8 MovementAction_RideWaterCurrentLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FAST_2); + if (objectEvent->directionOverwrite) + InitMovementNormal(objectEvent, sprite, objectEvent->directionOverwrite, MOVE_SPEED_FAST_2); + else + InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FAST_2); return MovementAction_RideWaterCurrentLeft_Step1(objectEvent, sprite); } @@ -7392,7 +7690,10 @@ bool8 MovementAction_RideWaterCurrentLeft_Step1(struct ObjectEvent *objectEvent, bool8 MovementAction_RideWaterCurrentRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FAST_2); + if (objectEvent->directionOverwrite) + InitMovementNormal(objectEvent, sprite, objectEvent->directionOverwrite, MOVE_SPEED_FAST_2); + else + InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FAST_2); return MovementAction_RideWaterCurrentRight_Step1(objectEvent, sprite); } @@ -7440,7 +7741,10 @@ bool8 MovementAction_WalkFasterUp_Step1(struct ObjectEvent *objectEvent, struct bool8 MovementAction_WalkFasterLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FASTER); + if (objectEvent->directionOverwrite) + InitMovementNormal(objectEvent, sprite, objectEvent->directionOverwrite, MOVE_SPEED_FASTER); + else + InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FASTER); return MovementAction_WalkFasterLeft_Step1(objectEvent, sprite); } @@ -7456,7 +7760,10 @@ bool8 MovementAction_WalkFasterLeft_Step1(struct ObjectEvent *objectEvent, struc bool8 MovementAction_WalkFasterRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FASTER); + if (objectEvent->directionOverwrite) + InitMovementNormal(objectEvent, sprite, objectEvent->directionOverwrite, MOVE_SPEED_FASTER); + else + InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FASTER); return MovementAction_WalkFasterRight_Step1(objectEvent, sprite); } @@ -7504,7 +7811,10 @@ bool8 MovementAction_SlideUp_Step1(struct ObjectEvent *objectEvent, struct Sprit bool8 MovementAction_SlideLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FASTEST); + if (objectEvent->directionOverwrite) + InitMovementNormal(objectEvent, sprite, objectEvent->directionOverwrite, MOVE_SPEED_FASTEST); + else + InitMovementNormal(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FASTEST); return MovementAction_SlideLeft_Step1(objectEvent, sprite); } @@ -7520,7 +7830,10 @@ bool8 MovementAction_SlideLeft_Step1(struct ObjectEvent *objectEvent, struct Spr bool8 MovementAction_SlideRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FASTEST); + if (objectEvent->directionOverwrite) + InitMovementNormal(objectEvent, sprite, objectEvent->directionOverwrite, MOVE_SPEED_FASTEST); + else + InitMovementNormal(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FASTEST); return MovementAction_SlideRight_Step1(objectEvent, sprite); } @@ -7568,7 +7881,10 @@ bool8 MovementAction_PlayerRunUp_Step1(struct ObjectEvent *objectEvent, struct S bool8 MovementAction_PlayerRunLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartRunningAnim(objectEvent, sprite, DIR_WEST); + if (objectEvent->directionOverwrite) + StartRunningAnim(objectEvent, sprite, objectEvent->directionOverwrite); + else + StartRunningAnim(objectEvent, sprite, DIR_WEST); return MovementAction_PlayerRunLeft_Step1(objectEvent, sprite); } @@ -7584,7 +7900,10 @@ bool8 MovementAction_PlayerRunLeft_Step1(struct ObjectEvent *objectEvent, struct bool8 MovementAction_PlayerRunRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartRunningAnim(objectEvent, sprite, DIR_EAST); + if (objectEvent->directionOverwrite) + StartRunningAnim(objectEvent, sprite, objectEvent->directionOverwrite); + else + StartRunningAnim(objectEvent, sprite, DIR_EAST); return MovementAction_PlayerRunRight_Step1(objectEvent, sprite); } @@ -8471,7 +8790,10 @@ bool8 MovementAction_AcroWheelieHopUp_Step1(struct ObjectEvent *objectEvent, str bool8 MovementAction_AcroWheelieHopLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitAcroWheelieJump(objectEvent, sprite, DIR_WEST, JUMP_DISTANCE_NORMAL, JUMP_TYPE_LOW); + if (objectEvent->directionOverwrite) + InitAcroWheelieJump(objectEvent, sprite, objectEvent->directionOverwrite, JUMP_DISTANCE_NORMAL, JUMP_TYPE_LOW); + else + InitAcroWheelieJump(objectEvent, sprite, DIR_WEST, JUMP_DISTANCE_NORMAL, JUMP_TYPE_LOW); return MovementAction_AcroWheelieHopLeft_Step1(objectEvent, sprite); } @@ -8488,7 +8810,10 @@ bool8 MovementAction_AcroWheelieHopLeft_Step1(struct ObjectEvent *objectEvent, s bool8 MovementAction_AcroWheelieHopRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitAcroWheelieJump(objectEvent, sprite, DIR_EAST, JUMP_DISTANCE_NORMAL, JUMP_TYPE_LOW); + if (objectEvent->directionOverwrite) + InitAcroWheelieJump(objectEvent, sprite, objectEvent->directionOverwrite, JUMP_DISTANCE_NORMAL, JUMP_TYPE_LOW); + else + InitAcroWheelieJump(objectEvent, sprite, DIR_EAST, JUMP_DISTANCE_NORMAL, JUMP_TYPE_LOW); return MovementAction_AcroWheelieHopRight_Step1(objectEvent, sprite); } @@ -8539,7 +8864,10 @@ bool8 MovementAction_AcroWheelieJumpUp_Step1(struct ObjectEvent *objectEvent, st bool8 MovementAction_AcroWheelieJumpLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitAcroWheelieJump(objectEvent, sprite, DIR_WEST, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH); + if (objectEvent->directionOverwrite) + InitAcroWheelieJump(objectEvent, sprite, objectEvent->directionOverwrite, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH); + else + InitAcroWheelieJump(objectEvent, sprite, DIR_WEST, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH); return MovementAction_AcroWheelieJumpLeft_Step1(objectEvent, sprite); } @@ -8556,7 +8884,10 @@ bool8 MovementAction_AcroWheelieJumpLeft_Step1(struct ObjectEvent *objectEvent, bool8 MovementAction_AcroWheelieJumpRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitAcroWheelieJump(objectEvent, sprite, DIR_EAST, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH); + if (objectEvent->directionOverwrite) + InitAcroWheelieJump(objectEvent, sprite, objectEvent->directionOverwrite, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH); + else + InitAcroWheelieJump(objectEvent, sprite, DIR_EAST, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH); return MovementAction_AcroWheelieJumpRight_Step1(objectEvent, sprite); } @@ -8585,13 +8916,19 @@ bool8 MovementAction_AcroWheelieInPlaceUp_Step0(struct ObjectEvent *objectEvent, bool8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMoveInPlace(objectEvent, sprite, DIR_WEST, GetAcroWheeliePedalDirectionAnimNum(DIR_WEST), 8); + if (objectEvent->directionOverwrite) + InitMoveInPlace(objectEvent, sprite, objectEvent->directionOverwrite, GetAcroWheeliePedalDirectionAnimNum(objectEvent->directionOverwrite), 8); + else + InitMoveInPlace(objectEvent, sprite, DIR_WEST, GetAcroWheeliePedalDirectionAnimNum(DIR_WEST), 8); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } bool8 MovementAction_AcroWheelieInPlaceRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitMoveInPlace(objectEvent, sprite, DIR_EAST, GetAcroWheeliePedalDirectionAnimNum(DIR_EAST), 8); + if (objectEvent->directionOverwrite) + InitMoveInPlace(objectEvent, sprite, objectEvent->directionOverwrite, GetAcroWheeliePedalDirectionAnimNum(objectEvent->directionOverwrite), 8); + else + InitMoveInPlace(objectEvent, sprite, DIR_EAST, GetAcroWheeliePedalDirectionAnimNum(DIR_EAST), 8); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } @@ -8636,7 +8973,10 @@ bool8 MovementAction_AcroPopWheelieMoveUp_Step1(struct ObjectEvent *objectEvent, bool8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitAcroPopWheelie(objectEvent, sprite, DIR_WEST, 1); + if (objectEvent->directionOverwrite) + InitAcroPopWheelie(objectEvent, sprite, objectEvent->directionOverwrite, 1); + else + InitAcroPopWheelie(objectEvent, sprite, DIR_WEST, 1); return MovementAction_AcroPopWheelieMoveLeft_Step1(objectEvent, sprite); } @@ -8652,7 +8992,10 @@ bool8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct ObjectEvent *objectEven bool8 MovementAction_AcroPopWheelieMoveRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitAcroPopWheelie(objectEvent, sprite, DIR_EAST, 1); + if (objectEvent->directionOverwrite) + InitAcroPopWheelie(objectEvent, sprite, objectEvent->directionOverwrite, 1); + else + InitAcroPopWheelie(objectEvent, sprite, DIR_EAST, 1); return MovementAction_AcroPopWheelieMoveRight_Step1(objectEvent, sprite); } @@ -8706,7 +9049,10 @@ bool8 MovementAction_AcroWheelieMoveUp_Step1(struct ObjectEvent *objectEvent, st bool8 MovementAction_AcroWheelieMoveLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitAcroWheelieMove(objectEvent, sprite, DIR_WEST, 1); + if (objectEvent->directionOverwrite) + InitAcroWheelieMove(objectEvent, sprite, objectEvent->directionOverwrite, 1); + else + InitAcroWheelieMove(objectEvent, sprite, DIR_WEST, 1); return MovementAction_AcroWheelieMoveLeft_Step1(objectEvent, sprite); } @@ -8722,7 +9068,10 @@ bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct ObjectEvent *objectEvent, bool8 MovementAction_AcroWheelieMoveRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitAcroWheelieMove(objectEvent, sprite, DIR_EAST, 1); + if (objectEvent->directionOverwrite) + InitAcroWheelieMove(objectEvent, sprite, objectEvent->directionOverwrite, 1); + else + InitAcroWheelieMove(objectEvent, sprite, DIR_EAST, 1); return MovementAction_AcroWheelieMoveRight_Step1(objectEvent, sprite); } @@ -8777,7 +9126,10 @@ bool8 MovementAction_AcroEndWheelieMoveUp_Step1(struct ObjectEvent *objectEvent, bool8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitAcroEndWheelie(objectEvent, sprite, DIR_WEST, 1); + if (objectEvent->directionOverwrite) + InitAcroEndWheelie(objectEvent, sprite, objectEvent->directionOverwrite, 1); + else + InitAcroEndWheelie(objectEvent, sprite, DIR_WEST, 1); return MovementAction_AcroEndWheelieMoveLeft_Step1(objectEvent, sprite); } @@ -8793,7 +9145,10 @@ bool8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct ObjectEvent *objectEven bool8 MovementAction_AcroEndWheelieMoveRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitAcroEndWheelie(objectEvent, sprite, DIR_EAST, 1); + if (objectEvent->directionOverwrite) + InitAcroEndWheelie(objectEvent, sprite, objectEvent->directionOverwrite, 1); + else + InitAcroEndWheelie(objectEvent, sprite, DIR_EAST, 1); return MovementAction_AcroEndWheelieMoveRight_Step1(objectEvent, sprite); } @@ -8997,6 +9352,9 @@ static void GetGroundEffectFlags_LongGrassOnBeginStep(struct ObjectEvent *objEve static void GetGroundEffectFlags_Tracks(struct ObjectEvent *objEvent, u32 *flags) { + if (objEvent->directionOverwrite) + return; + if (MetatileBehavior_IsDeepSand(objEvent->previousMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_DEEP_SAND; else if (MetatileBehavior_IsSandOrDeepSand(objEvent->previousMetatileBehavior) @@ -9497,12 +9855,13 @@ static void DoTracksGroundEffect_BikeTireTracks(struct ObjectEvent *objEvent, st if (objEvent->currentCoords.x != objEvent->previousCoords.x || objEvent->currentCoords.y != objEvent->previousCoords.y) { + u8 movementDir = (objEvent->previousMovementDirection > DIR_EAST) ? (objEvent->previousMovementDirection - DIR_EAST) : objEvent->previousMovementDirection; gFieldEffectArguments[0] = objEvent->previousCoords.x; gFieldEffectArguments[1] = objEvent->previousCoords.y; gFieldEffectArguments[2] = 149; gFieldEffectArguments[3] = 2; gFieldEffectArguments[4] = - bikeTireTracks_Transitions[objEvent->previousMovementDirection][objEvent->facingDirection - 5]; + bikeTireTracks_Transitions[movementDir][objEvent->facingDirection - 5]; FieldEffectStart(FLDEFF_BIKE_TIRE_TRACKS); } } @@ -10650,3 +11009,50 @@ void GetDaycareGraphics(struct ScriptContext *ctx) } gSpecialVar_Result = i; } + +// running slow +static void StartSlowRunningAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) +{ + InitNpcForWalkSlow(objectEvent, sprite, direction); + SetStepAnimHandleAlternation(objectEvent, sprite, GetRunningDirectionAnimNum(objectEvent->facingDirection)); +} + +bool8 MovementActionFunc_RunSlowDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + StartSlowRunningAnim(objectEvent, sprite, DIR_SOUTH); + return MovementActionFunc_RunSlow_Step1(objectEvent, sprite); +} + +bool8 MovementActionFunc_RunSlowUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + StartSlowRunningAnim(objectEvent, sprite, DIR_NORTH); + return MovementActionFunc_RunSlow_Step1(objectEvent, sprite); +} + +bool8 MovementActionFunc_RunSlowLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + if (objectEvent->directionOverwrite) + StartSlowRunningAnim(objectEvent, sprite, objectEvent->directionOverwrite); + else + StartSlowRunningAnim(objectEvent, sprite, DIR_WEST); + return MovementActionFunc_RunSlow_Step1(objectEvent, sprite); +} + +bool8 MovementActionFunc_RunSlowRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + if (objectEvent->directionOverwrite) + StartSlowRunningAnim(objectEvent, sprite, objectEvent->directionOverwrite); + else + StartSlowRunningAnim(objectEvent, sprite, DIR_EAST); + return MovementActionFunc_RunSlow_Step1(objectEvent, sprite); +} + +bool8 MovementActionFunc_RunSlow_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + if (UpdateMovementNormal(objectEvent, sprite)) + { + sprite->sActionFuncId = 2; + return TRUE; + } + return FALSE; +} diff --git a/src/evolution_scene.c b/src/evolution_scene.c index e52e5b9a4344..20eb136f39fb 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -545,19 +545,13 @@ static void CB2_TradeEvolutionSceneUpdate(void) static void CreateShedinja(u16 preEvoSpecies, struct Pokemon *mon) { u32 data = 0; - #if P_SHEDINJA_BALL >= GEN_4 - u16 ball = ITEM_POKE_BALL; - #endif + u16 ball = ITEM_POKE_BALL; const struct Evolution *evolutions = GetSpeciesEvolutions(preEvoSpecies); if (evolutions == NULL) return; - if (evolutions[0].method == EVO_LEVEL_NINJASK && gPlayerPartyCount < PARTY_SIZE - #if P_SHEDINJA_BALL >= GEN_4 - && (CheckBagHasItem(ball, 1)) - #endif - ) + if (evolutions[0].method == EVO_LEVEL_NINJASK && gPlayerPartyCount < PARTY_SIZE && (P_SHEDINJA_BALL < GEN_4 || CheckBagHasItem(ball, 1))) { s32 i; struct Pokemon *shedinja = &gPlayerParty[gPlayerPartyCount]; @@ -567,10 +561,11 @@ static void CreateShedinja(u16 preEvoSpecies, struct Pokemon *mon) SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_NICKNAME, GetSpeciesName(evolutions[1].targetSpecies)); SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_HELD_ITEM, &data); SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_MARKINGS, &data); - #if P_SHEDINJA_BALL >= GEN_4 - SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_POKEBALL, &ball); - RemoveBagItem(ball, 1); - #endif + if (P_SHEDINJA_BALL >= GEN_4) + { + SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_POKEBALL, &ball); + RemoveBagItem(ball, 1); + } for (i = MON_DATA_COOL_RIBBON; i < MON_DATA_COOL_RIBBON + CONTEST_CATEGORIES_COUNT; i++) SetMonData(&gPlayerParty[gPlayerPartyCount], i, &data); @@ -867,7 +862,7 @@ static void Task_EvolutionScene(u8 taskId) { BufferMoveToLearnIntoBattleTextBuff2(); PlayFanfare(MUS_LEVEL_UP); - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE]); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gTasks[taskId].tLearnsFirstMove = 0x40; // re-used as a counter gTasks[taskId].tState++; @@ -885,7 +880,7 @@ static void Task_EvolutionScene(u8 taskId) { // "{mon} is trying to learn {move}" BufferMoveToLearnIntoBattleTextBuff2(); - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1]); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gTasks[taskId].tLearnMoveState++; } @@ -894,7 +889,7 @@ static void Task_EvolutionScene(u8 taskId) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { // "But, {mon} can't learn more than four moves" - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2]); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gTasks[taskId].tLearnMoveState++; } @@ -903,7 +898,7 @@ static void Task_EvolutionScene(u8 taskId) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { // "Delete a move to make room for {move}?" - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3]); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gTasks[taskId].tLearnMoveYesState = MVSTATE_SHOW_MOVE_SELECT; gTasks[taskId].tLearnMoveNoState = MVSTATE_ASK_CANCEL; @@ -991,7 +986,7 @@ static void Task_EvolutionScene(u8 taskId) if (IsMoveHM(move)) { // Can't forget HMs - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN]); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gTasks[taskId].tLearnMoveState = MVSTATE_RETRY_AFTER_HM; } @@ -1008,14 +1003,14 @@ static void Task_EvolutionScene(u8 taskId) } break; case MVSTATE_FORGET_MSG_1: - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF]); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gTasks[taskId].tLearnMoveState++; break; case MVSTATE_FORGET_MSG_2: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE]); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gTasks[taskId].tLearnMoveState++; } @@ -1023,20 +1018,20 @@ static void Task_EvolutionScene(u8 taskId) case MVSTATE_LEARNED_MOVE: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS]); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gTasks[taskId].tState = EVOSTATE_LEARNED_MOVE; } break; case MVSTATE_ASK_CANCEL: - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE]); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gTasks[taskId].tLearnMoveYesState = MVSTATE_CANCEL; gTasks[taskId].tLearnMoveNoState = MVSTATE_INTRO_MSG_1; gTasks[taskId].tLearnMoveState = MVSTATE_PRINT_YES_NO; break; case MVSTATE_CANCEL: - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE]); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gTasks[taskId].tState = EVOSTATE_TRY_LEARN_MOVE; break; @@ -1270,7 +1265,7 @@ static void Task_TradeEvolutionScene(u8 taskId) { BufferMoveToLearnIntoBattleTextBuff2(); PlayFanfare(MUS_LEVEL_UP); - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE]); DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskId].tLearnsFirstMove = 0x40; // re-used as a counter gTasks[taskId].tState++; @@ -1288,7 +1283,7 @@ static void Task_TradeEvolutionScene(u8 taskId) { // "{mon} is trying to learn {move}" BufferMoveToLearnIntoBattleTextBuff2(); - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1]); DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskId].tLearnMoveState++; } @@ -1297,7 +1292,7 @@ static void Task_TradeEvolutionScene(u8 taskId) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { // "But, {mon} can't learn more than four moves" - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2]); DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskId].tLearnMoveState++; } @@ -1306,7 +1301,7 @@ static void Task_TradeEvolutionScene(u8 taskId) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { // "Delete a move to make room for {move}?" - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3]); DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskId].tLearnMoveYesState = T_MVSTATE_SHOW_MOVE_SELECT; gTasks[taskId].tLearnMoveNoState = T_MVSTATE_ASK_CANCEL; @@ -1327,7 +1322,7 @@ static void Task_TradeEvolutionScene(u8 taskId) { case 0: // YES sEvoCursorPos = 0; - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3 - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3]); DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskId].tLearnMoveState = gTasks[taskId].tLearnMoveYesState; if (gTasks[taskId].tLearnMoveState == T_MVSTATE_SHOW_MOVE_SELECT) @@ -1336,7 +1331,7 @@ static void Task_TradeEvolutionScene(u8 taskId) case 1: // NO case MENU_B_PRESSED: sEvoCursorPos = 1; - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3 - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3]); DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskId].tLearnMoveState = gTasks[taskId].tLearnMoveNoState; break; @@ -1375,7 +1370,7 @@ static void Task_TradeEvolutionScene(u8 taskId) if (IsMoveHM(move)) { // Can't forget HMs - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN]); DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskId].tLearnMoveState = T_MVSTATE_RETRY_AFTER_HM; } @@ -1386,7 +1381,7 @@ static void Task_TradeEvolutionScene(u8 taskId) RemoveMonPPBonus(mon, var); SetMonMoveSlot(mon, gMoveToLearn, var); - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF]); DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskId].tLearnMoveState++; } @@ -1396,7 +1391,7 @@ static void Task_TradeEvolutionScene(u8 taskId) case T_MVSTATE_FORGET_MSG: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE]); DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskId].tLearnMoveState++; } @@ -1404,20 +1399,20 @@ static void Task_TradeEvolutionScene(u8 taskId) case T_MVSTATE_LEARNED_MOVE: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS]); DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskId].tState = T_EVOSTATE_LEARNED_MOVE; } break; case T_MVSTATE_ASK_CANCEL: - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE]); DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskId].tLearnMoveYesState = T_MVSTATE_CANCEL; gTasks[taskId].tLearnMoveNoState = T_MVSTATE_INTRO_MSG_1; gTasks[taskId].tLearnMoveState = T_MVSTATE_PRINT_YES_NO; break; case T_MVSTATE_CANCEL: - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_TABLE_START]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE]); DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskId].tState = T_EVOSTATE_TRY_LEARN_MOVE; break; diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 8f3f8c697a3d..05da7d2041d9 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -10,6 +10,7 @@ #include "event_scripts.h" #include "fieldmap.h" #include "field_control_avatar.h" +#include "field_message_box.h" #include "field_player_avatar.h" #include "field_poison.h" #include "field_screen_effect.h" @@ -34,6 +35,7 @@ #include "constants/event_objects.h" #include "constants/field_poison.h" #include "constants/map_types.h" +#include "constants/metatile_behaviors.h" #include "constants/songs.h" #include "constants/trainer_hill.h" @@ -73,6 +75,11 @@ static void UpdateFollowerStepCounter(void); #if OW_POISON_DAMAGE < GEN_5 static bool8 UpdatePoisonStepCounter(void); #endif // OW_POISON_DAMAGE +static bool32 TrySetUpWalkIntoSignpostScript(struct MapPosition * position, u32 metatileBehavior, u32 playerDirection); +static void SetMsgSignPostAndVarFacing(u32 playerDirection); +static void SetUpWalkIntoSignScript(const u8 *script, u32 playerDirection); +static u32 GetFacingSignpostType(u16 metatileBehvaior, u32 direction); +static const u8 *GetSignpostScriptAtMapPosition(struct MapPosition * position); void FieldClearPlayerInput(struct FieldInput *input) { @@ -135,13 +142,14 @@ void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) else if (heldKeys & DPAD_RIGHT) input->dpadDirection = DIR_EAST; -#if DEBUG_OVERWORLD_MENU == TRUE && DEBUG_OVERWORLD_IN_MENU == FALSE - if ((heldKeys & DEBUG_OVERWORLD_HELD_KEYS) && input->DEBUG_OVERWORLD_TRIGGER_EVENT) + if(DEBUG_OVERWORLD_MENU && !DEBUG_OVERWORLD_IN_MENU) { - input->input_field_1_2 = TRUE; - input->DEBUG_OVERWORLD_TRIGGER_EVENT = FALSE; + if ((heldKeys & DEBUG_OVERWORLD_HELD_KEYS) && input->DEBUG_OVERWORLD_TRIGGER_EVENT) + { + input->input_field_1_2 = TRUE; + input->DEBUG_OVERWORLD_TRIGGER_EVENT = FALSE; + } } -#endif } int ProcessPlayerFieldInput(struct FieldInput *input) @@ -153,6 +161,7 @@ int ProcessPlayerFieldInput(struct FieldInput *input) gSpecialVar_LastTalked = 0; gSelectedObjectEvent = 0; + gMsgIsSignPost = FALSE; playerDirection = GetPlayerFacingDirection(); GetPlayerPosition(&position); metatileBehavior = MapGridGetMetatileBehaviorAt(position.x, position.y); @@ -172,6 +181,17 @@ int ProcessPlayerFieldInput(struct FieldInput *input) if (TryStartStepBasedScript(&position, metatileBehavior, playerDirection) == TRUE) return TRUE; } + + if ((input->checkStandardWildEncounter) && ((input->dpadDirection == 0) || input->dpadDirection == playerDirection)) + { + GetInFrontOfPlayerPosition(&position); + metatileBehavior = MapGridGetMetatileBehaviorAt(position.x, position.y); + if (TrySetUpWalkIntoSignpostScript(&position, metatileBehavior, playerDirection) == TRUE) + return TRUE; + GetPlayerPosition(&position); + metatileBehavior = MapGridGetMetatileBehaviorAt(position.x, position.y); + } + if (input->checkStandardWildEncounter && CheckStandardWildEncounter(metatileBehavior) == TRUE) return TRUE; if (input->heldDirection && input->dpadDirection == playerDirection) @@ -182,6 +202,10 @@ int ProcessPlayerFieldInput(struct FieldInput *input) GetInFrontOfPlayerPosition(&position); metatileBehavior = MapGridGetMetatileBehaviorAt(position.x, position.y); + + if (input->heldDirection && (input->dpadDirection == playerDirection) && (TrySetUpWalkIntoSignpostScript(&position, metatileBehavior, playerDirection) == TRUE)) + return TRUE; + if (input->pressedAButton && TryStartInteractionScript(&position, metatileBehavior, playerDirection) == TRUE) return TRUE; @@ -201,15 +225,13 @@ int ProcessPlayerFieldInput(struct FieldInput *input) if (input->pressedSelectButton && UseRegisteredKeyItemOnField() == TRUE) return TRUE; -#if DEBUG_OVERWORLD_MENU == TRUE && DEBUG_OVERWORLD_IN_MENU == FALSE - if (input->input_field_1_2) + if(input->input_field_1_2 && DEBUG_OVERWORLD_MENU && !DEBUG_OVERWORLD_IN_MENU) { PlaySE(SE_WIN_OPEN); FreezeObjectEvents(); Debug_ShowMainMenu(); return TRUE; } -#endif return FALSE; } @@ -310,8 +332,39 @@ static const u8 *GetInteractedObjectEventScript(struct MapPosition *position, u8 { u8 objectEventId; const u8 *script; + s16 currX = gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.x; + s16 currY = gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y; + u8 currBehavior = MapGridGetMetatileBehaviorAt(currX, currY); + + switch (direction) + { + case DIR_EAST: + if (MetatileBehavior_IsSidewaysStairsLeftSideAny(metatileBehavior)) + // sideways stairs left-side to your right -> check northeast + objectEventId = GetObjectEventIdByPosition(currX + 1, currY - 1, position->elevation); + else if (MetatileBehavior_IsSidewaysStairsRightSideAny(currBehavior)) + // on top of right-side stairs -> check southeast + objectEventId = GetObjectEventIdByPosition(currX + 1, currY + 1, position->elevation); + else + // check in front of player + objectEventId = GetObjectEventIdByPosition(position->x, position->y, position->elevation); + break; + case DIR_WEST: + if (MetatileBehavior_IsSidewaysStairsRightSideAny(metatileBehavior)) + // facing sideways stairs right side -> check northwest + objectEventId = GetObjectEventIdByPosition(currX - 1, currY - 1, position->elevation); + else if (MetatileBehavior_IsSidewaysStairsLeftSideAny(currBehavior)) + // on top of left-side stairs -> check southwest + objectEventId = GetObjectEventIdByPosition(currX - 1, currY + 1, position->elevation); + else + // check in front of player + objectEventId = GetObjectEventIdByPosition(position->x, position->y, position->elevation); + break; + default: + objectEventId = GetObjectEventIdByPosition(position->x, position->y, position->elevation); + break; + } - objectEventId = GetObjectEventIdByPosition(position->x, position->y, position->elevation); if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == OBJ_EVENT_ID_PLAYER) { if (MetatileBehavior_IsCounter(metatileBehavior) != TRUE) @@ -345,6 +398,9 @@ static const u8 *GetInteractedBackgroundEventScript(struct MapPosition *position if (bgEvent->bgUnion.script == NULL) return EventScript_TestSignpostMsg; + if (GetFacingSignpostType(metatileBehavior, direction) != NOT_SIGNPOST) + SetMsgSignPostAndVarFacing(direction); + switch (bgEvent->kind) { case BG_EVENT_PLAYER_FACING_ANY: @@ -727,17 +783,39 @@ static bool8 CheckStandardWildEncounter(u16 metatileBehavior) return FALSE; } +static void StorePlayerStateAndSetupWarp(struct MapPosition *position, s32 warpEventId) +{ + StoreInitialPlayerAvatarState(); + SetupWarp(&gMapHeader, warpEventId, position); +} + static bool8 TryArrowWarp(struct MapPosition *position, u16 metatileBehavior, u8 direction) { - s8 warpEventId = GetWarpEventAtMapPosition(&gMapHeader, position); + s32 warpEventId = GetWarpEventAtMapPosition(&gMapHeader, position); + u32 delay; - if (IsArrowWarpMetatileBehavior(metatileBehavior, direction) == TRUE && warpEventId != WARP_ID_NONE) + if (warpEventId == WARP_ID_NONE) + return FALSE; + + if (IsArrowWarpMetatileBehavior(metatileBehavior, direction) == TRUE) { - StoreInitialPlayerAvatarState(); - SetupWarp(&gMapHeader, warpEventId, position); + StorePlayerStateAndSetupWarp(position, warpEventId); DoWarp(); return TRUE; } + else if (IsDirectionalStairWarpMetatileBehavior(metatileBehavior, direction) == TRUE) + { + delay = 0; + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_BIKE) + { + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); + delay = 12; + } + + StorePlayerStateAndSetupWarp(position, warpEventId); + DoStairWarp(metatileBehavior, delay); + return TRUE; + } return FALSE; } @@ -1054,3 +1132,113 @@ int SetCableClubWarp(void) SetupWarp(&gMapHeader, GetWarpEventAtMapPosition(&gMapHeader, &position), &position); return 0; } + +static bool32 TrySetUpWalkIntoSignpostScript(struct MapPosition *position, u32 metatileBehavior, u32 playerDirection) +{ + const u8 *script; + + if ((JOY_HELD(DPAD_LEFT | DPAD_RIGHT)) || (playerDirection != DIR_NORTH)) + return FALSE; + + switch (GetFacingSignpostType(metatileBehavior, playerDirection)) + { + case MB_POKEMON_CENTER_SIGN: + SetUpWalkIntoSignScript(Common_EventScript_ShowPokemonCenterSign, playerDirection); + return TRUE; + case MB_POKEMART_SIGN: + SetUpWalkIntoSignScript(Common_EventScript_ShowPokemartSign, playerDirection); + return TRUE; + case MB_SIGNPOST: + script = GetSignpostScriptAtMapPosition(position); + if (script == NULL) + return FALSE; + SetUpWalkIntoSignScript(script, playerDirection); + return TRUE; + default: + return FALSE; + } +} + +static u32 GetFacingSignpostType(u16 metatileBehavior, u32 playerDirection) +{ + if (MetatileBehavior_IsPokemonCenterSign(metatileBehavior) == TRUE) + return MB_POKEMON_CENTER_SIGN; + if (MetatileBehavior_IsPokeMartSign(metatileBehavior) == TRUE) + return MB_POKEMART_SIGN; + if (MetatileBehavior_IsSignpost(metatileBehavior) == TRUE) + return MB_SIGNPOST; + + return NOT_SIGNPOST; +} + +static void SetMsgSignPostAndVarFacing(u32 playerDirection) +{ + gWalkAwayFromSignpostTimer = WALK_AWAY_SIGNPOST_FRAMES; + gMsgBoxIsCancelable = TRUE; + gMsgIsSignPost = TRUE; + gSpecialVar_Facing = playerDirection; +} + +static void SetUpWalkIntoSignScript(const u8 *script, u32 playerDirection) +{ + ScriptContext_SetupScript(script); + SetMsgSignPostAndVarFacing(playerDirection); +} + +static const u8 *GetSignpostScriptAtMapPosition(struct MapPosition *position) +{ + const struct BgEvent *event = GetBackgroundEventAtPosition(&gMapHeader, position->x - 7, position->y - 7, position->elevation); + if (event == NULL) + return NULL; + if (event->bgUnion.script != NULL) + return event->bgUnion.script; + return EventScript_TestSignpostMsg; +} + +static void Task_OpenStartMenu(u8 taskId) +{ + if (ArePlayerFieldControlsLocked()) + return; + + PlaySE(SE_WIN_OPEN); + ShowStartMenu(); + DestroyTask(taskId); +} + +bool32 IsDpadPushedToTurnOrMovePlayer(struct FieldInput *input) +{ + return (input->dpadDirection != 0 && GetPlayerFacingDirection() != input->dpadDirection); +} + +void CancelSignPostMessageBox(struct FieldInput *input) +{ + if (!ScriptContext_IsEnabled()) + return; + + if (gWalkAwayFromSignpostTimer) + { + gWalkAwayFromSignpostTimer--; + return; + } + + if (!gMsgBoxIsCancelable) + return; + + if (IsDpadPushedToTurnOrMovePlayer(input)) + { + ScriptContext_SetupScript(EventScript_CancelMessageBox); + LockPlayerFieldControls(); + return; + } + + if (!input->pressedStartButton) + return; + + ScriptContext_SetupScript(EventScript_CancelMessageBox); + LockPlayerFieldControls(); + + if (FuncIsActiveTask(Task_OpenStartMenu)) + return; + + CreateTask(Task_OpenStartMenu, 8); +} diff --git a/src/field_message_box.c b/src/field_message_box.c index b797e1d35331..47c728f74d7e 100755 --- a/src/field_message_box.c +++ b/src/field_message_box.c @@ -5,8 +5,11 @@ #include "text.h" #include "match_call.h" #include "field_message_box.h" +#include "text_window.h" +#include "script.h" static EWRAM_DATA u8 sFieldMessageBoxMode = 0; +EWRAM_DATA u8 gWalkAwayFromSignpostTimer = 0; static void ExpandStringAndStartDrawFieldMessage(const u8 *, bool32); static void StartDrawFieldMessage(void); @@ -29,7 +32,12 @@ static void Task_DrawFieldMessage(u8 taskId) switch (task->tState) { case 0: - LoadMessageBoxAndBorderGfx(); + if (gMsgIsSignPost) + LoadSignPostWindowFrameGfx(); + else + LoadMessageBoxAndBorderGfx(); + task->tState++; + break; task->tState++; break; case 1: diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 0b30a1d7bb47..ebf61bdaa3c5 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -6,6 +6,7 @@ #include "field_camera.h" #include "field_effect.h" #include "field_effect_helpers.h" +#include "field_screen_effect.h" #include "field_player_avatar.h" #include "fieldmap.h" #include "menu.h" @@ -92,6 +93,8 @@ static bool8 PlayerAnimIsMultiFrameStationaryAndStateNotTurning(void); static bool8 PlayerIsAnimActive(void); static bool8 PlayerCheckIfAnimFinishedOrInactive(void); +static void PlayerWalkSlow(u8 direction); +static void PlayerRunSlow(u8 direction); static void PlayerRun(u8); static void PlayerNotOnBikeCollide(u8); static void PlayerNotOnBikeCollideWithFarawayIslandMew(u8); @@ -143,8 +146,9 @@ static bool32 Fishing_EndNoMon(struct Task *); static void AlignFishingAnimationFrames(void); static bool32 DoesFishingMinigameAllowCancel(void); static bool32 Fishing_DoesFirstMonInPartyHaveSuctionCupsOrStickyHold(void); -static bool32 Fishing_RollForBite(bool32); -static u32 CalculateFishingBiteOdds(bool32); +static bool32 Fishing_RollForBite(u32, bool32); +static u32 CalculateFishingBiteOdds(u32, bool32); +static u32 CalculateFishingFollowerBoost(void); static u32 CalculateFishingProximityBoost(u32 odds); static void GetCoordinatesAroundBobber(s16[], s16[][AXIS_COUNT], u32); static u32 CountQualifyingTiles(s16[][AXIS_COUNT], s16 player[], u8 facingDirection, struct ObjectEvent *objectEvent, bool32 isTileLand[]); @@ -456,7 +460,22 @@ static bool8 ForcedMovement_None(void) static bool8 DoForcedMovement(u8 direction, void (*moveFunc)(u8)) { struct PlayerAvatar *playerAvatar = &gPlayerAvatar; - u8 collision = CheckForPlayerAvatarCollision(direction); + u8 collision; + + // Check for sideways stairs onto ice movement. + switch (direction) + { + case DIR_NORTHWEST: + case DIR_SOUTHWEST: + direction = DIR_WEST; + break; + case DIR_NORTHEAST: + case DIR_SOUTHEAST: + direction = DIR_EAST; + break; + } + + collision = CheckForPlayerAvatarCollision(direction); playerAvatar->flags |= PLAYER_AVATAR_FLAG_FORCED_MOVE; if (collision) @@ -634,6 +653,10 @@ static void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) PlayerNotOnBikeCollideWithFarawayIslandMew(direction); return; } + else if (collision == COLLISION_STAIR_WARP) + { + PlayerFaceDirection(direction); + } else { u8 adjustedCollision = collision - COLLISION_STOP_SURFING; @@ -653,13 +676,20 @@ static void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_UNDERWATER) && (heldKeys & B_BUTTON) && FlagGet(FLAG_SYS_B_DASH) && IsRunningDisallowed(gObjectEvents[gPlayerAvatar.objectEventId].currentMetatileBehavior) == 0) { - PlayerRun(direction); + if (ObjectMovingOnRockStairs(&gObjectEvents[gPlayerAvatar.objectEventId], direction)) + PlayerRunSlow(direction); + else + PlayerRun(direction); + gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_DASH; return; } else { - PlayerWalkNormal(direction); + if (ObjectMovingOnRockStairs(&gObjectEvents[gPlayerAvatar.objectEventId], direction)) + PlayerWalkSlow(direction); + else + PlayerWalkNormal(direction); } } @@ -670,6 +700,9 @@ static u8 CheckForPlayerAvatarCollision(u8 direction) x = playerObjEvent->currentCoords.x; y = playerObjEvent->currentCoords.y; + if (IsDirectionalStairWarpMetatileBehavior(MapGridGetMetatileBehaviorAt(x, y), direction)) + return COLLISION_STAIR_WARP; + MoveCoords(direction, &x, &y); return CheckForObjectEventCollision(playerObjEvent, x, y, direction, MapGridGetMetatileBehaviorAt(x, y)); } @@ -688,6 +721,7 @@ static u8 CheckForPlayerAvatarStaticCollision(u8 direction) u8 CheckForObjectEventCollision(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 direction, u8 metatileBehavior) { u8 collision = GetCollisionAtCoords(objectEvent, x, y, direction); + if (collision == COLLISION_ELEVATION_MISMATCH && CanStopSurfing(x, y, direction)) return COLLISION_STOP_SURFING; @@ -705,6 +739,7 @@ u8 CheckForObjectEventCollision(struct ObjectEvent *objectEvent, s16 x, s16 y, u return COLLISION_ROTATING_GATE; CheckAcroBikeCollision(x, y, metatileBehavior, &collision); } + return collision; } @@ -967,6 +1002,17 @@ void PlayerSetAnimId(u8 movementActionId, u8 copyableMovement) } } +// slow +static void PlayerWalkSlow(u8 direction) +{ + PlayerSetAnimId(GetWalkSlowMovementAction(direction), 2); +} +static void PlayerRunSlow(u8 direction) +{ + PlayerSetAnimId(GetPlayerRunSlowMovementAction(direction), 2); +} + +// normal speed (1 speed) void PlayerWalkNormal(u8 direction) { PlayerSetAnimId(GetWalkNormalMovementAction(direction), COPY_MOVE_WALK); @@ -1628,7 +1674,7 @@ static void CreateStopSurfingTask(u8 direction) LockPlayerFieldControls(); Overworld_ClearSavedMusic(); Overworld_ChangeMusicToDefault(); - gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_SURFING; + gPlayerAvatar.flags ^= PLAYER_AVATAR_FLAG_SURFING; gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_ON_FOOT; gPlayerAvatar.preventStep = TRUE; taskId = CreateTask(Task_StopSurfingInit, 0xFF); @@ -1680,7 +1726,20 @@ static void Task_WaitStopSurfing(u8 taskId) #define FISHING_PROXIMITY_BOOST 4 #define FISHING_STICKY_BOOST 36 -#define FISHING_DEFAULT_ODDS 50 + +#if I_FISHING_BITE_ODDS >= GEN_4 + #define FISHING_OLD_ROD_ODDS 75 + #define FISHING_GOOD_ROD_ODDS 50 + #define FISHING_SUPER_ROD_ODDS 25 +#elif I_FISHING_BITE_ODDS >= GEN_3 + #define FISHING_OLD_ROD_ODDS 50 + #define FISHING_GOOD_ROD_ODDS 50 + #define FISHING_SUPER_ROD_ODDS 50 +#else + #define FISHING_OLD_ROD_ODDS 0 + #define FISHING_GOOD_ROD_ODDS 33 + #define FISHING_SUPER_ROD_ODDS 50 +#endif enum { @@ -1857,10 +1916,10 @@ static bool32 Fishing_CheckForBite(struct Task *task) firstMonHasSuctionOrSticky = Fishing_DoesFirstMonInPartyHaveSuctionCupsOrStickyHold(); if(firstMonHasSuctionOrSticky) - bite = Fishing_RollForBite(firstMonHasSuctionOrSticky); + bite = Fishing_RollForBite(task->tFishingRod, firstMonHasSuctionOrSticky); if (!bite) - bite = Fishing_RollForBite(FALSE); + bite = Fishing_RollForBite(task->tFishingRod, FALSE); if (!bite) task->tStep = FISHING_NOT_EVEN_NIBBLE; @@ -2082,22 +2141,58 @@ static bool32 Fishing_DoesFirstMonInPartyHaveSuctionCupsOrStickyHold(void) return (ability == ABILITY_SUCTION_CUPS || ability == ABILITY_STICKY_HOLD); } -static bool32 Fishing_RollForBite(bool32 isStickyHold) +static bool32 Fishing_RollForBite(u32 rod, bool32 isStickyHold) { - return ((Random() % 100) > CalculateFishingBiteOdds(isStickyHold)); + return ((Random() % 100) > CalculateFishingBiteOdds(rod, isStickyHold)); } -static u32 CalculateFishingBiteOdds(bool32 isStickyHold) +static u32 CalculateFishingBiteOdds(u32 rod, bool32 isStickyHold) { - u32 odds = FISHING_DEFAULT_ODDS; + u32 odds; + + if (rod == OLD_ROD) + odds = FISHING_OLD_ROD_ODDS; + if (rod == GOOD_ROD) + odds = FISHING_GOOD_ROD_ODDS; + if (rod == SUPER_ROD) + odds = FISHING_SUPER_ROD_ODDS; + + odds -= CalculateFishingFollowerBoost(); if (isStickyHold) - odds -= FISHING_STICKY_BOOST; + { + if (I_FISHING_STICKY_BOOST >= GEN_4) + odds -= (100 - odds); + else + odds -= FISHING_STICKY_BOOST; + } odds -= CalculateFishingProximityBoost(odds); + return odds; } +static u32 CalculateFishingFollowerBoost() +{ + u32 friendship; + struct Pokemon *mon = GetFirstLiveMon(); + + if (!I_FISHING_FOLLOWER_BOOST || !mon) + return 0; + + friendship = GetMonData(mon, MON_DATA_FRIENDSHIP); + if (friendship >= 250) + return 50; + else if (friendship >= 200) + return 40; + else if (friendship >= 150) + return 30; + else if (friendship >= 100) + return 20; + else + return 0; +} + static u32 CalculateFishingProximityBoost(u32 odds) { s16 player[AXIS_COUNT], bobber[AXIS_COUNT]; @@ -2422,3 +2517,69 @@ static u8 TrySpinPlayerForWarp(struct ObjectEvent *object, s16 *delayTimer) *delayTimer = 0; return sSpinDirections[object->facingDirection]; } + +//sideways stairs +u8 GetRightSideStairsDirection(u8 direction) +{ + switch (direction) + { + case DIR_WEST: + return DIR_NORTHWEST; + case DIR_EAST: + return DIR_SOUTHEAST; + default: + if (direction > DIR_EAST) + direction -= DIR_EAST; + return direction; + } +} + +u8 GetLeftSideStairsDirection(u8 direction) +{ + switch (direction) + { + case DIR_WEST: + return DIR_SOUTHWEST; + case DIR_EAST: + return DIR_NORTHEAST; + default: + if (direction > DIR_EAST) + direction -= DIR_EAST; + return direction; + } +} + +bool8 ObjectMovingOnRockStairs(struct ObjectEvent *objectEvent, u8 direction) +{ + #if SLOW_MOVEMENT_ON_STAIRS == TRUE + s16 x = objectEvent->currentCoords.x; + s16 y = objectEvent->currentCoords.y; + + // TODO followers on sideways stairs + if (IsFollowerVisible() && GetFollowerObject() != NULL && (objectEvent->isPlayer || objectEvent->localId == OBJ_EVENT_ID_FOLLOWER)) + return FALSE; + + switch (direction) + { + case DIR_NORTH: + return MetatileBehavior_IsRockStairs(MapGridGetMetatileBehaviorAt(x,y)); + case DIR_SOUTH: + MoveCoords(DIR_SOUTH, &x, &y); + return MetatileBehavior_IsRockStairs(MapGridGetMetatileBehaviorAt(x,y)); + case DIR_WEST: + case DIR_EAST: + case DIR_NORTHEAST: + case DIR_NORTHWEST: + case DIR_SOUTHWEST: + case DIR_SOUTHEAST: + // directionOverwrite is only used for sideways stairs motion + if (objectEvent->directionOverwrite) + return TRUE; + default: + return FALSE; + } + #else + return FALSE; + #endif +} + diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 9338fe183d17..073c92f3e09e 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -7,11 +7,13 @@ #include "field_effect.h" #include "event_object_lock.h" #include "event_object_movement.h" +#include "event_scripts.h" #include "field_player_avatar.h" #include "field_screen_effect.h" #include "field_special_scene.h" #include "field_weather.h" #include "gpu_regs.h" +#include "heal_location.h" #include "io_reg.h" #include "link.h" #include "link_rfu.h" @@ -26,10 +28,13 @@ #include "script.h" #include "sound.h" #include "start_menu.h" +#include "strings.h" +#include "string_util.h" #include "task.h" #include "text.h" #include "constants/event_object_movement.h" #include "constants/event_objects.h" +#include "constants/heal_locations.h" #include "constants/songs.h" #include "constants/rgb.h" #include "trainer_hill.h" @@ -46,6 +51,14 @@ static void Task_WarpAndLoadMap(u8 taskId); static void Task_DoDoorWarp(u8 taskId); static void Task_EnableScriptAfterMusicFade(u8 taskId); +static void ExitStairsMovement(s16*, s16*, s16*, s16*, s16*); +static void GetStairsMovementDirection(u32, s16*, s16*); +static void Task_ExitStairs(u8); +static bool8 WaitStairExitMovementFinished(s16*, s16*, s16*, s16*, s16*); +static void UpdateStairsMovement(s16, s16, s16*, s16*, s16*); +static void Task_StairWarp(u8); +static void ForceStairsMovement(u32, s16*, s16*); + // data[0] is used universally by tasks in this file as a state for switches #define tState data[0] @@ -263,10 +276,14 @@ static void SetUpWarpExitTask(void) behavior = MapGridGetMetatileBehaviorAt(x, y); if (MetatileBehavior_IsDoor(behavior) == TRUE) func = Task_ExitDoor; + else if (MetatileBehavior_IsDirectionalStairWarp(behavior) == TRUE && !gExitStairsMovementDisabled) + func = Task_ExitStairs; else if (MetatileBehavior_IsNonAnimDoor(behavior) == TRUE) func = Task_ExitNonAnimDoor; else func = Task_ExitNonDoor; + + gExitStairsMovementDisabled = FALSE; CreateTask(func, 10); } @@ -1274,3 +1291,346 @@ static void Task_EnableScriptAfterMusicFade(u8 taskId) ScriptContext_Enable(); } } + +static const struct WindowTemplate sWindowTemplate_WhiteoutText = +{ + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 5, + .width = 30, + .height = 11, + .paletteNum = 15, + .baseBlock = 1, +}; + +static const u8 sWhiteoutTextColors[] = { TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GRAY }; + +#define tState data[0] +#define tWindowId data[1] +#define tPrintState data[2] +#define tIsPlayerHouse data[3] + +static bool32 PrintWhiteOutRecoveryMessage(u8 taskId, const u8 *text, u32 x, u32 y) +{ + u32 windowId = gTasks[taskId].tWindowId; + + switch (gTasks[taskId].tPrintState) + { + case 0: + FillWindowPixelBuffer(windowId, PIXEL_FILL(0)); + StringExpandPlaceholders(gStringVar4, text); + AddTextPrinterParameterized4(windowId, FONT_NORMAL, x, y, 1, 0, sWhiteoutTextColors, 1, gStringVar4); + gTextFlags.canABSpeedUpPrint = FALSE; + gTasks[taskId].tPrintState = 1; + break; + case 1: + RunTextPrinters(); + if (!IsTextPrinterActive(windowId)) + { + gTasks[taskId].tPrintState = 0; + return TRUE; + } + break; + } + return FALSE; +} + +enum { + FRLG_WHITEOUT_ENTER_MSG_SCREEN, + FRLG_WHITEOUT_PRINT_MSG, + FRLG_WHITEOUT_LEAVE_MSG_SCREEN, + FRLG_WHITEOUT_HEAL_SCRIPT, +}; + +static void Task_RushInjuredPokemonToCenter(u8 taskId) +{ + u32 windowId; + + switch (gTasks[taskId].tState) + { + case FRLG_WHITEOUT_ENTER_MSG_SCREEN: + windowId = AddWindow(&sWindowTemplate_WhiteoutText); + gTasks[taskId].tWindowId = windowId; + Menu_LoadStdPalAt(BG_PLTT_ID(15)); + FillWindowPixelBuffer(windowId, PIXEL_FILL(0)); + PutWindowTilemap(windowId); + CopyWindowToVram(windowId, COPYWIN_FULL); + + gTasks[taskId].tIsPlayerHouse = IsLastHealLocationPlayerHouse(); + gTasks[taskId].tState = FRLG_WHITEOUT_PRINT_MSG; + break; + case FRLG_WHITEOUT_PRINT_MSG: + { + const u8 *recoveryMessage = gTasks[taskId].tIsPlayerHouse == TRUE ? gText_PlayerScurriedBackHome : gText_PlayerScurriedToCenter; + if (PrintWhiteOutRecoveryMessage(taskId, recoveryMessage, 2, 8)) + { + ObjectEventTurn(&gObjectEvents[gPlayerAvatar.objectEventId], DIR_NORTH); + gTasks[taskId].tState = FRLG_WHITEOUT_LEAVE_MSG_SCREEN; + } + break; + } + case FRLG_WHITEOUT_LEAVE_MSG_SCREEN: + windowId = gTasks[taskId].tWindowId; + ClearWindowTilemap(windowId); + CopyWindowToVram(windowId, COPYWIN_MAP); + RemoveWindow(windowId); + FillPalBufferBlack(); + FadeInFromBlack(); + gTasks[taskId].tState = FRLG_WHITEOUT_HEAL_SCRIPT; + break; + case FRLG_WHITEOUT_HEAL_SCRIPT: + if (WaitForWeatherFadeIn() == TRUE) + { + DestroyTask(taskId); + if (gTasks[taskId].tIsPlayerHouse) + ScriptContext_SetupScript(EventScript_AfterWhiteOutMomHeal); + else + ScriptContext_SetupScript(EventScript_AfterWhiteOutHeal); + } + break; + } +} + +void FieldCB_RushInjuredPokemonToCenter(void) +{ + u8 taskId; + + LockPlayerFieldControls(); + FillPalBufferBlack(); + taskId = CreateTask(Task_RushInjuredPokemonToCenter, 10); + gTasks[taskId].tState = FRLG_WHITEOUT_ENTER_MSG_SCREEN; +} + +static void GetStairsMovementDirection(u32 metatileBehavior, s16 *speedX, s16 *speedY) +{ + if (MetatileBehavior_IsDirectionalUpRightStairWarp(metatileBehavior)) + { + *speedX = 16; + *speedY = -10; + } + else if (MetatileBehavior_IsDirectionalUpLeftStairWarp(metatileBehavior)) + { + *speedX = -17; + *speedY = -10; + } + else if (MetatileBehavior_IsDirectionalDownRightStairWarp(metatileBehavior)) + { + *speedX = 17; + *speedY = 3; + } + else if (MetatileBehavior_IsDirectionalDownLeftStairWarp(metatileBehavior)) + { + *speedX = -17; + *speedY = 3; + } + else + { + *speedX = 0; + *speedY = 0; + } +} + +static bool8 WaitStairExitMovementFinished(s16 *speedX, s16 *speedY, s16 *offsetX, s16 *offsetY, s16 *timer) +{ + struct Sprite *sprite = &gSprites[gPlayerAvatar.spriteId]; + if (*timer != 0) + { + *offsetX += *speedX; + *offsetY += *speedY; + sprite->x2 = *offsetX >> 5; + sprite->y2 = *offsetY >> 5; + (*timer)--; + return TRUE; + } + else + { + sprite->x2 = 0; + sprite->y2 = 0; + return FALSE; + } +} + +static void ExitStairsMovement(s16 *speedX, s16 *speedY, s16 *offsetX, s16 *offsetY, s16 *timer) +{ + s16 x, y; + u32 metatileBehavior; + s32 direction; + struct Sprite *sprite; + + PlayerGetDestCoords(&x, &y); + metatileBehavior = MapGridGetMetatileBehaviorAt(x, y); + if (MetatileBehavior_IsDirectionalDownRightStairWarp(metatileBehavior) || MetatileBehavior_IsDirectionalUpRightStairWarp(metatileBehavior)) + direction = DIR_WEST; + else + direction = DIR_EAST; + + ObjectEventForceSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], GetWalkInPlaceSlowMovementAction(direction)); + GetStairsMovementDirection(metatileBehavior, speedX, speedY); + *offsetX = *speedX * 16; + *offsetY = *speedY * 16; + *timer = 16; + sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->x2 = *offsetX >> 5; + sprite->y2 = *offsetY >> 5; + *speedX *= -1; + *speedY *= -1; +} + +#define tState data[0] +#define tSpeedX data[1] +#define tSpeedY data[2] +#define tOffsetX data[3] +#define tOffsetY data[4] +#define tTimer data[5] + +static void Task_ExitStairs(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + switch (tState) + { + default: + if (WaitForWeatherFadeIn() == TRUE) + { + CameraObjectReset(); + UnlockPlayerFieldControls(); + DestroyTask(taskId); + } + break; + case 0: + Overworld_PlaySpecialMapMusic(); + WarpFadeInScreen(); + LockPlayerFieldControls(); + ExitStairsMovement(&tSpeedX, &tSpeedY, &tOffsetX, &tOffsetY, &tTimer); + tState++; + break; + case 1: + if (!WaitStairExitMovementFinished(&tSpeedX, &tSpeedY, &tOffsetX, &tOffsetY, &tTimer)) + tState++; + break; + } +} + +static void ForceStairsMovement(u32 metatileBehavior, s16 *speedX, s16 *speedY) +{ + ObjectEventForceSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection())); + GetStairsMovementDirection(metatileBehavior, speedX, speedY); +} +#undef tSpeedX +#undef tSpeedY +#undef tOffsetX +#undef tOffsetY +#undef tTimer + +#define tMetatileBehavior data[1] +#define tSpeedX data[2] +#define tSpeedY data[3] +#define tOffsetX data[4] +#define tOffsetY data[5] +#define tTimer data[6] +#define tDelay data[15] + +static void UpdateStairsMovement(s16 speedX, s16 speedY, s16 *offsetX, s16 *offsetY, s16 *timer) +{ + struct Sprite *playerSprite = &gSprites[gPlayerAvatar.spriteId]; + struct ObjectEvent *playerObjectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + + if (speedY > 0 || *timer > 6) + *offsetY += speedY; + + *offsetX += speedX; + (*timer)++; + playerSprite->x2 = *offsetX >> 5; + playerSprite->y2 = *offsetY >> 5; + if (playerObjectEvent->heldMovementFinished) + ObjectEventForceSetHeldMovement(playerObjectEvent, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection())); +} + +static void Task_StairWarp(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + struct ObjectEvent *playerObjectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + struct Sprite *playerSprite = &gSprites[gPlayerAvatar.spriteId]; + + switch (tState) + { + case 0: + LockPlayerFieldControls(); + FreezeObjectEvents(); + CameraObjectFreeze(); + tState++; + break; + case 1: + if (!ObjectEventIsMovementOverridden(playerObjectEvent) || ObjectEventClearHeldMovementIfFinished(playerObjectEvent)) + { + if (tDelay != 0) + { + tDelay--; + } + else + { + TryFadeOutOldMapMusic(); + PlayRainStoppingSoundEffect(); + playerSprite->oam.priority = 1; + ForceStairsMovement(tMetatileBehavior, &tSpeedX, &tSpeedY); + PlaySE(SE_EXIT); + tState++; + } + } + break; + case 2: + UpdateStairsMovement(tSpeedX, tSpeedY, &tOffsetX, &tOffsetY, &tTimer); + tDelay++; + if (tDelay >= 12) + { + WarpFadeOutScreen(); + tState++; + } + break; + case 3: + UpdateStairsMovement(tSpeedX, tSpeedY, &tOffsetX, &tOffsetY, &tTimer); + if (!PaletteFadeActive() && BGMusicStopped()) + tState++; + break; + default: + gFieldCallback = FieldCB_DefaultWarpExit; + WarpIntoMap(); + SetMainCallback2(CB2_LoadMap); + DestroyTask(taskId); + break; + } +} + +void DoStairWarp(u16 metatileBehavior, u16 delay) +{ + u8 taskId = CreateTask(Task_StairWarp, 10); + gTasks[taskId].tMetatileBehavior = metatileBehavior; + gTasks[taskId].tDelay = delay; + Task_StairWarp(taskId); +} + +#undef tMetatileBehavior +#undef tSpeedX +#undef tSpeedY +#undef tOffsetX +#undef tOffsetY +#undef tTimer +#undef tDelay + +bool32 IsDirectionalStairWarpMetatileBehavior(u16 metatileBehavior, u8 playerDirection) +{ + if (playerDirection == DIR_WEST) + { + if (MetatileBehavior_IsDirectionalUpLeftStairWarp(metatileBehavior)) + return TRUE; + if (MetatileBehavior_IsDirectionalDownLeftStairWarp(metatileBehavior)) + return TRUE; + } + else if (playerDirection == DIR_EAST) + { + if (MetatileBehavior_IsDirectionalUpRightStairWarp(metatileBehavior)) + return TRUE; + if (MetatileBehavior_IsDirectionalDownRightStairWarp(metatileBehavior)) + return TRUE; + } + return FALSE; +} diff --git a/src/field_specials.c b/src/field_specials.c index a8b8427d15cd..f5154f842426 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -30,6 +30,7 @@ #include "overworld.h" #include "party_menu.h" #include "pokeblock.h" +#include "pokedex.h" #include "pokemon.h" #include "pokemon_storage_system.h" #include "random.h" @@ -4276,3 +4277,59 @@ void PreparePartyForSkyBattle(void) VarSet(B_VAR_SKY_BATTLE,participatingPokemonSlot); CompactPartySlots(); } + +void GetObjectPosition(u16* xPointer, u16* yPointer, u32 localId, u32 useTemplate) +{ + u32 objectId; + struct ObjectEvent* objEvent; + + if (useTemplate) + { + const struct ObjectEventTemplate *objTemplate = FindObjectEventTemplateByLocalId(localId, gSaveBlock1Ptr->objectEventTemplates, gMapHeader.events->objectEventCount); + *xPointer = objTemplate->x; + *yPointer = objTemplate->y; + return; + } + + objectId = GetObjectEventIdByLocalId(localId); + objEvent = &gObjectEvents[objectId]; + *xPointer = objEvent->currentCoords.x - 7; + *yPointer = objEvent->currentCoords.y - 7; +} + +bool32 CheckObjectAtXY(u32 x, u32 y) +{ + u32 i; + + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) + { + if (!gObjectEvents[i].active) + continue; + + if (gObjectEvents[i].currentCoords.x != x) + continue; + + if (gObjectEvents[i].currentCoords.y != y) + continue; + return TRUE; + } + return FALSE; +} + +bool32 CheckPartyHasSpecies(u32 givenSpecies) +{ + u32 partyIndex; + + for (partyIndex = 0; partyIndex < CalculatePlayerPartyCount(); partyIndex++) + if (GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES) == givenSpecies) + return TRUE; + + return FALSE; +} + +void UseBlankMessageToCancelPokemonPic(void) +{ + u8 t = EOS; + AddTextPrinterParameterized(0, FONT_NORMAL, &t, 0, 1, 0, NULL); + ScriptMenu_HidePokemonPic(); +} diff --git a/src/field_weather.c b/src/field_weather.c index 3c9f642faf02..7d3c4caf4f29 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -5,6 +5,7 @@ #include "util.h" #include "event_object_movement.h" #include "field_weather.h" +#include "fieldmap.h" #include "main.h" #include "menu.h" #include "palette.h" @@ -44,7 +45,6 @@ struct WeatherCallbacks // This file's functions. static bool8 LightenSpritePaletteInFog(u8); -static void BuildColorMaps(void); static void UpdateWeatherColorMap(void); static void ApplyColorMap(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex); static void ApplyColorMapWithBlend(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex, u8 blendCoeff, u32 blendColor); @@ -66,6 +66,52 @@ EWRAM_DATA static u8 ALIGNED(2) sFieldEffectPaletteColorMapTypes[32] = {0}; static const u8 *sPaletteColorMapTypes; +static const u8 sDarkenedContrastColorMaps[NUM_WEATHER_COLOR_MAPS][32] = +{ + {0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29}, + {0, 0, 1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 18, 19, 20, 21, 21, 22, 23, 24, 25, 26, 27}, + {0, 0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 11, 12, 13, 13, 14, 15, 16, 17, 17, 18, 19, 20, 21, 21, 22, 23, 24, 25}, + {0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 11, 11, 12, 13, 14, 14, 15, 16, 17, 17, 18, 19, 20, 20, 21, 22, 23, 24, 24, 25}, + {1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 12, 13, 13, 14, 15, 15, 16, 17, 18, 18, 19, 20, 20, 21, 22, 23, 23, 24, 25, 25}, + {1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 13, 14, 15, 15, 16, 17, 17, 18, 19, 19, 20, 20, 21, 22, 22, 23, 24, 24, 25, 26}, + {1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 15, 15, 16, 16, 17, 18, 18, 19, 19, 20, 21, 21, 22, 22, 23, 24, 24, 25, 26, 26}, + {1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 16, 16, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 23, 23, 24, 24, 25, 25, 26, 27}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 19, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 24, 25, 25, 26, 26, 27, 27}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 20, 20, 21, 21, 22, 22, 22, 23, 23, 24, 24, 24, 25, 25, 26, 26, 26, 27, 27, 28}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 21, 22, 22, 22, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 27, 27, 27, 28, 28}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 23, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 28, 28, 28}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27, 28, 28, 28, 28, 29}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 25, 25, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 29, 29, 29}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31} +}; + +static const u8 sContrastColorMaps[NUM_WEATHER_COLOR_MAPS][32] = +{ + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}, + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}, + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}, + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 11, 14, 15, 16, 17, 17, 18, 19, 20, 21, 22, 23, 24, 24, 25, 26, 27, 28, 29, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 18, 19, 20, 21, 22, 22, 23, 24, 25, 26, 26, 27, 28, 29, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 16, 17, 18, 19, 19, 20, 21, 22, 22, 23, 24, 25, 25, 26, 27, 28, 28, 29, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 17, 18, 19, 20, 20, 21, 22, 22, 23, 24, 24, 25, 26, 26, 27, 28, 28, 29, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 19, 19, 20, 21, 21, 22, 22, 23, 24, 24, 25, 26, 26, 27, 27, 28, 29, 29, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 20, 20, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 27, 27, 28, 28, 29, 29, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 22, 23, 23, 24, 24, 24, 25, 25, 26, 26, 27, 27, 27, 28, 28, 29, 29, 30, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 23, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 28, 28, 28, 29, 29, 29, 30, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 28, 28, 28, 29, 29, 29, 30, 30, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 26, 26, 26, 27, 27, 27, 27, 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 27, 27, 27, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31} +}; + // The drought weather effect uses a precalculated color lookup table. Presumably this // is because the underlying color shift calculation is slow. static const u16 sDroughtWeatherColors[][0x1000] = { @@ -158,7 +204,9 @@ void StartWeather(void) { u8 index = AllocSpritePalette(PALTAG_WEATHER); CpuCopy32(gFogPalette, &gPlttBufferUnfaded[OBJ_PLTT_ID(index)], PLTT_SIZE_4BPP); - BuildColorMaps(); + + sPaletteColorMapTypes = sBasePaletteColorMapTypes; + gWeatherPtr->contrastColorMapSpritePalIndex = index; gWeatherPtr->weatherPicSpritePalIndex = AllocSpritePalette(PALTAG_WEATHER_2); gWeatherPtr->rainSpriteCount = 0; @@ -265,83 +313,6 @@ static u8 None_Finish(void) return 0; } -// Builds two tables that contain color maps, used for directly transforming -// palette colors in weather effects. The colors maps are a spectrum of -// brightness + contrast mappings. By transitioning between the maps, weather -// effects like lightning are created. -// It's unclear why the two tables aren't declared as const arrays, since -// this function always builds the same two tables. -static void BuildColorMaps(void) -{ - u16 i; - u8 (*colorMaps)[32]; - u16 colorVal; - u16 curBrightness; - u16 brightnessDelta; - u16 colorMapIndex; - u16 baseBrightness; - s16 diff; - - sPaletteColorMapTypes = sBasePaletteColorMapTypes; - for (i = 0; i < 2; i++) - { - if (i == 0) - colorMaps = gWeatherPtr->darkenedContrastColorMaps; - else - colorMaps = gWeatherPtr->contrastColorMaps; - - for (colorVal = 0; colorVal < 32; colorVal++) - { - curBrightness = colorVal << 8; - if (i == 0) - brightnessDelta = (colorVal << 8) / 16; - else - brightnessDelta = 0; - - // First three color mappings are simple brightness modifiers which are - // progressively darker, according to brightnessDelta. - for (colorMapIndex = 0; colorMapIndex < 3; colorMapIndex++) - { - curBrightness -= brightnessDelta; - colorMaps[colorMapIndex][colorVal] = curBrightness >> 8; - } - - baseBrightness = curBrightness; - brightnessDelta = (0x1f00 - curBrightness) / (NUM_WEATHER_COLOR_MAPS - 3); - if (colorVal < 12) - { - // For shadows (color values < 12), the remaining color mappings are - // brightness modifiers, which are increased at a significantly lower rate - // than the midtones and highlights (color values >= 12). This creates a - // high contrast effect, used in the thunderstorm weather. - for (; colorMapIndex < NUM_WEATHER_COLOR_MAPS; colorMapIndex++) - { - curBrightness += brightnessDelta; - diff = curBrightness - baseBrightness; - if (diff > 0) - curBrightness -= diff / 2; - colorMaps[colorMapIndex][colorVal] = curBrightness >> 8; - if (colorMaps[colorMapIndex][colorVal] > 31) - colorMaps[colorMapIndex][colorVal] = 31; - } - } - else - { - // For midtones and highlights (color values >= 12), the remaining - // color mappings are simple brightness modifiers which are - // progressively brighter, hitting exactly 31 at the last mapping. - for (; colorMapIndex < NUM_WEATHER_COLOR_MAPS; colorMapIndex++) - { - curBrightness += brightnessDelta; - colorMaps[colorMapIndex][colorVal] = curBrightness >> 8; - if (colorMaps[colorMapIndex][colorVal] > 31) - colorMaps[colorMapIndex][colorVal] = 31; - } - } - } - } -} - // When the weather is changing, it gradually updates the palettes // towards the desired color map. static void UpdateWeatherColorMap(void) @@ -463,8 +434,8 @@ static void ApplyColorMap(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex) { u16 curPalIndex; u16 palOffset; - u8 *colorMap; - u16 i; + const u8 *colorMap; + u32 i; if (colorMapIndex > 0) { @@ -487,9 +458,9 @@ static void ApplyColorMap(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex) u8 r, g, b; if (sPaletteColorMapTypes[curPalIndex] == COLOR_MAP_CONTRAST || curPalIndex - 16 == gWeatherPtr->contrastColorMapSpritePalIndex) - colorMap = gWeatherPtr->contrastColorMaps[colorMapIndex]; + colorMap = sContrastColorMaps[colorMapIndex]; else - colorMap = gWeatherPtr->darkenedContrastColorMaps[colorMapIndex]; + colorMap = sDarkenedContrastColorMaps[colorMapIndex]; for (i = 0; i < 16; i++) { @@ -544,7 +515,7 @@ static void ApplyColorMapWithBlend(u8 startPalIndex, u8 numPalettes, s8 colorMap { u16 palOffset; u16 curPalIndex; - u16 i; + u32 i; struct RGBColor color = *(struct RGBColor *)&blendColor; u8 rBlend = color.r; u8 gBlend = color.g; @@ -565,12 +536,12 @@ static void ApplyColorMapWithBlend(u8 startPalIndex, u8 numPalettes, s8 colorMap } else { - u8 *colorMap; + const u8 *colorMap; if (sPaletteColorMapTypes[curPalIndex] == COLOR_MAP_DARK_CONTRAST) - colorMap = gWeatherPtr->darkenedContrastColorMaps[colorMapIndex]; + colorMap = sDarkenedContrastColorMaps[colorMapIndex]; else - colorMap = gWeatherPtr->contrastColorMaps[colorMapIndex]; + colorMap = sContrastColorMaps[colorMapIndex]; for (i = 0; i < 16; i++) { diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index a28b6fee6100..a5b2740458bf 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -1,4 +1,5 @@ #include "global.h" +#include "decompress.h" #include "event_data.h" #include "event_scripts.h" #include "field_effect.h" @@ -52,7 +53,7 @@ void StartSweetScentFieldEffect(void) u32 palettes = ~(1 << (gSprites[GetPlayerAvatarSpriteId()].oam.paletteNum + 16) | (1 << 13) | (1 << 14) | (1 << 15)); PlaySE(SE_M_SWEET_SCENT); - CpuFastCopy(gPlttBufferUnfaded, gPaletteDecompressionBuffer, PLTT_SIZE); + CpuFastCopy(gPlttBufferUnfaded, gDecompressionBuffer, PLTT_SIZE); CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, PLTT_SIZE); BeginNormalPaletteFade(palettes, 4, 0, 8, RGB_RED); taskId = CreateTask(TrySweetScentEncounter, 0); @@ -91,7 +92,7 @@ static void FailSweetScentEncounter(u8 taskId) { if (!gPaletteFade.active) { - CpuFastCopy(gPaletteDecompressionBuffer, gPlttBufferUnfaded, PLTT_SIZE); + CpuFastCopy(gDecompressionBuffer, gPlttBufferUnfaded, PLTT_SIZE); SetWeatherPalStateIdle(); ScriptContext_SetupScript(EventScript_FailSweetScent); DestroyTask(taskId); diff --git a/src/fonts.c b/src/fonts.c index 6bd2d35e83d0..2dcb0a7e789c 100644 --- a/src/fonts.c +++ b/src/fonts.c @@ -17,7 +17,7 @@ ALIGNED(4) const u8 gFontSmallNarrowLatinGlyphWidths[] = { 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 7, - 3, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 8, 3, 3, 3, 3, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -53,7 +53,7 @@ ALIGNED(4) const u8 gFontSmallLatinGlyphWidths[] = { 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, - 7, 5, 5, 5, 5, 5, 5, 9, 3, 3, 3, 3, 3, 3, 3, 3, + 7, 5, 5, 5, 5, 5, 5, 9, 3, 3, 3, 8, 3, 3, 3, 3, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -89,7 +89,7 @@ ALIGNED(4) const u8 gFontNarrowLatinGlyphWidths[] = { 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, - 3, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 8, 3, 3, 3, 3, 10, 10, 10, 10, 8, 8, 10, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -125,7 +125,7 @@ ALIGNED(4) const u8 gFontShortLatinGlyphWidths[] = { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 4, 6, 5, 5, 6, 5, 6, 6, 6, 5, 5, 5, 6, 6, 6, 6, 6, 6, 8, - 5, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 5, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 8, 3, 3, 3, 3, 12, 12, 12, 12, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -149,7 +149,7 @@ ALIGNED(4) const u8 gFontNormalLatinGlyphWidths[] = { 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 8, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 8, 6, 6, 6, 6, 6, 6, 9, 7, 6, 3, - 3, 3, 3, 3, 10, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 10, 8, 3, 3, 7, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 6, 4, 8, 8, 8, 7, 8, 8, 4, 6, 6, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 6, @@ -161,7 +161,7 @@ ALIGNED(4) const u8 gFontNormalLatinGlyphWidths[] = { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 5, 6, 4, 6, 6, 6, 6, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 8, - 3, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 8, 3, 3, 3, 3, 10, 10, 10, 10, 8, 10, 10, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -197,7 +197,7 @@ ALIGNED(4) const u8 gFontNarrowerLatinGlyphWidths[] = { 4, 4, 4, 4, 4, 4, 4, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, - 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 8, 3, 3, 3, 3, 10, 10, 10, 10, 8, 8, 10, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -233,7 +233,7 @@ ALIGNED(4) const u8 gFontSmallNarrowerLatinGlyphWidths[] = { 4, 4, 4, 4, 4, 4, 4, 4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 3, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, - 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 8, 3, 3, 3, 3, 8, 8, 8, 8, 8, 7, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -269,7 +269,7 @@ ALIGNED(4) const u8 gFontShortNarrowLatinGlyphWidths[] = { 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 4, 6, 5, 5, 5, 5, 5, 5, 4, 5, 5, 6, 4, 5, 5, 8, - 5, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 5, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 8, 3, 3, 3, 3, 12, 12, 12, 12, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, diff --git a/src/frontier_util.c b/src/frontier_util.c index 3561ef5472e0..44246766444b 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -49,6 +49,17 @@ struct FrontierBrainMon u16 moves[MAX_MON_MOVES]; }; +struct FrontierBrain +{ + u16 trainerId; + u8 objEventGfx; + u8 isFemale; + const u8 *lostTexts[2]; + const u8 *wonTexts[2]; + u16 battledBit[2]; + u8 streakAppearances[4]; +}; + // This file's functions. static void GetChallengeStatus(void); static void GetFrontierData(void); @@ -83,16 +94,158 @@ static void ShowPyramidResultsWindow(void); static void ShowLinkContestResultsWindow(void); static void CopyFrontierBrainText(bool8 playerWonText); -// const rom data -static const u8 sFrontierBrainStreakAppearances[NUM_FRONTIER_FACILITIES][4] = +// battledBit: Flags to change the conversation when the Frontier Brain is encountered for a battle +// First bit is has battled them before and not won yet, second bit is has battled them and won (obtained a Symbol) +const struct FrontierBrain gFrontierBrainInfo[NUM_FRONTIER_FACILITIES] = { - [FRONTIER_FACILITY_TOWER] = {35, 70, 35, 1}, - [FRONTIER_FACILITY_DOME] = { 4, 9, 5, 0}, - [FRONTIER_FACILITY_PALACE] = {21, 42, 21, 1}, - [FRONTIER_FACILITY_ARENA] = {28, 56, 28, 1}, - [FRONTIER_FACILITY_FACTORY] = {21, 42, 21, 1}, - [FRONTIER_FACILITY_PIKE] = {28, 140, 56, 1}, - [FRONTIER_FACILITY_PYRAMID] = {21, 70, 35, 0}, + [FRONTIER_FACILITY_TOWER] = + { + .trainerId = TRAINER_ANABEL, + .objEventGfx = OBJ_EVENT_GFX_ANABEL, + .isFemale = TRUE, + .lostTexts = { + COMPOUND_STRING("Okay, I understand…"), //Silver + COMPOUND_STRING("Thank you…") //Gold + }, + .wonTexts = { + COMPOUND_STRING("It's very disappointing…"), //Silver + COMPOUND_STRING("I'm terribly sorry…") //Gold + }, + .battledBit = {1 << 0, 1 << 1}, + .streakAppearances = {35, 70, 35, 1}, + }, + [FRONTIER_FACILITY_DOME] = + { + .trainerId = TRAINER_TUCKER, + .objEventGfx = OBJ_EVENT_GFX_TUCKER, + .isFemale = FALSE, + .lostTexts = { + COMPOUND_STRING( + "Grr…\n" + "What the…"), //Silver + COMPOUND_STRING( + "Ahahaha!\n" + "You're inspiring!") //Gold + }, + .wonTexts = { + COMPOUND_STRING( + "Ahahaha! Aren't you embarrassed?\n" + "Everyone's watching!"), //Silver + COMPOUND_STRING("My DOME ACE title isn't just for show!") //Gold + }, + .battledBit = {1 << 2, 1 << 3}, + .streakAppearances = {1, 2, 5, 0}, + }, + [FRONTIER_FACILITY_PALACE] = + { + .trainerId = TRAINER_SPENSER, + .objEventGfx = OBJ_EVENT_GFX_SPENSER, + .isFemale = FALSE, + .lostTexts = { + COMPOUND_STRING( + "Ah…\n" + "Now this is something else…"), //Silver + COMPOUND_STRING( + "Gwah!\n" + "Hahahaha!") //Gold + }, + .wonTexts = { + COMPOUND_STRING( + "Your POKéMON are wimpy because\n" + "you're wimpy as a TRAINER!"), //Silver + COMPOUND_STRING( + "Gwahahaha!\n" + "My brethren, we have nothing to fear!") //Gold + }, + .battledBit = {1 << 4, 1 << 5}, + .streakAppearances = {21, 42, 21, 1}, + }, + [FRONTIER_FACILITY_ARENA] = + { + .trainerId = TRAINER_GRETA, + .objEventGfx = OBJ_EVENT_GFX_GRETA, + .isFemale = TRUE, + .lostTexts = { + COMPOUND_STRING( + "No way!\n" + "Good job!"), //Silver + COMPOUND_STRING( + "Huh?\n" + "Are you serious?!") //Gold + }, + .wonTexts = { + COMPOUND_STRING( + "Oh, come on!\n" + "You have to try harder than that!"), //Silver + COMPOUND_STRING( + "Heheh!\n" + "What did you expect?") //Gold + }, + .battledBit = {1 << 6, 1 << 7}, + .streakAppearances = {28, 56, 28, 1}, + }, + [FRONTIER_FACILITY_FACTORY] = + { + .trainerId = TRAINER_NOLAND, + .objEventGfx = OBJ_EVENT_GFX_NOLAND, + .isFemale = FALSE, + .lostTexts = { + COMPOUND_STRING( + "Good job!\n" + "You know what you're doing!"), //Silver + COMPOUND_STRING("What happened here?") //Gold + }, + .wonTexts = { + COMPOUND_STRING( + "Way to work!\n" + "That was a good lesson, eh?"), //Silver + COMPOUND_STRING( + "Hey, hey, hey!\n" + "You're finished already?") //Gold + }, + .battledBit = {1 << 8, 1 << 9}, + .streakAppearances = {21, 42, 21, 1}, + }, + [FRONTIER_FACILITY_PIKE] = + { + .trainerId = TRAINER_LUCY, + .objEventGfx = OBJ_EVENT_GFX_LUCY, + .isFemale = TRUE, + .lostTexts = { + COMPOUND_STRING("Urk…"), //Silver + COMPOUND_STRING("Darn!") //Gold + }, + .wonTexts = { + COMPOUND_STRING("Humph…"), //Silver + COMPOUND_STRING("Hah!") //Gold + }, + .battledBit = {1 << 10, 1 << 11}, + .streakAppearances = {28, 140, 56, 1}, + }, + [FRONTIER_FACILITY_PYRAMID] = + { + .trainerId = TRAINER_BRANDON, + .objEventGfx = OBJ_EVENT_GFX_BRANDON, + .isFemale = FALSE, + .lostTexts = { + COMPOUND_STRING( + "That's it! You've done great!\n" + "You've worked hard for this!"), //Silver + COMPOUND_STRING( + "That's it! You've done it!\n" + "You kept working for this!") //Gold + }, + .wonTexts = { + COMPOUND_STRING( + "Hey! What's wrong with you!\n" + "Let's see some effort! Get up!"), //Silver + COMPOUND_STRING( + "Hey! Don't you give up now!\n" + "Get up! Don't lose faith in yourself!") //Gold + }, + .battledBit = {1 << 12, 1 << 13}, + .streakAppearances = {21, 70, 35, 0}, + }, }; static const struct FrontierBrainMon sFrontierBrainsMons[][2][FRONTIER_PARTY_SIZE] = @@ -537,20 +690,6 @@ static const u8 sBattlePointAwards[NUM_FRONTIER_FACILITIES][FRONTIER_MODE_COUNT] }, }; - -// Flags to change the conversation when the Frontier Brain is encountered for a battle -// First bit is has battled them before and not won yet, second bit is has battled them and won (obtained a Symbol) -static const u16 sBattledBrainBitFlags[NUM_FRONTIER_FACILITIES][2] = -{ - [FRONTIER_FACILITY_TOWER] = {1 << 0, 1 << 1}, - [FRONTIER_FACILITY_DOME] = {1 << 2, 1 << 3}, - [FRONTIER_FACILITY_PALACE] = {1 << 4, 1 << 5}, - [FRONTIER_FACILITY_ARENA] = {1 << 6, 1 << 7}, - [FRONTIER_FACILITY_FACTORY] = {1 << 8, 1 << 9}, - [FRONTIER_FACILITY_PIKE] = {1 << 10, 1 << 11}, - [FRONTIER_FACILITY_PYRAMID] = {1 << 12, 1 << 13}, -}; - static void (* const sFrontierUtilFuncs[])(void) = { [FRONTIER_UTIL_FUNC_GET_STATUS] = GetChallengeStatus, @@ -611,18 +750,6 @@ static const struct WindowTemplate sRankingHallRecordsWindowTemplate = .baseBlock = 1 }; -// Second field - whether the character is female. -static const u8 sFrontierBrainObjEventGfx[NUM_FRONTIER_FACILITIES][2] = -{ - [FRONTIER_FACILITY_TOWER] = {OBJ_EVENT_GFX_ANABEL, TRUE}, - [FRONTIER_FACILITY_DOME] = {OBJ_EVENT_GFX_TUCKER, FALSE}, - [FRONTIER_FACILITY_PALACE] = {OBJ_EVENT_GFX_SPENSER, FALSE}, - [FRONTIER_FACILITY_ARENA] = {OBJ_EVENT_GFX_GRETA, TRUE}, - [FRONTIER_FACILITY_FACTORY] = {OBJ_EVENT_GFX_NOLAND, FALSE}, - [FRONTIER_FACILITY_PIKE] = {OBJ_EVENT_GFX_LUCY, TRUE}, - [FRONTIER_FACILITY_PYRAMID] = {OBJ_EVENT_GFX_BRANDON, FALSE}, -}; - static const u8 *const sRecordsWindowChallengeTexts[][2] = { [RANKING_HALL_TOWER_SINGLES] = {gText_BattleTower2, gText_FacilitySingle}, @@ -657,73 +784,6 @@ static const u8 *const sHallFacilityToRecordsText[] = [RANKING_HALL_TOWER_LINK] = gText_FrontierFacilityWinStreak, }; -static const u16 sFrontierBrainTrainerIds[NUM_FRONTIER_FACILITIES] = -{ - [FRONTIER_FACILITY_TOWER] = TRAINER_ANABEL, - [FRONTIER_FACILITY_DOME] = TRAINER_TUCKER, - [FRONTIER_FACILITY_PALACE] = TRAINER_SPENSER, - [FRONTIER_FACILITY_ARENA] = TRAINER_GRETA, - [FRONTIER_FACILITY_FACTORY] = TRAINER_NOLAND, - [FRONTIER_FACILITY_PIKE] = TRAINER_LUCY, - [FRONTIER_FACILITY_PYRAMID] = TRAINER_BRANDON, -}; - -static const u8 *const sFrontierBrainPlayerLostSilverTexts[NUM_FRONTIER_FACILITIES] = -{ - [FRONTIER_FACILITY_TOWER] = gText_AnabelWonSilver, - [FRONTIER_FACILITY_DOME] = gText_TuckerWonSilver, - [FRONTIER_FACILITY_PALACE] = gText_SpenserWonSilver, - [FRONTIER_FACILITY_ARENA] = gText_GretaWonSilver, - [FRONTIER_FACILITY_FACTORY] = gText_NolandWonSilver, - [FRONTIER_FACILITY_PIKE] = gText_LucyWonSilver, - [FRONTIER_FACILITY_PYRAMID] = gText_BrandonWonSilver, -}; - -static const u8 *const sFrontierBrainPlayerWonSilverTexts[NUM_FRONTIER_FACILITIES] = -{ - [FRONTIER_FACILITY_TOWER] = gText_AnabelDefeatSilver, - [FRONTIER_FACILITY_DOME] = gText_TuckerDefeatSilver, - [FRONTIER_FACILITY_PALACE] = gText_SpenserDefeatSilver, - [FRONTIER_FACILITY_ARENA] = gText_GretaDefeatSilver, - [FRONTIER_FACILITY_FACTORY] = gText_NolandDefeatSilver, - [FRONTIER_FACILITY_PIKE] = gText_LucyDefeatSilver, - [FRONTIER_FACILITY_PYRAMID] = gText_BrandonDefeatSilver, -}; - -static const u8 *const sFrontierBrainPlayerLostGoldTexts[NUM_FRONTIER_FACILITIES] = -{ - [FRONTIER_FACILITY_TOWER] = gText_AnabelWonGold, - [FRONTIER_FACILITY_DOME] = gText_TuckerWonGold, - [FRONTIER_FACILITY_PALACE] = gText_SpenserWonGold, - [FRONTIER_FACILITY_ARENA] = gText_GretaWonGold, - [FRONTIER_FACILITY_FACTORY] = gText_NolandWonGold, - [FRONTIER_FACILITY_PIKE] = gText_LucyWonGold, - [FRONTIER_FACILITY_PYRAMID] = gText_BrandonWonGold, -}; - -static const u8 *const sFrontierBrainPlayerWonGoldTexts[NUM_FRONTIER_FACILITIES] = -{ - [FRONTIER_FACILITY_TOWER] = gText_AnabelDefeatGold, - [FRONTIER_FACILITY_DOME] = gText_TuckerDefeatGold, - [FRONTIER_FACILITY_PALACE] = gText_SpenserDefeatGold, - [FRONTIER_FACILITY_ARENA] = gText_GretaDefeatGold, - [FRONTIER_FACILITY_FACTORY] = gText_NolandDefeatGold, - [FRONTIER_FACILITY_PIKE] = gText_LucyDefeatGold, - [FRONTIER_FACILITY_PYRAMID] = gText_BrandonDefeatGold, -}; - -static const u8 *const *const sFrontierBrainPlayerLostTexts[] = -{ - sFrontierBrainPlayerLostSilverTexts, - sFrontierBrainPlayerLostGoldTexts, -}; - -static const u8 *const *const sFrontierBrainPlayerWonTexts[] = -{ - sFrontierBrainPlayerWonSilverTexts, - sFrontierBrainPlayerWonGoldTexts, -}; - // code void CallFrontierUtilFunc(void) { @@ -785,7 +845,7 @@ static void GetFrontierData(void) gSpecialVar_Result = gSaveBlock2Ptr->frontier.disableRecordBattle; break; case FRONTIER_DATA_HEARD_BRAIN_SPEECH: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.battledBrainFlags & sBattledBrainBitFlags[facility][hasSymbol]; + gSpecialVar_Result = gSaveBlock2Ptr->frontier.battledBrainFlags & gFrontierBrainInfo[facility].battledBit[hasSymbol]; break; } } @@ -820,7 +880,7 @@ static void SetFrontierData(void) gSaveBlock2Ptr->frontier.disableRecordBattle = gSpecialVar_0x8006; break; case FRONTIER_DATA_HEARD_BRAIN_SPEECH: - gSaveBlock2Ptr->frontier.battledBrainFlags |= sBattledBrainBitFlags[facility][hasSymbol]; + gSaveBlock2Ptr->frontier.battledBrainFlags |= gFrontierBrainInfo[facility].battledBit[hasSymbol]; break; } } @@ -1600,7 +1660,7 @@ u8 GetFrontierBrainStatus(void) s32 facility = VarGet(VAR_FRONTIER_FACILITY); s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); u16 winStreakNoModifier = GetCurrentFacilityWinStreak(); - s32 winStreak = winStreakNoModifier + sFrontierBrainStreakAppearances[facility][3]; + s32 winStreak = winStreakNoModifier + gFrontierBrainInfo[facility].streakAppearances[3]; s32 symbolsCount; if (battleMode != FRONTIER_MODE_SINGLES) @@ -1612,20 +1672,20 @@ u8 GetFrontierBrainStatus(void) // Missing a symbol case 0: case 1: - if (winStreak == sFrontierBrainStreakAppearances[facility][symbolsCount]) + if (winStreak == gFrontierBrainInfo[facility].streakAppearances[symbolsCount]) status = symbolsCount + 1; // FRONTIER_BRAIN_SILVER and FRONTIER_BRAIN_GOLD break; // Already received both symbols case 2: default: // Silver streak is reached - if (winStreak == sFrontierBrainStreakAppearances[facility][0]) + if (winStreak == gFrontierBrainInfo[facility].streakAppearances[0]) status = FRONTIER_BRAIN_STREAK; // Gold streak is reached - else if (winStreak == sFrontierBrainStreakAppearances[facility][1]) + else if (winStreak == gFrontierBrainInfo[facility].streakAppearances[1]) status = FRONTIER_BRAIN_STREAK_LONG; // Some increment of the gold streak is reached - else if (winStreak > sFrontierBrainStreakAppearances[facility][1] && (winStreak - sFrontierBrainStreakAppearances[facility][1]) % sFrontierBrainStreakAppearances[facility][2] == 0) + else if (winStreak > gFrontierBrainInfo[facility].streakAppearances[1] && (winStreak - gFrontierBrainInfo[facility].streakAppearances[1]) % gFrontierBrainInfo[facility].streakAppearances[2] == 0) status = FRONTIER_BRAIN_STREAK_LONG; break; } @@ -2396,7 +2456,7 @@ u8 GetFrontierBrainTrainerPicIndex(void) else facility = VarGet(VAR_FRONTIER_FACILITY); - return GetTrainerPicFromId(sFrontierBrainTrainerIds[facility]); + return GetTrainerPicFromId(gFrontierBrainInfo[facility].trainerId); } u8 GetFrontierBrainTrainerClass(void) @@ -2408,7 +2468,7 @@ u8 GetFrontierBrainTrainerClass(void) else facility = VarGet(VAR_FRONTIER_FACILITY); - return GetTrainerClassFromId(sFrontierBrainTrainerIds[facility]); + return GetTrainerClassFromId(gFrontierBrainInfo[facility].trainerId); } void CopyFrontierBrainTrainerName(u8 *dst) @@ -2422,7 +2482,7 @@ void CopyFrontierBrainTrainerName(u8 *dst) else facility = VarGet(VAR_FRONTIER_FACILITY); - trainerName = GetTrainerNameFromId(sFrontierBrainTrainerIds[facility]); + trainerName = GetTrainerNameFromId(gFrontierBrainInfo[facility].trainerId); for (i = 0; i < PLAYER_NAME_LENGTH; i++) dst[i] = trainerName[i]; @@ -2432,13 +2492,13 @@ void CopyFrontierBrainTrainerName(u8 *dst) bool8 IsFrontierBrainFemale(void) { s32 facility = VarGet(VAR_FRONTIER_FACILITY); - return sFrontierBrainObjEventGfx[facility][1]; + return gFrontierBrainInfo[facility].isFemale; } void SetFrontierBrainObjEventGfx_2(void) { s32 facility = VarGet(VAR_FRONTIER_FACILITY); - VarSet(VAR_OBJ_GFX_ID_0, sFrontierBrainObjEventGfx[facility][0]); + VarSet(VAR_OBJ_GFX_ID_0, gFrontierBrainInfo[facility].objEventGfx); } #define FRONTIER_BRAIN_OTID 61226 @@ -2505,7 +2565,7 @@ u16 GetFrontierBrainMonSpecies(u8 monId) void SetFrontierBrainObjEventGfx(u8 facility) { gTrainerBattleOpponent_A = TRAINER_FRONTIER_BRAIN; - VarSet(VAR_OBJ_GFX_ID_0, sFrontierBrainObjEventGfx[facility][0]); + VarSet(VAR_OBJ_GFX_ID_0, gFrontierBrainInfo[facility].objEventGfx); } u16 GetFrontierBrainMonMove(u8 monId, u8 moveSlotId) @@ -2540,12 +2600,12 @@ s32 GetFronterBrainSymbol(void) if (symbol == 2) { u16 winStreak = GetCurrentFacilityWinStreak(); - if (winStreak + sFrontierBrainStreakAppearances[facility][3] == sFrontierBrainStreakAppearances[facility][0]) + if (winStreak + gFrontierBrainInfo[facility].streakAppearances[3] == gFrontierBrainInfo[facility].streakAppearances[0]) symbol = 0; - else if (winStreak + sFrontierBrainStreakAppearances[facility][3] == sFrontierBrainStreakAppearances[facility][1]) + else if (winStreak + gFrontierBrainInfo[facility].streakAppearances[3] == gFrontierBrainInfo[facility].streakAppearances[1]) symbol = 1; - else if (winStreak + sFrontierBrainStreakAppearances[facility][3] > sFrontierBrainStreakAppearances[facility][1] - && (winStreak + sFrontierBrainStreakAppearances[facility][3] - sFrontierBrainStreakAppearances[facility][1]) % sFrontierBrainStreakAppearances[facility][2] == 0) + else if (winStreak + gFrontierBrainInfo[facility].streakAppearances[3] > gFrontierBrainInfo[facility].streakAppearances[1] + && (winStreak + gFrontierBrainInfo[facility].streakAppearances[3] - gFrontierBrainInfo[facility].streakAppearances[1]) % gFrontierBrainInfo[facility].streakAppearances[2] == 0) symbol = 1; } return symbol; @@ -2571,10 +2631,10 @@ static void CopyFrontierBrainText(bool8 playerWonText) switch (playerWonText) { case FALSE: - StringCopy(gStringVar4, sFrontierBrainPlayerLostTexts[symbol][facility]); + StringCopy(gStringVar4, gFrontierBrainInfo[facility].wonTexts[symbol]); break; case TRUE: - StringCopy(gStringVar4, sFrontierBrainPlayerWonTexts[symbol][facility]); + StringCopy(gStringVar4, gFrontierBrainInfo[facility].lostTexts[symbol]); break; } } diff --git a/src/graphics.c b/src/graphics.c index b1e1a916782d..5aafa8ae4591 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1263,6 +1263,9 @@ const u32 gBattleAnimSpriteGfx_XSign[] = INCBIN_U32("graphics/battle_anims/sprit const u32 gBattleAnimSpriteGfx_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.4bpp.lz"); const u32 gBattleAnimSpritePal_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkVioletOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pinkvio_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkVioletOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pinkvio_orb.gbapal.lz"); + const u32 gBattleAnimSpriteGfx_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.4bpp.lz"); const u32 gBattleAnimSpritePal_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.gbapal.lz"); @@ -1387,6 +1390,7 @@ const u32 gBattleAnimSpritePal_Protect[] = INCBIN_U32("graphics/battle_anims/spr const u32 gBattleAnimBackgroundImageMuddyWater_Pal[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_muddy.gbapal.lz"); const u32 gEnemyMonShadow_Gfx[] = INCBIN_U32("graphics/battle_interface/enemy_mon_shadow.4bpp.lz"); +const u32 gEnemyMonShadowsSized_Gfx[] = INCBIN_U32("graphics/battle_interface/enemy_mon_shadows_sized.4bpp.lz"); const u32 gBattleInterface_BallStatusBarGfx[] = INCBIN_U32("graphics/battle_interface/ball_status_bar.4bpp.lz"); @@ -1445,10 +1449,6 @@ const u32 gBattleAnimBgTilemap_ClangorousSoulblaze[] = INCBIN_U32("graphics/batt const u32 gBattleAnimBgPalette_DynamaxCannon[] = INCBIN_U32("graphics/battle_anims/backgrounds/dynamax_cannon.gbapal.lz"); -const u32 gBattleAnimBgImage_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/electric_terrain.4bpp.lz"); -const u32 gBattleAnimBgPalette_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/electric_terrain.gbapal.lz"); -const u32 gBattleAnimBgTilemap_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/electric_terrain.bin.lz"); - const u32 gBattleAnimBgImage_Fire1[] = INCBIN_U32("graphics/battle_anims/backgrounds/fire1.4bpp.lz"); const u32 gBattleAnimBgPalette_Fire1[] = INCBIN_U32("graphics/battle_anims/backgrounds/fire1.gbapal.lz"); const u32 gBattleAnimBgTilemap_Fire1[] = INCBIN_U32("graphics/battle_anims/backgrounds/fire1.bin.lz"); @@ -1461,10 +1461,6 @@ const u32 gBattleAnimBgTilemap_FocusBlast[] = INCBIN_U32("graphics/battle_anims/ const u32 gBattleAnimBgPalette_GarbageFalls[] = INCBIN_U32("graphics/battle_anims/backgrounds/garbage_falls.gbapal.lz"); -const u32 gBattleAnimBgImage_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/grassy_terrain.4bpp.lz"); -const u32 gBattleAnimBgPalette_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/grassy_terrain.gbapal.lz"); -const u32 gBattleAnimBgTilemap_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/grassy_terrain.bin.lz"); - const u32 gBattleAnimBgPalette_GunkShot[] = INCBIN_U32("graphics/battle_anims/backgrounds/gunk_shot.gbapal.lz"); const u32 gBattleAnimBgImage_HydroCannon[] = INCBIN_U32("graphics/battle_anims/backgrounds/hydro_cannon.4bpp.lz"); @@ -1496,14 +1492,44 @@ const u32 gBattleAnimBgImage_MaxLightning[] = INCBIN_U32("graphics/battle_anims/ const u32 gBattleAnimBgPalette_MaxLightning[] = INCBIN_U32("graphics/battle_anims/backgrounds/max_lightning.gbapal.lz"); const u32 gBattleAnimBgTilemap_MaxLightning[] = INCBIN_U32("graphics/battle_anims/backgrounds/max_lightning.bin.lz"); -const u32 gBattleAnimBgImage_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/misty_terrain.4bpp.lz"); -const u32 gBattleAnimBgPalette_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/misty_terrain.gbapal.lz"); -const u32 gBattleAnimBgTilemap_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/misty_terrain.bin.lz"); - const u32 gBattleAnimBgImage_NeverendingNightmare[] = INCBIN_U32("graphics/battle_anims/backgrounds/neverending_nightmare.4bpp.lz"); const u32 gBattleAnimBgPalette_NeverendingNightmare[] = INCBIN_U32("graphics/battle_anims/backgrounds/neverending_nightmare.gbapal.lz"); const u32 gBattleAnimBgTilemap_NeverendingNightmare[] = INCBIN_U32("graphics/battle_anims/backgrounds/neverending_nightmare.bin.lz"); +#if B_NEW_TERRAIN_BACKGROUNDS +const u32 gBattleAnimBgImage_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_electric_terrain.4bpp.lz"); +const u32 gBattleAnimBgPalette_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_electric_terrain.gbapal.lz"); +const u32 gBattleAnimBgTilemap_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_electric_terrain.bin.lz"); + +const u32 gBattleAnimBgImage_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_grassy_terrain.4bpp.lz"); +const u32 gBattleAnimBgPalette_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_grassy_terrain.gbapal.lz"); +const u32 gBattleAnimBgTilemap_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_grassy_terrain.bin.lz"); + +const u32 gBattleAnimBgImage_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_misty_terrain.4bpp.lz"); +const u32 gBattleAnimBgPalette_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_misty_terrain.gbapal.lz"); +const u32 gBattleAnimBgTilemap_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_misty_terrain.bin.lz"); + +const u32 gBattleAnimBgImage_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_psychic_terrain.4bpp.lz"); +const u32 gBattleAnimBgPalette_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_psychic_terrain.gbapal.lz"); +const u32 gBattleAnimBgTilemap_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_psychic_terrain.bin.lz"); +#else +const u32 gBattleAnimBgImage_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic_terrain.4bpp.lz"); +const u32 gBattleAnimBgPalette_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic_terrain.gbapal.lz"); +const u32 gBattleAnimBgTilemap_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic_terrain.bin.lz"); + +const u32 gBattleAnimBgImage_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/electric_terrain.4bpp.lz"); +const u32 gBattleAnimBgPalette_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/electric_terrain.gbapal.lz"); +const u32 gBattleAnimBgTilemap_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/electric_terrain.bin.lz"); + +const u32 gBattleAnimBgImage_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/grassy_terrain.4bpp.lz"); +const u32 gBattleAnimBgPalette_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/grassy_terrain.gbapal.lz"); +const u32 gBattleAnimBgTilemap_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/grassy_terrain.bin.lz"); + +const u32 gBattleAnimBgImage_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/misty_terrain.4bpp.lz"); +const u32 gBattleAnimBgPalette_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/misty_terrain.gbapal.lz"); +const u32 gBattleAnimBgTilemap_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/misty_terrain.bin.lz"); +#endif + const u32 gBattleAnimBgImage_Nightmare[] = INCBIN_U32("graphics/battle_anims/backgrounds/nightmare.4bpp.lz"); const u32 gBattleAnimBgPalette_Nightmare[] = INCBIN_U32("graphics/battle_anims/backgrounds/nightmare.gbapal.lz"); const u32 gBattleAnimBgTilemap_Nightmare[] = INCBIN_U32("graphics/battle_anims/backgrounds/nightmare.bin.lz"); @@ -1512,10 +1538,6 @@ const u32 gBattleAnimBgPalette_PoisonFalls[] = INCBIN_U32("graphics/battle_anims const u32 gBattleAnimBgPalette_PsychicNew[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic_new.gbapal.lz"); -const u32 gBattleAnimBgImage_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic_terrain.4bpp.lz"); -const u32 gBattleAnimBgPalette_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic_terrain.gbapal.lz"); -const u32 gBattleAnimBgTilemap_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic_terrain.bin.lz"); - const u32 gBattleAnimBgImage_ShatteredPsyche[] = INCBIN_U32("graphics/battle_anims/backgrounds/shattered_psyche.4bpp.lz"); const u32 gBattleAnimBgPalette_ShatteredPsyche[] = INCBIN_U32("graphics/battle_anims/backgrounds/shattered_psyche.gbapal.lz"); const u32 gBattleAnimBgTilemap_ShatteredPsyche[] = INCBIN_U32("graphics/battle_anims/backgrounds/shattered_psyche.bin.lz"); @@ -1636,6 +1658,11 @@ const u32 gBattleAnimBgImage_Rainbow[] = INCBIN_U32("graphics/battle_anims/backg const u32 gBattleAnimBGPalette_Rainbow[] = INCBIN_U32("graphics/battle_anims/backgrounds/rainbow.gbapal.lz"); const u32 gBattleAnimBgTilemap_Rainbow[] = INCBIN_U32("graphics/battle_anims/backgrounds/rainbow.bin.lz"); +// Pledge Effect field status - Swamp +const u32 gBattleAnimBgImage_Swamp[] = INCBIN_U32("graphics/battle_anims/backgrounds/swampswizzle.4bpp.lz"); +const u32 gBattleAnimBGPalette_Swamp[] = INCBIN_U32("graphics/battle_anims/backgrounds/swampswizzle.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Swamp[] = INCBIN_U32("graphics/battle_anims/backgrounds/swampswizzle.bin.lz"); + const u32 gPartyMenuBg_Gfx[] = INCBIN_U32("graphics/party_menu/bg.4bpp.lz"); const u32 gPartyMenuBg_Pal[] = INCBIN_U32("graphics/party_menu/bg.gbapal.lz"); const u32 gPartyMenuBg_Tilemap[] = INCBIN_U32("graphics/party_menu/bg.bin.lz"); @@ -2002,6 +2029,7 @@ const u16 gTradeMenuMonBox_Tilemap[] = INCBIN_U16("graphics/trade/menu_mon_box.b const u16 gMessageBox_Pal[] = INCBIN_U16("graphics/text_window/message_box.gbapal"); const u8 gMessageBox_Gfx[] = INCBIN_U8("graphics/text_window/message_box.4bpp"); +const u8 gSignpostWindow_Gfx[] = INCBIN_U8("graphics/text_window/signpost.4bpp"); const u32 gWallpaperIcon_Cross[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/cross.4bpp.lz"); const u32 gWallpaperIcon_Bolt[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/bolt.4bpp.lz"); @@ -2060,3 +2088,9 @@ const u16 gFrontierPassCancelButtonHighlighted_Tilemap[] = INCBIN_U16("graphics/ const u16 gBerryCrush_Crusher_Pal[] = INCBIN_U16("graphics/berry_crush/crusher.gbapal"); const u32 gBerryCrush_Crusher_Gfx[] = INCBIN_U32("graphics/berry_crush/crusher.4bpp.lz"); const u32 gBerryCrush_TextWindows_Tilemap[] = INCBIN_U32("graphics/berry_crush/text_windows.bin.lz"); + +const u32 gBattleIcons_Gfx1[] = INCBIN_U32("graphics/types/battle_icons1.4bpp.lz"); +const u32 gBattleIcons_Gfx2[] = INCBIN_U32("graphics/types/battle_icons2.4bpp.lz"); +const u32 gBattleIcons_Pal1[] = INCBIN_U32("graphics/types/battle_icons1.gbapal.lz"); +const u32 gBattleIcons_Pal2[] = INCBIN_U32("graphics/types/battle_icons2.gbapal.lz"); + diff --git a/src/heal_location.c b/src/heal_location.c index 0ab5540346f3..17439258850e 100644 --- a/src/heal_location.c +++ b/src/heal_location.c @@ -1,8 +1,11 @@ #include "global.h" +#include "event_data.h" #include "heal_location.h" #include "constants/heal_locations.h" +#include "constants/maps.h" #include "data/heal_locations.h" +#include "data/heal_locations_pkm_center.h" u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum) { @@ -26,6 +29,20 @@ const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum) return &sHealLocations[index - 1]; } +u32 GetHealLocationIndexByWarpData(struct WarpData *warp) +{ + u32 i; + for (i = 0; i < ARRAY_COUNT(sHealLocations); i++) + { + if (sHealLocations[i].group == warp->mapGroup + && sHealLocations[i].map == warp->mapNum + && sHealLocations[i].x == warp->x + && sHealLocations[i].y == warp->y) + return i + 1; + } + return HEAL_LOCATION_NONE; +} + const struct HealLocation *GetHealLocation(u32 index) { if (index == HEAL_LOCATION_NONE) @@ -35,3 +52,55 @@ const struct HealLocation *GetHealLocation(u32 index) else return &sHealLocations[index - 1]; } + +static bool32 IsLastHealLocation(u32 healLocation) +{ + const struct HealLocation *loc = GetHealLocation(healLocation); + const struct WarpData *warpData = &gSaveBlock1Ptr->lastHealLocation; + + return warpData->mapGroup == loc->group + && warpData->mapNum == loc->map + && warpData->warpId == WARP_ID_NONE + && warpData->x == loc->x + && warpData->y == loc->y; +} + +bool32 IsLastHealLocationPlayerHouse() +{ + if (IsLastHealLocation(HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE) + || IsLastHealLocation(HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F) + || IsLastHealLocation(HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE) + || IsLastHealLocation(HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F)) + return TRUE; + + return FALSE; +} + +u32 GetHealNpcLocalId(u32 healLocationId) +{ + if (healLocationId == HEAL_LOCATION_NONE || healLocationId >= HEAL_LOCATION_COUNT) + return 0; + + return sHealNpcLocalId[healLocationId - 1]; +} + +void SetWhiteoutRespawnWarpAndHealerNPC(struct WarpData *warp) +{ + u32 healLocationId = GetHealLocationIndexByWarpData(&gSaveBlock1Ptr->lastHealLocation); + u32 healNpcLocalId = GetHealNpcLocalId(healLocationId); + struct HealLocation pkmCenterHealLocation; + + if (!healNpcLocalId) + { + *(warp) = gSaveBlock1Ptr->lastHealLocation; + return; + } + + pkmCenterHealLocation = sHealLocationsPokemonCenter[healLocationId - 1]; + warp->mapGroup = pkmCenterHealLocation.group; + warp->mapNum = pkmCenterHealLocation.map; + warp->warpId = WARP_ID_NONE; + warp->x = pkmCenterHealLocation.x; + warp->y = pkmCenterHealLocation.y; + gSpecialVar_LastTalked = healNpcLocalId; +} diff --git a/src/item.c b/src/item.c index 6c3742fd76b2..b0135d8f833b 100644 --- a/src/item.c +++ b/src/item.c @@ -1,6 +1,7 @@ #include "global.h" #include "item.h" #include "berry.h" +#include "pokeball.h" #include "string_util.h" #include "text.h" #include "event_data.h" @@ -166,11 +167,11 @@ bool8 HasAtLeastOneBerry(void) bool8 HasAtLeastOnePokeBall(void) { - u16 i; + u16 ballId; - for (i = FIRST_BALL; i <= LAST_BALL; i++) + for (ballId = BALL_STRANGE; ballId < POKEBALL_COUNT; ballId++) { - if (CheckBagHasItem(i, 1) == TRUE) + if (CheckBagHasItem(ballId, 1) == TRUE) return TRUE; } return FALSE; @@ -916,6 +917,11 @@ u8 ItemId_GetImportance(u16 itemId) return gItemsInfo[SanitizeItemId(itemId)].importance; } +u8 ItemId_GetConsumability(u16 itemId) +{ + return !gItemsInfo[SanitizeItemId(itemId)].notConsumed; +} + u8 ItemId_GetPocket(u16 itemId) { return gItemsInfo[SanitizeItemId(itemId)].pocket; @@ -963,7 +969,7 @@ u8 ItemId_GetBattleUsage(u16 itemId) return gItemsInfo[item].battleUsage; } -u8 ItemId_GetSecondaryId(u16 itemId) +u32 ItemId_GetSecondaryId(u32 itemId) { return gItemsInfo[SanitizeItemId(itemId)].secondaryId; } diff --git a/src/item_use.c b/src/item_use.c index d38c4b1f98a2..c04d9b99114f 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -1284,7 +1284,7 @@ void ItemUseInBattle_BagMenu(u8 taskId) else { PlaySE(SE_SELECT); - if (!(B_TRY_CATCH_TRAINER_BALL >= GEN_4 && (ItemId_GetBattleUsage(gSpecialVar_ItemId) == EFFECT_ITEM_THROW_BALL) && (gBattleTypeFlags & BATTLE_TYPE_TRAINER))) + if (!ItemId_GetImportance(gSpecialVar_ItemId) && !(B_TRY_CATCH_TRAINER_BALL >= GEN_4 && (ItemId_GetBattleUsage(gSpecialVar_ItemId) == EFFECT_ITEM_THROW_BALL) && (gBattleTypeFlags & BATTLE_TYPE_TRAINER))) RemoveUsedItem(); ScheduleBgCopyTilemapToVram(2); if (!InBattlePyramid()) @@ -1499,4 +1499,63 @@ void Task_ItemUse_CloseMessageBoxAndReturnToField_VsSeeker(u8 taskId) Task_CloseCantUseKeyItemMessage(taskId); } +static void Task_DisplayPokeFluteMessage(u8 taskId) +{ + if (WaitFanfare(FALSE)) + { + if (gTasks[taskId].data[3] == 0) + DisplayItemMessage(taskId, FONT_NORMAL, gText_PokeFluteAwakenedMon, CloseItemMessage); + else + DisplayItemMessageOnField(taskId, gText_PokeFluteAwakenedMon, Task_CloseCantUseKeyItemMessage); + } +} + +static void Task_PlayPokeFlute(u8 taskId) +{ + PlayFanfareByFanfareNum(FANFARE_RG_POKE_FLUTE); + gTasks[taskId].func = Task_DisplayPokeFluteMessage; +} + +void ItemUseOutOfBattle_PokeFlute(u8 taskId) +{ + bool32 wokeSomeoneUp = FALSE; + u32 i; + + for (i = 0; i < CalculatePlayerPartyCount(); i++) + { + if (!ExecuteTableBasedItemEffect(&gPlayerParty[i], ITEM_AWAKENING, i, 0)) + wokeSomeoneUp = TRUE; + } + + if (wokeSomeoneUp) + { + if (gTasks[taskId].data[3] == 0) + DisplayItemMessage(taskId, FONT_NORMAL, gText_PlayedPokeFlute, Task_PlayPokeFlute); + else + DisplayItemMessageOnField(taskId, gText_PlayedPokeFlute, Task_PlayPokeFlute); + } + else + { + if (gTasks[taskId].data[3] == 0) + DisplayItemMessage(taskId, FONT_NORMAL, gText_PlayedPokeFluteCatchy, CloseItemMessage); + else + DisplayItemMessageOnField(taskId, gText_PlayedPokeFluteCatchy, Task_CloseCantUseKeyItemMessage); + } +} + +static void ItemUseOnFieldCB_TownMap(u8 taskId) +{ + LockPlayerFieldControls(); + ScriptContext_SetupScript(EventScript_RegionMap); + DestroyTask(taskId); +} + +void ItemUseOutOfBattle_TownMap(u8 taskId) +{ + sItemUseOnFieldCB = ItemUseOnFieldCB_TownMap; + gFieldCallback = FieldCB_UseItemOnField; + gBagMenu->newScreenCallback = CB2_ReturnToField; + Task_FadeAndCloseBagMenu(taskId); +} + #undef tUsingRegisteredKeyItem diff --git a/src/librfu_rfu.c b/src/librfu_rfu.c index f06646df3c7c..0097ac349ca6 100644 --- a/src/librfu_rfu.c +++ b/src/librfu_rfu.c @@ -762,7 +762,7 @@ static void rfu_CB_pollConnectParent(u8 reqCommand, u16 reqResult) u16 id; u8 slot; u8 bm_slot_flag, i; - struct RfuTgtData *target_p; + struct RfuTgtData *target_p = NULL; struct RfuTgtData target_local; if (reqResult == 0) diff --git a/src/line_break.c b/src/line_break.c new file mode 100644 index 000000000000..b8888f501f8d --- /dev/null +++ b/src/line_break.c @@ -0,0 +1,281 @@ +#include "global.h" +#include "line_break.h" +#include "text.h" +#include "malloc.h" + +void StripLineBreaks(u8 *src) +{ + u32 currIndex = 0; + while (src[currIndex] != EOS) + { + if (src[currIndex] == CHAR_PROMPT_SCROLL || src[currIndex] == CHAR_NEWLINE) + src[currIndex] = CHAR_SPACE; + currIndex++; + } +} + +void BreakStringAutomatic(u8 *src, u32 maxWidth, u32 screenLines, u8 fontId) +{ + u32 currIndex = 0; + u8 *currSrc = src; + while (src[currIndex] != EOS) + { + if (src[currIndex] == CHAR_PROMPT_CLEAR) + { + u8 replacedChar = src[currIndex + 1]; + src[currIndex + 1] = EOS; + BreakSubStringAutomatic(currSrc, maxWidth, screenLines, fontId); + src[currIndex + 1] = replacedChar; + currSrc = &src[currIndex + 1]; + } + currIndex++; + } + BreakSubStringAutomatic(currSrc, maxWidth, screenLines, fontId); +} + +void BreakSubStringAutomatic(u8 *src, u32 maxWidth, u32 screenLines, u8 fontId) +{ + // If the string already has line breaks, don't interfere with them + if (StringHasManualBreaks(src)) + return; + // Sanity check + if (src[0] == EOS) + return; + u32 numChars = 1; + u32 numWords = 1; + u32 currWordIndex = 0; + u32 currWordLength = 1; + bool32 isPrevCharSplitting = FALSE; + bool32 isCurrCharSplitting; + // Get numbers of chars in string and count words + while (src[numChars] != EOS) + { + isCurrCharSplitting = IsWordSplittingChar(src, numChars); + if (isCurrCharSplitting && !isPrevCharSplitting) + numWords++; + isPrevCharSplitting = isCurrCharSplitting; + numChars++; + } + // Allocate enough space for word data + struct StringWord *allWords = Alloc(numWords*sizeof(struct StringWord)); + + allWords[currWordIndex].startIndex = 0; + allWords[currWordIndex].width = 0; + isPrevCharSplitting = FALSE; + // Fill in word begin index and lengths + for (u32 i = 1; i < numChars; i++) + { + isCurrCharSplitting = IsWordSplittingChar(src, i); + if (isCurrCharSplitting && !isPrevCharSplitting) + { + allWords[currWordIndex].length = currWordLength; + currWordIndex++; + currWordLength = 0; + } + else if (!isCurrCharSplitting && isPrevCharSplitting) + { + allWords[currWordIndex].startIndex = i; + allWords[currWordIndex].width = 0; + currWordLength++; + } + else + { + currWordLength++; + } + isPrevCharSplitting = isCurrCharSplitting; + } + allWords[currWordIndex].length = currWordLength; + + // Fill in individual word widths + for (u32 i = 0; i < numWords; i++) + { + for (u32 j = 0; j < allWords[i].length; j++) + allWords[i].width += GetGlyphWidth(src[allWords[i].startIndex + j], FALSE, fontId); + } + + // Step 1: Does it all fit one one line? Then no break + // Step 2: Try to split across minimum number of lines + u32 spaceWidth = GetGlyphWidth(0, FALSE, fontId); + u32 totalWidth = allWords[0].width; + // Calculate total widths without any line breaks + for (u32 i = 1; i < numWords; i++) + totalWidth += allWords[i].width + spaceWidth; + + // If it doesn't fit on 1 line, do fancy line break calculation + // NOTE: Currently the line break calculation isn't fancy + if (totalWidth > maxWidth) + { + // Figure out how many lines are needed with naive method + u32 currLineWidth = 0; + u32 totalLines = 1; + bool32 shouldTryAgain; + for (currWordIndex = 0; currWordIndex < numWords; currWordIndex++) + { + if (currLineWidth + allWords[currWordIndex].length > maxWidth) + { + totalLines++; + currLineWidth = allWords[currWordIndex].width; + } + else + { + currLineWidth += allWords[currWordIndex].width + spaceWidth; + } + } + // LINE LAYOUT STARTS HERE + struct StringLine *stringLines; + do + { + shouldTryAgain = FALSE; + u16 targetLineWidth = totalWidth/totalLines; + stringLines = Alloc(totalLines*sizeof(struct StringLine)); + for (u32 lineIndex = 0; lineIndex < totalLines; lineIndex++) + { + stringLines[lineIndex].numWords = 0; + stringLines[lineIndex].spaceWidth = spaceWidth; + stringLines[lineIndex].extraSpaceWidth = 0; + } + currWordIndex = 0; + u16 currLineIndex = 0; + stringLines[currLineIndex].words = &allWords[currWordIndex]; + stringLines[currLineIndex].numWords = 1; + currLineWidth = allWords[currWordIndex].width; + currWordIndex++; + while (currWordIndex < numWords) + { + if (currLineWidth + spaceWidth + allWords[currWordIndex].width > maxWidth) + { + // go to next line + currLineIndex++; + if (currLineIndex == totalLines) + { + totalLines++; + Free(stringLines); + shouldTryAgain = TRUE; + break; + } + stringLines[currLineIndex].words = &allWords[currWordIndex]; + stringLines[currLineIndex].numWords = 1; + currLineWidth = allWords[currWordIndex].width; + currWordIndex++; + } + else if (currLineWidth > targetLineWidth) + { + // go to next line + currLineIndex++; + if (currLineIndex == totalLines) + { + totalLines++; + Free(stringLines); + shouldTryAgain = TRUE; + break; + } + stringLines[currLineIndex].words = &allWords[currWordIndex]; + stringLines[currLineIndex].numWords = 1; + currLineWidth = allWords[currWordIndex].width; + currWordIndex++; + } + else + { + // continue on current line + // add word and space width + currLineWidth += spaceWidth + allWords[currWordIndex].width; + stringLines[currLineIndex].numWords++; + currWordIndex++; + } + } + } while (shouldTryAgain); + //u32 currBadness = GetStringBadness(stringLines, totalLines, maxWidth); + BuildNewString(stringLines, totalLines, screenLines, src); + Free(stringLines); + } + + Free(allWords); +} + +// Only allow word splitting on allowed chars +bool32 IsWordSplittingChar(const u8 *src, u32 index) +{ + switch (src[index]) + { + case CHAR_SPACE: + return TRUE; + default: + return FALSE; + } +} + +// Badness calculation +// unfilled lines scale linerarly +// jagged lines scales by the square +// runts scale linearly +// numbers not final +// ISN'T ACTUALLY USED RIGHT NOW +u32 GetStringBadness(struct StringLine *stringLines, u32 numLines, u32 maxWidth) +{ + u32 badness = 0; + u32 *lineWidths = Alloc(numLines*4); + u32 widestWidth = 0; + for (u32 i = 0; i < numLines; i++) + { + lineWidths[i] = 0; + for (u32 j = 0; j < stringLines[i].numWords; j++) + lineWidths[i] += stringLines[i].words[j].width; + lineWidths[i] += (stringLines[i].numWords-1)*stringLines[i].spaceWidth; + if (lineWidths[i] > widestWidth) + widestWidth = lineWidths[i]; + if (stringLines[i].numWords == 1) + badness += BADNESS_RUNT; + } + for (u32 i = 0; i < numLines; i++) + { + u32 extraSpaceWidth = 0; + if (lineWidths[i] != widestWidth) + { + // Not the best way to do this, ideally a line should be allowed to get longer than current widest + // line. But then the widest line has to be recalculated. + while (lineWidths[i] + (extraSpaceWidth + 1) * (stringLines[i].numWords - 1) < widestWidth && extraSpaceWidth < MAX_SPACE_WIDTH) + extraSpaceWidth++; + lineWidths[i] += extraSpaceWidth*(stringLines[i].numWords-1); + } + badness += (maxWidth - lineWidths[i]) * BADNESS_UNFILLED; + u32 baseBadness = (widestWidth - lineWidths[i]) * BADNESS_JAGGED; + badness += baseBadness*baseBadness; + stringLines[i].extraSpaceWidth = extraSpaceWidth; + } + Free(lineWidths); + return badness; +} + +// Build the new string from the data stored in the StringLine structs +void BuildNewString(struct StringLine *stringLines, u32 numLines, u32 maxLines, u8 *str) +{ + u32 srcCharIndex = 0; + for (u32 lineIndex = 0; lineIndex < numLines; lineIndex++) + { + srcCharIndex += stringLines[lineIndex].words[0].length; + for (u32 wordIndex = 1; wordIndex < stringLines[lineIndex].numWords; wordIndex++) + // Add length of word and a space + srcCharIndex += stringLines[lineIndex].words[wordIndex].length + 1; + if (lineIndex + 1 < numLines) + { + // Add the appropriate line break depending on line number + if (lineIndex >= maxLines - 1 && numLines > maxLines) + str[srcCharIndex] = CHAR_PROMPT_SCROLL; + else + str[srcCharIndex] = CHAR_NEWLINE; + srcCharIndex++; + } + } +} + +bool32 StringHasManualBreaks(u8 *src) +{ + u32 charIndex = 0; + while (src[charIndex] != EOS) + { + if (src[charIndex] == CHAR_PROMPT_SCROLL || src[charIndex] == CHAR_NEWLINE) + return TRUE; + charIndex++; + } + return FALSE; +} diff --git a/src/link.c b/src/link.c index bb74574a316e..ef928e8d62b9 100644 --- a/src/link.c +++ b/src/link.c @@ -2367,3 +2367,17 @@ void ResetRecvBuffer(void) } } } + +bool32 ShouldCheckForUnionRoom(void) +{ + if (OW_UNION_DISABLE_CHECK) + return FALSE; + + if (OW_FLAG_MOVE_UNION_ROOM_CHECK == 0) + return TRUE; + + if (FlagGet(OW_FLAG_MOVE_UNION_ROOM_CHECK)) + return TRUE; + + return FALSE; +} diff --git a/src/main.c b/src/main.c index c82dc5871883..29f02c20e42d 100644 --- a/src/main.c +++ b/src/main.c @@ -34,6 +34,7 @@ static void IntrDummy(void); // Defined in the linker script so that the test build can override it. extern void gInitialMainCB2(void); +extern void CB2_FlashNotDetectedScreen(void); const u8 gGameVersion = GAME_VERSION; @@ -114,7 +115,7 @@ void AgbMain() gSoftResetDisabled = FALSE; if (gFlashMemoryPresent != TRUE) - SetMainCallback2(NULL); + SetMainCallback2((SAVE_TYPE_ERROR_SCREEN) ? CB2_FlashNotDetectedScreen : NULL); gLinkTransferringData = FALSE; @@ -205,12 +206,9 @@ void SetMainCallback2(MainCallback callback) void StartTimer1(void) { - if (HQ_RANDOM) - { - REG_TM2CNT_L = 0; - REG_TM2CNT_H = TIMER_ENABLE | TIMER_COUNTUP; - } + REG_TM2CNT_L = 0; + REG_TM2CNT_H = TIMER_ENABLE | TIMER_COUNTUP; REG_TM1CNT_H = TIMER_ENABLE; } @@ -218,24 +216,12 @@ void SeedRngAndSetTrainerId(void) { u32 val; - if (HQ_RANDOM) - { - REG_TM1CNT_H = 0; - REG_TM2CNT_H = 0; - val = ((u32)REG_TM2CNT_L) << 16; - val |= REG_TM1CNT_L; - SeedRng(val); - sTrainerId = Random(); - } - else - { - // Do it exactly like it was originally done, including not stopping - // the timer beforehand. - val = REG_TM1CNT_L; - SeedRng((u16)val); - REG_TM1CNT_H = 0; - sTrainerId = val; - } + REG_TM1CNT_H = 0; + REG_TM2CNT_H = 0; + val = ((u32)REG_TM2CNT_L) << 16; + val |= REG_TM1CNT_L; + SeedRng(val); + sTrainerId = Random(); } u16 GetGeneratedTrainerIdLower(void) @@ -254,22 +240,16 @@ void EnableVCountIntrAtLine150(void) #ifdef BUGFIX static void SeedRngWithRtc(void) { - #if HQ_RANDOM == FALSE - u32 seed = RtcGetMinuteCount(); - seed = (seed >> 16) ^ (seed & 0xFFFF); - SeedRng(seed); - #else - #define BCD8(x) ((((x) >> 4) & 0xF) * 10 + ((x) & 0xF)) - u32 seconds; - struct SiiRtcInfo rtc; - RtcGetInfo(&rtc); - seconds = - ((HOURS_PER_DAY * RtcGetDayCount(&rtc) + BCD8(rtc.hour)) - * MINUTES_PER_HOUR + BCD8(rtc.minute)) - * SECONDS_PER_MINUTE + BCD8(rtc.second); - SeedRng(seconds); - #undef BCD8 - #endif + #define BCD8(x) ((((x) >> 4) & 0xF) * 10 + ((x) & 0xF)) + u32 seconds; + struct SiiRtcInfo rtc; + RtcGetInfo(&rtc); + seconds = + ((HOURS_PER_DAY * RtcGetDayCount(&rtc) + BCD8(rtc.hour)) + * MINUTES_PER_HOUR + BCD8(rtc.minute)) + * SECONDS_PER_MINUTE + BCD8(rtc.second); + SeedRng(seconds); + #undef BCD8 } #endif diff --git a/src/main_menu.c b/src/main_menu.c index c1f092b2ca76..504fbfb18642 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -257,6 +257,26 @@ static const u32 sBirchSpeechBgMap[] = INCBIN_U32("graphics/birch_speech/map.bin static const u16 sBirchSpeechBgGradientPal[] = INCBIN_U16("graphics/birch_speech/bg2.gbapal"); static const u16 sBirchSpeechPlatformBlackPal[] = {RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK}; +static const u8 gText_SaveFileCorrupted[] = _("The save file is corrupted. The\nprevious save file will be loaded."); +static const u8 gText_SaveFileErased[] = _("The save file has been erased\ndue to corruption or damage."); +static const u8 gJPText_No1MSubCircuit[] = _("1Mサブきばんが ささっていません!"); +static const u8 gText_BatteryRunDry[] = _("The internal battery has run dry.\nThe game can be played.\pHowever, clock-based events will\nno longer occur."); + +static const u8 gText_MainMenuNewGame[] = _("NEW GAME"); +static const u8 gText_MainMenuContinue[] = _("CONTINUE"); +static const u8 gText_MainMenuOption[] = _("OPTION"); +static const u8 gText_MainMenuMysteryGift[] = _("MYSTERY GIFT"); +static const u8 gText_MainMenuMysteryGift2[] = _("MYSTERY GIFT"); +static const u8 gText_MainMenuMysteryEvents[] = _("MYSTERY EVENTS"); +static const u8 gText_WirelessNotConnected[] = _("The Wireless Adapter is not\nconnected."); +static const u8 gText_MysteryGiftCantUse[] = _("MYSTERY GIFT can't be used while\nthe Wireless Adapter is attached."); +static const u8 gText_MysteryEventsCantUse[] = _("MYSTERY EVENTS can't be used while\nthe Wireless Adapter is attached."); + +static const u8 gText_ContinueMenuPlayer[] = _("PLAYER"); +static const u8 gText_ContinueMenuTime[] = _("TIME"); +static const u8 gText_ContinueMenuPokedex[] = _("POKéDEX"); +static const u8 gText_ContinueMenuBadges[] = _("BADGES"); + #define MENU_LEFT 2 #define MENU_TOP_WIN0 1 #define MENU_TOP_WIN1 5 @@ -454,54 +474,54 @@ static const union AffineAnimCmd *const sSpriteAffineAnimTable_PlayerShrink[] = }; static const struct MenuAction sMenuActions_Gender[] = { - {gText_BirchBoy, {NULL}}, - {gText_BirchGirl, {NULL}} + {COMPOUND_STRING("BOY"), {NULL}}, + {COMPOUND_STRING("GIRL"), {NULL}} }; static const u8 *const sMalePresetNames[] = { - gText_DefaultNameStu, - gText_DefaultNameMilton, - gText_DefaultNameTom, - gText_DefaultNameKenny, - gText_DefaultNameReid, - gText_DefaultNameJude, - gText_DefaultNameJaxson, - gText_DefaultNameEaston, - gText_DefaultNameWalker, - gText_DefaultNameTeru, - gText_DefaultNameJohnny, - gText_DefaultNameBrett, - gText_DefaultNameSeth, - gText_DefaultNameTerry, - gText_DefaultNameCasey, - gText_DefaultNameDarren, - gText_DefaultNameLandon, - gText_DefaultNameCollin, - gText_DefaultNameStanley, - gText_DefaultNameQuincy + COMPOUND_STRING("STU"), + COMPOUND_STRING("MILTON"), + COMPOUND_STRING("TOM"), + COMPOUND_STRING("KENNY"), + COMPOUND_STRING("REID"), + COMPOUND_STRING("JUDE"), + COMPOUND_STRING("JAXSON"), + COMPOUND_STRING("EASTON"), + COMPOUND_STRING("WALKER"), + COMPOUND_STRING("TERU"), + COMPOUND_STRING("JOHNNY"), + COMPOUND_STRING("BRETT"), + COMPOUND_STRING("SETH"), + COMPOUND_STRING("TERRY"), + COMPOUND_STRING("CASEY"), + COMPOUND_STRING("DARREN"), + COMPOUND_STRING("LANDON"), + COMPOUND_STRING("COLLIN"), + COMPOUND_STRING("STANLEY"), + COMPOUND_STRING("QUINCY") }; static const u8 *const sFemalePresetNames[] = { - gText_DefaultNameKimmy, - gText_DefaultNameTiara, - gText_DefaultNameBella, - gText_DefaultNameJayla, - gText_DefaultNameAllie, - gText_DefaultNameLianna, - gText_DefaultNameSara, - gText_DefaultNameMonica, - gText_DefaultNameCamila, - gText_DefaultNameAubree, - gText_DefaultNameRuthie, - gText_DefaultNameHazel, - gText_DefaultNameNadine, - gText_DefaultNameTanja, - gText_DefaultNameYasmin, - gText_DefaultNameNicola, - gText_DefaultNameLillie, - gText_DefaultNameTerra, - gText_DefaultNameLucy, - gText_DefaultNameHalie + COMPOUND_STRING("KIMMY"), + COMPOUND_STRING("TIARA"), + COMPOUND_STRING("BELLA"), + COMPOUND_STRING("JAYLA"), + COMPOUND_STRING("ALLIE"), + COMPOUND_STRING("LIANNA"), + COMPOUND_STRING("SARA"), + COMPOUND_STRING("MONICA"), + COMPOUND_STRING("CAMILA"), + COMPOUND_STRING("AUBREE"), + COMPOUND_STRING("RUTHIE"), + COMPOUND_STRING("HAZEL"), + COMPOUND_STRING("NADINE"), + COMPOUND_STRING("TANJA"), + COMPOUND_STRING("YASMIN"), + COMPOUND_STRING("NICOLA"), + COMPOUND_STRING("LILLIE"), + COMPOUND_STRING("TERRA"), + COMPOUND_STRING("LUCY"), + COMPOUND_STRING("HALIE") }; // The number of male vs. female names is assumed to be the same. diff --git a/src/menu.c b/src/menu.c index ff1970c3f14f..d9b331a8b2fd 100644 --- a/src/menu.c +++ b/src/menu.c @@ -17,18 +17,13 @@ #include "sound.h" #include "string_util.h" #include "strings.h" +#include "script.h" #include "task.h" #include "text_window.h" #include "window.h" #include "config/overworld.h" #include "constants/songs.h" -#define DLG_WINDOW_PALETTE_NUM 15 -#define DLG_WINDOW_BASE_TILE_NUM 0x200 -#define STD_WINDOW_PALETTE_NUM 14 -#define STD_WINDOW_PALETTE_SIZE PLTT_SIZEOF(10) -#define STD_WINDOW_BASE_TILE_NUM 0x214 - struct MenuInfoIcon { u8 width; @@ -54,6 +49,8 @@ struct Menu static u16 AddWindowParameterized(u8, u8, u8, u8, u8, u8, u16); static void WindowFunc_DrawStandardFrame(u8, u8, u8, u8, u8, u8); +static void WindowFunc_DrawSignFrame(u8, u8, u8, u8, u8, u8); +static inline void *GetWindowFunc_DialogueFrame(void); static void WindowFunc_DrawDialogueFrame(u8, u8, u8, u8, u8, u8); static void WindowFunc_ClearStdWindowAndFrame(u8, u8, u8, u8, u8, u8); static void WindowFunc_ClearDialogWindowAndFrame(u8, u8, u8, u8, u8, u8); @@ -220,9 +217,123 @@ void LoadMessageBoxAndBorderGfx(void) LoadUserWindowBorderGfx(0, STD_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(STD_WINDOW_PALETTE_NUM)); } +void LoadSignPostWindowFrameGfx(void) +{ + Menu_LoadStdPal(); + LoadSignBoxGfx(0, DLG_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(DLG_WINDOW_PALETTE_NUM)); + LoadUserWindowBorderGfx(0, STD_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(STD_WINDOW_PALETTE_NUM)); +} + +static void WindowFunc_DrawSignFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) +{ + FillBgTilemapBufferRect(bg, + DLG_WINDOW_BASE_TILE_NUM + 0, + tilemapLeft - 2, + tilemapTop - 1, + 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + DLG_WINDOW_BASE_TILE_NUM + 1, + tilemapLeft - 1, + tilemapTop - 1, + 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + DLG_WINDOW_BASE_TILE_NUM + 2, + tilemapLeft - 2, + tilemapTop, + 1, + 4, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + DLG_WINDOW_BASE_TILE_NUM + 3, + tilemapLeft - 1, + tilemapTop, + 1, + 4, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 0), + tilemapLeft - 2, + tilemapTop + 4, + 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 1), + tilemapLeft - 1, + tilemapTop + 4, + 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + DLG_WINDOW_BASE_TILE_NUM + 4, + tilemapLeft, + tilemapTop - 1, + 26, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + BG_TILE_H_FLIP(DLG_WINDOW_BASE_TILE_NUM + 0), + tilemapLeft + 27, + tilemapTop - 1, + 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + BG_TILE_H_FLIP(DLG_WINDOW_BASE_TILE_NUM + 1), + tilemapLeft + 26, + tilemapTop - 1, + 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + BG_TILE_H_FLIP(DLG_WINDOW_BASE_TILE_NUM + 2), + tilemapLeft + 27, + tilemapTop, + 1, + 4, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + BG_TILE_H_FLIP(DLG_WINDOW_BASE_TILE_NUM + 3), + tilemapLeft + 26, + tilemapTop, + 1, + 4, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + BG_TILE_V_FLIP(BG_TILE_H_FLIP(DLG_WINDOW_BASE_TILE_NUM + 0)), + tilemapLeft + 27, + tilemapTop + 4, + 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + BG_TILE_V_FLIP(BG_TILE_H_FLIP(DLG_WINDOW_BASE_TILE_NUM + 1)), + tilemapLeft + 26, + tilemapTop + 4, + 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 4), + tilemapLeft, + tilemapTop + 4, + 26, + 1, + DLG_WINDOW_PALETTE_NUM); +} + +static inline void *GetWindowFunc_DialogueFrame(void) +{ + return (gMsgIsSignPost ? WindowFunc_DrawSignFrame : WindowFunc_DrawDialogueFrame); +} + void DrawDialogueFrame(u8 windowId, bool8 copyToVram) { - CallWindowFunction(windowId, WindowFunc_DrawDialogueFrame); + CallWindowFunction(windowId, GetWindowFunc_DialogueFrame()); FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); PutWindowTilemap(windowId); if (copyToVram == TRUE) diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index 924428aea4de..e432827f31ff 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -8,123 +8,131 @@ static const u8 sTileBitAttributes[NUM_METATILE_BEHAVIORS] = { - [MB_NORMAL] = TILE_FLAG_UNUSED, - [MB_TALL_GRASS] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS, - [MB_LONG_GRASS] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS, - [MB_UNUSED_05] = TILE_FLAG_HAS_ENCOUNTERS, - [MB_DEEP_SAND] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS, - [MB_SHORT_GRASS] = TILE_FLAG_UNUSED, - [MB_CAVE] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS, - [MB_LONG_GRASS_SOUTH_EDGE] = TILE_FLAG_UNUSED, - [MB_NO_RUNNING] = TILE_FLAG_UNUSED, - [MB_INDOOR_ENCOUNTER] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS, - [MB_MOUNTAIN_TOP] = TILE_FLAG_UNUSED, - [MB_BATTLE_PYRAMID_WARP] = TILE_FLAG_UNUSED, - [MB_MOSSDEEP_GYM_WARP] = TILE_FLAG_UNUSED, - [MB_MT_PYRE_HOLE] = TILE_FLAG_UNUSED, - [MB_POND_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS, - [MB_INTERIOR_DEEP_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS, - [MB_DEEP_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS, - [MB_WATERFALL] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, - [MB_SOOTOPOLIS_DEEP_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, - [MB_OCEAN_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS, - [MB_PUDDLE] = TILE_FLAG_UNUSED, - [MB_SHALLOW_WATER] = TILE_FLAG_UNUSED, - [MB_NO_SURFACING] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, - [MB_STAIRS_OUTSIDE_ABANDONED_SHIP] = TILE_FLAG_UNUSED, - [MB_SHOAL_CAVE_ENTRANCE] = TILE_FLAG_UNUSED, - [MB_ICE] = TILE_FLAG_UNUSED, - [MB_SAND] = TILE_FLAG_UNUSED, - [MB_SEAWEED] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS, - [MB_UNUSED_23] = TILE_FLAG_UNUSED, - [MB_ASHGRASS] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS, - [MB_FOOTPRINTS] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS, - [MB_THIN_ICE] = TILE_FLAG_UNUSED, - [MB_CRACKED_ICE] = TILE_FLAG_UNUSED, - [MB_HOT_SPRINGS] = TILE_FLAG_UNUSED, - [MB_LAVARIDGE_GYM_B1F_WARP] = TILE_FLAG_UNUSED, - [MB_SEAWEED_NO_SURFACING] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS, - [MB_REFLECTION_UNDER_BRIDGE] = TILE_FLAG_UNUSED, - [MB_IMPASSABLE_EAST] = TILE_FLAG_UNUSED, - [MB_IMPASSABLE_WEST] = TILE_FLAG_UNUSED, - [MB_IMPASSABLE_NORTH] = TILE_FLAG_UNUSED, - [MB_IMPASSABLE_SOUTH] = TILE_FLAG_UNUSED, - [MB_IMPASSABLE_NORTHEAST] = TILE_FLAG_UNUSED, - [MB_IMPASSABLE_NORTHWEST] = TILE_FLAG_UNUSED, - [MB_IMPASSABLE_SOUTHEAST] = TILE_FLAG_UNUSED, - [MB_IMPASSABLE_SOUTHWEST] = TILE_FLAG_UNUSED, - [MB_JUMP_NORTHEAST] = TILE_FLAG_UNUSED, - [MB_JUMP_NORTHWEST] = TILE_FLAG_UNUSED, - [MB_JUMP_SOUTHEAST] = TILE_FLAG_UNUSED, - [MB_JUMP_SOUTHWEST] = TILE_FLAG_UNUSED, - [MB_WALK_EAST] = TILE_FLAG_UNUSED, - [MB_WALK_WEST] = TILE_FLAG_UNUSED, - [MB_WALK_NORTH] = TILE_FLAG_UNUSED, - [MB_WALK_SOUTH] = TILE_FLAG_UNUSED, - [MB_SLIDE_EAST] = TILE_FLAG_UNUSED, - [MB_SLIDE_WEST] = TILE_FLAG_UNUSED, - [MB_SLIDE_NORTH] = TILE_FLAG_UNUSED, - [MB_SLIDE_SOUTH] = TILE_FLAG_UNUSED, - [MB_TRICK_HOUSE_PUZZLE_8_FLOOR] = TILE_FLAG_UNUSED, - [MB_UNUSED_49] = TILE_FLAG_UNUSED, - [MB_UNUSED_4A] = TILE_FLAG_UNUSED, - [MB_EASTWARD_CURRENT] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, - [MB_WESTWARD_CURRENT] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, - [MB_NORTHWARD_CURRENT] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, - [MB_SOUTHWARD_CURRENT] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, - [MB_NON_ANIMATED_DOOR] = TILE_FLAG_UNUSED, - [MB_LADDER] = TILE_FLAG_UNUSED, - [MB_EAST_ARROW_WARP] = TILE_FLAG_UNUSED, - [MB_WEST_ARROW_WARP] = TILE_FLAG_UNUSED, - [MB_NORTH_ARROW_WARP] = TILE_FLAG_UNUSED, - [MB_SOUTH_ARROW_WARP] = TILE_FLAG_UNUSED, - [MB_CRACKED_FLOOR_HOLE] = TILE_FLAG_UNUSED, - [MB_AQUA_HIDEOUT_WARP] = TILE_FLAG_UNUSED, - [MB_LAVARIDGE_GYM_1F_WARP] = TILE_FLAG_UNUSED, - [MB_ANIMATED_DOOR] = TILE_FLAG_UNUSED, - [MB_UP_ESCALATOR] = TILE_FLAG_UNUSED, - [MB_DOWN_ESCALATOR] = TILE_FLAG_UNUSED, - [MB_WATER_DOOR] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, - [MB_WATER_SOUTH_ARROW_WARP] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, - [MB_DEEP_SOUTH_WARP] = TILE_FLAG_UNUSED, - [MB_UNUSED_6F] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, - [MB_BRIDGE_OVER_POND_LOW] = TILE_FLAG_UNUSED, - [MB_BRIDGE_OVER_POND_MED] = TILE_FLAG_UNUSED, - [MB_BRIDGE_OVER_POND_HIGH] = TILE_FLAG_UNUSED, - [MB_PACIFIDLOG_VERTICAL_LOG_TOP] = TILE_FLAG_UNUSED, - [MB_PACIFIDLOG_VERTICAL_LOG_BOTTOM] = TILE_FLAG_UNUSED, - [MB_PACIFIDLOG_HORIZONTAL_LOG_LEFT] = TILE_FLAG_UNUSED, - [MB_PACIFIDLOG_HORIZONTAL_LOG_RIGHT] = TILE_FLAG_UNUSED, - [MB_FORTREE_BRIDGE] = TILE_FLAG_UNUSED, - [MB_BRIDGE_OVER_POND_MED_EDGE_1] = TILE_FLAG_UNUSED, - [MB_BRIDGE_OVER_POND_MED_EDGE_2] = TILE_FLAG_UNUSED, - [MB_BRIDGE_OVER_POND_HIGH_EDGE_1] = TILE_FLAG_UNUSED, - [MB_BRIDGE_OVER_POND_HIGH_EDGE_2] = TILE_FLAG_UNUSED, - [MB_UNUSED_BRIDGE] = TILE_FLAG_UNUSED, - [MB_BIKE_BRIDGE_OVER_BARRIER] = TILE_FLAG_UNUSED, - [MB_SECRET_BASE_SCENERY] = TILE_FLAG_UNUSED, - [MB_SECRET_BASE_TRAINER_SPOT] = TILE_FLAG_UNUSED, - [MB_HOLDS_SMALL_DECORATION] = TILE_FLAG_UNUSED, - [MB_SECRET_BASE_BALLOON] = TILE_FLAG_UNUSED, - [MB_SECRET_BASE_IMPASSABLE] = TILE_FLAG_UNUSED, - [MB_SECRET_BASE_GLITTER_MAT] = TILE_FLAG_UNUSED, - [MB_SECRET_BASE_JUMP_MAT] = TILE_FLAG_UNUSED, - [MB_SECRET_BASE_SPIN_MAT] = TILE_FLAG_UNUSED, - [MB_SECRET_BASE_SOUND_MAT] = TILE_FLAG_UNUSED, - [MB_SECRET_BASE_BREAKABLE_DOOR] = TILE_FLAG_UNUSED, - [MB_IMPASSABLE_SOUTH_AND_NORTH] = TILE_FLAG_UNUSED, - [MB_IMPASSABLE_WEST_AND_EAST] = TILE_FLAG_UNUSED, - [MB_SECRET_BASE_HOLE] = TILE_FLAG_UNUSED, - [MB_HOLDS_LARGE_DECORATION] = TILE_FLAG_UNUSED, - [MB_SECRET_BASE_TV_SHIELD] = TILE_FLAG_UNUSED, - [MB_PLAYER_ROOM_PC_ON] = TILE_FLAG_UNUSED, - [MB_MUDDY_SLOPE] = TILE_FLAG_UNUSED, - [MB_BUMPY_SLOPE] = TILE_FLAG_UNUSED, - [MB_CRACKED_FLOOR] = TILE_FLAG_UNUSED, - [MB_ISOLATED_VERTICAL_RAIL] = TILE_FLAG_UNUSED, - [MB_ISOLATED_HORIZONTAL_RAIL] = TILE_FLAG_UNUSED, - [MB_VERTICAL_RAIL] = TILE_FLAG_UNUSED, - [MB_HORIZONTAL_RAIL] = TILE_FLAG_UNUSED, + [MB_NORMAL] = TILE_FLAG_UNUSED, + [MB_TALL_GRASS] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS, + [MB_LONG_GRASS] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS, + [MB_UNUSED_05] = TILE_FLAG_HAS_ENCOUNTERS, + [MB_DEEP_SAND] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS, + [MB_SHORT_GRASS] = TILE_FLAG_UNUSED, + [MB_CAVE] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS, + [MB_LONG_GRASS_SOUTH_EDGE] = TILE_FLAG_UNUSED, + [MB_NO_RUNNING] = TILE_FLAG_UNUSED, + [MB_INDOOR_ENCOUNTER] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS, + [MB_MOUNTAIN_TOP] = TILE_FLAG_UNUSED, + [MB_BATTLE_PYRAMID_WARP] = TILE_FLAG_UNUSED, + [MB_MOSSDEEP_GYM_WARP] = TILE_FLAG_UNUSED, + [MB_MT_PYRE_HOLE] = TILE_FLAG_UNUSED, + [MB_POND_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS, + [MB_INTERIOR_DEEP_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS, + [MB_DEEP_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS, + [MB_WATERFALL] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, + [MB_SOOTOPOLIS_DEEP_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, + [MB_OCEAN_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS, + [MB_PUDDLE] = TILE_FLAG_UNUSED, + [MB_SHALLOW_WATER] = TILE_FLAG_UNUSED, + [MB_NO_SURFACING] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, + [MB_STAIRS_OUTSIDE_ABANDONED_SHIP] = TILE_FLAG_UNUSED, + [MB_SHOAL_CAVE_ENTRANCE] = TILE_FLAG_UNUSED, + [MB_ICE] = TILE_FLAG_UNUSED, + [MB_SAND] = TILE_FLAG_UNUSED, + [MB_SEAWEED] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS, + [MB_UNUSED_23] = TILE_FLAG_UNUSED, + [MB_ASHGRASS] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS, + [MB_FOOTPRINTS] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS, + [MB_THIN_ICE] = TILE_FLAG_UNUSED, + [MB_CRACKED_ICE] = TILE_FLAG_UNUSED, + [MB_HOT_SPRINGS] = TILE_FLAG_UNUSED, + [MB_LAVARIDGE_GYM_B1F_WARP] = TILE_FLAG_UNUSED, + [MB_SEAWEED_NO_SURFACING] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS, + [MB_REFLECTION_UNDER_BRIDGE] = TILE_FLAG_UNUSED, + [MB_IMPASSABLE_EAST] = TILE_FLAG_UNUSED, + [MB_IMPASSABLE_WEST] = TILE_FLAG_UNUSED, + [MB_IMPASSABLE_NORTH] = TILE_FLAG_UNUSED, + [MB_IMPASSABLE_SOUTH] = TILE_FLAG_UNUSED, + [MB_IMPASSABLE_NORTHEAST] = TILE_FLAG_UNUSED, + [MB_IMPASSABLE_NORTHWEST] = TILE_FLAG_UNUSED, + [MB_IMPASSABLE_SOUTHEAST] = TILE_FLAG_UNUSED, + [MB_IMPASSABLE_SOUTHWEST] = TILE_FLAG_UNUSED, + [MB_JUMP_NORTHEAST] = TILE_FLAG_UNUSED, + [MB_JUMP_NORTHWEST] = TILE_FLAG_UNUSED, + [MB_JUMP_SOUTHEAST] = TILE_FLAG_UNUSED, + [MB_JUMP_SOUTHWEST] = TILE_FLAG_UNUSED, + [MB_WALK_EAST] = TILE_FLAG_UNUSED, + [MB_WALK_WEST] = TILE_FLAG_UNUSED, + [MB_WALK_NORTH] = TILE_FLAG_UNUSED, + [MB_WALK_SOUTH] = TILE_FLAG_UNUSED, + [MB_SLIDE_EAST] = TILE_FLAG_UNUSED, + [MB_SLIDE_WEST] = TILE_FLAG_UNUSED, + [MB_SLIDE_NORTH] = TILE_FLAG_UNUSED, + [MB_SLIDE_SOUTH] = TILE_FLAG_UNUSED, + [MB_TRICK_HOUSE_PUZZLE_8_FLOOR] = TILE_FLAG_UNUSED, + [MB_EASTWARD_CURRENT] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, + [MB_WESTWARD_CURRENT] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, + [MB_NORTHWARD_CURRENT] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, + [MB_SOUTHWARD_CURRENT] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, + [MB_NON_ANIMATED_DOOR] = TILE_FLAG_UNUSED, + [MB_LADDER] = TILE_FLAG_UNUSED, + [MB_EAST_ARROW_WARP] = TILE_FLAG_UNUSED, + [MB_WEST_ARROW_WARP] = TILE_FLAG_UNUSED, + [MB_NORTH_ARROW_WARP] = TILE_FLAG_UNUSED, + [MB_SOUTH_ARROW_WARP] = TILE_FLAG_UNUSED, + [MB_CRACKED_FLOOR_HOLE] = TILE_FLAG_UNUSED, + [MB_AQUA_HIDEOUT_WARP] = TILE_FLAG_UNUSED, + [MB_LAVARIDGE_GYM_1F_WARP] = TILE_FLAG_UNUSED, + [MB_ANIMATED_DOOR] = TILE_FLAG_UNUSED, + [MB_UP_ESCALATOR] = TILE_FLAG_UNUSED, + [MB_DOWN_ESCALATOR] = TILE_FLAG_UNUSED, + [MB_WATER_DOOR] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, + [MB_WATER_SOUTH_ARROW_WARP] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, + [MB_DEEP_SOUTH_WARP] = TILE_FLAG_UNUSED, + [MB_UNUSED_6F] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, + [MB_BRIDGE_OVER_POND_LOW] = TILE_FLAG_UNUSED, + [MB_BRIDGE_OVER_POND_MED] = TILE_FLAG_UNUSED, + [MB_BRIDGE_OVER_POND_HIGH] = TILE_FLAG_UNUSED, + [MB_PACIFIDLOG_VERTICAL_LOG_TOP] = TILE_FLAG_UNUSED, + [MB_PACIFIDLOG_VERTICAL_LOG_BOTTOM] = TILE_FLAG_UNUSED, + [MB_PACIFIDLOG_HORIZONTAL_LOG_LEFT] = TILE_FLAG_UNUSED, + [MB_PACIFIDLOG_HORIZONTAL_LOG_RIGHT] = TILE_FLAG_UNUSED, + [MB_FORTREE_BRIDGE] = TILE_FLAG_UNUSED, + [MB_BRIDGE_OVER_POND_MED_EDGE_1] = TILE_FLAG_UNUSED, + [MB_BRIDGE_OVER_POND_MED_EDGE_2] = TILE_FLAG_UNUSED, + [MB_BRIDGE_OVER_POND_HIGH_EDGE_1] = TILE_FLAG_UNUSED, + [MB_BRIDGE_OVER_POND_HIGH_EDGE_2] = TILE_FLAG_UNUSED, + [MB_UNUSED_BRIDGE] = TILE_FLAG_UNUSED, + [MB_BIKE_BRIDGE_OVER_BARRIER] = TILE_FLAG_UNUSED, + [MB_SECRET_BASE_SCENERY] = TILE_FLAG_UNUSED, + [MB_SECRET_BASE_TRAINER_SPOT] = TILE_FLAG_UNUSED, + [MB_HOLDS_SMALL_DECORATION] = TILE_FLAG_UNUSED, + [MB_SECRET_BASE_BALLOON] = TILE_FLAG_UNUSED, + [MB_SECRET_BASE_IMPASSABLE] = TILE_FLAG_UNUSED, + [MB_SECRET_BASE_GLITTER_MAT] = TILE_FLAG_UNUSED, + [MB_SECRET_BASE_JUMP_MAT] = TILE_FLAG_UNUSED, + [MB_SECRET_BASE_SPIN_MAT] = TILE_FLAG_UNUSED, + [MB_SECRET_BASE_SOUND_MAT] = TILE_FLAG_UNUSED, + [MB_SECRET_BASE_BREAKABLE_DOOR] = TILE_FLAG_UNUSED, + [MB_IMPASSABLE_SOUTH_AND_NORTH] = TILE_FLAG_UNUSED, + [MB_IMPASSABLE_WEST_AND_EAST] = TILE_FLAG_UNUSED, + [MB_SECRET_BASE_HOLE] = TILE_FLAG_UNUSED, + [MB_HOLDS_LARGE_DECORATION] = TILE_FLAG_UNUSED, + [MB_SECRET_BASE_TV_SHIELD] = TILE_FLAG_UNUSED, + [MB_PLAYER_ROOM_PC_ON] = TILE_FLAG_UNUSED, + [MB_MUDDY_SLOPE] = TILE_FLAG_UNUSED, + [MB_BUMPY_SLOPE] = TILE_FLAG_UNUSED, + [MB_CRACKED_FLOOR] = TILE_FLAG_UNUSED, + [MB_ISOLATED_VERTICAL_RAIL] = TILE_FLAG_UNUSED, + [MB_ISOLATED_HORIZONTAL_RAIL] = TILE_FLAG_UNUSED, + [MB_VERTICAL_RAIL] = TILE_FLAG_UNUSED, + [MB_HORIZONTAL_RAIL] = TILE_FLAG_UNUSED, + [MB_SIGNPOST] = TILE_FLAG_UNUSED, + [MB_POKEMON_CENTER_SIGN] = TILE_FLAG_UNUSED, + [MB_POKEMART_SIGN] = TILE_FLAG_UNUSED, + [MB_SIDEWAYS_STAIRS_RIGHT_SIDE] = TILE_FLAG_UNUSED, + [MB_SIDEWAYS_STAIRS_LEFT_SIDE] = TILE_FLAG_UNUSED, + [MB_SIDEWAYS_STAIRS_RIGHT_SIDE_TOP] = TILE_FLAG_UNUSED, + [MB_SIDEWAYS_STAIRS_LEFT_SIDE_TOP] = TILE_FLAG_UNUSED, + [MB_SIDEWAYS_STAIRS_RIGHT_SIDE_BOTTOM] = TILE_FLAG_UNUSED, + [MB_SIDEWAYS_STAIRS_LEFT_SIDE_BOTTOM] = TILE_FLAG_UNUSED, + [MB_ROCK_STAIRS] = TILE_FLAG_UNUSED, }; bool8 MetatileBehavior_IsATile(u8 metatileBehavior) @@ -1400,3 +1408,137 @@ bool8 MetatileBehavior_IsTrainerHillTimer(u8 metatileBehavior) else return FALSE; } + +bool8 MetatileBehavior_IsDirectionalUpRightStairWarp(u8 metatileBehavior) +{ + if (metatileBehavior == MB_UP_RIGHT_STAIR_WARP) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsDirectionalUpLeftStairWarp(u8 metatileBehavior) +{ + if (metatileBehavior == MB_UP_LEFT_STAIR_WARP) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsDirectionalDownRightStairWarp(u8 metatileBehavior) +{ + if (metatileBehavior == MB_DOWN_RIGHT_STAIR_WARP) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsDirectionalDownLeftStairWarp(u8 metatileBehavior) +{ + if (metatileBehavior == MB_DOWN_LEFT_STAIR_WARP) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsDirectionalStairWarp(u8 metatileBehavior) +{ + if (metatileBehavior == MB_UP_RIGHT_STAIR_WARP + || metatileBehavior == MB_UP_LEFT_STAIR_WARP + || metatileBehavior == MB_DOWN_RIGHT_STAIR_WARP + || metatileBehavior == MB_DOWN_LEFT_STAIR_WARP) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSignpost(u32 metatileBehavior) +{ + return (metatileBehavior == MB_SIGNPOST); +} + +bool8 MetatileBehavior_IsPokemonCenterSign(u32 metatileBehavior) +{ + return (metatileBehavior == MB_POKEMON_CENTER_SIGN); +} + +bool8 MetatileBehavior_IsPokeMartSign(u32 metatileBehavior) +{ + return (metatileBehavior == MB_POKEMART_SIGN); +} + +bool8 MetatileBehavior_IsSidewaysStairsRightSide(u8 metatileBehavior) +{ + if (metatileBehavior == MB_SIDEWAYS_STAIRS_RIGHT_SIDE || metatileBehavior == MB_SIDEWAYS_STAIRS_RIGHT_SIDE_BOTTOM) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSidewaysStairsLeftSide(u8 metatileBehavior) +{ + if (metatileBehavior == MB_SIDEWAYS_STAIRS_LEFT_SIDE || metatileBehavior == MB_SIDEWAYS_STAIRS_LEFT_SIDE_BOTTOM) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSidewaysStairsRightSideTop(u8 metatileBehavior) +{ + if (metatileBehavior == MB_SIDEWAYS_STAIRS_RIGHT_SIDE_TOP) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSidewaysStairsLeftSideTop(u8 metatileBehavior) +{ + if (metatileBehavior == MB_SIDEWAYS_STAIRS_LEFT_SIDE_TOP) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSidewaysStairsRightSideBottom(u8 metatileBehavior) +{ + if (metatileBehavior == MB_SIDEWAYS_STAIRS_RIGHT_SIDE_BOTTOM) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSidewaysStairsLeftSideBottom(u8 metatileBehavior) +{ + if (metatileBehavior == MB_SIDEWAYS_STAIRS_LEFT_SIDE_BOTTOM) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSidewaysStairsRightSideAny(u8 metatileBehavior) +{ + if (metatileBehavior == MB_SIDEWAYS_STAIRS_RIGHT_SIDE + || metatileBehavior == MB_SIDEWAYS_STAIRS_RIGHT_SIDE_BOTTOM + || metatileBehavior == MB_SIDEWAYS_STAIRS_RIGHT_SIDE_TOP) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSidewaysStairsLeftSideAny(u8 metatileBehavior) +{ + if (metatileBehavior == MB_SIDEWAYS_STAIRS_LEFT_SIDE + || metatileBehavior == MB_SIDEWAYS_STAIRS_LEFT_SIDE_BOTTOM + || metatileBehavior == MB_SIDEWAYS_STAIRS_LEFT_SIDE_TOP) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsRockStairs(u8 metatileBehavior) +{ + if (metatileBehavior == MB_ROCK_STAIRS) + return TRUE; + else + return FALSE; +} diff --git a/src/move_relearner.c b/src/move_relearner.c index 817dbd16e0dc..a4cc778a4555 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -17,6 +17,7 @@ #include "menu_specialized.h" #include "overworld.h" #include "palette.h" +#include "party_menu.h" #include "pokemon_summary_screen.h" #include "script.h" #include "sound.h" @@ -184,6 +185,8 @@ static EWRAM_DATA struct { bool8 showContestInfo; } sMoveRelearnerMenuSate = {0}; +EWRAM_DATA u8 gOriginSummaryScreenPage = 0; // indicates summary screen page that the move relearner was opened from (if opened from PSS) + static const u16 sUI_Pal[] = INCBIN_U16("graphics/interface/ui_learn_move.gbapal"); // The arrow sprites in this spritesheet aren't used. The scroll-arrow system provides its own @@ -354,7 +357,6 @@ static void CreateLearnableMovesList(void); static void CreateUISprites(void); static void CB2_MoveRelearnerMain(void); static void Task_WaitForFadeOut(u8 taskId); -static void CB2_InitLearnMove(void); static void CB2_InitLearnMoveReturnFromSelectMove(void); static void InitMoveRelearnerBackgroundLayers(void); static void AddScrollArrows(void); @@ -391,7 +393,7 @@ static void Task_WaitForFadeOut(u8 taskId) } } -static void CB2_InitLearnMove(void) +void CB2_InitLearnMove(void) { ResetSpriteData(); FreeAllSpritePalettes(); @@ -402,11 +404,11 @@ static void CB2_InitLearnMove(void) SetVBlankCallback(VBlankCB_MoveRelearner); InitMoveRelearnerBackgroundLayers(); - InitMoveRelearnerWindows(FALSE); + InitMoveRelearnerWindows(gOriginSummaryScreenPage == PSS_PAGE_CONTEST_MOVES); sMoveRelearnerMenuSate.listOffset = 0; sMoveRelearnerMenuSate.listRow = 0; - sMoveRelearnerMenuSate.showContestInfo = FALSE; + sMoveRelearnerMenuSate.showContestInfo = gOriginSummaryScreenPage == PSS_PAGE_CONTEST_MOVES; CreateLearnableMovesList(); @@ -482,12 +484,17 @@ static void DoMoveRelearnerMain(void) case MENU_STATE_FADE_TO_BLACK: sMoveRelearnerStruct->state++; HideHeartSpritesAndShowTeachMoveText(FALSE); + if (gOriginSummaryScreenPage == PSS_PAGE_CONTEST_MOVES) + MoveRelearnerShowHideHearts(GetCurrentSelectedMove()); BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); break; case MENU_STATE_WAIT_FOR_FADE: if (!gPaletteFade.active) { - sMoveRelearnerStruct->state = MENU_STATE_IDLE_BATTLE_MODE; + if (gOriginSummaryScreenPage == PSS_PAGE_CONTEST_MOVES) + sMoveRelearnerStruct->state = MENU_STATE_IDLE_CONTEST_MODE; + else + sMoveRelearnerStruct->state = MENU_STATE_IDLE_BATTLE_MODE; } break; case MENU_STATE_UNREACHABLE: @@ -681,8 +688,28 @@ static void DoMoveRelearnerMain(void) case MENU_STATE_RETURN_TO_FIELD: if (!gPaletteFade.active) { + if (gInitialSummaryScreenCallback != NULL) + { + switch (gOriginSummaryScreenPage) + { + case PSS_PAGE_BATTLE_MOVES: + ShowPokemonSummaryScreen(SUMMARY_MODE_RELEARNER_BATTLE, gPlayerParty, sMoveRelearnerStruct->partyMon, gPlayerPartyCount - 1, gInitialSummaryScreenCallback); + break; + case PSS_PAGE_CONTEST_MOVES: + ShowPokemonSummaryScreen(SUMMARY_MODE_RELEARNER_CONTEST, gPlayerParty, sMoveRelearnerStruct->partyMon, gPlayerPartyCount - 1, gInitialSummaryScreenCallback); + break; + default: + ShowPokemonSummaryScreen(SUMMARY_MODE_NORMAL, gPlayerParty, sMoveRelearnerStruct->partyMon, gPlayerPartyCount - 1, gInitialSummaryScreenCallback); + break; + } + gOriginSummaryScreenPage = 0; + } + else + { + SetMainCallback2(CB2_ReturnToField); + } + FreeMoveRelearnerResources(); - SetMainCallback2(CB2_ReturnToField); } break; case MENU_STATE_FADE_FROM_SUMMARY_SCREEN: @@ -709,10 +736,14 @@ static void DoMoveRelearnerMain(void) else { u16 moveId = GetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_MOVE1 + sMoveRelearnerStruct->moveSlot); - + u8 originalPP = GetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_PP1 + sMoveRelearnerStruct->moveSlot); + StringCopy(gStringVar3, GetMoveName(moveId)); RemoveMonPPBonus(&gPlayerParty[sMoveRelearnerStruct->partyMon], sMoveRelearnerStruct->moveSlot); SetMonMoveSlot(&gPlayerParty[sMoveRelearnerStruct->partyMon], GetCurrentSelectedMove(), sMoveRelearnerStruct->moveSlot); + u8 newPP = GetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_PP1 + sMoveRelearnerStruct->moveSlot); + if (!P_SUMMARY_MOVE_RELEARNER_FULL_PP && gOriginSummaryScreenPage != 0 && originalPP < newPP) + SetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_PP1 + sMoveRelearnerStruct->moveSlot, &originalPP); StringCopy(gStringVar2, GetMoveName(GetCurrentSelectedMove())); PrintMessageWithPlaceholders(gText_MoveRelearnerAndPoof); sMoveRelearnerStruct->state = MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE; diff --git a/src/new_game.c b/src/new_game.c index 783c6893c8d0..4bce5a5b96a2 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -51,6 +51,7 @@ extern const u8 EventScript_ResetAllMapFlags[]; static void ClearFrontierRecord(void); static void WarpToTruck(void); static void ResetMiniGamesRecords(void); +static void ResetItemFlags(void); EWRAM_DATA bool8 gDifferentSaveFile = FALSE; EWRAM_DATA bool8 gEnableContestDebugging = FALSE; @@ -204,6 +205,7 @@ void NewGameInitData(void) WipeTrainerNameRecords(); ResetTrainerHillResults(); ResetContestLinkResults(); + ResetItemFlags(); } static void ResetMiniGamesRecords(void) @@ -213,3 +215,10 @@ static void ResetMiniGamesRecords(void) ResetPokemonJumpRecords(); CpuFill16(0, &gSaveBlock2Ptr->berryPick, sizeof(struct BerryPickingResults)); } + +static void ResetItemFlags(void) +{ +#if OW_SHOW_ITEM_DESCRIPTIONS == OW_ITEM_DESCRIPTIONS_FIRST_TIME + memset(&gSaveBlock3Ptr->itemFlags, 0, sizeof(gSaveBlock3Ptr->itemFlags)); +#endif +} diff --git a/src/overworld.c b/src/overworld.c index f031a8fe4ee6..6bfb49fce90d 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -24,6 +24,8 @@ #include "gpu_regs.h" #include "heal_location.h" #include "io_reg.h" +#include "item.h" +#include "item_icon.h" #include "link.h" #include "link_rfu.h" #include "load_save.h" @@ -51,6 +53,7 @@ #include "secret_base.h" #include "sound.h" #include "start_menu.h" +#include "string_util.h" #include "task.h" #include "tileset_anims.h" #include "time_events.h" @@ -201,6 +204,7 @@ EWRAM_DATA static struct InitialPlayerAvatarState sInitialPlayerAvatarState = {0 EWRAM_DATA static u16 sAmbientCrySpecies = 0; EWRAM_DATA static bool8 sIsAmbientCryWaterMon = FALSE; EWRAM_DATA struct LinkPlayerObjectEvent gLinkPlayerObjectEvents[4] = {0}; +EWRAM_DATA bool8 gExitStairsMovementDisabled = FALSE; static const struct WarpData sDummyWarpData = { @@ -419,6 +423,7 @@ void Overworld_ResetBattleFlagsAndVars(void) FlagClear(B_SMART_WILD_AI_FLAG); FlagClear(B_FLAG_NO_BAG_USE); FlagClear(B_FLAG_NO_CATCHING); + FlagClear(B_FLAG_NO_RUNNING); FlagClear(B_FLAG_DYNAMAX_BATTLE); FlagClear(B_FLAG_SKY_BATTLE); } @@ -689,9 +694,19 @@ void SetWarpDestinationToHealLocation(u8 healLocationId) SetWarpDestination(healLocation->group, healLocation->map, WARP_ID_NONE, healLocation->x, healLocation->y); } +static bool32 IsFRLGWhiteout(void) +{ + if (!OW_FRLG_WHITEOUT) + return FALSE; + return GetHealNpcLocalId(GetHealLocationIndexByWarpData(&gSaveBlock1Ptr->lastHealLocation)) > 0; +} + void SetWarpDestinationToLastHealLocation(void) { - sWarpDestination = gSaveBlock1Ptr->lastHealLocation; + if (IsFRLGWhiteout()) + SetWhiteoutRespawnWarpAndHealerNPC(&sWarpDestination); + else + sWarpDestination = gSaveBlock1Ptr->lastHealLocation; } void SetLastHealLocationWarp(u8 healLocationId) @@ -990,6 +1005,10 @@ static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStr return DIR_EAST; else if (MetatileBehavior_IsEastArrowWarp(metatileBehavior) == TRUE) return DIR_WEST; + else if (MetatileBehavior_IsDirectionalUpRightStairWarp(metatileBehavior) == TRUE || MetatileBehavior_IsDirectionalDownRightStairWarp(metatileBehavior) == TRUE) + return DIR_WEST; + else if (MetatileBehavior_IsDirectionalUpLeftStairWarp(metatileBehavior) == TRUE || MetatileBehavior_IsDirectionalDownLeftStairWarp(metatileBehavior) == TRUE) + return DIR_EAST; else if ((playerStruct->transitionFlags == PLAYER_AVATAR_FLAG_UNDERWATER && transitionFlags == PLAYER_AVATAR_FLAG_SURFING) || (playerStruct->transitionFlags == PLAYER_AVATAR_FLAG_SURFING && transitionFlags == PLAYER_AVATAR_FLAG_UNDERWATER)) return playerStruct->direction; @@ -1490,6 +1509,7 @@ static void DoCB1_Overworld(u16 newKeys, u16 heldKeys) UpdatePlayerAvatarTransitionState(); FieldClearPlayerInput(&inputStruct); FieldGetPlayerInput(&inputStruct, newKeys, heldKeys); + CancelSignPostMessageBox(&inputStruct); if (!ArePlayerFieldControlsLocked()) { if (ProcessPlayerFieldInput(&inputStruct) == 1) @@ -1611,7 +1631,10 @@ void CB2_WhiteOut(void) ResetInitialPlayerAvatarState(); ScriptContext_Init(); UnlockPlayerFieldControls(); - gFieldCallback = FieldCB_WarpExitFadeFromBlack; + if (IsFRLGWhiteout()) + gFieldCallback = FieldCB_RushInjuredPokemonToCenter; + else + gFieldCallback = FieldCB_WarpExitFadeFromBlack; state = 0; DoMapLoadLoop(&state); SetFieldVBlankCallback(); @@ -1786,6 +1809,7 @@ void CB2_ContinueSavedGame(void) PlayTimeCounter_Start(); ScriptContext_Init(); UnlockPlayerFieldControls(); + gExitStairsMovementDisabled = TRUE; InitMatchCallCounters(); if (UseContinueGameWarp() == TRUE) { @@ -1871,6 +1895,7 @@ static bool32 LoadMapInStepsLink(u8 *state) (*state)++; break; case 1: + gExitStairsMovementDisabled = FALSE; LoadMapFromWarp(TRUE); (*state)++; break; @@ -3277,3 +3302,207 @@ static void SpriteCB_LinkPlayer(struct Sprite *sprite) sprite->data[7]++; } } + +// ---------------- +// Item Header Descriptions +// Item Description Header + +#define ITEM_ICON_X 26 +#define ITEM_ICON_Y 24 +#define ITEM_TAG 0x2722 //same as money label + +bool8 GetSetItemObtained(u16 item, enum ItemObtainFlags caseId) +{ +#if OW_SHOW_ITEM_DESCRIPTIONS == OW_ITEM_DESCRIPTIONS_FIRST_TIME + u8 index = item / 8; + u8 bit = item % 8; + u8 mask = 1 << bit; + switch (caseId) + { + case FLAG_GET_ITEM_OBTAINED: + return gSaveBlock3Ptr->itemFlags[index] & mask; + case FLAG_SET_ITEM_OBTAINED: + gSaveBlock3Ptr->itemFlags[index] |= mask; + return TRUE; + } +#endif + return FALSE; +} + +#if OW_SHOW_ITEM_DESCRIPTIONS != OW_ITEM_DESCRIPTIONS_OFF + +EWRAM_DATA static u8 sHeaderBoxWindowId = 0; +EWRAM_DATA u8 sItemIconSpriteId = 0; +EWRAM_DATA u8 sItemIconSpriteId2 = 0; + +static void ShowItemIconSprite(u16 item, bool8 firstTime, bool8 flash); +static void DestroyItemIconSprite(void); + +static u8 ReformatItemDescription(u16 item, u8 *dest) +{ + u8 count = 0; + u8 numLines = 1; + u8 maxChars = 32; + u8 *desc = (u8 *)gItemsInfo[item].description; + + while (*desc != EOS) + { + if (count >= maxChars) + { + while (*desc != CHAR_SPACE && *desc != CHAR_NEWLINE) + { + *dest = *desc; //finish word + dest++; + desc++; + } + + *dest = CHAR_NEWLINE; + count = 0; + numLines++; + dest++; + desc++; + continue; + } + + *dest = *desc; + if (*desc == CHAR_NEWLINE) + { + *dest = CHAR_SPACE; + } + + dest++; + desc++; + count++; + } + + // finish string + *dest = EOS; + return numLines; +} + +void ScriptShowItemDescription(struct ScriptContext *ctx) +{ + u8 headerType = ScriptReadByte(ctx); + struct WindowTemplate template; + u16 item = gSpecialVar_0x8006; + u8 textY; + u8 *dst; + bool8 handleFlash = FALSE; + + if (GetFlashLevel() > 0 || InBattlePyramid_()) + handleFlash = TRUE; + + if (headerType == 1) // berry + dst = gStringVar3; + else + dst = gStringVar1; + + if (GetSetItemObtained(item, FLAG_GET_ITEM_OBTAINED)) + { + ShowItemIconSprite(item, FALSE, handleFlash); + return; //no box if item obtained previously + } + + SetWindowTemplateFields(&template, 0, 1, 1, 28, 3, 15, 8); + sHeaderBoxWindowId = AddWindow(&template); + FillWindowPixelBuffer(sHeaderBoxWindowId, PIXEL_FILL(0)); + PutWindowTilemap(sHeaderBoxWindowId); + CopyWindowToVram(sHeaderBoxWindowId, 3); + SetStandardWindowBorderStyle(sHeaderBoxWindowId, FALSE); + DrawStdFrameWithCustomTileAndPalette(sHeaderBoxWindowId, FALSE, 0x214, 14); + + if (ReformatItemDescription(item, dst) == 1) + textY = 4; + else + textY = 0; + + ShowItemIconSprite(item, TRUE, handleFlash); + AddTextPrinterParameterized(sHeaderBoxWindowId, 0, dst, ITEM_ICON_X + 2, textY, 0, NULL); +} + +void ScriptHideItemDescription(struct ScriptContext *ctx) +{ + DestroyItemIconSprite(); + + if (!GetSetItemObtained(gSpecialVar_0x8006, FLAG_GET_ITEM_OBTAINED)) + { + //header box only exists if haven't seen item before + GetSetItemObtained(gSpecialVar_0x8006, FLAG_SET_ITEM_OBTAINED); + ClearStdWindowAndFrameToTransparent(sHeaderBoxWindowId, FALSE); + CopyWindowToVram(sHeaderBoxWindowId, 3); + RemoveWindow(sHeaderBoxWindowId); + } +} + +static void ShowItemIconSprite(u16 item, bool8 firstTime, bool8 flash) +{ + s16 x = 0, y = 0; + u8 iconSpriteId; + u8 spriteId2 = MAX_SPRITES; + + if (flash) + { + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON); + SetGpuRegBits(REG_OFFSET_WINOUT, WINOUT_WINOBJ_OBJ); + } + + iconSpriteId = AddItemIconSprite(ITEM_TAG, ITEM_TAG, item); + if (flash) + spriteId2 = AddItemIconSprite(ITEM_TAG, ITEM_TAG, item); + if (iconSpriteId != MAX_SPRITES) + { + if (!firstTime) + { + //show in message box + x = 213; + y = 140; + } + else + { + // show in header box + x = ITEM_ICON_X; + y = ITEM_ICON_Y; + } + + gSprites[iconSpriteId].x2 = x; + gSprites[iconSpriteId].y2 = y; + gSprites[iconSpriteId].oam.priority = 0; + } + + if (spriteId2 != MAX_SPRITES) + { + gSprites[spriteId2].x2 = x; + gSprites[spriteId2].y2 = y; + gSprites[spriteId2].oam.priority = 0; + gSprites[spriteId2].oam.objMode = ST_OAM_OBJ_WINDOW; + sItemIconSpriteId2 = spriteId2; + } + + sItemIconSpriteId = iconSpriteId; +} + +static void DestroyItemIconSprite(void) +{ + FreeSpriteTilesByTag(ITEM_TAG); + FreeSpritePaletteByTag(ITEM_TAG); + FreeSpriteOamMatrix(&gSprites[sItemIconSpriteId]); + DestroySprite(&gSprites[sItemIconSpriteId]); + + if ((GetFlashLevel() > 0 || InBattlePyramid_()) && sItemIconSpriteId2 != MAX_SPRITES) + { + FreeSpriteOamMatrix(&gSprites[sItemIconSpriteId2]); + DestroySprite(&gSprites[sItemIconSpriteId2]); + } +} + +#else +void ScriptShowItemDescription(struct ScriptContext *ctx) +{ + (void) ScriptReadByte(ctx); +} +void ScriptHideItemDescription(struct ScriptContext *ctx) +{ +} +#endif // OW_SHOW_ITEM_DESCRIPTIONS + + diff --git a/src/palette.c b/src/palette.c index fccff062a848..2526479ca8df 100644 --- a/src/palette.c +++ b/src/palette.c @@ -13,62 +13,20 @@ enum HARDWARE_FADE, }; -// These are structs for some unused palette system. -// The full functionality of this system is unknown. - -#define NUM_PALETTE_STRUCTS 16 - -struct PaletteStructTemplate -{ - u16 id; - u16 *src; - bool16 pst_field_8_0:1; - u16 unused:9; - u16 size:5; - u8 time1; - u8 srcCount:5; - u8 state:3; - u8 time2; -}; - -struct PaletteStruct -{ - const struct PaletteStructTemplate *template; - bool32 active:1; - bool32 flag:1; - u32 baseDestOffset:9; - u32 destOffset:10; - u32 srcIndex:7; - u8 countdown1; - u8 countdown2; -}; - -static void PaletteStruct_Copy(struct PaletteStruct *, u32 *); -static void PaletteStruct_Blend(struct PaletteStruct *, u32 *); -static void PaletteStruct_TryEnd(struct PaletteStruct *); -static void PaletteStruct_Reset(u8); -static u8 PaletteStruct_GetPalNum(u16); -static u8 UpdateNormalPaletteFade(void); -static void BeginFastPaletteFadeInternal(u8); -static u8 UpdateFastPaletteFade(void); -static u8 UpdateHardwarePaletteFade(void); +static u32 UpdateNormalPaletteFade(void); +static void BeginFastPaletteFadeInternal(u32); +static u32 UpdateFastPaletteFade(void); +static u32 UpdateHardwarePaletteFade(void); static void UpdateBlendRegisters(void); -static bool8 IsSoftwarePaletteFadeFinishing(void); +static bool32 IsSoftwarePaletteFadeFinishing(void); static void Task_BlendPalettesGradually(u8 taskId); // palette buffers require alignment with agbcc because // unaligned word reads are issued in BlendPalette otherwise ALIGNED(4) EWRAM_DATA u16 gPlttBufferUnfaded[PLTT_BUFFER_SIZE] = {0}; ALIGNED(4) EWRAM_DATA u16 gPlttBufferFaded[PLTT_BUFFER_SIZE] = {0}; -static EWRAM_DATA struct PaletteStruct sPaletteStructs[NUM_PALETTE_STRUCTS] = {0}; EWRAM_DATA struct PaletteFadeControl gPaletteFade = {0}; static EWRAM_DATA u32 sPlttBufferTransferPending = 0; -EWRAM_DATA u8 ALIGNED(2) gPaletteDecompressionBuffer[PLTT_SIZE] = {0}; - -static const struct PaletteStructTemplate sDummyPaletteStructTemplate = { - .id = 0xFFFF, - .state = 1 -}; static const u8 sRoundedDownGrayscaleMap[] = { 0, 0, 0, 0, 0, @@ -80,20 +38,20 @@ static const u8 sRoundedDownGrayscaleMap[] = { 31, 31 }; -void LoadCompressedPalette(const u32 *src, u16 offset, u16 size) +void LoadCompressedPalette(const u32 *src, u32 offset, u32 size) { - LZDecompressWram(src, gPaletteDecompressionBuffer); - CpuCopy16(gPaletteDecompressionBuffer, &gPlttBufferUnfaded[offset], size); - CpuCopy16(gPaletteDecompressionBuffer, &gPlttBufferFaded[offset], size); + LZDecompressWram(src, gDecompressionBuffer); + CpuCopy16(gDecompressionBuffer, &gPlttBufferUnfaded[offset], size); + CpuCopy16(gDecompressionBuffer, &gPlttBufferFaded[offset], size); } -void LoadPalette(const void *src, u16 offset, u16 size) +void LoadPalette(const void *src, u32 offset, u32 size) { CpuCopy16(src, &gPlttBufferUnfaded[offset], size); CpuCopy16(src, &gPlttBufferFaded[offset], size); } -void FillPalette(u16 value, u16 offset, u16 size) +void FillPalette(u32 value, u32 offset, u32 size) { CpuFill16(value, &gPlttBufferUnfaded[offset], size); CpuFill16(value, &gPlttBufferFaded[offset], size); @@ -112,10 +70,9 @@ void TransferPlttBuffer(void) } } -u8 UpdatePaletteFade(void) +u32 UpdatePaletteFade(void) { - u8 result; - u8 dummy = 0; + u32 result; if (sPlttBufferTransferPending) return PALETTE_FADE_STATUS_LOADING; @@ -127,37 +84,19 @@ u8 UpdatePaletteFade(void) else result = UpdateHardwarePaletteFade(); - sPlttBufferTransferPending = gPaletteFade.multipurpose1 | dummy; + sPlttBufferTransferPending = gPaletteFade.multipurpose1; return result; } void ResetPaletteFade(void) { - u8 i; - - for (i = 0; i < NUM_PALETTE_STRUCTS; i++) - PaletteStruct_Reset(i); - ResetPaletteFadeControl(); } -static void ReadPlttIntoBuffers(void) -{ - u16 i; - u16 *pltt = (u16 *)PLTT; - - for (i = 0; i < PLTT_BUFFER_SIZE; i++) - { - gPlttBufferUnfaded[i] = pltt[i]; - gPlttBufferFaded[i] = pltt[i]; - } -} - -bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targetY, u16 blendColor) +bool32 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targetY, u32 blendColor) { u8 temp; - u16 color = blendColor; if (gPaletteFade.active) { @@ -178,7 +117,7 @@ bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targe gPaletteFade_delay = delay; gPaletteFade.y = startY; gPaletteFade.targetY = targetY; - gPaletteFade.blendColor = color; + gPaletteFade.blendColor = blendColor; gPaletteFade.active = TRUE; gPaletteFade.mode = NORMAL_FADE; @@ -200,165 +139,6 @@ bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targe } } -static bool8 UNUSED BeginPlttFade(u32 selectedPalettes, u8 delay, u8 startY, u8 targetY, u16 blendColor) -{ - ReadPlttIntoBuffers(); - return BeginNormalPaletteFade(selectedPalettes, delay, startY, targetY, blendColor); -} - -static void UNUSED PaletteStruct_Run(u8 a1, u32 *unkFlags) -{ - u8 i; - - for (i = 0; i < NUM_PALETTE_STRUCTS; i++) - { - struct PaletteStruct *palstruct = &sPaletteStructs[i]; - if (palstruct->active) - { - if (palstruct->template->pst_field_8_0 == a1) - { - if (palstruct->srcIndex == palstruct->template->srcCount) - { - PaletteStruct_TryEnd(palstruct); - if (!palstruct->active) - continue; - } - if (palstruct->countdown1 == 0) - PaletteStruct_Copy(palstruct, unkFlags); - else - palstruct->countdown1--; - - PaletteStruct_Blend(palstruct, unkFlags); - } - } - } -} - -static void PaletteStruct_Copy(struct PaletteStruct *palStruct, u32 *unkFlags) -{ - s32 srcIndex; - s32 srcCount; - u8 i = 0; - u16 srcOffset = palStruct->srcIndex * palStruct->template->size; - - if (!palStruct->template->pst_field_8_0) - { - while (i < palStruct->template->size) - { - gPlttBufferUnfaded[palStruct->destOffset] = palStruct->template->src[srcOffset]; - gPlttBufferFaded[palStruct->destOffset] = palStruct->template->src[srcOffset]; - i++; - palStruct->destOffset++; - srcOffset++; - } - } - else - { - while (i < palStruct->template->size) - { - gPlttBufferFaded[palStruct->destOffset] = palStruct->template->src[srcOffset]; - i++; - palStruct->destOffset++; - srcOffset++; - } - } - - palStruct->destOffset = palStruct->baseDestOffset; - palStruct->countdown1 = palStruct->template->time1; - palStruct->srcIndex++; - - srcIndex = palStruct->srcIndex; - srcCount = palStruct->template->srcCount; - - if (srcIndex >= srcCount) - { - if (palStruct->countdown2) - palStruct->countdown2--; - palStruct->srcIndex = 0; - } - - *unkFlags |= 1 << (palStruct->baseDestOffset >> 4); -} - -static void PaletteStruct_Blend(struct PaletteStruct *palStruct, u32 *unkFlags) -{ - if (gPaletteFade.active && ((1 << (palStruct->baseDestOffset >> 4)) & gPaletteFade_selectedPalettes)) - { - if (!palStruct->template->pst_field_8_0) - { - if (gPaletteFade.delayCounter != gPaletteFade_delay) - { - BlendPalette( - palStruct->baseDestOffset, - palStruct->template->size, - gPaletteFade.y, - gPaletteFade.blendColor); - } - } - else - { - if (!gPaletteFade.delayCounter) - { - if (palStruct->countdown1 != palStruct->template->time1) - { - u32 srcOffset = palStruct->srcIndex * palStruct->template->size; - u8 i; - - for (i = 0; i < palStruct->template->size; i++) - gPlttBufferFaded[palStruct->baseDestOffset + i] = palStruct->template->src[srcOffset + i]; - } - } - } - } -} - -static void PaletteStruct_TryEnd(struct PaletteStruct *pal) -{ - if (pal->countdown2 == 0) - { - s32 state = pal->template->state; - - if (state == 0) - { - pal->srcIndex = 0; - pal->countdown1 = pal->template->time1; - pal->countdown2 = pal->template->time2; - pal->destOffset = pal->baseDestOffset; - } - else - { - if (state < 0) - return; - if (state > 2) - return; - PaletteStruct_ResetById(pal->template->id); - } - } - else - { - pal->countdown2--; - } -} - -void PaletteStruct_ResetById(u16 id) -{ - u8 paletteNum = PaletteStruct_GetPalNum(id); - if (paletteNum != NUM_PALETTE_STRUCTS) - PaletteStruct_Reset(paletteNum); -} - -static void PaletteStruct_Reset(u8 paletteNum) -{ - sPaletteStructs[paletteNum].template = &sDummyPaletteStructTemplate; - sPaletteStructs[paletteNum].active = FALSE; - sPaletteStructs[paletteNum].baseDestOffset = 0; - sPaletteStructs[paletteNum].destOffset = 0; - sPaletteStructs[paletteNum].srcIndex = 0; - sPaletteStructs[paletteNum].flag = 0; - sPaletteStructs[paletteNum].countdown1 = 0; - sPaletteStructs[paletteNum].countdown2 = 0; -} - void ResetPaletteFadeControl(void) { gPaletteFade.multipurpose1 = 0; @@ -379,32 +159,7 @@ void ResetPaletteFadeControl(void) gPaletteFade.deltaY = 2; } -static void UNUSED PaletteStruct_SetUnusedFlag(u16 id) -{ - u8 paletteNum = PaletteStruct_GetPalNum(id); - if (paletteNum != NUM_PALETTE_STRUCTS) - sPaletteStructs[paletteNum].flag = TRUE; -} - -static void UNUSED PaletteStruct_ClearUnusedFlag(u16 id) -{ - u8 paletteNum = PaletteStruct_GetPalNum(id); - if (paletteNum != NUM_PALETTE_STRUCTS) - sPaletteStructs[paletteNum].flag = FALSE; -} - -static u8 PaletteStruct_GetPalNum(u16 id) -{ - u8 i; - - for (i = 0; i < NUM_PALETTE_STRUCTS; i++) - if (sPaletteStructs[i].template->id == id) - return i; - - return NUM_PALETTE_STRUCTS; -} - -static u8 UpdateNormalPaletteFade(void) +static u32 UpdateNormalPaletteFade(void) { u16 paletteOffset; u16 selectedPalettes; @@ -498,7 +253,7 @@ void InvertPlttBuffer(u32 selectedPalettes) { if (selectedPalettes & 1) { - u8 i; + u32 i; for (i = 0; i < 16; i++) gPlttBufferFaded[paletteOffset + i] = ~gPlttBufferFaded[paletteOffset + i]; } @@ -515,7 +270,7 @@ void TintPlttBuffer(u32 selectedPalettes, s8 r, s8 g, s8 b) { if (selectedPalettes & 1) { - u8 i; + u32 i; for (i = 0; i < 16; i++) { struct PlttData *data = (struct PlttData *)&gPlttBufferFaded[paletteOffset + i]; @@ -546,13 +301,13 @@ void UnfadePlttBuffer(u32 selectedPalettes) } } -void BeginFastPaletteFade(u8 submode) +void BeginFastPaletteFade(u32 submode) { gPaletteFade.deltaY = 2; BeginFastPaletteFadeInternal(submode); } -static void BeginFastPaletteFadeInternal(u8 submode) +static void BeginFastPaletteFadeInternal(u32 submode) { gPaletteFade.y = 31; gPaletteFade_submode = submode & 0x3F; @@ -568,9 +323,9 @@ static void BeginFastPaletteFadeInternal(u8 submode) UpdatePaletteFade(); } -static u8 UpdateFastPaletteFade(void) +static u32 UpdateFastPaletteFade(void) { - u16 i; + u32 i; u16 paletteOffsetStart; u16 paletteOffsetEnd; s8 r0; @@ -726,7 +481,7 @@ static u8 UpdateFastPaletteFade(void) return gPaletteFade.active ? PALETTE_FADE_STATUS_ACTIVE : PALETTE_FADE_STATUS_DONE; } -void BeginHardwarePaletteFade(u8 blendCnt, u8 delay, u8 y, u8 targetY, u8 shouldResetBlendRegisters) +void BeginHardwarePaletteFade(u32 blendCnt, u32 delay, u32 y, u32 targetY, u32 shouldResetBlendRegisters) { gPaletteFade_blendCnt = blendCnt; gPaletteFade.delayCounter = delay; @@ -744,7 +499,7 @@ void BeginHardwarePaletteFade(u8 blendCnt, u8 delay, u8 y, u8 targetY, u8 should gPaletteFade.yDec = 1; } -static u8 UpdateHardwarePaletteFade(void) +static u32 UpdateHardwarePaletteFade(void) { if (!gPaletteFade.active) return PALETTE_FADE_STATUS_DONE; @@ -805,7 +560,7 @@ static void UpdateBlendRegisters(void) } } -static bool8 IsSoftwarePaletteFadeFinishing(void) +static bool32 IsSoftwarePaletteFadeFinishing(void) { if (gPaletteFade.softwareFadeFinishing) { @@ -828,7 +583,7 @@ static bool8 IsSoftwarePaletteFadeFinishing(void) } } -void BlendPalettes(u32 selectedPalettes, u8 coeff, u16 color) +void BlendPalettes(u32 selectedPalettes, u8 coeff, u32 color) { u16 paletteOffset; @@ -840,7 +595,7 @@ void BlendPalettes(u32 selectedPalettes, u8 coeff, u16 color) } } -void BlendPalettesUnfaded(u32 selectedPalettes, u8 coeff, u16 color) +void BlendPalettesUnfaded(u32 selectedPalettes, u8 coeff, u32 color) { void *src = gPlttBufferUnfaded; void *dest = gPlttBufferFaded; @@ -848,10 +603,10 @@ void BlendPalettesUnfaded(u32 selectedPalettes, u8 coeff, u16 color) BlendPalettes(selectedPalettes, coeff, color); } -void TintPalette_GrayScale(u16 *palette, u16 count) +void TintPalette_GrayScale(u16 *palette, u32 count) { - s32 r, g, b, i; - u32 gray; + s32 r, g, b; + u32 i, gray; for (i = 0; i < count; i++) { @@ -865,10 +620,10 @@ void TintPalette_GrayScale(u16 *palette, u16 count) } } -void TintPalette_GrayScale2(u16 *palette, u16 count) +void TintPalette_GrayScale2(u16 *palette, u32 count) { - s32 r, g, b, i; - u32 gray; + s32 r, g, b; + u32 i, gray; for (i = 0; i < count; i++) { @@ -887,10 +642,10 @@ void TintPalette_GrayScale2(u16 *palette, u16 count) } } -void TintPalette_SepiaTone(u16 *palette, u16 count) +void TintPalette_SepiaTone(u16 *palette, u32 count) { - s32 r, g, b, i; - u32 gray; + s32 r, g, b; + u32 i, gray; for (i = 0; i < count; i++) { @@ -911,10 +666,10 @@ void TintPalette_SepiaTone(u16 *palette, u16 count) } } -void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 bTone) +void TintPalette_CustomTone(u16 *palette, u32 count, u16 rTone, u16 gTone, u16 bTone) { - s32 r, g, b, i; - u32 gray; + s32 r, g, b; + u32 i, gray; for (i = 0; i < count; i++) { diff --git a/src/party_menu.c b/src/party_menu.c index 703834cc0bce..285ad5e8396f 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -32,7 +32,7 @@ #include "item.h" #include "item_menu.h" #include "item_use.h" -#include "level_caps.h" +#include "caps.h" #include "link.h" #include "link_rfu.h" #include "mail.h" @@ -1353,7 +1353,7 @@ static void DrawCancelConfirmButtons(void) bool8 IsMultiBattle(void) { - if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gMain.inBattle) + if (gBattleTypeFlags & BATTLE_TYPE_MULTI && IsDoubleBattle() && gMain.inBattle) return TRUE; else return FALSE; @@ -4578,7 +4578,7 @@ static bool8 NotUsingHPEVItemOnShedinja(struct Pokemon *mon, u16 item) return TRUE; } -bool32 IsItemFlute(u16 item) +static bool32 IsItemFlute(u16 item) { if (item == ITEM_BLUE_FLUTE || item == ITEM_RED_FLUTE || item == ITEM_YELLOW_FLUTE) return TRUE; @@ -6413,13 +6413,13 @@ static void Task_TryItemUseFormChange(u8 taskId) case 6: if (!IsPartyMenuTextPrinterActive()) { - if (gSpecialVar_ItemId == ITEM_ROTOM_CATALOG) //only for rotom currently + if (gSpecialVar_ItemId == ITEM_ROTOM_CATALOG) //only for Rotom currently { u32 i; for (i = 0; i < ARRAY_COUNT(sRotomFormChangeMoves); i++) DeleteMove(mon, sRotomFormChangeMoves[i]); - if (gSpecialVar_0x8000 == MOVE_THUNDER_SHOCK) + if (I_ROTOM_CATALOG_THUNDER_SHOCK < GEN_9 && gSpecialVar_0x8000 == ROTOM_BASE_MOVE) { if (!DoesMonHaveAnyMoves(mon)) FormChangeTeachMove(taskId, gSpecialVar_0x8000, gPartyMenu.slotId); @@ -6517,42 +6517,42 @@ bool32 TryMultichoiceFormChange(u8 taskId) static void CursorCb_CatalogBulb(u8 taskId) { gSpecialVar_Result = 0; - gSpecialVar_0x8000 = MOVE_THUNDER_SHOCK; + gSpecialVar_0x8000 = ROTOM_BASE_MOVE; TryMultichoiceFormChange(taskId); } static void CursorCb_CatalogOven(u8 taskId) { gSpecialVar_Result = 1; - gSpecialVar_0x8000 = MOVE_OVERHEAT; + gSpecialVar_0x8000 = ROTOM_HEAT_MOVE; TryMultichoiceFormChange(taskId); } static void CursorCb_CatalogWashing(u8 taskId) { gSpecialVar_Result = 2; - gSpecialVar_0x8000 = MOVE_HYDRO_PUMP; + gSpecialVar_0x8000 = ROTOM_WASH_MOVE; TryMultichoiceFormChange(taskId); } static void CursorCb_CatalogFridge(u8 taskId) { gSpecialVar_Result = 3; - gSpecialVar_0x8000 = MOVE_BLIZZARD; + gSpecialVar_0x8000 = ROTOM_FROST_MOVE; TryMultichoiceFormChange(taskId); } static void CursorCb_CatalogFan(u8 taskId) { gSpecialVar_Result = 4; - gSpecialVar_0x8000 = MOVE_AIR_SLASH; + gSpecialVar_0x8000 = ROTOM_FAN_MOVE; TryMultichoiceFormChange(taskId); } static void CursorCb_CatalogMower(u8 taskId) { gSpecialVar_Result = 5; - gSpecialVar_0x8000 = MOVE_LEAF_STORM; + gSpecialVar_0x8000 = ROTOM_MOW_MOVE; TryMultichoiceFormChange(taskId); } diff --git a/src/pokeball.c b/src/pokeball.c index 914455af5a83..2b168cd7e3a5 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -13,6 +13,7 @@ #include "trig.h" #include "util.h" #include "data.h" +#include "item.h" #include "constants/songs.h" static void Task_DoPokeballSendOutAnim(u8 taskId); @@ -47,36 +48,38 @@ static u16 GetBattlerPokeballItemId(u8 battlerId); // rom const data -#define GFX_TAG_POKE_BALL 55000 -#define GFX_TAG_GREAT_BALL 55001 -#define GFX_TAG_ULTRA_BALL 55002 -#define GFX_TAG_MASTER_BALL 55003 -#define GFX_TAG_PREMIER_BALL 55004 -#define GFX_TAG_HEAL_BALL 55005 -#define GFX_TAG_NET_BALL 55006 -#define GFX_TAG_NEST_BALL 55007 -#define GFX_TAG_DIVE_BALL 55008 -#define GFX_TAG_DUSK_BALL 55009 -#define GFX_TAG_TIMER_BALL 55010 -#define GFX_TAG_QUICK_BALL 55011 -#define GFX_TAG_REPEAT_BALL 55012 -#define GFX_TAG_LUXURY_BALL 55013 -#define GFX_TAG_LEVEL_BALL 55014 -#define GFX_TAG_LURE_BALL 55015 -#define GFX_TAG_MOON_BALL 55016 -#define GFX_TAG_FRIEND_BALL 55017 -#define GFX_TAG_LOVE_BALL 55018 -#define GFX_TAG_FAST_BALL 55019 -#define GFX_TAG_HEAVY_BALL 55020 -#define GFX_TAG_DREAM_BALL 55021 -#define GFX_TAG_SAFARI_BALL 55022 -#define GFX_TAG_SPORT_BALL 55023 -#define GFX_TAG_PARK_BALL 55024 -#define GFX_TAG_BEAST_BALL 55025 -#define GFX_TAG_CHERISH_BALL 55026 +#define GFX_TAG_STRANGE_BALL 55000 +#define GFX_TAG_POKE_BALL 55001 +#define GFX_TAG_GREAT_BALL 55002 +#define GFX_TAG_ULTRA_BALL 55003 +#define GFX_TAG_MASTER_BALL 55004 +#define GFX_TAG_PREMIER_BALL 55005 +#define GFX_TAG_HEAL_BALL 55006 +#define GFX_TAG_NET_BALL 55007 +#define GFX_TAG_NEST_BALL 55008 +#define GFX_TAG_DIVE_BALL 55009 +#define GFX_TAG_DUSK_BALL 55010 +#define GFX_TAG_TIMER_BALL 55011 +#define GFX_TAG_QUICK_BALL 55012 +#define GFX_TAG_REPEAT_BALL 55013 +#define GFX_TAG_LUXURY_BALL 55014 +#define GFX_TAG_LEVEL_BALL 55015 +#define GFX_TAG_LURE_BALL 55016 +#define GFX_TAG_MOON_BALL 55017 +#define GFX_TAG_FRIEND_BALL 55018 +#define GFX_TAG_LOVE_BALL 55019 +#define GFX_TAG_FAST_BALL 55020 +#define GFX_TAG_HEAVY_BALL 55021 +#define GFX_TAG_DREAM_BALL 55022 +#define GFX_TAG_SAFARI_BALL 55023 +#define GFX_TAG_SPORT_BALL 55024 +#define GFX_TAG_PARK_BALL 55025 +#define GFX_TAG_BEAST_BALL 55026 +#define GFX_TAG_CHERISH_BALL 55027 const struct CompressedSpriteSheet gBallSpriteSheets[POKEBALL_COUNT] = { + [BALL_STRANGE] = {gBallGfx_Strange, 384, GFX_TAG_STRANGE_BALL}, [BALL_POKE] = {gBallGfx_Poke, 384, GFX_TAG_POKE_BALL}, [BALL_GREAT] = {gBallGfx_Great, 384, GFX_TAG_GREAT_BALL}, [BALL_ULTRA] = {gBallGfx_Ultra, 384, GFX_TAG_ULTRA_BALL}, @@ -108,6 +111,7 @@ const struct CompressedSpriteSheet gBallSpriteSheets[POKEBALL_COUNT] = const struct CompressedSpritePalette gBallSpritePalettes[POKEBALL_COUNT] = { + [BALL_STRANGE] = {gBallPal_Strange, GFX_TAG_STRANGE_BALL}, [BALL_POKE] = {gBallPal_Poke, GFX_TAG_POKE_BALL}, [BALL_GREAT] = {gBallPal_Great, GFX_TAG_GREAT_BALL}, [BALL_ULTRA] = {gBallPal_Ultra, GFX_TAG_ULTRA_BALL}, @@ -252,6 +256,16 @@ static const union AffineAnimCmd *const sAffineAnim_BallRotate[] = const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = { + [BALL_STRANGE] = + { + .tileTag = GFX_TAG_STRANGE_BALL, + .paletteTag = GFX_TAG_STRANGE_BALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sAffineAnim_BallRotate, + .callback = SpriteCB_BallThrow, + }, [BALL_POKE] = { .tileTag = GFX_TAG_POKE_BALL, @@ -562,7 +576,7 @@ static void Task_DoPokeballSendOutAnim(u8 taskId) throwCaseId = gTasks[taskId].tThrowId; battlerId = gTasks[taskId].tBattler; - ballId = ItemIdToBallId(GetBattlerPokeballItemId(battlerId)); + ballId = GetBattlerPokeballItemId(battlerId); LoadBallGfx(ballId); ballSpriteId = CreateSprite(&gBallSpriteTemplates[ballId], 32, 80, 29); gSprites[ballSpriteId].data[0] = 0x80; @@ -651,7 +665,7 @@ static void SpriteCB_BallThrow(struct Sprite *sprite) sprite->x2 = 0; sprite->y2 = 0; sprite->data[5] = 0; - ballId = ItemIdToBallId(GetBattlerPokeballItemId(opponentBattler)); + ballId = GetBattlerPokeballItemId(opponentBattler); AnimateBallOpenParticles(sprite->x, sprite->y - 5, 1, 28, ballId); sprite->data[0] = LaunchBallFadeMonTask(FALSE, opponentBattler, 14, ballId); sprite->sBattler = opponentBattler; @@ -967,7 +981,7 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite) u32 ballId; StartSpriteAnim(sprite, 1); - ballId = ItemIdToBallId(GetBattlerPokeballItemId(battlerId)); + ballId = GetBattlerPokeballItemId(battlerId); AnimateBallOpenParticles(sprite->x, sprite->y - 5, 1, 28, ballId); sprite->data[0] = LaunchBallFadeMonTask(TRUE, sprite->sBattler, 14, ballId); sprite->callback = HandleBallAnimEnd; @@ -1571,12 +1585,8 @@ void FreeBallGfx(u8 ballId) static u16 GetBattlerPokeballItemId(u8 battlerId) { - struct Pokemon *mon, *illusionMon; - - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) - mon = &gPlayerParty[gBattlerPartyIndexes[battlerId]]; - else - mon = &gEnemyParty[gBattlerPartyIndexes[battlerId]]; + struct Pokemon *illusionMon; + struct Pokemon *mon = GetPartyBattlerData(battlerId); illusionMon = GetIllusionMonPtr(battlerId); if (illusionMon != NULL) @@ -1584,3 +1594,13 @@ static u16 GetBattlerPokeballItemId(u8 battlerId) return GetMonData(mon, MON_DATA_POKEBALL); } + +enum PokeBall ItemIdToBallId(u32 ballItem) +{ + enum PokeBall secondaryId = ItemId_GetSecondaryId(ballItem); + + if (secondaryId <= BALL_STRANGE || secondaryId >= POKEBALL_COUNT) + return BALL_STRANGE; + + return secondaryId; +} diff --git a/src/pokeblock.c b/src/pokeblock.c index e01e821f7e1d..b68fe16ce36e 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -130,6 +130,11 @@ static void ReturnToPokeblockCaseOnField(void); static void CreateTossPokeblockYesNoMenu(u8); static void TossPokeblock(u8); +static const u8 sText_StowCase[] = _("Stow CASE."); +static const u8 sText_LvVar1[] = _("{LV}{STR_VAR_1}"); +static const u8 sText_ThrowAwayVar1[] = _("Throw away this\n{STR_VAR_1}?"); +static const u8 sText_Var1ThrownAway[] = _("The {STR_VAR_1}\nwas thrown away."); + EWRAM_DATA static struct PokeblockSavedData sSavedPokeblockData = {0}; EWRAM_DATA static struct PokeblockMenuStruct *sPokeblockMenu = NULL; @@ -197,20 +202,20 @@ static const struct BgTemplate sBgTemplatesForPokeblockMenu[] = const u8 *const gPokeblockNames[] = { [PBLOCK_CLR_NONE] = NULL, - [PBLOCK_CLR_RED] = gText_RedPokeblock, - [PBLOCK_CLR_BLUE] = gText_BluePokeblock, - [PBLOCK_CLR_PINK] = gText_PinkPokeblock, - [PBLOCK_CLR_GREEN] = gText_GreenPokeblock, - [PBLOCK_CLR_YELLOW] = gText_YellowPokeblock, - [PBLOCK_CLR_PURPLE] = gText_PurplePokeblock, - [PBLOCK_CLR_INDIGO] = gText_IndigoPokeblock, - [PBLOCK_CLR_BROWN] = gText_BrownPokeblock, - [PBLOCK_CLR_LITE_BLUE] = gText_LiteBluePokeblock, - [PBLOCK_CLR_OLIVE] = gText_OlivePokeblock, - [PBLOCK_CLR_GRAY] = gText_GrayPokeblock, - [PBLOCK_CLR_BLACK] = gText_BlackPokeblock, - [PBLOCK_CLR_WHITE] = gText_WhitePokeblock, - [PBLOCK_CLR_GOLD] = gText_GoldPokeblock + [PBLOCK_CLR_RED] = COMPOUND_STRING("RED {POKEBLOCK}"), + [PBLOCK_CLR_BLUE] = COMPOUND_STRING("BLUE {POKEBLOCK}"), + [PBLOCK_CLR_PINK] = COMPOUND_STRING("PINK {POKEBLOCK}"), + [PBLOCK_CLR_GREEN] = COMPOUND_STRING("GREEN {POKEBLOCK}"), + [PBLOCK_CLR_YELLOW] = COMPOUND_STRING("YELLOW {POKEBLOCK}"), + [PBLOCK_CLR_PURPLE] = COMPOUND_STRING("PURPLE {POKEBLOCK}"), + [PBLOCK_CLR_INDIGO] = COMPOUND_STRING("INDIGO {POKEBLOCK}"), + [PBLOCK_CLR_BROWN] = COMPOUND_STRING("BROWN {POKEBLOCK}"), + [PBLOCK_CLR_LITE_BLUE] = COMPOUND_STRING("LITEBLUE {POKEBLOCK}"), + [PBLOCK_CLR_OLIVE] = COMPOUND_STRING("OLIVE {POKEBLOCK}"), + [PBLOCK_CLR_GRAY] = COMPOUND_STRING("GRAY {POKEBLOCK}"), + [PBLOCK_CLR_BLACK] = COMPOUND_STRING("BLACK {POKEBLOCK}"), + [PBLOCK_CLR_WHITE] = COMPOUND_STRING("WHITE {POKEBLOCK}"), + [PBLOCK_CLR_GOLD] = COMPOUND_STRING("GOLD {POKEBLOCK}") }; static const struct MenuAction sPokeblockMenuActions[] = @@ -702,11 +707,11 @@ static void DrawPokeblockMenuTitleText(void) const u8 *itemName = ItemId_GetName(ITEM_POKEBLOCK_CASE); PrintOnPokeblockWindow(WIN_TITLE, itemName, GetStringCenterAlignXOffset(FONT_NORMAL, itemName, 0x48)); - PrintOnPokeblockWindow(WIN_SPICY, gText_Spicy, 0); - PrintOnPokeblockWindow(WIN_DRY, gText_Dry, 0); - PrintOnPokeblockWindow(WIN_SWEET, gText_Sweet, 0); - PrintOnPokeblockWindow(WIN_BITTER, gText_Bitter, 0); - PrintOnPokeblockWindow(WIN_SOUR, gText_Sour, 0); + PrintOnPokeblockWindow(WIN_SPICY, COMPOUND_STRING("SPICY"), 0); + PrintOnPokeblockWindow(WIN_DRY, COMPOUND_STRING("DRY"), 0); + PrintOnPokeblockWindow(WIN_SWEET, COMPOUND_STRING("SWEET"), 0); + PrintOnPokeblockWindow(WIN_BITTER, COMPOUND_STRING("BITTER"), 0); + PrintOnPokeblockWindow(WIN_SOUR, COMPOUND_STRING("SOUR"), 0); for (i = 0; i < WIN_ACTIONS_TALL; i++) PutWindowTilemap(i); @@ -723,7 +728,7 @@ static void UpdatePokeblockList(void) sPokeblockMenu->items[i].id = i; } - StringCopy(sPokeblockMenu->menuItemsStrings[i], gText_StowCase); + StringCopy(sPokeblockMenu->menuItemsStrings[i], sText_StowCase); sPokeblockMenu->items[i].name = sPokeblockMenu->menuItemsStrings[i]; sPokeblockMenu->items[i].id = LIST_CANCEL; @@ -744,7 +749,7 @@ static void PutPokeblockListMenuString(u8 *dst, u16 pkblId) *(txtPtr++) = CHAR_BLOCK_1; ConvertIntToDecimalStringN(gStringVar1, GetHighestPokeblocksFlavorLevel(pkblock), STR_CONV_MODE_LEFT_ALIGN, 3); - StringExpandPlaceholders(txtPtr, gText_LvVar1); + StringExpandPlaceholders(txtPtr, sText_LvVar1); } static void MovePokeblockMenuCursor(s32 pkblId, bool8 onInit, struct ListMenu *list) @@ -1203,7 +1208,7 @@ static void PokeblockAction_Toss(u8 taskId) ClearStdWindowAndFrameToTransparent(tWindowId, FALSE); StringCopy(gStringVar1, gPokeblockNames[gSaveBlock1Ptr->pokeblocks[gSpecialVar_ItemId].color]); - StringExpandPlaceholders(gStringVar4, gText_ThrowAwayVar1); + StringExpandPlaceholders(gStringVar4, sText_ThrowAwayVar1); DisplayMessageAndContinueTask(taskId, WIN_TOSS_MSG, 10, 13, FONT_NORMAL, GetPlayerTextSpeedDelay(), gStringVar4, CreateTossPokeblockYesNoMenu); } @@ -1214,7 +1219,7 @@ static void CreateTossPokeblockYesNoMenu(u8 taskId) static void TossedPokeblockMessage(u8 taskId) { - StringExpandPlaceholders(gStringVar4, gText_Var1ThrownAway); + StringExpandPlaceholders(gStringVar4, sText_Var1ThrownAway); DisplayMessageAndContinueTask(taskId, WIN_TOSS_MSG, 10, 13, FONT_NORMAL, GetPlayerTextSpeedDelay(), gStringVar4, TossPokeblock); } diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index f31896a4cbe3..f79f35a781d6 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -96,6 +96,10 @@ static u8 CreatePokeblockCaseSpriteForFeeding(void); static u8 CreateMonSprite(struct Pokemon *); static void SpriteCB_ThrownPokeblock(struct Sprite *); +static const u8 sText_Var1AteTheVar2[] = _("{STR_VAR_1} ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +static const u8 sText_Var1HappilyAteVar2[] = _("{STR_VAR_1} happily ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +static const u8 sText_Var1DisdainfullyAteVar2[] = _("{STR_VAR_1} disdainfully ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); + EWRAM_DATA static struct PokeblockFeed *sPokeblockFeed = NULL; EWRAM_DATA static struct CompressedSpritePalette sPokeblockSpritePal = {0}; @@ -792,11 +796,11 @@ static void Task_PrintAtePokeblockMessage(u8 taskId) PokeblockCopyName(pokeblock, gStringVar2); if (gPokeblockGain == 0) - StringExpandPlaceholders(gStringVar4, gText_Var1AteTheVar2); + StringExpandPlaceholders(gStringVar4, sText_Var1AteTheVar2); else if (gPokeblockGain > 0) - StringExpandPlaceholders(gStringVar4, gText_Var1HappilyAteVar2); + StringExpandPlaceholders(gStringVar4, sText_Var1HappilyAteVar2); else - StringExpandPlaceholders(gStringVar4, gText_Var1DisdainfullyAteVar2); + StringExpandPlaceholders(gStringVar4, sText_Var1DisdainfullyAteVar2); gTextFlags.canABSpeedUpPrint = TRUE; AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, GetPlayerTextSpeedDelay(), NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); diff --git a/src/pokemon.c b/src/pokemon.c index d9ca83287be6..a605b43e5080 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2,6 +2,7 @@ #include "malloc.h" #include "apprentice.h" #include "battle.h" +#include "battle_ai_switch_items.h" #include "battle_anim.h" #include "battle_controllers.h" #include "battle_message.h" @@ -18,7 +19,7 @@ #include "field_weather.h" #include "graphics.h" #include "item.h" -#include "level_caps.h" +#include "caps.h" #include "link.h" #include "main.h" #include "overworld.h" @@ -1021,7 +1022,7 @@ STATIC_ASSERT(NUM_SPECIES < (1 << 11), PokemonSubstruct0_species_TooSmall); STATIC_ASSERT(NUMBER_OF_MON_TYPES + 1 <= (1 << 5), PokemonSubstruct0_teraType_TooSmall); STATIC_ASSERT(ITEMS_COUNT < (1 << 10), PokemonSubstruct0_heldItem_TooSmall); STATIC_ASSERT(MAX_LEVEL <= 100, PokemonSubstruct0_experience_PotentiallTooSmall); // Maximum of ~2 million exp. -STATIC_ASSERT(LAST_BALL < (1 << 6), PokemonSubstruct0_pokeball_TooSmall); +STATIC_ASSERT(POKEBALL_COUNT <= (1 << 6), PokemonSubstruct0_pokeball_TooSmall); STATIC_ASSERT(MOVES_COUNT_ALL < (1 << 11), PokemonSubstruct1_moves_TooSmall); STATIC_ASSERT(ARRAY_COUNT(sCompressedStatuses) <= (1 << 4), PokemonSubstruct3_compressedStatus_TooSmall); STATIC_ASSERT(MAX_LEVEL < (1 << 7), PokemonSubstruct3_metLevel_TooSmall); @@ -1108,7 +1109,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, u16 checksum; u8 i; u8 availableIVs[NUM_STATS]; - u8 selectedIvs[LEGENDARY_PERFECT_IV_COUNT]; + u8 selectedIvs[NUM_STATS]; bool32 isShiny; ZeroBoxMonData(boxMon); @@ -1225,21 +1226,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, iv = (value & (MAX_IV_MASK << 10)) >> 10; SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); - if (gSpeciesInfo[species].allPerfectIVs) - { - iv = MAX_PER_STAT_IVS; - SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv); - SetBoxMonData(boxMon, MON_DATA_ATK_IV, &iv); - SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv); - SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv); - SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv); - SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); - } - else if (P_LEGENDARY_PERFECT_IVS >= GEN_6 - && (gSpeciesInfo[species].isLegendary - || gSpeciesInfo[species].isMythical - || gSpeciesInfo[species].isUltraBeast - || gSpeciesInfo[species].isTotem)) + if (gSpeciesInfo[species].perfectIVCount != 0) { iv = MAX_PER_STAT_IVS; // Initialize a list of IV indices. @@ -1248,14 +1235,14 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, availableIVs[i] = i; } - // Select the 3 IVs that will be perfected. - for (i = 0; i < LEGENDARY_PERFECT_IV_COUNT; i++) + // Select the IVs that will be perfected. + for (i = 0; i < NUM_STATS && i < gSpeciesInfo[species].perfectIVCount; i++) { u8 index = Random() % (NUM_STATS - i); selectedIvs[i] = availableIVs[index]; RemoveIVIndexFromList(availableIVs, index); } - for (i = 0; i < LEGENDARY_PERFECT_IV_COUNT; i++) + for (i = 0; i < NUM_STATS && i < gSpeciesInfo[species].perfectIVCount; i++) { switch (selectedIvs[i]) { @@ -1812,29 +1799,19 @@ void CalculateMonStats(struct Pokemon *mon) CALC_STAT(baseSpAttack, spAttackIV, spAttackEV, STAT_SPATK, MON_DATA_SPATK) CALC_STAT(baseSpDefense, spDefenseIV, spDefenseEV, STAT_SPDEF, MON_DATA_SPDEF) - if (species == SPECIES_SHEDINJA) - { - if (currentHP != 0 || oldMaxHP == 0) - currentHP = 1; - else - return; - } - else - { - if (currentHP == 0 && oldMaxHP == 0) - currentHP = newMaxHP; - else if (currentHP != 0) - { - if (newMaxHP > oldMaxHP) - currentHP += newMaxHP - oldMaxHP; - if (currentHP <= 0) - currentHP = 1; - if (currentHP > newMaxHP) - currentHP = newMaxHP; - } - else - return; - } + // Since a pokemon's maxHP data could either not have + // been initialized at this point or this pokemon is + // just fainted, the check for oldMaxHP is important. + if (currentHP == 0 && oldMaxHP != 0) + return; + + // Only add to currentHP if newMaxHP went up. + if (newMaxHP > oldMaxHP) + currentHP += newMaxHP - oldMaxHP; + + // Ensure currentHP does not surpass newMaxHP. + if (currentHP > newMaxHP) + currentHP = newMaxHP; SetMonData(mon, MON_DATA_HP, ¤tHP); } @@ -2093,14 +2070,14 @@ u8 CountAliveMonsInBattle(u8 caseId, u32 battler) case BATTLE_ALIVE_EXCEPT_BATTLER: for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - if (i != battler && !(gAbsentBattlerFlags & gBitTable[i])) + if (i != battler && !(gAbsentBattlerFlags & (1u << i))) retVal++; } break; case BATTLE_ALIVE_SIDE: for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - if (GetBattlerSide(i) == GetBattlerSide(battler) && !(gAbsentBattlerFlags & gBitTable[i])) + if (GetBattlerSide(i) == GetBattlerSide(battler) && !(gAbsentBattlerFlags & (1u << i))) retVal++; } break; @@ -2113,7 +2090,7 @@ u8 GetDefaultMoveTarget(u8 battlerId) { u8 opposing = BATTLE_OPPOSITE(GetBattlerSide(battlerId)); - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if (!IsDoubleBattle()) return GetBattlerAtPosition(opposing); if (CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_BATTLER, battlerId) > 1) { @@ -2128,7 +2105,7 @@ u8 GetDefaultMoveTarget(u8 battlerId) } else { - if ((gAbsentBattlerFlags & gBitTable[opposing])) + if ((gAbsentBattlerFlags & (1u << opposing))) return GetBattlerAtPosition(BATTLE_PARTNER(opposing)); else return GetBattlerAtPosition(opposing); @@ -2704,7 +2681,7 @@ u32 GetBoxMonData3(struct BoxPokemon *boxMon, s32 field, u8 *data) || substruct1->move2 == move || substruct1->move3 == move || substruct1->move4 == move) - retVal |= gBitTable[i]; + retVal |= (1u << i); i++; } } @@ -3390,6 +3367,20 @@ u8 CalculatePartyCount(struct Pokemon *party) return partyCount; } +u8 CalculatePartyCountOfSide(u32 battler, struct Pokemon *party) +{ + s32 partyCount, partySize; + GetAIPartyIndexes(battler, &partyCount, &partySize); + + while (partyCount < partySize + && GetMonData(&party[partyCount], MON_DATA_SPECIES, NULL) != SPECIES_NONE) + { + partyCount++; + } + + return partyCount; +} + u8 CalculatePlayerPartyCount(void) { gPlayerPartyCount = CalculatePartyCount(gPlayerParty); @@ -3402,6 +3393,11 @@ u8 CalculateEnemyPartyCount(void) return gEnemyPartyCount; } +u8 CalculateEnemyPartyCountInSide(u32 battler) +{ + return CalculatePartyCountOfSide(battler, gEnemyParty); +} + u8 GetMonsStateToDoubles(void) { s32 aliveCount = 0; @@ -3767,6 +3763,9 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov s8 evChange; u16 evCount; + // Determine the EV cap to use + u32 maxAllowedEVs = !B_EV_ITEMS_CAP ? MAX_TOTAL_EVS : GetCurrentEVCap(); + // Get item hold effect heldItem = GetMonData(mon, MON_DATA_HELD_ITEM, NULL); if (heldItem == ITEM_ENIGMA_BERRY_E_READER) @@ -3894,27 +3893,31 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov if (evChange > 0) // Increasing EV (HP or Atk) { - // Has EV increase limit already been reached? - if (evCount >= MAX_TOTAL_EVS) + // Check if the total EV limit is reached + if (evCount >= maxAllowedEVs) return TRUE; - if (itemEffect[10] & ITEM10_IS_VITAMIN) - evCap = EV_ITEM_RAISE_LIMIT; - else - evCap = MAX_PER_STAT_EVS; + // Ensure the increase does not exceed the max EV per stat (252) + evCap = (itemEffect[10] & ITEM10_IS_VITAMIN) ? EV_ITEM_RAISE_LIMIT : MAX_PER_STAT_EVS; + // Check if the per-stat limit is reached if (dataSigned >= evCap) - break; + return TRUE; // Prevents item use if the per-stat cap is already reached - // Limit the increase if (dataSigned + evChange > evCap) - temp2 = evCap - (dataSigned + evChange) + evChange; + temp2 = evCap - dataSigned; else temp2 = evChange; - if (evCount + temp2 > MAX_TOTAL_EVS) - temp2 += MAX_TOTAL_EVS - (evCount + temp2); + // Ensure the total EVs do not exceed the maximum allowed (510) + if (evCount + temp2 > maxAllowedEVs) + temp2 = maxAllowedEVs - evCount; + + // Prevent item use if no EVs can be increased + if (temp2 == 0) + return TRUE; + // Apply the EV increase dataSigned += temp2; } else if (evChange < 0) // Decreasing EV (HP or Atk) @@ -4079,27 +4082,31 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov evChange = temp2; if (evChange > 0) // Increasing EV { - // Has EV increase limit already been reached? - if (evCount >= MAX_TOTAL_EVS) + // Check if the total EV limit is reached + if (evCount >= maxAllowedEVs) return TRUE; - if (itemEffect[10] & ITEM10_IS_VITAMIN) - evCap = EV_ITEM_RAISE_LIMIT; - else - evCap = MAX_PER_STAT_EVS; + // Ensure the increase does not exceed the max EV per stat (252) + evCap = (itemEffect[10] & ITEM10_IS_VITAMIN) ? EV_ITEM_RAISE_LIMIT : MAX_PER_STAT_EVS; + // Check if the per-stat limit is reached if (dataSigned >= evCap) - break; + return TRUE; // Prevents item use if the per-stat cap is already reached - // Limit the increase if (dataSigned + evChange > evCap) - temp2 = evCap - (dataSigned + evChange) + evChange; + temp2 = evCap - dataSigned; else temp2 = evChange; - if (evCount + temp2 > MAX_TOTAL_EVS) - temp2 += MAX_TOTAL_EVS - (evCount + temp2); + // Ensure the total EVs do not exceed the maximum allowed (510) + if (evCount + temp2 > maxAllowedEVs) + temp2 = maxAllowedEVs - evCount; + + // Prevent item use if no EVs can be increased + if (temp2 == 0) + return TRUE; + // Apply the EV increase dataSigned += temp2; } else if (evChange < 0) // Decreasing EV @@ -4412,7 +4419,7 @@ static u32 GetGMaxTargetSpecies(u32 species) return SPECIES_NONE; } -u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, struct Pokemon *tradePartner) +u16 GetEvolutionTargetSpecies(struct Pokemon *mon, enum EvolutionMode mode, u16 evolutionItem, struct Pokemon *tradePartner) { int i, j; u16 targetSpecies = SPECIES_NONE; @@ -5215,6 +5222,7 @@ void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies) int i, multiplier; u8 stat; u8 bonus; + u32 currentEVCap = GetCurrentEVCap(); heldItem = GetMonData(mon, MON_DATA_HELD_ITEM, 0); if (heldItem == ITEM_ENIGMA_BERRY_E_READER) @@ -5244,7 +5252,7 @@ void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies) for (i = 0; i < NUM_STATS; i++) { - if (totalEVs >= MAX_TOTAL_EVS) + if (totalEVs >= currentEVCap) break; if (CheckPartyHasHadPokerus(mon, 0)) @@ -5295,8 +5303,8 @@ void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies) if (holdEffect == HOLD_EFFECT_MACHO_BRACE) evIncrease *= 2; - if (totalEVs + (s16)evIncrease > MAX_TOTAL_EVS) - evIncrease = ((s16)evIncrease + MAX_TOTAL_EVS) - (totalEVs + evIncrease); + if (totalEVs + (s16)evIncrease > currentEVCap) + evIncrease = ((s16)evIncrease + currentEVCap) - (totalEVs + evIncrease); if (evs[i] + (s16)evIncrease > MAX_PER_STAT_EVS) { @@ -5336,7 +5344,7 @@ void RandomlyGivePartyPokerus(struct Pokemon *party) } while (!GetMonData(mon, MON_DATA_SPECIES, 0) || GetMonData(mon, MON_DATA_IS_EGG, 0)); - if (!(CheckPartyHasHadPokerus(party, gBitTable[rnd]))) + if (!(CheckPartyHasHadPokerus(party, 1u << rnd))) { u8 rnd2; @@ -5827,18 +5835,24 @@ const u32 *GetMonSpritePalFromSpecies(u16 species, bool32 isShiny, bool32 isFema if (isShiny) { + #if P_GENDER_DIFFERENCES if (gSpeciesInfo[species].shinyPaletteFemale != NULL && isFemale) return gSpeciesInfo[species].shinyPaletteFemale; - else if (gSpeciesInfo[species].shinyPalette != NULL) + else + #endif + if (gSpeciesInfo[species].shinyPalette != NULL) return gSpeciesInfo[species].shinyPalette; else return gSpeciesInfo[SPECIES_NONE].shinyPalette; } else { + #if P_GENDER_DIFFERENCES if (gSpeciesInfo[species].paletteFemale != NULL && isFemale) return gSpeciesInfo[species].paletteFemale; - else if (gSpeciesInfo[species].palette != NULL) + else + #endif + if (gSpeciesInfo[species].palette != NULL) return gSpeciesInfo[species].palette; else return gSpeciesInfo[SPECIES_NONE].palette; @@ -5941,7 +5955,7 @@ void SetMonPreventsSwitchingString(void) PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff2, gBattlerInMenuId, GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[gBattlerInMenuId])) - BattleStringExpandPlaceholders(gText_PkmnsXPreventsSwitching, gStringVar4); + BattleStringExpandPlaceholders(gText_PkmnsXPreventsSwitching, gStringVar4, sizeof(gStringVar4)); } static s32 GetWildMonTableIdInAlteringCave(u16 species) @@ -6671,9 +6685,9 @@ void TrySpecialOverworldEvo(void) for (i = 0; i < PARTY_SIZE; i++) { u16 targetSpecies = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_OVERWORLD_SPECIAL, evoMethod, SPECIES_NONE); - if (targetSpecies != SPECIES_NONE && !(sTriedEvolving & gBitTable[i])) + if (targetSpecies != SPECIES_NONE && !(sTriedEvolving & (1u << i))) { - sTriedEvolving |= gBitTable[i]; + sTriedEvolving |= 1u << i; if(gMain.callback2 == TrySpecialOverworldEvo) // This fixes small graphics glitches. EvolutionScene(&gPlayerParty[i], targetSpecies, canStopEvo, i); else @@ -6692,12 +6706,14 @@ void TrySpecialOverworldEvo(void) bool32 SpeciesHasGenderDifferences(u16 species) { +#if P_GENDER_DIFFERENCES if (gSpeciesInfo[species].frontPicFemale != NULL - || gSpeciesInfo[species].paletteFemale != NULL || gSpeciesInfo[species].backPicFemale != NULL + || gSpeciesInfo[species].paletteFemale != NULL || gSpeciesInfo[species].shinyPaletteFemale != NULL || gSpeciesInfo[species].iconSpriteFemale != NULL) return TRUE; +#endif return FALSE; } @@ -6909,7 +6925,7 @@ const u8 *GetMoveAnimationScript(u16 moveId) if (gMovesInfo[moveId].battleAnimScript == NULL) { DebugPrintfLevel(MGBA_LOG_WARN, "No animation for moveId=%u", moveId); - return Move_TACKLE; + return gMovesInfo[MOVE_NONE].battleAnimScript; } return gMovesInfo[moveId].battleAnimScript; } @@ -6948,3 +6964,11 @@ void UpdateDaysPassedSinceFormChange(u16 days) } } } + +u32 CheckDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler) +{ + u32 moveType = GetDynamicMoveType(mon, move, battler, NULL); + if (moveType != TYPE_NONE) + return moveType; + return gMovesInfo[move].type; +} diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 639f24327a77..00aa93ffc767 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -150,8 +150,10 @@ u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u if (species > NUM_SPECIES) iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG; +#if P_GENDER_DIFFERENCES else if (gSpeciesInfo[species].iconSpriteFemale != NULL && IsPersonalityFemale(species, personality)) iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG + gSpeciesInfo[species].iconPalIndexFemale; +#endif spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority); @@ -244,9 +246,11 @@ void LoadMonIconPalettePersonality(u16 species, u32 personality) { u8 palIndex; species = SanitizeSpeciesId(species); +#if P_GENDER_DIFFERENCES if (gSpeciesInfo[species].iconSpriteFemale != NULL && IsPersonalityFemale(species, personality)) palIndex = gSpeciesInfo[species].iconPalIndexFemale; else +#endif palIndex = gSpeciesInfo[species].iconPalIndex; if (IndexOfSpritePaletteTag(gMonIconPaletteTable[palIndex].tag) == 0xFF) LoadSpritePalette(&gMonIconPaletteTable[palIndex]); @@ -286,9 +290,12 @@ const u8 *GetMonIconTiles(u16 species, u32 personality) if (species > NUM_SPECIES) species = SPECIES_NONE; +#if P_GENDER_DIFFERENCES if (gSpeciesInfo[species].iconSpriteFemale != NULL && IsPersonalityFemale(species, personality)) iconSprite = gSpeciesInfo[species].iconSpriteFemale; - else if (gSpeciesInfo[species].iconSprite != NULL) + else +#endif + if (gSpeciesInfo[species].iconSprite != NULL) iconSprite = gSpeciesInfo[species].iconSprite; else iconSprite = gSpeciesInfo[SPECIES_NONE].iconSprite; diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c index 74bb640b75d8..9492a4a9f8c5 100755 --- a/src/pokemon_jump.c +++ b/src/pokemon_jump.c @@ -435,38 +435,38 @@ static const struct PokemonJumpMons sPokeJumpMons[] = { .species = SPECIES_WEEDLE, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_KAKUNA, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_RATTATA, .jumpType = JUMP_TYPE_FAST, }, - { .species = SPECIES_RATTATA_ALOLAN, .jumpType = JUMP_TYPE_FAST, }, + { .species = SPECIES_RATTATA_ALOLA, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_RATICATE, .jumpType = JUMP_TYPE_FAST, }, - { .species = SPECIES_RATICATE_ALOLAN, .jumpType = JUMP_TYPE_FAST, }, + { .species = SPECIES_RATICATE_ALOLA, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_PIKACHU, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_PIKACHU_COSPLAY, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_PIKACHU_ROCK_STAR, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_PIKACHU_BELLE, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_PIKACHU_POP_STAR, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_PIKACHU_PH_D, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_PIKACHU_PHD, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_PIKACHU_LIBRE, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_PIKACHU_ORIGINAL_CAP, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_PIKACHU_HOENN_CAP, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_PIKACHU_SINNOH_CAP, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_PIKACHU_UNOVA_CAP, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_PIKACHU_KALOS_CAP, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_PIKACHU_ALOLA_CAP, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_PIKACHU_PARTNER_CAP, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_PIKACHU_WORLD_CAP, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_PIKACHU_ORIGINAL, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_PIKACHU_HOENN, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_PIKACHU_SINNOH, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_PIKACHU_UNOVA, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_PIKACHU_KALOS, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_PIKACHU_ALOLA, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_PIKACHU_PARTNER, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_PIKACHU_WORLD, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_PIKACHU_STARTER, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_SANDSHREW, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_SANDSHREW_ALOLAN, .jumpType = JUMP_TYPE_SLOW, }, + { .species = SPECIES_SANDSHREW_ALOLA, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_NIDORAN_F, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_NIDORAN_M, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_CLEFAIRY, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_VULPIX, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_VULPIX_ALOLAN, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_VULPIX_ALOLA, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_JIGGLYPUFF, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_ODDISH, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_PARAS, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_MEOWTH, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_MEOWTH_ALOLAN, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_MEOWTH_GALARIAN, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_MEOWTH_ALOLA, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_MEOWTH_GALAR, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_PSYDUCK, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_MANKEY, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_GROWLITHE, .jumpType = JUMP_TYPE_FAST, }, @@ -478,7 +478,7 @@ static const struct PokemonJumpMons sPokeJumpMons[] = { .species = SPECIES_CUBONE, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_DITTO, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_EEVEE, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_EEVEE_PARTNER, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_EEVEE_STARTER, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_OMANYTE, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_KABUTO, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_CHIKORITA, .jumpType = JUMP_TYPE_SLOW, }, @@ -495,7 +495,7 @@ static const struct PokemonJumpMons sPokeJumpMons[] = { .species = SPECIES_MARILL, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_SUNKERN, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_WOOPER, .jumpType = JUMP_TYPE_SLOW, }, - { .species = SPECIES_WOOPER_PALDEAN, .jumpType = JUMP_TYPE_SLOW, }, + { .species = SPECIES_WOOPER_PALDEA, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_PINECO, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_SNUBBULL, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_SHUCKLE, .jumpType = JUMP_TYPE_SLOW, }, @@ -516,9 +516,9 @@ static const struct PokemonJumpMons sPokeJumpMons[] = { .species = SPECIES_MARSHTOMP, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_POOCHYENA, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_ZIGZAGOON, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_ZIGZAGOON_GALARIAN, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_ZIGZAGOON_GALAR, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_LINOONE, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_LINOONE_GALARIAN, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_LINOONE_GALAR, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_WURMPLE, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_SILCOON, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_CASCOON, .jumpType = JUMP_TYPE_SLOW, }, @@ -567,8 +567,8 @@ static const struct PokemonJumpMons sPokeJumpMons[] = { .species = SPECIES_CHERUBI, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_CHERRIM_OVERCAST, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_CHERRIM_SUNSHINE, .jumpType = JUMP_TYPE_FAST, }, - { .species = SPECIES_SHELLOS_WEST_SEA, .jumpType = JUMP_TYPE_SLOW, }, - { .species = SPECIES_SHELLOS_EAST_SEA, .jumpType = JUMP_TYPE_SLOW, }, + { .species = SPECIES_SHELLOS_WEST, .jumpType = JUMP_TYPE_SLOW, }, + { .species = SPECIES_SHELLOS_EAST, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_BUNEARY, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_GLAMEOW, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_STUNKY, .jumpType = JUMP_TYPE_NORMAL, }, @@ -599,7 +599,7 @@ static const struct PokemonJumpMons sPokeJumpMons[] = { .species = SPECIES_PETILIL, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_SANDILE, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_DARUMAKA, .jumpType = JUMP_TYPE_FAST, }, - { .species = SPECIES_DARUMAKA_GALARIAN, .jumpType = JUMP_TYPE_FAST, }, + { .species = SPECIES_DARUMAKA_GALAR, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_DWEBBLE, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_SCRAGGY, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_ARCHEN, .jumpType = JUMP_TYPE_NORMAL, }, @@ -622,7 +622,7 @@ static const struct PokemonJumpMons sPokeJumpMons[] = { .species = SPECIES_CUBCHOO, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_SHELMET, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_STUNFISK, .jumpType = JUMP_TYPE_SLOW, }, - { .species = SPECIES_STUNFISK_GALARIAN, .jumpType = JUMP_TYPE_SLOW, }, + { .species = SPECIES_STUNFISK_GALAR, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_PAWNIARD, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_DURANT, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_CHESPIN, .jumpType = JUMP_TYPE_SLOW, }, @@ -649,7 +649,7 @@ static const struct PokemonJumpMons sPokeJumpMons[] = { .species = SPECIES_SCATTERBUG_OCEAN, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_SCATTERBUG_JUNGLE, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_SCATTERBUG_FANCY, .jumpType = JUMP_TYPE_FAST, }, - { .species = SPECIES_SCATTERBUG_POKE_BALL, .jumpType = JUMP_TYPE_FAST, }, + { .species = SPECIES_SCATTERBUG_POKEBALL, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_SPEWPA_POLAR, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_SPEWPA_TUNDRA, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_SPEWPA_CONTINENTAL, .jumpType = JUMP_TYPE_NORMAL, }, @@ -668,12 +668,12 @@ static const struct PokemonJumpMons sPokeJumpMons[] = { .species = SPECIES_SPEWPA_OCEAN, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_SPEWPA_JUNGLE, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_SPEWPA_FANCY, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_SPEWPA_POKE_BALL, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_SPEWPA_POKEBALL, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_LITLEO, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_PANCHAM, .jumpType = JUMP_TYPE_FAST, }, { .species = SPECIES_ESPURR, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_MEOWSTIC_MALE, .jumpType = JUMP_TYPE_NORMAL, }, - { .species = SPECIES_MEOWSTIC_FEMALE, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_MEOWSTIC_M, .jumpType = JUMP_TYPE_NORMAL, }, + { .species = SPECIES_MEOWSTIC_F, .jumpType = JUMP_TYPE_NORMAL, }, { .species = SPECIES_BINACLE, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_CLAUNCHER, .jumpType = JUMP_TYPE_SLOW, }, { .species = SPECIES_HELIOPTILE, .jumpType = JUMP_TYPE_NORMAL, }, diff --git a/src/pokemon_sprite_visualizer.c b/src/pokemon_sprite_visualizer.c index c83716aeda74..c6bb39faaff8 100644 --- a/src/pokemon_sprite_visualizer.c +++ b/src/pokemon_sprite_visualizer.c @@ -4,8 +4,6 @@ #include "battle_anim.h" #include "battle_gfx_sfx_util.h" #include "bg.h" -#include "constants/rgb.h" -#include "constants/songs.h" #include "data.h" #include "decompress.h" #include "event_object_movement.h" @@ -38,12 +36,15 @@ #include "text_window.h" #include "trainer_pokemon_sprites.h" +#include "constants/global.h" #include "constants/items.h" #include "constants/event_objects.h" +#include "constants/rgb.h" +#include "constants/songs.h" -#if DEBUG_POKEMON_SPRITE_VISUALIZER == TRUE extern const struct BattleBackground sBattleTerrainTable[]; extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; +extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadowsSized; extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; extern const struct SpritePalette sSpritePalettes_HealthBoxHealthBar[2]; extern const struct UCoords8 sBattlerCoords[][MAX_BATTLERS_COUNT] ; @@ -397,6 +398,13 @@ const u8 gBattleBackgroundTerrainNames[][26] = [BATTLE_TERRAIN_BUILDING] = _("NORMAL - BUILDING "), [BATTLE_TERRAIN_PLAIN] = _("NORMAL - PLAIN "), }; +const u8 sShadowSizeLabels[][4] = +{ + [SHADOW_SIZE_S] = _(" S"), + [SHADOW_SIZE_M] = _(" M"), + [SHADOW_SIZE_L] = _(" L"), + [SHADOW_SIZE_XL_BATTLE_ONLY] = _(" XL"), +}; //Function declarations static void PrintDigitChars(struct PokemonSpriteVisualizer *data); static void SetUpModifyArrows(struct PokemonSpriteVisualizer *data); @@ -427,17 +435,27 @@ static void PrintInstructionsOnWindow(struct PokemonSpriteVisualizer *data) { u8 fontId = 0; u8 x = 2; - u8 textInstructions[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Exit {A_BUTTON} Submenu 1$"); - u8 textInstructionsGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Exit {A_BUTTON} Submenu 1$"); - u8 textInstructionsSubmenuOne[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Back {A_BUTTON} Submenu 2$"); - u8 textInstructionsSubmenuOneGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Back {A_BUTTON} Submenu 2$"); + u8 textInstructions[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Exit {A_BUTTON} Anims and BG$"); + u8 textInstructionsGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Exit {A_BUTTON} Anims and BG$"); + u8 textInstructionsSubmenuOne[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Back {A_BUTTON} Sprite Coords$"); + u8 textInstructionsSubmenuOneGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Back {A_BUTTON} Sprite Coords$"); +#if B_ENEMY_MON_SHADOW_STYLE >= GEN_4 && P_GBA_STYLE_SPECIES_GFX == FALSE + u8 textInstructionsSubmenuTwo[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Back {A_BUTTON} Shadow Coords$"); + u8 textInstructionsSubmenuTwoGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Back {A_BUTTON} Shadow Coords$"); + u8 textInstructionsSubmenuThree[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Back"); + u8 textInstructionsSubmenuThreeGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Back$"); +#else u8 textInstructionsSubmenuTwo[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Back$"); u8 textInstructionsSubmenuTwoGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Back$"); + u8 textInstructionsSubmenuThree[] = _("$"); + u8 textInstructionsSubmenuThreeGender[] = _("$"); +#endif u8 textBottom[] = _("BACK:\nFRONT:\nBG:$"); u8 textBottomForms[] = _("BACK:\nFRONT:\nBG:\nFORMS:$"); u8 textBottomSubmenuTwo[] = _("B coords:\nF coords:\nF elev:"); + u8 textBottomSubmenuThree[] = _("X coords:\nY coords:\nSize:"); u16 species = data->modifyArrows.currValue; u8 textL[] = _("{L_BUTTON}"); @@ -466,11 +484,18 @@ static void PrintInstructionsOnWindow(struct PokemonSpriteVisualizer *data) else AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuTwo, x, 0, 0, NULL); } + else if (data->currentSubmenu == 3) + { + if (SpeciesHasGenderDifferences(species)) + AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuThreeGender, x, 0, 0, NULL); + else + AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuThree, x, 0, 0, NULL); + } CopyWindowToVram(WIN_INSTRUCTIONS, COPYWIN_FULL); //Bottom left text FillWindowPixelBuffer(WIN_BOTTOM_LEFT, PIXEL_FILL(0)); - if (data->currentSubmenu != 2) + if (data->currentSubmenu < 2) { AddTextPrinterParameterized(WIN_BOTTOM_LEFT, fontId, textL, 30, 0, 0, NULL); AddTextPrinterParameterized(WIN_BOTTOM_LEFT, fontId, textR, 30, 12, 0, NULL); @@ -479,8 +504,10 @@ static void PrintInstructionsOnWindow(struct PokemonSpriteVisualizer *data) else AddTextPrinterParameterized(WIN_BOTTOM_LEFT, fontId, textBottom, 0, 0, 0, NULL); } - else + else if (data->currentSubmenu == 2) AddTextPrinterParameterized(WIN_BOTTOM_LEFT, fontId, textBottomSubmenuTwo, 0, 0, 0, NULL); + else if (data->currentSubmenu == 3) + AddTextPrinterParameterized(WIN_BOTTOM_LEFT, fontId, textBottomSubmenuThree, 0, 0, 0, NULL); } static void VBlankCB(void) @@ -589,6 +616,7 @@ static void SetArrowInvisibility(struct PokemonSpriteVisualizer *data) gSprites[data->yPosModifyArrows.arrowSpriteId[0]].invisible = TRUE; break; case 2: + case 3: gSprites[data->modifyArrows.arrowSpriteId[0]].invisible = TRUE; gSprites[data->modifyArrows.arrowSpriteId[1]].invisible = TRUE; gSprites[data->optionArrows.arrowSpriteId[0]].invisible = TRUE; @@ -736,6 +764,20 @@ static void ResetOffsetSpriteValues(struct PokemonSpriteVisualizer *data) data->offsetsSpriteValues.offset_front_elevation = 0; } +static void ResetShadowSettings(struct PokemonSpriteVisualizer *data, u16 species) +{ + if (B_ENEMY_MON_SHADOW_STYLE <= GEN_3 || P_GBA_STYLE_SPECIES_GFX == TRUE) + return; + + data->shadowSettings.definedX = gSpeciesInfo[species].enemyShadowXOffset; + data->shadowSettings.definedY = gSpeciesInfo[species].enemyShadowYOffset; + data->shadowSettings.definedSize = gSpeciesInfo[species].enemyShadowSize; + + data->shadowSettings.overrideX = data->shadowSettings.definedX; + data->shadowSettings.overrideY = data->shadowSettings.definedY; + data->shadowSettings.overrideSize = data->shadowSettings.definedSize; +} + static u8 GetBattlerSpriteFinal_YCustom(u16 species, s8 offset_picCoords, s8 offset_elevation) { u16 offset; @@ -759,18 +801,39 @@ static u8 GetBattlerSpriteFinal_YCustom(u16 species, s8 offset_picCoords, s8 off static void UpdateShadowSpriteInvisible(struct PokemonSpriteVisualizer *data) { + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4 && P_GBA_STYLE_SPECIES_GFX == FALSE) + return; + if (data->constSpriteValues.frontElevation + data->offsetsSpriteValues.offset_front_elevation == 0) - gSprites[data->frontShadowSpriteId].invisible = TRUE; + gSprites[data->frontShadowSpriteIdPrimary].invisible = TRUE; else - gSprites[data->frontShadowSpriteId].invisible = FALSE; + gSprites[data->frontShadowSpriteIdPrimary].invisible = FALSE; } +#define tFrontSpriteId data[0] +#define tSpriteSide data[1] +#define tShadowXOffset data[2] +#define tShadowYOffset data[3] + +#define SPRITE_SIDE_LEFT 0 +#define SPRITE_SIDE_RIGHT 1 + + static void SpriteCB_EnemyShadowCustom(struct Sprite *shadowSprite) { - u8 frontSpriteId = shadowSprite->data[0]; + u8 frontSpriteId = shadowSprite->tFrontSpriteId; struct Sprite *battlerSprite = &gSprites[frontSpriteId]; - shadowSprite->x = battlerSprite->x; + s8 xOffset = 0, yOffset = 0; + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4 && P_GBA_STYLE_SPECIES_GFX == FALSE) + { + xOffset = shadowSprite->tShadowXOffset + (shadowSprite->tSpriteSide == SPRITE_SIDE_LEFT ? -16 : 16); + yOffset = shadowSprite->tShadowYOffset + 16; + + shadowSprite->y = battlerSprite->y + yOffset; + } + + shadowSprite->x = battlerSprite->x + xOffset; shadowSprite->x2 = battlerSprite->x2; } @@ -802,25 +865,60 @@ static void SpriteCB_Follower(struct Sprite *sprite) sprite->animDelayCounter--; } } - static void LoadAndCreateEnemyShadowSpriteCustom(struct PokemonSpriteVisualizer *data, u16 species) { - u8 x, y; bool8 invisible = FALSE; species = SanitizeSpeciesId(species); - if (gSpeciesInfo[species].enemyMonElevation == 0) - invisible = TRUE; - LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow); - LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[0]); - x = sBattlerCoords[0][1].x; - y = sBattlerCoords[0][1].y; - - data->frontShadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, x, y + 29, 0xC8); - gSprites[data->frontShadowSpriteId].data[0] = data->frontspriteId; - - gSprites[data->frontShadowSpriteId].callback = SpriteCB_EnemyShadowCustom; - gSprites[data->frontShadowSpriteId].oam.priority = 0; - gSprites[data->frontShadowSpriteId].invisible = invisible; + + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4 && P_GBA_STYLE_SPECIES_GFX == FALSE) + { + invisible = gSpeciesInfo[species].suppressEnemyShadow; + + LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadowsSized); + LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[0]); + u8 x = sBattlerCoords[0][1].x; + u8 y = sBattlerCoords[0][1].y; + s8 xOffset = data->shadowSettings.overrideX; + s8 yOffset = data->shadowSettings.overrideY; + u8 size = data->shadowSettings.overrideSize; + + data->frontShadowSpriteIdPrimary = CreateSprite(&gSpriteTemplate_EnemyShadow, x, y, 0xC8); + gSprites[data->frontShadowSpriteIdPrimary].tFrontSpriteId = data->frontspriteId; + gSprites[data->frontShadowSpriteIdPrimary].tSpriteSide = SPRITE_SIDE_LEFT; + gSprites[data->frontShadowSpriteIdPrimary].tShadowXOffset = (u8)xOffset; + gSprites[data->frontShadowSpriteIdPrimary].tShadowYOffset = (u8)yOffset; + gSprites[data->frontShadowSpriteIdPrimary].callback = SpriteCB_EnemyShadowCustom; + gSprites[data->frontShadowSpriteIdPrimary].oam.priority = 0; + gSprites[data->frontShadowSpriteIdPrimary].oam.tileNum += 8 * size; + gSprites[data->frontShadowSpriteIdPrimary].invisible = invisible; + + data->frontShadowSpriteIdSecondary = CreateSprite(&gSpriteTemplate_EnemyShadow, x, y, 0xC8); + gSprites[data->frontShadowSpriteIdSecondary].tFrontSpriteId = data->frontspriteId; + gSprites[data->frontShadowSpriteIdSecondary].tSpriteSide = SPRITE_SIDE_RIGHT; + gSprites[data->frontShadowSpriteIdSecondary].tShadowXOffset = (u8)xOffset; + gSprites[data->frontShadowSpriteIdSecondary].tShadowYOffset = (u8)yOffset; + gSprites[data->frontShadowSpriteIdSecondary].callback = SpriteCB_EnemyShadowCustom; + gSprites[data->frontShadowSpriteIdSecondary].oam.priority = 0; + gSprites[data->frontShadowSpriteIdSecondary].oam.tileNum += (8 * size) + 4; + gSprites[data->frontShadowSpriteIdSecondary].invisible = invisible; + } + else + { + if (gSpeciesInfo[species].enemyMonElevation == 0) + invisible = TRUE; + + LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow); + LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[0]); + u8 x = sBattlerCoords[0][1].x; + u8 y = sBattlerCoords[0][1].y; + + data->frontShadowSpriteIdPrimary = CreateSprite(&gSpriteTemplate_EnemyShadow, x, y + 29, 0xC8); + gSprites[data->frontShadowSpriteIdPrimary].data[0] = data->frontspriteId; + + gSprites[data->frontShadowSpriteIdPrimary].callback = SpriteCB_EnemyShadowCustom; + gSprites[data->frontShadowSpriteIdPrimary].oam.priority = 0; + gSprites[data->frontShadowSpriteIdPrimary].invisible = invisible; + } } //Battle background functions @@ -1045,6 +1143,55 @@ static void UpdateYPosOffsetText(struct PokemonSpriteVisualizer *data) AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, x_new_val, y, 0, NULL); } +#define ABS(val) (val < 0 ? val * -1 : val) +#define ITOA_SIGNED(buf, val) \ +{ \ + buf[0] = val < 0 ? CHAR_HYPHEN : CHAR_SPACER; \ + ConvertIntToDecimalStringN(&text[1], ABS(val), STR_CONV_MODE_LEFT_ALIGN, 2); \ +} + +static void UpdateShadowSettingsText(struct PokemonSpriteVisualizer *data) +{ + if (B_ENEMY_MON_SHADOW_STYLE <= GEN_3 || P_GBA_STYLE_SPECIES_GFX == TRUE) + return; + + u8 text[16]; + u8 fontId = 0; + u8 textConst[] = _("const val:"); + u8 textNew[] = _("new val:"); + u8 x_const_val = 50; + u8 x_new_text = 70; + u8 x_new_val = 110; + u8 y = 0; + + FillWindowPixelBuffer(WIN_BOTTOM_RIGHT, PIXEL_FILL(0)); + + // X offset + y = 0; + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textConst, 0, y, 0, NULL); + ITOA_SIGNED(text, data->shadowSettings.definedX); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, x_const_val, y, 0, NULL); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textNew, x_new_text, y, 0, NULL); + ITOA_SIGNED(text, data->shadowSettings.overrideX); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, x_new_val, y, 0, NULL); + + // Y offset + y = 12; + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textConst, 0, y, 0, NULL); + ITOA_SIGNED(text, data->shadowSettings.definedY); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, x_const_val, y, 0, NULL); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textNew, x_new_text, y, 0, NULL); + ITOA_SIGNED(text, data->shadowSettings.overrideY); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, x_new_val, y, 0, NULL); + + // Shadow Size + y = 24; + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textConst, 0, y, 0, NULL); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, sShadowSizeLabels[data->shadowSettings.definedSize], x_const_val, y, 0, NULL); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textNew, x_new_text, y, 0, NULL); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, sShadowSizeLabels[data->shadowSettings.overrideSize], x_new_val, y, 0, NULL); +} + static void ResetPokemonSpriteVisualizerWindows(void) { u8 i; @@ -1335,6 +1482,7 @@ static void UpdateSubmenuOneOptionValue(u8 taskId, bool8 increment) data->animIdFront = gSpeciesInfo[modArrows->currValue].frontAnimId; UpdateMonAnimNames(taskId); ResetOffsetSpriteValues(data); + ResetShadowSettings(data, modArrows->currValue); UpdateBattlerValue(data); ReloadPokemonSprites(data); @@ -1422,6 +1570,79 @@ static void UpdateSubmenuTwoOptionValue(u8 taskId, bool8 increment) UpdateYPosOffsetText(data); } +static void UpdateShadowSettingsValue(u8 taskId, bool8 increment) +{ + if (B_ENEMY_MON_SHADOW_STYLE <= GEN_3 || P_GBA_STYLE_SPECIES_GFX == TRUE) + return; + + struct PokemonSpriteVisualizer *data = GetStructPtr(taskId); + u8 option = data->submenuYpos[2]; + s8 *offset; + s16 *leftTarget, *rightTarget; + if (option == 0) + { + offset = &data->shadowSettings.overrideX; + leftTarget = &gSprites[data->frontShadowSpriteIdPrimary].tShadowXOffset; + rightTarget = &gSprites[data->frontShadowSpriteIdSecondary].tShadowXOffset; + } + else + { + offset = &data->shadowSettings.overrideY; + leftTarget = &gSprites[data->frontShadowSpriteIdPrimary].tShadowYOffset; + rightTarget = &gSprites[data->frontShadowSpriteIdSecondary].tShadowYOffset; + } + + *offset = *offset + (increment ? 1 : -1); + if (*offset > 20) + *offset = -20; + else if (*offset < -20) + *offset = 20; + UpdateShadowSettingsText(data); + + *leftTarget = (s16)*offset; + *rightTarget = (s16)*offset; +} + +static void UpdateShadowSizeValue(u8 taskId, bool8 increment) +{ + if (B_ENEMY_MON_SHADOW_STYLE <= GEN_3 || P_GBA_STYLE_SPECIES_GFX == TRUE) + return; + + struct PokemonSpriteVisualizer *data = GetStructPtr(taskId); + s8 update; + + if (increment) + { + if (data->shadowSettings.overrideSize == SHADOW_SIZE_XL_BATTLE_ONLY) + { + update = -data->shadowSettings.overrideSize; + data->shadowSettings.overrideSize = SHADOW_SIZE_S; + } + else + { + update = 1; + data->shadowSettings.overrideSize += 1; + } + } + else + { + if (data->shadowSettings.overrideSize == SHADOW_SIZE_S) + { + update = SHADOW_SIZE_XL_BATTLE_ONLY; + data->shadowSettings.overrideSize = update; + } + else + { + update = -1; + data->shadowSettings.overrideSize -= 1; + } + } + + UpdateShadowSettingsText(data); + gSprites[data->frontShadowSpriteIdPrimary].oam.tileNum += (8 * update); + gSprites[data->frontShadowSpriteIdSecondary].oam.tileNum += (8 * update); +} + #define READ_PTR_FROM_TASK(taskId, dataId) \ (void *)( \ ((u16)(gTasks[taskId].data[dataId]) | \ @@ -1518,6 +1739,7 @@ static void HandleInput_PokemonSpriteVisualizer(u8 taskId) data->isFemale = FALSE; PrintDigitChars(data); UpdateBattlerValue(data); + ResetShadowSettings(data, data->currentmonId); ReloadPokemonSprites(data); data->animIdBack = GetSpeciesBackAnimSet(data->currentmonId) + 1; data->animIdFront = gSpeciesInfo[data->currentmonId].frontAnimId; @@ -1534,6 +1756,7 @@ static void HandleInput_PokemonSpriteVisualizer(u8 taskId) data->isFemale = FALSE; PrintDigitChars(data); UpdateBattlerValue(data); + ResetShadowSettings(data, data->currentmonId); ReloadPokemonSprites(data); data->animIdBack = GetSpeciesBackAnimSet(data->currentmonId) + 1; data->animIdFront = gSpeciesInfo[data->currentmonId].frontAnimId; @@ -1572,6 +1795,8 @@ static void HandleInput_PokemonSpriteVisualizer(u8 taskId) SetArrowInvisibility(data); SetConstSpriteValues(data); UpdateYPosOffsetText(data); + + gSprites[data->followerspriteId].invisible = TRUE; } else if (JOY_NEW(B_BUTTON)) { @@ -1622,13 +1847,22 @@ static void HandleInput_PokemonSpriteVisualizer(u8 taskId) } else if (data->currentSubmenu == 2) //Submenu 2 { - if (JOY_NEW(B_BUTTON)) + if (JOY_NEW(A_BUTTON) && B_ENEMY_MON_SHADOW_STYLE >= GEN_4 && P_GBA_STYLE_SPECIES_GFX == FALSE) + { + data->currentSubmenu = 3; + PrintInstructionsOnWindow(data); + SetArrowInvisibility(data); + UpdateShadowSettingsText(data); + } + else if (JOY_NEW(B_BUTTON)) { data->currentSubmenu = 1; SetArrowInvisibility(data); PrintInstructionsOnWindow(data); UpdateMonAnimNames(taskId); + + gSprites[data->followerspriteId].invisible = FALSE; } else if (JOY_NEW(DPAD_DOWN)) { @@ -1658,6 +1892,50 @@ static void HandleInput_PokemonSpriteVisualizer(u8 taskId) UpdateSubmenuTwoOptionValue(taskId, TRUE); } } + else if (data->currentSubmenu == 3) // Submenu 3 + { + if (JOY_NEW(B_BUTTON)) + { + data->currentSubmenu = 2; + PrintInstructionsOnWindow(data); + SetArrowInvisibility(data); + SetConstSpriteValues(data); + UpdateYPosOffsetText(data); + } + else if (JOY_NEW(DPAD_DOWN)) + { + data->submenuYpos[2] += 1; + if (data->submenuYpos[2] >= 3) + data->submenuYpos[2] = 0; + + data->yPosModifyArrows.currentDigit = data->submenuYpos[2]; + gSprites[data->yPosModifyArrows.arrowSpriteId[0]].y = OPTIONS_ARROW_Y + data->yPosModifyArrows.currentDigit * 12; + } + else if (JOY_NEW(DPAD_UP)) + { + if (data->submenuYpos[2] == 0) + data->submenuYpos[2] = 2; + else + data->submenuYpos[2] -= 1; + + data->yPosModifyArrows.currentDigit = data->submenuYpos[2]; + gSprites[data->yPosModifyArrows.arrowSpriteId[0]].y = OPTIONS_ARROW_Y + data->yPosModifyArrows.currentDigit * 12; + } + else if (JOY_NEW(DPAD_LEFT)) + { + if (data->submenuYpos[2] < 2) + UpdateShadowSettingsValue(taskId, FALSE); + else + UpdateShadowSizeValue(taskId, FALSE); + } + else if (JOY_NEW(DPAD_RIGHT)) + { + if (data->submenuYpos[2] < 2) + UpdateShadowSettingsValue(taskId, TRUE); + else + UpdateShadowSizeValue(taskId, TRUE); + } + } } #undef sDelay #undef sAnimId @@ -1675,6 +1953,10 @@ static void ReloadPokemonSprites(struct PokemonSpriteVisualizer *data) DestroySprite(&gSprites[data->iconspriteId]); DestroySprite(&gSprites[data->followerspriteId]); + DestroySprite(&gSprites[data->frontShadowSpriteIdPrimary]); + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4 && P_GBA_STYLE_SPECIES_GFX == FALSE) + DestroySprite(&gSprites[data->frontShadowSpriteIdSecondary]); + FreeMonSpritesGfx(); ResetSpriteData(); ResetPaletteFade(); @@ -1719,11 +2001,18 @@ static void ReloadPokemonSprites(struct PokemonSpriteVisualizer *data) gSprites[data->iconspriteId].oam.priority = 0; //Follower Sprite - data->followerspriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_MON_BASE + species + (data->isShiny ? SPECIES_SHINY_TAG : 0), + u16 graphicsId = (OBJ_EVENT_GFX_MON_BASE + species) & OBJ_EVENT_GFX_SPECIES_MASK; + struct FollowerSpriteVisualizerData followerData; + followerData.currentmonId = graphicsId; + followerData.isFemale = data->isFemale; + followerData.isShiny = data->isShiny; + graphicsId |= data->isFemale << OBJ_EVENT_GFX_SPECIES_BITS; + data->followerspriteId = CreateObjectGraphicsFollowerSpriteForVisualizer(graphicsId, SpriteCB_Follower, VISUALIZER_FOLLOWER_X, VISUALIZER_FOLLOWER_Y, - 0); + 0, + &followerData); gSprites[data->followerspriteId].oam.priority = 0; gSprites[data->followerspriteId].anims = sAnims_Follower; @@ -1763,5 +2052,3 @@ static void Exit_PokemonSpriteVisualizer(u8 taskId) m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 0x100); } } - -#endif diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 2c0b52780ff2..e34c4d8e375b 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -892,16 +892,20 @@ static void UnkUtil_DmaRun(struct UnkUtilData *); void SetMonFormPSS(struct BoxPokemon *boxMon); void UpdateSpeciesSpritePSS(struct BoxPokemon *boxmon); +static const u8 gText_JustOnePkmn[] = _("There is just one POKéMON with you."); +static const u8 gText_PartyFull[] = _("Your party is full!"); +static const u8 gText_Box[] = _("BOX"); + struct { const u8 *text; const u8 *desc; } static const sMainMenuTexts[OPTIONS_COUNT] = { - [OPTION_WITHDRAW] = {gText_WithdrawPokemon, gText_WithdrawMonDescription}, - [OPTION_DEPOSIT] = {gText_DepositPokemon, gText_DepositMonDescription}, - [OPTION_MOVE_MONS] = {gText_MovePokemon, gText_MoveMonDescription}, - [OPTION_MOVE_ITEMS] = {gText_MoveItems, gText_MoveItemsDescription}, - [OPTION_EXIT] = {gText_SeeYa, gText_SeeYaDescription} + [OPTION_WITHDRAW] = {COMPOUND_STRING("WITHDRAW POKéMON"), COMPOUND_STRING("Move POKéMON stored in BOXES to\nyour party.")}, + [OPTION_DEPOSIT] = {COMPOUND_STRING("DEPOSIT POKéMON"), COMPOUND_STRING("Store POKéMON in your party in BOXES.")}, + [OPTION_MOVE_MONS] = {COMPOUND_STRING("MOVE POKéMON"), COMPOUND_STRING("Organize the POKéMON in BOXES and\nin your party.")}, + [OPTION_MOVE_ITEMS] = {COMPOUND_STRING("MOVE ITEMS"), COMPOUND_STRING("Move items held by any POKéMON\nin a BOX or your party.")}, + [OPTION_EXIT] = {COMPOUND_STRING("SEE YA!"), COMPOUND_STRING("Return to the previous menu.")} }; static const struct WindowTemplate sWindowTemplate_MainMenu = @@ -1078,39 +1082,41 @@ static const struct SpriteTemplate sSpriteTemplate_DisplayMon = .callback = SpriteCallbackDummy, }; +static const u8 gText_PkmnIsSelected[] = _("{DYNAMIC 0} is selected."); + static const struct StorageMessage sMessages[] = { - [MSG_EXIT_BOX] = {gText_ExitFromBox, MSG_VAR_NONE}, - [MSG_WHAT_YOU_DO] = {gText_WhatDoYouWantToDo, MSG_VAR_NONE}, - [MSG_PICK_A_THEME] = {gText_PleasePickATheme, MSG_VAR_NONE}, - [MSG_PICK_A_WALLPAPER] = {gText_PickTheWallpaper, MSG_VAR_NONE}, - [MSG_IS_SELECTED] = {gText_PkmnIsSelected, MSG_VAR_MON_NAME_1}, - [MSG_JUMP_TO_WHICH_BOX] = {gText_JumpToWhichBox, MSG_VAR_NONE}, - [MSG_DEPOSIT_IN_WHICH_BOX] = {gText_DepositInWhichBox, MSG_VAR_NONE}, - [MSG_WAS_DEPOSITED] = {gText_PkmnWasDeposited, MSG_VAR_MON_NAME_1}, - [MSG_BOX_IS_FULL] = {gText_BoxIsFull2, MSG_VAR_NONE}, - [MSG_RELEASE_POKE] = {gText_ReleaseThisPokemon, MSG_VAR_NONE}, - [MSG_WAS_RELEASED] = {gText_PkmnWasReleased, MSG_VAR_RELEASE_MON_1}, - [MSG_BYE_BYE] = {gText_ByeByePkmn, MSG_VAR_RELEASE_MON_3}, - [MSG_MARK_POKE] = {gText_MarkYourPkmn, MSG_VAR_NONE}, - [MSG_LAST_POKE] = {gText_ThatsYourLastPkmn, MSG_VAR_NONE}, - [MSG_PARTY_FULL] = {gText_YourPartysFull, MSG_VAR_NONE}, - [MSG_HOLDING_POKE] = {gText_YoureHoldingAPkmn, MSG_VAR_NONE}, - [MSG_WHICH_ONE_WILL_TAKE] = {gText_WhichOneWillYouTake, MSG_VAR_NONE}, - [MSG_CANT_RELEASE_EGG] = {gText_YouCantReleaseAnEgg, MSG_VAR_NONE}, - [MSG_CONTINUE_BOX] = {gText_ContinueBoxOperations, MSG_VAR_NONE}, - [MSG_CAME_BACK] = {gText_PkmnCameBack, MSG_VAR_MON_NAME_1}, - [MSG_WORRIED] = {gText_WasItWorriedAboutYou, MSG_VAR_NONE}, - [MSG_SURPRISE] = {gText_FourEllipsesExclamation, MSG_VAR_NONE}, - [MSG_PLEASE_REMOVE_MAIL] = {gText_PleaseRemoveTheMail, MSG_VAR_NONE}, - [MSG_IS_SELECTED2] = {gText_PkmnIsSelected, MSG_VAR_ITEM_NAME}, - [MSG_GIVE_TO_MON] = {gText_GiveToAPkmn, MSG_VAR_NONE}, - [MSG_PLACED_IN_BAG] = {gText_PlacedItemInBag, MSG_VAR_ITEM_NAME}, - [MSG_BAG_FULL] = {gText_BagIsFull2, MSG_VAR_NONE}, - [MSG_PUT_IN_BAG] = {gText_PutItemInBag, MSG_VAR_NONE}, - [MSG_ITEM_IS_HELD] = {gText_ItemIsNowHeld, MSG_VAR_ITEM_NAME}, - [MSG_CHANGED_TO_ITEM] = {gText_ChangedToNewItem, MSG_VAR_ITEM_NAME}, - [MSG_CANT_STORE_MAIL] = {gText_MailCantBeStored, MSG_VAR_NONE}, + [MSG_EXIT_BOX] = {COMPOUND_STRING("Exit from the BOX?"), MSG_VAR_NONE}, + [MSG_WHAT_YOU_DO] = {COMPOUND_STRING("What do you want to do?"), MSG_VAR_NONE}, + [MSG_PICK_A_THEME] = {COMPOUND_STRING("Please pick a theme."), MSG_VAR_NONE}, + [MSG_PICK_A_WALLPAPER] = {COMPOUND_STRING("Pick the wallpaper."), MSG_VAR_NONE}, + [MSG_IS_SELECTED] = {gText_PkmnIsSelected, MSG_VAR_MON_NAME_1}, + [MSG_JUMP_TO_WHICH_BOX] = {COMPOUND_STRING("Jump to which BOX?"), MSG_VAR_NONE}, + [MSG_DEPOSIT_IN_WHICH_BOX] = {COMPOUND_STRING("Deposit in which BOX?"), MSG_VAR_NONE}, + [MSG_WAS_DEPOSITED] = {COMPOUND_STRING("{DYNAMIC 0} was deposited."), MSG_VAR_MON_NAME_1}, + [MSG_BOX_IS_FULL] = {COMPOUND_STRING("The BOX is full."), MSG_VAR_NONE}, + [MSG_RELEASE_POKE] = {COMPOUND_STRING("Release this POKéMON?"), MSG_VAR_NONE}, + [MSG_WAS_RELEASED] = {COMPOUND_STRING("{DYNAMIC 0} was released."), MSG_VAR_RELEASE_MON_1}, + [MSG_BYE_BYE] = {COMPOUND_STRING("Bye-bye, {DYNAMIC 0}!"), MSG_VAR_RELEASE_MON_3}, + [MSG_MARK_POKE] = {COMPOUND_STRING("Mark your POKéMON."), MSG_VAR_NONE}, + [MSG_LAST_POKE] = {COMPOUND_STRING("That's your last POKéMON!"), MSG_VAR_NONE}, + [MSG_PARTY_FULL] = {gText_YourPartysFull, MSG_VAR_NONE}, + [MSG_HOLDING_POKE] = {COMPOUND_STRING("You're holding a POKéMON!"), MSG_VAR_NONE}, + [MSG_WHICH_ONE_WILL_TAKE] = {COMPOUND_STRING("Which one will you take?"), MSG_VAR_NONE}, + [MSG_CANT_RELEASE_EGG] = {COMPOUND_STRING("You can't release an EGG."), MSG_VAR_NONE}, + [MSG_CONTINUE_BOX] = {COMPOUND_STRING("Continue BOX operations?"), MSG_VAR_NONE}, + [MSG_CAME_BACK] = {COMPOUND_STRING("{DYNAMIC 0} came back!"), MSG_VAR_MON_NAME_1}, + [MSG_WORRIED] = {COMPOUND_STRING("Was it worried about you?"), MSG_VAR_NONE}, + [MSG_SURPRISE] = {COMPOUND_STRING("… … … … !"), MSG_VAR_NONE}, + [MSG_PLEASE_REMOVE_MAIL] = {COMPOUND_STRING("Please remove the MAIL."), MSG_VAR_NONE}, + [MSG_IS_SELECTED2] = {gText_PkmnIsSelected, MSG_VAR_ITEM_NAME}, + [MSG_GIVE_TO_MON] = {COMPOUND_STRING("GIVE to a POKéMON?"), MSG_VAR_NONE}, + [MSG_PLACED_IN_BAG] = {COMPOUND_STRING("Placed item in the BAG."), MSG_VAR_ITEM_NAME}, + [MSG_BAG_FULL] = {COMPOUND_STRING("The BAG is full."), MSG_VAR_NONE}, + [MSG_PUT_IN_BAG] = {COMPOUND_STRING("Put this item in the BAG?"), MSG_VAR_NONE}, + [MSG_ITEM_IS_HELD] = {COMPOUND_STRING("{DYNAMIC 0} is now held."), MSG_VAR_ITEM_NAME}, + [MSG_CHANGED_TO_ITEM] = {COMPOUND_STRING("Changed to {DYNAMIC 0}."), MSG_VAR_ITEM_NAME}, + [MSG_CANT_STORE_MAIL] = {COMPOUND_STRING("MAIL can't be stored!"), MSG_VAR_NONE}, }; static const struct WindowTemplate sYesNoWindowTemplate = @@ -1998,7 +2004,10 @@ static void VBlankCB_PokeStorage(void) ProcessSpriteCopyRequests(); UnkUtil_Run(); TransferPlttBuffer(); - SetGpuReg(REG_OFFSET_BG2HOFS, sStorage->bg2_X); + if (sStorage != NULL) + { + SetGpuReg(REG_OFFSET_BG2HOFS, sStorage->bg2_X); + } } static void CB2_PokeStorage(void) @@ -4206,11 +4215,14 @@ static void StopFlashingCloseBoxButton(void) static void UpdateCloseBoxButtonFlash(void) { - if (sStorage->closeBoxFlashing && ++sStorage->closeBoxFlashTimer > 30) + if (sStorage != NULL) { - sStorage->closeBoxFlashTimer = 0; - sStorage->closeBoxFlashState = (sStorage->closeBoxFlashState == FALSE); - UpdateCloseBoxButtonTilemap(sStorage->closeBoxFlashState); + if (sStorage->closeBoxFlashing && ++sStorage->closeBoxFlashTimer > 30) + { + sStorage->closeBoxFlashTimer = 0; + sStorage->closeBoxFlashState = (sStorage->closeBoxFlashState == FALSE); + UpdateCloseBoxButtonTilemap(sStorage->closeBoxFlashState); + } } } @@ -5128,9 +5140,11 @@ static u16 TryLoadMonIconTiles(u16 species, u32 personality) { u16 i, offset; +#if P_GENDER_DIFFERENCES // Treat female mons as a seperate species as they may have a different icon than males if (gSpeciesInfo[species].iconSpriteFemale != NULL && IsPersonalityFemale(species, personality)) - species |= 0x8000; // 1 << 15 + species |= (1 << 15); +#endif // Search icon list for this species for (i = 0; i < MAX_MON_ICONS; i++) @@ -5196,11 +5210,13 @@ static struct Sprite *CreateMonIconSprite(u16 species, u32 personality, s16 x, s struct SpriteTemplate template = sSpriteTemplate_MonIcon; species = GetIconSpecies(species, personality); +#if P_GENDER_DIFFERENCES if (gSpeciesInfo[species].iconSpriteFemale != NULL && IsPersonalityFemale(species, personality)) { template.paletteTag = PALTAG_MON_ICON_0 + gSpeciesInfo[species].iconPalIndexFemale; } else +#endif { template.paletteTag = PALTAG_MON_ICON_0 + gSpeciesInfo[species].iconPalIndex; } @@ -6786,7 +6802,7 @@ static void InitSummaryScreenData(void) sStorage->summaryMon.mon = &sSavedMovingMon; sStorage->summaryStartPos = 0; sStorage->summaryMaxPos = 0; - sStorage->summaryScreenMode = SUMMARY_MODE_NORMAL; + sStorage->summaryScreenMode = SUMMARY_MODE_BOX_CURSOR; } else if (sCursorArea == CURSOR_AREA_IN_PARTY) { @@ -8035,47 +8051,49 @@ static void InitMenu(void) sStorage->menuWindow.baseBlock = 92; } +static const u8 gPCText_Give[] = _("GIVE"); + static const u8 *const sMenuTexts[] = { - [MENU_CANCEL] = gPCText_Cancel, - [MENU_STORE] = gPCText_Store, - [MENU_WITHDRAW] = gPCText_Withdraw, - [MENU_MOVE] = gPCText_Move, - [MENU_SHIFT] = gPCText_Shift, - [MENU_PLACE] = gPCText_Place, - [MENU_SUMMARY] = gPCText_Summary, - [MENU_RELEASE] = gPCText_Release, - [MENU_MARK] = gPCText_Mark, - [MENU_JUMP] = gPCText_Jump, - [MENU_WALLPAPER] = gPCText_Wallpaper, - [MENU_NAME] = gPCText_Name, - [MENU_TAKE] = gPCText_Take, + [MENU_CANCEL] = COMPOUND_STRING("CANCEL"), + [MENU_STORE] = COMPOUND_STRING("STORE"), + [MENU_WITHDRAW] = COMPOUND_STRING("WITHDRAW"), + [MENU_MOVE] = COMPOUND_STRING("MOVE"), + [MENU_SHIFT] = COMPOUND_STRING("SHIFT"), + [MENU_PLACE] = COMPOUND_STRING("PLACE"), + [MENU_SUMMARY] = COMPOUND_STRING("SUMMARY"), + [MENU_RELEASE] = COMPOUND_STRING("RELEASE"), + [MENU_MARK] = COMPOUND_STRING("MARK"), + [MENU_JUMP] = COMPOUND_STRING("JUMP"), + [MENU_WALLPAPER] = COMPOUND_STRING("WALLPAPER"), + [MENU_NAME] = COMPOUND_STRING("NAME"), + [MENU_TAKE] = COMPOUND_STRING("TAKE"), [MENU_GIVE] = gPCText_Give, [MENU_GIVE_2] = gPCText_Give, - [MENU_SWITCH] = gPCText_Switch, - [MENU_BAG] = gPCText_Bag, - [MENU_INFO] = gPCText_Info, - [MENU_SCENERY_1] = gPCText_Scenery1, - [MENU_SCENERY_2] = gPCText_Scenery2, - [MENU_SCENERY_3] = gPCText_Scenery3, - [MENU_ETCETERA] = gPCText_Etcetera, - [MENU_FRIENDS] = gPCText_Friends, - [MENU_FOREST] = gPCText_Forest, - [MENU_CITY] = gPCText_City, - [MENU_DESERT] = gPCText_Desert, - [MENU_SAVANNA] = gPCText_Savanna, - [MENU_CRAG] = gPCText_Crag, - [MENU_VOLCANO] = gPCText_Volcano, - [MENU_SNOW] = gPCText_Snow, - [MENU_CAVE] = gPCText_Cave, - [MENU_BEACH] = gPCText_Beach, - [MENU_SEAFLOOR] = gPCText_Seafloor, - [MENU_RIVER] = gPCText_River, - [MENU_SKY] = gPCText_Sky, - [MENU_POLKADOT] = gPCText_PolkaDot, - [MENU_POKECENTER] = gPCText_Pokecenter, - [MENU_MACHINE] = gPCText_Machine, - [MENU_SIMPLE] = gPCText_Simple, + [MENU_SWITCH] = COMPOUND_STRING("SWITCH"), + [MENU_BAG] = COMPOUND_STRING("BAG"), + [MENU_INFO] = COMPOUND_STRING("INFO"), + [MENU_SCENERY_1] = COMPOUND_STRING("SCENERY 1"), + [MENU_SCENERY_2] = COMPOUND_STRING("SCENERY 2"), + [MENU_SCENERY_3] = COMPOUND_STRING("SCENERY 3"), + [MENU_ETCETERA] = COMPOUND_STRING("ETCETERA"), + [MENU_FRIENDS] = COMPOUND_STRING("FRIENDS"), + [MENU_FOREST] = COMPOUND_STRING("FOREST"), + [MENU_CITY] = COMPOUND_STRING("CITY"), + [MENU_DESERT] = COMPOUND_STRING("DESERT"), + [MENU_SAVANNA] = COMPOUND_STRING("SAVANNA"), + [MENU_CRAG] = COMPOUND_STRING("CRAG"), + [MENU_VOLCANO] = COMPOUND_STRING("VOLCANO"), + [MENU_SNOW] = COMPOUND_STRING("SNOW"), + [MENU_CAVE] = COMPOUND_STRING("CAVE"), + [MENU_BEACH] = COMPOUND_STRING("BEACH"), + [MENU_SEAFLOOR] = COMPOUND_STRING("SEAFLOOR"), + [MENU_RIVER] = COMPOUND_STRING("RIVER"), + [MENU_SKY] = COMPOUND_STRING("SKY"), + [MENU_POLKADOT] = COMPOUND_STRING("POLKA-DOT"), + [MENU_POKECENTER] = COMPOUND_STRING("POKéCENTER"), + [MENU_MACHINE] = COMPOUND_STRING("MACHINE"), + [MENU_SIMPLE] = COMPOUND_STRING("SIMPLE"), }; static void SetMenuText(u8 textId) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index f8e0af18d142..4cfc17c707ea 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -24,6 +24,8 @@ #include "menu.h" #include "menu_helpers.h" #include "mon_markings.h" +#include "move_relearner.h" +#include "naming_screen.h" #include "party_menu.h" #include "palette.h" #include "pokeball.h" @@ -50,14 +52,6 @@ #include "constants/rgb.h" #include "constants/songs.h" -enum { - PSS_PAGE_INFO, - PSS_PAGE_SKILLS, - PSS_PAGE_BATTLE_MOVES, - PSS_PAGE_CONTEST_MOVES, - PSS_PAGE_COUNT, -}; - // Screen titles (upper left) #define PSS_LABEL_WINDOW_POKEMON_INFO_TITLE 0 #define PSS_LABEL_WINDOW_POKEMON_SKILLS_TITLE 1 @@ -65,7 +59,7 @@ enum { #define PSS_LABEL_WINDOW_CONTEST_MOVES_TITLE 3 // Button control text (upper right) -#define PSS_LABEL_WINDOW_PROMPT_CANCEL 4 +#define PSS_LABEL_WINDOW_PROMPT_CANCEL 4 // Also handles the "rename" prompt if P_SUMMARY_SCREEN_RENAME is true #define PSS_LABEL_WINDOW_PROMPT_INFO 5 #define PSS_LABEL_WINDOW_PROMPT_SWITCH 6 #define PSS_LABEL_WINDOW_UNUSED1 7 @@ -83,7 +77,7 @@ enum { // Moves screen #define PSS_LABEL_WINDOW_MOVES_POWER_ACC 14 // Also contains the power and accuracy values #define PSS_LABEL_WINDOW_MOVES_APPEAL_JAM 15 -#define PSS_LABEL_WINDOW_UNUSED2 16 +#define PSS_LABEL_WINDOW_PROMPT_RELEARN 16 // Above/below the pokemon's portrait (left) #define PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER 17 @@ -187,7 +181,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData u8 secondMoveIndex; bool8 lockMovesFlag; // This is used to prevent the player from changing position of moves in a battle or when trading. u8 bgDisplayOrder; // Determines the order page backgrounds are loaded while scrolling between them - u8 filler40CA; + u8 relearnableMovesNum; u8 windowIds[8]; u8 spriteIds[SPRITE_ARR_ID_COUNT]; bool8 handleDeoxys; @@ -199,6 +193,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData EWRAM_DATA u8 gLastViewedMonIndex = 0; static EWRAM_DATA u8 sMoveSlotToReplace = 0; ALIGNED(4) static EWRAM_DATA u8 sAnimDelayTaskId = 0; +EWRAM_DATA MainCallback gInitialSummaryScreenCallback = NULL; // stores callback from the first time the screen is opened from the party or PC menu // forward declarations static bool8 LoadGraphics(void); @@ -320,6 +315,11 @@ static void DestroyMoveSelectorSprites(u8); static void SetMainMoveSelectorColor(u8); static void KeepMoveSelectorVisible(u8); static void SummaryScreen_DestroyAnimDelayTask(void); +static bool32 ShouldShowMoveRelearner(void); +static bool32 ShouldShowRename(void); +static void ShowCancelOrRenamePrompt(void); +static void CB2_ReturnToSummaryScreenFromNamingScreen(void); +static void CB2_PssChangePokemonNickname(void); static const struct BgTemplate sBgTemplates[] = { @@ -535,13 +535,13 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 367, }, - [PSS_LABEL_WINDOW_UNUSED2] = { + [PSS_LABEL_WINDOW_PROMPT_RELEARN] = { .bg = 0, .tilemapLeft = 22, - .tilemapTop = 4, - .width = 0, + .tilemapTop = 2, + .width = 8, .height = 2, - .paletteNum = 6, + .paletteNum = 15, .baseBlock = 387, }, [PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER] = { @@ -551,7 +551,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .width = 5, .height = 2, .paletteNum = 7, - .baseBlock = 387, + .baseBlock = 403, }, [PSS_LABEL_WINDOW_PORTRAIT_NICKNAME] = { .bg = 0, @@ -560,7 +560,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .width = 9, .height = 2, .paletteNum = 6, - .baseBlock = 397, + .baseBlock = 413, }, [PSS_LABEL_WINDOW_PORTRAIT_SPECIES] = { .bg = 0, @@ -569,7 +569,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .width = 9, .height = 4, .paletteNum = 6, - .baseBlock = 415, + .baseBlock = 431, }, [PSS_LABEL_WINDOW_END] = DUMMY_WIN_TEMPLATE }; @@ -582,7 +582,7 @@ static const struct WindowTemplate sPageInfoTemplate[] = .width = 11, .height = 2, .paletteNum = 6, - .baseBlock = 451, + .baseBlock = 467, }, [PSS_DATA_WINDOW_INFO_ID] = { .bg = 0, @@ -591,7 +591,7 @@ static const struct WindowTemplate sPageInfoTemplate[] = .width = 7, .height = 2, .paletteNum = 6, - .baseBlock = 473, + .baseBlock = 489, }, [PSS_DATA_WINDOW_INFO_ABILITY] = { .bg = 0, @@ -600,7 +600,7 @@ static const struct WindowTemplate sPageInfoTemplate[] = .width = 18, .height = 4, .paletteNum = 6, - .baseBlock = 487, + .baseBlock = 503, }, [PSS_DATA_WINDOW_INFO_MEMO] = { .bg = 0, @@ -609,7 +609,7 @@ static const struct WindowTemplate sPageInfoTemplate[] = .width = 18, .height = 6, .paletteNum = 6, - .baseBlock = 559, + .baseBlock = 575, }, }; static const struct WindowTemplate sPageSkillsTemplate[] = @@ -621,7 +621,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .width = 10, .height = 2, .paletteNum = 6, - .baseBlock = 451, + .baseBlock = 467, }, [PSS_DATA_WINDOW_SKILLS_RIBBON_COUNT] = { .bg = 0, @@ -630,7 +630,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .width = 10, .height = 2, .paletteNum = 6, - .baseBlock = 471, + .baseBlock = 487, }, [PSS_DATA_WINDOW_SKILLS_STATS_LEFT] = { .bg = 0, @@ -639,7 +639,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .width = 6, .height = 6, .paletteNum = 6, - .baseBlock = 491, + .baseBlock = 507, }, [PSS_DATA_WINDOW_SKILLS_STATS_RIGHT] = { .bg = 0, @@ -648,7 +648,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .width = 3, .height = 6, .paletteNum = 6, - .baseBlock = 527, + .baseBlock = 543, }, [PSS_DATA_WINDOW_EXP] = { .bg = 0, @@ -657,7 +657,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .width = 6, .height = 4, .paletteNum = 6, - .baseBlock = 545, + .baseBlock = 561, }, }; static const struct WindowTemplate sPageMovesTemplate[] = // This is used for both battle and contest moves @@ -669,7 +669,7 @@ static const struct WindowTemplate sPageMovesTemplate[] = // This is used for bo .width = 9, .height = 10, .paletteNum = 6, - .baseBlock = 451, + .baseBlock = 467, }, [PSS_DATA_WINDOW_MOVE_PP] = { .bg = 0, @@ -678,7 +678,7 @@ static const struct WindowTemplate sPageMovesTemplate[] = // This is used for bo .width = 6, .height = 10, .paletteNum = 8, - .baseBlock = 541, + .baseBlock = 557, }, [PSS_DATA_WINDOW_MOVE_DESCRIPTION] = { .bg = 0, @@ -687,7 +687,7 @@ static const struct WindowTemplate sPageMovesTemplate[] = // This is used for bo .width = 20, .height = 4, .paletteNum = 6, - .baseBlock = 601, + .baseBlock = 617, }, }; static const u8 sTextColors[][3] = @@ -1166,6 +1166,8 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, sMonSummaryScreen->curMonIndex = monIndex; sMonSummaryScreen->maxMonIndex = maxMonIndex; sMonSummaryScreen->callback = callback; + if (gInitialSummaryScreenCallback == NULL) + gInitialSummaryScreenCallback = callback; if (mode == SUMMARY_MODE_BOX) sMonSummaryScreen->isBoxMon = TRUE; @@ -1176,6 +1178,9 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, { case SUMMARY_MODE_NORMAL: case SUMMARY_MODE_BOX: + case SUMMARY_MODE_BOX_CURSOR: + case SUMMARY_MODE_RELEARNER_BATTLE: + case SUMMARY_MODE_RELEARNER_CONTEST: sMonSummaryScreen->minPageIndex = 0; sMonSummaryScreen->maxPageIndex = PSS_PAGE_COUNT - 1; break; @@ -1191,7 +1196,13 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, break; } - sMonSummaryScreen->currPageIndex = sMonSummaryScreen->minPageIndex; + if (mode == SUMMARY_MODE_RELEARNER_BATTLE) + sMonSummaryScreen->currPageIndex = PSS_PAGE_BATTLE_MOVES; + else if (mode == SUMMARY_MODE_RELEARNER_CONTEST) + sMonSummaryScreen->currPageIndex = PSS_PAGE_CONTEST_MOVES; + else + sMonSummaryScreen->currPageIndex = sMonSummaryScreen->minPageIndex; + sMonSummaryScreen->categoryIconSpriteId = 0xFF; SummaryScreen_SetAnimDelayTaskId(TASK_NONE); @@ -1533,6 +1544,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *mon) sum->ribbonCount = GetMonData(mon, MON_DATA_RIBBON_COUNT); sum->teraType = GetMonData(mon, MON_DATA_TERA_TYPE); sum->isShiny = GetMonData(mon, MON_DATA_IS_SHINY); + sMonSummaryScreen->relearnableMovesNum = P_SUMMARY_SCREEN_MOVE_RELEARNER ? GetNumberOfRelearnableMoves(mon) : 0; return TRUE; } sMonSummaryScreen->switchCounter++; @@ -1541,7 +1553,9 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *mon) static void SetDefaultTilemaps(void) { - if (sMonSummaryScreen->currPageIndex != PSS_PAGE_BATTLE_MOVES && sMonSummaryScreen->currPageIndex != PSS_PAGE_CONTEST_MOVES) + if ((sMonSummaryScreen->currPageIndex != PSS_PAGE_BATTLE_MOVES && sMonSummaryScreen->currPageIndex != PSS_PAGE_CONTEST_MOVES) + || sMonSummaryScreen->mode == SUMMARY_MODE_RELEARNER_BATTLE + || sMonSummaryScreen->mode == SUMMARY_MODE_RELEARNER_CONTEST) { HandlePowerAccTilemap(0, 0xFF); HandleAppealJamTilemap(0, 0xFF, 0); @@ -1558,9 +1572,36 @@ static void SetDefaultTilemaps(void) ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); } + // these blocks handle preparing the gfx to return straight to the respective move info screens + if (sMonSummaryScreen->mode == SUMMARY_MODE_RELEARNER_BATTLE) + { + SetBgTilemapBuffer(1, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_SKILLS][0]); + SetBgTilemapBuffer(2, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); + SetBgAttribute(1, BG_ATTR_PRIORITY, 2); + SetBgAttribute(2, BG_ATTR_PRIORITY, 1); + ChangeBgX(1, 0x10000, BG_COORD_ADD); + ChangeBgX(2, 0x10000, BG_COORD_ADD); + ShowBg(1); + ShowBg(2); + } + else if (sMonSummaryScreen->mode == SUMMARY_MODE_RELEARNER_CONTEST) + { + sMonSummaryScreen->bgDisplayOrder = 1; + SetBgTilemapBuffer(1, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0]); + SetBgTilemapBuffer(2, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); + SetBgAttribute(1, BG_ATTR_PRIORITY, 1); + SetBgAttribute(2, BG_ATTR_PRIORITY, 2); + ChangeBgX(1, 0x10000, BG_COORD_ADD); + ChangeBgX(2, 0x10000, BG_COORD_ADD); + ShowBg(1); + ShowBg(2); + } + if (sMonSummaryScreen->summary.ailment == AILMENT_NONE) HandleStatusTilemap(0, 0xFF); - else if (sMonSummaryScreen->currPageIndex != PSS_PAGE_BATTLE_MOVES && sMonSummaryScreen->currPageIndex != PSS_PAGE_CONTEST_MOVES) + else if ((sMonSummaryScreen->currPageIndex != PSS_PAGE_BATTLE_MOVES && sMonSummaryScreen->currPageIndex != PSS_PAGE_CONTEST_MOVES) + || sMonSummaryScreen->mode == SUMMARY_MODE_RELEARNER_BATTLE + || sMonSummaryScreen->mode == SUMMARY_MODE_RELEARNER_CONTEST) PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); LimitEggSummaryPageDisplay(); @@ -1583,6 +1624,8 @@ static void CloseSummaryScreen(u8 taskId) { if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE && !gPaletteFade.active) { + if (sMonSummaryScreen->callback == gInitialSummaryScreenCallback) + gInitialSummaryScreenCallback = NULL; SetMainCallback2(sMonSummaryScreen->callback); gLastViewedMonIndex = sMonSummaryScreen->curMonIndex; SummaryScreen_DestroyAnimDelayTask(); @@ -1623,6 +1666,12 @@ static void Task_HandleInput(u8 taskId) { if (sMonSummaryScreen->currPageIndex == PSS_PAGE_INFO) { + if (ShouldShowRename()) + { + sMonSummaryScreen->callback = CB2_PssChangePokemonNickname; + gSpecialVar_0x8004 = sMonSummaryScreen->curMonIndex; + } + StopPokemonAnimations(); PlaySE(SE_SELECT); BeginCloseSummaryScreen(taskId); @@ -1640,15 +1689,24 @@ static void Task_HandleInput(u8 taskId) PlaySE(SE_SELECT); BeginCloseSummaryScreen(taskId); } - #if DEBUG_POKEMON_SPRITE_VISUALIZER == TRUE - else if (JOY_NEW(SELECT_BUTTON) && !gMain.inBattle) + else if (JOY_NEW(START_BUTTON) + && ShouldShowMoveRelearner() + && (sMonSummaryScreen->currPageIndex == PSS_PAGE_BATTLE_MOVES || sMonSummaryScreen->currPageIndex == PSS_PAGE_CONTEST_MOVES)) + { + sMonSummaryScreen->callback = CB2_InitLearnMove; + gSpecialVar_0x8004 = sMonSummaryScreen->curMonIndex; + gOriginSummaryScreenPage = sMonSummaryScreen->currPageIndex; + StopPokemonAnimations(); + PlaySE(SE_SELECT); + BeginCloseSummaryScreen(taskId); + } + else if (DEBUG_POKEMON_SPRITE_VISUALIZER && JOY_NEW(SELECT_BUTTON) && !gMain.inBattle) { sMonSummaryScreen->callback = CB2_Pokemon_Sprite_Visualizer; StopPokemonAnimations(); PlaySE(SE_SELECT); CloseSummaryScreen(taskId); } - #endif } } @@ -1724,7 +1782,20 @@ static void Task_ChangeSummaryMon(u8 taskId) break; case 4: if (ExtractMonDataToSummaryStruct(&sMonSummaryScreen->currentMon) == FALSE) + { return; + } + else + { + if (P_SUMMARY_SCREEN_MOVE_RELEARNER + && (sMonSummaryScreen->currPageIndex == PSS_PAGE_BATTLE_MOVES || sMonSummaryScreen->currPageIndex == PSS_PAGE_CONTEST_MOVES)) + { + if (ShouldShowMoveRelearner()) + PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_RELEARN); + else + ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_RELEARN); + } + } break; case 5: RemoveAndCreateMonMarkingsSprite(&sMonSummaryScreen->currentMon); @@ -1755,6 +1826,12 @@ static void Task_ChangeSummaryMon(u8 taskId) case 11: PrintPageSpecificText(sMonSummaryScreen->currPageIndex); LimitEggSummaryPageDisplay(); + if (P_SUMMARY_SCREEN_RENAME && sMonSummaryScreen->currPageIndex == PSS_PAGE_INFO) + { + FillWindowPixelBuffer(PSS_LABEL_WINDOW_PROMPT_CANCEL, PIXEL_FILL(0)); + ShowCancelOrRenamePrompt(); + PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_CANCEL); + } break; case 12: gSprites[sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_MON]].data[2] = 0; @@ -1971,6 +2048,8 @@ static void SwitchToMoveSelection(u8 taskId) if (!sMonSummaryScreen->lockMovesFlag) { ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); + if (ShouldShowMoveRelearner()) + ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_RELEARN); PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_SWITCH); } TilemapFiveMovesDisplay(sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, FALSE); @@ -2101,6 +2180,8 @@ static void CloseMoveSelectMode(u8 taskId) DestroyMoveSelectorSprites(SPRITE_ARR_ID_MOVE_SELECTOR1); ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_SWITCH); PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); + if (ShouldShowMoveRelearner()) + PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_RELEARN); PrintMoveDetails(0); TilemapFiveMovesDisplay(sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, TRUE); TilemapFiveMovesDisplay(sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, TRUE); @@ -2927,12 +3008,7 @@ static void PrintPageNamesAndStats(void) PrintTextOnWindow(PSS_LABEL_WINDOW_BATTLE_MOVES_TITLE, gText_BattleMoves, 2, 1, 0, 1); PrintTextOnWindow(PSS_LABEL_WINDOW_CONTEST_MOVES_TITLE, gText_ContestMoves, 2, 1, 0, 1); - stringXPos = GetStringRightAlignXOffset(FONT_NORMAL, gText_Cancel2, 62); - iconXPos = stringXPos - 16; - if (iconXPos < 0) - iconXPos = 0; - PrintAOrBButtonIcon(PSS_LABEL_WINDOW_PROMPT_CANCEL, FALSE, iconXPos); - PrintTextOnWindow(PSS_LABEL_WINDOW_PROMPT_CANCEL, gText_Cancel2, stringXPos, 1, 0, 0); + ShowCancelOrRenamePrompt(); stringXPos = GetStringRightAlignXOffset(FONT_NORMAL, gText_Info, 62); iconXPos = stringXPos - 16; @@ -2969,6 +3045,7 @@ static void PrintPageNamesAndStats(void) PrintTextOnWindow(PSS_LABEL_WINDOW_MOVES_POWER_ACC, gText_Accuracy2, 0, 17, 0, 1); PrintTextOnWindow(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM, gText_Appeal, 0, 1, 0, 1); PrintTextOnWindow(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM, gText_Jam, 0, 17, 0, 1); + PrintTextOnWindowWithFont(PSS_LABEL_WINDOW_PROMPT_RELEARN, gText_Relearn, 0, 4, 0, 0, FONT_SMALL); } static void PutPageWindowTilemaps(u8 page) @@ -3005,6 +3082,8 @@ static void PutPageWindowTilemaps(u8 page) else { PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); + if (ShouldShowMoveRelearner()) + PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_RELEARN); } break; case PSS_PAGE_CONTEST_MOVES: @@ -3017,6 +3096,8 @@ static void PutPageWindowTilemaps(u8 page) else { PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); + if (ShouldShowMoveRelearner()) + PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_RELEARN); } break; } @@ -3056,6 +3137,8 @@ static void ClearPageWindowTilemaps(u8 page) else { ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); + if (ShouldShowMoveRelearner()) + ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_RELEARN); } break; case PSS_PAGE_CONTEST_MOVES: @@ -3067,6 +3150,8 @@ static void ClearPageWindowTilemaps(u8 page) else { ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); + if (ShouldShowMoveRelearner()) + ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_RELEARN); } break; } @@ -3957,16 +4042,24 @@ static void SetMonTypeIcons(void) static void SetMoveTypeIcons(void) { - u8 i; + u32 i; struct PokeSummary *summary = &sMonSummaryScreen->summary; + struct Pokemon *mon = &sMonSummaryScreen->currentMon; + u32 type; + for (i = 0; i < MAX_MON_MOVES; i++) { if (summary->moves[i] != MOVE_NONE) { - SetTypeSpritePosAndPal(gMovesInfo[summary->moves[i]].type, 85, 32 + (i * 16), i + SPRITE_ARR_ID_TYPE); + type = gMovesInfo[summary->moves[i]].type; + if (P_SHOW_DYNAMIC_TYPES) + type = CheckDynamicMoveType(mon, summary->moves[i], 0); + SetTypeSpritePosAndPal(type, 85, 32 + (i * 16), i + SPRITE_ARR_ID_TYPE); } else + { SetSpriteInvisibility(i + SPRITE_ARR_ID_TYPE, TRUE); + } } } @@ -3985,6 +4078,12 @@ static void SetContestMoveTypeIcons(void) static void SetNewMoveTypeIcon(void) { + u32 type = gMovesInfo[sMonSummaryScreen->newMove].type; + struct Pokemon *mon = &sMonSummaryScreen->currentMon; + + if (P_SHOW_DYNAMIC_TYPES) + type = CheckDynamicMoveType(mon, sMonSummaryScreen->newMove, 0); + if (sMonSummaryScreen->newMove == MOVE_NONE) { SetSpriteInvisibility(SPRITE_ARR_ID_TYPE + 4, TRUE); @@ -3992,9 +4091,13 @@ static void SetNewMoveTypeIcon(void) else { if (sMonSummaryScreen->currPageIndex == PSS_PAGE_BATTLE_MOVES) - SetTypeSpritePosAndPal(gMovesInfo[sMonSummaryScreen->newMove].type, 85, 96, SPRITE_ARR_ID_TYPE + 4); + { + SetTypeSpritePosAndPal(type, 85, 96, SPRITE_ARR_ID_TYPE + 4); + } else + { SetTypeSpritePosAndPal(NUMBER_OF_MON_TYPES + gMovesInfo[sMonSummaryScreen->newMove].contestCategory, 85, 96, SPRITE_ARR_ID_TYPE + 4); + } } } @@ -4168,7 +4271,7 @@ static void RemoveAndCreateMonMarkingsSprite(struct Pokemon *mon) static void CreateCaughtBallSprite(struct Pokemon *mon) { - u8 ball = ItemIdToBallId(GetMonData(mon, MON_DATA_POKEBALL)); + enum PokeBall ball = GetMonData(mon, MON_DATA_POKEBALL); LoadBallGfx(ball); sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_BALL] = CreateSprite(&gBallSpriteTemplates[ball], 16, 136, 0); @@ -4281,3 +4384,54 @@ static void KeepMoveSelectorVisible(u8 firstSpriteId) gSprites[spriteIds[i]].invisible = FALSE; } } + +static inline bool32 ShouldShowMoveRelearner(void) +{ + return (P_SUMMARY_SCREEN_MOVE_RELEARNER + && !sMonSummaryScreen->lockMovesFlag + && sMonSummaryScreen->mode != SUMMARY_MODE_BOX + && sMonSummaryScreen->mode != SUMMARY_MODE_BOX_CURSOR + && sMonSummaryScreen->relearnableMovesNum > 0 + && !InBattleFactory() + && !InSlateportBattleTent()); +} + +static inline bool32 ShouldShowRename(void) +{ + return (P_SUMMARY_SCREEN_RENAME + && !sMonSummaryScreen->lockMovesFlag + && !sMonSummaryScreen->summary.isEgg + && sMonSummaryScreen->mode != SUMMARY_MODE_BOX + && sMonSummaryScreen->mode != SUMMARY_MODE_BOX_CURSOR + && !InBattleFactory() + && !InSlateportBattleTent() + && GetPlayerIDAsU32() == sMonSummaryScreen->summary.OTID); +} + +static void ShowCancelOrRenamePrompt(void) +{ + const u8 *promptText = ShouldShowRename() ? gText_Rename : gText_Cancel2; + + int stringXPos = GetStringRightAlignXOffset(FONT_NORMAL, promptText, 62); + int iconXPos = stringXPos - 16; + if (iconXPos < 0) + iconXPos = 0; + + PrintAOrBButtonIcon(PSS_LABEL_WINDOW_PROMPT_CANCEL, FALSE, iconXPos); + PrintTextOnWindow(PSS_LABEL_WINDOW_PROMPT_CANCEL, promptText, stringXPos, 1, 0, 0); +} + +static void CB2_ReturnToSummaryScreenFromNamingScreen(void) +{ + SetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar2); + ShowPokemonSummaryScreen(SUMMARY_MODE_NORMAL, gPlayerParty, gSpecialVar_0x8004, gPlayerPartyCount - 1, gInitialSummaryScreenCallback); +} + +static void CB2_PssChangePokemonNickname(void) +{ + GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar3); + GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar2); + DoNamingScreen(NAMING_SCREEN_NICKNAME, gStringVar2, GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES, NULL), + GetMonGender(&gPlayerParty[gSpecialVar_0x8004]), GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_PERSONALITY, NULL), + CB2_ReturnToSummaryScreenFromNamingScreen); +} diff --git a/src/pokenav_conditions_gfx.c b/src/pokenav_conditions_gfx.c index 26d8e99e0686..8845307c0e6b 100644 --- a/src/pokenav_conditions_gfx.c +++ b/src/pokenav_conditions_gfx.c @@ -30,6 +30,8 @@ static const u32 sConditionGraphData_Gfx[] = INCBIN_U32("graphics/pokenav/condit static const u32 sConditionGraphData_Tilemap[] = INCBIN_U32("graphics/pokenav/condition/graph_data.bin.lz"); static const u16 sMonMarkings_Pal[] = INCBIN_U16("graphics/pokenav/condition/mon_markings.gbapal"); +static const u8 gText_Number2[] = _("No. "); + static const struct BgTemplate sMenuBgTemplates[3] = { { diff --git a/src/pokenav_conditions_search_results.c b/src/pokenav_conditions_search_results.c index 9afb2bb2d9c5..4889dd788c2b 100644 --- a/src/pokenav_conditions_search_results.c +++ b/src/pokenav_conditions_search_results.c @@ -22,6 +22,8 @@ enum CONDITION_SEARCH_FUNC_SELECT_MON, }; +static const u8 gText_NumberIndex[] = _("No. {DYNAMIC 0}"); + struct Pokenav_SearchResults { u32 (*callback)(struct Pokenav_SearchResults *); diff --git a/src/pokenav_list.c b/src/pokenav_list.c index ed3d40dee2b2..dbcf1373316e 100644 --- a/src/pokenav_list.c +++ b/src/pokenav_list.c @@ -96,6 +96,10 @@ static u32 LoopedTask_PrintCheckPageInfo(s32); static const u16 sListArrow_Pal[] = INCBIN_U16("graphics/pokenav/list_arrows.gbapal"); static const u32 sListArrow_Gfx[] = INCBIN_U32("graphics/pokenav/list_arrows.4bpp.lz"); +static const u8 gText_PokenavMatchCall_Strategy[] = _("STRATEGY"); +static const u8 gText_PokenavMatchCall_TrainerPokemon[] = _("TRAINER'S POKéMON"); +static const u8 gText_PokenavMatchCall_SelfIntroduction[] = _("SELF-INTRODUCTION"); + static EWRAM_DATA u32 sMoveWindowDownIndex = 0; // Read, but pointlessly bool32 CreatePokenavList(const struct BgTemplate *bgTemplate, struct PokenavListTemplate *listTemplate, s32 tileOffset) diff --git a/src/pokenav_main_menu.c b/src/pokenav_main_menu.c index 761f572d6bda..dfd656833de3 100644 --- a/src/pokenav_main_menu.c +++ b/src/pokenav_main_menu.c @@ -86,18 +86,18 @@ static const struct WindowTemplate sHelpBarWindowTemplate[] = static const u8 *const sHelpBarTexts[HELPBAR_COUNT] = { - [HELPBAR_NONE] = gText_Pokenav_ClearButtonList, - [HELPBAR_MAP_ZOOMED_OUT] = gText_PokenavMap_ZoomedOutButtons, - [HELPBAR_MAP_ZOOMED_IN] = gText_PokenavMap_ZoomedInButtons, - [HELPBAR_CONDITION_MON_LIST] = gText_PokenavCondition_MonListButtons, - [HELPBAR_CONDITION_MON_STATUS] = gText_PokenavCondition_MonStatusButtons, - [HELPBAR_CONDITION_MARKINGS] = gText_PokenavCondition_MarkingButtons, - [HELPBAR_MC_TRAINER_LIST] = gText_PokenavMatchCall_TrainerListButtons, - [HELPBAR_MC_CALL_MENU] = gText_PokenavMatchCall_CallMenuButtons, - [HELPBAR_MC_CHECK_PAGE] = gText_PokenavMatchCall_CheckTrainerButtons, - [HELPBAR_RIBBONS_MON_LIST] = gText_PokenavRibbons_MonListButtons, - [HELPBAR_RIBBONS_LIST] = gText_PokenavRibbons_RibbonListButtons, - [HELPBAR_RIBBONS_CHECK] = gText_PokenavRibbons_RibbonCheckButtons, + [HELPBAR_NONE] = COMPOUND_STRING("{CLEAR 0x80}"), + [HELPBAR_MAP_ZOOMED_OUT] = COMPOUND_STRING("{A_BUTTON}ZOOM {B_BUTTON}CANCEL"), + [HELPBAR_MAP_ZOOMED_IN] = COMPOUND_STRING("{A_BUTTON}FULL {B_BUTTON}CANCEL"), + [HELPBAR_CONDITION_MON_LIST] = COMPOUND_STRING("{A_BUTTON}CONDITION {B_BUTTON}CANCEL"), + [HELPBAR_CONDITION_MON_STATUS] = COMPOUND_STRING("{A_BUTTON}MARKINGS {B_BUTTON}CANCEL"), + [HELPBAR_CONDITION_MARKINGS] = COMPOUND_STRING("{A_BUTTON}SELECT MARK {B_BUTTON}CANCEL"), + [HELPBAR_MC_TRAINER_LIST] = COMPOUND_STRING("{A_BUTTON}MENU {B_BUTTON}CANCEL"), + [HELPBAR_MC_CALL_MENU] = COMPOUND_STRING("{A_BUTTON}OK {B_BUTTON}CANCEL"), + [HELPBAR_MC_CHECK_PAGE] = COMPOUND_STRING("{B_BUTTON}CANCEL"), + [HELPBAR_RIBBONS_MON_LIST] = COMPOUND_STRING("{A_BUTTON}RIBBONS {B_BUTTON}CANCEL"), + [HELPBAR_RIBBONS_LIST] = COMPOUND_STRING("{A_BUTTON}CHECK {B_BUTTON}CANCEL"), + [HELPBAR_RIBBONS_CHECK] = COMPOUND_STRING("{B_BUTTON}CANCEL"), }; static const u8 sHelpBarTextColors[3] = diff --git a/src/pokenav_match_call_data.c b/src/pokenav_match_call_data.c index aecf2caf9fd9..65f3e5578089 100644 --- a/src/pokenav_match_call_data.c +++ b/src/pokenav_match_call_data.c @@ -179,8 +179,8 @@ static const struct MatchCallStructNPC sMrStoneMatchCallHeader = .type = MC_TYPE_NPC, .mapSec = MAPSEC_RUSTBORO_CITY, .flag = 0xFFFF, - .desc = gText_MrStoneMatchCallDesc, - .name = gText_MrStoneMatchCallName, + .desc = COMPOUND_STRING("DEVON PRES"), + .name = COMPOUND_STRING("MR. STONE"), .textData = sMrStoneTextScripts }; @@ -203,8 +203,8 @@ static const struct MatchCallStructTrainer sNormanMatchCallHeader = .mapSec = MAPSEC_PETALBURG_CITY, .flag = FLAG_ENABLE_NORMAN_MATCH_CALL, .rematchTableIdx = REMATCH_NORMAN, - .desc = gText_NormanMatchCallDesc, - .name = gText_NormanMatchCallName, + .desc = COMPOUND_STRING("RELIABLE ONE"), + .name = COMPOUND_STRING("DAD"), .textData = sNormanTextScripts }; @@ -213,8 +213,8 @@ static const struct MatchCallBirch sProfBirchMatchCallHeader = .type = MC_TYPE_BIRCH, .mapSec = 0, .flag = FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, - .desc = gText_ProfBirchMatchCallDesc, - .name = gText_ProfBirchMatchCallName + .desc = COMPOUND_STRING("{PKMN} PROF."), + .name = COMPOUND_STRING("PROF. BIRCH") }; static const match_call_text_data_t sMomTextScripts[] = { @@ -229,8 +229,8 @@ static const struct MatchCallStructNPC sMomMatchCallHeader = .type = MC_TYPE_NPC, .mapSec = MAPSEC_LITTLEROOT_TOWN, .flag = FLAG_ENABLE_MOM_MATCH_CALL, - .desc = gText_MomMatchCallDesc, - .name = gText_MomMatchCallName, + .desc = COMPOUND_STRING("CALM & KIND"), + .name = COMPOUND_STRING("MOM"), .textData = sMomTextScripts }; @@ -250,11 +250,13 @@ static const struct MatchCallStructNPC sStevenMatchCallHeader = .type = MC_TYPE_NPC, .mapSec = MAPSEC_NONE, .flag = FLAG_REGISTERED_STEVEN_POKENAV, - .desc = gText_StevenMatchCallDesc, - .name = gText_StevenMatchCallName, + .desc = COMPOUND_STRING("HARD AS ROCK"), + .name = COMPOUND_STRING("STEVEN"), .textData = sStevenTextScripts }; +static const u8 gText_MayBrendanMatchCallDesc[] = _("RAD NEIGHBOR"); + static const match_call_text_data_t sMayTextScripts[] = { { MatchCall_Text_May1, 0xFFFF, 0xFFFF }, { MatchCall_Text_May2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, @@ -337,7 +339,7 @@ static const struct MatchCallWally sWallyMatchCallHeader = .mapSec = 0, .flag = FLAG_ENABLE_WALLY_MATCH_CALL, .rematchTableIdx = REMATCH_WALLY_VR, - .desc = gText_WallyMatchCallDesc, + .desc = COMPOUND_STRING("{PKMN} LOVER"), .textData = sWallyTextScripts, .locationData = sWallyLocationData }; @@ -359,8 +361,8 @@ static const struct MatchCallStructNPC sScottMatchCallHeader = .type = 0, .mapSec = MAPSEC_NONE, .flag = FLAG_ENABLE_SCOTT_MATCH_CALL, - .desc = gText_ScottMatchCallDesc, - .name = gText_ScottMatchCallName, + .desc = COMPOUND_STRING("ELUSIVE EYES"), + .name = COMPOUND_STRING("SCOTT"), .textData = sScottTextScripts }; @@ -378,7 +380,7 @@ static const struct MatchCallStructTrainer sRoxanneMatchCallHeader = .mapSec = MAPSEC_RUSTBORO_CITY, .flag = FLAG_ENABLE_ROXANNE_MATCH_CALL, .rematchTableIdx = REMATCH_ROXANNE, - .desc = gText_RoxanneMatchCallDesc, + .desc = COMPOUND_STRING("ROCKIN' WHIZ"), .name = NULL, .textData = sRoxanneTextScripts }; @@ -397,7 +399,7 @@ static const struct MatchCallStructTrainer sBrawlyMatchCallHeader = .mapSec = MAPSEC_DEWFORD_TOWN, .flag = FLAG_ENABLE_BRAWLY_MATCH_CALL, .rematchTableIdx = REMATCH_BRAWLY, - .desc = gText_BrawlyMatchCallDesc, + .desc = COMPOUND_STRING("THE BIG HIT"), .name = NULL, .textData = sBrawlyTextScripts }; @@ -416,7 +418,7 @@ static const struct MatchCallStructTrainer sWattsonMatchCallHeader = .mapSec = MAPSEC_MAUVILLE_CITY, .flag = FLAG_ENABLE_WATTSON_MATCH_CALL, .rematchTableIdx = REMATCH_WATTSON, - .desc = gText_WattsonMatchCallDesc, + .desc = COMPOUND_STRING("SWELL SHOCK"), .name = NULL, .textData = sWattsonTextScripts }; @@ -435,7 +437,7 @@ static const struct MatchCallStructTrainer sFlanneryMatchCallHeader = .mapSec = MAPSEC_LAVARIDGE_TOWN, .flag = FLAG_ENABLE_FLANNERY_MATCH_CALL, .rematchTableIdx = REMATCH_FLANNERY, - .desc = gText_FlanneryMatchCallDesc, + .desc = COMPOUND_STRING("PASSION BURN"), .name = NULL, .textData = sFlanneryTextScripts }; @@ -454,7 +456,7 @@ static const struct MatchCallStructTrainer sWinonaMatchCallHeader = .mapSec = MAPSEC_FORTREE_CITY, .flag = FLAG_ENABLE_WINONA_MATCH_CALL, .rematchTableIdx = REMATCH_WINONA, - .desc = gText_WinonaMatchCallDesc, + .desc = COMPOUND_STRING("SKY TAMER"), .name = NULL, .textData = sWinonaTextScripts }; @@ -473,7 +475,7 @@ static const struct MatchCallStructTrainer sTateLizaMatchCallHeader = .mapSec = MAPSEC_MOSSDEEP_CITY, .flag = FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL, .rematchTableIdx = REMATCH_TATE_AND_LIZA, - .desc = gText_TateLizaMatchCallDesc, + .desc = COMPOUND_STRING("MYSTIC DUO"), .name = NULL, .textData = sTateLizaTextScripts }; @@ -492,11 +494,13 @@ static const struct MatchCallStructTrainer sJuanMatchCallHeader = .mapSec = MAPSEC_SOOTOPOLIS_CITY, .flag = FLAG_ENABLE_JUAN_MATCH_CALL, .rematchTableIdx = REMATCH_JUAN, - .desc = gText_JuanMatchCallDesc, + .desc = COMPOUND_STRING("DANDY CHARM"), .name = NULL, .textData = sJuanTextScripts }; +static const u8 gText_EliteFourMatchCallDesc[] = _("ELITE FOUR"); + static const match_call_text_data_t sSidneyTextScripts[] = { { MatchCall_Text_Sidney, 0xFFFF, 0xFFFF }, { NULL, 0xFFFF, 0xFFFF } @@ -572,7 +576,7 @@ static const struct MatchCallStructTrainer sWallaceMatchCallHeader = .mapSec = MAPSEC_EVER_GRANDE_CITY, .flag = FLAG_REGISTERED_WALLACE, .rematchTableIdx = REMATCH_WALLACE, - .desc = gText_ChampionMatchCallDesc, + .desc = COMPOUND_STRING("CHAMPION"), .name = NULL, .textData = sWallaceTextScripts }; @@ -657,6 +661,19 @@ static void (*const sMatchCall_GetNameAndDescFunctions[])(match_call_t, const u8 MatchCall_GetNameAndDesc_Birch }; +static const u8 gText_MatchCallSteven_Strategy[] = _("Attack the weak points!"); +static const u8 gText_MatchCallSteven_Pokemon[] = _("Ultimate STEEL POKéMON."); + +static const u8 gText_MatchCallBrendan_Strategy[] = _("Battle with knowledge!"); +static const u8 gText_MatchCallBrendan_Pokemon[] = _("I will use various POKéMON."); +static const u8 gText_MatchCallBrendan_Intro1[] = _("I'll be a better POKéMON"); +static const u8 gText_MatchCallBrendan_Intro2[] = _("prof than my father is!"); + +static const u8 gText_MatchCallMay_Strategy[] = _("I'm not so good at battles."); +static const u8 gText_MatchCallMay_Pokemon[] = _("I'll use any POKéMON!"); +static const u8 gText_MatchCallMay_Intro1[] = _("My POKéMON and I help"); +static const u8 gText_MatchCallMay_Intro2[] = _("my father's research."); + static const struct MatchCallCheckPageOverride sCheckPageOverrides[] = { { .idx = MC_HEADER_STEVEN, @@ -665,8 +682,8 @@ static const struct MatchCallCheckPageOverride sCheckPageOverrides[] = { .flavorTexts = { [CHECK_PAGE_STRATEGY] = gText_MatchCallSteven_Strategy, [CHECK_PAGE_POKEMON] = gText_MatchCallSteven_Pokemon, - [CHECK_PAGE_INTRO_1] = gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle, - [CHECK_PAGE_INTRO_2] = gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle + [CHECK_PAGE_INTRO_1] = COMPOUND_STRING("I'd climb even waterfalls"), + [CHECK_PAGE_INTRO_2] = COMPOUND_STRING("to find a rare stone!") } }, { @@ -676,8 +693,8 @@ static const struct MatchCallCheckPageOverride sCheckPageOverrides[] = { .flavorTexts = { [CHECK_PAGE_STRATEGY] = gText_MatchCallSteven_Strategy, [CHECK_PAGE_POKEMON] = gText_MatchCallSteven_Pokemon, - [CHECK_PAGE_INTRO_1] = gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle, - [CHECK_PAGE_INTRO_2] = gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle + [CHECK_PAGE_INTRO_1] = COMPOUND_STRING("I'm the strongest and most"), + [CHECK_PAGE_INTRO_2] = COMPOUND_STRING("energetic after all!") } }, { diff --git a/src/pokenav_match_call_gfx.c b/src/pokenav_match_call_gfx.c index 594b4d83d41c..80e2709cf0da 100755 --- a/src/pokenav_match_call_gfx.c +++ b/src/pokenav_match_call_gfx.c @@ -124,6 +124,11 @@ static const u16 sListWindow_Pal[] = INCBIN_U16("graphics/pokenav/match_call/lis static const u16 sPokeball_Pal[] = INCBIN_U16("graphics/pokenav/match_call/pokeball.gbapal"); static const u32 sPokeball_Gfx[] = INCBIN_U32("graphics/pokenav/match_call/pokeball.4bpp.lz"); +static const u8 gText_NumberRegistered[] = _("No. registered"); +static const u8 gText_NumberOfBattles[] = _("No. of battles"); +static const u8 gText_TrainerCloseBy[] = _("That TRAINER is close by.\nTalk to the TRAINER in person!"); +static const u8 gText_Unknown[] = _("UNKNOWN"); + static const struct BgTemplate sMatchCallBgTemplates[3] = { { @@ -199,9 +204,9 @@ static const struct WindowTemplate sMatchCallInfoBoxWindowTemplate = static const u8 *const sMatchCallOptionTexts[MATCH_CALL_OPTION_COUNT] = { - [MATCH_CALL_OPTION_CALL] = gText_Call, - [MATCH_CALL_OPTION_CHECK] = gText_Check, - [MATCH_CALL_OPTION_CANCEL] = gText_Cancel6 + [MATCH_CALL_OPTION_CALL] = COMPOUND_STRING("CALL"), + [MATCH_CALL_OPTION_CHECK] = COMPOUND_STRING("CHECK"), + [MATCH_CALL_OPTION_CANCEL] = COMPOUND_STRING("CANCEL") }; // The series of 5 dots that appear when someone is called with Match Call diff --git a/src/pokenav_match_call_list.c b/src/pokenav_match_call_list.c index ac384c423d79..9a51c092e9f0 100755 --- a/src/pokenav_match_call_list.c +++ b/src/pokenav_match_call_list.c @@ -36,6 +36,8 @@ static u32 CB2_HandleCallExitInput(struct Pokenav_MatchCallMenu *); static u32 LoopedTask_BuildMatchCallList(s32); static bool32 ShouldDoNearbyMessage(void); +static const u8 gText_CallCantBeMadeHere[] = _("A call can't be made from here."); + #include "data/text/match_call_messages.h" static const u8 sMatchCallOptionsNoCheckPage[] = diff --git a/src/pokenav_menu_handler_gfx.c b/src/pokenav_menu_handler_gfx.c index b0128d385de6..09fb96f3dc55 100644 --- a/src/pokenav_menu_handler_gfx.c +++ b/src/pokenav_menu_handler_gfx.c @@ -108,6 +108,8 @@ static const u32 sPokenavDeviceBgTilemap[] = INCBIN_U32("graphics/pokenav/device static const u16 sMatchCallBlueLightPal[] = INCBIN_U16("graphics/pokenav/blue_light.gbapal"); static const u32 sMatchCallBlueLightTiles[] = INCBIN_U32("graphics/pokenav/blue_light.4bpp.lz"); +static const u8 gText_NoRibbonWinners[] = _("There are no RIBBON winners."); + static const struct BgTemplate sPokenavMainMenuBgTemplates[] = { { .bg = 1, @@ -267,20 +269,20 @@ static const struct WindowTemplate sOptionDescWindowTemplate = static const u8 *const sPageDescriptions[] = { - [POKENAV_MENUITEM_MAP] = gText_CheckMapOfHoenn, - [POKENAV_MENUITEM_CONDITION] = gText_CheckPokemonInDetail, - [POKENAV_MENUITEM_MATCH_CALL] = gText_CallRegisteredTrainer, - [POKENAV_MENUITEM_RIBBONS] = gText_CheckObtainedRibbons, - [POKENAV_MENUITEM_SWITCH_OFF] = gText_PutAwayPokenav, - [POKENAV_MENUITEM_CONDITION_PARTY] = gText_CheckPartyPokemonInDetail, - [POKENAV_MENUITEM_CONDITION_SEARCH] = gText_CheckAllPokemonInDetail, - [POKENAV_MENUITEM_CONDITION_CANCEL] = gText_ReturnToPokenavMenu, - [POKENAV_MENUITEM_CONDITION_SEARCH_COOL] = gText_FindCoolPokemon, - [POKENAV_MENUITEM_CONDITION_SEARCH_BEAUTY] = gText_FindBeautifulPokemon, - [POKENAV_MENUITEM_CONDITION_SEARCH_CUTE] = gText_FindCutePokemon, - [POKENAV_MENUITEM_CONDITION_SEARCH_SMART] = gText_FindSmartPokemon, - [POKENAV_MENUITEM_CONDITION_SEARCH_TOUGH] = gText_FindToughPokemon, - [POKENAV_MENUITEM_CONDITION_SEARCH_CANCEL] = gText_ReturnToConditionMenu + [POKENAV_MENUITEM_MAP] = COMPOUND_STRING("Check the map of the HOENN region"), + [POKENAV_MENUITEM_CONDITION] = COMPOUND_STRING("Check POKéMON in detail."), + [POKENAV_MENUITEM_MATCH_CALL] = COMPOUND_STRING("Call a registered TRAINER."), + [POKENAV_MENUITEM_RIBBONS] = COMPOUND_STRING("Check obtained RIBBONS."), + [POKENAV_MENUITEM_SWITCH_OFF] = COMPOUND_STRING("Put away the POKéNAV."), + [POKENAV_MENUITEM_CONDITION_PARTY] = COMPOUND_STRING("Check party POKéMON in detail."), + [POKENAV_MENUITEM_CONDITION_SEARCH] = COMPOUND_STRING("Check all POKéMON in detail."), + [POKENAV_MENUITEM_CONDITION_CANCEL] = COMPOUND_STRING("Return to the POKéNAV menu."), + [POKENAV_MENUITEM_CONDITION_SEARCH_COOL] = COMPOUND_STRING("Find cool POKéMON."), + [POKENAV_MENUITEM_CONDITION_SEARCH_BEAUTY] = COMPOUND_STRING("Find beautiful POKéMON."), + [POKENAV_MENUITEM_CONDITION_SEARCH_CUTE] = COMPOUND_STRING("Find cute POKéMON."), + [POKENAV_MENUITEM_CONDITION_SEARCH_SMART] = COMPOUND_STRING("Find smart POKéMON."), + [POKENAV_MENUITEM_CONDITION_SEARCH_TOUGH] = COMPOUND_STRING("Find tough POKéMON."), + [POKENAV_MENUITEM_CONDITION_SEARCH_CANCEL] = COMPOUND_STRING("Return to the CONDITION menu.") }; static const u8 sOptionDescTextColors[] = {TEXT_COLOR_GREEN, TEXT_COLOR_BLUE, TEXT_COLOR_LIGHT_GREEN}; diff --git a/src/pokenav_ribbons_summary.c b/src/pokenav_ribbons_summary.c index bcb1398a7e6e..85082c2620dc 100644 --- a/src/pokenav_ribbons_summary.c +++ b/src/pokenav_ribbons_summary.c @@ -40,6 +40,8 @@ enum #define MON_SPRITE_X_OFF -32 #define MON_SPRITE_Y 104 +static const u8 gText_RibbonsF700[] = _("RIBBONS {DYNAMIC 0}"); + struct Pokenav_RibbonsSummaryList { u8 unused1[8]; diff --git a/src/random.c b/src/random.c index 284a49fc84f4..883649a072a9 100644 --- a/src/random.c +++ b/src/random.c @@ -8,7 +8,6 @@ COMMON_DATA rng_value_t gRngValue = {0}; COMMON_DATA rng_value_t gRng2Value = {0}; -#if HQ_RANDOM == TRUE EWRAM_DATA static volatile bool8 sRngLoopUnlocked; @@ -112,39 +111,6 @@ void AdvanceRandom(void) #define LOOP_RANDOM ((u16)(_SFC32_Next(state) >> 16)) -#else -EWRAM_DATA static u32 sRandCount = 0; - -u16 Random(void) -{ - gRngValue = ISO_RANDOMIZE1(gRngValue); - sRandCount++; - return gRngValue >> 16; -} - -void SeedRng(u16 seed) -{ - gRngValue = seed; -} - -void SeedRng2(u16 seed) -{ - gRng2Value = seed; -} - -u16 Random2(void) -{ - gRng2Value = ISO_RANDOMIZE1(gRng2Value); - return gRng2Value >> 16; -} - -#define LOOP_RANDOM_START -#define LOOP_RANDOM_END - -#define LOOP_RANDOM (Random()) - -#endif - #define SHUFFLE_IMPL \ u32 tmp; \ LOOP_RANDOM_START; \ diff --git a/src/recorded_battle.c b/src/recorded_battle.c index 2ac33a08a0a1..c32e86b525db 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -741,7 +741,7 @@ void RecordedBattle_CheckMovesetChanges(u8 mode) movePp.moves[j] = gBattleMons[battlerId].moves[moveSlots[j]]; movePp.currentPp[j] = gBattleMons[battlerId].pp[moveSlots[j]]; movePp.maxPp[j] = ppBonuses[moveSlots[j]]; - mimickedMoveSlots[j] = (gDisableStructs[battlerId].mimickedMoves & gBitTable[j]) >> j; + mimickedMoveSlots[j] = (gDisableStructs[battlerId].mimickedMoves & (1u << j)) >> j; } for (j = 0; j < MAX_MON_MOVES; j++) { diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index e9257debf24d..9bd981facc35 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -399,3 +399,55 @@ static bool8 WipeSectors(u32 sectorBits) else return TRUE; } + +void CB2_FlashNotDetectedScreen(void) +{ + static const struct WindowTemplate textWin[] = + { + { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 2, + .width = 24, + .height = 16, + .paletteNum = 15, + .baseBlock = 1, + } + }; + + if (gMain.state) + return; + + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BG0CNT, 0); + SetGpuReg(REG_OFFSET_BG0HOFS, 0); + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + DmaFill16(3, 0, VRAM, VRAM_SIZE); + DmaFill32(3, 0, OAM, OAM_SIZE); + DmaFill16(3, 0, PLTT, PLTT_SIZE); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates)); + LoadBgTiles(0, gTextWindowFrame1_Gfx, 0x120, 0x214); + DeactivateAllTextPrinters(); + ResetTasks(); + ResetPaletteFade(); + LoadPalette(gTextWindowFrame1_Pal, 0xE0, 0x20); + LoadPalette(gStandardMenuPalette, 0xF0, 0x20); + InitWindows(textWin); + DrawStdFrameWithCustomTileAndPalette(0, TRUE, 0x214, 0xE); + static const u8 saveFailedMessage[] =_( + "{COLOR RED}ERROR! {COLOR DARK_GRAY}Flash memory not detected!\n" + "\n" + "If playing on an emulator, set your\n" + "save type setting to\n" + "Flash 1Mb/128K and reload the ROM.\n" + "\n" + "If playing on hardware, your cart\n" + "does not have a working flash chip."); + SaveFailedScreenTextPrint(saveFailedMessage, 1, 0); + TransferPlttBuffer(); + *(u16*)PLTT = RGB(17, 18, 31); + ShowBg(0); + gMain.state++; +} diff --git a/src/scrcmd.c b/src/scrcmd.c index ff3225aed1b0..399562f9a054 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -8,6 +8,7 @@ #include "contest_util.h" #include "contest_painting.h" #include "data.h" +#include "decompress.h" #include "decoration.h" #include "decoration_inventory.h" #include "event_data.h" @@ -31,6 +32,7 @@ #include "mystery_event_script.h" #include "palette.h" #include "party_menu.h" +#include "pokedex.h" #include "pokemon_storage_system.h" #include "random.h" #include "overworld.h" @@ -656,12 +658,12 @@ bool8 ScrCmd_fadescreenswapbuffers(struct ScriptContext *ctx) case FADE_TO_BLACK: case FADE_TO_WHITE: default: - CpuCopy32(gPlttBufferUnfaded, gPaletteDecompressionBuffer, PLTT_SIZE); + CpuCopy32(gPlttBufferUnfaded, gDecompressionBuffer, PLTT_SIZE); FadeScreen(mode, 0); break; case FADE_FROM_BLACK: case FADE_FROM_WHITE: - CpuCopy32(gPaletteDecompressionBuffer, gPlttBufferUnfaded, PLTT_SIZE); + CpuCopy32(gDecompressionBuffer, gPlttBufferUnfaded, PLTT_SIZE); FadeScreen(mode, 0); break; } @@ -1008,6 +1010,8 @@ bool8 ScrCmd_applymovement(struct ScriptContext *ctx) ClearObjectEventMovement(objEvent, &gSprites[objEvent->spriteId]); gSprites[objEvent->spriteId].animCmdIndex = 0; // Reset start frame of animation } + + gObjectEvents[GetObjectEventIdByLocalId(localId)].directionOverwrite = DIR_NONE; ScriptMovement_StartObjectMovementScript(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, movementScript); sMovingNpcId = localId; objEvent = GetFollowerObject(); @@ -1032,6 +1036,7 @@ bool8 ScrCmd_applymovementat(struct ScriptContext *ctx) u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); + gObjectEvents[GetObjectEventIdByLocalId(localId)].directionOverwrite = DIR_NONE; ScriptMovement_StartObjectMovementScript(localId, mapNum, mapGroup, movementScript); sMovingNpcId = localId; return FALSE; @@ -1290,6 +1295,7 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx) ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); ScriptMovement_UnfreezeObjectEvents(); UnfreezeObjectEvents(); + gMsgBoxIsCancelable = FALSE; return FALSE; } @@ -1308,6 +1314,7 @@ bool8 ScrCmd_release(struct ScriptContext *ctx) ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); ScriptMovement_UnfreezeObjectEvents(); UnfreezeObjectEvents(); + gMsgBoxIsCancelable = FALSE; return FALSE; } @@ -2472,3 +2479,73 @@ void ScriptSetDoubleBattleFlag(struct ScriptContext *ctx) { sIsScriptedWildDouble = TRUE; } + +bool8 ScrCmd_removeallitem(struct ScriptContext *ctx) +{ + u32 itemId = VarGet(ScriptReadHalfword(ctx)); + u32 count = CountTotalItemQuantityInBag(itemId); + gSpecialVar_Result = count; + RemoveBagItem(itemId, count); + + return FALSE; +} + +bool8 ScrCmd_getobjectxy(struct ScriptContext *ctx) +{ + u32 localId = VarGet(ScriptReadHalfword(ctx)); + u32 useTemplate = VarGet(ScriptReadHalfword(ctx)); + u16 *pX = GetVarPointer(ScriptReadHalfword(ctx)); + u16 *pY = GetVarPointer(ScriptReadHalfword(ctx)); + GetObjectPosition(pX, pY, localId, useTemplate); + + return FALSE; +} + +bool8 ScrCmd_checkobjectat(struct ScriptContext *ctx) +{ + u32 x = VarGet(ScriptReadHalfword(ctx)) + 7; + u32 y = VarGet(ScriptReadHalfword(ctx)) + 7; + u16 *varPointer = GetVarPointer(ScriptReadHalfword(ctx)); + + *varPointer = CheckObjectAtXY(x, y); + + return FALSE; +} + +bool8 Scrcmd_getsetpokedexflag(struct ScriptContext *ctx) +{ + u32 speciesId = SpeciesToNationalPokedexNum(VarGet(ScriptReadHalfword(ctx))); + bool32 desiredFlag = VarGet(ScriptReadHalfword(ctx)); + gSpecialVar_Result = GetSetPokedexFlag(speciesId, desiredFlag); + + if (desiredFlag == FLAG_SET_CAUGHT) + GetSetPokedexFlag(speciesId, FLAG_SET_SEEN); + + return FALSE; +} + +bool8 Scrcmd_checkspecies(struct ScriptContext *ctx) +{ + u32 givenSpecies = VarGet(ScriptReadHalfword(ctx)); + gSpecialVar_Result = CheckPartyHasSpecies(givenSpecies); + + return FALSE; +} + +bool8 Scrcmd_checkspecies_choose(struct ScriptContext *ctx) +{ + u32 givenSpecies = VarGet(ScriptReadHalfword(ctx)); + gSpecialVar_Result = (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES) == givenSpecies); + + return FALSE; +} + +bool8 Scrcmd_getobjectfacingdirection(struct ScriptContext *ctx) +{ + u32 objectId = VarGet(ScriptReadHalfword(ctx)); + u16 *varPointer = GetVarPointer(ScriptReadHalfword(ctx)); + + *varPointer = gObjectEvents[GetObjectEventIdByLocalId(objectId)].facingDirection; + + return FALSE; +} diff --git a/src/script.c b/src/script.c index 718592691bfa..e6e2aa264d86 100644 --- a/src/script.c +++ b/src/script.c @@ -5,6 +5,7 @@ #include "util.h" #include "constants/event_objects.h" #include "constants/map_scripts.h" +#include "field_message_box.h" #define RAM_SCRIPT_MAGIC 51 @@ -26,6 +27,8 @@ static u8 sGlobalScriptContextStatus; static struct ScriptContext sGlobalScriptContext; static struct ScriptContext sImmediateScriptContext; static bool8 sLockFieldControls; +EWRAM_DATA u8 gMsgIsSignPost = FALSE; +EWRAM_DATA u8 gMsgBoxIsCancelable = FALSE; extern ScrCmdFunc gScriptCmdTable[]; extern ScrCmdFunc gScriptCmdTableEnd[]; diff --git a/src/script_movement.c b/src/script_movement.c index 10517dfc8e58..d67afd997231 100644 --- a/src/script_movement.c +++ b/src/script_movement.c @@ -142,19 +142,19 @@ static void LoadObjectEventIdFromMovementScript(u8 taskId, u8 moveScrId, u8 *obj static void ClearMovementScriptFinished(u8 taskId, u8 moveScrId) { - u16 mask = ~gBitTable[moveScrId]; + u16 mask = ~(1u << moveScrId); gTasks[taskId].data[0] &= mask; } static void SetMovementScriptFinished(u8 taskId, u8 moveScrId) { - gTasks[taskId].data[0] |= gBitTable[moveScrId]; + gTasks[taskId].data[0] |= (1u << moveScrId); } static bool8 IsMovementScriptFinished(u8 taskId, u8 moveScrId) { - u16 moveScriptFinished = (u16)gTasks[taskId].data[0] & gBitTable[moveScrId]; + u16 moveScriptFinished = (u16)gTasks[taskId].data[0] & (1u << moveScrId); if (moveScriptFinished != 0) return TRUE; diff --git a/src/script_pokemon_util.c b/src/script_pokemon_util.c index 3d2c7d640cc3..020094389a70 100644 --- a/src/script_pokemon_util.c +++ b/src/script_pokemon_util.c @@ -317,7 +317,7 @@ void SetTeraType(struct ScriptContext *ctx) * if side/slot are assigned, it will create the mon at the assigned party location * if slot == PARTY_SIZE, it will give the mon to first available party or storage slot */ -static u32 ScriptGiveMonParameterized(u8 side, u8 slot, u16 species, u8 level, u16 item, u8 ball, u8 nature, u8 abilityNum, u8 gender, u8 *evs, u8 *ivs, u16 *moves, bool8 isShiny, bool8 ggMaxFactor, u8 teraType) +static u32 ScriptGiveMonParameterized(u8 side, u8 slot, u16 species, u8 level, u16 item, enum PokeBall ball, u8 nature, u8 abilityNum, u8 gender, u8 *evs, u8 *ivs, u16 *moves, bool8 isShiny, bool8 ggMaxFactor, u8 teraType) { u16 nationalDexNum; int sentToPc; @@ -396,8 +396,8 @@ static u32 ScriptGiveMonParameterized(u8 side, u8 slot, u16 species, u8 level, u SetMonData(&mon, MON_DATA_ABILITY_NUM, &abilityNum); // ball - if (ball > LAST_BALL) - ball = ITEM_POKE_BALL; + if (ball > POKEBALL_COUNT) + ball = BALL_POKE; SetMonData(&mon, MON_DATA_POKEBALL, &ball); // held item diff --git a/src/shop.c b/src/shop.c index 77f2039e3b52..a343bab0d3ee 100644 --- a/src/shop.c +++ b/src/shop.c @@ -1127,6 +1127,7 @@ static void BuyMenuTryMakePurchase(u8 taskId) { if (AddBagItem(tItemId, tItemCount) == TRUE) { + GetSetItemObtained(tItemId, FLAG_SET_ITEM_OBTAINED); RecordItemPurchase(taskId); BuyMenuDisplayMessage(taskId, gText_HereYouGoThankYou, BuyMenuSubtractMoney); } diff --git a/src/sprite.c b/src/sprite.c index a2a01d6d9415..8ae96581c96e 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -52,7 +52,6 @@ static void SortSprites(u32 *spritePriorities, s32 n); static u32 CreateSpriteAt(u32 index, const struct SpriteTemplate *template, s16 x, s16 y, u32 subpriority); static void ResetOamMatrices(void); static void ResetSprite(struct Sprite *sprite); -static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct SpriteFrameImage *images); static void ResetAllSprites(void); static void BeginAnim(struct Sprite *sprite); static void ContinueAnim(struct Sprite *sprite); @@ -75,7 +74,6 @@ static void AffineAnimCmd_end(u8 matrixNum, struct Sprite *sprite); static void AffineAnimCmd_frame(u8 matrixNum, struct Sprite *sprite); static void CopyOamMatrix(u8 destMatrixIndex, struct OamMatrix *srcMatrix); static u8 GetSpriteMatrixNum(struct Sprite *sprite); -static void SetSpriteOamFlipBits(struct Sprite *sprite, u8 hFlip, u8 vFlip); static void AffineAnimStateRestartAnim(u8 matrixNum); static void AffineAnimStateStartAnim(u8 matrixNum, u8 animNum); static void AffineAnimStateReset(u8 matrixNum); diff --git a/src/start_menu.c b/src/start_menu.c index 2ed6ea32dae2..0c364bb07dea 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -784,10 +784,11 @@ static bool8 StartMenuDebugCallback(void) RemoveExtraStartMenuWindows(); HideStartMenuDebug(); // Hide start menu without enabling movement -#if DEBUG_OVERWORLD_MENU == TRUE - FreezeObjectEvents(); - Debug_ShowMainMenu(); -#endif + if (DEBUG_OVERWORLD_MENU) + { + FreezeObjectEvents(); + Debug_ShowMainMenu(); + } return TRUE; } diff --git a/src/string_util.c b/src/string_util.c index 0fde2cb861d3..fd4a0861eeb2 100644 --- a/src/string_util.c +++ b/src/string_util.c @@ -122,6 +122,28 @@ u16 StringLength(const u8 *str) return length; } +u16 StringLineLength(const u8 *str) +{ + u16 i = 0, length = 0; + + while (str[length] != EOS) + { + switch (str[length]) + { + case CHAR_PROMPT_SCROLL: + case CHAR_PROMPT_CLEAR: + case CHAR_NEWLINE: + return length; + default: + i++; + length++; + break; + } + } + + return length; +} + s32 StringCompare(const u8 *str1, const u8 *str2) { while (*str1 == *str2) diff --git a/src/strings.c b/src/strings.c index 4c342d0934fe..b886ac639fca 100644 --- a/src/strings.c +++ b/src/strings.c @@ -20,22 +20,6 @@ const u8 gText_ExpandedPlaceholder_Brendan[] = _("BRENDAN"); const u8 gText_ExpandedPlaceholder_May[] = _("MAY"); const u8 gText_EggNickname[] = _("EGG"); const u8 gText_Pokemon[] = _("POKéMON"); -const u8 gText_ProfBirchMatchCallName[] = _("PROF. BIRCH"); -const u8 gText_MainMenuNewGame[] = _("NEW GAME"); -const u8 gText_MainMenuContinue[] = _("CONTINUE"); -const u8 gText_MainMenuOption[] = _("OPTION"); -const u8 gText_MainMenuMysteryGift[] = _("MYSTERY GIFT"); -const u8 gText_MainMenuMysteryGift2[] = _("MYSTERY GIFT"); -const u8 gText_MainMenuMysteryEvents[] = _("MYSTERY EVENTS"); -const u8 gText_WirelessNotConnected[] = _("The Wireless Adapter is not\nconnected."); -const u8 gText_MysteryGiftCantUse[] = _("MYSTERY GIFT can't be used while\nthe Wireless Adapter is attached."); -const u8 gText_MysteryEventsCantUse[] = _("MYSTERY EVENTS can't be used while\nthe Wireless Adapter is attached."); -const u8 gText_UpdatingSaveExternalData[] = _("Updating save file using external\ndata. Please wait."); // Unused -const u8 gText_SaveFileUpdated[] = _("The save file has been updated."); // Unused -const u8 gText_SaveFileCorrupted[] = _("The save file is corrupted. The\nprevious save file will be loaded."); -const u8 gText_SaveFileErased[] = _("The save file has been erased\ndue to corruption or damage."); -const u8 gJPText_No1MSubCircuit[] = _("1Mサブきばんが ささっていません!"); -const u8 gText_BatteryRunDry[] = _("The internal battery has run dry.\nThe game can be played.\pHowever, clock-based events will\nno longer occur."); const u8 gText_Player[] = _("PLAYER"); // Unused const u8 gText_Pokedex[] = _("POKéDEX"); // Unused const u8 gText_Time[] = _("TIME"); @@ -55,48 +39,6 @@ ALIGNED(4) const u8 gText_NextBack[] = _("{A_BUTTON}NEXT {B_BUTTON}BACK"); // Un ALIGNED(4) const u8 gText_PickNextCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}NEXT {B_BUTTON}CANCEL"); ALIGNED(4) const u8 gText_PickCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}{B_BUTTON}CANCEL"); ALIGNED(4) const u8 gText_AButtonExit[] = _("{A_BUTTON}EXIT"); -const u8 gText_BirchBoy[] = _("BOY"); -const u8 gText_BirchGirl[] = _("GIRL"); -const u8 gText_DefaultNameStu[] = _("STU"); -const u8 gText_DefaultNameMilton[] = _("MILTON"); -const u8 gText_DefaultNameTom[] = _("TOM"); -const u8 gText_DefaultNameKenny[] = _("KENNY"); -const u8 gText_DefaultNameReid[] = _("REID"); -const u8 gText_DefaultNameJude[] = _("JUDE"); -const u8 gText_DefaultNameJaxson[] = _("JAXSON"); -const u8 gText_DefaultNameEaston[] = _("EASTON"); -const u8 gText_DefaultNameWalker[] = _("WALKER"); -const u8 gText_DefaultNameTeru[] = _("TERU"); -const u8 gText_DefaultNameJohnny[] = _("JOHNNY"); -const u8 gText_DefaultNameBrett[] = _("BRETT"); -const u8 gText_DefaultNameSeth[] = _("SETH"); -const u8 gText_DefaultNameTerry[] = _("TERRY"); -const u8 gText_DefaultNameCasey[] = _("CASEY"); -const u8 gText_DefaultNameDarren[] = _("DARREN"); -const u8 gText_DefaultNameLandon[] = _("LANDON"); -const u8 gText_DefaultNameCollin[] = _("COLLIN"); -const u8 gText_DefaultNameStanley[] = _("STANLEY"); -const u8 gText_DefaultNameQuincy[] = _("QUINCY"); -const u8 gText_DefaultNameKimmy[] = _("KIMMY"); -const u8 gText_DefaultNameTiara[] = _("TIARA"); -const u8 gText_DefaultNameBella[] = _("BELLA"); -const u8 gText_DefaultNameJayla[] = _("JAYLA"); -const u8 gText_DefaultNameAllie[] = _("ALLIE"); -const u8 gText_DefaultNameLianna[] = _("LIANNA"); -const u8 gText_DefaultNameSara[] = _("SARA"); -const u8 gText_DefaultNameMonica[] = _("MONICA"); -const u8 gText_DefaultNameCamila[] = _("CAMILA"); -const u8 gText_DefaultNameAubree[] = _("AUBREE"); -const u8 gText_DefaultNameRuthie[] = _("RUTHIE"); -const u8 gText_DefaultNameHazel[] = _("HAZEL"); -const u8 gText_DefaultNameNadine[] = _("NADINE"); -const u8 gText_DefaultNameTanja[] = _("TANJA"); -const u8 gText_DefaultNameYasmin[] = _("YASMIN"); -const u8 gText_DefaultNameNicola[] = _("NICOLA"); -const u8 gText_DefaultNameLillie[] = _("LILLIE"); -const u8 gText_DefaultNameTerra[] = _("TERRA"); -const u8 gText_DefaultNameLucy[] = _("LUCY"); -const u8 gText_DefaultNameHalie[] = _("HALIE"); const u8 gText_ThisIsAPokemon[] = _("This is what we call a “POKéMON.”{PAUSE 96}\p"); const u8 gText_5MarksPokemon[] = _("????? POKéMON"); const u8 gText_UnkHeight[] = _("{CLEAR_TO 0x0C}??'??”"); @@ -199,7 +141,6 @@ const u8 gText_Store[] = _("STORE"); const u8 gMenuText_Check[] = _("CHECK"); const u8 gText_None[] = _("NONE"); const u8 gMenuText_Deselect[] = _("DESELECT"); -const u8 gText_ThreeMarks[] = _("???"); const u8 gText_FiveMarks[] = _("?????"); const u8 gText_Slash[] = _("/"); const u8 gText_OneDash[] = _("-"); @@ -255,6 +196,9 @@ const u8 gText_TheBattle[] = _("the battle"); const u8 gText_ThePokemonList[] = _("the POKéMON LIST"); const u8 gText_TheShop[] = _("the shop"); const u8 gText_ThePC[] = _("the PC"); +const u8 gText_PlayedPokeFluteCatchy[] = _("Played the POKé FLUTE.\pNow, that's a catchy tune!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PlayedPokeFlute[] = _("Played the POKé FLUTE."); +const u8 gText_PokeFluteAwakenedMon[] = _("The POKé FLUTE awakened sleeping\nPOKéMON.{PAUSE_UNTIL_PRESS}"); const u8 *const gBagMenu_ReturnToStrings[] = { @@ -282,64 +226,19 @@ const u8 *const gPyramidBagMenu_ReturnToStrings[] = }; const u8 gText_ReturnToVar1[] = _("Return to\n{STR_VAR_1}."); -const u8 gText_ItemsPocket[] = _("ITEMS"); -const u8 gText_PokeBallsPocket[] = _("POKé BALLS"); -const u8 gText_TMHMPocket[] = _("TMs & HMs"); -const u8 gText_BerriesPocket[] = _("BERRIES"); -const u8 gText_KeyItemsPocket[] = _("KEY ITEMS"); const u8 *const gPocketNamesStringsTable[] = { - [ITEMS_POCKET] = gText_ItemsPocket, - [BALLS_POCKET] = gText_PokeBallsPocket, - [TMHM_POCKET] = gText_TMHMPocket, - [BERRIES_POCKET] = gText_BerriesPocket, - [KEYITEMS_POCKET] = gText_KeyItemsPocket + [ITEMS_POCKET] = COMPOUND_STRING("ITEMS"), + [BALLS_POCKET] = COMPOUND_STRING("POKé BALLS"), + [TMHM_POCKET] = COMPOUND_STRING("TMs & HMs"), + [BERRIES_POCKET] = COMPOUND_STRING("BERRIES"), + [KEYITEMS_POCKET] = COMPOUND_STRING("KEY ITEMS") }; const u8 gText_NumberItem_TMBerry[] = _("{NO}{STR_VAR_1}{CLEAR 0x07}{STR_VAR_2}"); const u8 gText_NumberItem_HM[] = _("{CLEAR_TO 0x11}{STR_VAR_1}{CLEAR 0x05}{STR_VAR_2}"); -const u8 gText_SizeSlash[] = _("SIZE /"); -const u8 gText_FirmSlash[] = _("FIRM /"); -const u8 gText_Var1DotVar2[] = _("{STR_VAR_1}.{STR_VAR_2}”"); -// Berry firmness strings -const u8 gBerryFirmnessString_VerySoft[] = _("Very soft"); -const u8 gBerryFirmnessString_Soft[] = _("Soft"); -const u8 gBerryFirmnessString_Hard[] = _("Hard"); -const u8 gBerryFirmnessString_VeryHard[] = _("Very hard"); -const u8 gBerryFirmnessString_SuperHard[] = _("Super hard"); - -const u8 gText_NumberVar1Var2[] = _("{NO}{STR_VAR_1} {STR_VAR_2}"); -const u8 gText_BerryTag[] = _("BERRY TAG"); -const u8 gText_RedPokeblock[] = _("RED {POKEBLOCK}"); -const u8 gText_BluePokeblock[] = _("BLUE {POKEBLOCK}"); -const u8 gText_PinkPokeblock[] = _("PINK {POKEBLOCK}"); -const u8 gText_GreenPokeblock[] = _("GREEN {POKEBLOCK}"); -const u8 gText_YellowPokeblock[] = _("YELLOW {POKEBLOCK}"); -const u8 gText_PurplePokeblock[] = _("PURPLE {POKEBLOCK}"); -const u8 gText_IndigoPokeblock[] = _("INDIGO {POKEBLOCK}"); -const u8 gText_BrownPokeblock[] = _("BROWN {POKEBLOCK}"); -const u8 gText_LiteBluePokeblock[] = _("LITEBLUE {POKEBLOCK}"); -const u8 gText_OlivePokeblock[] = _("OLIVE {POKEBLOCK}"); -const u8 gText_GrayPokeblock[] = _("GRAY {POKEBLOCK}"); -const u8 gText_BlackPokeblock[] = _("BLACK {POKEBLOCK}"); -const u8 gText_WhitePokeblock[] = _("WHITE {POKEBLOCK}"); -const u8 gText_GoldPokeblock[] = _("GOLD {POKEBLOCK}"); -const u8 gText_Spicy[] = _("SPICY"); -const u8 gText_Dry[] = _("DRY"); -const u8 gText_Sweet[] = _("SWEET"); -const u8 gText_Bitter[] = _("BITTER"); -const u8 gText_Sour[] = _("SOUR"); -const u8 gText_Tasty[] = _("TASTY"); // Unused -const u8 gText_Feel[] = _("FEEL"); // Unused -const u8 gText_StowCase[] = _("Stow CASE."); -const u8 gText_LvVar1[] = _("{LV}{STR_VAR_1}"); -const u8 gText_ThrowAwayVar1[] = _("Throw away this\n{STR_VAR_1}?"); -const u8 gText_Var1ThrownAway[] = _("The {STR_VAR_1}\nwas thrown away."); -const u8 gText_Var1AteTheVar2[] = _("{STR_VAR_1} ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); -const u8 gText_Var1HappilyAteVar2[] = _("{STR_VAR_1} happily ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); -const u8 gText_Var1DisdainfullyAteVar2[] = _("{STR_VAR_1} disdainfully ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); const u8 gText_ShopBuy[] = _("BUY"); const u8 gText_ShopSell[] = _("SELL"); const u8 gText_ShopQuit[] = _("QUIT"); @@ -872,139 +771,12 @@ const u8 gText_MtPyre[] = _("MT. PYRE"); const u8 gText_SkyPillar[] = _("SKY PILLAR"); const u8 gText_DontRemember[] = _("Don't remember"); const u8 gText_Exit[] = _("EXIT"); -const u8 gText_ExitFromBox[] = _("Exit from the BOX?"); -const u8 gText_WhatDoYouWantToDo[] = _("What do you want to do?"); -const u8 gText_PleasePickATheme[] = _("Please pick a theme."); -const u8 gText_PickTheWallpaper[] = _("Pick the wallpaper."); -const u8 gText_PkmnIsSelected[] = _("{DYNAMIC 0} is selected."); -const u8 gText_JumpToWhichBox[] = _("Jump to which BOX?"); -const u8 gText_DepositInWhichBox[] = _("Deposit in which BOX?"); -const u8 gText_PkmnWasDeposited[] = _("{DYNAMIC 0} was deposited."); -const u8 gText_BoxIsFull2[] = _("The BOX is full."); -const u8 gText_ReleaseThisPokemon[] = _("Release this POKéMON?"); -const u8 gText_PkmnWasReleased[] = _("{DYNAMIC 0} was released."); -const u8 gText_ByeByePkmn[] = _("Bye-bye, {DYNAMIC 0}!"); -const u8 gText_MarkYourPkmn[] = _("Mark your POKéMON."); -const u8 gText_ThatsYourLastPkmn[] = _("That's your last POKéMON!"); const u8 gText_YourPartysFull[] = _("Your party's full!{PAUSE_UNTIL_PRESS}"); -const u8 gText_YoureHoldingAPkmn[] = _("You're holding a POKéMON!"); -const u8 gText_WhichOneWillYouTake[] = _("Which one will you take?"); -const u8 gText_YouCantReleaseAnEgg[] = _("You can't release an EGG."); -const u8 gText_ContinueBoxOperations[] = _("Continue BOX operations?"); -const u8 gText_PkmnCameBack[] = _("{DYNAMIC 0} came back!"); -const u8 gText_WasItWorriedAboutYou[] = _("Was it worried about you?"); -const u8 gText_FourEllipsesExclamation[] = _("… … … … !"); -const u8 gText_PleaseRemoveTheMail[] = _("Please remove the MAIL."); -const u8 gText_GiveToAPkmn[] = _("GIVE to a POKéMON?"); -const u8 gText_PlacedItemInBag[] = _("Placed item in the BAG."); -const u8 gText_BagIsFull2[] = _("The BAG is full."); -const u8 gText_PutItemInBag[] = _("Put this item in the BAG?"); -const u8 gText_ItemIsNowHeld[] = _("{DYNAMIC 0} is now held."); -const u8 gText_ChangedToNewItem[] = _("Changed to {DYNAMIC 0}."); -const u8 gText_MailCantBeStored[] = _("MAIL can't be stored!"); -const u8 gPCText_Cancel[] = _("CANCEL"); -const u8 gPCText_Store[] = _("STORE"); -const u8 gPCText_Withdraw[] = _("WITHDRAW"); -const u8 gPCText_Shift[] = _("SHIFT"); -const u8 gPCText_Move[] = _("MOVE"); -const u8 gPCText_Place[] = _("PLACE"); -const u8 gPCText_Summary[] = _("SUMMARY"); -const u8 gPCText_Release[] = _("RELEASE"); -const u8 gPCText_Mark[] = _("MARK"); -const u8 gPCText_Name[] = _("NAME"); -const u8 gPCText_Jump[] = _("JUMP"); -const u8 gPCText_Wallpaper[] = _("WALLPAPER"); -const u8 gPCText_Take[] = _("TAKE"); -const u8 gPCText_Give[] = _("GIVE"); -const u8 gPCText_Switch[] = _("SWITCH"); -const u8 gPCText_Bag[] = _("BAG"); -const u8 gPCText_Info[] = _("INFO"); -const u8 gPCText_Scenery1[] = _("SCENERY 1"); -const u8 gPCText_Scenery2[] = _("SCENERY 2"); -const u8 gPCText_Scenery3[] = _("SCENERY 3"); -const u8 gPCText_Etcetera[] = _("ETCETERA"); -const u8 gPCText_Friends[] = _("FRIENDS"); -const u8 gPCText_Forest[] = _("FOREST"); -const u8 gPCText_City[] = _("CITY"); -const u8 gPCText_Desert[] = _("DESERT"); -const u8 gPCText_Savanna[] = _("SAVANNA"); -const u8 gPCText_Crag[] = _("CRAG"); -const u8 gPCText_Volcano[] = _("VOLCANO"); -const u8 gPCText_Snow[] = _("SNOW"); -const u8 gPCText_Cave[] = _("CAVE"); -const u8 gPCText_Beach[] = _("BEACH"); -const u8 gPCText_Seafloor[] = _("SEAFLOOR"); -const u8 gPCText_River[] = _("RIVER"); -const u8 gPCText_Sky[] = _("SKY"); -const u8 gPCText_PolkaDot[] = _("POLKA-DOT"); -const u8 gPCText_Pokecenter[] = _("POKéCENTER"); -const u8 gPCText_Machine[] = _("MACHINE"); -const u8 gPCText_Simple[] = _("SIMPLE"); -const u8 gText_WhatWouldYouLikeToDo[] = _("What would you like to do?"); // Unused -const u8 gText_WithdrawPokemon[] = _("WITHDRAW POKéMON"); -const u8 gText_DepositPokemon[] = _("DEPOSIT POKéMON"); -const u8 gText_MovePokemon[] = _("MOVE POKéMON"); -const u8 gText_MoveItems[] = _("MOVE ITEMS"); -const u8 gText_SeeYa[] = _("SEE YA!"); -const u8 gText_WithdrawMonDescription[] = _("Move POKéMON stored in BOXES to\nyour party."); -const u8 gText_DepositMonDescription[] = _("Store POKéMON in your party in BOXES."); -const u8 gText_MoveMonDescription[] = _("Organize the POKéMON in BOXES and\nin your party."); -const u8 gText_MoveItemsDescription[] = _("Move items held by any POKéMON\nin a BOX or your party."); -const u8 gText_SeeYaDescription[] = _("Return to the previous menu."); -const u8 gText_JustOnePkmn[] = _("There is just one POKéMON with you."); -const u8 gText_PartyFull[] = _("Your party is full!"); -const u8 gText_Box[] = _("BOX"); -const u8 gText_CheckMapOfHoenn[] = _("Check the map of the HOENN region."); -const u8 gText_CheckPokemonInDetail[] = _("Check POKéMON in detail."); -const u8 gText_CallRegisteredTrainer[] = _("Call a registered TRAINER."); -const u8 gText_CheckObtainedRibbons[] = _("Check obtained RIBBONS."); -const u8 gText_PutAwayPokenav[] = _("Put away the POKéNAV."); -const u8 gText_NoRibbonWinners[] = _("There are no RIBBON winners."); -const u8 gText_NoTrainersRegistered[] = _("No TRAINERS are registered."); // Unused -const u8 gText_CheckPartyPokemonInDetail[] = _("Check party POKéMON in detail."); -const u8 gText_CheckAllPokemonInDetail[] = _("Check all POKéMON in detail."); -const u8 gText_ReturnToPokenavMenu[] = _("Return to the POKéNAV menu."); -const u8 gText_FindCoolPokemon[] = _("Find cool POKéMON."); -const u8 gText_FindBeautifulPokemon[] = _("Find beautiful POKéMON."); -const u8 gText_FindCutePokemon[] = _("Find cute POKéMON."); -const u8 gText_FindSmartPokemon[] = _("Find smart POKéMON."); -const u8 gText_FindToughPokemon[] = _("Find tough POKéMON."); -const u8 gText_ReturnToConditionMenu[] = _("Return to the CONDITION menu."); -const u8 gText_NumberRegistered[] = _("No. registered"); -const u8 gText_NumberOfBattles[] = _("No. of battles"); -const u8 gText_Detail[] = _("DETAIL"); // Unused -const u8 gText_Call2[] = _("CALL"); // Unused -const u8 gText_UnusedExit[] = _("EXIT"); // Unused -const u8 gText_CantCallOpponentHere[] = _("Can't call opponent here."); // Unused -const u8 gText_PokenavMatchCall_Strategy[] = _("STRATEGY"); -const u8 gText_PokenavMatchCall_TrainerPokemon[] = _("TRAINER'S POKéMON"); -const u8 gText_PokenavMatchCall_SelfIntroduction[] = _("SELF-INTRODUCTION"); -const u8 gText_Pokenav_ClearButtonList[] = _("{CLEAR 0x80}"); -const u8 gText_PokenavMap_ZoomedOutButtons[] = _("{A_BUTTON}ZOOM {B_BUTTON}CANCEL"); -const u8 gText_PokenavMap_ZoomedInButtons[] = _("{A_BUTTON}FULL {B_BUTTON}CANCEL"); -const u8 gText_PokenavCondition_MonListButtons[] = _("{A_BUTTON}CONDITION {B_BUTTON}CANCEL"); -const u8 gText_PokenavCondition_MonStatusButtons[] = _("{A_BUTTON}MARKINGS {B_BUTTON}CANCEL"); -const u8 gText_PokenavCondition_MarkingButtons[] = _("{A_BUTTON}SELECT MARK {B_BUTTON}CANCEL"); -const u8 gText_PokenavMatchCall_TrainerListButtons[] = _("{A_BUTTON}MENU {B_BUTTON}CANCEL"); -const u8 gText_PokenavMatchCall_CallMenuButtons[] = _("{A_BUTTON}OK {B_BUTTON}CANCEL"); -const u8 gText_PokenavMatchCall_CheckTrainerButtons[] = _("{B_BUTTON}CANCEL"); -const u8 gText_PokenavRibbons_MonListButtons[] = _("{A_BUTTON}RIBBONS {B_BUTTON}CANCEL"); -const u8 gText_PokenavRibbons_RibbonListButtons[] = _("{A_BUTTON}CHECK {B_BUTTON}CANCEL"); -const u8 gText_PokenavRibbons_RibbonCheckButtons[] = _("{B_BUTTON}CANCEL"); const u8 gText_NatureSlash[] = _("NATURE/"); -const u8 gText_TrainerCloseBy[] = _("That TRAINER is close by.\nTalk to the TRAINER in person!"); const u8 gText_InParty[] = _("IN PARTY"); -const u8 gText_Number2[] = _("No. "); -const u8 gText_Ribbons[] = _("RIBBONS"); // Unused const u8 gText_PokemonMaleLv[] = _("{DYNAMIC 0}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GRAY WHITE LIGHT_GRAY}/{LV}{DYNAMIC 1}"); // Unused const u8 gText_PokemonFemaleLv[] = _("{DYNAMIC 0}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GRAY WHITE LIGHT_GRAY}/{LV}{DYNAMIC 1}"); // Unused const u8 gText_PokemonNoGenderLv[] = _("{DYNAMIC 0}/{LV}{DYNAMIC 1}"); // Unused -const u8 gText_Unknown[] = _("UNKNOWN"); -const u8 gText_Call[] = _("CALL"); -const u8 gText_Check[] = _("CHECK"); -const u8 gText_Cancel6[] = _("CANCEL"); -const u8 gText_NumberIndex[] = _("No. {DYNAMIC 0}"); -const u8 gText_RibbonsF700[] = _("RIBBONS {DYNAMIC 0}"); const u8 gText_PokemonMaleLv2[] = _("{DYNAMIC 0}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GRAY WHITE LIGHT_GRAY}/{LV}{DYNAMIC 1}{DYNAMIC 2}"); // Unused const u8 gText_PokemonFemaleLv2[] = _("{DYNAMIC 0}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GRAY WHITE LIGHT_GRAY}/{LV}{DYNAMIC 1}{DYNAMIC 2}"); // Unused const u8 gText_PokemonNoGenderLv2[] = _("{DYNAMIC 0}/{LV}{DYNAMIC 1}{DYNAMIC 2}"); // Unused @@ -1295,20 +1067,8 @@ const u8 gText_Sorry[] = _("SORRY"); const u8 gText_YaySmileEmoji[] = _("YAY{EMOJI_BIGSMILE}"); const u8 gText_ThankYou[] = _("THANK YOU"); const u8 gText_ByeBye[] = _("BYE-BYE!"); -const u8 gText_MatchCallSteven_Strategy[] = _("Attack the weak points!"); -const u8 gText_MatchCallSteven_Pokemon[] = _("Ultimate STEEL POKéMON."); -const u8 gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle[] = _("I'd climb even waterfalls"); -const u8 gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle[] = _("to find a rare stone!"); -const u8 gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle[] = _("I'm the strongest and most"); -const u8 gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle[] = _("energetic after all!"); -const u8 gText_MatchCallBrendan_Strategy[] = _("Battle with knowledge!"); -const u8 gText_MatchCallBrendan_Pokemon[] = _("I will use various POKéMON."); -const u8 gText_MatchCallBrendan_Intro1[] = _("I'll be a better POKéMON"); -const u8 gText_MatchCallBrendan_Intro2[] = _("prof than my father is!"); -const u8 gText_MatchCallMay_Strategy[] = _("I'm not so good at battles."); -const u8 gText_MatchCallMay_Pokemon[] = _("I'll use any POKéMON!"); -const u8 gText_MatchCallMay_Intro1[] = _("My POKéMON and I help"); -const u8 gText_MatchCallMay_Intro2[] = _("my father's research."); +const u8 gText_PlayerScurriedToCenter[] = _("{PLAYER} scurried to a POKéMON CENTER,\nprotecting the exhausted and fainted\nPOKéMON from further harm…\p"); +const u8 gText_PlayerScurriedBackHome[] = _("{PLAYER} scurried back home, protecting\nthe exhausted and fainted POKéMON from\nfurther harm…\p"); const u8 gText_HatchedFromEgg[] = _("{STR_VAR_1} hatched from the EGG!"); const u8 gText_NicknameHatchPrompt[] = _("Would you like to nickname the newly\nhatched {STR_VAR_1}?"); ALIGNED(4) const u8 gText_ReadyPickBerry[] = _("Are you ready to BERRY-CRUSH?\nPlease pick a BERRY for use.\p"); @@ -1376,10 +1136,6 @@ const u8 gText_BattleArenaDesc[] = _("Win battles with teamed-up POKéMON!\nYour const u8 gText_BattleFactoryDesc[] = _("Aim for victory using rental POKéMON!\nYour knowledge will be tested."); const u8 gText_BattlePikeDesc[] = _("Select one of three paths to battle!\nYour luck will be tested."); const u8 gText_BattlePyramidDesc[] = _("Aim for the top with exploration!\nYour bravery will be tested."); -const u8 gText_ContinueMenuPlayer[] = _("PLAYER"); -const u8 gText_ContinueMenuTime[] = _("TIME"); -const u8 gText_ContinueMenuPokedex[] = _("POKéDEX"); -const u8 gText_ContinueMenuBadges[] = _("BADGES"); const u8 gText_Powder[] = _("POWDER"); const u8 gText_BerryPickingRecords[] = _("DODRIO BERRY-PICKING RECORDS"); const u8 gText_BerriesPicked[] = _("BERRIES picked:"); @@ -1608,7 +1364,6 @@ const u8 gText_BoxName[] = _("BOX NAME?"); const u8 gText_PkmnsNickname[] = _("{STR_VAR_1}'s nickname?"); const u8 gText_TellHimTheWords[] = _("Tell him the words."); const u8 gText_MoveOkBack[] = _("{DPAD_NONE}MOVE {A_BUTTON}OK {B_BUTTON}BACK"); -const u8 gText_CallCantBeMadeHere[] = _("A call can't be made from here."); const u8 gText_RentalPkmn2[] = _("RENTAL POKéMON"); const u8 gText_SelectFirstPkmn[] = _("Select the first POKéMON."); const u8 gText_SelectSecondPkmn[] = _("Select the second POKéMON."); @@ -1779,28 +1534,6 @@ const u8 gText_ClearingData[] = _("Clearing data…\nPlease wait."); const u8 gText_IsThisTheCorrectTime[] = _("Is this the correct time?"); const u8 gText_Confirm3[] = _("CONFIRM"); const u8 gText_Cancel4[] = _("CANCEL"); -const u8 gText_MrStoneMatchCallDesc[] = _("DEVON PRES"); -const u8 gText_MrStoneMatchCallName[] = _("MR. STONE"); -const u8 gText_StevenMatchCallDesc[] = _("HARD AS ROCK"); -const u8 gText_StevenMatchCallName[] = _("STEVEN"); -const u8 gText_MayBrendanMatchCallDesc[] = _("RAD NEIGHBOR"); -const u8 gText_NormanMatchCallDesc[] = _("RELIABLE ONE"); -const u8 gText_MomMatchCallDesc[] = _("CALM & KIND"); -const u8 gText_WallyMatchCallDesc[] = _("{PKMN} LOVER"); -const u8 gText_NormanMatchCallName[] = _("DAD"); -const u8 gText_MomMatchCallName[] = _("MOM"); -const u8 gText_ScottMatchCallDesc[] = _("ELUSIVE EYES"); -const u8 gText_ScottMatchCallName[] = _("SCOTT"); -const u8 gText_RoxanneMatchCallDesc[] = _("ROCKIN' WHIZ"); -const u8 gText_BrawlyMatchCallDesc[] = _("THE BIG HIT"); -const u8 gText_WattsonMatchCallDesc[] = _("SWELL SHOCK"); -const u8 gText_FlanneryMatchCallDesc[] = _("PASSION BURN"); -const u8 gText_WinonaMatchCallDesc[] = _("SKY TAMER"); -const u8 gText_TateLizaMatchCallDesc[] = _("MYSTIC DUO"); -const u8 gText_JuanMatchCallDesc[] = _("DANDY CHARM"); -const u8 gText_EliteFourMatchCallDesc[] = _("ELITE FOUR"); -const u8 gText_ChampionMatchCallDesc[] = _("CHAMPION"); -const u8 gText_ProfBirchMatchCallDesc[] = _("{PKMN} PROF."); const u8 gText_CommStandbyAwaitingOtherPlayer[] = _("Communication standby…\nAwaiting another player to choose."); const u8 gText_BattleWasRefused[] = _("The battle was refused.{PAUSE 60}"); const u8 gText_RefusedBattle[] = _("Refused the battle.{PAUSE 60}"); @@ -1834,3 +1567,5 @@ const u8 gText_Fertilize[] = _("FERTILIZE"); const u8 gText_PlantBerry[] = _("PLANT BERRY"); const u8 gText_AM[] = _("AM"); const u8 gText_PM[] = _("PM"); +const u8 gText_Relearn[] = _("{START_BUTTON} RELEARN"); // future note: don't decap this, because it mimics the summary screen BG graphics which will not get decapped +const u8 gText_Rename[] = _("RENAME"); diff --git a/src/text.c b/src/text.c index e18361ddf51c..acb2871a8694 100644 --- a/src/text.c +++ b/src/text.c @@ -932,8 +932,9 @@ bool32 TextPrinterWaitAutoMode(struct TextPrinter *textPrinter) { struct TextPrinterSubStruct *subStruct = (struct TextPrinterSubStruct *)(&textPrinter->subStructFields); - if (subStruct->autoScrollDelay == 49) + if (subStruct->autoScrollDelay == NUM_FRAMES_AUTO_SCROLL_DELAY) { + subStruct->autoScrollDelay = 0; return TRUE; } else @@ -943,21 +944,29 @@ bool32 TextPrinterWaitAutoMode(struct TextPrinter *textPrinter) } } +void SetResultWithButtonPress(bool32 *result) +{ + if (JOY_NEW(A_BUTTON | B_BUTTON)) + { + *result = TRUE; + PlaySE(SE_SELECT); + } +} + bool32 TextPrinterWaitWithDownArrow(struct TextPrinter *textPrinter) { bool32 result = FALSE; - if (gTextFlags.autoScroll != 0) + if (gTextFlags.autoScroll != 0 || AUTO_SCROLL_TEXT) { result = TextPrinterWaitAutoMode(textPrinter); + + if (AUTO_SCROLL_TEXT) + SetResultWithButtonPress(&result); } else { TextPrinterDrawDownArrow(textPrinter); - if (JOY_NEW(A_BUTTON | B_BUTTON)) - { - result = TRUE; - PlaySE(SE_SELECT); - } + SetResultWithButtonPress(&result); } return result; } @@ -965,17 +974,16 @@ bool32 TextPrinterWaitWithDownArrow(struct TextPrinter *textPrinter) bool32 TextPrinterWait(struct TextPrinter *textPrinter) { bool32 result = FALSE; - if (gTextFlags.autoScroll != 0) + if (gTextFlags.autoScroll != 0 || AUTO_SCROLL_TEXT) { result = TextPrinterWaitAutoMode(textPrinter); + + if (AUTO_SCROLL_TEXT) + SetResultWithButtonPress(&result); } else { - if (JOY_NEW(A_BUTTON | B_BUTTON)) - { - result = TRUE; - PlaySE(SE_SELECT); - } + SetResultWithButtonPress(&result); } return result; } @@ -1415,6 +1423,16 @@ static u32 (*GetFontWidthFunc(u8 fontId))(u16, bool32) return NULL; } +s32 GetGlyphWidth(u16 glyphId, bool32 isJapanese, u8 fontId) +{ + u32 (*func)(u16 fontId, bool32 isJapanese); + + func = GetFontWidthFunc(fontId); + if (func == NULL) + return 0; + return func(glyphId, isJapanese); +} + s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) { bool32 isJapanese; @@ -1587,6 +1605,28 @@ s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) return width; } +s32 GetStringLineWidth(u8 fontId, const u8 *str, s16 letterSpacing, u32 lineNum, u32 strSize) +{ + u32 strWidth = 0, strLen, currLine; + u8 strCopy[strSize]; + + for (currLine = 1; currLine <= lineNum; currLine++) + { + strWidth = GetStringWidth(fontId, str, letterSpacing); + strLen = StringLineLength(str); + memset(strCopy, EOS, strSize); + if (currLine == lineNum && strLen != 0) + { + StringCopyN(strCopy, str, strLen); + strWidth = GetStringWidth(fontId, strCopy, letterSpacing); + strLen = StringLineLength(strCopy); + StringAppend(strCopy, gText_EmptyString3); + } + str += strLen + 1; + } + return strWidth; +} + u8 RenderTextHandleBold(u8 *pixels, u8 fontId, u8 *str) { u8 shadowColor; diff --git a/src/text_window.c b/src/text_window.c index df06837299e0..efd087977eb8 100644 --- a/src/text_window.c +++ b/src/text_window.c @@ -5,6 +5,7 @@ #include "palette.h" #include "bg.h" #include "graphics.h" +#include "menu.h" const u8 gTextWindowFrame1_Gfx[] = INCBIN_U8("graphics/text_window/1.4bpp"); static const u8 sTextWindowFrame2_Gfx[] = INCBIN_U8("graphics/text_window/2.4bpp"); @@ -96,6 +97,12 @@ void LoadMessageBoxGfx(u8 windowId, u16 destOffset, u8 palOffset) LoadPalette(GetOverworldTextboxPalettePtr(), palOffset, PLTT_SIZE_4BPP); } +void LoadSignBoxGfx(u8 windowId, u16 destOffset, u8 palOffset) +{ + LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gSignpostWindow_Gfx, 0x1C0, destOffset); + LoadPalette(GetTextWindowPalette(1), palOffset, PLTT_SIZE_4BPP); +} + void LoadUserWindowBorderGfx_(u8 windowId, u16 destOffset, u8 palOffset) { LoadUserWindowBorderGfx(windowId, destOffset, palOffset); diff --git a/src/trainer_hill.c b/src/trainer_hill.c index aa7c8ee930cd..c89803ffb25a 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -852,7 +852,7 @@ bool8 GetHillTrainerFlag(u8 objectEventId) u32 trainerIndexStart = GetFloorId() * HILL_TRAINERS_PER_FLOOR; u8 bitId = gObjectEvents[objectEventId].localId - 1 + trainerIndexStart; - return gSaveBlock2Ptr->frontier.trainerFlags & gBitTable[bitId]; + return gSaveBlock2Ptr->frontier.trainerFlags & (1u << bitId); } void SetHillTrainerFlag(void) @@ -864,7 +864,7 @@ void SetHillTrainerFlag(void) { if (gSaveBlock2Ptr->frontier.trainerIds[i] == gTrainerBattleOpponent_A) { - gSaveBlock2Ptr->frontier.trainerFlags |= gBitTable[trainerIndexStart + i]; + gSaveBlock2Ptr->frontier.trainerFlags |= 1u << (trainerIndexStart + i); break; } } @@ -875,7 +875,7 @@ void SetHillTrainerFlag(void) { if (gSaveBlock2Ptr->frontier.trainerIds[i] == gTrainerBattleOpponent_B) { - gSaveBlock2Ptr->frontier.trainerFlags |= gBitTable[trainerIndexStart + i]; + gSaveBlock2Ptr->frontier.trainerFlags |= 1u << (trainerIndexStart + i); break; } } diff --git a/src/tv.c b/src/tv.c index c67d98407e4e..9030c21478c4 100644 --- a/src/tv.c +++ b/src/tv.c @@ -1262,7 +1262,7 @@ void PutBattleUpdateOnTheAir(u8 opponentLinkPlayerId, u16 move, u16 speciesPlaye if (gBattleTypeFlags & BATTLE_TYPE_MULTI) show->battleUpdate.battleType = 2; - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + else if (IsDoubleBattle()) show->battleUpdate.battleType = 1; else show->battleUpdate.battleType = 0; diff --git a/src/type_icons.c b/src/type_icons.c new file mode 100644 index 000000000000..41fa102bb9b4 --- /dev/null +++ b/src/type_icons.c @@ -0,0 +1,552 @@ +#include "global.h" +#include "battle.h" +#include "battle_anim.h" +#include "battle_controllers.h" +#include "battle_gimmick.h" +#include "decompress.h" +#include "graphics.h" +#include "pokedex.h" +#include "sprite.h" +#include "type_icons.h" + +static void LoadTypeSpritesAndPalettes(void); +static void LoadTypeIconsPerBattler(u32, u32); + +static bool32 UseDoubleBattleCoords(u32); + +static u32 GetMonPublicType(u32, u32); +static bool32 ShouldHideUncaughtType(u32); +static u32 GetMonDefensiveTeraType(struct Pokemon *, struct Pokemon*, u32, u32, u32, u32); +static u32 IsIllusionActiveAndTypeUnchanged(struct Pokemon*, u32, u32); + +static void CreateSpriteFromType(u32, bool32, u32[], u32, u32); +static bool32 ShouldSkipSecondType(u32[], u32); +static void SetTypeIconXY(s32*, s32*, u32, bool32, u32); + +static void CreateSpriteAndSetTypeSpriteAttributes(u32, u32 x, u32 y, u32, u32, bool32); +static bool32 ShouldFlipTypeIcon(bool32, u32, u32); + +static void SpriteCB_TypeIcon(struct Sprite*); +static void DestroyTypeIcon(struct Sprite*); +static void FreeAllTypeIconResources(void); +static bool32 ShouldHideTypeIcon(u32); +static s32 GetTypeIconHideMovement(bool32, u32); +static s32 GetTypeIconSlideMovement(bool32, u32, s32); +static s32 GetTypeIconBounceMovement(s32, u32); + +const struct Coords16 sTypeIconPositions[][2] = +{ + [B_POSITION_PLAYER_LEFT] = + { + [FALSE] = {221, 86}, + [TRUE] = {144, 71}, + }, + [B_POSITION_OPPONENT_LEFT] = + { + [FALSE] = {20, 26}, + [TRUE] = {97, 14}, + }, + [B_POSITION_PLAYER_RIGHT] = + { + [TRUE] = {156, 96}, + }, + [B_POSITION_OPPONENT_RIGHT] = + { + [TRUE] = {85, 39}, + }, +}; + +const union AnimCmd sSpriteAnim_TypeIcon_Normal[] = +{ + ANIMCMD_FRAME(TYPE_ICON_1_FRAME(TYPE_NORMAL), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Fighting[] = +{ + ANIMCMD_FRAME(TYPE_ICON_1_FRAME(TYPE_FIGHTING), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Flying[] = +{ + ANIMCMD_FRAME(TYPE_ICON_1_FRAME(TYPE_FLYING), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Poison[] = +{ + ANIMCMD_FRAME(TYPE_ICON_1_FRAME(TYPE_POISON), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Ground[] = +{ + ANIMCMD_FRAME(TYPE_ICON_1_FRAME(TYPE_GROUND), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Rock[] = +{ + ANIMCMD_FRAME(TYPE_ICON_1_FRAME(TYPE_ROCK), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Bug[] = +{ + ANIMCMD_FRAME(TYPE_ICON_1_FRAME(TYPE_BUG), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Ghost[] = +{ + ANIMCMD_FRAME(TYPE_ICON_1_FRAME(TYPE_GHOST), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Steel[] = +{ + ANIMCMD_FRAME(TYPE_ICON_1_FRAME(TYPE_STEEL), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Mystery[] = +{ + ANIMCMD_FRAME(TYPE_ICON_1_FRAME(TYPE_MYSTERY), 0), + ANIMCMD_END +}; + +const union AnimCmd sSpriteAnim_TypeIcon_Fire[] = +{ + ANIMCMD_FRAME(TYPE_ICON_2_FRAME(TYPE_FIRE), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Water[] = +{ + ANIMCMD_FRAME(TYPE_ICON_2_FRAME(TYPE_WATER), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Grass[] = +{ + ANIMCMD_FRAME(TYPE_ICON_2_FRAME(TYPE_GRASS), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Electric[] = +{ + ANIMCMD_FRAME(TYPE_ICON_2_FRAME(TYPE_ELECTRIC), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Psychic[] = +{ + ANIMCMD_FRAME(TYPE_ICON_2_FRAME(TYPE_PSYCHIC), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Ice[] = +{ + ANIMCMD_FRAME(TYPE_ICON_2_FRAME(TYPE_ICE), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Dragon[] = +{ + ANIMCMD_FRAME(TYPE_ICON_2_FRAME(TYPE_DRAGON), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Dark[] = +{ + ANIMCMD_FRAME(TYPE_ICON_2_FRAME(TYPE_DARK), 0), + ANIMCMD_END +}; +const union AnimCmd sSpriteAnim_TypeIcon_Fairy[] = +{ + ANIMCMD_FRAME(TYPE_ICON_2_FRAME(TYPE_FAIRY), 0), + ANIMCMD_END +}; + +const union AnimCmd *const sSpriteAnimTable_TypeIcons[] = +{ + [TYPE_NONE] = sSpriteAnim_TypeIcon_Mystery, + [TYPE_NORMAL] = sSpriteAnim_TypeIcon_Normal, + [TYPE_FIGHTING] = sSpriteAnim_TypeIcon_Fighting, + [TYPE_FLYING] = sSpriteAnim_TypeIcon_Flying, + [TYPE_POISON] = sSpriteAnim_TypeIcon_Poison, + [TYPE_GROUND] = sSpriteAnim_TypeIcon_Ground, + [TYPE_ROCK] = sSpriteAnim_TypeIcon_Rock, + [TYPE_BUG] = sSpriteAnim_TypeIcon_Bug, + [TYPE_GHOST] = sSpriteAnim_TypeIcon_Ghost, + [TYPE_STEEL] = sSpriteAnim_TypeIcon_Steel, + [TYPE_MYSTERY] = sSpriteAnim_TypeIcon_Mystery, + [TYPE_FIRE] = sSpriteAnim_TypeIcon_Fire, + [TYPE_WATER] = sSpriteAnim_TypeIcon_Water, + [TYPE_GRASS] = sSpriteAnim_TypeIcon_Grass, + [TYPE_ELECTRIC] = sSpriteAnim_TypeIcon_Electric, + [TYPE_PSYCHIC] = sSpriteAnim_TypeIcon_Psychic, + [TYPE_ICE] = sSpriteAnim_TypeIcon_Ice, + [TYPE_DRAGON] = sSpriteAnim_TypeIcon_Dragon, + [TYPE_DARK] = sSpriteAnim_TypeIcon_Dark, + [TYPE_FAIRY] = sSpriteAnim_TypeIcon_Fairy, + [TYPE_STELLAR] = sSpriteAnim_TypeIcon_Mystery, +}; + +const struct CompressedSpritePalette sTypeIconPal1 = +{ + .data = gBattleIcons_Pal1, + .tag = TYPE_ICON_TAG +}; + +const struct CompressedSpritePalette sTypeIconPal2 = +{ + .data = gBattleIcons_Pal2, + .tag = TYPE_ICON_TAG_2 +}; + +const struct OamData sOamData_TypeIcons = +{ + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = SPRITE_SHAPE(8x16), + .size = SPRITE_SIZE(8x16), + .priority = 1, +}; + +const struct CompressedSpriteSheet sSpriteSheet_TypeIcons2 = +{ + .data = gBattleIcons_Gfx2, + .size = (8*16) * 9, + .tag = TYPE_ICON_TAG_2, +}; + +const struct CompressedSpriteSheet sSpriteSheet_TypeIcons1 = +{ + .data = gBattleIcons_Gfx1, + .size = (8*16) * 10, + .tag = TYPE_ICON_TAG, +}; + +const struct SpriteTemplate sSpriteTemplate_TypeIcons1 = +{ + .tileTag = TYPE_ICON_TAG, + .paletteTag = TYPE_ICON_TAG, + .oam = &sOamData_TypeIcons, + .anims = sSpriteAnimTable_TypeIcons, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_TypeIcon +}; + +const struct SpriteTemplate sSpriteTemplate_TypeIcons2 = +{ + .tileTag = TYPE_ICON_TAG_2, + .paletteTag = TYPE_ICON_TAG_2, + .oam = &sOamData_TypeIcons, + .anims = sSpriteAnimTable_TypeIcons, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_TypeIcon +}; + +void LoadTypeIcons(u32 battler) +{ + u32 position; + + if (B_SHOW_TYPES == SHOW_TYPES_NEVER) + return; + + LoadTypeSpritesAndPalettes(); + + for (position = 0; position < gBattlersCount; ++position) + LoadTypeIconsPerBattler(battler, position); +} + +static void LoadTypeSpritesAndPalettes(void) +{ + if (IndexOfSpritePaletteTag(TYPE_ICON_TAG) != UCHAR_MAX) + return; + + LoadCompressedSpriteSheet(&sSpriteSheet_TypeIcons1); + LoadCompressedSpriteSheet(&sSpriteSheet_TypeIcons2); + LoadCompressedSpritePalette(&sTypeIconPal1); + LoadCompressedSpritePalette(&sTypeIconPal2); +} + +static void LoadTypeIconsPerBattler(u32 battler, u32 position) +{ + u32 typeNum, types[2]; + u32 battlerId = GetBattlerAtPosition(position); + bool32 useDoubleBattleCoords = UseDoubleBattleCoords(battlerId); + + if (!IsBattlerAlive(battlerId)) + return; + + for (typeNum = 0; typeNum < 2; ++typeNum) + types[typeNum] = GetMonPublicType(battlerId, typeNum); + + for (typeNum = 0; typeNum < 2; ++typeNum) + CreateSpriteFromType(position, useDoubleBattleCoords, types, typeNum, battler); +} + +static bool32 UseDoubleBattleCoords(u32 position) +{ + if (!IsDoubleBattle()) + return FALSE; + + if ((position == B_POSITION_PLAYER_LEFT) && (gBattleMons[B_POSITION_PLAYER_RIGHT].species == SPECIES_NONE)) + return FALSE; + + if ((position == B_POSITION_OPPONENT_LEFT) && (gBattleMons[B_POSITION_OPPONENT_RIGHT].species == SPECIES_NONE)) + return FALSE; + + return TRUE; +} + +static u32 GetMonPublicType(u32 battlerId, u32 typeNum) +{ + struct Pokemon* mon = GetPartyBattlerData(battlerId); + u32 monSpecies = GetMonData(mon,MON_DATA_SPECIES,NULL); + struct Pokemon* monIllusion; + u32 illusionSpecies; + + if (ShouldHideUncaughtType(monSpecies)) + return TYPE_MYSTERY; + + monIllusion = GetIllusionMonPtr(battlerId); + illusionSpecies = GetMonData(monIllusion,MON_DATA_SPECIES,NULL); + + if (GetActiveGimmick(battlerId) == GIMMICK_TERA) + return GetMonDefensiveTeraType(mon,monIllusion,battlerId,typeNum,illusionSpecies,monSpecies); + + if (IsIllusionActiveAndTypeUnchanged(monIllusion,monSpecies, battlerId)) + return gSpeciesInfo[illusionSpecies].types[typeNum]; + + return gBattleMons[battlerId].types[typeNum]; +} + +static bool32 ShouldHideUncaughtType(u32 species) +{ + if (B_SHOW_TYPES != SHOW_TYPES_CAUGHT) + return FALSE; + + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species),FLAG_GET_CAUGHT)) + return FALSE; + + return TRUE; +} + +static u32 GetMonDefensiveTeraType(struct Pokemon * mon, struct Pokemon* monIllusion, u32 battlerId, u32 typeNum, u32 illusionSpecies, u32 monSpecies) +{ + u32 teraType = GetBattlerTeraType(battlerId); + u32 targetSpecies; + + if (teraType != TYPE_STELLAR) + return teraType; + + targetSpecies = (monIllusion != NULL) ? illusionSpecies : monSpecies; + + return gSpeciesInfo[targetSpecies].types[typeNum]; +} + +static u32 IsIllusionActiveAndTypeUnchanged(struct Pokemon* monIllusion, u32 monSpecies, u32 battlerId) +{ + u32 typeNum; + + if (monIllusion == NULL) + return FALSE; + + for (typeNum = 0; typeNum < 2; typeNum++) + if (gSpeciesInfo[monSpecies].types[typeNum] != gBattleMons[battlerId].types[typeNum]) + return FALSE; + + return TRUE; +} + +static void CreateSpriteFromType(u32 position, bool32 useDoubleBattleCoords, u32 types[], u32 typeNum, u32 battler) +{ + s32 x = 0, y = 0; + + if (ShouldSkipSecondType(types, typeNum)) + return; + + SetTypeIconXY(&x, &y, position, useDoubleBattleCoords, typeNum); + + CreateSpriteAndSetTypeSpriteAttributes(types[typeNum], x, y, position, battler, useDoubleBattleCoords); +} + +static bool32 ShouldSkipSecondType(u32 types[], u32 typeNum) +{ + if (!typeNum) + return FALSE; + + if (types[0] != types[1]) + return FALSE; + + return TRUE; +} + +static void SetTypeIconXY(s32* x, s32* y, u32 position, bool32 useDoubleBattleCoords, u32 typeNum) +{ + *x = sTypeIconPositions[position][useDoubleBattleCoords].x; + *y = sTypeIconPositions[position][useDoubleBattleCoords].y + (11 * typeNum); +} + +static void CreateSpriteAndSetTypeSpriteAttributes(u32 type, u32 x, u32 y, u32 position, u32 battler, bool32 useDoubleBattleCoords) +{ + struct Sprite* sprite; + const struct SpriteTemplate* spriteTemplate = gTypesInfo[type].useSecondTypeIconPalette ? &sSpriteTemplate_TypeIcons2 : &sSpriteTemplate_TypeIcons1; + u32 spriteId = CreateSpriteAtEnd(spriteTemplate, x, y, UCHAR_MAX); + + if (spriteId == MAX_SPRITES) + return; + + sprite = &gSprites[spriteId]; + sprite->tMonPosition = position; + sprite->tBattlerId = battler; + sprite->tVerticalPosition = y; + + sprite->hFlip = ShouldFlipTypeIcon(useDoubleBattleCoords, position, type); + + StartSpriteAnim(sprite, type); +} + +static bool32 ShouldFlipTypeIcon(bool32 useDoubleBattleCoords, u32 position, u32 typeId) +{ + bool32 side = (useDoubleBattleCoords) ? B_SIDE_OPPONENT : B_SIDE_PLAYER; + + if (GetBattlerSide(GetBattlerAtPosition(position)) != side) + return FALSE; + + return !gTypesInfo[typeId].isSpecialCaseType; +} + +static void SpriteCB_TypeIcon(struct Sprite* sprite) +{ + u32 position = sprite->tMonPosition; + u32 battlerId = sprite->tBattlerId; + bool32 useDoubleBattleCoords = UseDoubleBattleCoords(GetBattlerAtPosition(position)); + + if (sprite->tHideIconTimer == NUM_FRAMES_HIDE_TYPE_ICON) + { + DestroyTypeIcon(sprite); + return; + } + + if (ShouldHideTypeIcon(battlerId)) + { + sprite->x += GetTypeIconHideMovement(useDoubleBattleCoords, position); + ++sprite->tHideIconTimer; + return; + } + + sprite->x += GetTypeIconSlideMovement(useDoubleBattleCoords,position, sprite->x); + sprite->y = GetTypeIconBounceMovement(sprite->tVerticalPosition,position); +} + +static const u32 typeIconTags[] = +{ + TYPE_ICON_TAG, + TYPE_ICON_TAG_2 +}; + +static void DestroyTypeIcon(struct Sprite* sprite) +{ + u32 spriteId, tag; + + DestroySpriteAndFreeResources(sprite); + + for (spriteId = 0; spriteId < MAX_SPRITES; ++spriteId) + { + if (!gSprites[spriteId].inUse) + continue; + + for (tag = 0; tag < 2; tag++) + { + if (gSprites[spriteId].template->paletteTag == typeIconTags[tag]) + return; + + if (gSprites[spriteId].template->tileTag == typeIconTags[tag]) + return; + } + } + + FreeAllTypeIconResources(); +} + +static void FreeAllTypeIconResources(void) +{ + u32 tag; + + for (tag = 0; tag < 2; tag++) + { + FreeSpriteTilesByTag(typeIconTags[tag]); + FreeSpritePaletteByTag(typeIconTags[tag]); + } +} + +static void (* const sShowTypesControllerFuncs[])(u32 battler) = +{ + PlayerHandleChooseMove, + HandleChooseMoveAfterDma3, + HandleInputChooseTarget, + HandleInputShowTargets, + HandleInputShowEntireFieldTargets, + HandleMoveSwitching, + HandleInputChooseMove, +}; + + +static bool32 ShouldHideTypeIcon(u32 battlerId) +{ + u32 funcIndex; + + for (funcIndex = 0; funcIndex < ARRAY_COUNT(sShowTypesControllerFuncs); funcIndex++) + if (gBattlerControllerFuncs[battlerId] == sShowTypesControllerFuncs[funcIndex]) + return FALSE; + + return TRUE; +} + +static s32 GetTypeIconHideMovement(bool32 useDoubleBattleCoords, u32 position) +{ + if (useDoubleBattleCoords) + { + if (position == B_POSITION_PLAYER_LEFT || position == B_POSITION_PLAYER_RIGHT) + return 1; + else + return -1; + } + + if (position == B_POSITION_PLAYER_LEFT) + return -1; + else + return 1; +} + +static s32 GetTypeIconSlideMovement(bool32 useDoubleBattleCoords, u32 position, s32 xPos) +{ + if (useDoubleBattleCoords) + { + switch (position) + { + case B_POSITION_PLAYER_LEFT: + case B_POSITION_PLAYER_RIGHT: + if (xPos > sTypeIconPositions[position][useDoubleBattleCoords].x - 10) + return -1; + break; + default: + case B_POSITION_OPPONENT_LEFT: + case B_POSITION_OPPONENT_RIGHT: + if (xPos < sTypeIconPositions[position][useDoubleBattleCoords].x + 10) + return 1; + break; + } + return 0; + } + + if (position == B_POSITION_PLAYER_LEFT) + { + if (xPos < sTypeIconPositions[position][useDoubleBattleCoords].x + 10) + return 1; + } + else + { + if (xPos > sTypeIconPositions[position][useDoubleBattleCoords].x - 10) + return -1; + } + return 0; +} + +static s32 GetTypeIconBounceMovement(s32 originalY, u32 position) +{ + struct Sprite* healthbox = &gSprites[gHealthboxSpriteIds[GetBattlerAtPosition(position)]]; + return originalY + healthbox->y2; +} + diff --git a/src/union_room.c b/src/union_room.c index f4ee01d1b404..ac4c61035a2e 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -3294,6 +3294,9 @@ void InitUnionRoom(void) { struct WirelessLink_URoom *data; + if (!ShouldCheckForUnionRoom()) + return; + sUnionRoomPlayerName[0] = EOS; CreateTask(Task_InitUnionRoom, 0); sWirelessLinkMain.uRoom = sWirelessLinkMain.uRoom; // Needed to match. @@ -3377,6 +3380,9 @@ static void Task_InitUnionRoom(u8 taskId) bool16 BufferUnionRoomPlayerName(void) { + if (!ShouldCheckForUnionRoom()) + return FALSE; + if (sUnionRoomPlayerName[0] != EOS) { StringCopy(gStringVar1, sUnionRoomPlayerName); diff --git a/src/util.c b/src/util.c index 77d9cde2f106..002b2fabf0d4 100644 --- a/src/util.c +++ b/src/util.c @@ -4,42 +4,6 @@ #include "palette.h" #include "constants/rgb.h" -const u32 gBitTable[] = -{ - 1 << 0, - 1 << 1, - 1 << 2, - 1 << 3, - 1 << 4, - 1 << 5, - 1 << 6, - 1 << 7, - 1 << 8, - 1 << 9, - 1 << 10, - 1 << 11, - 1 << 12, - 1 << 13, - 1 << 14, - 1 << 15, - 1 << 16, - 1 << 17, - 1 << 18, - 1 << 19, - 1 << 20, - 1 << 21, - 1 << 22, - 1 << 23, - 1 << 24, - 1 << 25, - 1 << 26, - 1 << 27, - 1 << 28, - 1 << 29, - 1 << 30, - 1 << 31, -}; - static const struct SpriteTemplate sInvisibleSpriteTemplate = { .tileTag = 0, diff --git a/src/wild_encounter.c b/src/wild_encounter.c index ae7770aa3a34..033eec56daef 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -1002,14 +1002,10 @@ static bool8 IsWildLevelAllowedByRepel(u8 wildLevel) for (i = 0; i < PARTY_SIZE; i++) { - if (GetMonData(&gPlayerParty[i], MON_DATA_HP) && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)) + if (I_REPEL_INCLUDE_FAINTED == GEN_1 || I_REPEL_INCLUDE_FAINTED >= GEN_6 || GetMonData(&gPlayerParty[i], MON_DATA_HP)) { - u8 ourLevel = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); - - if (wildLevel < ourLevel) - return FALSE; - else - return TRUE; + if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)) + return wildLevel >= GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); } } diff --git a/sym_bss.txt b/sym_bss.txt deleted file mode 100644 index 0520e0b5b0a9..000000000000 --- a/sym_bss.txt +++ /dev/null @@ -1,63 +0,0 @@ - .include "src/main.o" - .include "src/malloc.o" - .include "src/dma3_manager.o" - .include "src/gpu_regs.o" - .include "src/bg.o" - .include "src/text.o" - .include "src/sprite.o" - .include "src/link.o" - .include "src/AgbRfu_LinkManager.o" - .include "src/link_rfu_3.o" - .include "src/link_rfu_2.o" - .include "src/union_room.o" - .include "src/wireless_communication_status_screen.o" - .include "src/union_room_battle.o" - .include "src/dodrio_berry_picking.o" - .include "src/rtc.o" - .include "src/main_menu.o" - .include "src/digit_obj_util.o" - .include "src/egg_hatch.o" - .include "src/berry_blender.o" - .include "src/play_time.o" - .include "src/overworld.o" - .include "src/field_camera.o" - .include "src/script.o" - .include "src/scrcmd.o" - .include "src/tileset_anims.o" - .include "src/palette.o" - .include "src/sound.o" - .include "src/field_weather.o" - .include "src/field_effect.o" - .include "src/pokemon_storage_system.o" - .include "src/fldeff_cut.o" - .include "src/script_menu.o" - .include "src/record_mixing.o" - .include "src/tv.o" - .include "src/mauville_old_man.o" - .include "src/menu_helpers.o" - .include "src/region_map.o" - .include "src/slot_machine.o" - .include "src/contest_painting.o" - .include "src/starter_choose.o" - .include "src/pokedex_area_screen.o" - .include "src/battle_transition.o" - .include "src/pokemon_animation.o" - .include "src/recorded_battle.o" - .include "src/battle_factory_screen.o" - .include "src/battle_factory.o" - .include "src/battle_pike.o" - .include "src/battle_tent.o" - .include "src/multiboot.o" - .include "src/mirage_tower.o" - .include "src/berry_fix_program.o" - .include "src/pokenav_conditions_gfx.o" - .include "src/pokenav_ribbons_summary.o" - .include "src/ereader_helpers.o" - .include "src/faraway_island.o" - .include "src/m4a_1.o" - .include "data/sound_data.o" - .include "src/agb_flash.o" - .include "src/siirtc.o" - .include "*libgcc.a:dp-bit.o" - .include "*libgcc.a:fp-bit.o" - .include "*libc.a:syscalls.o" diff --git a/sym_common.txt b/sym_common.txt deleted file mode 100644 index 4df67008428a..000000000000 --- a/sym_common.txt +++ /dev/null @@ -1,49 +0,0 @@ - .align 4 - .include "main.o" - .include "bg.o" - .align 4 - .include "window.o" - .include "text.o" - .include "sprite.o" - .include "link.o" - .include "AgbRfu_LinkManager.o" - .include "link_rfu_2.o" - .include "rtc.o" - .include "battle_main.o" - .include "battle_controllers.o" - .include "random.o" - .include "load_save.o" - .include "berry_blender.o" - .include "overworld.o" - .include "fieldmap.o" - .include "field_camera.o" - .include "field_control_avatar.o" - .include "start_menu.o" - .include "sound.o" - .include "task.o" - .include "trainer_see.o" - .include "pokedex.o" - .include "contest.o" - .include "tv.o" - .include "mauville_old_man.o" - .include "image_processing_effects.o" - .align 4 - .include "contest_painting.o" - .include "field_specials.o" - .include "evolution_scene.o" - .include "pokedex_cry_screen.o" - .include "save.o" - .include "battle_tower.o" - .include "intro.o" - .include "battle_anim_throw.o" - .include "battle_factory_screen.o" - .include "apprentice.o" - .align 4 - .include "list_menu.o" - .include "party_menu.o" - .include "ereader_screen.o" - .include "m4a.o" - .include "agb_flash.o" - .include "librfu_stwi.o" - .include "librfu_rfu.o" - .include "librfu_sio32id.o" diff --git a/sym_ewram.txt b/sym_ewram.txt deleted file mode 100644 index 81613166dcab..000000000000 --- a/sym_ewram.txt +++ /dev/null @@ -1,154 +0,0 @@ - .include "src/malloc.o" - .include "src/decompress.o" - .include "src/main.o" - .include "src/window.o" - .include "src/text.o" - .include "src/sprite.o" - .include "src/string_util.o" - .include "src/link.o" - .include "src/AgbRfu_LinkManager.o" - .include "src/link_rfu_3.o" - .include "src/link_rfu_2.o" - .include "src/union_room.o" - .include "src/mystery_gift_menu.o" - .include "src/union_room_player_avatar.o" - .include "src/wireless_communication_status_screen.o" - .include "src/union_room_battle.o" - .include "src/mystery_gift.o" - .include "src/mystery_gift_view.o" - .include "src/mystery_gift_server.o" - .include "src/mystery_gift_client.o" - .include "src/union_room_chat.o" - .include "src/berry_crush.o" - .include "src/berry_powder.o" - .include "src/dodrio_berry_picking.o" - .include "src/pokemon_jump.o" - .include "src/main_menu.o" - .include "src/battle_controllers.o" - .include "src/digit_obj_util.o" - .include "src/battle_main.o" - .include "src/pokemon.o" - .include "src/random.o" - .include "src/daycare.o" - .include "src/load_save.o" - .include "src/trade.o" - .include "src/berry_blender.o" - .include "src/new_game.o" - .include "src/overworld.o" - .include "src/fieldmap.o" - .include "src/field_camera.o" - .include "src/field_player_avatar.o" - .include "src/event_object_movement.o" - .include "src/field_message_box.o" - .include "src/scrcmd.o" - .include "src/field_control_avatar.o" - .include "src/event_data.o" - .include "src/start_menu.o" - .include "src/tileset_anims.o" - .include "src/palette.o" - .include "src/sound.o" - .include "src/battle_anim.o" - .include "src/battle_anim_mons.o" - - .space 0xC - .include "src/field_weather.o" - .include "src/field_weather_effect.o" - .include "src/battle_setup.o" - .include "src/trainer_see.o" - .include "src/wild_encounter.o" - .include "src/field_effect.o" - .include "src/scanline_effect.o" - .include "src/option_menu.o" - .include "src/pokedex.o" - .include "src/trainer_card.o" - .include "src/frontier_pass.o" - .include "src/pokemon_storage_system.o" - .include "src/script_movement.o" - .include "src/fldeff_cut.o" - .include "src/map_name_popup.o" - .include "src/item.o" - .include "src/contest.o" - .include "src/shop.o" - .include "src/fldeff_escalator.o" - .include "src/script_menu.o" - .include "src/naming_screen.o" - .include "src/money.o" - .include "src/record_mixing.o" - .include "src/secret_base.o" - .include "src/tv.o" - .include "src/contest_util.o" - .include "src/rotating_gate.o" - .include "src/safari_zone.o" - .include "src/item_use.o" - .include "src/battle_anim_effects_1.o" - .include "src/battle_anim_dragon.o" - .include "src/battle_anim_utility_funcs.o" - .include "src/battle_intro.o" - .include "src/easy_chat.o" - .include "src/mon_markings.o" - .include "src/mauville_old_man.o" - .include "src/mail.o" - .include "src/menu_helpers.o" - .include "src/region_map.o" - .include "src/decoration.o" - .include "src/slot_machine.o" - .include "src/battle_ai_main.o" - .include "src/fldeff_misc.o" - .include "src/pokeblock.o" - .include "src/field_specials.o" - .include "src/battle_records.o" - .include "src/pokedex_area_screen.o" - .include "src/evolution_scene.o" - .include "src/roulette.o" - .include "src/pokedex_cry_screen.o" - .include "src/coins.o" - .include "src/battle_transition.o" - .include "src/battle_message.o" - .include "src/cable_car.o" - .include "src/confetti_util.o" - .include "src/save.o" - .include "src/mystery_event_script.o" - .include "src/move_relearner.o" - .include "src/decoration_inventory.o" - .include "src/roamer.o" - .include "src/battle_tower.o" - .include "src/use_pokeblock.o" - .include "src/player_pc.o" - .include "src/intro.o" - .include "src/field_region_map.o" - .include "src/hall_of_fame.o" - .include "src/credits.o" - .include "src/lottery_corner.o" - .include "src/diploma.o" - .include "src/berry_tag_screen.o" - .include "src/mystery_event_menu.o" - .include "src/save_failed_screen.o" - .include "src/braille_puzzles.o" - .include "src/pokeblock_feed.o" - .include "src/intro_credits_graphics.o" - .include "src/recorded_battle.o" - .include "src/trainer_pokemon_sprites.o" - .include "src/lilycove_lady.o" - .include "src/battle_dome.o" - .include "src/match_call.o" - .include "src/menu.o" - .include "src/battle_factory_screen.o" - .include "src/rotating_tile_puzzle.o" - .include "src/item_menu.o" - .include "src/list_menu.o" - .include "src/dynamic_placeholder_text_util.o" - .include "src/item_icon.o" - .include "src/party_menu.o" - .include "src/mirage_tower.o" - .include "src/pokemon_summary_screen.o" - .include "src/pokedex_area_region_map.o" - .include "src/battle_pyramid_bag.o" - .include "src/pokenav.o" - .include "src/pokenav_list.o" - .include "src/menu_specialized.o" - .include "src/faraway_island.o" - .include "src/trainer_hill.o" - .include "src/rayquaza_scene.o" - .include "src/debug.o" - .include "src/battle_controller_player.o" - .include "src/pokedex_plus_hgss.o" diff --git a/test/battle/ability/aftermath.c b/test/battle/ability/aftermath.c index 5cfd5ef0342d..119c3bbec4cd 100644 --- a/test/battle/ability/aftermath.c +++ b/test/battle/ability/aftermath.c @@ -11,7 +11,7 @@ SINGLE_BATTLE_TEST("Aftermath damages the attacker by 1/4th of its max HP if fai } WHEN { TURN {MOVE(opponent, MOVE_TACKLE);} } SCENE { - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); MESSAGE("Voltorb fainted!"); ABILITY_POPUP(player, ABILITY_AFTERMATH); diff --git a/test/battle/ability/anger_point.c b/test/battle/ability/anger_point.c index ddfa3c841de3..b803b40f3fcf 100644 --- a/test/battle/ability/anger_point.c +++ b/test/battle/ability/anger_point.c @@ -32,7 +32,7 @@ SINGLE_BATTLE_TEST("Anger Point does not trigger when already at maximum Attack } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_BELLY_DRUM, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); - MESSAGE("Primeape cut its own HP and maximized ATTACK!"); + MESSAGE("Primeape cut its own HP and maximized its Attack!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_FROST_BREATH, opponent); MESSAGE("A critical hit!"); NONE_OF { @@ -58,7 +58,7 @@ SINGLE_BATTLE_TEST("Anger Point does not trigger when a substitute takes the hit TURN { MOVE(player, MOVE_SUBSTITUTE); MOVE(opponent, MOVE_FROST_BREATH); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SUBSTITUTE, player); - MESSAGE("Primeape made a SUBSTITUTE!"); + MESSAGE("Primeape put in a substitute!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_FROST_BREATH, opponent); MESSAGE("A critical hit!"); NONE_OF { diff --git a/test/battle/ability/bad_dreams.c b/test/battle/ability/bad_dreams.c index 312b9dc695e8..8a1d3669a2c8 100644 --- a/test/battle/ability/bad_dreams.c +++ b/test/battle/ability/bad_dreams.c @@ -15,13 +15,13 @@ SINGLE_BATTLE_TEST("Bad Dreams causes the sleeping enemy Pokemon to lose 1/8 of } SCENE { if (status == STATUS1_SLEEP) { ABILITY_POPUP(player, ABILITY_BAD_DREAMS); - MESSAGE("Foe Wobbuffet is tormented!"); + MESSAGE("The opposing Wobbuffet is tormented!"); HP_BAR(opponent); } else { NONE_OF { ABILITY_POPUP(player, ABILITY_BAD_DREAMS); - MESSAGE("Foe Wobbuffet is tormented!"); + MESSAGE("The opposing Wobbuffet is tormented!"); HP_BAR(opponent); }; } @@ -115,11 +115,11 @@ DOUBLE_BATTLE_TEST("Bad Dreams faints both sleeping Pokemon on opponent side") TURN {SEND_OUT(opponentLeft, 2); SEND_OUT(opponentRight, 3);} } SCENE { ABILITY_POPUP(playerLeft, ABILITY_BAD_DREAMS); - MESSAGE("Foe Wobbuffet is tormented!"); + MESSAGE("The opposing Wobbuffet is tormented!"); HP_BAR(opponentLeft); - MESSAGE("Foe Wobbuffet fainted!"); - MESSAGE("Foe Wobbuffet is tormented!"); + MESSAGE("The opposing Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet is tormented!"); HP_BAR(opponentRight); - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet fainted!"); } } diff --git a/test/battle/ability/battle_bond.c b/test/battle/ability/battle_bond.c index 5f2b66593af1..f61a6d171c44 100644 --- a/test/battle/ability/battle_bond.c +++ b/test/battle/ability/battle_bond.c @@ -16,7 +16,7 @@ SINGLE_BATTLE_TEST("Battle Bond does not transform species other than Greninja") TURN { MOVE(player, MOVE_WATER_GUN); SEND_OUT(opponent, 1); } } SCENE { HP_BAR(opponent); - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet fainted!"); NONE_OF { ABILITY_POPUP(player, ABILITY_BATTLE_BOND); MESSAGE("Wobbuffet became fully charged due to its bond with its trainer!"); @@ -54,7 +54,7 @@ SINGLE_BATTLE_TEST("Battle Bond transforms player's Greninja - Singles") } SCENE { HP_BAR(opponent); - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet fainted!"); if (monsCountOpponent != 1) { ABILITY_POPUP(player, ABILITY_BATTLE_BOND); MESSAGE("Greninja became fully charged due to its bond with its trainer!"); @@ -104,12 +104,12 @@ SINGLE_BATTLE_TEST("Battle Bond transforms opponent's Greninja - Singles") MESSAGE("Wobbuffet fainted!"); if (monsCountPlayer != 1) { ABILITY_POPUP(opponent, ABILITY_BATTLE_BOND); - MESSAGE("Foe Greninja became fully charged due to its bond with its trainer!"); - MESSAGE("Foe Greninja became Ash-Greninja!"); + MESSAGE("The opposing Greninja became fully charged due to its bond with its trainer!"); + MESSAGE("The opposing Greninja became Ash-Greninja!"); } else { NONE_OF { ABILITY_POPUP(opponent, ABILITY_BATTLE_BOND); - MESSAGE("Foe Greninja became fully charged due to its bond with its trainer!"); + MESSAGE("The opposing Greninja became fully charged due to its bond with its trainer!"); } } } FINALLY { diff --git a/test/battle/ability/beads_of_ruin.c b/test/battle/ability/beads_of_ruin.c index bb05031fe3ea..bbc71f6c2b34 100644 --- a/test/battle/ability/beads_of_ruin.c +++ b/test/battle/ability/beads_of_ruin.c @@ -70,6 +70,6 @@ SINGLE_BATTLE_TEST("Beads of Ruin's message displays correctly after all battler SEND_IN_MESSAGE("Wobbuffet"); MESSAGE("2 sent out Chi-Yu!"); ABILITY_POPUP(opponent, ABILITY_BEADS_OF_RUIN); - MESSAGE("Foe Chi-Yu's Beads of Ruin weakened the Sp. Def of all surrounding Pokémon!"); + MESSAGE("The opposing Chi-Yu's Beads of Ruin weakened the Sp. Def of all surrounding Pokémon!"); } } diff --git a/test/battle/ability/clear_body.c b/test/battle/ability/clear_body.c index dc82be67b434..1e955431a1b6 100644 --- a/test/battle/ability/clear_body.c +++ b/test/battle/ability/clear_body.c @@ -26,11 +26,11 @@ SINGLE_BATTLE_TEST("Clear Body, Full Metal Body, and White Smoke prevent intimid } ABILITY_POPUP(opponent, ability); if (ability == ABILITY_FULL_METAL_BODY) - MESSAGE("Foe Solgaleo's Full Metal Body prevents stat loss!"); + MESSAGE("The opposing Solgaleo's Full Metal Body prevents stat loss!"); else if (ability == ABILITY_WHITE_SMOKE) - MESSAGE("Foe Torkoal's White Smoke prevents stat loss!"); + MESSAGE("The opposing Torkoal's White Smoke prevents stat loss!"); else - MESSAGE("Foe Metang's Clear Body prevents stat loss!"); + MESSAGE("The opposing Metang's Clear Body prevents stat loss!"); HP_BAR(player, captureDamage: &turnTwoHit); } THEN { EXPECT_EQ(turnOneHit, turnTwoHit); @@ -76,11 +76,11 @@ SINGLE_BATTLE_TEST("Clear Body, Full Metal Body, and White Smoke prevent stat st } ABILITY_POPUP(opponent, ability); if (ability == ABILITY_FULL_METAL_BODY) - MESSAGE("Foe Solgaleo's Full Metal Body prevents stat loss!"); + MESSAGE("The opposing Solgaleo's Full Metal Body prevents stat loss!"); else if (ability == ABILITY_WHITE_SMOKE) - MESSAGE("Foe Torkoal's White Smoke prevents stat loss!"); + MESSAGE("The opposing Torkoal's White Smoke prevents stat loss!"); else - MESSAGE("Foe Metang's Clear Body prevents stat loss!"); + MESSAGE("The opposing Metang's Clear Body prevents stat loss!"); } } @@ -104,11 +104,11 @@ SINGLE_BATTLE_TEST("Clear Body, Full Metal Body, and White Smoke prevent Sticky } ABILITY_POPUP(opponent, ability); if (ability == ABILITY_FULL_METAL_BODY) - MESSAGE("Foe Solgaleo's Full Metal Body prevents stat loss!"); + MESSAGE("The opposing Solgaleo's Full Metal Body prevents stat loss!"); else if (ability == ABILITY_WHITE_SMOKE) - MESSAGE("Foe Torkoal's White Smoke prevents stat loss!"); + MESSAGE("The opposing Torkoal's White Smoke prevents stat loss!"); else - MESSAGE("Foe Metang's Clear Body prevents stat loss!"); + MESSAGE("The opposing Metang's Clear Body prevents stat loss!"); } } @@ -128,9 +128,9 @@ SINGLE_BATTLE_TEST("Clear Body, Full Metal Body, and White Smoke don't prevent s ANIMATION(ANIM_TYPE_MOVE, MOVE_SUPERPOWER, opponent); NONE_OF { ABILITY_POPUP(opponent, ability); - MESSAGE("Foe Solgaleo's Full Metal Body prevents stat loss!"); - MESSAGE("Foe Torkoal's White Smoke prevents stat loss!"); - MESSAGE("Foe Metang's Clear Body prevents stat loss!"); + MESSAGE("The opposing Solgaleo's Full Metal Body prevents stat loss!"); + MESSAGE("The opposing Torkoal's White Smoke prevents stat loss!"); + MESSAGE("The opposing Metang's Clear Body prevents stat loss!"); } } } @@ -181,15 +181,15 @@ SINGLE_BATTLE_TEST("Mold Breaker, Teravolt, and Turboblaze ignore Clear Body and if (ability == ABILITY_FULL_METAL_BODY){ // Full Metal Body can't be ignored by breaker abilities NOT ANIMATION(ANIM_TYPE_MOVE, move, player); ABILITY_POPUP(opponent, ability); - MESSAGE("Foe Solgaleo's Full Metal Body prevents stat loss!"); + MESSAGE("The opposing Solgaleo's Full Metal Body prevents stat loss!"); } else{ ANIMATION(ANIM_TYPE_MOVE, move, player); NONE_OF { ABILITY_POPUP(opponent, ability); - MESSAGE("Foe Solgaleo's Full Metal Body prevents stat loss!"); - MESSAGE("Foe Torkoal's White Smoke prevents stat loss!"); - MESSAGE("Foe Metang's Clear Body prevents stat loss!"); + MESSAGE("The opposing Solgaleo's Full Metal Body prevents stat loss!"); + MESSAGE("The opposing Torkoal's White Smoke prevents stat loss!"); + MESSAGE("The opposing Metang's Clear Body prevents stat loss!"); } } } @@ -220,18 +220,18 @@ SINGLE_BATTLE_TEST("Clear Body, Full Metal Body, and White Smoke don't prevent S if (heldItem == ITEM_IRON_BALL) { MESSAGE("Wobbuffet used Celebrate!"); if (ability == ABILITY_FULL_METAL_BODY) - MESSAGE("Foe Solgaleo used Celebrate!"); + MESSAGE("The opposing Solgaleo used Celebrate!"); else if (ability == ABILITY_WHITE_SMOKE) - MESSAGE("Foe Torkoal used Celebrate!"); + MESSAGE("The opposing Torkoal used Celebrate!"); else - MESSAGE("Foe Metang used Celebrate!"); + MESSAGE("The opposing Metang used Celebrate!"); } else { if (ability == ABILITY_FULL_METAL_BODY) - MESSAGE("Foe Solgaleo used Celebrate!"); + MESSAGE("The opposing Solgaleo used Celebrate!"); else if (ability == ABILITY_WHITE_SMOKE) - MESSAGE("Foe Torkoal used Celebrate!"); + MESSAGE("The opposing Torkoal used Celebrate!"); else - MESSAGE("Foe Metang used Celebrate!"); + MESSAGE("The opposing Metang used Celebrate!"); MESSAGE("Wobbuffet used Celebrate!"); } } @@ -253,22 +253,22 @@ SINGLE_BATTLE_TEST("Clear Body, Full Metal Body, and White Smoke don't prevent S TURN { MOVE(player, MOVE_THUNDER_WAVE); } } SCENE { if (ability == ABILITY_FULL_METAL_BODY) - MESSAGE("Foe Solgaleo used Celebrate!"); + MESSAGE("The opposing Solgaleo used Celebrate!"); else if (ability == ABILITY_WHITE_SMOKE) - MESSAGE("Foe Torkoal used Celebrate!"); + MESSAGE("The opposing Torkoal used Celebrate!"); else - MESSAGE("Foe Metang used Celebrate!"); + MESSAGE("The opposing Metang used Celebrate!"); MESSAGE("Wobbuffet used Thunder Wave!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDER_WAVE, player); NOT ABILITY_POPUP(opponent, ability); MESSAGE("Wobbuffet used Thunder Wave!"); ONE_OF { - MESSAGE("Foe Metang used Celebrate!"); - MESSAGE("Foe Metang is paralyzed! It can't move!"); - MESSAGE("Foe Solgaleo used Celebrate!"); - MESSAGE("Foe Solgaleo is paralyzed! It can't move!"); - MESSAGE("Foe Torkoal used Celebrate!"); - MESSAGE("Foe Torkoal is paralyzed! It can't move!"); + MESSAGE("The opposing Metang used Celebrate!"); + MESSAGE("The opposing Metang couldn't move because it's paralyzed!"); + MESSAGE("The opposing Solgaleo used Celebrate!"); + MESSAGE("The opposing Solgaleo couldn't move because it's paralyzed!"); + MESSAGE("The opposing Torkoal used Celebrate!"); + MESSAGE("The opposing Torkoal couldn't move because it's paralyzed!"); } } } @@ -319,11 +319,11 @@ SINGLE_BATTLE_TEST("Clear Body, Full Metal Body, and White Smoke don't prevent r ANIMATION(ANIM_TYPE_MOVE, MOVE_SCARY_FACE, player); ABILITY_POPUP(opponent, ability); if (ability == ABILITY_FULL_METAL_BODY) - MESSAGE("Foe Solgaleo used Celebrate!"); + MESSAGE("The opposing Solgaleo used Celebrate!"); else if (ability == ABILITY_WHITE_SMOKE) - MESSAGE("Foe Torkoal used Celebrate!"); + MESSAGE("The opposing Torkoal used Celebrate!"); else - MESSAGE("Foe Metang used Celebrate!"); + MESSAGE("The opposing Metang used Celebrate!"); } } @@ -351,16 +351,16 @@ SINGLE_BATTLE_TEST("Clear Body, Full Metal Body, and White Smoke don't prevent T NOT ABILITY_POPUP(opponent, ability); ANIMATION(ANIM_TYPE_MOVE, MOVE_TOPSY_TURVY, player); if (ability == ABILITY_FULL_METAL_BODY) { - MESSAGE("Foe Solgaleo used Celebrate!"); - MESSAGE("Foe Solgaleo used Celebrate!"); + MESSAGE("The opposing Solgaleo used Celebrate!"); + MESSAGE("The opposing Solgaleo used Celebrate!"); } else if (ability == ABILITY_WHITE_SMOKE) { - MESSAGE("Foe Torkoal used Celebrate!"); - MESSAGE("Foe Torkoal used Celebrate!"); + MESSAGE("The opposing Torkoal used Celebrate!"); + MESSAGE("The opposing Torkoal used Celebrate!"); } else { - MESSAGE("Foe Metang used Celebrate!"); - MESSAGE("Foe Metang used Celebrate!"); + MESSAGE("The opposing Metang used Celebrate!"); + MESSAGE("The opposing Metang used Celebrate!"); } MESSAGE("Wobbuffet used Scary Face!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_SCARY_FACE, player); @@ -387,28 +387,28 @@ SINGLE_BATTLE_TEST("Clear Body, Full Metal Body, and White Smoke don't prevent S TURN{ } } SCENE { if (ability == ABILITY_FULL_METAL_BODY) - MESSAGE("Foe Solgaleo used Agility!"); + MESSAGE("The opposing Solgaleo used Agility!"); else if (ability == ABILITY_WHITE_SMOKE) - MESSAGE("Foe Torkoal used Agility!"); + MESSAGE("The opposing Torkoal used Agility!"); else - MESSAGE("Foe Metang used Agility!"); + MESSAGE("The opposing Metang used Agility!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_AGILITY, opponent); MESSAGE("Wobbuffet used Celebrate!"); if (ability == ABILITY_FULL_METAL_BODY) - MESSAGE("Foe Solgaleo used Celebrate!"); + MESSAGE("The opposing Solgaleo used Celebrate!"); else if (ability == ABILITY_WHITE_SMOKE) - MESSAGE("Foe Torkoal used Celebrate!"); + MESSAGE("The opposing Torkoal used Celebrate!"); else - MESSAGE("Foe Metang used Celebrate!"); + MESSAGE("The opposing Metang used Celebrate!"); MESSAGE("Wobbuffet used Spectral Thief!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SPECTRAL_THIEF, player); NOT ABILITY_POPUP(opponent, ability); MESSAGE("Wobbuffet used Celebrate!"); if (ability == ABILITY_FULL_METAL_BODY) - MESSAGE("Foe Solgaleo used Celebrate!"); + MESSAGE("The opposing Solgaleo used Celebrate!"); else if (ability == ABILITY_WHITE_SMOKE) - MESSAGE("Foe Torkoal used Celebrate!"); + MESSAGE("The opposing Torkoal used Celebrate!"); else - MESSAGE("Foe Metang used Celebrate!"); + MESSAGE("The opposing Metang used Celebrate!"); } } diff --git a/test/battle/ability/cloud_nine.c b/test/battle/ability/cloud_nine.c index 887769a5ec7b..fb87b7f2ba35 100644 --- a/test/battle/ability/cloud_nine.c +++ b/test/battle/ability/cloud_nine.c @@ -15,16 +15,16 @@ SINGLE_BATTLE_TEST("Cloud Nine/Air Lock prevent basic weather effects, but witho TURN {} } SCENE { ABILITY_POPUP(player, ability); - MESSAGE("The effects of weather disappeared."); - MESSAGE("Foe Wobbuffet used Sandstorm!"); - MESSAGE("The sandstorm rages."); + MESSAGE("The effects of the weather disappeared."); + MESSAGE("The opposing Wobbuffet used Sandstorm!"); + MESSAGE("The sandstorm is raging."); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SANDSTORM_CONTINUES); NONE_OF { HP_BAR(player); HP_BAR(opponent); - MESSAGE("Foe Wobbuffet is buffeted by the sandstorm!"); + MESSAGE("The opposing Wobbuffet is buffeted by the sandstorm!"); } - MESSAGE("The sandstorm rages."); + MESSAGE("The sandstorm is raging."); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SANDSTORM_CONTINUES); } } diff --git a/test/battle/ability/color_change.c b/test/battle/ability/color_change.c index 86c009e8ac37..d3a6489f0000 100644 --- a/test/battle/ability/color_change.c +++ b/test/battle/ability/color_change.c @@ -11,7 +11,7 @@ SINGLE_BATTLE_TEST("Color Change changes the type of a Pokemon being hit by a mo } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); ABILITY_POPUP(opponent, ABILITY_COLOR_CHANGE); - MESSAGE("Foe Wobbuffet's Color Change made it the Normal type!"); + MESSAGE("The opposing Wobbuffet's Color Change made it the Normal type!"); } } @@ -26,7 +26,7 @@ SINGLE_BATTLE_TEST("Color Change does not change the type when hit by a move tha ANIMATION(ANIM_TYPE_MOVE, MOVE_PSYCHO_CUT, player); NONE_OF { ABILITY_POPUP(opponent, ABILITY_COLOR_CHANGE); - MESSAGE("Foe Wobbuffet's Color Change made it the Normal type!"); + MESSAGE("The opposing Wobbuffet's Color Change made it the Normal type!"); } } } @@ -42,7 +42,7 @@ SINGLE_BATTLE_TEST("Color Change does not change the type of a dual-type Pokemon ANIMATION(ANIM_TYPE_MOVE, MOVE_PSYCHO_CUT, player); NONE_OF { ABILITY_POPUP(opponent, ABILITY_COLOR_CHANGE); - MESSAGE("Foe Xatu's Color Change made it the Psychic type!"); + MESSAGE("The opposing Xatu's Color Change made it the Psychic type!"); } } } @@ -58,7 +58,7 @@ SINGLE_BATTLE_TEST("Color Change does not change the type of a dual-type Pokemon ANIMATION(ANIM_TYPE_MOVE, MOVE_PSYCHO_CUT, player); NONE_OF { ABILITY_POPUP(opponent, ABILITY_COLOR_CHANGE); - MESSAGE("Foe Slowbro's Color Change made it the Psychic type!"); + MESSAGE("The opposing Slowbro's Color Change made it the Psychic type!"); } } } @@ -73,7 +73,7 @@ SINGLE_BATTLE_TEST("Color Change changes the user to Electric type if hit by a m } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_PSYCHO_CUT, player); ABILITY_POPUP(opponent, ABILITY_COLOR_CHANGE); - MESSAGE("Foe Wobbuffet's Color Change made it the Electric type!"); + MESSAGE("The opposing Wobbuffet's Color Change made it the Electric type!"); } } @@ -88,9 +88,9 @@ SINGLE_BATTLE_TEST("Color Change changes the type when a Pokemon is hit by Futur TURN { } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_FUTURE_SIGHT, player); - MESSAGE("Foe Snorlax took the Future Sight attack!"); + MESSAGE("The opposing Snorlax took the Future Sight attack!"); ABILITY_POPUP(opponent, ABILITY_COLOR_CHANGE); - MESSAGE("Foe Snorlax's Color Change made it the Psychic type!"); + MESSAGE("The opposing Snorlax's Color Change made it the Psychic type!"); } } @@ -105,9 +105,9 @@ SINGLE_BATTLE_TEST("Color Change changes the type when a Pokemon is hit by Doom TURN { } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_DOOM_DESIRE, player); - MESSAGE("Foe Wobbuffet took the Doom Desire attack!"); + MESSAGE("The opposing Wobbuffet took the Doom Desire attack!"); ABILITY_POPUP(opponent, ABILITY_COLOR_CHANGE); - MESSAGE("Foe Wobbuffet's Color Change made it the Steel type!"); + MESSAGE("The opposing Wobbuffet's Color Change made it the Steel type!"); } } @@ -123,10 +123,10 @@ SINGLE_BATTLE_TEST("Color Change changes the type to Electric when a Pokemon is TURN { MOVE(opponent, MOVE_ELECTRIFY); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_FUTURE_SIGHT, player); - MESSAGE("Foe Blastoise took the Future Sight attack!"); + MESSAGE("The opposing Blastoise took the Future Sight attack!"); MESSAGE("It's super effective!"); ABILITY_POPUP(opponent, ABILITY_COLOR_CHANGE); - MESSAGE("Foe Blastoise's Color Change made it the Electr type!"); + MESSAGE("The opposing Blastoise's Color Change made it the Electr type!"); } } @@ -141,8 +141,8 @@ SINGLE_BATTLE_TEST("Color Change changes the type to Normal when a Pokemon is hi TURN { } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_FUTURE_SIGHT, player); - MESSAGE("Foe Blastoise took the Future Sight attack!"); + MESSAGE("The opposing Blastoise took the Future Sight attack!"); ABILITY_POPUP(opponent, ABILITY_COLOR_CHANGE); - MESSAGE("Foe Blastoise's Color Change made it the Normal type!"); + MESSAGE("The opposing Blastoise's Color Change made it the Normal type!"); } } diff --git a/test/battle/ability/comatose.c b/test/battle/ability/comatose.c index cc65e9afac7e..b23a6ca85f4c 100644 --- a/test/battle/ability/comatose.c +++ b/test/battle/ability/comatose.c @@ -45,8 +45,8 @@ SINGLE_BATTLE_TEST("Comatose may be suppressed if pokemon transformed into a pok } SCENE { MESSAGE("Komala is drowsing!"); MESSAGE("Komala used Gastro Acid!"); - MESSAGE("Foe Ditto used Transform!"); - MESSAGE("Foe Ditto transformed into Komala!"); + MESSAGE("The opposing Ditto used Transform!"); + MESSAGE("The opposing Ditto transformed into Komala!"); ANIMATION(ANIM_TYPE_MOVE, move, player); if (move == MOVE_POISONPOWDER) { STATUS_ICON(opponent, poison: TRUE); } diff --git a/test/battle/ability/commander.c b/test/battle/ability/commander.c new file mode 100644 index 000000000000..7eca97dacf91 --- /dev/null +++ b/test/battle/ability/commander.c @@ -0,0 +1,423 @@ +#include "global.h" +#include "test/battle.h" + +DOUBLE_BATTLE_TEST("Commander will activate once Dondozo switches in") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_DONDOZO); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { SWITCH(playerLeft, 2); } + } SCENE { + ABILITY_POPUP(playerRight, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + } +} + +DOUBLE_BATTLE_TEST("Commander increases all stats by 2 stages once it is triggered") +{ + GIVEN { + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_DONDOZO); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { } + } SCENE { + ABILITY_POPUP(playerLeft, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); + MESSAGE("Dondozo's Attack sharply rose!"); + MESSAGE("Dondozo's Defense sharply rose!"); + MESSAGE("Dondozo's Sp. Atk sharply rose!"); + MESSAGE("Dondozo's Sp. Def sharply rose!"); + MESSAGE("Dondozo's Speed sharply rose!"); + } +} + +DOUBLE_BATTLE_TEST("Commander Tatsugiri avoids moves targetted towards it") +{ + GIVEN { + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_DONDOZO); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_TACKLE, target: playerLeft); MOVE(opponentRight, MOVE_POUND, target: playerRight); } + } SCENE { + ABILITY_POPUP(playerLeft, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentLeft); + MESSAGE("The opposing Wobbuffet's attack missed!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_POUND, opponentRight); + } +} + +DOUBLE_BATTLE_TEST("Commander Tatsugiri will still take residual damage from a field effect while inside Dondozo") +{ + GIVEN { + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_DONDOZO); + OPPONENT(SPECIES_TYRANITAR) { Ability(ABILITY_SAND_STREAM); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { } + } SCENE { + ABILITY_POPUP(playerLeft, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + ABILITY_POPUP(opponentLeft, ABILITY_SAND_STREAM); + MESSAGE("Dondozo is buffeted by the sandstorm!"); + MESSAGE("Tatsugiri is buffeted by the sandstorm!"); + MESSAGE("The opposing Wobbuffet is buffeted by the sandstorm!"); + } +} + +DOUBLE_BATTLE_TEST("Commander Tatsugiri will still take poison damage if while inside Dondozo") +{ + GIVEN { + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); Status1(STATUS1_POISON); } + PLAYER(SPECIES_DONDOZO); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { } + } SCENE { + ABILITY_POPUP(playerLeft, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + MESSAGE("Tatsugiri was hurt by its poisoning!"); + } +} + +DOUBLE_BATTLE_TEST("Commander Tatsugiri still avoids moves even when the attacker has No Guard") +{ + GIVEN { + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_DONDOZO); + OPPONENT(SPECIES_MACHAMP) { Ability(ABILITY_NO_GUARD); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_TACKLE, target: playerLeft); } + } SCENE { + ABILITY_POPUP(playerLeft, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentLeft); + MESSAGE("The opposing Machamp's attack missed!"); + } +} + +DOUBLE_BATTLE_TEST("Commander cannot affect a Dondozo that was previously affected by Commander until it faints and revived") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_DONDOZO); + PLAYER(SPECIES_TATSUGIRI) { HP(1); Ability(ABILITY_COMMANDER); Status1(STATUS1_POISON); } + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerRight, MOVE_CELEBRATE); SWITCH(playerLeft, 2); SEND_OUT(playerLeft, 3); } + } SCENE { + ABILITY_POPUP(playerLeft, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + MESSAGE("Tatsugiri was hurt by its poisoning!"); + NONE_OF { + ABILITY_POPUP(playerLeft, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + } + } +} + +DOUBLE_BATTLE_TEST("Commander prevents Whirlwind from working against Dondozo or Tatsugiri while it's active") +{ + GIVEN { + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_DONDOZO); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_WHIRLWIND, target: playerLeft); } + TURN { MOVE(opponentRight, MOVE_WHIRLWIND, target: playerRight); } + } SCENE { + ABILITY_POPUP(playerLeft, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + MESSAGE("The opposing Wobbuffet used Whirlwind!"); + MESSAGE("But it failed!"); + MESSAGE("The opposing Wobbuffet used Whirlwind!"); + MESSAGE("But it failed!"); + } +} + +DOUBLE_BATTLE_TEST("Commander prevents Red Card from working while Commander is active") +{ + GIVEN { + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_DONDOZO); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_RED_CARD); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerRight, MOVE_TACKLE, target: opponentLeft); } + } SCENE { + ABILITY_POPUP(playerLeft, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponentLeft); + } THEN { + EXPECT(opponentLeft->item == ITEM_NONE); + EXPECT(playerRight->species == SPECIES_DONDOZO); + } + +} + +DOUBLE_BATTLE_TEST("Commander Tatsugiri is not damaged by a double target move if Dondozo faints") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_SURF].target == MOVE_TARGET_FOES_AND_ALLY); + PLAYER(SPECIES_DONDOZO) { HP(1); }; + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_WYNAUT); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_SURF); SEND_OUT(playerLeft, 2); } + } SCENE { + ABILITY_POPUP(playerRight, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + HP_BAR(playerLeft); + MESSAGE("Dondozo fainted!"); + NOT HP_BAR(playerRight); + HP_BAR(opponentRight); + } +} + +DOUBLE_BATTLE_TEST("Commander Tatsugiri takes no damage from multi-target damaging moves") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_DONDOZO); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_SURF); MOVE(opponentRight, MOVE_SURF); SWITCH(playerLeft, 2); } + } SCENE { + ABILITY_POPUP(playerRight, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + + ANIMATION(ANIM_TYPE_MOVE, MOVE_SURF, opponentLeft); + HP_BAR(playerLeft); + NOT HP_BAR(playerRight); + HP_BAR(opponentRight); + + ANIMATION(ANIM_TYPE_MOVE, MOVE_SURF, opponentRight); + HP_BAR(playerLeft); + HP_BAR(opponentLeft); + NOT HP_BAR(playerRight); + } +} + +DOUBLE_BATTLE_TEST("Commander doesn't prevent Transform from working on a Commander Tatsugiri") +{ + GIVEN { + PLAYER(SPECIES_DONDOZO); + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponentRight, MOVE_TRANSFORM, target: playerRight); } + } SCENE { + ABILITY_POPUP(playerRight, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TRANSFORM, opponentRight); + } +} + +DOUBLE_BATTLE_TEST("Commander doesn't prevent Imposter from working on a Commander Tatsugiri") +{ + GIVEN { + PLAYER(SPECIES_DONDOZO); + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_DITTO) { Ability(ABILITY_IMPOSTER); } + } WHEN { + TURN { } + TURN { SWITCH(opponentRight, 2); } + } SCENE { + ABILITY_POPUP(playerRight, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + ABILITY_POPUP(opponentRight, ABILITY_IMPOSTER); + MESSAGE("The opposing Ditto transformed into Tatsugiri using Imposter!"); + } +} + +DOUBLE_BATTLE_TEST("Commander Tatsugiri is still affected by Perish Song while controlling Dondozo") +{ + GIVEN { + PLAYER(SPECIES_DONDOZO); + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_PERISH_SONG); } + TURN {} + TURN {} + TURN {} + } SCENE { + ABILITY_POPUP(playerRight, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_PERISH_SONG, opponentLeft); + MESSAGE("All Pokémon that heard the song will faint in three turns!"); + MESSAGE("Dondozo's perish count fell to 0!"); + MESSAGE("Dondozo fainted!"); + MESSAGE("The opposing Wobbuffet's perish count fell to 0!"); + MESSAGE("The opposing Wobbuffet fainted!"); + NONE_OF { + MESSAGE("Tatsugiri's perish count fell to 0!"); + MESSAGE("Tatsugiri fainted!"); + } + MESSAGE("The opposing Wynaut's perish count fell to 0!"); + MESSAGE("The opposing Wynaut fainted!"); + } +} + +DOUBLE_BATTLE_TEST("Commander Tatsugiri is still affected by Haze while controlling Dondozo") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_DONDOZO); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerRight, MOVE_SWORDS_DANCE); } + TURN { SWITCH(playerLeft, 2); MOVE(opponentRight, MOVE_HAZE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SWORDS_DANCE, playerRight); + ABILITY_POPUP(playerRight, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_HAZE, opponentRight); + } THEN { + EXPECT_EQ(playerRight->statStages[STAT_ATK], DEFAULT_STAT_STAGE); + } +} + +DOUBLE_BATTLE_TEST("Commander Attacker is kept (Dondozo Left Slot)") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_SURF].target == MOVE_TARGET_FOES_AND_ALLY); + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_DONDOZO); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponentRight, MOVE_TACKLE, target: opponentLeft); } + TURN { SWITCH(playerLeft, 2); MOVE(opponentLeft, MOVE_SURF); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentRight); + ABILITY_POPUP(playerRight, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SURF, opponentLeft); + HP_BAR(playerLeft); + MESSAGE("The opposing Wobbuffet's attack missed!"); + HP_BAR(opponentRight); + } +} + +DOUBLE_BATTLE_TEST("Commander Attacker is kept (Dondozo Right Slot)") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_SURF].target == MOVE_TARGET_FOES_AND_ALLY); + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_DONDOZO); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponentRight, MOVE_TACKLE, target: opponentLeft); } + TURN { SWITCH(playerRight, 2); MOVE(opponentLeft, MOVE_SURF); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentRight); + ABILITY_POPUP(playerLeft, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + MESSAGE("The opposing Wobbuffet's attack missed!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SURF, opponentLeft); + HP_BAR(playerRight); + HP_BAR(opponentRight); + } +} + +DOUBLE_BATTLE_TEST("Commander Tatsugiri does not attack if Dondozo faints the same turn it's switched in") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_DONDOZO) { HP(1); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { + SWITCH(playerLeft, 2); + MOVE(opponentLeft, MOVE_TACKLE, target: playerLeft); + MOVE(opponentRight, MOVE_TACKLE, target: playerRight); + MOVE(playerRight, MOVE_CELEBRATE); + SEND_OUT(playerLeft, 0); + } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentLeft); + HP_BAR(playerLeft); + MESSAGE("Dondozo fainted!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentRight); + HP_BAR(playerRight); + NOT MESSAGE("Tatsugiri used Celebrate!"); + } +} + +DOUBLE_BATTLE_TEST("Commander Tatsugiri does not get hit by Dragon Darts when a commanded Dondozo faints") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_DRAGON_DARTS].effect == EFFECT_DRAGON_DARTS); + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_DONDOZO) { HP(1); } + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { SWITCH(playerLeft, 2); MOVE(opponentRight, MOVE_DRAGON_DARTS, target: playerRight); SEND_OUT(playerRight, 0); } + } SCENE { + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, opponentRight); + MESSAGE("Dondozo fainted!"); + NOT HP_BAR(playerLeft); + } +} + +DOUBLE_BATTLE_TEST("Commander Tatsugiri does not get hit by Dragon Darts when commanding Dondozo") +{ + bool32 targetPlayerRight; + PARAMETRIZE { targetPlayerRight = TRUE; } + PARAMETRIZE { targetPlayerRight = FALSE; } + GIVEN { + ASSUME(gMovesInfo[MOVE_DRAGON_DARTS].effect == EFFECT_DRAGON_DARTS); + PLAYER(SPECIES_TATSUGIRI) { Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_DONDOZO); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + if (targetPlayerRight == TRUE) + TURN { MOVE(opponentRight, MOVE_DRAGON_DARTS, target: playerRight); } + else + TURN { MOVE(opponentRight, MOVE_DRAGON_DARTS, target: playerLeft); } + } SCENE { + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, opponentRight); + HP_BAR(playerRight); + NOT HP_BAR(playerLeft); + HP_BAR(playerRight); + NOT HP_BAR(playerLeft); + } +} diff --git a/test/battle/ability/contrary.c b/test/battle/ability/contrary.c index d257a7a34430..56eb6abf6521 100644 --- a/test/battle/ability/contrary.c +++ b/test/battle/ability/contrary.c @@ -21,7 +21,7 @@ SINGLE_BATTLE_TEST("Contrary raises Attack when Intimidated in a single battle", if (ability == ABILITY_CONTRARY) { ABILITY_POPUP(opponent, ABILITY_CONTRARY); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Spinda's Attack rose!"); + MESSAGE("The opposing Spinda's Attack rose!"); } HP_BAR(player, captureDamage: &results[i].damage); } @@ -51,18 +51,18 @@ DOUBLE_BATTLE_TEST("Contrary raises Attack when Intimidated in a double battle", if (abilityLeft == ABILITY_CONTRARY) { ABILITY_POPUP(opponentLeft, ABILITY_CONTRARY); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Foe Spinda's Attack rose!"); + MESSAGE("The opposing Spinda's Attack rose!"); } else { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Mightyena's Intimidate cuts Foe Spinda's attack!"); + MESSAGE("Mightyena's Intimidate cuts the opposing Spinda's Attack!"); } if (abilityRight == ABILITY_CONTRARY) { ABILITY_POPUP(opponentRight, ABILITY_CONTRARY); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Foe Spinda's Attack rose!"); + MESSAGE("The opposing Spinda's Attack rose!"); } else { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Mightyena's Intimidate cuts Foe Spinda's attack!"); + MESSAGE("Mightyena's Intimidate cuts the opposing Spinda's Attack!"); } HP_BAR(playerLeft, captureDamage: &results[i].damageLeft); HP_BAR(playerRight, captureDamage: &results[i].damageRight); @@ -90,28 +90,28 @@ SINGLE_BATTLE_TEST("Contrary raises stats after using a move which would normall TURN { MOVE(opponent, MOVE_OVERHEAT); } TURN { MOVE(opponent, MOVE_OVERHEAT); } } SCENE { - MESSAGE("Foe Spinda used Overheat!"); + MESSAGE("The opposing Spinda used Overheat!"); HP_BAR(player, captureDamage: &results[i].damageBefore); if (ability == ABILITY_CONTRARY) { // ABILITY_POPUP(opponent, ABILITY_CONTRARY); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Spinda's Sp. Atk sharply rose!"); + MESSAGE("The opposing Spinda's Sp. Atk sharply rose!"); } else { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Spinda's Sp. Atk harshly fell!"); + MESSAGE("The opposing Spinda's Sp. Atk harshly fell!"); } - // MESSAGE("Foe Spinda used Overheat!"); + // MESSAGE("The opposing Spinda used Overheat!"); HP_BAR(player, captureDamage: &results[i].damageAfter); if (ability == ABILITY_CONTRARY) { // ABILITY_POPUP(opponent, ABILITY_CONTRARY); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Spinda's Sp. Atk sharply rose!"); + MESSAGE("The opposing Spinda's Sp. Atk sharply rose!"); } else { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Spinda's Sp. Atk harshly fell!"); + MESSAGE("The opposing Spinda's Sp. Atk harshly fell!"); } } FINALLY { @@ -134,21 +134,21 @@ SINGLE_BATTLE_TEST("Contrary lowers a stat after using a move which would normal TURN { MOVE(opponent, MOVE_SWORDS_DANCE); } TURN { MOVE(opponent, MOVE_TACKLE); } } SCENE { - MESSAGE("Foe Spinda used Tackle!"); + MESSAGE("The opposing Spinda used Tackle!"); HP_BAR(player, captureDamage: &results[i].damageBefore); - //MESSAGE("Foe Spinda used Swords Dance!"); + //MESSAGE("The opposing Spinda used Swords Dance!"); if (ability == ABILITY_CONTRARY) { // ABILITY_POPUP(opponent, ABILITY_CONTRARY); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Spinda's Attack harshly fell!"); + MESSAGE("The opposing Spinda's Attack harshly fell!"); } else { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Spinda's Attack sharply rose!"); + MESSAGE("The opposing Spinda's Attack sharply rose!"); } - // MESSAGE("Foe Spinda used Tackle!"); + // MESSAGE("The opposing Spinda used Tackle!"); HP_BAR(player, captureDamage: &results[i].damageAfter); } FINALLY { @@ -173,14 +173,14 @@ SINGLE_BATTLE_TEST("Contrary raises a stat after using a move which would normal if (ability == ABILITY_CONTRARY) { // ABILITY_POPUP(opponent, ABILITY_CONTRARY); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Spinda's Attack rose!"); + MESSAGE("The opposing Spinda's Attack rose!"); } else { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Spinda's Attack fell!"); + MESSAGE("The opposing Spinda's Attack fell!"); } - MESSAGE("Foe Spinda used Tackle!"); + MESSAGE("The opposing Spinda used Tackle!"); HP_BAR(player, captureDamage: &results[i].damage); } FINALLY { @@ -202,16 +202,16 @@ SINGLE_BATTLE_TEST("Contrary lowers a stat after using a move which would normal TURN { MOVE(opponent, MOVE_BELLY_DRUM); } TURN { MOVE(opponent, MOVE_TACKLE); } } SCENE { - MESSAGE("Foe Spinda used Tackle!"); + MESSAGE("The opposing Spinda used Tackle!"); HP_BAR(player, captureDamage: &results[i].damageBefore); if (ability == ABILITY_CONTRARY) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Spinda cut its own HP and maximized ATTACK!"); //Message stays the same + MESSAGE("The opposing Spinda cut its own HP and maximized its Attack!"); //Message stays the same } else { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Spinda cut its own HP and maximized ATTACK!"); + MESSAGE("The opposing Spinda cut its own HP and maximized its Attack!"); } HP_BAR(player, captureDamage: &results[i].damageAfter); @@ -221,3 +221,23 @@ SINGLE_BATTLE_TEST("Contrary lowers a stat after using a move which would normal EXPECT_MUL_EQ(results[1].damageBefore, UQ_4_12(4.0), results[1].damageAfter); } } + +SINGLE_BATTLE_TEST("Sticky Web raises Speed by 1 for Contrary mon on switch-in") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_SNIVY) { Ability(ABILITY_CONTRARY); } + } WHEN { + TURN { MOVE(player, MOVE_STICKY_WEB); } + TURN { SWITCH(opponent, 1); } + TURN {} + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, player); + MESSAGE("A sticky web has been laid out on the ground around the opposing team!"); + MESSAGE("2 sent out Snivy!"); + MESSAGE("The opposing Snivy was caught in a sticky web!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); + MESSAGE("The opposing Snivy's Speed rose!"); + } +} diff --git a/test/battle/ability/costar.c b/test/battle/ability/costar.c index c42871bb45b2..7107b00d61a7 100644 --- a/test/battle/ability/costar.c +++ b/test/battle/ability/costar.c @@ -14,12 +14,12 @@ DOUBLE_BATTLE_TEST("Costar copies an ally's stat stages upon entering battle") TURN { SWITCH(opponentRight, 2); MOVE(playerLeft, MOVE_CELEBRATE); } } SCENE { // Turn 1 - buff up - MESSAGE("Foe Wobbuffet used Swords Dance!"); + MESSAGE("The opposing Wobbuffet used Swords Dance!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); // Turn 2 - Switch into Flamigo MESSAGE("2 sent out Flamigo!"); ABILITY_POPUP(opponentRight, ABILITY_COSTAR); - MESSAGE("Foe Flamigo copied Foe Wobbuffet's stat changes!"); + MESSAGE("The opposing Flamigo copied the opposing Wobbuffet's stat changes!"); } THEN { EXPECT_EQ(opponentRight->statStages[STAT_ATK], DEFAULT_STAT_STAGE + 2); } diff --git a/test/battle/ability/cotton_down.c b/test/battle/ability/cotton_down.c index 8e15283926a1..4d0dab9dccbe 100644 --- a/test/battle/ability/cotton_down.c +++ b/test/battle/ability/cotton_down.c @@ -55,7 +55,7 @@ DOUBLE_BATTLE_TEST("Cotton Down drops speed by one of all other battlers on the ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); MESSAGE("Wynaut's Speed fell!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); } THEN { EXPECT_EQ(playerLeft->statStages[STAT_SPEED], DEFAULT_STAT_STAGE - 1); EXPECT_EQ(playerRight->statStages[STAT_SPEED], DEFAULT_STAT_STAGE - 1); diff --git a/test/battle/ability/cud_chew.c b/test/battle/ability/cud_chew.c index 305969aa93ae..297635c9f393 100644 --- a/test/battle/ability/cud_chew.c +++ b/test/battle/ability/cud_chew.c @@ -7,7 +7,7 @@ SINGLE_BATTLE_TEST("Cud Chew will activate Kee Berry effect again on the next tu ASSUME(gItemsInfo[ITEM_KEE_BERRY].holdEffect == HOLD_EFFECT_KEE_BERRY); ASSUME(gMovesInfo[MOVE_TACKLE].category == DAMAGE_CATEGORY_PHYSICAL); PLAYER(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_TAUROS_PALDEAN_COMBAT_BREED) { Ability(ABILITY_CUD_CHEW); Item(ITEM_KEE_BERRY); } + OPPONENT(SPECIES_TAUROS_PALDEA_COMBAT) { Ability(ABILITY_CUD_CHEW); Item(ITEM_KEE_BERRY); } } WHEN { TURN { MOVE(player, MOVE_TACKLE); } TURN { MOVE(player, MOVE_CELEBRATE);} @@ -31,7 +31,7 @@ SINGLE_BATTLE_TEST("Cud Chew will activate Oran Berry effect again on the next t ASSUME(gMovesInfo[MOVE_DRAGON_RAGE].effect == EFFECT_FIXED_DAMAGE_ARG); ASSUME(gMovesInfo[MOVE_DRAGON_RAGE].argument == 40); PLAYER(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_TAUROS_PALDEAN_COMBAT_BREED) { MaxHP(60); HP(60); Ability(ABILITY_CUD_CHEW); Item(ITEM_ORAN_BERRY); } + OPPONENT(SPECIES_TAUROS_PALDEA_COMBAT) { MaxHP(60); HP(60); Ability(ABILITY_CUD_CHEW); Item(ITEM_ORAN_BERRY); } } WHEN { TURN { MOVE(player, MOVE_DRAGON_RAGE); } TURN { MOVE(player, MOVE_CELEBRATE);} diff --git a/test/battle/ability/curious_medicine.c b/test/battle/ability/curious_medicine.c index 5ee336262bca..3844170eb004 100644 --- a/test/battle/ability/curious_medicine.c +++ b/test/battle/ability/curious_medicine.c @@ -19,14 +19,14 @@ DOUBLE_BATTLE_TEST("Curious Medicine resets ally's stat stages upon entering bat TURN { SWITCH(opponentRight, 2); MOVE(playerLeft, MOVE_CELEBRATE); } } SCENE { // Turn 1 - buff up - MESSAGE("Foe Scolipede used Quiver Dance!"); + MESSAGE("The opposing Scolipede used Quiver Dance!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); // Turn 2 - Switch into Slowking MESSAGE("2 sent out Slowking!"); if (ability == ABILITY_CURIOUS_MEDICINE) { ABILITY_POPUP(opponentRight, ABILITY_CURIOUS_MEDICINE); - MESSAGE("Foe Scolipede's stat changes were reset!"); + MESSAGE("The opposing Scolipede's stat changes were removed!"); } } THEN { EXPECT_EQ(opponentLeft->statStages[STAT_ATK], (ability == ABILITY_CURIOUS_MEDICINE) ? DEFAULT_STAT_STAGE : DEFAULT_STAT_STAGE - 2); diff --git a/test/battle/ability/cursed_body.c b/test/battle/ability/cursed_body.c index 20fe659d21ac..26d97a9f1189 100644 --- a/test/battle/ability/cursed_body.c +++ b/test/battle/ability/cursed_body.c @@ -12,6 +12,6 @@ SINGLE_BATTLE_TEST("Cursed Body triggers 30% of the time") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_AQUA_JET, player); ABILITY_POPUP(opponent, ABILITY_CURSED_BODY); - MESSAGE("Wobbuffet's Aqua Jet was disabled by Foe Frillish's Cursed Body!"); + MESSAGE("Wobbuffet's Aqua Jet was disabled by the opposing Frillish's Cursed Body!"); } } diff --git a/test/battle/ability/cute_charm.c b/test/battle/ability/cute_charm.c index 06eb4cf84284..e6eee0ae0862 100644 --- a/test/battle/ability/cute_charm.c +++ b/test/battle/ability/cute_charm.c @@ -18,14 +18,14 @@ SINGLE_BATTLE_TEST("Cute Charm inflicts infatuation on contact") if (gMovesInfo[move].makesContact) { ABILITY_POPUP(opponent, ABILITY_CUTE_CHARM); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_INFATUATION, player); - MESSAGE("Foe Clefairy's Cute Charm infatuated Wobbuffet!"); - MESSAGE("Wobbuffet is in love with Foe Clefairy!"); + MESSAGE("The opposing Clefairy's Cute Charm infatuated Wobbuffet!"); + MESSAGE("Wobbuffet is in love with the opposing Clefairy!"); } else { NONE_OF { ABILITY_POPUP(opponent, ABILITY_CUTE_CHARM); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_INFATUATION, player); - MESSAGE("Foe Clefairy's Cute Charm infatuated Wobbuffet!"); - MESSAGE("Wobbuffet is in love with Foe Clefairy!"); + MESSAGE("The opposing Clefairy's Cute Charm infatuated Wobbuffet!"); + MESSAGE("Wobbuffet is in love with the opposing Clefairy!"); } } } @@ -60,7 +60,7 @@ SINGLE_BATTLE_TEST("Cute Charm triggers 30% of the time") } SCENE { ABILITY_POPUP(opponent, ABILITY_CUTE_CHARM); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_INFATUATION, player); - MESSAGE("Foe Clefairy's Cute Charm infatuated Wobbuffet!"); - MESSAGE("Wobbuffet is in love with Foe Clefairy!"); + MESSAGE("The opposing Clefairy's Cute Charm infatuated Wobbuffet!"); + MESSAGE("Wobbuffet is in love with the opposing Clefairy!"); } } diff --git a/test/battle/ability/dancer.c b/test/battle/ability/dancer.c index 213253095842..5519ac3222c4 100644 --- a/test/battle/ability/dancer.c +++ b/test/battle/ability/dancer.c @@ -90,7 +90,7 @@ SINGLE_BATTLE_TEST("Dancer doesn't trigger if the original user flinches") TURN { MOVE(opponent, MOVE_FAKE_OUT); MOVE(player, MOVE_DRAGON_DANCE); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_FAKE_OUT, opponent); - MESSAGE("Wobbuffet flinched!"); + MESSAGE("Wobbuffet flinched and couldn't move!"); NONE_OF { ABILITY_POPUP(opponent, ABILITY_DANCER); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DANCE, opponent); @@ -114,14 +114,14 @@ DOUBLE_BATTLE_TEST("Dancer still triggers if another dancer flinches") ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DANCE, playerRight); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); ABILITY_POPUP(playerLeft, ABILITY_DANCER); - MESSAGE("Wobbuffet flinched!"); + MESSAGE("Wobbuffet flinched and couldn't move!"); NONE_OF { MESSAGE("Wobbuffet used Dragon Dance!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DANCE, playerLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); } ABILITY_POPUP(opponentLeft, ABILITY_DANCER); - MESSAGE("Foe Oricorio used Dragon Dance!"); + MESSAGE("The opposing Oricorio used Dragon Dance!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DANCE, opponentLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); } diff --git a/test/battle/ability/dauntless_shield.c b/test/battle/ability/dauntless_shield.c index 0e6adedfd261..ada4ace7866a 100644 --- a/test/battle/ability/dauntless_shield.c +++ b/test/battle/ability/dauntless_shield.c @@ -16,7 +16,7 @@ SINGLE_BATTLE_TEST("Dauntless Shield raises Defense by one stage") } SCENE { ABILITY_POPUP(opponent, ABILITY_DAUNTLESS_SHIELD); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Zamazenta's Dauntless Shield raised its Defense!"); + MESSAGE("The opposing Zamazenta's Dauntless Shield raised its Defense!"); } THEN { EXPECT_EQ(opponent->statStages[STAT_DEF], DEFAULT_STAT_STAGE + 1); } @@ -34,11 +34,11 @@ SINGLE_BATTLE_TEST("Dauntless Shield raises Defense by one stage only once per b } SCENE { ABILITY_POPUP(opponent, ABILITY_DAUNTLESS_SHIELD); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Zamazenta's Dauntless Shield raised its Defense!"); + MESSAGE("The opposing Zamazenta's Dauntless Shield raised its Defense!"); NONE_OF { ABILITY_POPUP(opponent, ABILITY_DAUNTLESS_SHIELD); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Zamazenta's Dauntless Shield raised its Defense!"); + MESSAGE("The opposing Zamazenta's Dauntless Shield raised its Defense!"); } } THEN { EXPECT_EQ(opponent->statStages[STAT_DEF], DEFAULT_STAT_STAGE); @@ -55,12 +55,12 @@ SINGLE_BATTLE_TEST("Dauntless Shield activates when it's no longer effected by N TURN { SWITCH(player, 1); } } SCENE { ABILITY_POPUP(player, ABILITY_NEUTRALIZING_GAS); - MESSAGE("Neutralizing Gas filled the area!"); + MESSAGE("Neutralizing gas filled the area!"); SWITCH_OUT_MESSAGE("Weezing"); - MESSAGE("The effects of Neutralizing Gas wore off!"); + MESSAGE("The effects of the neutralizing gas wore off!"); ABILITY_POPUP(opponent, ABILITY_DAUNTLESS_SHIELD); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Zamazenta's Dauntless Shield raised its Defense!"); + MESSAGE("The opposing Zamazenta's Dauntless Shield raised its Defense!"); } } diff --git a/test/battle/ability/defiant.c b/test/battle/ability/defiant.c index 79136a559d59..9b767b8323c2 100644 --- a/test/battle/ability/defiant.c +++ b/test/battle/ability/defiant.c @@ -21,14 +21,14 @@ DOUBLE_BATTLE_TEST("Defiant sharply raises player's Attack after Intimidate") //1st mon Intimidate ABILITY_POPUP(opponentLeft, ABILITY_INTIMIDATE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); - MESSAGE("Foe Gyarados's Intimidate cuts Mankey's attack!"); + MESSAGE("The opposing Gyarados's Intimidate cuts Mankey's Attack!"); if (abilityLeft == ABILITY_DEFIANT) { ABILITY_POPUP(playerLeft, ABILITY_DEFIANT); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); MESSAGE("Mankey's Attack sharply rose!"); } ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); - MESSAGE("Foe Gyarados's Intimidate cuts Primeape's attack!"); + MESSAGE("The opposing Gyarados's Intimidate cuts Primeape's Attack!"); if (abilityRight == ABILITY_DEFIANT) { ABILITY_POPUP(playerRight, ABILITY_DEFIANT); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); @@ -38,14 +38,14 @@ DOUBLE_BATTLE_TEST("Defiant sharply raises player's Attack after Intimidate") //2nd mon Intimidate ABILITY_POPUP(opponentRight, ABILITY_INTIMIDATE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); - MESSAGE("Foe Arbok's Intimidate cuts Mankey's attack!"); + MESSAGE("The opposing Arbok's Intimidate cuts Mankey's Attack!"); if (abilityLeft == ABILITY_DEFIANT) { ABILITY_POPUP(playerLeft, ABILITY_DEFIANT); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); MESSAGE("Mankey's Attack sharply rose!"); } ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); - MESSAGE("Foe Arbok's Intimidate cuts Primeape's attack!"); + MESSAGE("The opposing Arbok's Intimidate cuts Primeape's Attack!"); if (abilityRight == ABILITY_DEFIANT) { ABILITY_POPUP(playerRight, ABILITY_DEFIANT); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); @@ -79,35 +79,35 @@ DOUBLE_BATTLE_TEST("Defiant sharply raises opponent's Attack after Intimidate") //1st mon Intimidate ABILITY_POPUP(playerLeft, ABILITY_INTIMIDATE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Gyarados's Intimidate cuts Foe Mankey's attack!"); + MESSAGE("Gyarados's Intimidate cuts the opposing Mankey's Attack!"); if (abilityLeft == ABILITY_DEFIANT) { ABILITY_POPUP(opponentLeft, ABILITY_DEFIANT); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Foe Mankey's Attack sharply rose!"); + MESSAGE("The opposing Mankey's Attack sharply rose!"); } ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Gyarados's Intimidate cuts Foe Primeape's attack!"); + MESSAGE("Gyarados's Intimidate cuts the opposing Primeape's Attack!"); if (abilityRight == ABILITY_DEFIANT) { ABILITY_POPUP(opponentRight, ABILITY_DEFIANT); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Foe Primeape's Attack sharply rose!"); + MESSAGE("The opposing Primeape's Attack sharply rose!"); } //2nd mon Intimidate ABILITY_POPUP(playerRight, ABILITY_INTIMIDATE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Arbok's Intimidate cuts Foe Mankey's attack!"); + MESSAGE("Arbok's Intimidate cuts the opposing Mankey's Attack!"); if (abilityLeft == ABILITY_DEFIANT) { ABILITY_POPUP(opponentLeft, ABILITY_DEFIANT); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Foe Mankey's Attack sharply rose!"); + MESSAGE("The opposing Mankey's Attack sharply rose!"); } ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Arbok's Intimidate cuts Foe Primeape's attack!"); + MESSAGE("Arbok's Intimidate cuts the opposing Primeape's Attack!"); if (abilityRight == ABILITY_DEFIANT) { ABILITY_POPUP(opponentRight, ABILITY_DEFIANT); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Foe Primeape's Attack sharply rose!"); + MESSAGE("The opposing Primeape's Attack sharply rose!"); } } FINALLY { // -2 from Intimidates and +4 from Defiants gets +2 total @@ -129,7 +129,7 @@ SINGLE_BATTLE_TEST("Defiant activates after Sticky Web lowers Speed") ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, opponent); // Switch-in - Sticky Web activates SEND_IN_MESSAGE("Mankey"); - MESSAGE("Mankey was caught in a Sticky Web!"); + MESSAGE("Mankey was caught in a sticky web!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Mankey's Speed fell!"); // Defiant activates @@ -153,7 +153,7 @@ SINGLE_BATTLE_TEST("Defiant doesn't activate after Sticky Web lowers Speed if Co ANIMATION(ANIM_TYPE_MOVE, MOVE_COURT_CHANGE, opponent); // Switch-in - Sticky Web activates SEND_IN_MESSAGE("Mankey"); - MESSAGE("Mankey was caught in a Sticky Web!"); + MESSAGE("Mankey was caught in a sticky web!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Mankey's Speed fell!"); // Defiant doesn't activate @@ -180,7 +180,7 @@ SINGLE_BATTLE_TEST("Defiant correctly activates after Sticky Web lowers Speed if ANIMATION(ANIM_TYPE_MOVE, MOVE_COURT_CHANGE, opponent); // Switch-in - Sticky Web activates SEND_IN_MESSAGE("Mankey"); - MESSAGE("Mankey was caught in a Sticky Web!"); + MESSAGE("Mankey was caught in a sticky web!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Mankey's Speed fell!"); // Defiant doesn't activate @@ -225,7 +225,7 @@ DOUBLE_BATTLE_TEST("Defiant is activated by Cotton Down for non-ally pokemon") MESSAGE("Mankey's Attack sharply rose!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Foe Mankey's Speed fell!"); + MESSAGE("The opposing Mankey's Speed fell!"); } THEN { EXPECT_EQ(playerLeft->statStages[STAT_SPEED], DEFAULT_STAT_STAGE - 1); EXPECT_EQ(playerRight->statStages[STAT_SPEED], DEFAULT_STAT_STAGE - 1); @@ -257,11 +257,11 @@ SINGLE_BATTLE_TEST("Defiant activates before White Herb") if (move == MOVE_LEER) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Mankey's White Herb restored its status!"); + MESSAGE("Mankey returned its stats to normal using its White Herb!"); } else { NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Mankey's White Herb restored its status!"); + MESSAGE("Mankey returned its stats to normal using its White Herb!"); } } } THEN { diff --git a/test/battle/ability/desolate_land.c b/test/battle/ability/desolate_land.c index a8c9f7749c46..06d604e8fcec 100644 --- a/test/battle/ability/desolate_land.c +++ b/test/battle/ability/desolate_land.c @@ -16,13 +16,13 @@ SINGLE_BATTLE_TEST("Desolate Land blocks damaging Water-type moves") TURN { MOVE(opponent, MOVE_WATER_GUN); } TURN { MOVE(opponent, MOVE_WATER_GUN); } } SCENE { - MESSAGE("Foe Wobbuffet used Water Gun!"); + MESSAGE("The opposing Wobbuffet used Water Gun!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_GUN, opponent); - MESSAGE("The Water-type attack evaporated in the harsh sunlight!"); + MESSAGE("The Water-type attack evaporated in the extremely harsh sunlight!"); NOT HP_BAR(player); - MESSAGE("Foe Wobbuffet used Water Gun!"); + MESSAGE("The opposing Wobbuffet used Water Gun!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_GUN, opponent); - MESSAGE("The Water-type attack evaporated in the harsh sunlight!"); + MESSAGE("The Water-type attack evaporated in the extremely harsh sunlight!"); NOT HP_BAR(player); } THEN { EXPECT_EQ(player->hp, player->maxHP); @@ -42,10 +42,10 @@ DOUBLE_BATTLE_TEST("Desolate Land blocks damaging Water-type moves and prints th } WHEN { TURN { MOVE(opponentLeft, MOVE_SURF); } } SCENE { - MESSAGE("Foe Wobbuffet used Surf!"); + MESSAGE("The opposing Wobbuffet used Surf!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_SURF, opponentLeft); - MESSAGE("The Water-type attack evaporated in the harsh sunlight!"); - NOT MESSAGE("The Water-type attack evaporated in the harsh sunlight!"); + MESSAGE("The Water-type attack evaporated in the extremely harsh sunlight!"); + NOT MESSAGE("The Water-type attack evaporated in the extremely harsh sunlight!"); } THEN { EXPECT_EQ(playerLeft->hp, playerLeft->maxHP); EXPECT_EQ(playerRight->hp, playerRight->maxHP); @@ -61,7 +61,7 @@ SINGLE_BATTLE_TEST("Desolate Land does not block a move if pokemon is asleep and } WHEN { TURN { MOVE(opponent, MOVE_WATER_GUN); } } SCENE { - NOT MESSAGE("The Water-type attack evaporated in the harsh sunlight!"); - MESSAGE("Foe Wobbuffet is fast asleep."); + NOT MESSAGE("The Water-type attack evaporated in the extremely harsh sunlight!"); + MESSAGE("The opposing Wobbuffet is fast asleep."); } } diff --git a/test/battle/ability/disguise.c b/test/battle/ability/disguise.c index 5ab20353252f..3a8df70be5a0 100644 --- a/test/battle/ability/disguise.c +++ b/test/battle/ability/disguise.c @@ -98,7 +98,7 @@ SINGLE_BATTLE_TEST("Disguised Mimikyu takes damage from Rocky Helmet without bre HP_BAR(opponent); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); HP_BAR(player); - MESSAGE("Mimikyu was hurt by Foe Wobbuffet's Rocky Helmet!"); + MESSAGE("Mimikyu was hurt by the opposing Wobbuffet's Rocky Helmet!"); } THEN { EXPECT_EQ(player->species, SPECIES_MIMIKYU_DISGUISED); } @@ -116,7 +116,7 @@ SINGLE_BATTLE_TEST("Disguised Mimikyu takes damage from Rough Skin without break HP_BAR(opponent); ABILITY_POPUP(opponent, ABILITY_ROUGH_SKIN); HP_BAR(player); - MESSAGE("Mimikyu was hurt by Foe Carvanha's Rough Skin!"); + MESSAGE("Mimikyu was hurt by the opposing Carvanha's Rough Skin!"); } THEN { EXPECT_EQ(player->species, SPECIES_MIMIKYU_DISGUISED); } @@ -146,11 +146,11 @@ SINGLE_BATTLE_TEST("Disguised Mimikyu's types revert back to Ghost/Fairy when Di TURN { MOVE(opponent, MOVE_TACKLE); } TURN { MOVE(opponent, MOVE_SHADOW_CLAW); } } SCENE { - MESSAGE("Foe Wobbuffet used Soak!"); + MESSAGE("The opposing Wobbuffet used Soak!"); MESSAGE("Mimikyu transformed into the Water type!"); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); ABILITY_POPUP(player, ABILITY_DISGUISE); - MESSAGE("Foe Wobbuffet used Shadow Claw!"); + MESSAGE("The opposing Wobbuffet used Shadow Claw!"); MESSAGE("It's super effective!"); } } @@ -167,7 +167,7 @@ SINGLE_BATTLE_TEST("Disguised Mimikyu blocks a move after getting Gastro Acid Ba TURN { MOVE(opponent, MOVE_SHADOW_CLAW); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_GASTRO_ACID, opponent); - MESSAGE("Wobbuffet's ability was suppressed!"); + MESSAGE("Wobbuffet's Ability was suppressed!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_BATON_PASS, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_SHADOW_CLAW, opponent); ABILITY_POPUP(player, ABILITY_DISGUISE); diff --git a/test/battle/ability/download.c b/test/battle/ability/download.c index e96b0ddeb9ad..480f0bf10e5c 100644 --- a/test/battle/ability/download.c +++ b/test/battle/ability/download.c @@ -22,7 +22,7 @@ SINGLE_BATTLE_TEST("Download raises Attack if player has lower Def than Sp. Def" { ABILITY_POPUP(opponent, ABILITY_DOWNLOAD); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Porygon's Download raised its Attack!"); + MESSAGE("The opposing Porygon's Download raised its Attack!"); } HP_BAR(player, captureDamage: &results[i].damage); } FINALLY { @@ -85,7 +85,7 @@ SINGLE_BATTLE_TEST("Download doesn't activate if target hasn't been sent out yet { ABILITY_POPUP(opponent, ABILITY_DOWNLOAD); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Porygon2's Download raised its Sp. Atk!"); + MESSAGE("The opposing Porygon2's Download raised its Sp. Atk!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_TRI_ATTACK, opponent); diff --git a/test/battle/ability/effect_spore.c b/test/battle/ability/effect_spore.c index 107cd086757f..49750c4797b9 100644 --- a/test/battle/ability/effect_spore.c +++ b/test/battle/ability/effect_spore.c @@ -19,13 +19,13 @@ SINGLE_BATTLE_TEST("Effect Spore only inflicts status on contact") if (gMovesInfo[move].makesContact) { ABILITY_POPUP(opponent, ABILITY_EFFECT_SPORE); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, player); - MESSAGE("Wobbuffet was poisoned by Foe Breloom's Effect Spore!"); + MESSAGE("Wobbuffet was poisoned by the opposing Breloom's Effect Spore!"); STATUS_ICON(player, poison: TRUE); } else { NONE_OF { ABILITY_POPUP(opponent, ABILITY_EFFECT_SPORE); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, player); - MESSAGE("Wobbuffet was poisoned by Foe Breloom's Effect Spore!"); + MESSAGE("Wobbuffet was poisoned by the opposing Breloom's Effect Spore!"); STATUS_ICON(player, poison: TRUE); } } @@ -46,7 +46,7 @@ SINGLE_BATTLE_TEST("Effect Spore causes poison 9% of the time") } SCENE { ABILITY_POPUP(opponent, ABILITY_EFFECT_SPORE); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, player); - MESSAGE("Wobbuffet was poisoned by Foe Breloom's Effect Spore!"); + MESSAGE("Wobbuffet was poisoned by the opposing Breloom's Effect Spore!"); STATUS_ICON(player, poison: TRUE); } } @@ -65,7 +65,7 @@ SINGLE_BATTLE_TEST("Effect Spore causes paralysis 10% of the time") } SCENE { ABILITY_POPUP(opponent, ABILITY_EFFECT_SPORE); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PRZ, player); - MESSAGE("Foe Breloom's Effect Spore paralyzed Wobbuffet! It may be unable to move!"); + MESSAGE("The opposing Breloom's Effect Spore paralyzed Wobbuffet, so it may be unable to move!"); STATUS_ICON(player, paralysis: TRUE); } } @@ -84,7 +84,7 @@ SINGLE_BATTLE_TEST("Effect Spore causes sleep 11% of the time") } SCENE { ABILITY_POPUP(opponent, ABILITY_EFFECT_SPORE); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_SLP, player); - MESSAGE("Foe Breloom's Effect Spore made Wobbuffet sleep!"); + MESSAGE("The opposing Breloom's Effect Spore made Wobbuffet sleep!"); STATUS_ICON(player, sleep: TRUE); } } diff --git a/test/battle/ability/embody_aspect.c b/test/battle/ability/embody_aspect.c index a2427875f6a0..fffc8cf4231c 100644 --- a/test/battle/ability/embody_aspect.c +++ b/test/battle/ability/embody_aspect.c @@ -6,10 +6,10 @@ SINGLE_BATTLE_TEST("Embody Aspect raises a stat depending on the users form by o { u16 species, ability; - PARAMETRIZE { species = SPECIES_OGERPON_TEAL_MASK_TERA; ability = ABILITY_EMBODY_ASPECT_TEAL_MASK; } - PARAMETRIZE { species = SPECIES_OGERPON_HEARTHFLAME_MASK_TERA; ability = ABILITY_EMBODY_ASPECT_HEARTHFLAME_MASK; } - PARAMETRIZE { species = SPECIES_OGERPON_WELLSPRING_MASK_TERA; ability = ABILITY_EMBODY_ASPECT_WELLSPRING_MASK; } - PARAMETRIZE { species = SPECIES_OGERPON_CORNERSTONE_MASK_TERA; ability = ABILITY_EMBODY_ASPECT_CORNERSTONE_MASK; } + PARAMETRIZE { species = SPECIES_OGERPON_TEAL_TERA; ability = ABILITY_EMBODY_ASPECT_TEAL_MASK; } + PARAMETRIZE { species = SPECIES_OGERPON_HEARTHFLAME_TERA; ability = ABILITY_EMBODY_ASPECT_HEARTHFLAME_MASK; } + PARAMETRIZE { species = SPECIES_OGERPON_WELLSPRING_TERA; ability = ABILITY_EMBODY_ASPECT_WELLSPRING_MASK; } + PARAMETRIZE { species = SPECIES_OGERPON_CORNERSTONE_TERA; ability = ABILITY_EMBODY_ASPECT_CORNERSTONE_MASK; } GIVEN { PLAYER(SPECIES_WOBBUFFET); @@ -20,13 +20,13 @@ SINGLE_BATTLE_TEST("Embody Aspect raises a stat depending on the users form by o ABILITY_POPUP(opponent, ability); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); if (ability == ABILITY_EMBODY_ASPECT_TEAL_MASK) - MESSAGE("Foe Ogerpon's Embody Aspect raised its Speed!"); + MESSAGE("The opposing Ogerpon's Embody Aspect raised its Speed!"); else if (ability == ABILITY_EMBODY_ASPECT_HEARTHFLAME_MASK) - MESSAGE("Foe Ogerpon's Embody Aspect raised its Attack!"); + MESSAGE("The opposing Ogerpon's Embody Aspect raised its Attack!"); else if (ability == ABILITY_EMBODY_ASPECT_WELLSPRING_MASK) - MESSAGE("Foe Ogerpon's Embody Aspect raised its Sp. Def!"); + MESSAGE("The opposing Ogerpon's Embody Aspect raised its Sp. Def!"); else if (ability == ABILITY_EMBODY_ASPECT_CORNERSTONE_MASK) - MESSAGE("Foe Ogerpon's Embody Aspect raised its Defense!"); + MESSAGE("The opposing Ogerpon's Embody Aspect raised its Defense!"); } THEN { if (ability == ABILITY_EMBODY_ASPECT_TEAL_MASK) EXPECT_EQ(opponent->statStages[STAT_SPEED], DEFAULT_STAT_STAGE + 1); @@ -44,16 +44,16 @@ SINGLE_BATTLE_TEST("Embody Aspect activates when it's no longer effected by Neut GIVEN { PLAYER(SPECIES_WEEZING) { Ability(ABILITY_NEUTRALIZING_GAS); } PLAYER(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_OGERPON_TEAL_MASK_TERA) { Ability(ABILITY_EMBODY_ASPECT_TEAL_MASK); } + OPPONENT(SPECIES_OGERPON_TEAL_TERA) { Ability(ABILITY_EMBODY_ASPECT_TEAL_MASK); } } WHEN { TURN { SWITCH(player, 1); } } SCENE { ABILITY_POPUP(player, ABILITY_NEUTRALIZING_GAS); - MESSAGE("Neutralizing Gas filled the area!"); + MESSAGE("Neutralizing gas filled the area!"); SWITCH_OUT_MESSAGE("Weezing"); - MESSAGE("The effects of Neutralizing Gas wore off!"); + MESSAGE("The effects of the neutralizing gas wore off!"); ABILITY_POPUP(opponent, ABILITY_EMBODY_ASPECT_TEAL_MASK); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Ogerpon's Embody Aspect raised its Speed!"); + MESSAGE("The opposing Ogerpon's Embody Aspect raised its Speed!"); } } diff --git a/test/battle/ability/flame_body.c b/test/battle/ability/flame_body.c index f44fb91724a4..b8fa850b65ab 100644 --- a/test/battle/ability/flame_body.c +++ b/test/battle/ability/flame_body.c @@ -17,13 +17,13 @@ SINGLE_BATTLE_TEST("Flame Body inflicts burn on contact") if (gMovesInfo[move].makesContact) { ABILITY_POPUP(opponent, ABILITY_FLAME_BODY); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, player); - MESSAGE("Foe Magmar's Flame Body burned Wobbuffet!"); + MESSAGE("The opposing Magmar's Flame Body burned Wobbuffet!"); STATUS_ICON(player, burn: TRUE); } else { NONE_OF { ABILITY_POPUP(opponent, ABILITY_FLAME_BODY); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, player); - MESSAGE("Foe Magmar's Flame Body burned Wobbuffet!"); + MESSAGE("The opposing Magmar's Flame Body burned Wobbuffet!"); STATUS_ICON(player, burn: TRUE); } } @@ -43,7 +43,7 @@ SINGLE_BATTLE_TEST("Flame Body triggers 30% of the time") } SCENE { ABILITY_POPUP(opponent, ABILITY_FLAME_BODY); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, player); - MESSAGE("Foe Magmar's Flame Body burned Wobbuffet!"); + MESSAGE("The opposing Magmar's Flame Body burned Wobbuffet!"); STATUS_ICON(player, burn: TRUE); } } diff --git a/test/battle/ability/forecast.c b/test/battle/ability/forecast.c index 24a0eed95779..dae5326fd583 100644 --- a/test/battle/ability/forecast.c +++ b/test/battle/ability/forecast.c @@ -122,13 +122,13 @@ DOUBLE_BATTLE_TEST("Forecast transforms all Castforms present in weather") MESSAGE("Castform transformed!"); ABILITY_POPUP(opponentLeft, ABILITY_FORECAST); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, opponentLeft); - MESSAGE("Foe Castform transformed!"); + MESSAGE("The opposing Castform transformed!"); ABILITY_POPUP(playerRight, ABILITY_FORECAST); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, playerRight); MESSAGE("Castform transformed!"); ABILITY_POPUP(opponentRight, ABILITY_FORECAST); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, opponentRight); - MESSAGE("Foe Castform transformed!"); + MESSAGE("The opposing Castform transformed!"); } THEN { switch (move) { diff --git a/test/battle/ability/frisk.c b/test/battle/ability/frisk.c index 385ab7e1f909..3c892329c3b4 100644 --- a/test/battle/ability/frisk.c +++ b/test/battle/ability/frisk.c @@ -29,9 +29,9 @@ SINGLE_BATTLE_TEST("Frisk triggers in a Single Battle") TURN { ; } } SCENE { ABILITY_POPUP(player, ABILITY_FRISK); - MESSAGE("Furret frisked Foe Sentret and found its Potion!"); + MESSAGE("Furret frisked the opposing Sentret and found its Potion!"); ABILITY_POPUP(opponent, ABILITY_FRISK); - MESSAGE("Foe Sentret frisked Furret and found its Potion!"); + MESSAGE("The opposing Sentret frisked Furret and found its Potion!"); } } @@ -51,10 +51,10 @@ DOUBLE_BATTLE_TEST("Frisk triggers for player in a Double Battle after switching } WHEN { TURN { MOVE(opponentLeft, MOVE_POUND, target: target); SEND_OUT(target, 2); } } SCENE { - MESSAGE("Foe Wynaut used Pound!"); + MESSAGE("The opposing Wynaut used Pound!"); MESSAGE("Wobbuffet fainted!"); ABILITY_POPUP(target, ABILITY_FRISK); - MESSAGE("Furret frisked Foe Wynaut and found its Potion!"); + MESSAGE("Furret frisked the opposing Wynaut and found its Potion!"); } } @@ -75,8 +75,8 @@ DOUBLE_BATTLE_TEST("Frisk triggers for opponent in a Double Battle after switchi TURN { MOVE(playerLeft, MOVE_POUND, target: target); SEND_OUT(target, 2); } } SCENE { MESSAGE("Wynaut used Pound!"); - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet fainted!"); ABILITY_POPUP(target, ABILITY_FRISK); - MESSAGE("Foe Furret frisked Wynaut and found its Potion!"); + MESSAGE("The opposing Furret frisked Wynaut and found its Potion!"); } } diff --git a/test/battle/ability/gale_wings.c b/test/battle/ability/gale_wings.c index e74d34790f34..eff458964927 100644 --- a/test/battle/ability/gale_wings.c +++ b/test/battle/ability/gale_wings.c @@ -16,10 +16,10 @@ SINGLE_BATTLE_TEST("Gale Wings only grants priority at full HP") } SCENE { if (hp == 100) { MESSAGE("Talonflame used Aerial Ace!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); } else { - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Talonflame used Aerial Ace!"); } } @@ -41,10 +41,10 @@ SINGLE_BATTLE_TEST("Gale Wings only grants priority to Flying-type moves") } SCENE { if (move == MOVE_AERIAL_ACE) { MESSAGE("Talonflame used Aerial Ace!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); } else { - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Talonflame used Flare Blitz!"); } } @@ -74,16 +74,16 @@ SINGLE_BATTLE_TEST("Gale Wings doesn't increase priority of Flying-type Natural } SCENE { MESSAGE("Wobbuffet used Celebrate!"); if (move == MOVE_NATURAL_GIFT) { - MESSAGE("Foe Talonflame used Natural Gift!"); + MESSAGE("The opposing Talonflame used Natural Gift!"); } else if (move == MOVE_JUDGMENT) { - MESSAGE("Foe Talonflame used Judgment!"); + MESSAGE("The opposing Talonflame used Judgment!"); } else if (move == MOVE_HIDDEN_POWER) { - MESSAGE("Foe Talonflame used Hidden Power!"); + MESSAGE("The opposing Talonflame used Hidden Power!"); } else { - MESSAGE("Foe Talonflame used Tera Blast!"); + MESSAGE("The opposing Talonflame used Tera Blast!"); } } } diff --git a/test/battle/ability/galvanize.c b/test/battle/ability/galvanize.c index 7f604f3dacab..1da82e861dfb 100644 --- a/test/battle/ability/galvanize.c +++ b/test/battle/ability/galvanize.c @@ -11,7 +11,7 @@ SINGLE_BATTLE_TEST("Galvanize turns a normal type move into Electric") { GIVEN { PLAYER(SPECIES_KRABBY); - OPPONENT(SPECIES_GEODUDE_ALOLAN) { Ability(ABILITY_GALVANIZE); } + OPPONENT(SPECIES_GEODUDE_ALOLA) { Ability(ABILITY_GALVANIZE); } } WHEN { TURN { MOVE(opponent, MOVE_TACKLE); } } SCENE { @@ -33,7 +33,7 @@ SINGLE_BATTLE_TEST("Galvanize can not turn certain moves into Electric type move ASSUME(gMovesInfo[MOVE_WEATHER_BALL].effect == EFFECT_WEATHER_BALL); ASSUME(gMovesInfo[MOVE_MULTI_ATTACK].effect == EFFECT_CHANGE_TYPE_ON_ITEM); PLAYER(SPECIES_KRABBY); - OPPONENT(SPECIES_GEODUDE_ALOLAN) { Ability(ABILITY_GALVANIZE); } + OPPONENT(SPECIES_GEODUDE_ALOLA) { Ability(ABILITY_GALVANIZE); } } WHEN { TURN { MOVE(opponent, move); } } SCENE { diff --git a/test/battle/ability/good_as_gold.c b/test/battle/ability/good_as_gold.c index 596bb6c4c7b7..40561ee767ee 100644 --- a/test/battle/ability/good_as_gold.c +++ b/test/battle/ability/good_as_gold.c @@ -13,7 +13,7 @@ SINGLE_BATTLE_TEST("Good as Gold protects from status moves") } SCENE { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC, player); ABILITY_POPUP(opponent, ABILITY_GOOD_AS_GOLD); - MESSAGE("It doesn't affect Foe Gholdengo…"); + MESSAGE("It doesn't affect the opposing Gholdengo…"); } } @@ -29,7 +29,7 @@ SINGLE_BATTLE_TEST("Good as Gold doesn't protect the user from it's own moves") ANIMATION(ANIM_TYPE_MOVE, MOVE_NASTY_PLOT, opponent); NONE_OF { ABILITY_POPUP(opponent, ABILITY_GOOD_AS_GOLD); - MESSAGE("It doesn't affect Foe Gholdengo…"); + MESSAGE("It doesn't affect the opposing Gholdengo…"); } } } @@ -47,7 +47,7 @@ SINGLE_BATTLE_TEST("Good as Gold doesn't protect from moves that target the fiel ANIMATION(ANIM_TYPE_MOVE, MOVE_STEALTH_ROCK, player); NONE_OF { ABILITY_POPUP(opponent, ABILITY_GOOD_AS_GOLD); - MESSAGE("It doesn't affect Foe Gholdengo…"); + MESSAGE("It doesn't affect the opposing Gholdengo…"); } } } @@ -65,6 +65,6 @@ DOUBLE_BATTLE_TEST("Good as Gold protects from partner's status moves") } SCENE { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_HELPING_HAND, opponentRight); ABILITY_POPUP(opponentLeft, ABILITY_GOOD_AS_GOLD); - MESSAGE("It doesn't affect Foe Gholdengo…"); + MESSAGE("It doesn't affect the opposing Gholdengo…"); } } diff --git a/test/battle/ability/grim_neigh.c b/test/battle/ability/grim_neigh.c index b4d82487d83e..476d9995f107 100644 --- a/test/battle/ability/grim_neigh.c +++ b/test/battle/ability/grim_neigh.c @@ -5,7 +5,7 @@ DOUBLE_BATTLE_TEST("Grim Neigh raises Sp. Attack by one stage after directly cau { u32 species = 0, ability = 0, abilityPopUp = 0; PARAMETRIZE { species = SPECIES_SPECTRIER; ability = ABILITY_GRIM_NEIGH; abilityPopUp = ABILITY_GRIM_NEIGH; } - PARAMETRIZE { species = SPECIES_CALYREX_SHADOW_RIDER; ability = ABILITY_AS_ONE_SHADOW_RIDER; abilityPopUp = ABILITY_GRIM_NEIGH; } + PARAMETRIZE { species = SPECIES_CALYREX_SHADOW; ability = ABILITY_AS_ONE_SHADOW_RIDER; abilityPopUp = ABILITY_GRIM_NEIGH; } GIVEN { ASSUME(gMovesInfo[MOVE_DISCHARGE].target == MOVE_TARGET_FOES_AND_ALLY); PLAYER(species) { Ability(ability); } @@ -22,8 +22,8 @@ DOUBLE_BATTLE_TEST("Grim Neigh raises Sp. Attack by one stage after directly cau for (i = 0; i < 3; i++) { ONE_OF { MESSAGE("Snorunt fainted!"); - MESSAGE("Foe Glalie fainted!"); - MESSAGE("Foe Abra fainted!"); + MESSAGE("The opposing Glalie fainted!"); + MESSAGE("The opposing Abra fainted!"); } ABILITY_POPUP(playerLeft, abilityPopUp); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); @@ -41,7 +41,7 @@ DOUBLE_BATTLE_TEST("Grim Neigh does not trigger if Pokemon faint to indirect dam { u32 species = 0, ability = 0, abilityPopUp = 0; PARAMETRIZE { species = SPECIES_SPECTRIER; ability = ABILITY_GRIM_NEIGH; abilityPopUp = ABILITY_GRIM_NEIGH; } - PARAMETRIZE { species = SPECIES_CALYREX_SHADOW_RIDER; ability = ABILITY_AS_ONE_SHADOW_RIDER; abilityPopUp = ABILITY_GRIM_NEIGH; } + PARAMETRIZE { species = SPECIES_CALYREX_SHADOW; ability = ABILITY_AS_ONE_SHADOW_RIDER; abilityPopUp = ABILITY_GRIM_NEIGH; } GIVEN { PLAYER(species) { Ability(ability); } PLAYER(SPECIES_SNORUNT) { HP(1); Status1(STATUS1_POISON); } @@ -57,8 +57,8 @@ DOUBLE_BATTLE_TEST("Grim Neigh does not trigger if Pokemon faint to indirect dam for (i = 0; i < 3; i++) { ONE_OF { MESSAGE("Snorunt fainted!"); - MESSAGE("Foe Glalie fainted!"); - MESSAGE("Foe Abra fainted!"); + MESSAGE("The opposing Glalie fainted!"); + MESSAGE("The opposing Abra fainted!"); } NONE_OF { ABILITY_POPUP(playerLeft, abilityPopUp); @@ -78,7 +78,7 @@ DOUBLE_BATTLE_TEST("Grim Neigh does not increase damage done by the same move th s16 damage[2]; u32 species = 0, ability = 0, abilityPopUp = 0; PARAMETRIZE { species = SPECIES_SPECTRIER; ability = ABILITY_GRIM_NEIGH; abilityPopUp = ABILITY_GRIM_NEIGH; } - PARAMETRIZE { species = SPECIES_CALYREX_SHADOW_RIDER; ability = ABILITY_AS_ONE_SHADOW_RIDER; abilityPopUp = ABILITY_GRIM_NEIGH; } + PARAMETRIZE { species = SPECIES_CALYREX_SHADOW; ability = ABILITY_AS_ONE_SHADOW_RIDER; abilityPopUp = ABILITY_GRIM_NEIGH; } KNOWN_FAILING; // Requires simultaneous damage implementation GIVEN { diff --git a/test/battle/ability/gulp_missile.c b/test/battle/ability/gulp_missile.c index 7ccf1063b569..f5e1fd9d9d7d 100644 --- a/test/battle/ability/gulp_missile.c +++ b/test/battle/ability/gulp_missile.c @@ -89,7 +89,7 @@ SINGLE_BATTLE_TEST("(Gulp Missile) Transformed Cramorant deal 1/4 of damage oppo ABILITY_POPUP(player, ABILITY_GULP_MISSILE); HP_BAR(opponent, captureDamage: &gulpMissileDamage); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Defense fell!"); + MESSAGE("The opposing Wobbuffet's Defense fell!"); } THEN { EXPECT_EQ(gulpMissileDamage, opponent->maxHP / 4); } diff --git a/test/battle/ability/healer.c b/test/battle/ability/healer.c new file mode 100644 index 000000000000..9626783ec592 --- /dev/null +++ b/test/battle/ability/healer.c @@ -0,0 +1,53 @@ +#include "global.h" +#include "test/battle.h" + +DOUBLE_BATTLE_TEST("Healer cures adjacent ally's status condition 30% of the time") +{ + u16 status; + PARAMETRIZE { status = STATUS1_SLEEP; } + PARAMETRIZE { status = STATUS1_POISON; } + PARAMETRIZE { status = STATUS1_BURN; } + // PARAMETRIZE { status = STATUS1_FREEZE; } + PARAMETRIZE { status = STATUS1_PARALYSIS; } + PARAMETRIZE { status = STATUS1_TOXIC_POISON; } + PARAMETRIZE { status = STATUS1_FROSTBITE; } + PASSES_RANDOMLY(30, 100, RNG_HEALER); + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET) { Status1(status); } + OPPONENT(SPECIES_CHANSEY) { Ability(ABILITY_HEALER); } + } WHEN { + TURN { } + } SCENE { + MESSAGE("The opposing Chansey's Healer cured the opposing Wobbuffet's problem!"); + } +} + +DOUBLE_BATTLE_TEST("Healer cures status condition before burn or poison damage is dealt") +{ + KNOWN_FAILING; // According to Bulbapedia, Healer should trigger before status damage and Wobbuffet should live + // Source: https://bulbapedia.bulbagarden.net/wiki/Healer_(Ability)#Effect + u16 status; + PARAMETRIZE { status = STATUS1_POISON; } + PARAMETRIZE { status = STATUS1_BURN; } + PARAMETRIZE { status = STATUS1_TOXIC_POISON; } + PARAMETRIZE { status = STATUS1_FROSTBITE; } + PASSES_RANDOMLY(30, 100, RNG_HEALER); + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET) { HP(1); Status1(status); } + OPPONENT(SPECIES_CHANSEY) { Ability(ABILITY_HEALER); } + } WHEN { + TURN {} + } SCENE { + NOT { + MESSAGE("The opposing Wobbuffet fainted!"); + } + MESSAGE("The opposing Chansey's Healer cured Foe Wobbuffet's problem!"); + } +} + +// Triple battles +TO_DO_BATTLE_TEST("Healer has a 30% chance of curing each of its ally's status conditions independently"); diff --git a/test/battle/ability/hunger_switch.c b/test/battle/ability/hunger_switch.c index e4fbda82d140..38c3d2527d14 100644 --- a/test/battle/ability/hunger_switch.c +++ b/test/battle/ability/hunger_switch.c @@ -13,7 +13,7 @@ SINGLE_BATTLE_TEST("Hunger Switch switches Morpeko's forms at the end of the tur TURN { MOVE(player, MOVE_CELEBRATE); } } SCENE { MESSAGE("Morpeko used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); } THEN { if (species == SPECIES_MORPEKO_FULL_BELLY) diff --git a/test/battle/ability/hyper_cutter.c b/test/battle/ability/hyper_cutter.c index 0d1306f11865..a688da25319c 100644 --- a/test/battle/ability/hyper_cutter.c +++ b/test/battle/ability/hyper_cutter.c @@ -19,7 +19,7 @@ SINGLE_BATTLE_TEST("Hyper Cutter prevents intimidate") ABILITY_POPUP(player, ABILITY_INTIMIDATE); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); } ABILITY_POPUP(opponent, ABILITY_HYPER_CUTTER); - MESSAGE("Foe Krabby's Hyper Cutter prevents Attack loss!"); + MESSAGE("The opposing Krabby's Hyper Cutter prevents Attack loss!"); HP_BAR(player, captureDamage: &turnTwoHit); } THEN { EXPECT_EQ(turnOneHit, turnTwoHit); @@ -36,7 +36,7 @@ SINGLE_BATTLE_TEST("Hyper Cutter prevents Attack stage reduction from moves") TURN { MOVE(player, MOVE_GROWL); } } SCENE { ABILITY_POPUP(opponent, ABILITY_HYPER_CUTTER); - MESSAGE("Foe Krabby's Hyper Cutter prevents Attack loss!"); + MESSAGE("The opposing Krabby's Hyper Cutter prevents Attack loss!"); } } @@ -50,7 +50,7 @@ SINGLE_BATTLE_TEST("Hyper Cutter doesn't prevent Attack reduction from burn") TURN { MOVE(player, MOVE_WILL_O_WISP); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_WILL_O_WISP, player); - MESSAGE("Foe Krabby was burned!"); + MESSAGE("The opposing Krabby was burned!"); } THEN { EXPECT_EQ(opponent->statStages[STAT_ATK], DEFAULT_STAT_STAGE); } @@ -68,10 +68,10 @@ SINGLE_BATTLE_TEST("Hyper Cutter is ignored by Mold Breaker") ABILITY_POPUP(player, ABILITY_MOLD_BREAKER); MESSAGE("Pinsir breaks the mold!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_GROWL, player); - MESSAGE("Foe Krabby's Attack fell!"); + MESSAGE("The opposing Krabby's Attack fell!"); NONE_OF { ABILITY_POPUP(opponent, ABILITY_HYPER_CUTTER); - MESSAGE("Foe Krabby's Hyper Cutter prevents Attack loss!"); + MESSAGE("The opposing Krabby's Hyper Cutter prevents Attack loss!"); } } } @@ -87,8 +87,8 @@ SINGLE_BATTLE_TEST("Hyper Cutter doesn't prevent Attack stage reduction from mov TURN {} } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SUPERPOWER, opponent); - MESSAGE("Foe Krabby's Attack fell!"); - MESSAGE("Foe Krabby's Defense fell!"); + MESSAGE("The opposing Krabby's Attack fell!"); + MESSAGE("The opposing Krabby's Defense fell!"); } THEN { EXPECT_EQ(opponent->statStages[STAT_ATK], DEFAULT_STAT_STAGE - 1); } @@ -105,9 +105,9 @@ SINGLE_BATTLE_TEST("Hyper Cutter doesn't prevent Topsy-Turvy") TURN { MOVE(opponent, MOVE_SWORDS_DANCE); MOVE(player, MOVE_TOPSY_TURVY); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SWORDS_DANCE, opponent); - MESSAGE("Foe Krabby's Attack sharply rose!"); + MESSAGE("The opposing Krabby's Attack sharply rose!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TOPSY_TURVY, player); - MESSAGE("Foe Krabby's stat changes were all reversed!"); + MESSAGE("All stat changes on the opposing Krabby were inverted!"); } THEN { EXPECT_EQ(opponent->statStages[STAT_ATK], DEFAULT_STAT_STAGE - 2); } @@ -124,7 +124,7 @@ SINGLE_BATTLE_TEST("Hyper Cutter doesn't prevent Spectral Thief from resetting p TURN { MOVE(opponent, MOVE_SWORDS_DANCE); MOVE(player, MOVE_SPECTRAL_THIEF); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SWORDS_DANCE, opponent); - MESSAGE("Foe Krabby's Attack sharply rose!"); + MESSAGE("The opposing Krabby's Attack sharply rose!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SPECTRAL_THIEF, player); MESSAGE("Wobbuffet stole the target's boosted stats!"); } THEN { diff --git a/test/battle/ability/immunity.c b/test/battle/ability/immunity.c index df5d1518e83a..2fa90686c53a 100644 --- a/test/battle/ability/immunity.c +++ b/test/battle/ability/immunity.c @@ -26,7 +26,7 @@ SINGLE_BATTLE_TEST("Immunity prevents Toxic bad poison") } SCENE { MESSAGE("Wobbuffet used Toxic!"); ABILITY_POPUP(opponent, ABILITY_IMMUNITY); - MESSAGE("Foe Snorlax's Immunity prevents poisoning!"); + MESSAGE("The opposing Snorlax's Immunity prevents poisoning!"); NOT STATUS_ICON(opponent, poison: TRUE); } } diff --git a/test/battle/ability/innards_out.c b/test/battle/ability/innards_out.c index a8d5c7ee3f31..bc59bcfa0bb0 100644 --- a/test/battle/ability/innards_out.c +++ b/test/battle/ability/innards_out.c @@ -19,7 +19,7 @@ SINGLE_BATTLE_TEST("Innards Out deal dmg on fainting equal to the amount of dmg } WHEN { TURN { MOVE(opponent, MOVE_PSYCHIC); SEND_OUT(player, 1); if (hp == 100) { SEND_OUT(opponent, 1); } } } SCENE { - MESSAGE("Foe Wobbuffet used Psychic!"); + MESSAGE("The opposing Wobbuffet used Psychic!"); HP_BAR(player, hp); ABILITY_POPUP(player, ABILITY_INNARDS_OUT); HP_BAR(opponent, hp); @@ -38,8 +38,8 @@ SINGLE_BATTLE_TEST("Innards Out does not trigger after Gastro Acid has been used TURN { MOVE(opponent, MOVE_GASTRO_ACID); } TURN { MOVE(opponent, MOVE_PSYCHIC); SEND_OUT(player, 1); } } SCENE { - MESSAGE("Foe Wobbuffet used Gastro Acid!"); - MESSAGE("Foe Wobbuffet used Psychic!"); + MESSAGE("The opposing Wobbuffet used Gastro Acid!"); + MESSAGE("The opposing Wobbuffet used Psychic!"); HP_BAR(player); NONE_OF { ABILITY_POPUP(player, ABILITY_INNARDS_OUT); @@ -59,7 +59,7 @@ SINGLE_BATTLE_TEST("Innards Out does not damage Magic Guard Pokemon") } WHEN { TURN { MOVE(opponent, MOVE_PSYCHIC); SEND_OUT(player, 1); } } SCENE { - MESSAGE("Foe Clefable used Psychic!"); + MESSAGE("The opposing Clefable used Psychic!"); HP_BAR(player); ABILITY_POPUP(player, ABILITY_INNARDS_OUT); NOT HP_BAR(opponent); diff --git a/test/battle/ability/inner_focus.c b/test/battle/ability/inner_focus.c index ecd71272cb9a..5a470b742f89 100644 --- a/test/battle/ability/inner_focus.c +++ b/test/battle/ability/inner_focus.c @@ -20,7 +20,7 @@ SINGLE_BATTLE_TEST("Inner Focus prevents intimidate") ABILITY_POPUP(player, ABILITY_INTIMIDATE); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); } ABILITY_POPUP(opponent, ABILITY_INNER_FOCUS); - MESSAGE("Foe Zubat's Inner Focus prevents stat loss!"); + MESSAGE("The opposing Zubat's Inner Focus prevents stat loss!"); HP_BAR(player, captureDamage: &turnTwoHit); } THEN { EXPECT_EQ(turnOneHit, turnTwoHit); @@ -38,7 +38,7 @@ SINGLE_BATTLE_TEST("Inner Focus prevents flinching") } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_FAKE_OUT, player); - NONE_OF { MESSAGE("Foe Zubat flinched!"); } + NONE_OF { MESSAGE("The opposing Zubat flinched and couldn't move!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); } } @@ -52,6 +52,6 @@ SINGLE_BATTLE_TEST("Inner Focus is ignored by Mold Breaker") TURN { MOVE(player, MOVE_FAKE_OUT); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_FAKE_OUT, player); - MESSAGE("Foe Zubat flinched!"); + MESSAGE("The opposing Zubat flinched and couldn't move!"); } } diff --git a/test/battle/ability/intimidate.c b/test/battle/ability/intimidate.c index a7776dabff69..e0f97d5bdaf2 100644 --- a/test/battle/ability/intimidate.c +++ b/test/battle/ability/intimidate.c @@ -23,7 +23,7 @@ SINGLE_BATTLE_TEST("Intimidate (opponent) lowers player's attack after switch ou { ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); - MESSAGE("Foe Arbok's Intimidate cuts Wobbuffet's attack!"); + MESSAGE("The opposing Arbok's Intimidate cuts Wobbuffet's Attack!"); } HP_BAR(opponent, captureDamage: &results[i].damage); } FINALLY { @@ -49,7 +49,7 @@ SINGLE_BATTLE_TEST("Intimidate (opponent) lowers player's attack after KO", s16 { ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); - MESSAGE("Foe Arbok's Intimidate cuts Wobbuffet's attack!"); + MESSAGE("The opposing Arbok's Intimidate cuts Wobbuffet's Attack!"); } HP_BAR(opponent, captureDamage: &results[i].damage); } FINALLY { @@ -92,15 +92,15 @@ DOUBLE_BATTLE_TEST("Intimidate doesn't activate on an empty field in a double ba // Intimidate activates after all battlers have been brought out ABILITY_POPUP(playerLeft, ABILITY_INTIMIDATE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Ekans's Intimidate cuts Foe Arbok's attack!"); + MESSAGE("Ekans's Intimidate cuts the opposing Arbok's Attack!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Ekans's Intimidate cuts Foe Wynaut's attack!"); + MESSAGE("Ekans's Intimidate cuts the opposing Wynaut's Attack!"); ABILITY_POPUP(opponentLeft, ABILITY_INTIMIDATE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); - MESSAGE("Foe Arbok's Intimidate cuts Ekans's attack!"); + MESSAGE("The opposing Arbok's Intimidate cuts Ekans's Attack!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); - MESSAGE("Foe Arbok's Intimidate cuts Abra's attack!"); + MESSAGE("The opposing Arbok's Intimidate cuts Abra's Attack!"); } } @@ -120,13 +120,13 @@ SINGLE_BATTLE_TEST("Intimidate and Eject Button force the opponent to Attack") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_QUICK_ATTACK, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Foe Wobbuffet is switched out with the Eject Button!"); + MESSAGE("The opposing Wobbuffet is switched out with the Eject Button!"); MESSAGE("2 sent out Hitmontop!"); ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); - MESSAGE("Foe Hitmontop's Intimidate cuts Wobbuffet's attack!"); + MESSAGE("The opposing Hitmontop's Intimidate cuts Wobbuffet's Attack!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); - MESSAGE("Foe Hitmontop used Tackle!"); + MESSAGE("The opposing Hitmontop used Tackle!"); } } } @@ -161,10 +161,10 @@ DOUBLE_BATTLE_TEST("Intimidate activates on an empty slot") SEND_IN_MESSAGE("Hitmontop"); ABILITY_POPUP(playerLeft, ABILITY_INTIMIDATE); NONE_OF { - MESSAGE("Hitmontop's Intimidate cuts Foe Ralts's attack!"); + MESSAGE("Hitmontop's Intimidate cuts the opposing Ralts's Attack!"); } ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Hitmontop's Intimidate cuts Foe Azurill's attack!"); + MESSAGE("Hitmontop's Intimidate cuts the opposing Azurill's Attack!"); } } @@ -209,9 +209,9 @@ SINGLE_BATTLE_TEST("Intimidate can not further lower opponents Atk stat if it is ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); - MESSAGE("Foe Arbok's Intimidate cuts Wobbuffet's attack!"); + MESSAGE("The opposing Arbok's Intimidate cuts Wobbuffet's Attack!"); } - MESSAGE("Wobbuffet's Attack won't go lower!"); + MESSAGE("Wobbuffet's Attack won't go any lower!"); } THEN { EXPECT_EQ(player->statStages[STAT_ATK], MIN_STAT_STAGE); } @@ -256,9 +256,9 @@ SINGLE_BATTLE_TEST("Intimidate activates when it's no longer effected by Neutral TURN { SWITCH(player, 1); } } SCENE { ABILITY_POPUP(player, ABILITY_NEUTRALIZING_GAS); - MESSAGE("Neutralizing Gas filled the area!"); + MESSAGE("Neutralizing gas filled the area!"); SWITCH_OUT_MESSAGE("Weezing"); - MESSAGE("The effects of Neutralizing Gas wore off!"); + MESSAGE("The effects of the neutralizing gas wore off!"); ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); SEND_IN_MESSAGE("Wobbuffet"); } @@ -281,9 +281,9 @@ SINGLE_BATTLE_TEST("Intimidate activates when it's no longer affected by Neutral TURN { MOVE(player, move); SEND_OUT(player, 1); } } SCENE { ABILITY_POPUP(player, ABILITY_NEUTRALIZING_GAS); - MESSAGE("Neutralizing Gas filled the area!"); + MESSAGE("Neutralizing gas filled the area!"); ANIMATION(ANIM_TYPE_MOVE, move, player); - MESSAGE("The effects of Neutralizing Gas wore off!"); + MESSAGE("The effects of the neutralizing gas wore off!"); ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); SEND_IN_MESSAGE("Wobbuffet"); } THEN { @@ -316,11 +316,11 @@ SINGLE_BATTLE_TEST("Intimidate activates when it's no longer affected by Neutral } } SCENE { ABILITY_POPUP(player, ABILITY_NEUTRALIZING_GAS); - MESSAGE("Neutralizing Gas filled the area!"); + MESSAGE("Neutralizing gas filled the area!"); ANIMATION(ANIM_TYPE_MOVE, move, opponent); if (item != ITEM_NONE) ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("The effects of Neutralizing Gas wore off!"); + MESSAGE("The effects of the neutralizing gas wore off!"); ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); if (item != ITEM_NONE) { SEND_IN_MESSAGE("Wobbuffet"); @@ -341,9 +341,9 @@ SINGLE_BATTLE_TEST("Intimidate activates when it's no longer affected by Neutral TURN { MOVE(opponent, MOVE_FELL_STINGER); SEND_OUT(player, 1); } } SCENE { ABILITY_POPUP(player, ABILITY_NEUTRALIZING_GAS); - MESSAGE("Neutralizing Gas filled the area!"); + MESSAGE("Neutralizing gas filled the area!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_FELL_STINGER, opponent); - MESSAGE("The effects of Neutralizing Gas wore off!"); + MESSAGE("The effects of the neutralizing gas wore off!"); ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); MESSAGE("Weezing fainted!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); diff --git a/test/battle/ability/intrepid_sword.c b/test/battle/ability/intrepid_sword.c index fdae307a43bd..68300fb229d6 100644 --- a/test/battle/ability/intrepid_sword.c +++ b/test/battle/ability/intrepid_sword.c @@ -16,7 +16,7 @@ SINGLE_BATTLE_TEST("Intrepid Sword raises Attack by one stage") } SCENE { ABILITY_POPUP(opponent, ABILITY_INTREPID_SWORD); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Zacian's Intrepid Sword raised its Attack!"); + MESSAGE("The opposing Zacian's Intrepid Sword raised its Attack!"); } THEN { EXPECT_EQ(opponent->statStages[STAT_ATK], DEFAULT_STAT_STAGE + 1); } @@ -34,11 +34,11 @@ SINGLE_BATTLE_TEST("Intrepid Sword raises Attack by one stage only once per batt } SCENE { ABILITY_POPUP(opponent, ABILITY_INTREPID_SWORD); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Zacian's Intrepid Sword raised its Attack!"); + MESSAGE("The opposing Zacian's Intrepid Sword raised its Attack!"); NONE_OF { ABILITY_POPUP(opponent, ABILITY_INTREPID_SWORD); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Zacian's Intrepid Sword raised its Attack!"); + MESSAGE("The opposing Zacian's Intrepid Sword raised its Attack!"); } } THEN { EXPECT_EQ(opponent->statStages[STAT_ATK], DEFAULT_STAT_STAGE); @@ -55,12 +55,12 @@ SINGLE_BATTLE_TEST("Intrepid Sword activates when it's no longer effected by Neu TURN { SWITCH(player, 1); } } SCENE { ABILITY_POPUP(player, ABILITY_NEUTRALIZING_GAS); - MESSAGE("Neutralizing Gas filled the area!"); + MESSAGE("Neutralizing gas filled the area!"); SWITCH_OUT_MESSAGE("Weezing"); - MESSAGE("The effects of Neutralizing Gas wore off!"); + MESSAGE("The effects of the neutralizing gas wore off!"); ABILITY_POPUP(opponent, ABILITY_INTREPID_SWORD); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Zacian's Intrepid Sword raised its Attack!"); + MESSAGE("The opposing Zacian's Intrepid Sword raised its Attack!"); } } @@ -77,7 +77,7 @@ SINGLE_BATTLE_TEST("Intrepid Sword and Dauntless Shield both can be Skill Swappe } SCENE { ABILITY_POPUP(opponent, ABILITY_INTREPID_SWORD); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Zacian's Intrepid Sword raised its Attack!"); + MESSAGE("The opposing Zacian's Intrepid Sword raised its Attack!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SKILL_SWAP, player); ABILITY_POPUP(player, ABILITY_INTREPID_SWORD); @@ -86,7 +86,7 @@ SINGLE_BATTLE_TEST("Intrepid Sword and Dauntless Shield both can be Skill Swappe ABILITY_POPUP(opponent, ABILITY_DAUNTLESS_SHIELD); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Zamazenta's Dauntless Shield raised its Defense!"); + MESSAGE("The opposing Zamazenta's Dauntless Shield raised its Defense!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SKILL_SWAP, player); ABILITY_POPUP(player, ABILITY_DAUNTLESS_SHIELD); diff --git a/test/battle/ability/keen_eye.c b/test/battle/ability/keen_eye.c index 29797ef7cdee..b047ec988f71 100644 --- a/test/battle/ability/keen_eye.c +++ b/test/battle/ability/keen_eye.c @@ -27,11 +27,11 @@ SINGLE_BATTLE_TEST("Keen Eye, Gen9+ Illuminate & Minds Eye prevent accuracy stag ABILITY_POPUP(opponent, ability); NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); if (species == SPECIES_HITMONCHAN) - MESSAGE("Foe Hitmonchan's Keen Eye prevents accuracy loss!"); + MESSAGE("The opposing Hitmonchan's Keen Eye prevents accuracy loss!"); else if (species == SPECIES_STARYU) - MESSAGE("Foe Staryu's Illuminate prevents accuracy loss!"); + MESSAGE("The opposing Staryu's Illuminate prevents accuracy loss!"); else - MESSAGE("Foe Ursaluna's Mind's Eye prevents accuracy loss!"); + MESSAGE("The opposing Ursaluna's Mind's Eye prevents accuracy loss!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); } } @@ -111,22 +111,22 @@ SINGLE_BATTLE_TEST("Keen Eye, Gen9+ Illuminate & Minds Eye don't prevent Topsy-T } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_HONE_CLAWS, opponent); if (species == SPECIES_HITMONCHAN) { - MESSAGE("Foe Hitmonchan's Attack rose!"); - MESSAGE("Foe Hitmonchan's accuracy rose!"); + MESSAGE("The opposing Hitmonchan's Attack rose!"); + MESSAGE("The opposing Hitmonchan's accuracy rose!"); } else if (species == SPECIES_STARYU) { - MESSAGE("Foe Staryu's Attack rose!"); - MESSAGE("Foe Staryu's accuracy rose!"); + MESSAGE("The opposing Staryu's Attack rose!"); + MESSAGE("The opposing Staryu's accuracy rose!"); } else { - MESSAGE("Foe Ursaluna's Attack rose!"); - MESSAGE("Foe Ursaluna's accuracy rose!"); + MESSAGE("The opposing Ursaluna's Attack rose!"); + MESSAGE("The opposing Ursaluna's accuracy rose!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_TOPSY_TURVY, player); if (species == SPECIES_HITMONCHAN) - MESSAGE("Foe Hitmonchan's stat changes were all reversed!"); + MESSAGE("All stat changes on the opposing Hitmonchan were inverted!"); else if (species == SPECIES_STARYU) - MESSAGE("Foe Staryu's stat changes were all reversed!"); + MESSAGE("All stat changes on the opposing Staryu were inverted!"); else - MESSAGE("Foe Ursaluna's stat changes were all reversed!"); + MESSAGE("All stat changes on the opposing Ursaluna were inverted!"); } THEN { EXPECT_EQ(opponent->statStages[STAT_ACC], DEFAULT_STAT_STAGE - 1); } @@ -183,13 +183,13 @@ SINGLE_BATTLE_TEST("Keen Eye & Gen9+ Illuminate don't prevent Spectral Thief fro ANIMATION(ANIM_TYPE_MOVE, MOVE_HONE_CLAWS, opponent); if (species == SPECIES_HITMONCHAN) { - MESSAGE("Foe Hitmonchan's Attack rose!"); - MESSAGE("Foe Hitmonchan's accuracy rose!"); + MESSAGE("The opposing Hitmonchan's Attack rose!"); + MESSAGE("The opposing Hitmonchan's accuracy rose!"); } else { - MESSAGE("Foe Staryu's Attack rose!"); - MESSAGE("Foe Staryu's accuracy rose!"); + MESSAGE("The opposing Staryu's Attack rose!"); + MESSAGE("The opposing Staryu's accuracy rose!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_SPECTRAL_THIEF, player); MESSAGE("Wobbuffet stole the target's boosted stats!"); diff --git a/test/battle/ability/leaf_guard.c b/test/battle/ability/leaf_guard.c index 2c55236defb8..af113f1bb640 100644 --- a/test/battle/ability/leaf_guard.c +++ b/test/battle/ability/leaf_guard.c @@ -46,7 +46,7 @@ SINGLE_BATTLE_TEST("Leaf Guard prevents status conditions from Flame Orb and Tox NONE_OF { MESSAGE("Leafeon was burned!"); STATUS_ICON(player, burn: TRUE); } } else { - NONE_OF { MESSAGE("Leafeon is badly poisoned!"); STATUS_ICON(player, poison: TRUE); } + NONE_OF { MESSAGE("Leafeon was badly poisoned!"); STATUS_ICON(player, poison: TRUE); } } } } diff --git a/test/battle/ability/lightning_rod.c b/test/battle/ability/lightning_rod.c index 33dd27a6fbf5..c719ee145d41 100644 --- a/test/battle/ability/lightning_rod.c +++ b/test/battle/ability/lightning_rod.c @@ -17,12 +17,12 @@ SINGLE_BATTLE_TEST("Lightning Rod absorbs Electric-type moves and increases the }; ABILITY_POPUP(opponent, ABILITY_LIGHTNING_ROD); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Raichu's Sp. Atk rose!"); + MESSAGE("The opposing Raichu's Sp. Atk rose!"); } else { NONE_OF { ABILITY_POPUP(opponent, ABILITY_LIGHTNING_ROD); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Raichu's Sp. Atk rose!"); + MESSAGE("The opposing Raichu's Sp. Atk rose!"); }; ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDERBOLT, player); HP_BAR(opponent); @@ -54,10 +54,10 @@ DOUBLE_BATTLE_TEST("Lightning Rod forces single-target Electric-type moves to ta }; ABILITY_POPUP(opponentLeft, ABILITY_LIGHTNING_ROD); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Foe Raichu's Sp. Atk rose!"); + MESSAGE("The opposing Raichu's Sp. Atk rose!"); ABILITY_POPUP(opponentLeft, ABILITY_LIGHTNING_ROD); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Foe Raichu's Sp. Atk rose!"); + MESSAGE("The opposing Raichu's Sp. Atk rose!"); } else { NONE_OF { HP_BAR(opponentRight); diff --git a/test/battle/ability/magic_bounce.c b/test/battle/ability/magic_bounce.c index 8d583b154dcb..a643b228248f 100644 --- a/test/battle/ability/magic_bounce.c +++ b/test/battle/ability/magic_bounce.c @@ -13,7 +13,7 @@ SINGLE_BATTLE_TEST("Magic Bounce bounces back status moves") } SCENE { ABILITY_POPUP(opponent, ABILITY_MAGIC_BOUNCE); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC, player); - MESSAGE("Wynaut's Toxic was bounced back by Foe Espeon's Magic Bounce!"); + MESSAGE("Wynaut's Toxic was bounced back by the opposing Espeon's Magic Bounce!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC, opponent); STATUS_ICON(player, badPoison: TRUE); } @@ -31,7 +31,7 @@ SINGLE_BATTLE_TEST("Magic Bounce bounces back powder moves") } SCENE { ABILITY_POPUP(opponent, ABILITY_MAGIC_BOUNCE); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC, player); - MESSAGE("Wynaut's Stun Spore was bounced back by Foe Espeon's Magic Bounce!"); + MESSAGE("Wynaut's Stun Spore was bounced back by the opposing Espeon's Magic Bounce!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, opponent); STATUS_ICON(player, paralysis: TRUE); } @@ -49,7 +49,7 @@ SINGLE_BATTLE_TEST("Magic Bounce cannot bounce back powder moves against Grass T } SCENE { ABILITY_POPUP(opponent, ABILITY_MAGIC_BOUNCE); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, player); - MESSAGE("Oddish's Stun Spore was bounced back by Foe Espeon's Magic Bounce!"); + MESSAGE("Oddish's Stun Spore was bounced back by the opposing Espeon's Magic Bounce!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, opponent); MESSAGE("It doesn't affect Oddish…"); NOT STATUS_ICON(player, paralysis: TRUE); @@ -70,7 +70,7 @@ DOUBLE_BATTLE_TEST("Magic Bounce bounces back moves hitting both foes at two foe } SCENE { ABILITY_POPUP(opponentLeft, ABILITY_MAGIC_BOUNCE); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_LEER, playerLeft); - MESSAGE("Abra's Leer was bounced back by Foe Espeon's Magic Bounce!"); + MESSAGE("Abra's Leer was bounced back by the opposing Espeon's Magic Bounce!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_LEER, opponentLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); MESSAGE("Abra's Defense fell!"); @@ -78,7 +78,7 @@ DOUBLE_BATTLE_TEST("Magic Bounce bounces back moves hitting both foes at two foe MESSAGE("Kadabra's Defense fell!"); // Also check if second original target gets hit by Leer as this was once bugged ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Foe Wynaut's Defense fell!"); + MESSAGE("The opposing Wynaut's Defense fell!"); } } @@ -106,10 +106,10 @@ DOUBLE_BATTLE_TEST("Magic Bounce bounces back moves hitting foes field") ABILITY_POPUP(opponentRight, ABILITY_MAGIC_BOUNCE); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_STEALTH_ROCK, playerLeft); if (abilityBattlerOne == ABILITY_MAGIC_BOUNCE) { - MESSAGE("Abra's Stealth Rock was bounced back by Foe Natu's Magic Bounce!"); + MESSAGE("Abra's Stealth Rock was bounced back by the opposing Natu's Magic Bounce!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STEALTH_ROCK, opponentLeft); } else { - MESSAGE("Abra's Stealth Rock was bounced back by Foe Espeon's Magic Bounce!"); + MESSAGE("Abra's Stealth Rock was bounced back by the opposing Espeon's Magic Bounce!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STEALTH_ROCK, opponentRight); } } @@ -126,7 +126,7 @@ SINGLE_BATTLE_TEST("Magic Bounce bounced back status moves can not be bounced ba } SCENE { ABILITY_POPUP(opponent, ABILITY_MAGIC_BOUNCE); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC, player); - MESSAGE("Espeon's Toxic was bounced back by Foe Espeon's Magic Bounce!"); + MESSAGE("Espeon's Toxic was bounced back by the opposing Espeon's Magic Bounce!"); NOT ABILITY_POPUP(player, ABILITY_MAGIC_BOUNCE); ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC, opponent); STATUS_ICON(player, badPoison: TRUE); diff --git a/test/battle/ability/magician.c b/test/battle/ability/magician.c index 5c67a35bacee..a951c2f97348 100644 --- a/test/battle/ability/magician.c +++ b/test/battle/ability/magician.c @@ -15,15 +15,15 @@ SINGLE_BATTLE_TEST("Magician does not get self-damage recoil after stealing Life // 1st turn MESSAGE("Delphox used Tackle!"); ABILITY_POPUP(player, ABILITY_MAGICIAN); - MESSAGE("Delphox stole Foe Wobbuffet's Life Orb!"); + MESSAGE("Delphox stole the opposing Wobbuffet's Life Orb!"); NONE_OF { HP_BAR(player); - MESSAGE("Delphox was hurt by its Life Orb!"); + MESSAGE("Delphox was hurt by the Life Orb!"); } // 2nd turn - Life Orb recoil happens now MESSAGE("Delphox used Tackle!"); HP_BAR(player); - MESSAGE("Delphox was hurt by its Life Orb!"); + MESSAGE("Delphox was hurt by the Life Orb!"); } } diff --git a/test/battle/ability/minds_eye.c b/test/battle/ability/minds_eye.c index 7799735ee2e8..bf50fa0e2eeb 100644 --- a/test/battle/ability/minds_eye.c +++ b/test/battle/ability/minds_eye.c @@ -36,7 +36,7 @@ SINGLE_BATTLE_TEST("Mind's Eye doesn't bypass a Ghost-type's Wonder Guard") HP_BAR(opponent); } ABILITY_POPUP(opponent, ABILITY_WONDER_GUARD); - MESSAGE("Foe Shedinja avoided damage with Wonder Guard!"); + MESSAGE("The opposing Shedinja avoided damage with Wonder Guard!"); } } diff --git a/test/battle/ability/mirror_armor.c b/test/battle/ability/mirror_armor.c index 327b493a35d4..288fe72334eb 100644 --- a/test/battle/ability/mirror_armor.c +++ b/test/battle/ability/mirror_armor.c @@ -23,22 +23,22 @@ SINGLE_BATTLE_TEST("Mirror Armor lowers a stat of the attacking pokemon") switch (statId) { case STAT_DEF: - MESSAGE("Foe Wynaut's Defense fell!"); + MESSAGE("The opposing Wynaut's Defense fell!"); break; case STAT_ATK: - MESSAGE("Foe Wynaut's Attack fell!"); + MESSAGE("The opposing Wynaut's Attack fell!"); break; case STAT_EVASION: - MESSAGE("Foe Wynaut's evasiveness harshly fell!"); + MESSAGE("The opposing Wynaut's evasiveness harshly fell!"); break; case STAT_ACC: - MESSAGE("Foe Wynaut's accuracy fell!"); + MESSAGE("The opposing Wynaut's accuracy fell!"); break; case STAT_SPATK: - MESSAGE("Foe Wynaut's Sp. Atk fell!"); + MESSAGE("The opposing Wynaut's Sp. Atk fell!"); break; case STAT_SPDEF: - MESSAGE("Foe Wynaut's Sp. Def harshly fell!"); + MESSAGE("The opposing Wynaut's Sp. Def harshly fell!"); break; } } THEN { @@ -55,11 +55,11 @@ SINGLE_BATTLE_TEST("Mirror Armor triggers even if the attacking Pokemon also has } WHEN { TURN { MOVE(opponent, MOVE_LEER); } } SCENE { - MESSAGE("Foe Corviknight used Leer!"); + MESSAGE("The opposing Corviknight used Leer!"); ABILITY_POPUP(player, ABILITY_MIRROR_ARMOR); NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Corviknight's Defense fell!"); + MESSAGE("The opposing Corviknight's Defense fell!"); } THEN { EXPECT_EQ(player->statStages[STAT_DEF], DEFAULT_STAT_STAGE); EXPECT_EQ(opponent->statStages[STAT_DEF], DEFAULT_STAT_STAGE - 1); @@ -74,10 +74,10 @@ SINGLE_BATTLE_TEST("Mirror Armor doesn't lower the stats of an attacking Pokemon } WHEN { TURN { MOVE(opponent, MOVE_LEER); } } SCENE { - MESSAGE("Foe Wynaut used Leer!"); + MESSAGE("The opposing Wynaut used Leer!"); ABILITY_POPUP(player, ABILITY_MIRROR_ARMOR); ABILITY_POPUP(opponent, ABILITY_CLEAR_BODY); - MESSAGE("Foe Wynaut's Clear Body prevents stat loss!"); + MESSAGE("The opposing Wynaut's Clear Body prevents stat loss!"); } THEN { EXPECT_EQ(player->statStages[STAT_DEF], DEFAULT_STAT_STAGE); EXPECT_EQ(opponent->statStages[STAT_DEF], DEFAULT_STAT_STAGE); @@ -95,7 +95,7 @@ SINGLE_BATTLE_TEST("Mirror Armor lowers the Attack of Pokemon with Intimidate") ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); ABILITY_POPUP(player, ABILITY_MIRROR_ARMOR); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Gyarados's Attack fell!"); + MESSAGE("The opposing Gyarados's Attack fell!"); } THEN { EXPECT_EQ(player->statStages[STAT_ATK], DEFAULT_STAT_STAGE); EXPECT_EQ(opponent->statStages[STAT_ATK], DEFAULT_STAT_STAGE - 1); @@ -113,9 +113,9 @@ SINGLE_BATTLE_TEST("Mirror Armor doesn't lower the stats of an attacking Pokemon TURN { MOVE(opponent, MOVE_SUBSTITUTE); } TURN { MOVE(opponent, MOVE_LEER); } } SCENE { - MESSAGE("Foe Wynaut used Substitute!"); + MESSAGE("The opposing Wynaut used Substitute!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SUBSTITUTE, opponent); - MESSAGE("Foe Wynaut used Leer!"); + MESSAGE("The opposing Wynaut used Leer!"); ABILITY_POPUP(player, ABILITY_MIRROR_ARMOR); NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); } THEN { @@ -132,10 +132,10 @@ SINGLE_BATTLE_TEST("Mirror Armor raises the stat of an attacking Pokemon with Co } WHEN { TURN { MOVE(opponent, MOVE_LEER); } } SCENE { - MESSAGE("Foe Shuckle used Leer!"); + MESSAGE("The opposing Shuckle used Leer!"); ABILITY_POPUP(player, ABILITY_MIRROR_ARMOR); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Shuckle's Defense rose!"); + MESSAGE("The opposing Shuckle's Defense rose!"); } THEN { EXPECT_EQ(player->statStages[STAT_DEF], DEFAULT_STAT_STAGE); EXPECT_EQ(opponent->statStages[STAT_DEF], DEFAULT_STAT_STAGE + 1); @@ -156,10 +156,10 @@ SINGLE_BATTLE_TEST("Mirror Armor doesn't lower the stat of the attacking Pokemon MESSAGE("Corviknight used Screech!"); MESSAGE("Corviknight used Screech!"); MESSAGE("Corviknight used Screech!"); - MESSAGE("Foe Wynaut used Leer!"); + MESSAGE("The opposing Wynaut used Leer!"); ABILITY_POPUP(player, ABILITY_MIRROR_ARMOR); NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wynaut's Defense won't go lower!"); + MESSAGE("The opposing Wynaut's Defense won't go any lower!"); } THEN { EXPECT_EQ(player->statStages[STAT_DEF], DEFAULT_STAT_STAGE); EXPECT_EQ(opponent->statStages[STAT_DEF], MIN_STAT_STAGE); @@ -186,10 +186,10 @@ DOUBLE_BATTLE_TEST("Mirror Armor lowers Speed of the partner Pokemon after Court TURN { } } SCENE { MESSAGE("Wobbuffet used Sticky Web!"); - MESSAGE("Foe Wynaut used Court Change!"); - MESSAGE("Foe Wynaut swapped the battle effects affecting each side!"); + MESSAGE("The opposing Wynaut used Court Change!"); + MESSAGE("The opposing Wynaut swapped the battle effects affecting each side of the field!"); SEND_IN_MESSAGE("Corviknight"); - MESSAGE("Corviknight was caught in a Sticky Web!"); + MESSAGE("Corviknight was caught in a sticky web!"); ABILITY_POPUP(playerRight, ABILITY_MIRROR_ARMOR); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); MESSAGE("Wobbuffet's Speed fell!"); diff --git a/test/battle/ability/moxie.c b/test/battle/ability/moxie.c index 79b1fc989fa6..56577736db3f 100644 --- a/test/battle/ability/moxie.c +++ b/test/battle/ability/moxie.c @@ -6,7 +6,7 @@ DOUBLE_BATTLE_TEST("Moxie/Chilling Neigh raises Attack by one stage after direct u32 species = 0, ability = 0, abilityPopUp = 0; PARAMETRIZE { species = SPECIES_SALAMENCE; ability = ABILITY_MOXIE; abilityPopUp = ABILITY_MOXIE; } PARAMETRIZE { species = SPECIES_GLASTRIER; ability = ABILITY_CHILLING_NEIGH; abilityPopUp = ABILITY_CHILLING_NEIGH; } - PARAMETRIZE { species = SPECIES_CALYREX_ICE_RIDER; ability = ABILITY_AS_ONE_ICE_RIDER; abilityPopUp = ABILITY_CHILLING_NEIGH; } + PARAMETRIZE { species = SPECIES_CALYREX_ICE; ability = ABILITY_AS_ONE_ICE_RIDER; abilityPopUp = ABILITY_CHILLING_NEIGH; } GIVEN { ASSUME(gMovesInfo[MOVE_EARTHQUAKE].target == MOVE_TARGET_FOES_AND_ALLY); PLAYER(species) { Ability(ability); } @@ -23,8 +23,8 @@ DOUBLE_BATTLE_TEST("Moxie/Chilling Neigh raises Attack by one stage after direct for (i = 0; i < 3; i++) { ONE_OF { MESSAGE("Snorunt fainted!"); - MESSAGE("Foe Glalie fainted!"); - MESSAGE("Foe Abra fainted!"); + MESSAGE("The opposing Glalie fainted!"); + MESSAGE("The opposing Abra fainted!"); } ABILITY_POPUP(playerLeft, abilityPopUp); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); @@ -45,7 +45,7 @@ DOUBLE_BATTLE_TEST("Moxie/Chilling Neigh does not trigger if Pokemon faint to in u32 species = 0, ability = 0, abilityPopUp = 0; PARAMETRIZE { species = SPECIES_SALAMENCE; ability = ABILITY_MOXIE; abilityPopUp = ABILITY_MOXIE; } PARAMETRIZE { species = SPECIES_GLASTRIER; ability = ABILITY_CHILLING_NEIGH; abilityPopUp = ABILITY_CHILLING_NEIGH; } - PARAMETRIZE { species = SPECIES_CALYREX_ICE_RIDER; ability = ABILITY_AS_ONE_ICE_RIDER; abilityPopUp = ABILITY_CHILLING_NEIGH; } + PARAMETRIZE { species = SPECIES_CALYREX_ICE; ability = ABILITY_AS_ONE_ICE_RIDER; abilityPopUp = ABILITY_CHILLING_NEIGH; } GIVEN { PLAYER(species) { Ability(ability); } PLAYER(SPECIES_SNORUNT) { HP(1); Status1(STATUS1_POISON); } @@ -61,8 +61,8 @@ DOUBLE_BATTLE_TEST("Moxie/Chilling Neigh does not trigger if Pokemon faint to in for (i = 0; i < 3; i++) { ONE_OF { MESSAGE("Snorunt fainted!"); - MESSAGE("Foe Glalie fainted!"); - MESSAGE("Foe Abra fainted!"); + MESSAGE("The opposing Glalie fainted!"); + MESSAGE("The opposing Abra fainted!"); } NONE_OF { ABILITY_POPUP(playerLeft, abilityPopUp); @@ -82,7 +82,7 @@ SINGLE_BATTLE_TEST("Moxie/Chilling Neigh does not trigger when already at maximu u32 species = 0, ability = 0, abilityPopUp = 0; PARAMETRIZE { species = SPECIES_SALAMENCE; ability = ABILITY_MOXIE; abilityPopUp = ABILITY_MOXIE; } PARAMETRIZE { species = SPECIES_GLASTRIER; ability = ABILITY_CHILLING_NEIGH; abilityPopUp = ABILITY_CHILLING_NEIGH; } - PARAMETRIZE { species = SPECIES_CALYREX_ICE_RIDER; ability = ABILITY_AS_ONE_ICE_RIDER; abilityPopUp = ABILITY_CHILLING_NEIGH; } + PARAMETRIZE { species = SPECIES_CALYREX_ICE; ability = ABILITY_AS_ONE_ICE_RIDER; abilityPopUp = ABILITY_CHILLING_NEIGH; } GIVEN { ASSUME(gMovesInfo[MOVE_BELLY_DRUM].effect == EFFECT_BELLY_DRUM); PLAYER(species) { Ability(ability); } @@ -95,13 +95,13 @@ SINGLE_BATTLE_TEST("Moxie/Chilling Neigh does not trigger when already at maximu ANIMATION(ANIM_TYPE_MOVE, MOVE_BELLY_DRUM, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); if (species == SPECIES_SALAMENCE) - MESSAGE("Salamence cut its own HP and maximized ATTACK!"); + MESSAGE("Salamence cut its own HP and maximized its Attack!"); else if (species == SPECIES_GLASTRIER) - MESSAGE("Glastrier cut its own HP and maximized ATTACK!"); + MESSAGE("Glastrier cut its own HP and maximized its Attack!"); else - MESSAGE("Calyrex cut its own HP and maximized ATTACK!"); + MESSAGE("Calyrex cut its own HP and maximized its Attack!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_QUICK_ATTACK, player); - MESSAGE("Foe Snorunt fainted!"); + MESSAGE("The opposing Snorunt fainted!"); NONE_OF { ABILITY_POPUP(player, abilityPopUp); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); @@ -120,7 +120,7 @@ DOUBLE_BATTLE_TEST("Moxie/Chilling Neigh does not increase damage done by the sa u32 species = 0, ability = 0, abilityPopUp = 0; PARAMETRIZE { species = SPECIES_SALAMENCE; ability = ABILITY_MOXIE; abilityPopUp = ABILITY_MOXIE; } PARAMETRIZE { species = SPECIES_GLASTRIER; ability = ABILITY_CHILLING_NEIGH; abilityPopUp = ABILITY_CHILLING_NEIGH; } - PARAMETRIZE { species = SPECIES_CALYREX_ICE_RIDER; ability = ABILITY_AS_ONE_ICE_RIDER; abilityPopUp = ABILITY_CHILLING_NEIGH; } + PARAMETRIZE { species = SPECIES_CALYREX_ICE; ability = ABILITY_AS_ONE_ICE_RIDER; abilityPopUp = ABILITY_CHILLING_NEIGH; } KNOWN_FAILING; // Requires simultaneous damage implementation GIVEN { diff --git a/test/battle/ability/opportunist.c b/test/battle/ability/opportunist.c index b627b8ec6ea7..662d442dbc8c 100644 --- a/test/battle/ability/opportunist.c +++ b/test/battle/ability/opportunist.c @@ -61,18 +61,18 @@ DOUBLE_BATTLE_TEST("Opportunist raises Attack only once when partner has Intimid if (abilityLeft == ABILITY_CONTRARY) { ABILITY_POPUP(opponentLeft, ABILITY_CONTRARY); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Foe Spinda's Attack rose!"); + MESSAGE("The opposing Spinda's Attack rose!"); } else { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Mightyena's Intimidate cuts Foe Spinda's attack!"); + MESSAGE("Mightyena's Intimidate cuts the opposing Spinda's Attack!"); } if (abilityRight == ABILITY_CONTRARY) { ABILITY_POPUP(opponentRight, ABILITY_CONTRARY); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Foe Spinda's Attack rose!"); + MESSAGE("The opposing Spinda's Attack rose!"); } else { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Mightyena's Intimidate cuts Foe Spinda's attack!"); + MESSAGE("Mightyena's Intimidate cuts the opposing Spinda's Attack!"); } if ((abilityLeft == ABILITY_CONTRARY && abilityRight != ABILITY_CONTRARY) diff --git a/test/battle/ability/overcoat.c b/test/battle/ability/overcoat.c index 26eb90d66b1b..b73f098e783c 100644 --- a/test/battle/ability/overcoat.c +++ b/test/battle/ability/overcoat.c @@ -12,7 +12,7 @@ SINGLE_BATTLE_TEST("Overcoat blocks powder and spore moves") } SCENE { ABILITY_POPUP(opponent, ABILITY_OVERCOAT); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, player); - MESSAGE("It doesn't affect Foe Pineco…"); + MESSAGE("It doesn't affect the opposing Pineco…"); } } diff --git a/test/battle/ability/own_tempo.c b/test/battle/ability/own_tempo.c index a37bc0024a83..4b3c42053b77 100644 --- a/test/battle/ability/own_tempo.c +++ b/test/battle/ability/own_tempo.c @@ -13,11 +13,11 @@ SINGLE_BATTLE_TEST("Own Tempo prevents Intimidate but no other stat down changes } SCENE { ABILITY_POPUP(player, ABILITY_INTIMIDATE); ABILITY_POPUP(opponent, ABILITY_OWN_TEMPO); - MESSAGE("Foe Slowpoke's Own Tempo prevents stat loss!"); + MESSAGE("The opposing Slowpoke's Own Tempo prevents stat loss!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SCARY_FACE, player); NONE_OF { ABILITY_POPUP(opponent, ABILITY_OWN_TEMPO); - MESSAGE("Foe Slowpoke's Own Tempo prevents stat loss!"); + MESSAGE("The opposing Slowpoke's Own Tempo prevents stat loss!"); } } } @@ -32,7 +32,7 @@ SINGLE_BATTLE_TEST("Own Tempo prevents confusion from moves by the opponent") TURN { MOVE(player, MOVE_CONFUSE_RAY); } } SCENE { ABILITY_POPUP(opponent, ABILITY_OWN_TEMPO); - MESSAGE("Foe Slowpoke's Own Tempo prevents confusion!"); + MESSAGE("The opposing Slowpoke's Own Tempo prevents confusion!"); } } @@ -52,7 +52,7 @@ SINGLE_BATTLE_TEST("Own Tempo prevents confusion from moves by the user") ANIMATION(ANIM_TYPE_MOVE, MOVE_PETAL_DANCE, opponent); ANIMATION(ANIM_TYPE_MOVE, MOVE_PETAL_DANCE, opponent); ANIMATION(ANIM_TYPE_MOVE, MOVE_PETAL_DANCE, opponent); - NONE_OF { MESSAGE("Foe Slowpoke became confused due to fatigue!"); } + NONE_OF { MESSAGE("The opposing Slowpoke became confused due to fatigue!"); } } } @@ -68,7 +68,7 @@ SINGLE_BATTLE_TEST("Own Tempo is ignored by Mold Breaker") } SCENE { NONE_OF { ABILITY_POPUP(opponent, ABILITY_OWN_TEMPO); - MESSAGE("Foe Slowpoke's Own Tempo prevents confusion!"); + MESSAGE("The opposing Slowpoke's Own Tempo prevents confusion!"); } } } @@ -84,12 +84,12 @@ SINGLE_BATTLE_TEST("Own Tempo cures confusion obtained from an opponent with Mol TURN { MOVE(player, MOVE_CONFUSE_RAY); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_CONFUSE_RAY, player); - MESSAGE("Foe Slowpoke became confused!"); + MESSAGE("The opposing Slowpoke became confused!"); NONE_OF { ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponent); } ABILITY_POPUP(opponent, ABILITY_OWN_TEMPO); - MESSAGE("Foe Slowpoke's Own Tempo cured its confusion problem!"); + MESSAGE("The opposing Slowpoke's Own Tempo cured its confusion problem!"); } } @@ -107,10 +107,10 @@ SINGLE_BATTLE_TEST("Own Tempo cures confusion if it's obtained via Skill Swap") } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_CONFUSE_RAY, player); - MESSAGE("Foe Wobbuffet became confused!"); + MESSAGE("The opposing Wobbuffet became confused!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SKILL_SWAP, player); ABILITY_POPUP(opponent, ABILITY_OWN_TEMPO); - MESSAGE("Foe Wobbuffet's Own Tempo cured its confusion problem!"); + MESSAGE("The opposing Wobbuffet's Own Tempo cured its confusion problem!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); } } diff --git a/test/battle/ability/parental_bond.c b/test/battle/ability/parental_bond.c index fa236e419163..a1614a8ffc32 100644 --- a/test/battle/ability/parental_bond.c +++ b/test/battle/ability/parental_bond.c @@ -94,7 +94,7 @@ DOUBLE_BATTLE_TEST("Parental Bond does not convert multi-target moves into a two ANIMATION(ANIM_TYPE_MOVE, MOVE_EARTHQUAKE, playerLeft); HP_BAR(opponentLeft); MESSAGE("It doesn't affect Pidgey…"); - MESSAGE("It doesn't affect Foe Pidgey…"); + MESSAGE("It doesn't affect the opposing Pidgey…"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, playerRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponentLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponentRight); @@ -149,7 +149,7 @@ SINGLE_BATTLE_TEST("Parental Bond has no affect on multi hit moves and they stil MESSAGE("Kangaskhan has Mega Evolved into Mega Kangaskhan!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); } THEN { @@ -176,7 +176,7 @@ SINGLE_BATTLE_TEST("Parental Bond has no affect on multi hit moves and they stil ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); - MESSAGE("Hit 3 time(s)!"); + MESSAGE("The Pokémon was hit 3 time(s)!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); } THEN { @@ -204,7 +204,7 @@ SINGLE_BATTLE_TEST("Parental Bond has no affect on multi hit moves and they stil ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); - MESSAGE("Hit 4 time(s)!"); + MESSAGE("The Pokémon was hit 4 time(s)!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); } THEN { @@ -231,7 +231,7 @@ SINGLE_BATTLE_TEST("Parental Bond has no affect on multi hit moves and they stil ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); - MESSAGE("Hit 5 time(s)!"); + MESSAGE("The Pokémon was hit 5 time(s)!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); } THEN { @@ -255,9 +255,9 @@ SINGLE_BATTLE_TEST("Parental Bond Smack Down effect triggers after 2nd hit") MESSAGE("Kangaskhan has Mega Evolved into Mega Kangaskhan!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SMACK_DOWN, player); HP_BAR(opponent); - NOT MESSAGE("Foe Skarmory fell straight down!"); + NOT MESSAGE("The opposing Skarmory fell straight down!"); HP_BAR(opponent); - MESSAGE("Foe Skarmory fell straight down!"); + MESSAGE("The opposing Skarmory fell straight down!"); } THEN { EXPECT_EQ(player->species, SPECIES_KANGASKHAN_MEGA); } @@ -277,7 +277,7 @@ SINGLE_BATTLE_TEST("Parental Bond Snore strikes twice while asleep") ANIMATION(ANIM_TYPE_MOVE, MOVE_SNORE, player); HP_BAR(opponent, captureDamage: &damage[0]); HP_BAR(opponent, captureDamage: &damage[1]); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } THEN { if (B_PARENTAL_BOND_DMG == GEN_6) EXPECT_MUL_EQ(damage[0], Q_4_12(0.5), damage[1]); @@ -299,7 +299,7 @@ SINGLE_BATTLE_TEST("Parental Bond only triggers Dragon Tail's target switch out ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_TAIL, player); HP_BAR(opponent); HP_BAR(opponent); - MESSAGE("Foe Wynaut was dragged out!"); + MESSAGE("The opposing Wynaut was dragged out!"); } THEN { EXPECT_EQ(player->species, SPECIES_KANGASKHAN_MEGA); diff --git a/test/battle/ability/pastel_veil.c b/test/battle/ability/pastel_veil.c index ebf9d74645f0..a6b6168547eb 100644 --- a/test/battle/ability/pastel_veil.c +++ b/test/battle/ability/pastel_veil.c @@ -6,7 +6,7 @@ SINGLE_BATTLE_TEST("Pastel Veil prevents Poison Sting poison") GIVEN { ASSUME(MoveHasAdditionalEffect(MOVE_POISON_STING, MOVE_EFFECT_POISON) == TRUE); PLAYER(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); } + OPPONENT(SPECIES_PONYTA_GALAR) { Ability(ABILITY_PASTEL_VEIL); } } WHEN { TURN { MOVE(player, MOVE_POISON_STING); } } SCENE { @@ -21,7 +21,7 @@ DOUBLE_BATTLE_TEST("Pastel Veil prevents Poison Sting poison on partner") ASSUME(MoveHasAdditionalEffect(MOVE_POISON_STING, MOVE_EFFECT_POISON) == TRUE); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WYNAUT); - OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); } + OPPONENT(SPECIES_PONYTA_GALAR) { Ability(ABILITY_PASTEL_VEIL); } OPPONENT(SPECIES_WYNAUT); } WHEN { TURN { MOVE(playerLeft, MOVE_POISON_STING, target: opponentRight); } @@ -37,14 +37,14 @@ SINGLE_BATTLE_TEST("Pastel Veil immediately cures Mold Breaker poison") GIVEN { ASSUME(gMovesInfo[MOVE_TOXIC].effect == EFFECT_TOXIC); PLAYER(SPECIES_PINSIR) { Ability(ABILITY_MOLD_BREAKER); } - OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); } + OPPONENT(SPECIES_PONYTA_GALAR) { Ability(ABILITY_PASTEL_VEIL); } } WHEN { TURN { MOVE(player, MOVE_TOXIC); MOVE(opponent, MOVE_TACKLE); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC, player); STATUS_ICON(opponent, badPoison: TRUE); ABILITY_POPUP(opponent, ABILITY_PASTEL_VEIL); - MESSAGE("Foe Ponyta's Pastel Veil cured its poison problem!"); + MESSAGE("The opposing Ponyta's Pastel Veil cured its poison problem!"); STATUS_ICON(opponent, none: TRUE); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); } @@ -56,7 +56,7 @@ DOUBLE_BATTLE_TEST("Pastel Veil does not cure Mold Breaker poison on partner") ASSUME(gMovesInfo[MOVE_TOXIC].effect == EFFECT_TOXIC); PLAYER(SPECIES_PINSIR) { Ability(ABILITY_MOLD_BREAKER); } PLAYER(SPECIES_WYNAUT); - OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); } + OPPONENT(SPECIES_PONYTA_GALAR) { Ability(ABILITY_PASTEL_VEIL); } OPPONENT(SPECIES_WYNAUT); } WHEN { TURN { MOVE(playerLeft, MOVE_TOXIC, target: opponentRight); } @@ -72,13 +72,13 @@ SINGLE_BATTLE_TEST("Pastel Veil prevents Toxic bad poison") GIVEN { ASSUME(gMovesInfo[MOVE_TOXIC].effect == EFFECT_TOXIC); PLAYER(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); } + OPPONENT(SPECIES_PONYTA_GALAR) { Ability(ABILITY_PASTEL_VEIL); } } WHEN { TURN { MOVE(player, MOVE_TOXIC); } } SCENE { MESSAGE("Wobbuffet used Toxic!"); ABILITY_POPUP(opponent, ABILITY_PASTEL_VEIL); - MESSAGE("Foe Ponyta is protected by a pastel veil!"); + MESSAGE("The opposing Ponyta is protected by a pastel veil!"); NOT STATUS_ICON(opponent, badPoison: TRUE); } } @@ -89,14 +89,14 @@ DOUBLE_BATTLE_TEST("Pastel Veil prevents Toxic bad poison on partner") ASSUME(gMovesInfo[MOVE_TOXIC].effect == EFFECT_TOXIC); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WYNAUT); - OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); } + OPPONENT(SPECIES_PONYTA_GALAR) { Ability(ABILITY_PASTEL_VEIL); } OPPONENT(SPECIES_WYNAUT); } WHEN { TURN { MOVE(playerLeft, MOVE_TOXIC, target: opponentRight); } } SCENE { MESSAGE("Wobbuffet used Toxic!"); ABILITY_POPUP(opponentLeft, ABILITY_PASTEL_VEIL); - MESSAGE("Foe Wynaut is protected by a pastel veil!"); + MESSAGE("The opposing Wynaut is protected by a pastel veil!"); NOT STATUS_ICON(opponentRight, badPoison: TRUE); } } @@ -107,7 +107,7 @@ SINGLE_BATTLE_TEST("Pastel Veil prevents Toxic Spikes poison") ASSUME(gMovesInfo[MOVE_TOXIC_SPIKES].effect == EFFECT_TOXIC_SPIKES); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); } + OPPONENT(SPECIES_PONYTA_GALAR) { Ability(ABILITY_PASTEL_VEIL); } } WHEN { TURN { MOVE(player, MOVE_TOXIC_SPIKES); } TURN { SWITCH(opponent, 1); } @@ -123,7 +123,7 @@ DOUBLE_BATTLE_TEST("Pastel Veil prevents Toxic Spikes poison on partner") ASSUME(gMovesInfo[MOVE_TOXIC_SPIKES].effect == EFFECT_TOXIC_SPIKES); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WYNAUT); - OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); } + OPPONENT(SPECIES_PONYTA_GALAR) { Ability(ABILITY_PASTEL_VEIL); } OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WYNAUT); } WHEN { @@ -141,13 +141,13 @@ DOUBLE_BATTLE_TEST("Pastel Veil cures partner's poison on initial switch in") PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WYNAUT); OPPONENT(SPECIES_WOBBUFFET) { Status1(STATUS1_POISON); } - OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); } + OPPONENT(SPECIES_PONYTA_GALAR) { Ability(ABILITY_PASTEL_VEIL); } } WHEN { TURN {} } SCENE { MESSAGE("2 sent out Wobbuffet and Ponyta!"); ABILITY_POPUP(opponentRight, ABILITY_PASTEL_VEIL); - MESSAGE("Foe Wobbuffet was cured of its poisoning!"); + MESSAGE("The opposing Wobbuffet was cured of its poisoning!"); STATUS_ICON(opponentLeft, none: TRUE); } } @@ -159,13 +159,13 @@ DOUBLE_BATTLE_TEST("Pastel Veil cures partner's poison on switch in") PLAYER(SPECIES_WYNAUT); OPPONENT(SPECIES_WOBBUFFET) { Status1(STATUS1_POISON); } OPPONENT(SPECIES_WYNAUT); - OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); } + OPPONENT(SPECIES_PONYTA_GALAR) { Ability(ABILITY_PASTEL_VEIL); } } WHEN { TURN { SWITCH(opponentRight, 2); } } SCENE { MESSAGE("2 sent out Ponyta!"); ABILITY_POPUP(opponentRight, ABILITY_PASTEL_VEIL); - MESSAGE("Foe Wobbuffet was cured of its poisoning!"); + MESSAGE("The opposing Wobbuffet was cured of its poisoning!"); STATUS_ICON(opponentLeft, none: TRUE); } } diff --git a/test/battle/ability/poison_point.c b/test/battle/ability/poison_point.c index 26c9c7296834..9f9cd5e900cd 100644 --- a/test/battle/ability/poison_point.c +++ b/test/battle/ability/poison_point.c @@ -18,13 +18,13 @@ SINGLE_BATTLE_TEST("Poison Point inflicts poison on contact") if (gMovesInfo[move].makesContact) { ABILITY_POPUP(opponent, ABILITY_POISON_POINT); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, player); - MESSAGE("Wobbuffet was poisoned by Foe Nidoran♂'s Poison Point!"); + MESSAGE("Wobbuffet was poisoned by the opposing Nidoran♂'s Poison Point!"); STATUS_ICON(player, poison: TRUE); } else { NONE_OF { ABILITY_POPUP(opponent, ABILITY_POISON_POINT); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, player); - MESSAGE("Wobbuffet was poisoned by Foe Nidoran♂'s Poison Point!"); + MESSAGE("Wobbuffet was poisoned by the opposing Nidoran♂'s Poison Point!"); STATUS_ICON(player, poison: TRUE); } } @@ -45,7 +45,7 @@ SINGLE_BATTLE_TEST("Poison Point triggers 30% of the time") } SCENE { ABILITY_POPUP(opponent, ABILITY_POISON_POINT); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, player); - MESSAGE("Wobbuffet was poisoned by Foe Nidoran♂'s Poison Point!"); + MESSAGE("Wobbuffet was poisoned by the opposing Nidoran♂'s Poison Point!"); STATUS_ICON(player, poison: TRUE); } } diff --git a/test/battle/ability/poison_puppeteer.c b/test/battle/ability/poison_puppeteer.c index af5d5389fa65..b8124b975bef 100644 --- a/test/battle/ability/poison_puppeteer.c +++ b/test/battle/ability/poison_puppeteer.c @@ -20,7 +20,7 @@ SINGLE_BATTLE_TEST("Poison Puppeteer confuses target if it was poisoned by a dam STATUS_ICON(opponent, poison: TRUE); ABILITY_POPUP(player, ABILITY_POISON_PUPPETEER); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponent); - MESSAGE("Foe Wobbuffet became confused!"); + MESSAGE("The opposing Wobbuffet became confused!"); } } @@ -46,7 +46,7 @@ SINGLE_BATTLE_TEST("Poison Puppeteer confuses target if it was (badly) poisoned STATUS_ICON(opponent, badPoison: TRUE); ABILITY_POPUP(player, ABILITY_POISON_PUPPETEER); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponent); - MESSAGE("Foe Wobbuffet became confused!"); + MESSAGE("The opposing Wobbuffet became confused!"); } } @@ -67,7 +67,7 @@ SINGLE_BATTLE_TEST("Poison Puppeteer does not trigger if poison is Toxic Spikes NONE_OF { ABILITY_POPUP(player, ABILITY_POISON_PUPPETEER); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponent); - MESSAGE("Foe Wobbuffet became confused!"); + MESSAGE("The opposing Wobbuffet became confused!"); } } } diff --git a/test/battle/ability/poison_touch.c b/test/battle/ability/poison_touch.c index b69fa2044430..8fb4d243fb71 100644 --- a/test/battle/ability/poison_touch.c +++ b/test/battle/ability/poison_touch.c @@ -15,7 +15,7 @@ SINGLE_BATTLE_TEST("Poison Touch has a 30% chance to poison when attacking with ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); ABILITY_POPUP(player, ABILITY_POISON_TOUCH); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponent); - MESSAGE("Foe Wobbuffet was poisoned by Grimer's Poison Touch!"); + MESSAGE("The opposing Wobbuffet was poisoned by Grimer's Poison Touch!"); STATUS_ICON(opponent, poison: TRUE); } } @@ -38,13 +38,13 @@ SINGLE_BATTLE_TEST("Poison Touch only applies when using contact moves") if (gMovesInfo[move].makesContact) { ABILITY_POPUP(player, ABILITY_POISON_TOUCH); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponent); - MESSAGE("Foe Wobbuffet was poisoned by Grimer's Poison Touch!"); + MESSAGE("The opposing Wobbuffet was poisoned by Grimer's Poison Touch!"); STATUS_ICON(opponent, poison: TRUE); } else { NONE_OF { ABILITY_POPUP(player, ABILITY_POISON_TOUCH); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponent); - MESSAGE("Foe Wobbuffet was poisoned by Grimer's Poison Touch!"); + MESSAGE("The opposing Wobbuffet was poisoned by Grimer's Poison Touch!"); STATUS_ICON(opponent, poison: TRUE); } } @@ -65,13 +65,13 @@ SINGLE_BATTLE_TEST("Poison Touch applies between multi-hit move hits") ANIMATION(ANIM_TYPE_MOVE, MOVE_ARM_THRUST, player); ABILITY_POPUP(player, ABILITY_POISON_TOUCH); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponent); - MESSAGE("Foe Wobbuffet was poisoned by Grimer's Poison Touch!"); + MESSAGE("The opposing Wobbuffet was poisoned by Grimer's Poison Touch!"); STATUS_ICON(opponent, poison: TRUE); - MESSAGE("Foe Wobbuffet's Pecha Berry cured poison!"); + MESSAGE("The opposing Wobbuffet's Pecha Berry cured its poison!"); STATUS_ICON(opponent, poison: FALSE); ABILITY_POPUP(player, ABILITY_POISON_TOUCH); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponent); - MESSAGE("Foe Wobbuffet was poisoned by Grimer's Poison Touch!"); + MESSAGE("The opposing Wobbuffet was poisoned by Grimer's Poison Touch!"); STATUS_ICON(opponent, poison: TRUE); } } diff --git a/test/battle/ability/prankster.c b/test/battle/ability/prankster.c index d5fae3edb746..c56950672930 100644 --- a/test/battle/ability/prankster.c +++ b/test/battle/ability/prankster.c @@ -77,11 +77,11 @@ DOUBLE_BATTLE_TEST("Prankster-affected moves called via Instruct do not affect D } } SCENE { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_CONFUSE_RAY, playerLeft); - MESSAGE("It doesn't affect Foe Umbreon…"); + MESSAGE("It doesn't affect the opposing Umbreon…"); MESSAGE("Wobbuffet used Instruct!"); MESSAGE("Volbeat used Confuse Ray!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_CONFUSE_RAY, playerLeft); - MESSAGE("It doesn't affect Foe Umbreon…"); + MESSAGE("It doesn't affect the opposing Umbreon…"); } } @@ -114,7 +114,7 @@ DOUBLE_BATTLE_TEST("Moves called via Prankster-affected After you affect Dark-ty ANIMATION(ANIM_TYPE_MOVE, MOVE_AFTER_YOU, playerLeft); MESSAGE("Wobbuffet used Confuse Ray!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CONFUSE_RAY, playerRight); - MESSAGE("Foe Umbreon became confused!"); + MESSAGE("The opposing Umbreon became confused!"); } } @@ -156,10 +156,10 @@ SINGLE_BATTLE_TEST("Prankster-affected moves can still be bounced back by Dark-t TURN { MOVE(player, MOVE_MAGIC_COAT); MOVE(opponent, MOVE_CONFUSE_RAY); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_MAGIC_COAT, player); - MESSAGE("Foe Volbeat used Confuse Ray!"); - MESSAGE("Foe Volbeat's Confuse Ray was bounced back by MAGIC COAT!"); + MESSAGE("The opposing Volbeat used Confuse Ray!"); + MESSAGE("Umbreon bounced the Confuse Ray back!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CONFUSE_RAY, player); - MESSAGE("Foe Volbeat became confused!"); + MESSAGE("The opposing Volbeat became confused!"); } } @@ -178,14 +178,14 @@ SINGLE_BATTLE_TEST("Prankster-affected moves which are reflected by Magic Coat c } SCENE { MESSAGE("Sableye used Magic Coat!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_MAGIC_COAT, player); - MESSAGE("Foe Murkrow used Confuse Ray!"); - MESSAGE("Foe Murkrow's Confuse Ray was bounced back by MAGIC COAT!"); + MESSAGE("The opposing Murkrow used Confuse Ray!"); + MESSAGE("Sableye bounced the Confuse Ray back!"); if (sableyeAbility == ABILITY_PRANKSTER) { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_CONFUSE_RAY, player); - MESSAGE("It doesn't affect Foe Murkrow…"); + MESSAGE("It doesn't affect the opposing Murkrow…"); } else { ANIMATION(ANIM_TYPE_MOVE, MOVE_CONFUSE_RAY, player); - MESSAGE("Foe Murkrow became confused!"); + MESSAGE("The opposing Murkrow became confused!"); } } } @@ -198,7 +198,7 @@ SINGLE_BATTLE_TEST("Prankster-affected moves can still be bounced back by a Dark } WHEN { TURN { MOVE(player, MOVE_CELEBRATE, gimmick: GIMMICK_MEGA); MOVE(opponent, MOVE_CONFUSE_RAY); } } SCENE { - MESSAGE("Foe Volbeat's Confuse Ray was bounced back by Absol's Magic Bounce!"); + MESSAGE("The opposing Volbeat's Confuse Ray was bounced back by Absol's Magic Bounce!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CONFUSE_RAY, player); } } @@ -211,9 +211,9 @@ SINGLE_BATTLE_TEST("Prankster-affected moves that are bounced back by Magic Boun } WHEN { TURN { MOVE(player, MOVE_CELEBRATE, gimmick: GIMMICK_MEGA); MOVE(opponent, MOVE_CONFUSE_RAY); } } SCENE { - MESSAGE("Foe Murkrow's Confuse Ray was bounced back by Absol's Magic Bounce!"); + MESSAGE("The opposing Murkrow's Confuse Ray was bounced back by Absol's Magic Bounce!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CONFUSE_RAY, player); - MESSAGE("Foe Murkrow became confused!"); + MESSAGE("The opposing Murkrow became confused!"); } } diff --git a/test/battle/ability/primordial_sea.c b/test/battle/ability/primordial_sea.c index 4fd01613b03e..643dca161cef 100644 --- a/test/battle/ability/primordial_sea.c +++ b/test/battle/ability/primordial_sea.c @@ -16,13 +16,13 @@ SINGLE_BATTLE_TEST("Primordial Sea blocks damaging Fire-type moves") TURN { MOVE(opponent, MOVE_EMBER); } TURN { MOVE(opponent, MOVE_EMBER); } } SCENE { - MESSAGE("Foe Wobbuffet used Ember!"); + MESSAGE("The opposing Wobbuffet used Ember!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_EMBER, opponent); - MESSAGE("The Fire-type attack fizzled out\nin the heavy rain!"); + MESSAGE("The Fire-type attack fizzled out in the heavy rain!"); NOT HP_BAR(player); - MESSAGE("Foe Wobbuffet used Ember!"); + MESSAGE("The opposing Wobbuffet used Ember!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_EMBER, opponent); - MESSAGE("The Fire-type attack fizzled out\nin the heavy rain!"); + MESSAGE("The Fire-type attack fizzled out in the heavy rain!"); NOT HP_BAR(player); } THEN { EXPECT_EQ(player->hp, player->maxHP); @@ -42,10 +42,10 @@ DOUBLE_BATTLE_TEST("Primordial Sea blocks damaging Fire-type moves and prints th } WHEN { TURN { MOVE(opponentLeft, MOVE_ERUPTION); } } SCENE { - MESSAGE("Foe Wobbuffet used Eruption!"); + MESSAGE("The opposing Wobbuffet used Eruption!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_ERUPTION, opponentLeft); - MESSAGE("The Fire-type attack fizzled out\nin the heavy rain!"); - NOT MESSAGE("The Fire-type attack fizzled out\nin the heavy rain!"); + MESSAGE("The Fire-type attack fizzled out in the heavy rain!"); + NOT MESSAGE("The Fire-type attack fizzled out in the heavy rain!"); } THEN { EXPECT_EQ(playerLeft->hp, playerLeft->maxHP); EXPECT_EQ(playerRight->hp, playerRight->maxHP); @@ -60,7 +60,7 @@ SINGLE_BATTLE_TEST("Primordial Sea does not block a move if pokemon is asleep an } WHEN { TURN { MOVE(opponent, MOVE_EMBER); } } SCENE { - NOT MESSAGE("The Fire-type attack fizzled out\nin the heavy rain!"); - MESSAGE("Foe Wobbuffet is fast asleep."); + NOT MESSAGE("The Fire-type attack fizzled out in the heavy rain!"); + MESSAGE("The opposing Wobbuffet is fast asleep."); } } \ No newline at end of file diff --git a/test/battle/ability/protean.c b/test/battle/ability/protean.c index 936c341f8992..93162f7398c5 100644 --- a/test/battle/ability/protean.c +++ b/test/battle/ability/protean.c @@ -20,15 +20,15 @@ SINGLE_BATTLE_TEST("Protean changes the type of the user only once per switch in TURN { MOVE(opponent, MOVE_WATER_GUN); } } SCENE { ABILITY_POPUP(opponent, ABILITY_PROTEAN); - MESSAGE("Foe Kecleon transformed into the Water type!"); + MESSAGE("The opposing Kecleon transformed into the Water type!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_GUN, opponent); NONE_OF { ABILITY_POPUP(opponent, ABILITY_PROTEAN); - MESSAGE("Foe Kecleon transformed into the Normal type!"); + MESSAGE("The opposing Kecleon transformed into the Normal type!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); ABILITY_POPUP(opponent, ABILITY_PROTEAN); - MESSAGE("Foe Kecleon transformed into the Water type!"); + MESSAGE("The opposing Kecleon transformed into the Water type!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_GUN, opponent); } } diff --git a/test/battle/ability/quick_draw.c b/test/battle/ability/quick_draw.c index cdf237475b52..ef15801bffa7 100644 --- a/test/battle/ability/quick_draw.c +++ b/test/battle/ability/quick_draw.c @@ -5,14 +5,14 @@ SINGLE_BATTLE_TEST("Quick Draw has a 30% chance of going first") { PASSES_RANDOMLY(3, 10, RNG_QUICK_DRAW); GIVEN { - PLAYER(SPECIES_SLOWBRO_GALARIAN) { Ability(ABILITY_QUICK_DRAW); Speed(1); } + PLAYER(SPECIES_SLOWBRO_GALAR) { Ability(ABILITY_QUICK_DRAW); Speed(1); } OPPONENT(SPECIES_WOBBUFFET) { Speed(100); } } WHEN { TURN { MOVE(player, MOVE_TACKLE); } } SCENE { ABILITY_POPUP(player, ABILITY_QUICK_DRAW); MESSAGE("Slowbro used Tackle!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); } } @@ -20,13 +20,13 @@ SINGLE_BATTLE_TEST("Quick Draw does not activate 70% of the time") { PASSES_RANDOMLY(7, 10, RNG_QUICK_DRAW); GIVEN { - PLAYER(SPECIES_SLOWBRO_GALARIAN) { Ability(ABILITY_QUICK_DRAW); Speed(1); } + PLAYER(SPECIES_SLOWBRO_GALAR) { Ability(ABILITY_QUICK_DRAW); Speed(1); } OPPONENT(SPECIES_WOBBUFFET) { Speed(100); } } WHEN { TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_TACKLE); } } SCENE { NOT ABILITY_POPUP(player, ABILITY_QUICK_DRAW); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Slowbro used Tackle!"); } } diff --git a/test/battle/ability/rattled.c b/test/battle/ability/rattled.c index fed99b775d1e..5d3e47db3363 100644 --- a/test/battle/ability/rattled.c +++ b/test/battle/ability/rattled.c @@ -32,22 +32,22 @@ SINGLE_BATTLE_TEST("Rattled boosts speed by 1 when hit by Bug, Dark or Ghost typ if (move != MOVE_TACKLE) { ABILITY_POPUP(opponent, ABILITY_RATTLED); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Sudowoodo's Speed rose!"); + MESSAGE("The opposing Sudowoodo's Speed rose!"); } - MESSAGE("Foe Sudowoodo used Celebrate!"); + MESSAGE("The opposing Sudowoodo used Celebrate!"); // Sudowoodo is now faster if (move != MOVE_TACKLE){ - MESSAGE("Foe Sudowoodo used Celebrate!"); + MESSAGE("The opposing Sudowoodo used Celebrate!"); ANIMATION(ANIM_TYPE_MOVE, move, player); HP_BAR(opponent); ABILITY_POPUP(opponent, ABILITY_RATTLED); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Sudowoodo's Speed rose!"); + MESSAGE("The opposing Sudowoodo's Speed rose!"); } else { ANIMATION(ANIM_TYPE_MOVE, move, player); HP_BAR(opponent); - MESSAGE("Foe Sudowoodo used Celebrate!"); + MESSAGE("The opposing Sudowoodo used Celebrate!"); } } } @@ -63,10 +63,10 @@ SINGLE_BATTLE_TEST("Rattled boosts speed by 1 when affected by Intimidate") } SCENE { ABILITY_POPUP(player, ABILITY_INTIMIDATE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Gyarados's Intimidate cuts Foe Sudowoodo's attack!"); + MESSAGE("Gyarados's Intimidate cuts the opposing Sudowoodo's Attack!"); ABILITY_POPUP(opponent, ABILITY_RATTLED); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Sudowoodo's Speed rose!"); + MESSAGE("The opposing Sudowoodo's Speed rose!"); } } @@ -87,7 +87,7 @@ SINGLE_BATTLE_TEST("Rattled triggers correctly when hit by U-Turn") // Specific HP_BAR(opponent); ABILITY_POPUP(opponent, ABILITY_RATTLED); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Sudowoodo's Speed rose!"); + MESSAGE("The opposing Sudowoodo's Speed rose!"); SEND_IN_MESSAGE("Wynaut"); } } diff --git a/test/battle/ability/sap_sipper.c b/test/battle/ability/sap_sipper.c index 9d0ee7eaca72..d691d4e91a96 100644 --- a/test/battle/ability/sap_sipper.c +++ b/test/battle/ability/sap_sipper.c @@ -67,14 +67,14 @@ SINGLE_BATTLE_TEST("Sap Sipper blocks multi-hit grass type moves") } WHEN { TURN { MOVE(opponent, MOVE_BULLET_SEED); } } SCENE { - MESSAGE("Foe Shellder used Bullet Seed!"); + MESSAGE("The opposing Shellder used Bullet Seed!"); ABILITY_POPUP(player, ABILITY_SAP_SIPPER); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Marill's Attack rose!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, opponent); HP_BAR(player); - MESSAGE("Hit 5 time(s)!"); + MESSAGE("The Pokémon was hit 5 time(s)!"); } } } diff --git a/test/battle/ability/schooling.c b/test/battle/ability/schooling.c index efa38cbb68f7..19c2b14c8fd8 100644 --- a/test/battle/ability/schooling.c +++ b/test/battle/ability/schooling.c @@ -25,7 +25,7 @@ SINGLE_BATTLE_TEST("Schooling switches Level 20+ Wishiwashi's form when HP is 25 ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); } MESSAGE("Wishiwashi used Celebrate!"); - MESSAGE("Foe Wobbuffet used Super Fang!"); + MESSAGE("The opposing Wobbuffet used Super Fang!"); HP_BAR(player); if (level >= 20) { @@ -64,7 +64,7 @@ SINGLE_BATTLE_TEST("Schooling switches Level 20+ Wishiwashi's form when HP is ov ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); } MESSAGE("Wishiwashi used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); } THEN { if (level >= 20 && overQuarterHP) EXPECT_EQ(player->species, SPECIES_WISHIWASHI_SCHOOL); @@ -92,7 +92,7 @@ SINGLE_BATTLE_TEST("Schooling switches Level 20+ Wishiwashi's form when HP is he TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_HEAL_PULSE); } } SCENE { MESSAGE("Wishiwashi used Celebrate!"); - MESSAGE("Foe Wobbuffet used Heal Pulse!"); + MESSAGE("The opposing Wobbuffet used Heal Pulse!"); HP_BAR(player); if (level >= 20) { diff --git a/test/battle/ability/scrappy.c b/test/battle/ability/scrappy.c index 22b6660b691b..26a135860c3a 100644 --- a/test/battle/ability/scrappy.c +++ b/test/battle/ability/scrappy.c @@ -20,7 +20,7 @@ SINGLE_BATTLE_TEST("Scrappy prevents intimidate") ABILITY_POPUP(player, ABILITY_INTIMIDATE); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); } ABILITY_POPUP(opponent, ABILITY_SCRAPPY); - MESSAGE("Foe Kangaskhan's Scrappy prevents stat loss!"); + MESSAGE("The opposing Kangaskhan's Scrappy prevents stat loss!"); HP_BAR(player, captureDamage: &turnTwoHit); } THEN { EXPECT_EQ(turnOneHit, turnTwoHit); @@ -61,6 +61,6 @@ SINGLE_BATTLE_TEST("Scrappy doesn't bypass a Ghost-type's Wonder Guard") HP_BAR(opponent); } ABILITY_POPUP(opponent, ABILITY_WONDER_GUARD); - MESSAGE("Foe Shedinja avoided damage with Wonder Guard!"); + MESSAGE("The opposing Shedinja avoided damage with Wonder Guard!"); } } diff --git a/test/battle/ability/seed_sower.c b/test/battle/ability/seed_sower.c index 64c21dbdba08..822fa8b703ed 100644 --- a/test/battle/ability/seed_sower.c +++ b/test/battle/ability/seed_sower.c @@ -9,7 +9,7 @@ SINGLE_BATTLE_TEST("Seed Sower sets up Grassy Terrain when hit by an attack") } WHEN { TURN { MOVE(opponent, MOVE_TACKLE); } } SCENE { - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); HP_BAR(player); ABILITY_POPUP(player); MESSAGE("Grass grew to cover the battlefield!"); diff --git a/test/battle/ability/shed_skin.c b/test/battle/ability/shed_skin.c index 279da677eaf5..e4ab6b736c66 100644 --- a/test/battle/ability/shed_skin.c +++ b/test/battle/ability/shed_skin.c @@ -15,7 +15,7 @@ SINGLE_BATTLE_TEST("Shed Skin triggers 33% of the time") TURN; } SCENE { ABILITY_POPUP(opponent, ABILITY_SHED_SKIN); - MESSAGE("Foe Arbok's Shed Skin cured its poison problem!"); + MESSAGE("The opposing Arbok's Shed Skin cured its poison problem!"); STATUS_ICON(opponent, poison: FALSE); } } diff --git a/test/battle/ability/sheer_force.c b/test/battle/ability/sheer_force.c index c144c8596f49..97dee48a313b 100644 --- a/test/battle/ability/sheer_force.c +++ b/test/battle/ability/sheer_force.c @@ -51,13 +51,13 @@ SINGLE_BATTLE_TEST("Sheer Force boosts power, but removes secondary effects of m STATUS_ICON(opponent, STATUS1_TOXIC_POISON); STATUS_ICON(opponent, STATUS1_PARALYSIS); MESSAGE("Wobbuffet is confused!"); - MESSAGE("Wobbuffet flinched!"); + MESSAGE("Wobbuffet flinched and couldn't move!"); } // Volt Tackle/Flare Blitz edge case: recoil happens, but target isn't statused if (gMovesInfo[move].recoil > 0) { HP_BAR(player); - MESSAGE("Tauros is hit with recoil!"); + MESSAGE("Tauros was damaged by the recoil!"); } } } FINALLY { diff --git a/test/battle/ability/shield_dust.c b/test/battle/ability/shield_dust.c index d1785bd69e1b..9374a5f01846 100644 --- a/test/battle/ability/shield_dust.c +++ b/test/battle/ability/shield_dust.c @@ -28,12 +28,12 @@ SINGLE_BATTLE_TEST("Shield Dust blocks secondary effects") ANIMATION(ANIM_TYPE_MOVE, move, player); HP_BAR(opponent); NONE_OF { - MESSAGE("Foe Vivillon is paralyzed! It may be unable to move!"); - MESSAGE("Foe Vivillon was burned!"); - MESSAGE("Foe Vivillon was poisoned!"); - MESSAGE("Foe Vivillon flinched!"); + MESSAGE("The opposing Vivillon is paralyzed, so it may be unable to move!"); + MESSAGE("The opposing Vivillon was burned!"); + MESSAGE("The opposing Vivillon was poisoned!"); + MESSAGE("The opposing Vivillon flinched and couldn't move!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Vivillon was prevented from healing!"); + MESSAGE("The opposing Vivillon was prevented from healing!"); } } THEN { // Can't find good way to test trapping EXPECT(!(opponent->status2 & STATUS2_ESCAPE_PREVENTION)); @@ -64,16 +64,16 @@ SINGLE_BATTLE_TEST("Shield Dust does not block primary effects") switch (move) { case MOVE_INFESTATION: - MESSAGE("Foe Vivillon has been afflicted with an infestation by Wobbuffet!"); + MESSAGE("The opposing Vivillon has been afflicted with an infestation by Wobbuffet!"); break; case MOVE_THOUSAND_ARROWS: - MESSAGE("Foe Vivillon fell straight down!"); + MESSAGE("The opposing Vivillon fell straight down!"); break; case MOVE_JAW_LOCK: MESSAGE("Neither Pokémon can run away!"); break; case MOVE_PAY_DAY: - MESSAGE("Coins scattered everywhere!"); + MESSAGE("Coins were scattered everywhere!"); break; } } THEN { // Can't find good way to test trapping @@ -137,11 +137,11 @@ DOUBLE_BATTLE_TEST("Shield Dust does or does not block Sparkling Aria depending } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SPARKLING_ARIA, playerLeft); if (moveToUse == MOVE_TACKLE) { - MESSAGE("Foe Vivillon's burn was healed."); + MESSAGE("The opposing Vivillon's burn was cured!"); STATUS_ICON(opponentLeft, none: TRUE); } else { NONE_OF { - MESSAGE("Foe Vivillon's burn was healed."); + MESSAGE("The opposing Vivillon's burn was cured!"); STATUS_ICON(opponentLeft, none: TRUE); } } @@ -159,7 +159,7 @@ SINGLE_BATTLE_TEST("Shield Dust blocks Sparkling Aria in singles") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SPARKLING_ARIA, player); NONE_OF { - MESSAGE("Foe Vivillon's burn was healed."); + MESSAGE("The opposing Vivillon's burn was cured!"); STATUS_ICON(opponent, none: TRUE); } } diff --git a/test/battle/ability/speed_boost.c b/test/battle/ability/speed_boost.c index 0cc82e80643f..b8c9bd496642 100644 --- a/test/battle/ability/speed_boost.c +++ b/test/battle/ability/speed_boost.c @@ -10,11 +10,11 @@ SINGLE_BATTLE_TEST("Speed Boost gradually boosts Speed") TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_CELEBRATE); } TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_CELEBRATE); } } SCENE { - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Torchic used Celebrate!"); ABILITY_POPUP(player, ABILITY_SPEED_BOOST); - MESSAGE("Torchic's Speed Boost raised its SPEED!"); + MESSAGE("Torchic's Speed Boost raised its Speed!"); MESSAGE("Torchic used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); } } diff --git a/test/battle/ability/stalwart.c b/test/battle/ability/stalwart.c index 289f25dd1c80..6f8acd6d8290 100644 --- a/test/battle/ability/stalwart.c +++ b/test/battle/ability/stalwart.c @@ -43,7 +43,7 @@ DOUBLE_BATTLE_TEST("Stalwart stops Lightning Rod and Storm Drain from redirectin NONE_OF { ABILITY_POPUP(opponentLeft, ability); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Foe Raichu's Sp. Atk rose!"); + MESSAGE("The opposing Raichu's Sp. Atk rose!"); } } else { HP_BAR(opponentRight); diff --git a/test/battle/ability/stamina.c b/test/battle/ability/stamina.c index e6e500cd797c..527026284c0d 100644 --- a/test/battle/ability/stamina.c +++ b/test/battle/ability/stamina.c @@ -98,8 +98,8 @@ SINGLE_BATTLE_TEST("Stamina activates for every hit of a multi hit move") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_DOUBLE_KICK, player); HP_BAR(opponent); - STAMINA_STAT_RAISE(opponent, "Foe Mudbray's Defense rose!"); - STAMINA_STAT_RAISE(opponent, "Foe Mudbray's Defense rose!"); + STAMINA_STAT_RAISE(opponent, "The opposing Mudbray's Defense rose!"); + STAMINA_STAT_RAISE(opponent, "The opposing Mudbray's Defense rose!"); } THEN { EXPECT_EQ(opponent->statStages[STAT_DEF], DEFAULT_STAT_STAGE + 2); } @@ -114,7 +114,7 @@ SINGLE_BATTLE_TEST("Stamina is not activated by users own Substitute") TURN { MOVE(player, MOVE_SUBSTITUTE); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SUBSTITUTE, player); - MESSAGE("Mudbray made a SUBSTITUTE!"); + MESSAGE("Mudbray put in a substitute!"); NONE_OF { ABILITY_POPUP(player, ABILITY_STAMINA); MESSAGE("Mudbray's Defense rose!"); diff --git a/test/battle/ability/static.c b/test/battle/ability/static.c index 2e74db3e140e..3c5d042cd0c9 100644 --- a/test/battle/ability/static.c +++ b/test/battle/ability/static.c @@ -17,13 +17,13 @@ SINGLE_BATTLE_TEST("Static inflicts paralysis on contact") if (gMovesInfo[move].makesContact) { ABILITY_POPUP(opponent, ABILITY_STATIC); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PRZ, player); - MESSAGE("Foe Pikachu's Static paralyzed Wobbuffet! It may be unable to move!"); + MESSAGE("The opposing Pikachu's Static paralyzed Wobbuffet, so it may be unable to move!"); STATUS_ICON(player, paralysis: TRUE); } else { NONE_OF { ABILITY_POPUP(opponent, ABILITY_STATIC); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PRZ, player); - MESSAGE("Foe Pikachu's Static paralyzed Wobbuffet! It may be unable to move!"); + MESSAGE("The opposing Pikachu's Static paralyzed Wobbuffet, so it may be unable to move!"); STATUS_ICON(player, paralysis: TRUE); } } @@ -43,7 +43,7 @@ SINGLE_BATTLE_TEST("Static triggers 30% of the time") } SCENE { ABILITY_POPUP(opponent, ABILITY_STATIC); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PRZ, player); - MESSAGE("Foe Pikachu's Static paralyzed Wobbuffet! It may be unable to move!"); + MESSAGE("The opposing Pikachu's Static paralyzed Wobbuffet, so it may be unable to move!"); STATUS_ICON(player, paralysis: TRUE); } } diff --git a/test/battle/ability/stench.c b/test/battle/ability/stench.c index f0c0e244145f..76b36f3ff342 100644 --- a/test/battle/ability/stench.c +++ b/test/battle/ability/stench.c @@ -11,7 +11,7 @@ SINGLE_BATTLE_TEST("Stench has a 10% chance to flinch") } WHEN { TURN { MOVE(player, MOVE_TACKLE); MOVE(opponent, MOVE_CELEBRATE); } } SCENE { - MESSAGE("Foe Wobbuffet flinched!"); + MESSAGE("The opposing Wobbuffet flinched and couldn't move!"); } } @@ -27,7 +27,7 @@ SINGLE_BATTLE_TEST("Stench does not stack with King's Rock") } WHEN { TURN { MOVE(player, MOVE_TACKLE); MOVE(opponent, MOVE_CELEBRATE); } } SCENE { - MESSAGE("Foe Wobbuffet flinched!"); + MESSAGE("The opposing Wobbuffet flinched and couldn't move!"); } } @@ -51,7 +51,7 @@ DOUBLE_BATTLE_TEST("Stench only triggers if target takes damage") MOVE(playerRight, MOVE_TACKLE, target: opponentRight); } } SCENE { - NONE_OF { MESSAGE("Wynaut flinched!"); } + NONE_OF { MESSAGE("Wynaut flinched and couldn't move!"); } } } @@ -72,9 +72,9 @@ DOUBLE_BATTLE_TEST("Stench doesn't trigger if partner uses a move") } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_FAKE_OUT, playerLeft); - MESSAGE("Foe Grimer flinched!"); + MESSAGE("The opposing Grimer flinched and couldn't move!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentRight); - NOT MESSAGE("Wynaut flinched!"); + NOT MESSAGE("Wynaut flinched and couldn't move!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerRight); } } diff --git a/test/battle/ability/sticky_hold.c b/test/battle/ability/sticky_hold.c index 2c7cc095350c..708c691c801b 100644 --- a/test/battle/ability/sticky_hold.c +++ b/test/battle/ability/sticky_hold.c @@ -12,7 +12,7 @@ SINGLE_BATTLE_TEST("Sticky Hold prevents item theft") } SCENE { MESSAGE("Ursaluna used Thief!"); ABILITY_POPUP(opponent, ABILITY_STICKY_HOLD); - MESSAGE("Foe Gastrodon's Sticky Hold made Thief ineffective!"); + MESSAGE("The opposing Gastrodon's Sticky Hold made Thief ineffective!"); } } diff --git a/test/battle/ability/storm_drain.c b/test/battle/ability/storm_drain.c index 38d4a9be7595..b4d5a2c1691d 100644 --- a/test/battle/ability/storm_drain.c +++ b/test/battle/ability/storm_drain.c @@ -6,7 +6,7 @@ SINGLE_BATTLE_TEST("Storm Drain absorbs Water-type moves and increases the Sp. A GIVEN { ASSUME(gMovesInfo[MOVE_WATER_GUN].type == TYPE_WATER); PLAYER(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_GASTRODON_EAST_SEA) { Ability(ABILITY_STORM_DRAIN); } + OPPONENT(SPECIES_GASTRODON_EAST) { Ability(ABILITY_STORM_DRAIN); } } WHEN { TURN { MOVE(player, MOVE_WATER_GUN); MOVE(opponent, MOVE_CELEBRATE); } } SCENE { @@ -17,12 +17,12 @@ SINGLE_BATTLE_TEST("Storm Drain absorbs Water-type moves and increases the Sp. A }; ABILITY_POPUP(opponent, ABILITY_STORM_DRAIN); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Gastrodon's Sp. Atk rose!"); + MESSAGE("The opposing Gastrodon's Sp. Atk rose!"); } else { NONE_OF { ABILITY_POPUP(opponent, ABILITY_STORM_DRAIN); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Gastrodon's Sp. Atk rose!"); + MESSAGE("The opposing Gastrodon's Sp. Atk rose!"); }; ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_GUN, player); HP_BAR(opponent); @@ -37,7 +37,7 @@ DOUBLE_BATTLE_TEST("Storm Drain forces single-target Water-type moves to target ASSUME(gMovesInfo[MOVE_WATER_GUN].type == TYPE_WATER); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_GASTRODON_EAST_SEA) { Ability(ABILITY_STORM_DRAIN); } + OPPONENT(SPECIES_GASTRODON_EAST) { Ability(ABILITY_STORM_DRAIN); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { @@ -54,10 +54,10 @@ DOUBLE_BATTLE_TEST("Storm Drain forces single-target Water-type moves to target }; ABILITY_POPUP(opponentLeft, ABILITY_STORM_DRAIN); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Foe Gastrodon's Sp. Atk rose!"); + MESSAGE("The opposing Gastrodon's Sp. Atk rose!"); ABILITY_POPUP(opponentLeft, ABILITY_STORM_DRAIN); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Foe Gastrodon's Sp. Atk rose!"); + MESSAGE("The opposing Gastrodon's Sp. Atk rose!"); } else { NONE_OF { HP_BAR(opponentRight); diff --git a/test/battle/ability/sturdy.c b/test/battle/ability/sturdy.c index b90be8209883..b79fd5e92196 100644 --- a/test/battle/ability/sturdy.c +++ b/test/battle/ability/sturdy.c @@ -10,7 +10,7 @@ SINGLE_BATTLE_TEST("Sturdy prevents OHKO moves") } WHEN { TURN { MOVE(opponent, MOVE_FISSURE); } } SCENE { - MESSAGE("Foe Wobbuffet used Fissure!"); + MESSAGE("The opposing Wobbuffet used Fissure!"); ABILITY_POPUP(player, ABILITY_STURDY); MESSAGE("Geodude was protected by Sturdy!"); } THEN { diff --git a/test/battle/ability/supersweet_syrup.c b/test/battle/ability/supersweet_syrup.c index 6a2fd4fd7618..4ff8c462ba7a 100644 --- a/test/battle/ability/supersweet_syrup.c +++ b/test/battle/ability/supersweet_syrup.c @@ -12,7 +12,7 @@ SINGLE_BATTLE_TEST("Supersweet Syrup lowers evasion once per battle by one stage TURN { SWITCH(opponent, 0); } } SCENE { ABILITY_POPUP(opponent, ABILITY_SUPERSWEET_SYRUP); - MESSAGE("A supersweet aroma is wafting from the syrup covering Foe Dipplin!"); + MESSAGE("A supersweet aroma is wafting from the syrup covering the opposing Dipplin!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("2 withdrew Dipplin!"); MESSAGE("2 withdrew Wobbuffet!"); @@ -37,7 +37,7 @@ DOUBLE_BATTLE_TEST("Supersweet Syrup lowers evasion of both opposing mon's in ba TURN { } } SCENE { ABILITY_POPUP(opponentLeft, ABILITY_SUPERSWEET_SYRUP); - MESSAGE("A supersweet aroma is wafting from the syrup covering Foe Dipplin!"); + MESSAGE("A supersweet aroma is wafting from the syrup covering the opposing Dipplin!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); } THEN { @@ -66,7 +66,7 @@ SINGLE_BATTLE_TEST("Supersweet Syrup can not further lower opponents evasion if ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Oddish's evasiveness fell!"); } - MESSAGE("Oddish's evasiveness won't go lower!"); + MESSAGE("Oddish's evasiveness won't go any lower!"); } THEN { EXPECT_EQ(player->statStages[STAT_EVASION], MIN_STAT_STAGE); } diff --git a/test/battle/ability/supreme_overlord.c b/test/battle/ability/supreme_overlord.c index dcaaa494a0df..f8868b4afb98 100644 --- a/test/battle/ability/supreme_overlord.c +++ b/test/battle/ability/supreme_overlord.c @@ -130,6 +130,6 @@ SINGLE_BATTLE_TEST("Supreme Overlord's message displays correctly after all batt SEND_IN_MESSAGE("Wobbuffet"); MESSAGE("2 sent out Kingambit!"); ABILITY_POPUP(opponent, ABILITY_SUPREME_OVERLORD); - MESSAGE("Foe Kingambit gained strength from the fallen!"); + MESSAGE("The opposing Kingambit gained strength from the fallen!"); } } diff --git a/test/battle/ability/switch_in_abilities.c b/test/battle/ability/switch_in_abilities.c index 79cf2b2dc966..c8a8c54dd3d9 100644 --- a/test/battle/ability/switch_in_abilities.c +++ b/test/battle/ability/switch_in_abilities.c @@ -101,8 +101,8 @@ DOUBLE_BATTLE_TEST("Switch-in abilities trigger in Speed Order after post-KO swi PLAYER(SPECIES_GYARADOS) { Speed(spdPlayer2); Ability(ABILITY_INTIMIDATE); } OPPONENT(SPECIES_WOBBUFFET) { HP(1); Speed(1); } OPPONENT(SPECIES_WOBBUFFET) { HP(1); Speed(1); } - OPPONENT(SPECIES_WEEZING_GALARIAN) { Speed(spdOpponent1); Ability(ABILITY_MISTY_SURGE); } - OPPONENT(SPECIES_VULPIX_ALOLAN) { Speed(spdOpponent2); Ability(ABILITY_SNOW_WARNING); } + OPPONENT(SPECIES_WEEZING_GALAR) { Speed(spdOpponent1); Ability(ABILITY_MISTY_SURGE); } + OPPONENT(SPECIES_VULPIX_ALOLA) { Speed(spdOpponent2); Ability(ABILITY_SNOW_WARNING); } } WHEN { TURN { MOVE(playerLeft, MOVE_EXPLOSION); SEND_OUT(playerLeft, 2); SEND_OUT(opponentLeft, 2); SEND_OUT(playerRight, 3); SEND_OUT(opponentRight, 3); } TURN { ; } diff --git a/test/battle/ability/sword_of_ruin.c b/test/battle/ability/sword_of_ruin.c index 02eec69ed868..3498522423a9 100644 --- a/test/battle/ability/sword_of_ruin.c +++ b/test/battle/ability/sword_of_ruin.c @@ -70,6 +70,6 @@ SINGLE_BATTLE_TEST("Sword of Ruin's message displays correctly after all battler SEND_IN_MESSAGE("Wobbuffet"); MESSAGE("2 sent out Chien-Pao!"); ABILITY_POPUP(opponent, ABILITY_SWORD_OF_RUIN); - MESSAGE("Foe Chien-Pao's Sword of Ruin weakened the Defense of all surrounding Pokémon!"); + MESSAGE("The opposing Chien-Pao's Sword of Ruin weakened the Defense of all surrounding Pokémon!"); } } diff --git a/test/battle/ability/tablets_of_ruin.c b/test/battle/ability/tablets_of_ruin.c index 7862a0bb8c56..c98384b805f3 100644 --- a/test/battle/ability/tablets_of_ruin.c +++ b/test/battle/ability/tablets_of_ruin.c @@ -70,6 +70,6 @@ SINGLE_BATTLE_TEST("Tablets of Ruin's message displays correctly after all battl SEND_IN_MESSAGE("Wobbuffet"); MESSAGE("2 sent out Wo-Chien!"); ABILITY_POPUP(opponent, ABILITY_TABLETS_OF_RUIN); - MESSAGE("Foe Wo-Chien's Tablets of Ruin weakened the Attack of all surrounding Pokémon!"); + MESSAGE("The opposing Wo-Chien's Tablets of Ruin weakened the Attack of all surrounding Pokémon!"); } } diff --git a/test/battle/ability/tangling_hair.c b/test/battle/ability/tangling_hair.c index 508678a03762..f663465163c6 100644 --- a/test/battle/ability/tangling_hair.c +++ b/test/battle/ability/tangling_hair.c @@ -27,7 +27,7 @@ SINGLE_BATTLE_TEST("Tangling Hair drops opposing mon's speed if ability user got if (move == MOVE_TACKLE) { ABILITY_POPUP(player, ABILITY_TANGLING_HAIR); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wynaut's Speed fell!"); + MESSAGE("The opposing Wynaut's Speed fell!"); } } } @@ -44,9 +44,9 @@ SINGLE_BATTLE_TEST("Tangling Hair does not cause Rocky Helmet miss activation") ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); ABILITY_POPUP(player, ABILITY_TANGLING_HAIR); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wynaut's Speed fell!"); + MESSAGE("The opposing Wynaut's Speed fell!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Foe Wynaut was hurt by Dugtrio's Rocky Helmet!"); + MESSAGE("The opposing Wynaut was hurt by Dugtrio's Rocky Helmet!"); } } @@ -61,10 +61,10 @@ SINGLE_BATTLE_TEST("Tangling Hair Speed stat drop triggers defiant and keeps ori ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); ABILITY_POPUP(player, ABILITY_TANGLING_HAIR); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Pawniard's Speed fell!"); + MESSAGE("The opposing Pawniard's Speed fell!"); ABILITY_POPUP(opponent, ABILITY_DEFIANT); - MESSAGE("Foe Pawniard's Attack sharply rose!"); + MESSAGE("The opposing Pawniard's Attack sharply rose!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Foe Pawniard was hurt by Dugtrio's Rocky Helmet!"); + MESSAGE("The opposing Pawniard was hurt by Dugtrio's Rocky Helmet!"); } } diff --git a/test/battle/ability/tera_shell.c b/test/battle/ability/tera_shell.c index 138a56f9b4eb..08a9ad1cd86b 100644 --- a/test/battle/ability/tera_shell.c +++ b/test/battle/ability/tera_shell.c @@ -13,7 +13,7 @@ SINGLE_BATTLE_TEST("Tera Shell makes all moves against Terapagos not very effect TURN { MOVE(opponent, MOVE_TACKLE); } } SCENE { if (hp == 100) { - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); ABILITY_POPUP(player, ABILITY_TERA_SHELL); MESSAGE("Terapagos made its shell gleam! It's distorting type matchups!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); @@ -40,7 +40,7 @@ SINGLE_BATTLE_TEST("Tera Shell makes all hits of multi-hit moves against Terapag } WHEN { TURN { MOVE(opponent, MOVE_DOUBLE_HIT); } } SCENE { - MESSAGE("Foe Wobbuffet used Double Hit!"); + MESSAGE("The opposing Wobbuffet used Double Hit!"); ABILITY_POPUP(player, ABILITY_TERA_SHELL); MESSAGE("Terapagos made its shell gleam! It's distorting type matchups!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_DOUBLE_HIT, opponent); diff --git a/test/battle/ability/teraform_zero.c b/test/battle/ability/teraform_zero.c index 6540515322fb..819d0eef3d16 100644 --- a/test/battle/ability/teraform_zero.c +++ b/test/battle/ability/teraform_zero.c @@ -46,7 +46,7 @@ SINGLE_BATTLE_TEST("Teraform Zero can be replaced") } WHEN { TURN { MOVE(opponent, MOVE_WORRY_SEED); MOVE(player, MOVE_REST, gimmick: GIMMICK_TERA); } } SCENE { - MESSAGE("Foe Whimsicott used Worry Seed!"); + MESSAGE("The opposing Whimsicott used Worry Seed!"); MESSAGE("Terapagos acquired Insomnia!"); MESSAGE("Terapagos used Rest!"); ABILITY_POPUP(player, ABILITY_INSOMNIA); @@ -63,7 +63,7 @@ SINGLE_BATTLE_TEST("Teraform Zero cannot be swapped") } WHEN { TURN { MOVE(player, MOVE_CELEBRATE, gimmick: GIMMICK_TERA); MOVE(opponent, MOVE_SKILL_SWAP); } } SCENE { - MESSAGE("Foe Wobbuffet used Skill Swap!"); + MESSAGE("The opposing Wobbuffet used Skill Swap!"); MESSAGE("But it failed!"); } } @@ -77,7 +77,7 @@ SINGLE_BATTLE_TEST("Teraform Zero cannot be copied") } WHEN { TURN { MOVE(player, MOVE_CELEBRATE, gimmick: GIMMICK_TERA); MOVE(opponent, MOVE_ROLE_PLAY); } } SCENE { - MESSAGE("Foe Wobbuffet used Role Play!"); + MESSAGE("The opposing Wobbuffet used Role Play!"); MESSAGE("But it failed!"); } } diff --git a/test/battle/ability/toxic_chain.c b/test/battle/ability/toxic_chain.c index 2c29770f52a6..0037cb85b6d3 100644 --- a/test/battle/ability/toxic_chain.c +++ b/test/battle/ability/toxic_chain.c @@ -14,7 +14,7 @@ SINGLE_BATTLE_TEST("Toxic Chain inflicts bad poison when attacking") } SCENE { ABILITY_POPUP(player, ABILITY_TOXIC_CHAIN); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponent); - MESSAGE("Foe Wobbuffet is badly poisoned!"); + MESSAGE("The opposing Wobbuffet was badly poisoned!"); STATUS_ICON(opponent, badPoison: TRUE); } THEN { EXPECT(opponent->status1 & STATUS1_TOXIC_POISON); @@ -35,13 +35,13 @@ SINGLE_BATTLE_TEST("Toxic Chain inflicts bad poison on any hit of a multi-hit mo } SCENE { ABILITY_POPUP(player, ABILITY_TOXIC_CHAIN); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponent); - MESSAGE("Foe Wobbuffet is badly poisoned!"); + MESSAGE("The opposing Wobbuffet was badly poisoned!"); STATUS_ICON(opponent, badPoison: TRUE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); STATUS_ICON(opponent, badPoison: FALSE); ABILITY_POPUP(player, ABILITY_TOXIC_CHAIN); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponent); - MESSAGE("Foe Wobbuffet is badly poisoned!"); + MESSAGE("The opposing Wobbuffet was badly poisoned!"); STATUS_ICON(opponent, badPoison: TRUE); } THEN { EXPECT(opponent->status1 & STATUS1_TOXIC_POISON); @@ -64,12 +64,12 @@ DOUBLE_BATTLE_TEST("Toxic Chain can inflict bad poison on both foes") HP_BAR(opponentLeft); ABILITY_POPUP(playerLeft, ABILITY_TOXIC_CHAIN); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponentLeft); - MESSAGE("Foe Wobbuffet is badly poisoned!"); + MESSAGE("The opposing Wobbuffet was badly poisoned!"); STATUS_ICON(opponentLeft, badPoison: TRUE); HP_BAR(opponentRight); ABILITY_POPUP(playerLeft, ABILITY_TOXIC_CHAIN); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponentRight); - MESSAGE("Foe Wynaut is badly poisoned!"); + MESSAGE("The opposing Wynaut was badly poisoned!"); STATUS_ICON(opponentRight, badPoison: TRUE); } THEN { EXPECT(opponentLeft->status1 & STATUS1_TOXIC_POISON); @@ -97,14 +97,14 @@ SINGLE_BATTLE_TEST("Toxic Chain makes Lum/Pecha Berry trigger before being knock } SCENE { ABILITY_POPUP(player, ABILITY_TOXIC_CHAIN); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponent); - MESSAGE("Foe Wobbuffet is badly poisoned!"); + MESSAGE("The opposing Wobbuffet was badly poisoned!"); STATUS_ICON(opponent, badPoison: TRUE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); STATUS_ICON(opponent, badPoison: FALSE); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ITEM_KNOCKOFF); - MESSAGE("Okidogi knocked off Foe Wobbuffet's Pecha Berry!"); - MESSAGE("Okidogi knocked off Foe Wobbuffet's Lum Berry!"); + MESSAGE("Okidogi knocked off the opposing Wobbuffet's Pecha Berry!"); + MESSAGE("Okidogi knocked off the opposing Wobbuffet's Lum Berry!"); } } THEN { EXPECT(opponent->status1 == 0); diff --git a/test/battle/ability/toxic_debris.c b/test/battle/ability/toxic_debris.c index ed2c60e59456..c4a50a5d1363 100644 --- a/test/battle/ability/toxic_debris.c +++ b/test/battle/ability/toxic_debris.c @@ -22,11 +22,11 @@ SINGLE_BATTLE_TEST("Toxic Debris sets Toxic Spikes on the opposing side if hit b } SCENE { if (move == MOVE_TACKLE) { ABILITY_POPUP(player, ABILITY_TOXIC_DEBRIS); - MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); } else { NONE_OF { ABILITY_POPUP(player, ABILITY_TOXIC_DEBRIS); - MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); } } } @@ -44,14 +44,14 @@ SINGLE_BATTLE_TEST("Toxic Debris does not activate if two layers of Toxic Spikes } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); ABILITY_POPUP(player, ABILITY_TOXIC_DEBRIS); - MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); ABILITY_POPUP(player, ABILITY_TOXIC_DEBRIS); - MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); NONE_OF { ABILITY_POPUP(player, ABILITY_TOXIC_DEBRIS); - MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); } } } @@ -69,7 +69,7 @@ SINGLE_BATTLE_TEST("If a Substitute is hit, Toxic Debris does not set Toxic Spik ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); NONE_OF { ABILITY_POPUP(player, ABILITY_TOXIC_DEBRIS); - MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); } } } @@ -84,10 +84,10 @@ SINGLE_BATTLE_TEST("Each hit of a Multi Hit move activates Toxic Debris") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_SWIPES, opponent); ABILITY_POPUP(player, ABILITY_TOXIC_DEBRIS); - MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_SWIPES, opponent); ABILITY_POPUP(player, ABILITY_TOXIC_DEBRIS); - MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); } } @@ -102,7 +102,7 @@ SINGLE_BATTLE_TEST("Toxic Debris activates if user faints after physical hit") ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); MESSAGE("Glimmora fainted!"); ABILITY_POPUP(player, ABILITY_TOXIC_DEBRIS); - MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); } } @@ -116,7 +116,7 @@ SINGLE_BATTLE_TEST("Air Balloon is popped after Toxic Debris activates") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); ABILITY_POPUP(player, ABILITY_TOXIC_DEBRIS); - MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); MESSAGE("Glimmora's Air Balloon popped!"); } } diff --git a/test/battle/ability/trace.c b/test/battle/ability/trace.c index 3042f8e22bf9..6dbd9bda2669 100644 --- a/test/battle/ability/trace.c +++ b/test/battle/ability/trace.c @@ -10,7 +10,7 @@ SINGLE_BATTLE_TEST("Trace copies opponents ability") TURN { } } SCENE { ABILITY_POPUP(player, ABILITY_TRACE); - MESSAGE("Ralts TRACED Foe Torchic's Blaze!"); + MESSAGE("It traced the opposing Torchic's Blaze!"); } } @@ -24,7 +24,7 @@ SINGLE_BATTLE_TEST("Trace copies opponents ability on switch-in") TURN { SWITCH(player, 1); } } SCENE { ABILITY_POPUP(player, ABILITY_TRACE); - MESSAGE("Ralts TRACED Foe Torchic's Blaze!"); + MESSAGE("It traced the opposing Torchic's Blaze!"); } } @@ -40,7 +40,7 @@ SINGLE_BATTLE_TEST("Trace copies opponents ability on switch-in even if opponent } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_MISTY_EXPLOSION); ABILITY_POPUP(player, ABILITY_TRACE); - MESSAGE("Ralts TRACED Foe Torchic's Blaze!"); + MESSAGE("It traced the opposing Torchic's Blaze!"); } } @@ -61,7 +61,7 @@ DOUBLE_BATTLE_TEST("Trace copies opponents ability randomly") TURN { } } SCENE { ABILITY_POPUP(playerLeft, ABILITY_TRACE); - MESSAGE("Ralts TRACED Foe Torchic's Blaze!"); + MESSAGE("It traced the opposing Torchic's Blaze!"); } } @@ -76,7 +76,7 @@ SINGLE_BATTLE_TEST("Trace will copy an opponent's ability whenever it has the ch } SCENE { // TURN 2 ABILITY_POPUP(player, ABILITY_TRACE); - MESSAGE("Ralts TRACED Foe Torchic's Blaze!"); + MESSAGE("It traced the opposing Torchic's Blaze!"); } } diff --git a/test/battle/ability/vessel_of_ruin.c b/test/battle/ability/vessel_of_ruin.c index 362b44c00393..6531cbbf3aae 100644 --- a/test/battle/ability/vessel_of_ruin.c +++ b/test/battle/ability/vessel_of_ruin.c @@ -70,6 +70,6 @@ SINGLE_BATTLE_TEST("Vessel of Ruin's message displays correctly after all battle SEND_IN_MESSAGE("Wobbuffet"); MESSAGE("2 sent out Ting-Lu!"); ABILITY_POPUP(opponent, ABILITY_VESSEL_OF_RUIN); - MESSAGE("Foe Ting-Lu's Vessel of Ruin weakened the Sp. Atk of all surrounding Pokémon!"); + MESSAGE("The opposing Ting-Lu's Vessel of Ruin weakened the Sp. Atk of all surrounding Pokémon!"); } } diff --git a/test/battle/ability/volt_absorb.c b/test/battle/ability/volt_absorb.c index b438e794f0bd..93498bd1c711 100644 --- a/test/battle/ability/volt_absorb.c +++ b/test/battle/ability/volt_absorb.c @@ -51,7 +51,7 @@ SINGLE_BATTLE_TEST("Volt Absorb is only triggered once on multi strike moves") ASSUME(gMovesInfo[MOVE_FURY_SWIPES].type == TYPE_NORMAL); ASSUME(gMovesInfo[MOVE_FURY_SWIPES].effect == EFFECT_MULTI_HIT); PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(100); } - OPPONENT(SPECIES_GRAVELER_ALOLAN) { Ability(ABILITY_GALVANIZE); } + OPPONENT(SPECIES_GRAVELER_ALOLA) { Ability(ABILITY_GALVANIZE); } } WHEN { TURN { MOVE(opponent, MOVE_FURY_SWIPES); } } SCENE { @@ -69,7 +69,7 @@ DOUBLE_BATTLE_TEST("Volt Absorb does not stop Electric Typed Explosion from dama ASSUME(gMovesInfo[MOVE_EXPLOSION].type == TYPE_NORMAL); PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(100); } PLAYER(SPECIES_ABRA); - OPPONENT(SPECIES_GRAVELER_ALOLAN) { Ability(ABILITY_GALVANIZE); } + OPPONENT(SPECIES_GRAVELER_ALOLA) { Ability(ABILITY_GALVANIZE); } OPPONENT(SPECIES_WYNAUT); } WHEN { TURN { MOVE(opponentLeft, MOVE_EXPLOSION); } diff --git a/test/battle/ability/weak_armor.c b/test/battle/ability/weak_armor.c index 291b2ac639e9..7fd7e10ef7d4 100644 --- a/test/battle/ability/weak_armor.c +++ b/test/battle/ability/weak_armor.c @@ -95,7 +95,7 @@ SINGLE_BATTLE_TEST("Weak Armor still lowers boosts Speed if Defense can't go any ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Slugma's Weak Armor lowered its Defense!"); } - MESSAGE("Slugma's Defense won't go lower!"); + MESSAGE("Slugma's Defense won't go any lower!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Slugma's Weak Armor raised its Speed!"); } THEN { @@ -124,7 +124,7 @@ SINGLE_BATTLE_TEST("Weak Armor still lowers Defense if Speed can't go any higher ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Slugma's Weak Armor raised its Speed!"); } - MESSAGE("Slugma's Speed won't go higher!"); + MESSAGE("Slugma's Speed won't go any higher!"); } THEN { EXPECT_EQ(player->statStages[STAT_DEF], DEFAULT_STAT_STAGE - 1); EXPECT_EQ(player->statStages[STAT_SPEED], MAX_STAT_STAGE); @@ -151,7 +151,7 @@ SINGLE_BATTLE_TEST("Weak Armor doesn't interrupt multi hit moves if Defense can' } ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_SWIPES, opponent); ABILITY_POPUP(player, ABILITY_WEAK_ARMOR); - MESSAGE("Magcargo's Defense won't go lower!"); + MESSAGE("Magcargo's Defense won't go any lower!"); MESSAGE("Magcargo's Weak Armor raised its Speed!"); for (j = 0; j < 2; j++) { @@ -159,8 +159,8 @@ SINGLE_BATTLE_TEST("Weak Armor doesn't interrupt multi hit moves if Defense can' // Ability doesn't activate if neither stat can be changed. NONE_OF { ABILITY_POPUP(player, ABILITY_WEAK_ARMOR); - MESSAGE("Magcargo's Defense won't go lower!"); - MESSAGE("Magcargo's Speed won't go higher!"); + MESSAGE("Magcargo's Defense won't go any lower!"); + MESSAGE("Magcargo's Speed won't go any higher!"); } } } THEN { @@ -189,7 +189,7 @@ SINGLE_BATTLE_TEST("Weak Armor doesn't interrupt multi hit moves if Speed can't ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_SWIPES, opponent); ABILITY_POPUP(player, ABILITY_WEAK_ARMOR); MESSAGE("Magcargo's Weak Armor lowered its Defense!"); - MESSAGE("Magcargo's Speed won't go higher!"); + MESSAGE("Magcargo's Speed won't go any higher!"); } } THEN { EXPECT_EQ(player->statStages[STAT_DEF], DEFAULT_STAT_STAGE - 5); diff --git a/test/battle/ability/wind_power.c b/test/battle/ability/wind_power.c index 146c47f3dd87..6ccf896eaac7 100644 --- a/test/battle/ability/wind_power.c +++ b/test/battle/ability/wind_power.c @@ -82,7 +82,7 @@ SINGLE_BATTLE_TEST("Wind Power sets up Charge for opponent when hit by a wind mo HP_BAR(opponent); if (move == MOVE_AIR_CUTTER) { ABILITY_POPUP(opponent, ABILITY_WIND_POWER); - MESSAGE("Being hit by Air Cutter charged Foe Wattrel with power!"); + MESSAGE("Being hit by Air Cutter charged the opposing Wattrel with power!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDERBOLT, opponent); @@ -92,7 +92,7 @@ SINGLE_BATTLE_TEST("Wind Power sets up Charge for opponent when hit by a wind mo HP_BAR(opponent); if (move == MOVE_AIR_CUTTER) { ABILITY_POPUP(opponent, ABILITY_WIND_POWER); - MESSAGE("Being hit by Air Cutter charged Foe Wattrel with power!"); + MESSAGE("Being hit by Air Cutter charged the opposing Wattrel with power!"); } } THEN { @@ -205,10 +205,10 @@ DOUBLE_BATTLE_TEST("Wind Power activates correctly when Tailwind is used") ANIMATION(ANIM_TYPE_MOVE, MOVE_TAILWIND, opponentLeft); ABILITY_POPUP(opponentLeft, ABILITY_WIND_POWER); - MESSAGE("Being hit by Tailwind charged Foe Wattrel with power!"); + MESSAGE("Being hit by Tailwind charged the opposing Wattrel with power!"); ABILITY_POPUP(opponentRight, ABILITY_WIND_POWER); - MESSAGE("Being hit by Tailwind charged Foe Wattrel with power!"); + MESSAGE("Being hit by Tailwind charged the opposing Wattrel with power!"); } else { ANIMATION(ANIM_TYPE_MOVE, MOVE_TAILWIND, playerLeft); diff --git a/test/battle/ability/wind_rider.c b/test/battle/ability/wind_rider.c index cd4dbeed1f64..44baacc8a229 100644 --- a/test/battle/ability/wind_rider.c +++ b/test/battle/ability/wind_rider.c @@ -18,7 +18,7 @@ SINGLE_BATTLE_TEST("Wind Rider raises Attack by one stage if it sets up Tailwind ANIMATION(ANIM_TYPE_MOVE, MOVE_TAILWIND, opponent); ABILITY_POPUP(opponent, ABILITY_WIND_RIDER); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Bramblin's Attack rose!"); + MESSAGE("The opposing Bramblin's Attack rose!"); } THEN { EXPECT_EQ(opponent->statStages[STAT_ATK], DEFAULT_STAT_STAGE + 1); } @@ -37,7 +37,7 @@ DOUBLE_BATTLE_TEST("Wind Rider raises Attack by one stage if Tailwind is setup b ANIMATION(ANIM_TYPE_MOVE, MOVE_TAILWIND, opponentLeft); ABILITY_POPUP(opponentRight, ABILITY_WIND_RIDER); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Foe Bramblin's Attack rose!"); + MESSAGE("The opposing Bramblin's Attack rose!"); } THEN { EXPECT_EQ(opponentRight->statStages[STAT_ATK], DEFAULT_STAT_STAGE + 1); } @@ -55,7 +55,7 @@ SINGLE_BATTLE_TEST("Wind Rider doesn't raise Attack if opponent sets up Tailwind NONE_OF { ABILITY_POPUP(opponent, ABILITY_WIND_RIDER); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Bramblin's Attack rose!"); + MESSAGE("The opposing Bramblin's Attack rose!"); } } THEN { EXPECT_EQ(opponent->statStages[STAT_ATK], DEFAULT_STAT_STAGE); @@ -75,7 +75,7 @@ SINGLE_BATTLE_TEST("Wind Rider raises Attack by one stage if switched into Tailw ANIMATION(ANIM_TYPE_MOVE, MOVE_TAILWIND, opponent); ABILITY_POPUP(opponent, ABILITY_WIND_RIDER); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Bramblin's Wind Rider raised its Attack!"); + MESSAGE("The opposing Bramblin's Wind Rider raised its Attack!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player); } THEN { EXPECT_EQ(opponent->statStages[STAT_ATK], DEFAULT_STAT_STAGE + 1); @@ -93,13 +93,13 @@ SINGLE_BATTLE_TEST("Wind Rider activates when it's no longer effected by Neutral TURN { SWITCH(player, 1); } } SCENE { ABILITY_POPUP(player, ABILITY_NEUTRALIZING_GAS); - MESSAGE("Neutralizing Gas filled the area!"); + MESSAGE("Neutralizing gas filled the area!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TAILWIND, opponent); SWITCH_OUT_MESSAGE("Weezing"); - MESSAGE("The effects of Neutralizing Gas wore off!"); + MESSAGE("The effects of the neutralizing gas wore off!"); ABILITY_POPUP(opponent, ABILITY_WIND_RIDER); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Bramblin's Wind Rider raised its Attack!"); + MESSAGE("The opposing Bramblin's Wind Rider raised its Attack!"); } THEN { EXPECT_EQ(opponent->statStages[STAT_ATK], DEFAULT_STAT_STAGE + 1); } @@ -120,7 +120,7 @@ SINGLE_BATTLE_TEST("Wind Rider absorbs Wind moves and raises Attack by one stage } ABILITY_POPUP(opponent, ABILITY_WIND_RIDER); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Bramblin's Attack rose!"); + MESSAGE("The opposing Bramblin's Attack rose!"); } THEN { EXPECT_EQ(opponent->statStages[STAT_ATK], DEFAULT_STAT_STAGE + 1); } diff --git a/test/battle/ability/zen_mode.c b/test/battle/ability/zen_mode.c index 2734f7a9ec6a..6dae38e0fe76 100644 --- a/test/battle/ability/zen_mode.c +++ b/test/battle/ability/zen_mode.c @@ -4,8 +4,8 @@ SINGLE_BATTLE_TEST("Zen Mode switches Darmanitan's form when HP is half or less at the end of the turn") { u16 standardSpecies, zenSpecies; - PARAMETRIZE { standardSpecies = SPECIES_DARMANITAN_STANDARD_MODE; zenSpecies = SPECIES_DARMANITAN_ZEN_MODE; } - PARAMETRIZE { standardSpecies = SPECIES_DARMANITAN_GALARIAN_STANDARD_MODE; zenSpecies = SPECIES_DARMANITAN_GALARIAN_ZEN_MODE; } + PARAMETRIZE { standardSpecies = SPECIES_DARMANITAN_STANDARD; zenSpecies = SPECIES_DARMANITAN_ZEN; } + PARAMETRIZE { standardSpecies = SPECIES_DARMANITAN_GALAR_STANDARD; zenSpecies = SPECIES_DARMANITAN_GALAR_ZEN; } GIVEN { ASSUME(gSpeciesInfo[standardSpecies].baseHP == 105); @@ -20,7 +20,7 @@ SINGLE_BATTLE_TEST("Zen Mode switches Darmanitan's form when HP is half or less TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_TACKLE); } } SCENE { MESSAGE("Darmanitan used Celebrate!"); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); HP_BAR(player); ABILITY_POPUP(player, ABILITY_ZEN_MODE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); @@ -33,8 +33,8 @@ SINGLE_BATTLE_TEST("Zen Mode switches Darmanitan's form when HP is half or less SINGLE_BATTLE_TEST("Zen Mode switches Darmanitan's form when HP is half or less before the first turn") { u16 standardSpecies, zenSpecies; - PARAMETRIZE { standardSpecies = SPECIES_DARMANITAN_STANDARD_MODE; zenSpecies = SPECIES_DARMANITAN_ZEN_MODE; } - PARAMETRIZE { standardSpecies = SPECIES_DARMANITAN_GALARIAN_STANDARD_MODE; zenSpecies = SPECIES_DARMANITAN_GALARIAN_ZEN_MODE; } + PARAMETRIZE { standardSpecies = SPECIES_DARMANITAN_STANDARD; zenSpecies = SPECIES_DARMANITAN_ZEN; } + PARAMETRIZE { standardSpecies = SPECIES_DARMANITAN_GALAR_STANDARD; zenSpecies = SPECIES_DARMANITAN_GALAR_ZEN; } GIVEN { ASSUME(gSpeciesInfo[standardSpecies].baseHP == 105); @@ -51,7 +51,7 @@ SINGLE_BATTLE_TEST("Zen Mode switches Darmanitan's form when HP is half or less ABILITY_POPUP(player, ABILITY_ZEN_MODE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); MESSAGE("Darmanitan used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); } THEN { EXPECT_LE(player->hp, player->maxHP / 2); EXPECT_EQ(player->species, zenSpecies); @@ -61,8 +61,8 @@ SINGLE_BATTLE_TEST("Zen Mode switches Darmanitan's form when HP is half or less SINGLE_BATTLE_TEST("Zen Mode switches Darmanitan's form when HP is healed above half") { u16 standardSpecies, zenSpecies; - PARAMETRIZE { standardSpecies = SPECIES_DARMANITAN_STANDARD_MODE; zenSpecies = SPECIES_DARMANITAN_ZEN_MODE; } - PARAMETRIZE { standardSpecies = SPECIES_DARMANITAN_GALARIAN_STANDARD_MODE; zenSpecies = SPECIES_DARMANITAN_GALARIAN_ZEN_MODE; } + PARAMETRIZE { standardSpecies = SPECIES_DARMANITAN_STANDARD; zenSpecies = SPECIES_DARMANITAN_ZEN; } + PARAMETRIZE { standardSpecies = SPECIES_DARMANITAN_GALAR_STANDARD; zenSpecies = SPECIES_DARMANITAN_GALAR_ZEN; } GIVEN { ASSUME(gSpeciesInfo[standardSpecies].baseHP == 105); @@ -79,7 +79,7 @@ SINGLE_BATTLE_TEST("Zen Mode switches Darmanitan's form when HP is healed above ABILITY_POPUP(player, ABILITY_ZEN_MODE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); MESSAGE("Darmanitan used Celebrate!"); - MESSAGE("Foe Wobbuffet used Heal Pulse!"); + MESSAGE("The opposing Wobbuffet used Heal Pulse!"); HP_BAR(player); ABILITY_POPUP(player, ABILITY_ZEN_MODE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); diff --git a/test/battle/ability/zero_to_hero.c b/test/battle/ability/zero_to_hero.c index be72a55a7e4e..733104f15301 100644 --- a/test/battle/ability/zero_to_hero.c +++ b/test/battle/ability/zero_to_hero.c @@ -50,7 +50,7 @@ SINGLE_BATTLE_TEST("Zero to Hero transforms both player and opponent") ABILITY_POPUP(player, ABILITY_ZERO_TO_HERO); MESSAGE("Palafin underwent a heroic transformation!"); ABILITY_POPUP(opponent, ABILITY_ZERO_TO_HERO); - MESSAGE("Foe Palafin underwent a heroic transformation!"); + MESSAGE("The opposing Palafin underwent a heroic transformation!"); } THEN { EXPECT_EQ(player->species, SPECIES_PALAFIN_HERO); EXPECT_EQ(opponent->species, SPECIES_PALAFIN_HERO); @@ -109,7 +109,7 @@ SINGLE_BATTLE_TEST("Transform doesn't apply the heroic transformation message wh ABILITY_POPUP(player, ABILITY_ZERO_TO_HERO); MESSAGE("Palafin underwent a heroic transformation!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TRANSFORM, opponent); - MESSAGE("Foe Wobbuffet transformed into Palafin!"); + MESSAGE("The opposing Wobbuffet transformed into Palafin!"); NOT ABILITY_POPUP(opponent, ABILITY_ZERO_TO_HERO); } THEN { EXPECT_EQ(player->species, SPECIES_PALAFIN_HERO); } } @@ -128,10 +128,10 @@ SINGLE_BATTLE_TEST("Imposter doesn't apply the heroic transformation message whe ABILITY_POPUP(player, ABILITY_ZERO_TO_HERO); MESSAGE("Palafin underwent a heroic transformation!"); ABILITY_POPUP(opponent, ABILITY_IMPOSTER); - MESSAGE("Foe Ditto transformed into Palafin using Imposter!"); + MESSAGE("The opposing Ditto transformed into Palafin using Imposter!"); NONE_OF { ABILITY_POPUP(opponent, ABILITY_ZERO_TO_HERO); - MESSAGE("Foe Ditto underwent a heroic transformation!"); + MESSAGE("The opposing Ditto underwent a heroic transformation!"); } } THEN { EXPECT_EQ(player->species, SPECIES_PALAFIN_HERO); } } @@ -178,7 +178,7 @@ SINGLE_BATTLE_TEST("Zero to Hero's message displays correctly after all battlers SEND_IN_MESSAGE("Wobbuffet"); MESSAGE("2 sent out Palafin!"); ABILITY_POPUP(opponent, ABILITY_ZERO_TO_HERO); - MESSAGE("Foe Palafin underwent a heroic transformation!"); + MESSAGE("The opposing Palafin underwent a heroic transformation!"); } } @@ -193,7 +193,7 @@ SINGLE_BATTLE_TEST("Zero to Hero cannot be copied by Trace") } SCENE { NONE_OF { ABILITY_POPUP(opponent, ABILITY_TRACE); - MESSAGE("Foe Ralts Traced Palafin's Zero to Hero!"); + MESSAGE("The opposing Ralts Traced Palafin's Zero to Hero!"); } } } diff --git a/test/battle/ai/ai.c b/test/battle/ai/ai.c index b52e64262dd1..0883e3cc5996 100644 --- a/test/battle/ai/ai.c +++ b/test/battle/ai/ai.c @@ -419,7 +419,7 @@ AI_DOUBLE_BATTLE_TEST("AI will not use Helping Hand if partner does not have any SCORE_LT_VAL(opponentLeft, MOVE_HELPING_HAND, AI_SCORE_DEFAULT, target:opponentLeft); } } SCENE { - NOT MESSAGE("Foe Wobbuffet used Helping Hand!"); + NOT MESSAGE("The opposing Wobbuffet used Helping Hand!"); } } @@ -448,7 +448,7 @@ AI_DOUBLE_BATTLE_TEST("AI will not use a status move if partner already chose He SCORE_LT_VAL(opponentRight, statusMove, AI_SCORE_DEFAULT, target:opponentLeft); } } SCENE { - MESSAGE("Foe Wobbuffet used Helping Hand!"); + MESSAGE("The opposing Wobbuffet used Helping Hand!"); } } @@ -567,8 +567,8 @@ AI_SINGLE_BATTLE_TEST("AI will only choose Surf 1/3 times if the opposing mon ha TURN { EXPECT_MOVE(opponent, MOVE_SURF); } TURN { EXPECT_MOVE(opponent, MOVE_SURF); } } SCENE { - MESSAGE("Foe Lanturn used Surf!"); - MESSAGE("Foe Lanturn used Surf!"); + MESSAGE("The opposing Lanturn used Surf!"); + MESSAGE("The opposing Lanturn used Surf!"); } } @@ -584,8 +584,8 @@ AI_SINGLE_BATTLE_TEST("AI will choose Thunderbolt then Surf 2/3 times if the opp TURN { EXPECT_MOVE(opponent, MOVE_THUNDERBOLT); } TURN { EXPECT_MOVE(opponent, MOVE_SURF); } } SCENE { - MESSAGE("Foe Lanturn used Thunderbolt!"); - MESSAGE("Foe Lanturn used Surf!"); + MESSAGE("The opposing Lanturn used Thunderbolt!"); + MESSAGE("The opposing Lanturn used Surf!"); } } @@ -739,6 +739,7 @@ AI_SINGLE_BATTLE_TEST("AI calculates guaranteed criticals and detects critical i AI_DOUBLE_BATTLE_TEST("AI recognizes Volt Absorb received from Trace") { + KNOWN_FAILING; // MGriffin's PR that switched two turn charging moves in AI tests broke this test, waiting on a fix GIVEN { AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); PLAYER(SPECIES_MAGNETON); diff --git a/test/battle/ai/ai_check_viability.c b/test/battle/ai/ai_check_viability.c index fa921e8674bc..37ad7edb1546 100644 --- a/test/battle/ai/ai_check_viability.c +++ b/test/battle/ai/ai_check_viability.c @@ -167,7 +167,7 @@ AI_SINGLE_BATTLE_TEST("AI can choose Counter or Mirror Coat if the predicted mov TURN { MOVE(player, playerMove); EXPECT_MOVE(opponent, opponentMove); } TURN { MOVE(player, playerMove); EXPECT_MOVE(opponent, MOVE_STRENGTH); } } SCENE { - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet fainted!"); } } @@ -239,3 +239,18 @@ AI_SINGLE_BATTLE_TEST("AI chooses moves that cure inactive party members") TURN { EXPECT_MOVE(opponent, MOVE_HEAL_BELL); } } } + +AI_DOUBLE_BATTLE_TEST("AI prioritizes Skill Swapping Contrary to allied mons that would benefit from it") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_SKILL_SWAP].effect == EFFECT_SKILL_SWAP); + ASSUME(gMovesInfo[MOVE_OVERHEAT].additionalEffects[0].moveEffect == MOVE_EFFECT_SP_ATK_MINUS_2); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_DOUBLE_BATTLE); + PLAYER(SPECIES_WOBBUFFET) { Speed(3); } + PLAYER(SPECIES_WOBBUFFET) { Speed(3); } + OPPONENT(SPECIES_SPINDA) { Ability(ABILITY_CONTRARY); Speed(5); Moves(MOVE_SKILL_SWAP, MOVE_ENCORE, MOVE_FAKE_TEARS, MOVE_SWAGGER); } + OPPONENT(SPECIES_ARCANINE) { Ability(ABILITY_INTIMIDATE); Speed(4); Moves (MOVE_OVERHEAT); } + } WHEN { + TURN { EXPECT_MOVE(opponentLeft, MOVE_SKILL_SWAP, target:opponentRight); EXPECT_MOVE(opponentRight, MOVE_OVERHEAT); } + } +} diff --git a/test/battle/ai/ai_double_ace.c b/test/battle/ai/ai_double_ace.c new file mode 100644 index 000000000000..aec37b9307e5 --- /dev/null +++ b/test/battle/ai/ai_double_ace.c @@ -0,0 +1,96 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS { + ASSUME(gMovesInfo[MOVE_U_TURN].effect == EFFECT_HIT_ESCAPE); + ASSUME(gMovesInfo[MOVE_CRUNCH].type == TYPE_DARK); + ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[0] == TYPE_PSYCHIC); + ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[1] == TYPE_PSYCHIC); +} + +AI_DOUBLE_BATTLE_TEST("AI_FLAG_DOUBLE_ACE_POKEMON: U-Turn won't send out any of the Ace Mons if other options exist") +{ + u32 flag; + + PARAMETRIZE { flag = AI_FLAG_DOUBLE_ACE_POKEMON; } + PARAMETRIZE { flag = 0; } + + GIVEN { + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_SMART_SWITCHING | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_MON_CHOICES | flag); + + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + + OPPONENT(SPECIES_GASTLY) { Moves(MOVE_U_TURN); } + OPPONENT(SPECIES_DUSKULL) { Moves(MOVE_U_TURN); } + + OPPONENT(SPECIES_HAUNTER) { Moves(MOVE_U_TURN); } + OPPONENT(SPECIES_GENGAR) { Moves(MOVE_U_TURN); } + + // Aces + // Crunch is super effective against Wobbuffet Psychic type, so normally the AI would switch them in + OPPONENT(SPECIES_POOCHYENA) { Moves(MOVE_CRUNCH); } + OPPONENT(SPECIES_MIGHTYENA) { Moves(MOVE_CRUNCH); } + } WHEN { + TURN { + EXPECT_MOVE(opponentLeft, MOVE_U_TURN); + EXPECT_MOVE(opponentRight, MOVE_U_TURN); + + if(flag == AI_FLAG_DOUBLE_ACE_POKEMON) { + EXPECT_SEND_OUT(opponentLeft, 3); + EXPECT_SEND_OUT(opponentRight, 2); + } else { + EXPECT_SEND_OUT(opponentLeft, 4); + EXPECT_SEND_OUT(opponentRight, 5); + } + } + } +} + +AI_DOUBLE_BATTLE_TEST("AI_FLAG_DOUBLE_ACE_POKEMON: U-Turn will send out an Ace Mon if no other options remain") +{ + GIVEN { + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_SMART_SWITCHING | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_MON_CHOICES | AI_FLAG_DOUBLE_ACE_POKEMON); + + PLAYER(SPECIES_WOBBUFFET) { Level(50); } + PLAYER(SPECIES_WOBBUFFET) { Level(50); } + + OPPONENT(SPECIES_GASTLY) { Moves(MOVE_U_TURN); Level(50); } + OPPONENT(SPECIES_DUSKULL) { Moves(MOVE_U_TURN); Level(5); } + + // Aces + // Should choose Poochyena as its level is higher. + OPPONENT(SPECIES_MIGHTYENA) { Moves(MOVE_CRUNCH); Level(5); } + OPPONENT(SPECIES_POOCHYENA) { Moves(MOVE_CRUNCH); Level(50); } + } WHEN { + TURN { + EXPECT_MOVE(opponentLeft, MOVE_U_TURN); + EXPECT_MOVE(opponentRight, MOVE_U_TURN); + + EXPECT_SEND_OUT(opponentLeft, 3); + EXPECT_SEND_OUT(opponentRight, 0); + } + } +} + +AI_DOUBLE_BATTLE_TEST("AI_FLAG_DOUBLE_ACE_POKEMON: Ace mons won't be switched in even if they are the best candidates") +{ + GIVEN { + ASSUME(gSpeciesInfo[SPECIES_GENGAR].types[0] == TYPE_GHOST); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_SMART_SWITCHING | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_MON_CHOICES | AI_FLAG_DOUBLE_ACE_POKEMON); + + PLAYER(SPECIES_GENGAR) { Level(10); } + PLAYER(SPECIES_GENGAR) { Level(10); } + + OPPONENT(SPECIES_RATTATA) { Moves(MOVE_TACKLE); Level(10); } + OPPONENT(SPECIES_PSYDUCK) { Moves(MOVE_TACKLE); Level(10); } + + OPPONENT(SPECIES_ABRA) { Moves(MOVE_ABSORB); Level(20); } + + // Aces + OPPONENT(SPECIES_MIGHTYENA) { Moves(MOVE_CRUNCH); Level(50); } + OPPONENT(SPECIES_POOCHYENA) { Moves(MOVE_CRUNCH); Level(50); } + } WHEN { + TURN { EXPECT_SWITCH(opponentLeft, 2); } + } +} diff --git a/test/battle/ai/ai_flag_risky.c b/test/battle/ai/ai_flag_risky.c index e1ceeb2161b3..87be344ab8d4 100644 --- a/test/battle/ai/ai_flag_risky.c +++ b/test/battle/ai/ai_flag_risky.c @@ -68,7 +68,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_RISKY: Mid-battle switches prioritize offensive o PLAYER(SPECIES_SWELLOW) { Level(30); Moves(MOVE_WING_ATTACK, MOVE_BOOMBURST); Speed(5); } OPPONENT(SPECIES_PONYTA) { Level(1); Moves(MOVE_NONE); Speed(4); } // Forces switchout OPPONENT(SPECIES_ARON) { Level(30); Moves(MOVE_HEADBUTT); Speed(4); SpDefense(41); } // Mid battle, AI sends out Aron - OPPONENT(SPECIES_ELECTRODE) { Level(30); Moves(MOVE_CHARGE_BEAM); Speed(6); } + OPPONENT(SPECIES_ELECTRODE) { Level(30); Moves(MOVE_CHARGE_BEAM); Speed(6); Ability(ABILITY_STATIC); } } WHEN { TURN { MOVE(player, MOVE_WING_ATTACK); EXPECT_SWITCH(opponent, aiRiskyFlag? 2 : 1); } } diff --git a/test/battle/ai/ai_flag_sequence_switching.c b/test/battle/ai/ai_flag_sequence_switching.c index b91df65d152a..8502efbba77c 100644 --- a/test/battle/ai/ai_flag_sequence_switching.c +++ b/test/battle/ai/ai_flag_sequence_switching.c @@ -60,11 +60,11 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SEQUENCE_SWITCHING: Roar and Dragon Tail still fo TURN { MOVE(player, move); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, move, player); - MESSAGE("Foe Bulbasaur was dragged out!"); + MESSAGE("The opposing Bulbasaur was dragged out!"); } } -AI_SINGLE_BATTLE_TEST("AI_FLAG_SEQUENCE_SWITCHING: AI will always switch into lowest party index after U-Turn, Parting Shot, and Baton Pass") +AI_SINGLE_BATTLE_TEST("AI_FLAG_SEQUENCE_SWITCHING: AI will always switch into lowest party index after U-Turn, Parting Shot, Baton Pass, and Chilly Reception") { u32 j, aiSequenceSwitchingFlag = 0, move = MOVE_NONE; @@ -72,6 +72,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SEQUENCE_SWITCHING: AI will always switch into lo MOVE_U_TURN, MOVE_PARTING_SHOT, MOVE_BATON_PASS, + MOVE_CHILLY_RECEPTION, }; for (j = 0; j < ARRAY_COUNT(switchMoves); j++) @@ -84,6 +85,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SEQUENCE_SWITCHING: AI will always switch into lo ASSUME(gMovesInfo[MOVE_U_TURN].effect == EFFECT_HIT_ESCAPE); ASSUME(gMovesInfo[MOVE_PARTING_SHOT].effect == EFFECT_PARTING_SHOT); ASSUME(gMovesInfo[MOVE_BATON_PASS].effect == EFFECT_BATON_PASS); + ASSUME(gMovesInfo[MOVE_CHILLY_RECEPTION].effect == EFFECT_CHILLY_RECEPTION); AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | aiSequenceSwitchingFlag); PLAYER(SPECIES_SWELLOW) { Level (50); } OPPONENT(SPECIES_MACHOP) { Level(1); Moves(move); } diff --git a/test/battle/ai/ai_switching.c b/test/battle/ai/ai_switching.c index b9d4d6115db1..7f2368261d17 100644 --- a/test/battle/ai/ai_switching.c +++ b/test/battle/ai/ai_switching.c @@ -39,7 +39,7 @@ AI_SINGLE_BATTLE_TEST("AI switches if Perish Song is about to kill") } } -AI_DOUBLE_BATTLE_TEST("AI will not try to switch for the same pokemon for 2 spots in a double battle") +AI_DOUBLE_BATTLE_TEST("AI will not try to switch for the same pokemon for 2 spots in a double battle (all bad moves)") { u32 flags; @@ -67,6 +67,29 @@ AI_DOUBLE_BATTLE_TEST("AI will not try to switch for the same pokemon for 2 spot } } +AI_DOUBLE_BATTLE_TEST("AI will not try to switch for the same pokemon for 2 spots in a double battle (Wonder Guard)") +{ + GIVEN { + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_SHEDINJA); + PLAYER(SPECIES_SHEDINJA); + // No moves to damage player. + OPPONENT(SPECIES_LINOONE) { Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_LINOONE) { Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_GENGAR) { Moves(MOVE_SHADOW_BALL); } + } WHEN { + TURN { EXPECT_SWITCH(opponentLeft, 3); }; + } SCENE { + MESSAGE("{PKMN} TRAINER LEAF withdrew Linoone!"); + MESSAGE("{PKMN} TRAINER LEAF sent out Gengar!"); + NONE_OF { + MESSAGE("{PKMN} TRAINER LEAF withdrew Zigzagoon!"); + MESSAGE("{PKMN} TRAINER LEAF sent out Gengar!"); + } + } +} + AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: U-Turn will send out Ace Mon if it's the only one remaining") { GIVEN { @@ -88,7 +111,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: Number of hits to KO calculati PLAYER(SPECIES_VENUSAUR) { Level(30); Moves(MOVE_TACKLE); } // Opponent party courtesy of Skolgrahd, who triggered the bug in the first place OPPONENT(SPECIES_PIKACHU) { Level(100); Moves(MOVE_ZIPPY_ZAP, MOVE_EXTREME_SPEED, MOVE_IRON_TAIL, MOVE_KNOCK_OFF); } - OPPONENT(SPECIES_NINETALES_ALOLAN) { Level(100); Moves(MOVE_AURORA_VEIL, MOVE_BLIZZARD, MOVE_MOONBLAST, MOVE_DISABLE); } + OPPONENT(SPECIES_NINETALES_ALOLA) { Level(100); Moves(MOVE_AURORA_VEIL, MOVE_BLIZZARD, MOVE_MOONBLAST, MOVE_DISABLE); } OPPONENT(SPECIES_WEAVILE) { Level(100); Moves(MOVE_NIGHT_SLASH, MOVE_TRIPLE_AXEL, MOVE_ICE_SHARD, MOVE_FAKE_OUT); } OPPONENT(SPECIES_DITTO) { Level(100); Moves(MOVE_TRANSFORM); } OPPONENT(SPECIES_TYPHLOSION) { Level(100); Moves(MOVE_ERUPTION, MOVE_HEAT_WAVE, MOVE_FOCUS_BLAST, MOVE_EXTRASENSORY); } @@ -122,9 +145,9 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: Avoid infinite loop if damage GIVEN { ASSUME(gItemsInfo[ITEM_LEFTOVERS].holdEffect == HOLD_EFFECT_LEFTOVERS); AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_SMART_MON_CHOICES); - PLAYER(SPECIES_MEOWTH_GALARIAN) { Level(100); Moves(MOVE_GROWL, MOVE_FAKE_OUT, MOVE_HONE_CLAWS); } + PLAYER(SPECIES_MEOWTH_GALAR) { Level(100); Moves(MOVE_GROWL, MOVE_FAKE_OUT, MOVE_HONE_CLAWS); } // Scenario courtesy of Duke, who triggered the bug in the first place - OPPONENT(SPECIES_MEOWTH_GALARIAN) { Level(5); Moves(MOVE_GROWL, MOVE_FAKE_OUT, MOVE_HONE_CLAWS); } + OPPONENT(SPECIES_MEOWTH_GALAR) { Level(5); Moves(MOVE_GROWL, MOVE_FAKE_OUT, MOVE_HONE_CLAWS); } OPPONENT(SPECIES_GEODUDE) { Level(5); Moves(MOVE_DOUBLE_EDGE); } OPPONENT(SPECIES_GEODUDE) { Level(5); Moves(MOVE_DOUBLE_EDGE); } OPPONENT(SPECIES_NOSEPASS) { Level(5); Moves(MOVE_DOUBLE_EDGE); } @@ -158,7 +181,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: AI will not switch in a Pokemo } WHEN { TURN { MOVE(player, MOVE_NIGHT_SLASH) ; EXPECT_SEND_OUT(opponent, alakazamFirst ? 1 : 2); } // AI doesn't send out Alakazam if it gets outsped } SCENE { - MESSAGE("Foe Kadabra fainted!"); + MESSAGE("The opposing Kadabra fainted!"); if (alakazamFirst) { MESSAGE(AI_TRAINER_NAME " sent out Alakazam!"); } else { @@ -215,23 +238,97 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: Mid-battle switches prioritize { GIVEN { AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_MON_CHOICES); - PLAYER(SPECIES_SWELLOW) { Level(30); Moves(MOVE_WING_ATTACK, MOVE_BOOMBURST); Speed(5); } + PLAYER(SPECIES_SWELLOW) { Level(30); Moves(MOVE_WING_ATTACK, MOVE_BOOMBURST); Speed(5); SpAttack(50); } OPPONENT(SPECIES_PONYTA) { Level(1); Moves(MOVE_NONE); Speed(4); } // Forces switchout - OPPONENT(SPECIES_ARON) { Level(30); Moves(MOVE_HEADBUTT); Speed(4); SpDefense(41); } // Mid battle, AI sends out Aron - OPPONENT(SPECIES_ELECTRODE) { Level(30); Moves(MOVE_CHARGE_BEAM); Speed(6); } + OPPONENT(SPECIES_ARON) { Level(30); Moves(MOVE_IRON_HEAD); Speed(4); SpDefense(50); } // Mid battle, AI sends out Aron + OPPONENT(SPECIES_ELECTRODE) { Level(30); Ability(ABILITY_STATIC); Moves(MOVE_CHARGE_BEAM); Speed(6); SpDefense(53);} } WHEN { TURN { MOVE(player, MOVE_WING_ATTACK); EXPECT_SWITCH(opponent, 1); } } } +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: Mid-battle switches prioritize offensive options after slow U-Turn") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_FALSE_SWIPE].effect == EFFECT_FALSE_SWIPE); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_MON_CHOICES); + PLAYER(SPECIES_SWELLOW) { Level(30); Moves(MOVE_FALSE_SWIPE, MOVE_BOOMBURST); Speed(5); SpAttack(50); } + OPPONENT(SPECIES_PONYTA) { Level(1); Moves(MOVE_U_TURN); Speed(4); } // Forces switchout + OPPONENT(SPECIES_ARON) { Level(30); Moves(MOVE_IRON_HEAD); Speed(4); SpDefense(50); } + OPPONENT(SPECIES_ELECTRODE) { Level(30); Ability(ABILITY_STATIC); Moves(MOVE_CHARGE_BEAM); Speed(6); SpDefense(53); } + } WHEN { + TURN { MOVE(player, MOVE_FALSE_SWIPE); EXPECT_SEND_OUT(opponent, 2); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: Mid-battle switches prioritize offensive options after Eject Button") +{ + GIVEN { + ASSUME(gItemsInfo[ITEM_EJECT_BUTTON].holdEffect == HOLD_EFFECT_EJECT_BUTTON); + ASSUME(gMovesInfo[MOVE_FALSE_SWIPE].effect == EFFECT_FALSE_SWIPE); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_MON_CHOICES); + PLAYER(SPECIES_SWELLOW) { Level(30); Moves(MOVE_FALSE_SWIPE, MOVE_BOOMBURST); Speed(5); SpAttack(50); } + OPPONENT(SPECIES_PONYTA) { Level(1); Item(ITEM_EJECT_BUTTON); Moves(MOVE_TACKLE); Speed(4); } // Forces switchout + OPPONENT(SPECIES_ARON) { Level(30); Moves(MOVE_IRON_HEAD); Speed(4); SpDefense(50); } + OPPONENT(SPECIES_ELECTRODE) { Level(30); Ability(ABILITY_STATIC); Moves(MOVE_CHARGE_BEAM); Speed(6); SpDefense(53); } + } WHEN { + TURN { MOVE(player, MOVE_FALSE_SWIPE); EXPECT_SEND_OUT(opponent, 2); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: Mid-battle switches prioritize offensive options after Eject Pack") +{ + GIVEN { + ASSUME(gItemsInfo[ITEM_EJECT_PACK].holdEffect == HOLD_EFFECT_EJECT_PACK); + ASSUME(gMovesInfo[MOVE_GROWL].effect == EFFECT_ATTACK_DOWN); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_MON_CHOICES); + PLAYER(SPECIES_SWELLOW) { Level(30); Moves(MOVE_GROWL, MOVE_BOOMBURST); Speed(5); SpAttack(50); } + OPPONENT(SPECIES_PONYTA) { Level(1); Item(ITEM_EJECT_PACK); Moves(MOVE_TACKLE); Speed(4); } // Forces switchout + OPPONENT(SPECIES_ARON) { Level(30); Moves(MOVE_IRON_HEAD); Speed(4); SpDefense(50); } + OPPONENT(SPECIES_ELECTRODE) { Level(30); Ability(ABILITY_STATIC); Moves(MOVE_CHARGE_BEAM); Speed(6); SpDefense(53); } + } WHEN { + TURN { MOVE(player, MOVE_GROWL); EXPECT_SEND_OUT(opponent, 2); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: Mid-battle switches prioritize defensive options after Eject Pack if mon outspeeds") +{ + GIVEN { + ASSUME(gItemsInfo[ITEM_EJECT_PACK].holdEffect == HOLD_EFFECT_EJECT_PACK); + ASSUME(MoveHasAdditionalEffectSelf(MOVE_OVERHEAT, MOVE_EFFECT_SP_ATK_MINUS_2) == TRUE); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_MON_CHOICES); + PLAYER(SPECIES_SWELLOW) { Level(30); Moves(MOVE_WING_ATTACK, MOVE_BOOMBURST); Speed(5); SpAttack(50); } + OPPONENT(SPECIES_PONYTA) { Level(1); Item(ITEM_EJECT_PACK); Moves(MOVE_OVERHEAT); Speed(6); } // Forces switchout + OPPONENT(SPECIES_ARON) { Level(30); Moves(MOVE_IRON_HEAD); Speed(4); SpDefense(50); } + OPPONENT(SPECIES_ELECTRODE) { Level(30); Ability(ABILITY_STATIC); Moves(MOVE_CHARGE_BEAM); Speed(6); SpDefense(53); } + } WHEN { + TURN { MOVE(player, MOVE_WING_ATTACK); EXPECT_SEND_OUT(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: Mid-battle switches prioritize offensive options after Eject Pack if mon outspeeds but was Intimidate'd") +{ + GIVEN { + ASSUME(gItemsInfo[ITEM_EJECT_PACK].holdEffect == HOLD_EFFECT_EJECT_PACK); + ASSUME(MoveHasAdditionalEffectSelf(MOVE_OVERHEAT, MOVE_EFFECT_SP_ATK_MINUS_2) == TRUE); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_MON_CHOICES); + PLAYER(SPECIES_STARAPTOR) { Level(30); Ability(ABILITY_INTIMIDATE); Moves(MOVE_WING_ATTACK, MOVE_BOOMBURST); Speed(5); SpAttack(50); } + OPPONENT(SPECIES_PONYTA) { Level(1); Item(ITEM_EJECT_PACK); Moves(MOVE_OVERHEAT); Speed(6); } // Forces switchout + OPPONENT(SPECIES_ARON) { Level(30); Moves(MOVE_IRON_HEAD); Speed(4); SpDefense(50); } + OPPONENT(SPECIES_ELECTRODE) { Level(30); Ability(ABILITY_STATIC); Moves(MOVE_CHARGE_BEAM); Speed(6); SpDefense(53); } + } WHEN { + TURN { MOVE(player, MOVE_WING_ATTACK); EXPECT_SWITCH(opponent, 2); } + } +} + AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: Post-KO switches prioritize offensive options") { GIVEN { AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_MON_CHOICES); PLAYER(SPECIES_SWELLOW) { Level(30); Moves(MOVE_WING_ATTACK, MOVE_BOOMBURST); Speed(5); } OPPONENT(SPECIES_PONYTA) { Level(1); Moves(MOVE_TACKLE); Speed(4); } - OPPONENT(SPECIES_ARON) { Level(30); Moves(MOVE_HEADBUTT); Speed(4); } // Mid battle, AI sends out Aron - OPPONENT(SPECIES_ELECTRODE) { Level(30); Moves(MOVE_CHARGE_BEAM); Speed(6); } + OPPONENT(SPECIES_ARON) { Level(30); Moves(MOVE_IRON_HEAD); Speed(4); } // Mid battle, AI sends out Aron + OPPONENT(SPECIES_ELECTRODE) { Level(30); Ability(ABILITY_STATIC); Moves(MOVE_CHARGE_BEAM); Speed(6); } } WHEN { TURN { MOVE(player, MOVE_WING_ATTACK); EXPECT_SEND_OUT(opponent, 2); } } @@ -367,6 +464,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if mon would ASSUME(gSpeciesInfo[SPECIES_PELIPPER].types[1] == TYPE_FLYING); ASSUME(gMovesInfo[MOVE_THUNDERBOLT].type == TYPE_ELECTRIC); ASSUME(gMovesInfo[MOVE_EARTHQUAKE].type == TYPE_GROUND); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING | AI_FLAG_SMART_MON_CHOICES); PLAYER(SPECIES_ELECTRODE) { Moves(MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_THUNDER_SHOCK); } OPPONENT(SPECIES_PELIPPER) { Moves(MOVE_EARTHQUAKE); }; @@ -376,12 +474,14 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if mon would } } -AI_SINGLE_BATTLE_TEST("Switch AI: AI will switch out if it can't deal damage to a mon with Wonder Guard 66% of the time") +AI_SINGLE_BATTLE_TEST("Switch AI: AI will switch out if it can't deal damage to a mon with Wonder Guard") { - PASSES_RANDOMLY(66, 100, RNG_AI_SWITCH_WONDER_GUARD); GIVEN { ASSUME(gSpeciesInfo[SPECIES_SHEDINJA].types[0] == TYPE_BUG); ASSUME(gSpeciesInfo[SPECIES_SHEDINJA].types[1] == TYPE_GHOST); + ASSUME(gSpeciesInfo[SPECIES_SHEDINJA].abilities[0] == ABILITY_WONDER_GUARD); + ASSUME(gSpeciesInfo[SPECIES_SHEDINJA].abilities[1] == ABILITY_NONE); + ASSUME(gSpeciesInfo[SPECIES_SHEDINJA].abilities[2] == ABILITY_NONE); ASSUME(gMovesInfo[MOVE_TACKLE].type == TYPE_NORMAL); ASSUME(gMovesInfo[MOVE_SHADOW_BALL].type == TYPE_GHOST); AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); @@ -393,9 +493,8 @@ AI_SINGLE_BATTLE_TEST("Switch AI: AI will switch out if it can't deal damage to } } -AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it can't deal damage to a mon with Wonder Guard 100% of the time") +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it can't deal damage to a mon with Wonder Guard") { - PASSES_RANDOMLY(100, 100, RNG_AI_SWITCH_WONDER_GUARD); GIVEN { ASSUME(gSpeciesInfo[SPECIES_SHEDINJA].types[0] == TYPE_BUG); ASSUME(gSpeciesInfo[SPECIES_SHEDINJA].types[1] == TYPE_GHOST); @@ -412,3 +511,401 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it can't d TURN { MOVE(player, MOVE_TACKLE) ; EXPECT_SWITCH(opponent, 1); } } } + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has been Toxic'd for at least two turns 50% of the time with more than 1/3 HP remaining with good switchin") +{ + u32 species = SPECIES_NONE, odds = 0; + PARAMETRIZE { species = SPECIES_ZIGZAGOON, odds = 0; } + PARAMETRIZE { species = SPECIES_HARIYAMA, odds = 50; } + PASSES_RANDOMLY(odds, 100, RNG_AI_SWITCH_BADLY_POISONED); + GIVEN { + ASSUME(gMovesInfo[MOVE_TOXIC].effect == EFFECT_TOXIC); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE, MOVE_CELEBRATE, MOVE_TOXIC, MOVE_AURA_SPHERE); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); } + OPPONENT(species) { Moves(MOVE_ROCK_SMASH); } + } WHEN { + TURN { MOVE(player, MOVE_TOXIC); EXPECT_MOVE(opponent, MOVE_TACKLE); } + TURN { MOVE(player, MOVE_AURA_SPHERE); EXPECT_MOVE(opponent, MOVE_TACKLE); } + TURN { MOVE(player, MOVE_AURA_SPHERE); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has been Curse'd 50% of the time") +{ + PASSES_RANDOMLY(50, 100, RNG_AI_SWITCH_CURSED); + GIVEN { + ASSUME(gMovesInfo[MOVE_CURSE].effect == EFFECT_CURSE); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_DUSCLOPS) { Moves(MOVE_FIRE_PUNCH, MOVE_CURSE); } + PLAYER(SPECIES_MILOTIC) { Moves(MOVE_WATER_GUN); } + OPPONENT(SPECIES_DUSCLOPS) { Moves(MOVE_SHADOW_BALL); } + OPPONENT(SPECIES_DUSCLOPS) { Moves(MOVE_SHADOW_BALL); } + } WHEN { + TURN { MOVE(player, MOVE_CURSE) ; EXPECT_MOVE(opponent, MOVE_SHADOW_BALL); } + TURN { MOVE(player, MOVE_FIRE_PUNCH); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has been Nightmare'd 33% of the time") +{ + PASSES_RANDOMLY(33, 100, RNG_AI_SWITCH_NIGHTMARE); + GIVEN { + ASSUME(gMovesInfo[MOVE_NIGHTMARE].effect == EFFECT_NIGHTMARE); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_GENGAR) { Moves(MOVE_NIGHTMARE); } + OPPONENT(SPECIES_DUSCLOPS) { Moves(MOVE_SHADOW_BALL); Status1(STATUS1_SLEEP); } + OPPONENT(SPECIES_DUSCLOPS) { Moves(MOVE_SHADOW_BALL); } + } WHEN { + TURN { MOVE(player, MOVE_NIGHTMARE) ; EXPECT_MOVE(opponent, MOVE_SHADOW_BALL); } + TURN { MOVE(player, MOVE_NIGHTMARE) ; EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has been Leech Seed'd 25% of the time") +{ + PASSES_RANDOMLY(25, 100, RNG_AI_SWITCH_SEEDED); + GIVEN { + ASSUME(gMovesInfo[MOVE_LEECH_SEED].effect == EFFECT_LEECH_SEED); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_WHIMSICOTT) { Moves(MOVE_LEECH_SEED); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); } + } WHEN { + TURN { MOVE(player, MOVE_LEECH_SEED) ; EXPECT_MOVE(opponent, MOVE_TACKLE); } + TURN { MOVE(player, MOVE_LEECH_SEED); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has been infatuated") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_ATTRACT].effect == EFFECT_ATTRACT); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_LUVDISC) { Moves(MOVE_ATTRACT); Gender(MON_FEMALE); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); Gender(MON_MALE); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); Gender(MON_MALE); } + } WHEN { + TURN { MOVE(player, MOVE_ATTRACT) ; EXPECT_MOVE(opponent, MOVE_TACKLE); } + TURN { MOVE(player, MOVE_ATTRACT) ; EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has been Yawn'd with more than 1/3 HP remaining") +{ + u32 hp; + PARAMETRIZE { hp = 30; } + PARAMETRIZE { hp = 10; } + GIVEN { + ASSUME(gMovesInfo[MOVE_YAWN].effect == EFFECT_YAWN); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_SLAKOTH) { Moves(MOVE_TACKLE, MOVE_YAWN); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); HP(hp); MaxHP(30); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); } + } WHEN { + TURN { MOVE(player, MOVE_YAWN) ; EXPECT_MOVE(opponent, MOVE_TACKLE); } + if (hp == 30) + TURN { MOVE(player, MOVE_YAWN) ; EXPECT_SWITCH(opponent, 1); } + else + TURN { MOVE(player, MOVE_YAWN) ; EXPECT_MOVE(opponent, MOVE_TACKLE); } + } +} + +AI_DOUBLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has been Yawn'd with more than 1/3 HP remaining (Doubles)") +{ + u32 hp; + PARAMETRIZE { hp = 30; } + PARAMETRIZE { hp = 10; } + GIVEN { + ASSUME(gMovesInfo[MOVE_YAWN].effect == EFFECT_YAWN); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_SLAKOTH) { Moves(MOVE_TACKLE, MOVE_CELEBRATE, MOVE_YAWN); } + PLAYER(SPECIES_SLAKOTH) { Moves(MOVE_TACKLE, MOVE_CELEBRATE, MOVE_YAWN); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); HP(hp); MaxHP(30); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_YAWN, target: opponentLeft); MOVE(playerRight, MOVE_CELEBRATE, target: opponentLeft); } + if (hp == 30) + TURN { MOVE(playerLeft, MOVE_YAWN, target: opponentLeft); MOVE(playerRight, MOVE_CELEBRATE, target: opponentLeft); EXPECT_SWITCH(opponentLeft, 2); } + else + TURN { MOVE(playerLeft, MOVE_YAWN, target: opponentLeft); MOVE(playerRight, MOVE_CELEBRATE, target: opponentLeft); EXPECT_MOVE(opponentLeft, MOVE_TACKLE); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if player's mon is semi-invulnerable and it has an absorber") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_DIVE].type == TYPE_WATER); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_LUVDISC) { Moves(MOVE_DIVE); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_MANTINE) { Moves(MOVE_TACKLE); Ability(ABILITY_WATER_ABSORB); } + } WHEN { + TURN { MOVE(player, MOVE_DIVE) ; EXPECT_MOVE(opponent, MOVE_TACKLE); } + TURN { SKIP_TURN(player); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has an absorber but current mon has SE move 33% of the time") +{ + PASSES_RANDOMLY(33, 100, RNG_AI_SWITCH_ABSORBING); + GIVEN { + ASSUME(gMovesInfo[MOVE_WATER_GUN].type == TYPE_WATER); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_LUVDISC) { Moves(MOVE_WATER_GUN); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_SHOCK_WAVE); } + OPPONENT(SPECIES_MANTINE) { Moves(MOVE_TACKLE); Ability(ABILITY_WATER_ABSORB); } + } WHEN { + TURN { MOVE(player, MOVE_WATER_GUN) ; EXPECT_MOVE(opponent, MOVE_SHOCK_WAVE); } + TURN { MOVE(player, MOVE_WATER_GUN) ; EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if player's mon is charging and it has an absorber") +{ + PASSES_RANDOMLY(100, 100, RNG_AI_SWITCH_ABSORBING); + GIVEN { + ASSUME(gMovesInfo[MOVE_SOLAR_BEAM].type == TYPE_GRASS); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_BELLOSSOM) { Moves(MOVE_SOLAR_BEAM); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_AZUMARILL) { Moves(MOVE_PLAY_ROUGH); Ability(ABILITY_SAP_SIPPER); } + } WHEN { + TURN { MOVE(player, MOVE_SOLAR_BEAM) ; EXPECT_MOVE(opponent, MOVE_TACKLE); } + TURN { SKIP_TURN(player); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if player's mon is charging and it has a good switchin immunity (type)") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_DIG].type == TYPE_GROUND); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_SANDSHREW) { Moves(MOVE_DIG); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_SWELLOW) { Moves(MOVE_WING_ATTACK); } + } WHEN { + TURN { MOVE(player, MOVE_DIG) ; EXPECT_MOVE(opponent, MOVE_TACKLE); } + TURN { SKIP_TURN(player); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if player's mon is charging and it has a good switchin immunity (ability)") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_DIG].type == TYPE_GROUND); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_SANDSHREW) { Moves(MOVE_DIG); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_BRONZONG) { Moves(MOVE_PSYCHIC); Ability(ABILITY_LEVITATE); } + } WHEN { + TURN { MOVE(player, MOVE_DIG) ; EXPECT_MOVE(opponent, MOVE_TACKLE); } + TURN { SKIP_TURN(player); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has an absorber") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_WATER_GUN].type == TYPE_WATER); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_LUVDISC) { Moves(MOVE_WATER_GUN); } + OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_MANTINE) { Moves(MOVE_TACKLE); Ability(ABILITY_WATER_ABSORB); } + } WHEN { + TURN { MOVE(player, MOVE_WATER_GUN) ; EXPECT_MOVE(opponent, MOVE_TACKLE); } + TURN { MOVE(player, MOVE_WATER_GUN) ; EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if opponent uses two-turn move and it has a switchin that wins 1v1") +{ + u32 move; + PARAMETRIZE { move = MOVE_SKY_ATTACK; } + PARAMETRIZE { move = MOVE_FLY; } + + GIVEN { + ASSUME(gMovesInfo[MOVE_FLY].effect == EFFECT_SEMI_INVULNERABLE); + ASSUME(gMovesInfo[MOVE_SKY_ATTACK].effect == EFFECT_TWO_TURNS_ATTACK); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_SWELLOW) { Moves(move); } + OPPONENT(SPECIES_MILOTIC) { Moves(MOVE_SURF); } + OPPONENT(SPECIES_LAIRON) { Moves(MOVE_ROCK_SLIDE); } + } WHEN { + TURN { MOVE(player, move); EXPECT_MOVE(opponent, MOVE_SURF); } + TURN { SKIP_TURN(player); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("Switch AI: AI will switch out if badly statused with >= 50% HP remaining and has Natural Cure and a good switchin 66% of the time") +{ + PASSES_RANDOMLY(66, 100, RNG_AI_SWITCH_NATURAL_CURE); + GIVEN { + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); + PLAYER(SPECIES_ODDISH) { Moves(MOVE_TOXIC, MOVE_TACKLE); } + OPPONENT(SPECIES_SWABLU) { Ability(ABILITY_NATURAL_CURE); Moves(MOVE_TACKLE, MOVE_PECK); } + OPPONENT(SPECIES_SWABLU) { Ability(ABILITY_NATURAL_CURE); Moves(MOVE_TACKLE); } + } WHEN { + TURN { MOVE(player, MOVE_TOXIC); EXPECT_MOVE(opponent, MOVE_PECK); } + TURN { MOVE(player, MOVE_TACKLE); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("Switch AI: AI will switch out if it has <= 66% HP remaining and has Regenerator and a good switchin 50% of the time") +{ + PASSES_RANDOMLY(50, 100, RNG_AI_SWITCH_REGENERATOR); + GIVEN { + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); + PLAYER(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_SLOWBRO) { MaxHP(100); HP(65); Ability(ABILITY_REGENERATOR); Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_SLOWBRO) { Ability(ABILITY_REGENERATOR); Moves(MOVE_TACKLE); } + } WHEN { + TURN { MOVE(player, MOVE_TACKLE); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has been Encore'd into a status move") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_ENCORE].effect == EFFECT_ENCORE); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_AZURILL) { Moves(MOVE_TACKLE, MOVE_ENCORE); } + OPPONENT(SPECIES_ODDISH) { Moves(MOVE_TOXIC, MOVE_SWEET_SCENT, MOVE_INGRAIN, MOVE_TACKLE); } + OPPONENT(SPECIES_ARON) { Moves(MOVE_METAL_CLAW); } + } WHEN { + TURN { EXPECT_MOVE(opponent, MOVE_TOXIC); MOVE(player, MOVE_ENCORE); } + TURN { MOVE(player, MOVE_ENCORE); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will stay in if Encore'd into super effective move") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_ENCORE].effect == EFFECT_ENCORE); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_AZURILL) { Moves(MOVE_TACKLE, MOVE_ENCORE); } + OPPONENT(SPECIES_ODDISH) { Moves(MOVE_ACID); } + OPPONENT(SPECIES_ARON) { Moves(MOVE_METAL_CLAW); } + } WHEN { + TURN { EXPECT_MOVE(opponent, MOVE_ACID); MOVE(player, MOVE_ENCORE); } + TURN { EXPECT_MOVE(opponent, MOVE_ACID); MOVE(player, MOVE_TACKLE); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if Encore'd into neutral move with good switchin 50% of the time") +{ + KNOWN_FAILING; // AI still switches even if ShouldSwitch is set to immediately return FALSE, something external seems to be triggering this + PASSES_RANDOMLY(50, 100, RNG_AI_SWITCH_ENCORE); + GIVEN { + ASSUME(gMovesInfo[MOVE_ENCORE].effect == EFFECT_ENCORE); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_AZURILL) { Moves(MOVE_TACKLE, MOVE_ENCORE); } + OPPONENT(SPECIES_ODDISH) { Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_ARON) { Moves(MOVE_METAL_CLAW); } + } WHEN { + TURN { EXPECT_MOVE(opponent, MOVE_TACKLE); MOVE(player, MOVE_ENCORE); } + TURN { MOVE(player, MOVE_TACKLE); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("Switch AI: AI will switch out if mon has Truant and opponent has Protect") +{ + GIVEN { + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_OMNISCIENT); + PLAYER(SPECIES_ARON) { Moves(MOVE_TACKLE, MOVE_PROTECT); } + OPPONENT(SPECIES_SLAKING) { Ability(ABILITY_TRUANT); Moves(MOVE_BRICK_BREAK); } + OPPONENT(SPECIES_ARON) { Moves(MOVE_TACKLE); } + } WHEN { + TURN { EXPECT_MOVE(opponent, MOVE_BRICK_BREAK); MOVE(player, MOVE_PROTECT); } + TURN { EXPECT_SWITCH(opponent, 1); MOVE(player, MOVE_TACKLE); } + } +} + +AI_SINGLE_BATTLE_TEST("Switch AI: AI will switch out if mon has Truant and opponent has invulnerability move and is faster") +{ + GIVEN { + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_OMNISCIENT); + PLAYER(SPECIES_SWELLOW) { Speed(5); Moves(MOVE_FLY); } + OPPONENT(SPECIES_SLAKING) { Speed(4); Ability(ABILITY_TRUANT); Moves(MOVE_ROCK_SLIDE); } + OPPONENT(SPECIES_ARON) { Speed(4); Moves(MOVE_TACKLE); } + } WHEN { + TURN { MOVE(player, MOVE_FLY); EXPECT_MOVE(opponent, MOVE_ROCK_SLIDE); } + TURN { SKIP_TURN(player); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if main attacking stat lowered by 2 stages with good switchin candidate 50% of the time") +{ + u32 aiSpecies = SPECIES_NONE, aiMove = MOVE_NONE, move = MOVE_NONE; + + PASSES_RANDOMLY(50, 100, RNG_AI_SWITCH_STATS_LOWERED); + PARAMETRIZE {move = MOVE_CHARM; aiSpecies = SPECIES_FLAREON; aiMove = MOVE_FIRE_FANG; }; + PARAMETRIZE {move = MOVE_EERIE_IMPULSE; aiSpecies = SPECIES_ESPEON; aiMove = MOVE_CONFUSION; }; + + GIVEN { + ASSUME(gMovesInfo[MOVE_CHARM].effect == EFFECT_ATTACK_DOWN_2); + ASSUME(gMovesInfo[MOVE_EERIE_IMPULSE].effect == EFFECT_SPECIAL_ATTACK_DOWN_2); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_ARON) { Moves(move, MOVE_TACKLE); } + OPPONENT(aiSpecies) { Moves(aiMove); } + OPPONENT(SPECIES_MILOTIC) { Moves(MOVE_SURF); } + } WHEN { + TURN { MOVE(player, move); EXPECT_MOVE(opponent, aiMove); } + TURN { MOVE(player, MOVE_TACKLE); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if main attacking stat lowered by 3+ stages") +{ + u32 aiSpecies = SPECIES_NONE, aiMove = MOVE_NONE, move = MOVE_NONE, move2 = MOVE_NONE; + + PASSES_RANDOMLY(100, 100, RNG_AI_SWITCH_STATS_LOWERED); + PARAMETRIZE {move = MOVE_GROWL; move2 = MOVE_CHARM; aiSpecies = SPECIES_FLAREON; aiMove = MOVE_FIRE_FANG; }; + PARAMETRIZE {move = MOVE_CONFIDE; move2 = MOVE_EERIE_IMPULSE; aiSpecies = SPECIES_ESPEON; aiMove = MOVE_STORED_POWER; }; + + GIVEN { + ASSUME(gMovesInfo[MOVE_CHARM].effect == EFFECT_ATTACK_DOWN_2); + ASSUME(gMovesInfo[MOVE_EERIE_IMPULSE].effect == EFFECT_SPECIAL_ATTACK_DOWN_2); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_ARON) { Moves(move, move2, MOVE_TACKLE); } + OPPONENT(aiSpecies) { Moves(aiMove); } + OPPONENT(SPECIES_MILOTIC) { Moves(MOVE_SURF); } + } WHEN { + TURN { MOVE(player, move); EXPECT_MOVE(opponent, aiMove); } + TURN { MOVE(player, move2); EXPECT_MOVE(opponent, aiMove); } + TURN { MOVE(player, MOVE_TACKLE); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("Switch AI: AI will switch into mon with good type matchup and SE move if current mon has no SE move and no stats raised") +{ + u32 odds = 0, species = SPECIES_NONE, move = MOVE_NONE; + PARAMETRIZE { odds = 33; species = SPECIES_SCIZOR; move = MOVE_X_SCISSOR; } + PARAMETRIZE { odds = 50; species = SPECIES_DUSCLOPS; move = MOVE_SHADOW_BALL; } + PASSES_RANDOMLY(odds, 100, RNG_AI_SWITCH_SE_DEFENSIVE); + GIVEN { + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); + PLAYER(SPECIES_MUNNA) { Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_MUNNA) { Moves(MOVE_TACKLE); } + OPPONENT(species) { Moves(move); } + } WHEN { + TURN { MOVE(player, MOVE_TACKLE); EXPECT_MOVE(opponent, MOVE_TACKLE); } + TURN { MOVE(player, MOVE_TACKLE); EXPECT_SWITCH(opponent, 1); } + } +} + +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: AI correctly handles abilities when scoring moves") +{ + GIVEN { + ASSUME(B_PRANKSTER_DARK_TYPES >= GEN_7); + ASSUME(gSpeciesInfo[SPECIES_GRENINJA].types[1] == TYPE_DARK); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_MON_CHOICES); + PLAYER(SPECIES_GRENINJA) { Moves(MOVE_WATER_GUN); } + OPPONENT(SPECIES_WHIMSICOTT) { Ability(ABILITY_PRANKSTER); Moves(MOVE_LEECH_SEED, MOVE_STUN_SPORE, MOVE_ABSORB); } + OPPONENT(SPECIES_WHIMSICOTT) { Ability(ABILITY_INFILTRATOR); } + } WHEN { + TURN { MOVE(player, MOVE_WATER_GUN); EXPECT_MOVE(opponent, MOVE_ABSORB); } + } +} diff --git a/test/battle/ai/ai_trytofaint.c b/test/battle/ai/ai_trytofaint.c index ed6e1fccdd1e..10eca2d676b1 100644 --- a/test/battle/ai/ai_trytofaint.c +++ b/test/battle/ai/ai_trytofaint.c @@ -43,7 +43,7 @@ AI_SINGLE_BATTLE_TEST("AI will choose a priority move if it is slower then the t TURN { MOVE(player, MOVE_STRENGTH); EXPECT_MOVE(opponent, MOVE_STRENGTH); } TURN { MOVE(player, MOVE_STRENGTH); EXPECT_MOVE(opponent, MOVE_QUICK_ATTACK); } } SCENE { - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet fainted!"); } } diff --git a/test/battle/battle_message.c b/test/battle/battle_message.c index 9ea74ceb27cc..423da7cf05e3 100644 --- a/test/battle/battle_message.c +++ b/test/battle/battle_message.c @@ -19,11 +19,11 @@ SINGLE_BATTLE_TEST("Battle Message: Send-in message depends on foe HP") if (hp > 69) MESSAGE("Go! Wynaut!"); else if (hp > 39) - MESSAGE("Do it! Wynaut!"); + MESSAGE("You're in charge, Wynaut!"); else if (hp > 9) MESSAGE("Go for it, Wynaut!"); else - MESSAGE("Your foe's weak! Get 'em, Wynaut!"); + MESSAGE("Your opponent's weak! Get 'em, Wynaut!"); } } diff --git a/test/battle/crit_chance.c b/test/battle/crit_chance.c index d4c8e2b1a007..3ff4e80b4efa 100644 --- a/test/battle/crit_chance.c +++ b/test/battle/crit_chance.c @@ -1,11 +1,6 @@ #include "global.h" #include "test/battle.h" -ASSUMPTIONS -{ - ASSUME(B_CRIT_CHANCE >= GEN_7); -} - SINGLE_BATTLE_TEST("Crit Chance: Side effected by Lucky Chant blocks critical hits") { GIVEN { @@ -135,6 +130,7 @@ SINGLE_BATTLE_TEST("Crit Chance: Focus Energy increases the user's critical hit { PASSES_RANDOMLY(1, 2, RNG_CRITICAL_HIT); GIVEN { + ASSUME(B_CRIT_CHANCE >= GEN_7); ASSUME(gMovesInfo[MOVE_FOCUS_ENERGY].effect == EFFECT_FOCUS_ENERGY); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); @@ -152,6 +148,7 @@ SINGLE_BATTLE_TEST("Crit Chance: High crit rate increases the critical hit ratio { PASSES_RANDOMLY(1, 8, RNG_CRITICAL_HIT); GIVEN { + ASSUME(B_CRIT_CHANCE >= GEN_7); ASSUME(gMovesInfo[MOVE_SLASH].criticalHitStage == 1); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); @@ -167,6 +164,7 @@ SINGLE_BATTLE_TEST("Crit Chance: Super Luck increases the critical hit ratio by { PASSES_RANDOMLY(1, 8, RNG_CRITICAL_HIT); GIVEN { + ASSUME(B_CRIT_CHANCE >= GEN_7); PLAYER(SPECIES_TOGEPI) { Ability(ABILITY_SUPER_LUCK); }; OPPONENT(SPECIES_WOBBUFFET); } WHEN { @@ -181,6 +179,7 @@ SINGLE_BATTLE_TEST("Crit Chance: Scope Lens increases the critical hit ratio by { PASSES_RANDOMLY(1, 8, RNG_CRITICAL_HIT); GIVEN { + ASSUME(B_CRIT_CHANCE >= GEN_7); ASSUME(gItemsInfo[ITEM_SCOPE_LENS].holdEffect == HOLD_EFFECT_SCOPE_LENS); PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_SCOPE_LENS); }; OPPONENT(SPECIES_WOBBUFFET); @@ -195,6 +194,7 @@ SINGLE_BATTLE_TEST("Crit Chance: Scope Lens increases the critical hit ratio by SINGLE_BATTLE_TEST("Crit Chance: High crit rate, Super Luck and Scope Lens cause the move to result in a critical hit") { GIVEN { + ASSUME(B_CRIT_CHANCE >= GEN_7); ASSUME(gMovesInfo[MOVE_SLASH].criticalHitStage == 1); ASSUME(gItemsInfo[ITEM_SCOPE_LENS].holdEffect == HOLD_EFFECT_SCOPE_LENS); PLAYER(SPECIES_WOBBUFFET) { Ability(ABILITY_SUPER_LUCK); Item(ITEM_SCOPE_LENS); }; @@ -215,11 +215,12 @@ SINGLE_BATTLE_TEST("Crit Chance: Signature items Leek and Lucky Punch increase t PASSES_RANDOMLY(1, 2, RNG_CRITICAL_HIT); PARAMETRIZE { species = SPECIES_FARFETCHD; item = ITEM_LEEK; } - PARAMETRIZE { species = SPECIES_FARFETCHD_GALARIAN; item = ITEM_LEEK; } + PARAMETRIZE { species = SPECIES_FARFETCHD_GALAR; item = ITEM_LEEK; } PARAMETRIZE { species = SPECIES_SIRFETCHD; item = ITEM_LEEK; } PARAMETRIZE { species = SPECIES_CHANSEY; item = ITEM_LUCKY_PUNCH; } GIVEN { + ASSUME(B_CRIT_CHANCE >= GEN_7); ASSUME(gItemsInfo[ITEM_LEEK].holdEffect == HOLD_EFFECT_LEEK); ASSUME(gItemsInfo[ITEM_LUCKY_PUNCH].holdEffect == HOLD_EFFECT_LUCKY_PUNCH); PLAYER(SPECIES_WOBBUFFET); @@ -236,6 +237,7 @@ SINGLE_BATTLE_TEST("Crit Chance: Dire Hit increases a battler's critical hit cha { PASSES_RANDOMLY(1, 2, RNG_CRITICAL_HIT); GIVEN { + ASSUME(B_CRIT_CHANCE >= GEN_7); ASSUME(gItemsInfo[ITEM_DIRE_HIT].battleUsage == EFFECT_ITEM_SET_FOCUS_ENERGY); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); @@ -244,7 +246,7 @@ SINGLE_BATTLE_TEST("Crit Chance: Dire Hit increases a battler's critical hit cha TURN { MOVE(player, MOVE_SCRATCH); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_FOCUS_ENERGY, player); - MESSAGE("Wobbuffet used Dire Hit to get pumped!"); + MESSAGE("Wobbuffet used the Dire Hit to get pumped!"); MESSAGE("Wobbuffet used Scratch!"); MESSAGE("A critical hit!"); } @@ -254,6 +256,7 @@ SINGLE_BATTLE_TEST("Crit Chance: Focus Energy increases critical hit ratio by tw { PASSES_RANDOMLY(8, 8, RNG_CRITICAL_HIT); GIVEN { + ASSUME(B_CRIT_CHANCE >= GEN_7); ASSUME(gMovesInfo[MOVE_SLASH].criticalHitStage == 1); ASSUME(gMovesInfo[MOVE_FOCUS_ENERGY].effect == EFFECT_FOCUS_ENERGY); PLAYER(SPECIES_WOBBUFFET); @@ -286,6 +289,7 @@ DOUBLE_BATTLE_TEST("Crit Chance: Dragon Cheer increases critical hit ratio by on { PASSES_RANDOMLY(1, 8, RNG_CRITICAL_HIT); GIVEN { + ASSUME(B_CRIT_CHANCE >= GEN_7); ASSUME(gMovesInfo[MOVE_TACKLE].criticalHitStage == 0); ASSUME(gMovesInfo[MOVE_DRAGON_CHEER].effect == EFFECT_DRAGON_CHEER); PLAYER(SPECIES_WOBBUFFET); @@ -306,6 +310,7 @@ DOUBLE_BATTLE_TEST("Crit Chance: Dragon Cheer increases critical hit ratio by tw { PASSES_RANDOMLY(1, 2, RNG_CRITICAL_HIT); GIVEN { + ASSUME(B_CRIT_CHANCE >= GEN_7); ASSUME(gMovesInfo[MOVE_TACKLE].criticalHitStage == 0); ASSUME(gMovesInfo[MOVE_DRAGON_CHEER].effect == EFFECT_DRAGON_CHEER); PLAYER(SPECIES_WOBBUFFET); diff --git a/test/battle/exp.c b/test/battle/exp.c index a7879b692c86..7e232f54829a 100644 --- a/test/battle/exp.c +++ b/test/battle/exp.c @@ -40,7 +40,7 @@ WILD_BATTLE_TEST("Higher leveled Pokemon give more exp", s32 exp) TURN { MOVE(player, MOVE_TACKLE); } } SCENE { MESSAGE("Wobbuffet used Tackle!"); - MESSAGE("Wild Caterpie fainted!"); + MESSAGE("The wild Caterpie fainted!"); EXPERIENCE_BAR(player, captureGainedExp: &results[i].exp); } FINALLY { EXPECT_GT(results[1].exp, results[0].exp); @@ -61,7 +61,7 @@ WILD_BATTLE_TEST("Lucky Egg boosts gained exp points by 50%", s32 exp) TURN { MOVE(player, MOVE_TACKLE); } } SCENE { MESSAGE("Wobbuffet used Tackle!"); - MESSAGE("Wild Caterpie fainted!"); + MESSAGE("The wild Caterpie fainted!"); EXPERIENCE_BAR(player, captureGainedExp: &results[i].exp); } FINALLY { EXPECT_MUL_EQ(results[1].exp, Q_4_12(1.5), results[0].exp); @@ -84,7 +84,7 @@ WILD_BATTLE_TEST("Exp is scaled to player and opponent's levels", s32 exp) TURN { MOVE(player, MOVE_TACKLE); } } SCENE { MESSAGE("Wobbuffet used Tackle!"); - MESSAGE("Wild Caterpie fainted!"); + MESSAGE("The wild Caterpie fainted!"); EXPERIENCE_BAR(player, captureGainedExp: &results[i].exp); } FINALLY { EXPECT_GT(results[0].exp, results[1].exp); @@ -108,7 +108,7 @@ WILD_BATTLE_TEST("Large exp gains are supported", s32 exp) // #1455 TURN { MOVE(player, MOVE_TACKLE); } } SCENE { MESSAGE("Wobbuffet used Tackle!"); - MESSAGE("Wild Blissey fainted!"); + MESSAGE("The wild Blissey fainted!"); EXPERIENCE_BAR(player, captureGainedExp: &results[i].exp); } THEN { EXPECT(GetMonData(&gPlayerParty[0], MON_DATA_LEVEL) > 1); @@ -136,7 +136,7 @@ WILD_BATTLE_TEST("Exp Share(held) gives Experience to mons which did not partici TURN { MOVE(player, MOVE_TACKLE); } } SCENE { MESSAGE("Wobbuffet used Tackle!"); - MESSAGE("Wild Caterpie fainted!"); + MESSAGE("The wild Caterpie fainted!"); // This message should appear only for gen6> exp share. NOT MESSAGE("The rest of your team gained EXP. Points thanks to the Exp. Share!"); } THEN { diff --git a/test/battle/form_change/battle_switch.c b/test/battle/form_change/battle_switch.c index ba564a02a170..ca7eafd8bf35 100644 --- a/test/battle/form_change/battle_switch.c +++ b/test/battle/form_change/battle_switch.c @@ -15,7 +15,7 @@ SINGLE_BATTLE_TEST("Aegislash reverts to Shield Form upon switching out") ABILITY_POPUP(player, ABILITY_STANCE_CHANGE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); MESSAGE("Aegislash used Tackle!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); } THEN { EXPECT_EQ(player->species, SPECIES_AEGISLASH_SHIELD); } diff --git a/test/battle/form_change/begin_battle.c b/test/battle/form_change/begin_battle.c index f240b5ca0762..bee9c4fe6b24 100644 --- a/test/battle/form_change/begin_battle.c +++ b/test/battle/form_change/begin_battle.c @@ -19,27 +19,27 @@ SINGLE_BATTLE_TEST("Zacian changes into its Crowned Form when holding the Rusted PARAMETRIZE { item = ITEM_NONE; } PARAMETRIZE { item = ITEM_RUSTED_SWORD; } GIVEN { - PLAYER(SPECIES_ZACIAN_HERO_OF_MANY_BATTLES) { Item(item); } + PLAYER(SPECIES_ZACIAN_HERO) { Item(item); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(player, MOVE_CELEBRATE); } } THEN { if (item == ITEM_NONE) - EXPECT_EQ(player->species, SPECIES_ZACIAN_HERO_OF_MANY_BATTLES); + EXPECT_EQ(player->species, SPECIES_ZACIAN_HERO); else - EXPECT_EQ(player->species, SPECIES_ZACIAN_CROWNED_SWORD); + EXPECT_EQ(player->species, SPECIES_ZACIAN_CROWNED); } } SINGLE_BATTLE_TEST("Zacian's Iron Head becomes Behemoth Blade upon form change") { GIVEN { - PLAYER(SPECIES_ZACIAN_HERO_OF_MANY_BATTLES) { Item(ITEM_RUSTED_SWORD); Moves(MOVE_IRON_HEAD, MOVE_CELEBRATE); } + PLAYER(SPECIES_ZACIAN_HERO) { Item(ITEM_RUSTED_SWORD); Moves(MOVE_IRON_HEAD, MOVE_CELEBRATE); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(player, MOVE_CELEBRATE); } } THEN { - ASSUME(player->species == SPECIES_ZACIAN_CROWNED_SWORD); // Assumes form change worked. + ASSUME(player->species == SPECIES_ZACIAN_CROWNED); // Assumes form change worked. EXPECT_EQ(player->moves[0], MOVE_BEHEMOTH_BLADE); } } @@ -50,27 +50,27 @@ SINGLE_BATTLE_TEST("Zamazenta changes into its Crowned Form when holding the Rus PARAMETRIZE { item = ITEM_NONE; } PARAMETRIZE { item = ITEM_RUSTED_SHIELD; } GIVEN { - PLAYER(SPECIES_ZAMAZENTA_HERO_OF_MANY_BATTLES) { Item(item); } + PLAYER(SPECIES_ZAMAZENTA_HERO) { Item(item); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(player, MOVE_CELEBRATE); } } THEN { if (item == ITEM_NONE) - EXPECT_EQ(player->species, SPECIES_ZAMAZENTA_HERO_OF_MANY_BATTLES); + EXPECT_EQ(player->species, SPECIES_ZAMAZENTA_HERO); else - EXPECT_EQ(player->species, SPECIES_ZAMAZENTA_CROWNED_SHIELD); + EXPECT_EQ(player->species, SPECIES_ZAMAZENTA_CROWNED); } } SINGLE_BATTLE_TEST("Zamazenta's Iron Head becomes Behemoth Bash upon form change") { GIVEN { - PLAYER(SPECIES_ZAMAZENTA_HERO_OF_MANY_BATTLES) { Item(ITEM_RUSTED_SHIELD); Moves(MOVE_IRON_HEAD, MOVE_CELEBRATE); } + PLAYER(SPECIES_ZAMAZENTA_HERO) { Item(ITEM_RUSTED_SHIELD); Moves(MOVE_IRON_HEAD, MOVE_CELEBRATE); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(player, MOVE_CELEBRATE); } } THEN { - ASSUME(player->species == SPECIES_ZAMAZENTA_CROWNED_SHIELD); // Assumes form change worked. + ASSUME(player->species == SPECIES_ZAMAZENTA_CROWNED); // Assumes form change worked. EXPECT_EQ(player->moves[0], MOVE_BEHEMOTH_BASH); } } diff --git a/test/battle/form_change/faint.c b/test/battle/form_change/faint.c index 849d8e5883c5..dffabb44de1c 100644 --- a/test/battle/form_change/faint.c +++ b/test/battle/form_change/faint.c @@ -10,7 +10,7 @@ SINGLE_BATTLE_TEST("Aegislash reverts to Shield Form upon fainting") } WHEN { TURN { MOVE(opponent, MOVE_GUST); SEND_OUT(player, 1); } } SCENE { - MESSAGE("Foe Wobbuffet used Gust!"); + MESSAGE("The opposing Wobbuffet used Gust!"); MESSAGE("Aegislash fainted!"); } THEN { EXPECT_EQ(GetMonData(&PLAYER_PARTY[0], MON_DATA_SPECIES), SPECIES_AEGISLASH_SHIELD); diff --git a/test/battle/form_change/mega_evolution.c b/test/battle/form_change/mega_evolution.c index ffab6af18b49..4c97c2c1519d 100644 --- a/test/battle/form_change/mega_evolution.c +++ b/test/battle/form_change/mega_evolution.c @@ -27,9 +27,9 @@ DOUBLE_BATTLE_TEST("Mega Evolution's order is determined by Speed - opponent fas } WHEN { TURN { MOVE(opponentLeft, MOVE_CELEBRATE, gimmick: GIMMICK_MEGA); MOVE(playerLeft, MOVE_CELEBRATE, gimmick: GIMMICK_MEGA); } } SCENE { - MESSAGE("Foe Gardevoir's Gardevoirite is reacting to 2's Mega Ring!"); + MESSAGE("The opposing Gardevoir's Gardevoirite is reacting to 2's Mega Ring!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_MEGA_EVOLUTION, opponentLeft); - MESSAGE("Foe Gardevoir has Mega Evolved into Mega Gardevoir!"); + MESSAGE("The opposing Gardevoir has Mega Evolved into Mega Gardevoir!"); MESSAGE("Venusaur's Venusaurite is reacting to 1's Mega Ring!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_MEGA_EVOLUTION, playerLeft); MESSAGE("Venusaur has Mega Evolved into Mega Venusaur!"); @@ -49,9 +49,9 @@ DOUBLE_BATTLE_TEST("Mega Evolution's order is determined by Speed - player faste MESSAGE("Venusaur's Venusaurite is reacting to 1's Mega Ring!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_MEGA_EVOLUTION, playerLeft); MESSAGE("Venusaur has Mega Evolved into Mega Venusaur!"); - MESSAGE("Foe Gardevoir's Gardevoirite is reacting to 2's Mega Ring!"); + MESSAGE("The opposing Gardevoir's Gardevoirite is reacting to 2's Mega Ring!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_MEGA_EVOLUTION, opponentLeft); - MESSAGE("Foe Gardevoir has Mega Evolved into Mega Gardevoir!"); + MESSAGE("The opposing Gardevoir has Mega Evolved into Mega Gardevoir!"); } } @@ -81,7 +81,7 @@ SINGLE_BATTLE_TEST("Mega Evolution affects turn order") TURN { MOVE(player, MOVE_CELEBRATE, gimmick: GIMMICK_MEGA); } } SCENE { MESSAGE("Gardevoir used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); } THEN { ASSUME(player->speed == 205); } @@ -99,7 +99,7 @@ SINGLE_BATTLE_TEST("Abilities replaced by Mega Evolution do not affect turn orde TURN { MOVE(player, MOVE_CELEBRATE, gimmick: GIMMICK_MEGA); } } SCENE { MESSAGE("Sableye used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); } THEN { ASSUME(player->speed == 45); } @@ -145,9 +145,9 @@ SINGLE_BATTLE_TEST("Regular Mega Evolution and Fervent Wish Mega Evolution can h ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_MEGA_EVOLUTION, player); MESSAGE("Rayquaza has Mega Evolved into Mega Rayquaza!"); - MESSAGE("Foe Gardevoir's Gardevoirite is reacting to 2's Mega Ring!"); + MESSAGE("The opposing Gardevoir's Gardevoirite is reacting to 2's Mega Ring!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_MEGA_EVOLUTION, opponent); - MESSAGE("Foe Gardevoir has Mega Evolved into Mega Gardevoir!"); + MESSAGE("The opposing Gardevoir has Mega Evolved into Mega Gardevoir!"); } THEN { EXPECT_EQ(player->species, SPECIES_RAYQUAZA_MEGA); EXPECT_EQ(opponent->species, SPECIES_GARDEVOIR_MEGA); @@ -168,10 +168,10 @@ SINGLE_BATTLE_TEST("Mega Evolved Pokemon do not change abilities after fainting" } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_MEGA_EVOLUTION, opponent); ANIMATION(ANIM_TYPE_MOVE, MOVE_CRUNCH, player); - MESSAGE("Foe Garchomp fainted!"); + MESSAGE("The opposing Garchomp fainted!"); NONE_OF { ABILITY_POPUP(opponent, ABILITY_ROUGH_SKIN); - MESSAGE("Wobbuffet was hurt by Foe Garchomp's Rough Skin!"); + MESSAGE("Wobbuffet was hurt by the opposing Garchomp's Rough Skin!"); HP_BAR(player); } } diff --git a/test/battle/form_change/primal_reversion.c b/test/battle/form_change/primal_reversion.c index df19a1d0d6af..72e2a7e3c696 100644 --- a/test/battle/form_change/primal_reversion.c +++ b/test/battle/form_change/primal_reversion.c @@ -15,12 +15,12 @@ SINGLE_BATTLE_TEST("Primal reversion happens for Groudon only when holding Red O } SCENE { if (heldItem == ITEM_RED_ORB) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, player); - MESSAGE("Groudon's Primal Reversion! It reverted to its primal form!"); + MESSAGE("Groudon's Primal Reversion! It reverted to its primal state!"); } else { NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, player); - MESSAGE("Groudon's Primal Reversion! It reverted to its primal form!"); + MESSAGE("Groudon's Primal Reversion! It reverted to its primal state!"); } } } THEN { @@ -47,12 +47,12 @@ SINGLE_BATTLE_TEST("Primal reversion happens for Kyogre only when holding Blue O } SCENE { if (heldItem == ITEM_BLUE_ORB) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, opponent); - MESSAGE("Foe Kyogre's Primal Reversion! It reverted to its primal form!"); + MESSAGE("The opposing Kyogre's Primal Reversion! It reverted to its primal state!"); } else { NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, opponent); - MESSAGE("Foe Kyogre's Primal Reversion! It reverted to its primal form!"); + MESSAGE("The opposing Kyogre's Primal Reversion! It reverted to its primal state!"); } } } THEN { @@ -76,13 +76,13 @@ DOUBLE_BATTLE_TEST("Primal reversion's order is determined by Speed - opponent f TURN { MOVE(opponentLeft, MOVE_CELEBRATE); } } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, opponentRight); - MESSAGE("Foe Kyogre's Primal Reversion! It reverted to its primal form!"); + MESSAGE("The opposing Kyogre's Primal Reversion! It reverted to its primal state!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, playerRight); - MESSAGE("Groudon's Primal Reversion! It reverted to its primal form!"); + MESSAGE("Groudon's Primal Reversion! It reverted to its primal state!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, opponentLeft); - MESSAGE("Foe Groudon's Primal Reversion! It reverted to its primal form!"); + MESSAGE("The opposing Groudon's Primal Reversion! It reverted to its primal state!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, playerLeft); - MESSAGE("Kyogre's Primal Reversion! It reverted to its primal form!"); + MESSAGE("Kyogre's Primal Reversion! It reverted to its primal state!"); } THEN { EXPECT_EQ(playerLeft->species, SPECIES_KYOGRE_PRIMAL); EXPECT_EQ(opponentLeft->species, SPECIES_GROUDON_PRIMAL); @@ -102,13 +102,13 @@ DOUBLE_BATTLE_TEST("Primal reversion's order is determined by Speed - player fas TURN { MOVE(opponentLeft, MOVE_CELEBRATE); } } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, playerRight); - MESSAGE("Groudon's Primal Reversion! It reverted to its primal form!"); + MESSAGE("Groudon's Primal Reversion! It reverted to its primal state!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, playerLeft); - MESSAGE("Kyogre's Primal Reversion! It reverted to its primal form!"); + MESSAGE("Kyogre's Primal Reversion! It reverted to its primal state!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, opponentLeft); - MESSAGE("Foe Groudon's Primal Reversion! It reverted to its primal form!"); + MESSAGE("The opposing Groudon's Primal Reversion! It reverted to its primal state!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, opponentRight); - MESSAGE("Foe Kyogre's Primal Reversion! It reverted to its primal form!"); + MESSAGE("The opposing Kyogre's Primal Reversion! It reverted to its primal state!"); } THEN { EXPECT_EQ(playerLeft->species, SPECIES_KYOGRE_PRIMAL); EXPECT_EQ(opponentLeft->species, SPECIES_GROUDON_PRIMAL); @@ -130,7 +130,7 @@ SINGLE_BATTLE_TEST("Primal reversion happens after a mon is sent out after a mon } SCENE { MESSAGE("Wobbuffet fainted!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, player); - MESSAGE("Groudon's Primal Reversion! It reverted to its primal form!"); + MESSAGE("Groudon's Primal Reversion! It reverted to its primal state!"); } THEN { EXPECT_EQ(player->species, SPECIES_GROUDON_PRIMAL); } @@ -147,7 +147,7 @@ SINGLE_BATTLE_TEST("Primal reversion happens after a mon is switched in") TURN { MOVE(opponent, MOVE_CELEBRATE); } } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, player); - MESSAGE("Groudon's Primal Reversion! It reverted to its primal form!"); + MESSAGE("Groudon's Primal Reversion! It reverted to its primal state!"); } THEN { EXPECT_EQ(player->species, SPECIES_GROUDON_PRIMAL); } @@ -168,7 +168,7 @@ SINGLE_BATTLE_TEST("Primal reversion happens after a switch-in caused by Eject B MESSAGE("Wobbuffet is switched out with the Eject Button!"); SEND_IN_MESSAGE("Groudon"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, player); - MESSAGE("Groudon's Primal Reversion! It reverted to its primal form!"); + MESSAGE("Groudon's Primal Reversion! It reverted to its primal state!"); } THEN { EXPECT_EQ(player->species, SPECIES_GROUDON_PRIMAL); } @@ -185,10 +185,10 @@ SINGLE_BATTLE_TEST("Primal reversion happens after a switch-in caused by Red Car } WHEN { TURN { MOVE(player, MOVE_TACKLE); } } SCENE { - MESSAGE("Foe Wobbuffet held up its Red Card against Wobbuffet!"); + MESSAGE("The opposing Wobbuffet held up its Red Card against Wobbuffet!"); MESSAGE("Groudon was dragged out!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, player); - MESSAGE("Groudon's Primal Reversion! It reverted to its primal form!"); + MESSAGE("Groudon's Primal Reversion! It reverted to its primal state!"); } THEN { EXPECT_EQ(player->species, SPECIES_GROUDON_PRIMAL); } @@ -207,9 +207,9 @@ SINGLE_BATTLE_TEST("Primal reversion happens after the entry hazards damage") } SCENE { SEND_IN_MESSAGE("Groudon"); HP_BAR(player); - MESSAGE("Groudon is hurt by spikes!"); + MESSAGE("Groudon was hurt by the spikes!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, player); - MESSAGE("Groudon's Primal Reversion! It reverted to its primal form!"); + MESSAGE("Groudon's Primal Reversion! It reverted to its primal state!"); } THEN { EXPECT_EQ(player->species, SPECIES_GROUDON_PRIMAL); } @@ -228,7 +228,7 @@ SINGLE_BATTLE_TEST("Primal reversion happens immediately if it was brought in by ANIMATION(ANIM_TYPE_MOVE, MOVE_U_TURN, player); HP_BAR(opponent); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, player); - MESSAGE("Groudon's Primal Reversion! It reverted to its primal form!"); + MESSAGE("Groudon's Primal Reversion! It reverted to its primal state!"); MESSAGE("2 sent out Wynaut!"); } THEN { EXPECT_EQ(player->species, SPECIES_GROUDON_PRIMAL); diff --git a/test/battle/form_change/ultra_burst.c b/test/battle/form_change/ultra_burst.c index 5c6f4a2ce439..8eb21866f334 100644 --- a/test/battle/form_change/ultra_burst.c +++ b/test/battle/form_change/ultra_burst.c @@ -27,9 +27,9 @@ DOUBLE_BATTLE_TEST("Ultra Burst's order is determined by Speed - opponent faster } WHEN { TURN { MOVE(opponentLeft, MOVE_CELEBRATE, gimmick: GIMMICK_ULTRA_BURST); MOVE(playerLeft, MOVE_CELEBRATE, gimmick: GIMMICK_ULTRA_BURST); } } SCENE { - MESSAGE("Bright light is about to burst out of Foe Necrozma!"); + MESSAGE("Bright light is about to burst out of the opposing Necrozma!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ULTRA_BURST, opponentLeft); - MESSAGE("Foe Necrozma regained its true power through Ultra Burst!"); + MESSAGE("The opposing Necrozma regained its true power through Ultra Burst!"); MESSAGE("Bright light is about to burst out of Necrozma!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ULTRA_BURST, playerLeft); MESSAGE("Necrozma regained its true power through Ultra Burst!"); @@ -49,9 +49,9 @@ DOUBLE_BATTLE_TEST("Ultra Burst's order is determined by Speed - player faster") MESSAGE("Bright light is about to burst out of Necrozma!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ULTRA_BURST, playerLeft); MESSAGE("Necrozma regained its true power through Ultra Burst!"); - MESSAGE("Bright light is about to burst out of Foe Necrozma!"); + MESSAGE("Bright light is about to burst out of the opposing Necrozma!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ULTRA_BURST, opponentLeft); - MESSAGE("Foe Necrozma regained its true power through Ultra Burst!"); + MESSAGE("The opposing Necrozma regained its true power through Ultra Burst!"); } } @@ -65,7 +65,7 @@ SINGLE_BATTLE_TEST("Ultra Burst affects turn order") TURN { MOVE(player, MOVE_CELEBRATE, gimmick: GIMMICK_ULTRA_BURST); } } SCENE { MESSAGE("Necrozma used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); } THEN { ASSUME(player->speed == 263); } @@ -111,9 +111,9 @@ SINGLE_BATTLE_TEST("Ultra Burst and Mega Evolution can happen on the same turn") ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ULTRA_BURST, player); MESSAGE("Necrozma regained its true power through Ultra Burst!"); - MESSAGE("Foe Gardevoir's Gardevoirite is reacting to 2's Mega Ring!"); + MESSAGE("The opposing Gardevoir's Gardevoirite is reacting to 2's Mega Ring!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_MEGA_EVOLUTION, opponent); - MESSAGE("Foe Gardevoir has Mega Evolved into Mega Gardevoir!"); + MESSAGE("The opposing Gardevoir has Mega Evolved into Mega Gardevoir!"); } THEN { EXPECT_EQ(player->species, SPECIES_NECROZMA_ULTRA); EXPECT_EQ(opponent->species, SPECIES_GARDEVOIR_MEGA); diff --git a/test/battle/gimmick/dynamax.c b/test/battle/gimmick/dynamax.c index 3df3cc4cdf5e..374b4d55d5f9 100644 --- a/test/battle/gimmick/dynamax.c +++ b/test/battle/gimmick/dynamax.c @@ -17,7 +17,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamax increases HP and max HP by 1.5x", u16 hp) ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_DYNAMAX_GROWTH, player); MESSAGE("Wobbuffet used Max Strike!"); } - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); } THEN { results[i].hp = player->hp; } FINALLY { @@ -44,7 +44,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamax expires after three turns", u16 hp) MESSAGE("Wobbuffet used Max Strike!"); else MESSAGE("Wobbuffet used Tackle!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); } if (dynamax) // Expect to have visual reversion at the end. ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); @@ -64,8 +64,8 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon cannot be flinched") } WHEN { TURN { MOVE(opponent, MOVE_FAKE_OUT); MOVE(player, MOVE_TACKLE, gimmick: GIMMICK_DYNAMAX); } } SCENE { - MESSAGE("Foe Wobbuffet used Fake Out!"); - NONE_OF { MESSAGE("Wobbuffet flinched!"); } + MESSAGE("The opposing Wobbuffet used Fake Out!"); + NONE_OF { MESSAGE("Wobbuffet flinched and couldn't move!"); } MESSAGE("Wobbuffet used Max Strike!"); } } @@ -80,7 +80,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon cannot be hit by weight-based mo TURN { MOVE(player, MOVE_TACKLE, gimmick: GIMMICK_DYNAMAX); MOVE(opponent, MOVE_HEAVY_SLAM); } } SCENE { MESSAGE("Wobbuffet used Max Strike!"); - MESSAGE("Foe Wobbuffet used Heavy Slam!"); + MESSAGE("The opposing Wobbuffet used Heavy Slam!"); MESSAGE("The move was blocked by the power of Dynamax!"); NONE_OF { HP_BAR(player); } } @@ -96,7 +96,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon cannot be hit by OHKO moves") TURN { MOVE(player, MOVE_TACKLE, gimmick: GIMMICK_DYNAMAX); MOVE(opponent, MOVE_FISSURE); } } SCENE { MESSAGE("Wobbuffet used Max Strike!"); - MESSAGE("Foe Machamp used Fissure!"); + MESSAGE("The opposing Machamp used Fissure!"); MESSAGE("Wobbuffet is unaffected!"); NONE_OF { HP_BAR(player); } } @@ -111,9 +111,9 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon are not affected by Destiny Bond } WHEN { TURN { MOVE(opponent, MOVE_DESTINY_BOND); MOVE(player, MOVE_TACKLE, gimmick: GIMMICK_DYNAMAX); } } SCENE { - MESSAGE("Foe Wobbuffet used Destiny Bond!"); + MESSAGE("The opposing Wobbuffet used Destiny Bond!"); MESSAGE("Wobbuffet used Max Strike!"); - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet fainted!"); NONE_OF { HP_BAR(player); } } } @@ -126,10 +126,10 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon are affected by Grudge") } WHEN { TURN { MOVE(opponent, MOVE_GRUDGE); MOVE(player, MOVE_TACKLE, gimmick: GIMMICK_DYNAMAX); } } SCENE { - MESSAGE("Foe Wobbuffet used Grudge!"); + MESSAGE("The opposing Wobbuffet used Grudge!"); MESSAGE("Wobbuffet used Max Strike!"); - MESSAGE("Wobbuffet's Tackle lost all its PP due to the GRUDGE!"); - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("Wobbuffet's Tackle lost all its PP due to the grudge!"); + MESSAGE("The opposing Wobbuffet fainted!"); } } @@ -146,11 +146,11 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon are not affected by phazing move TURN { MOVE(opponent, MOVE_WHIRLWIND); MOVE(player, MOVE_TACKLE); } } SCENE { MESSAGE("Wobbuffet used Max Strike!"); - MESSAGE("Foe Wobbuffet used Dragon Tail!"); + MESSAGE("The opposing Wobbuffet used Dragon Tail!"); HP_BAR(player); MESSAGE("The move was blocked by the power of Dynamax!"); MESSAGE("Wobbuffet used Max Strike!"); - MESSAGE("Foe Wobbuffet used Whirlwind!"); + MESSAGE("The opposing Wobbuffet used Whirlwind!"); MESSAGE("The move was blocked by the power of Dynamax!"); } } @@ -166,7 +166,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon are not affected by phazing move TURN { MOVE(opponent, MOVE_DRAGON_TAIL); MOVE(player, MOVE_TACKLE, gimmick: GIMMICK_DYNAMAX); SEND_OUT(player, 1); } } SCENE { MESSAGE("Wobbuffet used Max Strike!"); - MESSAGE("Foe Wobbuffet used Dragon Tail!"); + MESSAGE("The opposing Wobbuffet used Dragon Tail!"); HP_BAR(player); MESSAGE("Wobbuffet fainted!"); NOT MESSAGE("The move was blocked by the power of Dynamax!"); @@ -185,7 +185,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon are not affected by Red Card") } SCENE { MESSAGE("Wobbuffet used Max Strike!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Foe Wobbuffet held up its Red Card against Wobbuffet!"); + MESSAGE("The opposing Wobbuffet held up its Red Card against Wobbuffet!"); MESSAGE("The move was blocked by the power of Dynamax!"); } THEN { EXPECT_EQ(opponent->item, ITEM_NONE); @@ -203,7 +203,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon can be switched out by Eject But TURN { MOVE(player, MOVE_TACKLE, gimmick: GIMMICK_DYNAMAX); MOVE(opponent, MOVE_TACKLE); SEND_OUT(player, 1); } } SCENE { MESSAGE("Wobbuffet used Max Strike!"); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); MESSAGE("Wobbuffet is switched out with the Eject Button!"); } THEN { @@ -220,7 +220,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon cannot have their ability swappe TURN { MOVE(player, MOVE_TACKLE, gimmick: GIMMICK_DYNAMAX); MOVE(opponent, MOVE_SKILL_SWAP); } } SCENE { MESSAGE("Miltank used Max Strike!"); - MESSAGE("Foe Runerigus used Skill Swap!"); + MESSAGE("The opposing Runerigus used Skill Swap!"); MESSAGE("But it failed!"); } THEN { EXPECT_EQ(player->ability, ABILITY_SCRAPPY); @@ -236,7 +236,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon can have their ability changed o TURN { MOVE(player, MOVE_TACKLE, gimmick: GIMMICK_DYNAMAX); MOVE(opponent, MOVE_SIMPLE_BEAM); } } SCENE { MESSAGE("Wobbuffet used Max Strike!"); - MESSAGE("Foe Wobbuffet used Simple Beam!"); + MESSAGE("The opposing Wobbuffet used Simple Beam!"); MESSAGE("Wobbuffet acquired Simple!"); } THEN { EXPECT_EQ(player->ability, ABILITY_SIMPLE); @@ -253,7 +253,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon are immune to Encore") TURN { MOVE(player, MOVE_EMBER); } } SCENE { MESSAGE("Wobbuffet used Max Strike!"); - MESSAGE("Foe Wobbuffet used Encore!"); + MESSAGE("The opposing Wobbuffet used Encore!"); MESSAGE("But it failed!"); MESSAGE("Wobbuffet used Max Flare!"); } @@ -273,7 +273,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon can be encored immediately after MESSAGE("Wobbuffet used Max Knuckle!"); MESSAGE("Wobbuffet used Max Knuckle!"); MESSAGE("Wobbuffet used Max Knuckle!"); - MESSAGE("Foe Wobbuffet used Encore!"); + MESSAGE("The opposing Wobbuffet used Encore!"); MESSAGE("Wobbuffet used Arm Thrust!"); } } @@ -288,7 +288,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon's Max Moves cannot be disabled") TURN { MOVE(player, MOVE_TACKLE, gimmick: GIMMICK_DYNAMAX); MOVE(opponent, MOVE_DISABLE); } } SCENE { MESSAGE("Wobbuffet used Max Strike!"); - MESSAGE("Foe Wobbuffet used Disable!"); + MESSAGE("The opposing Wobbuffet used Disable!"); MESSAGE("But it failed!"); } } @@ -306,9 +306,9 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon can have base moves disabled on TURN {} TURN { MOVE(player, MOVE_TACKLE, allowed: FALSE); MOVE(player, MOVE_CELEBRATE); } } SCENE { - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Wobbuffet used Tackle!"); - MESSAGE("Foe Wobbuffet used Disable!"); + MESSAGE("The opposing Wobbuffet used Disable!"); MESSAGE("Wobbuffet's Tackle was disabled!"); MESSAGE("Wobbuffet used Max Strike!"); } @@ -323,7 +323,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon are immune to Torment") TURN { MOVE(player, MOVE_TACKLE, gimmick: GIMMICK_DYNAMAX); MOVE(opponent, MOVE_TORMENT); } } SCENE { MESSAGE("Wobbuffet used Max Strike!"); - MESSAGE("Foe Wobbuffet used Torment!"); + MESSAGE("The opposing Wobbuffet used Torment!"); MESSAGE("But it failed!"); } } @@ -338,8 +338,8 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon are not immune to Knock Off") TURN { MOVE(player, MOVE_TACKLE, gimmick: GIMMICK_DYNAMAX); MOVE(opponent, MOVE_KNOCK_OFF); } } SCENE { MESSAGE("Wobbuffet used Max Strike!"); - MESSAGE("Foe Wobbuffet used Knock Off!"); - MESSAGE("Foe Wobbuffet knocked off Wobbuffet's Potion!"); + MESSAGE("The opposing Wobbuffet used Knock Off!"); + MESSAGE("The opposing Wobbuffet knocked off Wobbuffet's Potion!"); } THEN { EXPECT_EQ(player->item, ITEM_NONE); } @@ -355,9 +355,9 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Dynamaxed Pokemon lose their substitutes") TURN { MOVE(player, MOVE_TACKLE, gimmick: GIMMICK_DYNAMAX); MOVE(opponent, MOVE_TACKLE); } } SCENE { MESSAGE("Wobbuffet used Substitute!"); - MESSAGE("Wobbuffet made a SUBSTITUTE!"); + MESSAGE("Wobbuffet put in a substitute!"); MESSAGE("Wobbuffet used Max Strike!"); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); HP_BAR(player); } } @@ -427,9 +427,9 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) Feint bypasses Max Guard but doesn't break it") } } SCENE { MESSAGE("Wobbuffet used Max Guard!"); - MESSAGE("Foe Wobbuffet used Feint!"); + MESSAGE("The opposing Wobbuffet used Feint!"); HP_BAR(playerLeft); - MESSAGE("Foe Wynaut used Tackle!"); + MESSAGE("The opposing Wynaut used Tackle!"); NONE_OF { HP_BAR(playerLeft); } } } @@ -457,7 +457,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Pokemon with Gigantamax forms change upon Dynamaxi u32 species; bool32 gigantamaxFactor; PARAMETRIZE { gigantamaxFactor = FALSE; species = SPECIES_VENUSAUR; } - PARAMETRIZE { gigantamaxFactor = TRUE; species = SPECIES_VENUSAUR_GIGANTAMAX; } + PARAMETRIZE { gigantamaxFactor = TRUE; species = SPECIES_VENUSAUR_GMAX; } GIVEN { PLAYER(SPECIES_VENUSAUR) { GigantamaxFactor(gigantamaxFactor); } OPPONENT(SPECIES_WOBBUFFET); @@ -537,7 +537,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Endeavor uses a Pokemon's non-Dynamax HP", s16 dam } WHEN { TURN { MOVE(opponent, MOVE_ENDEAVOR); MOVE(player, MOVE_TACKLE, gimmick: dynamax); } } SCENE { - MESSAGE("Foe Wobbuffet used Endeavor!"); + MESSAGE("The opposing Wobbuffet used Endeavor!"); HP_BAR(player, captureDamage: &results[i].damage); } FINALLY { EXPECT_EQ(results[0].damage, results[1].damage); @@ -556,7 +556,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Super Fang uses a Pokemon's non-Dynamax HP", s16 d } WHEN { TURN { MOVE(opponent, MOVE_SUPER_FANG); MOVE(player, MOVE_TACKLE, gimmick: dynamax); } } SCENE { - MESSAGE("Foe Wobbuffet used Super Fang!"); + MESSAGE("The opposing Wobbuffet used Super Fang!"); HP_BAR(player, captureDamage: &results[i].damage); } FINALLY { EXPECT_EQ(results[0].damage, results[1].damage); @@ -575,7 +575,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Pain Split uses a Pokemon's non-Dynamax HP", s16 d } WHEN { TURN { MOVE(opponent, MOVE_PAIN_SPLIT); MOVE(player, MOVE_TACKLE, gimmick: dynamax); } } SCENE { - MESSAGE("Foe Wobbuffet used Pain Split!"); + MESSAGE("The opposing Wobbuffet used Pain Split!"); HP_BAR(player, captureDamage: &results[i].damage); } FINALLY { EXPECT_EQ(results[0].damage, results[1].damage); @@ -595,7 +595,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Sitrus Berries heal based on a Pokemon's non-Dynam } WHEN { TURN { MOVE(opponent, MOVE_FLING); MOVE(player, MOVE_TACKLE, gimmick: dynamax); } } SCENE { - MESSAGE("Wobbuffet's Sitrus Berry restored health!"); + MESSAGE("Wobbuffet restored its health using its Sitrus Berry!"); HP_BAR(player, captureDamage: &results[i].damage); } FINALLY { EXPECT_EQ(results[0].damage, results[1].damage); @@ -614,7 +614,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Heal Pulse heals based on a Pokemon's non-Dynamax } WHEN { TURN { MOVE(opponent, MOVE_HEAL_PULSE); MOVE(player, MOVE_TACKLE, gimmick: dynamax); } } SCENE { - MESSAGE("Foe Wobbuffet used Heal Pulse!"); + MESSAGE("The opposing Wobbuffet used Heal Pulse!"); HP_BAR(player, captureDamage: &results[i].damage); } FINALLY { EXPECT_EQ(results[0].damage, results[1].damage); @@ -634,14 +634,14 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Max Strike lowers single opponent's speed") TURN { MOVE(player, MOVE_TACKLE); MOVE(opponent, MOVE_TACKLE); } } SCENE { // turn 1 - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); MESSAGE("Wobbuffet used Max Strike!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); // turn 2 MESSAGE("Wobbuffet used Max Strike!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); } } @@ -664,21 +664,21 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) Max Strike lowers both opponents' speed") MOVE(opponentRight, MOVE_TACKLE, target: playerLeft); } } SCENE { // turn 1 - MESSAGE("Foe Wobbuffet used Tackle!"); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); MESSAGE("Wobbuffet used Max Strike!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); // turn 2 MESSAGE("Wobbuffet used Max Strike!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Foe Wobbuffet's Speed fell!"); - MESSAGE("Foe Wobbuffet used Tackle!"); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); } } @@ -709,8 +709,8 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) Max Knuckle raises both allies' attack") MESSAGE("Wynaut's Attack rose!"); MESSAGE("Wynaut used Tackle!"); HP_BAR(opponentRight, captureDamage: &damage[1]); - MESSAGE("Foe Wobbuffet used Celebrate!"); - MESSAGE("Foe Wynaut used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wynaut used Celebrate!"); // turn 2 MESSAGE("Wobbuffet used Max Knuckle!"); HP_BAR(opponentLeft, captureDamage: &damage[2]); @@ -736,8 +736,8 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Max Flare sets up sunlight") TURN { MOVE(player, MOVE_EMBER, gimmick: GIMMICK_DYNAMAX); MOVE(opponent, MOVE_CELEBRATE); } } SCENE { MESSAGE("Wobbuffet used Max Flare!"); - MESSAGE("The sunlight got bright!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The sunlight turned harsh!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SUN_CONTINUES); } } @@ -753,7 +753,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Max Geyser sets up heavy rain") } SCENE { MESSAGE("Wobbuffet used Max Geyser!"); MESSAGE("It started to rain!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_RAIN_CONTINUES); } } @@ -769,7 +769,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Max Hailstorm sets up hail") } SCENE { MESSAGE("Wobbuffet used Max Hailstorm!"); MESSAGE("It started to hail!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HAIL_CONTINUES); } } @@ -784,8 +784,8 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Max Rockfall sets up a sandstorm") TURN { MOVE(player, MOVE_ROCK_THROW, gimmick: GIMMICK_DYNAMAX); MOVE(opponent, MOVE_CELEBRATE); } } SCENE { MESSAGE("Wobbuffet used Max Rockfall!"); - MESSAGE("A sandstorm brewed!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("A sandstorm kicked up!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SANDSTORM_CONTINUES); } } @@ -806,7 +806,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Max Overgrowth sets up Grassy Terrain") MESSAGE("Grass grew to cover the battlefield!"); MESSAGE("Wobbuffet is healed by the grassy terrain!"); HP_BAR(player, damage: -maxHP/16); - MESSAGE("Foe Wobbuffet is healed by the grassy terrain!"); + MESSAGE("The opposing Wobbuffet is healed by the grassy terrain!"); HP_BAR(opponent, damage: -maxHP/16); } } @@ -821,9 +821,9 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Max Mindstorm sets up Psychic Terrain") TURN { MOVE(opponent, MOVE_EXTREME_SPEED); MOVE(player, MOVE_PSYCHIC, gimmick: GIMMICK_DYNAMAX); } TURN { MOVE(opponent, MOVE_EXTREME_SPEED); MOVE(player, MOVE_PSYCHIC); } } SCENE { - MESSAGE("Foe Wobbuffet used Extreme Speed!"); + MESSAGE("The opposing Wobbuffet used Extreme Speed!"); MESSAGE("Wobbuffet used Max Mindstorm!"); - MESSAGE("Foe Wobbuffet cannot use Extreme Speed!"); + MESSAGE("The opposing Wobbuffet cannot use Extreme Speed!"); MESSAGE("Wobbuffet used Max Mindstorm!"); } } @@ -838,7 +838,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Max Lightning sets up Electric Terrain") TURN { MOVE(player, MOVE_THUNDERBOLT, gimmick: GIMMICK_DYNAMAX); MOVE(opponent, MOVE_SPORE); } } SCENE { MESSAGE("Wobbuffet used Max Lightning!"); - MESSAGE("Foe Wobbuffet used Spore!"); + MESSAGE("The opposing Wobbuffet used Spore!"); MESSAGE("Wobbuffet surrounds itself with electrified terrain!"); } } @@ -853,7 +853,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Max Starfall sets up Misty Terrain") TURN { MOVE(player, MOVE_MOONBLAST, gimmick: GIMMICK_DYNAMAX); MOVE(opponent, MOVE_TOXIC); } } SCENE { MESSAGE("Wobbuffet used Max Starfall!"); - MESSAGE("Foe Wobbuffet used Toxic!"); + MESSAGE("The opposing Wobbuffet used Toxic!"); MESSAGE("Wobbuffet surrounds itself with a protective mist!"); } } @@ -873,7 +873,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) G-Max Stonesurge sets up Stealth Rocks") MESSAGE("Drednaw used G-Max Stonesurge!"); MESSAGE("Pointed stones float in the air around the opposing team!"); // turn 2 - MESSAGE("Pointed stones dug into Foe Wobbuffet!"); + MESSAGE("Pointed stones dug into the opposing Wobbuffet!"); } } @@ -893,13 +893,13 @@ SINGLE_BATTLE_TEST("(DYNAMAX) G-Max Steelsurge sets up sharp steel") } SCENE { // turn 1 MESSAGE("Copperajah used G-Max Steelsurge!"); - MESSAGE("Sharp-pointed steel floats around the opposing team!"); + MESSAGE("Sharp-pointed pieces of steel started floating around the opposing Pokémon!"); // turn 2 MESSAGE("2 sent out Hatterene!"); - MESSAGE("Sharp steel bit into Foe Hatterene!"); + MESSAGE("The sharp steel bit into the opposing Hatterene!"); // turn 4 - MESSAGE("Foe Hatterene used Defog!"); - MESSAGE("The sharp steel disappeared from the ground around the opposing team!"); + MESSAGE("The opposing Hatterene used Defog!"); + MESSAGE("The pieces of steel surrounding the opposing Pokémon disappeared!"); } THEN { EXPECT_MUL_EQ(opponent->maxHP, Q_4_12(0.75), opponent->hp); } @@ -939,10 +939,10 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Volt Crash paralyzes both opponents") MESSAGE("Pikachu used G-Max Volt Crash!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PRZ, opponentLeft); STATUS_ICON(opponentLeft, paralysis: TRUE); - MESSAGE("Foe Wobbuffet is paralyzed! It may be unable to move!"); + MESSAGE("The opposing Wobbuffet is paralyzed, so it may be unable to move!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PRZ, opponentRight); STATUS_ICON(opponentRight, paralysis: TRUE); - MESSAGE("Foe Wynaut is paralyzed! It may be unable to move!"); + MESSAGE("The opposing Wynaut is paralyzed, so it may be unable to move!"); } } @@ -969,21 +969,21 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Stun Shock paralyzes or poisons both opponen ANIMATION(ANIM_TYPE_STATUS, statusAnim, opponentLeft); if (statusAnim == B_ANIM_STATUS_PSN) { STATUS_ICON(opponentLeft, poison: TRUE); - MESSAGE("Foe Wobbuffet was poisoned!"); + MESSAGE("The opposing Wobbuffet was poisoned!"); } else { STATUS_ICON(opponentLeft, paralysis: TRUE); - MESSAGE("Foe Wobbuffet is paralyzed! It may be unable to move!"); + MESSAGE("The opposing Wobbuffet is paralyzed, so it may be unable to move!"); } // opponent right ANIMATION(ANIM_TYPE_STATUS, statusAnim, opponentRight); if (statusAnim == B_ANIM_STATUS_PSN) { STATUS_ICON(opponentRight, poison: TRUE); - MESSAGE("Foe Wynaut was poisoned!"); + MESSAGE("The opposing Wynaut was poisoned!"); } else { STATUS_ICON(opponentRight, paralysis: TRUE); - MESSAGE("Foe Wynaut is paralyzed! It may be unable to move!"); + MESSAGE("The opposing Wynaut is paralyzed, so it may be unable to move!"); } } } @@ -1005,14 +1005,14 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Stun Shock chooses statuses before consideri NONE_OF { // opponent left STATUS_ICON(opponentLeft, poison: TRUE); - MESSAGE("Foe Garbodor was poisoned!"); + MESSAGE("The opposing Garbodor was poisoned!"); STATUS_ICON(opponentLeft, paralysis: TRUE); - MESSAGE("Foe Garbodor is paralyzed! It may be unable to move!"); + MESSAGE("The opposing Garbodor is paralyzed, so it may be unable to move!"); // opponent right STATUS_ICON(opponentRight, poison: TRUE); - MESSAGE("Foe Trubbish was poisoned!"); + MESSAGE("The opposing Trubbish was poisoned!"); STATUS_ICON(opponentRight, paralysis: TRUE); - MESSAGE("Foe Trubbish is paralyzed! It may be unable to move!"); + MESSAGE("The opposing Trubbish is paralyzed, so it may be unable to move!"); } } } @@ -1039,29 +1039,29 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Befuddle paralyzes, poisons, or sleeps both ANIMATION(ANIM_TYPE_STATUS, statusAnim, opponentLeft); if (statusAnim == B_ANIM_STATUS_PSN) { STATUS_ICON(opponentLeft, poison: TRUE); - MESSAGE("Foe Wobbuffet was poisoned!"); + MESSAGE("The opposing Wobbuffet was poisoned!"); } else if (statusAnim == B_ANIM_STATUS_PRZ) { STATUS_ICON(opponentLeft, paralysis: TRUE); - MESSAGE("Foe Wobbuffet is paralyzed! It may be unable to move!"); + MESSAGE("The opposing Wobbuffet is paralyzed, so it may be unable to move!"); } else { STATUS_ICON(opponentLeft, sleep: TRUE); - MESSAGE("Foe Wobbuffet fell asleep!"); + MESSAGE("The opposing Wobbuffet fell asleep!"); } // opponent right ANIMATION(ANIM_TYPE_STATUS, statusAnim, opponentRight); if (statusAnim == B_ANIM_STATUS_PSN) { STATUS_ICON(opponentRight, poison: TRUE); - MESSAGE("Foe Wobbuffet was poisoned!"); + MESSAGE("The opposing Wobbuffet was poisoned!"); } else if (statusAnim == B_ANIM_STATUS_PRZ) { STATUS_ICON(opponentRight, paralysis: TRUE); - MESSAGE("Foe Wobbuffet is paralyzed! It may be unable to move!"); + MESSAGE("The opposing Wobbuffet is paralyzed, so it may be unable to move!"); } else { STATUS_ICON(opponentRight, sleep: TRUE); - MESSAGE("Foe Wobbuffet fell asleep!"); + MESSAGE("The opposing Wobbuffet fell asleep!"); } } } @@ -1079,10 +1079,10 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Gold Rush confuses both opponents and genera } SCENE { MESSAGE("Meowth used G-Max Gold Rush!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponentLeft); - MESSAGE("Foe Wobbuffet became confused!"); + MESSAGE("The opposing Wobbuffet became confused!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponentRight); - MESSAGE("Foe Wobbuffet became confused!"); - MESSAGE("Coins scattered everywhere!"); + MESSAGE("The opposing Wobbuffet became confused!"); + MESSAGE("Coins were scattered everywhere!"); } } @@ -1099,9 +1099,9 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Smite confuses both opponents") } SCENE { MESSAGE("Hatterene used G-Max Smite!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponentLeft); - MESSAGE("Foe Wobbuffet became confused!"); + MESSAGE("The opposing Wobbuffet became confused!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponentRight); - MESSAGE("Foe Wobbuffet became confused!"); + MESSAGE("The opposing Wobbuffet became confused!"); } } @@ -1118,10 +1118,10 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Cuddle infatuates both opponents, if possibl } SCENE { MESSAGE("Eevee used G-Max Cuddle!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_INFATUATION, opponentLeft); - MESSAGE("Foe Wobbuffet fell in love!"); + MESSAGE("The opposing Wobbuffet fell in love!"); NONE_OF { ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_INFATUATION, opponentRight); - MESSAGE("Foe Wobbuffet fell in love!"); + MESSAGE("The opposing Wobbuffet fell in love!"); } } } @@ -1138,8 +1138,8 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Terror traps both opponents") TURN { MOVE(playerLeft, MOVE_LICK, target: opponentLeft, gimmick: GIMMICK_DYNAMAX); } } SCENE { MESSAGE("Gengar used G-Max Terror!"); - MESSAGE("Foe Wobbuffet can't escape now!"); - MESSAGE("Foe Wobbuffet can't escape now!"); + MESSAGE("The opposing Wobbuffet can no longer escape!"); + MESSAGE("The opposing Wobbuffet can no longer escape!"); } THEN { // Can't find good way to test trapping EXPECT(opponentLeft->status2 & STATUS2_ESCAPE_PREVENTION); } @@ -1169,16 +1169,16 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Meltdown torments both opponents for 3 turns } SCENE { // turn 1 MESSAGE("Melmetal used G-Max Meltdown!"); - MESSAGE("Foe Wobbuffet was subjected to torment!"); - MESSAGE("Foe Wynaut was subjected to torment!"); - MESSAGE("Foe Wobbuffet used Splash!"); - MESSAGE("Foe Wynaut used Splash!"); + MESSAGE("The opposing Wobbuffet was subjected to torment!"); + MESSAGE("The opposing Wynaut was subjected to torment!"); + MESSAGE("The opposing Wobbuffet used Splash!"); + MESSAGE("The opposing Wynaut used Splash!"); // turn 2 - MESSAGE("Foe Wobbuffet used Celebrate!"); - MESSAGE("Foe Wynaut used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wynaut used Celebrate!"); // end of turn 3 - MESSAGE("Foe Wobbuffet is tormented no more!"); - MESSAGE("Foe Wynaut is tormented no more!"); + MESSAGE("The opposing Wobbuffet is no longer tormented!"); + MESSAGE("The opposing Wynaut is no longer tormented!"); } } @@ -1202,27 +1202,27 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Wildfire sets a field effect that damages no } SCENE { // turn 1 MESSAGE("Charizard used G-Max Wildfire!"); - MESSAGE("The opposing team was surrounded by flames!"); - MESSAGE("Foe Wobbuffet is burning up within G-Max Wildfire's flames!"); + MESSAGE("The opposing Pokémon were surrounded by fire!"); + MESSAGE("The opposing Wobbuffet is burning up within G-Max Wildfire's flames!"); HP_BAR(opponentLeft, captureDamage: &damage); - MESSAGE("Foe Wynaut is burning up within G-Max Wildfire's flames!"); + MESSAGE("The opposing Wynaut is burning up within G-Max Wildfire's flames!"); HP_BAR(opponentRight); // turn 2 - MESSAGE("Foe Wobbuffet is burning up within G-Max Wildfire's flames!"); + MESSAGE("The opposing Wobbuffet is burning up within G-Max Wildfire's flames!"); HP_BAR(opponentLeft); - MESSAGE("Foe Wynaut is burning up within G-Max Wildfire's flames!"); + MESSAGE("The opposing Wynaut is burning up within G-Max Wildfire's flames!"); HP_BAR(opponentRight); // turn 3 - NONE_OF { MESSAGE("Foe Arcanine is burning up within G-Max Wildfire's flames!"); } - MESSAGE("Foe Wynaut is burning up within G-Max Wildfire's flames!"); + NONE_OF { MESSAGE("The opposing Arcanine is burning up within G-Max Wildfire's flames!"); } + MESSAGE("The opposing Wynaut is burning up within G-Max Wildfire's flames!"); HP_BAR(opponentRight); // turn 4 - MESSAGE("Foe Wynaut is burning up within G-Max Wildfire's flames!"); + MESSAGE("The opposing Wynaut is burning up within G-Max Wildfire's flames!"); HP_BAR(opponentRight); // turn 5 NONE_OF { HP_BAR(opponentRight); - MESSAGE("Foe Wynaut is burning up within G-Max Wildfire's flames!"); + MESSAGE("The opposing Wynaut is burning up within G-Max Wildfire's flames!"); } } THEN { EXPECT_EQ(damage, 100); @@ -1248,8 +1248,8 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Replenish recycles allies' berries 50\% of t // turn 1 MESSAGE("Using Apicot Berry, the Sp. Def of Snorlax rose!"); MESSAGE("Using Apicot Berry, the Sp. Def of Munchlax rose!"); - MESSAGE("Using Apicot Berry, the Sp. Def of Foe Wobbuffet rose!"); - MESSAGE("Using Apicot Berry, the Sp. Def of Foe Wobbuffet rose!"); + MESSAGE("Using Apicot Berry, the Sp. Def of the opposing Wobbuffet rose!"); + MESSAGE("Using Apicot Berry, the Sp. Def of the opposing Wobbuffet rose!"); // turn 2 MESSAGE("Snorlax used G-Max Replenish!"); MESSAGE("Snorlax found one Apicot Berry!"); @@ -1273,10 +1273,10 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Snooze makes only the target drowsy") } SCENE { // turn 1 MESSAGE("Grimmsnarl used G-Max Snooze!"); - MESSAGE("Grimmsnarl made Foe Blissey drowsy!"); + MESSAGE("The opposing Blissey grew drowsy!"); // turn 2 ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_SLP, opponentLeft); - MESSAGE("Foe Blissey fell asleep!"); + MESSAGE("The opposing Blissey fell asleep!"); STATUS_ICON(opponentLeft, sleep: TRUE); } } @@ -1337,14 +1337,14 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Centiferno traps both opponents in Fire Spin } SCENE { // turn 1 MESSAGE("Centiskorch used G-Max Centiferno!"); - MESSAGE("Foe Wobbuffet is hurt by Fire Spin!"); + MESSAGE("The opposing Wobbuffet is hurt by Fire Spin!"); HP_BAR(opponentLeft); - MESSAGE("Foe Wynaut is hurt by Fire Spin!"); + MESSAGE("The opposing Wynaut is hurt by Fire Spin!"); HP_BAR(opponentRight); // turn 2 - Fire Spin continues even after Centiskorch switches out - MESSAGE("Foe Wobbuffet is hurt by Fire Spin!"); + MESSAGE("The opposing Wobbuffet is hurt by Fire Spin!"); HP_BAR(opponentLeft); - MESSAGE("Foe Wynaut is hurt by Fire Spin!"); + MESSAGE("The opposing Wynaut is hurt by Fire Spin!"); HP_BAR(opponentRight); } } @@ -1395,9 +1395,9 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Depletion takes away 2 PP from the target's } WHEN { TURN { MOVE(playerLeft, MOVE_DRAGON_CLAW, target: opponentLeft, gimmick: GIMMICK_DYNAMAX); } } SCENE { - MESSAGE("Foe Sableye used Celebrate!"); + MESSAGE("The opposing Sableye used Celebrate!"); MESSAGE("Duraludon used G-Max Depletion!"); - MESSAGE("Reduced Foe Sableye's Celebrate by 2!"); + MESSAGE("The opposing Sableye's PP was reduced!"); } } @@ -1422,7 +1422,7 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max One Blow bypasses Max Guard for full damage" MOVE(opponentLeft, MOVE_PSYCHIC, target: playerLeft, gimmick: GIMMICK_DYNAMAX); } } SCENE { if (protect) - MESSAGE("Foe Wobbuffet used Max Guard!"); + MESSAGE("The opposing Wobbuffet used Max Guard!"); MESSAGE("Urshifu used G-Max One Blow!"); HP_BAR(opponentLeft, captureDamage: &results[i].damage); } FINALLY { @@ -1457,8 +1457,8 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Max Moves don't execute effects on fainted battler } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_DYNAMAX_GROWTH, player); MESSAGE("Wobbuffet used Max Strike!"); - MESSAGE("Foe Wobbuffet fainted!"); - NOT MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet fainted!"); + NOT MESSAGE("The opposing Wobbuffet's Speed fell!"); } } @@ -1472,7 +1472,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Moxie clones can be triggered by Max Moves faintin } WHEN { TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_WATERFALL, gimmick: GIMMICK_DYNAMAX); SEND_OUT(opponent, 1); } } SCENE { - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet fainted!"); ABILITY_POPUP(player, ABILITY_MOXIE); MESSAGE("Gyarados's Moxie raised its Attack!"); } @@ -1488,7 +1488,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Max Attacks prints a message when hitting into Max TURN { MOVE(player, MOVE_GROWL, gimmick: GIMMICK_DYNAMAX); MOVE(opponent, MOVE_TACKLE, gimmick: GIMMICK_DYNAMAX); } } SCENE { MESSAGE("Wobbuffet used Max Guard!"); - MESSAGE("Foe Wobbuffet used Max Strike!"); + MESSAGE("The opposing Wobbuffet used Max Strike!"); } } diff --git a/test/battle/gimmick/terastal.c b/test/battle/gimmick/terastal.c index 0484fcd497d7..a9e8fca871d3 100644 --- a/test/battle/gimmick/terastal.c +++ b/test/battle/gimmick/terastal.c @@ -199,7 +199,7 @@ SINGLE_BATTLE_TEST("(TERA) Terastallization changes type effectiveness", s16 dam } WHEN { TURN { MOVE(player, MOVE_CELEBRATE, gimmick: tera); MOVE(opponent, MOVE_WATER_GUN); } } SCENE { - MESSAGE("Foe Wobbuffet used Water Gun!"); + MESSAGE("The opposing Wobbuffet used Water Gun!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_GUN, opponent); HP_BAR(player, captureDamage: &results[i].damage); } FINALLY { @@ -215,7 +215,7 @@ SINGLE_BATTLE_TEST("(TERA) Terastallization changes type effectiveness") } WHEN { TURN { MOVE(player, MOVE_CELEBRATE, gimmick: GIMMICK_TERA); MOVE(opponent, MOVE_EARTHQUAKE); } } SCENE { - MESSAGE("Foe Wobbuffet used Earthquake!"); + MESSAGE("The opposing Wobbuffet used Earthquake!"); MESSAGE("It doesn't affect Wobbuffet…"); NOT { HP_BAR(player); } } @@ -234,11 +234,11 @@ SINGLE_BATTLE_TEST("(TERA) Terastallization persists across switches") TURN { MOVE(opponent, MOVE_EARTHQUAKE); } } SCENE { // turn 1 - MESSAGE("Foe Wobbuffet used Earthquake!"); + MESSAGE("The opposing Wobbuffet used Earthquake!"); MESSAGE("It doesn't affect Wobbuffet…"); NOT { HP_BAR(player); } // turn 4 - MESSAGE("Foe Wobbuffet used Earthquake!"); + MESSAGE("The opposing Wobbuffet used Earthquake!"); MESSAGE("It doesn't affect Wobbuffet…"); NOT { HP_BAR(player); } } @@ -256,7 +256,7 @@ SINGLE_BATTLE_TEST("(TERA) Terastallization changes the effect of Curse") } SCENE { MESSAGE("Wobbuffet used Curse!"); HP_BAR(player); - MESSAGE("Wobbuffet cut its own HP and laid a CURSE on Foe Wobbuffet!"); + MESSAGE("Wobbuffet cut its own HP and put a curse on the opposing Wobbuffet!"); NOT { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); } } } @@ -271,7 +271,7 @@ SINGLE_BATTLE_TEST("(TERA) Roost does not remove the user's Flying type while Te } SCENE { MESSAGE("Zapdos used Roost!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ROOST, player); - MESSAGE("Foe Wobbuffet used Ice Beam!"); + MESSAGE("The opposing Wobbuffet used Ice Beam!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ICE_BEAM, opponent); MESSAGE("It's super effective!"); } @@ -346,11 +346,11 @@ SINGLE_BATTLE_TEST("(TERA) Reflect Type copies a Terastallized Pokemon's Tera Ty TURN { MOVE(player, MOVE_TACKLE); } } SCENE { // turn 2 - MESSAGE("Foe Wobbuffet used Reflect Type!"); + MESSAGE("The opposing Wobbuffet used Reflect Type!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_REFLECT_TYPE, opponent); // turn 3 MESSAGE("Wobbuffet used Tackle!"); - MESSAGE("It doesn't affect Foe Wobbuffet…"); + MESSAGE("It doesn't affect the opposing Wobbuffet…"); NOT { HP_BAR(opponent); } } } @@ -365,10 +365,10 @@ SINGLE_BATTLE_TEST("(TERA) Synchronoise uses a Terastallized Pokemon's Tera Type TURN { MOVE(opponent, MOVE_SYNCHRONOISE, gimmick: GIMMICK_TERA); } } SCENE { // turn 1 - MESSAGE("Foe Wobbuffet used Synchronoise!"); - MESSAGE("It had no effect on Wobbuffet!"); + MESSAGE("The opposing Wobbuffet used Synchronoise!"); + MESSAGE("It won't have any effect on Wobbuffet!"); // turn 2 - MESSAGE("Foe Wobbuffet used Synchronoise!"); + MESSAGE("The opposing Wobbuffet used Synchronoise!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SYNCHRONOISE, opponent); } } @@ -383,7 +383,7 @@ SINGLE_BATTLE_TEST("(TERA) Revelation Dance uses a Terastallized Pokemon's Tera TURN { MOVE(player, MOVE_REVELATION_DANCE, gimmick: GIMMICK_TERA); } } SCENE { MESSAGE("Oricorio used Revelation Dance!"); - MESSAGE("It doesn't affect Foe Gengar…"); + MESSAGE("It doesn't affect the opposing Gengar…"); NOT { HP_BAR(opponent); } } } @@ -466,7 +466,7 @@ SINGLE_BATTLE_TEST("(TERA) Stellar type does not change the user's defensive pro } WHEN { TURN { MOVE(player, MOVE_CELEBRATE, gimmick: tera); MOVE(opponent, MOVE_PSYCHIC); } } SCENE { - MESSAGE("Foe Wobbuffet used Psychic!"); + MESSAGE("The opposing Wobbuffet used Psychic!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_PSYCHIC, opponent); HP_BAR(player, captureDamage: &results[i].damage); } FINALLY { @@ -485,11 +485,11 @@ SINGLE_BATTLE_TEST("(TERA) Reflect Type copies a Stellar-type Pokemon's base typ TURN { MOVE(player, MOVE_TACKLE); } } SCENE { // turn 2 - MESSAGE("Foe Wobbuffet used Reflect Type!"); + MESSAGE("The opposing Wobbuffet used Reflect Type!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_REFLECT_TYPE, opponent); // turn 3 MESSAGE("Banette used Tackle!"); - MESSAGE("It doesn't affect Foe Wobbuffet…"); + MESSAGE("It doesn't affect the opposing Wobbuffet…"); NOT { HP_BAR(opponent); } } } @@ -504,7 +504,7 @@ SINGLE_BATTLE_TEST("(TERA) Revelation Dance uses a Stellar-type Pokemon's base t TURN { MOVE(player, MOVE_REVELATION_DANCE, gimmick: GIMMICK_TERA); } } SCENE { MESSAGE("Oricorio used Revelation Dance!"); - MESSAGE("It doesn't affect Foe Gumshoos…"); + MESSAGE("It doesn't affect the opposing Gumshoos…"); NOT { HP_BAR(opponent); } } } @@ -523,7 +523,7 @@ SINGLE_BATTLE_TEST("(TERA) Conversion2 fails if last hit by a Stellar-type move" MESSAGE("Wobbuffet used Tera Blast!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TERA_BLAST, player); // turn 2 - MESSAGE("Foe Wobbuffet used Conversion 2!"); + MESSAGE("The opposing Wobbuffet used Conversion 2!"); MESSAGE("But it failed!"); } } @@ -539,7 +539,7 @@ SINGLE_BATTLE_TEST("(TERA) Roost does not remove Flying-type ground immunity whe } SCENE { MESSAGE("Zapdos used Roost!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ROOST, player); - MESSAGE("Foe Wobbuffet used Ice Beam!"); + MESSAGE("The opposing Wobbuffet used Ice Beam!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ICE_BEAM, opponent); MESSAGE("It's super effective!"); } @@ -652,7 +652,7 @@ SINGLE_BATTLE_TEST("(TERA) Protean cannot change the type of a Terastallized Pok MOVE(opponent, MOVE_EMBER); } } SCENE { MESSAGE("Greninja used Bubble!"); - MESSAGE("Foe Wobbuffet used Ember!"); + MESSAGE("The opposing Wobbuffet used Ember!"); MESSAGE("It's super effective!"); } } @@ -792,10 +792,10 @@ SINGLE_BATTLE_TEST("(TERA) Transformed pokemon can't Terastalize") SINGLE_BATTLE_TEST("(TERA) Pokemon with Tera forms change upon Terastallizing") { u32 species, targetSpecies; - PARAMETRIZE { species = SPECIES_OGERPON_TEAL_MASK; targetSpecies = SPECIES_OGERPON_TEAL_MASK_TERA; } - PARAMETRIZE { species = SPECIES_OGERPON_WELLSPRING_MASK; targetSpecies = SPECIES_OGERPON_WELLSPRING_MASK_TERA; } - PARAMETRIZE { species = SPECIES_OGERPON_HEARTHFLAME_MASK; targetSpecies = SPECIES_OGERPON_HEARTHFLAME_MASK_TERA; } - PARAMETRIZE { species = SPECIES_OGERPON_CORNERSTONE_MASK; targetSpecies = SPECIES_OGERPON_CORNERSTONE_MASK_TERA; } + PARAMETRIZE { species = SPECIES_OGERPON_TEAL; targetSpecies = SPECIES_OGERPON_TEAL_TERA; } + PARAMETRIZE { species = SPECIES_OGERPON_WELLSPRING; targetSpecies = SPECIES_OGERPON_WELLSPRING_TERA; } + PARAMETRIZE { species = SPECIES_OGERPON_HEARTHFLAME; targetSpecies = SPECIES_OGERPON_HEARTHFLAME_TERA; } + PARAMETRIZE { species = SPECIES_OGERPON_CORNERSTONE; targetSpecies = SPECIES_OGERPON_CORNERSTONE_TERA; } PARAMETRIZE { species = SPECIES_TERAPAGOS_TERASTAL; targetSpecies = SPECIES_TERAPAGOS_STELLAR; } GIVEN { PLAYER(species); diff --git a/test/battle/gimmick/zmove.c b/test/battle/gimmick/zmove.c index 4e6fc26caeef..eb44184e5aed 100644 --- a/test/battle/gimmick/zmove.c +++ b/test/battle/gimmick/zmove.c @@ -522,7 +522,7 @@ SINGLE_BATTLE_TEST("(Z-MOVE) 10,000,000 Volt Thunderbolt has an increased critic GIVEN { ASSUME(B_CRIT_CHANCE >= GEN_6); ASSUME(gMovesInfo[MOVE_10_000_000_VOLT_THUNDERBOLT].criticalHitStage == 2); - PLAYER(SPECIES_PIKACHU_PARTNER_CAP) { Item(ITEM_PIKASHUNIUM_Z); } + PLAYER(SPECIES_PIKACHU_PARTNER) { Item(ITEM_PIKASHUNIUM_Z); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(player, MOVE_THUNDERBOLT, gimmick: GIMMICK_Z_MOVE); } @@ -597,7 +597,7 @@ SINGLE_BATTLE_TEST("(Z-MOVE) Splintered Stormshards removes terrain") } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ZMOVE_ACTIVATE, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_SPLINTERED_STORMSHARDS, player); - MESSAGE("The weirdness disappeared from the battlefield."); + MESSAGE("The weirdness disappeared from the battlefield!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_QUICK_ATTACK, player); HP_BAR(opponent); } diff --git a/test/battle/hold_effect/ability_shield.c b/test/battle/hold_effect/ability_shield.c index e10c3e08872a..3159d0d8a469 100644 --- a/test/battle/hold_effect/ability_shield.c +++ b/test/battle/hold_effect/ability_shield.c @@ -20,7 +20,7 @@ SINGLE_BATTLE_TEST("Ability Shield prevents Neutralizing Gas") TURN { } } SCENE { ABILITY_POPUP(opponent, ABILITY_NEUTRALIZING_GAS); - MESSAGE("Neutralizing Gas filled the area!"); + MESSAGE("Neutralizing gas filled the area!"); if (item == ITEM_ABILITY_SHIELD) { ABILITY_POPUP(player, ABILITY_DROUGHT); MESSAGE("Torkoal's Drought intensified the sun's rays!"); diff --git a/test/battle/hold_effect/air_balloon.c b/test/battle/hold_effect/air_balloon.c index 2851212391a1..293e1d80ca1f 100644 --- a/test/battle/hold_effect/air_balloon.c +++ b/test/battle/hold_effect/air_balloon.c @@ -18,7 +18,7 @@ SINGLE_BATTLE_TEST("Air Balloon prevents the holder from taking damage from grou TURN { MOVE(opponent, MOVE_EARTHQUAKE); } } SCENE { MESSAGE("Wobbuffet floats in the air with its Air Balloon!"); - MESSAGE("Foe Wobbuffet used Earthquake!"); + MESSAGE("The opposing Wobbuffet used Earthquake!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_EARTHQUAKE, opponent); MESSAGE("It doesn't affect Wobbuffet…"); } @@ -33,7 +33,7 @@ SINGLE_BATTLE_TEST("Air Balloon pops when the holder is hit by a move that is no TURN { MOVE(opponent, MOVE_TACKLE); } } SCENE { MESSAGE("Wobbuffet floats in the air with its Air Balloon!"); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); MESSAGE("Wobbuffet's Air Balloon popped!"); } } @@ -48,9 +48,9 @@ SINGLE_BATTLE_TEST("Air Balloon no longer prevents the holder from taking damage TURN { MOVE(opponent, MOVE_EARTHQUAKE); } } SCENE { MESSAGE("Wobbuffet floats in the air with its Air Balloon!"); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); MESSAGE("Wobbuffet's Air Balloon popped!"); - MESSAGE("Foe Wobbuffet used Earthquake!"); + MESSAGE("The opposing Wobbuffet used Earthquake!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_EARTHQUAKE, opponent); NOT MESSAGE("It doesn't affect Wobbuffet…"); } @@ -68,7 +68,7 @@ SINGLE_BATTLE_TEST("Air Balloon can not be restored with Recycle after it has be } } SCENE { MESSAGE("Wobbuffet floats in the air with its Air Balloon!"); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); MESSAGE("Wobbuffet's Air Balloon popped!"); MESSAGE("Wobbuffet used Recycle!"); MESSAGE("But it failed!"); @@ -117,6 +117,6 @@ SINGLE_BATTLE_TEST("Air Balloon pops before it can be stolen with Thief or Covet } SCENE { MESSAGE("Wobbuffet floats in the air with its Air Balloon!"); MESSAGE("Wobbuffet's Air Balloon popped!"); - NOT MESSAGE("Foe Wobbuffet stole Wobbuffet's Air Balloon!"); + NOT MESSAGE("The opposing Wobbuffet stole Wobbuffet's Air Balloon!"); } } diff --git a/test/battle/hold_effect/berserk_gene.c b/test/battle/hold_effect/berserk_gene.c index cda82ebb60e7..59f78c1a12f8 100644 --- a/test/battle/hold_effect/berserk_gene.c +++ b/test/battle/hold_effect/berserk_gene.c @@ -182,7 +182,7 @@ SINGLE_BATTLE_TEST("Berserk Gene does not confuse when Safeguard is active") } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Using Berserk Gene, the Attack of Wobbuffet sharply rose!"); - MESSAGE("Wobbuffet's party is protected by Safeguard!"); + MESSAGE("Wobbuffet is protected by Safeguard!"); NOT MESSAGE("Wobbuffet became confused!"); } } diff --git a/test/battle/hold_effect/clear_amulet.c b/test/battle/hold_effect/clear_amulet.c index f2059a02854e..d0666ff3a91a 100644 --- a/test/battle/hold_effect/clear_amulet.c +++ b/test/battle/hold_effect/clear_amulet.c @@ -22,7 +22,7 @@ SINGLE_BATTLE_TEST("Clear Amulet prevents Intimidate") HP_BAR(player, captureDamage: &turnOneHit); ABILITY_POPUP(player, ABILITY_INTIMIDATE); NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); - MESSAGE("Foe Wobbuffet's Clear Amulet prevents its stats from being lowered!"); + MESSAGE("The effects of the Clear Amulet held by the opposing Wobbuffet prevents its stats from being lowered!"); HP_BAR(player, captureDamage: &turnTwoHit); } THEN { EXPECT_EQ(turnOneHit, turnTwoHit); @@ -55,7 +55,7 @@ SINGLE_BATTLE_TEST("Clear Amulet prevents stat reducing effects") TURN { MOVE(player, move); } } SCENE { NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Clear Amulet prevents its stats from being lowered!"); + MESSAGE("The effects of the Clear Amulet held by the opposing Wobbuffet prevents its stats from being lowered!"); } } @@ -84,7 +84,7 @@ SINGLE_BATTLE_TEST("Clear Amulet prevents secondary effects that reduce stats") } SCENE { NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Clear Amulet prevents its stats from being lowered!"); + MESSAGE("The effects of the Clear Amulet held by the opposing Wobbuffet prevents its stats from being lowered!"); } } } diff --git a/test/battle/hold_effect/covert_cloak.c b/test/battle/hold_effect/covert_cloak.c index e15bca3b9f42..b55b1492daff 100644 --- a/test/battle/hold_effect/covert_cloak.c +++ b/test/battle/hold_effect/covert_cloak.c @@ -33,12 +33,12 @@ SINGLE_BATTLE_TEST("Covert Cloak blocks secondary effects") ANIMATION(ANIM_TYPE_MOVE, move, player); HP_BAR(opponent); NONE_OF { - MESSAGE("Foe Wobbuffet is paralyzed! It may be unable to move!"); - MESSAGE("Foe Wobbuffet was burned!"); - MESSAGE("Foe Wobbuffet was poisoned!"); - MESSAGE("Foe Wobbuffet flinched!"); + MESSAGE("The opposing Wobbuffet is paralyzed, so it may be unable to move!"); + MESSAGE("The opposing Wobbuffet was burned!"); + MESSAGE("The opposing Wobbuffet was poisoned!"); + MESSAGE("The opposing Wobbuffet flinched and couldn't move!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet was prevented from healing!"); + MESSAGE("The opposing Wobbuffet was prevented from healing!"); } } THEN { // Can't find good way to test trapping EXPECT(!(opponent->status2 & STATUS2_ESCAPE_PREVENTION)); @@ -68,16 +68,16 @@ SINGLE_BATTLE_TEST("Covert Cloak does not block primary effects") HP_BAR(opponent); switch (move) { case MOVE_INFESTATION: - MESSAGE("Foe Skarmory has been afflicted with an infestation by Wobbuffet!"); + MESSAGE("The opposing Skarmory has been afflicted with an infestation by Wobbuffet!"); break; case MOVE_THOUSAND_ARROWS: - MESSAGE("Foe Skarmory fell straight down!"); + MESSAGE("The opposing Skarmory fell straight down!"); break; case MOVE_JAW_LOCK: MESSAGE("Neither Pokémon can run away!"); break; case MOVE_PAY_DAY: - MESSAGE("Coins scattered everywhere!"); + MESSAGE("Coins were scattered everywhere!"); break; } } THEN { // Can't find good way to test trapping @@ -140,11 +140,11 @@ DOUBLE_BATTLE_TEST("Covert Cloak does or does not block Sparkling Aria depending } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SPARKLING_ARIA, playerLeft); if (moveToUse == MOVE_TACKLE) { - MESSAGE("Foe Wobbuffet's burn was healed."); + MESSAGE("The opposing Wobbuffet's burn was cured!"); STATUS_ICON(opponentLeft, none: TRUE); } else { NONE_OF { - MESSAGE("Foe Wobbuffet's burn was healed."); + MESSAGE("The opposing Wobbuffet's burn was cured!"); STATUS_ICON(opponentLeft, none: TRUE); } } @@ -162,7 +162,7 @@ SINGLE_BATTLE_TEST("Covert Cloak blocks Sparkling Aria in singles") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SPARKLING_ARIA, player); NONE_OF { - MESSAGE("Foe Wobbuffet's burn was healed."); + MESSAGE("The opposing Wobbuffet's burn was cured!"); STATUS_ICON(opponent, none: TRUE); } } diff --git a/test/battle/hold_effect/critical_hit_up.c b/test/battle/hold_effect/critical_hit_up.c index eb73da36dd7e..c23f29773aea 100644 --- a/test/battle/hold_effect/critical_hit_up.c +++ b/test/battle/hold_effect/critical_hit_up.c @@ -25,11 +25,11 @@ SINGLE_BATTLE_TEST("Lansat Berry raises the holder's critical-hit-ratio by two s if (move == MOVE_TACKLE) { NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet used Lansat Berry to get pumped!"); + MESSAGE("Wobbuffet used the Lansat Berry to get pumped!"); } } else { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet used Lansat Berry to get pumped!"); + MESSAGE("Wobbuffet used the Lansat Berry to get pumped!"); } } } @@ -44,7 +44,7 @@ SINGLE_BATTLE_TEST("Lansat Berry raises the holder's critical-hit-ratio by two s } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_RAGE, opponent); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Bellsprout used Lansat Berry to get pumped!"); + MESSAGE("Bellsprout used the Lansat Berry to get pumped!"); } } @@ -61,7 +61,7 @@ SINGLE_BATTLE_TEST("Lansat Berry raises the holder's critical-hit-ratio by two s } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_RAGE, opponent); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet used Lansat Berry to get pumped!"); + MESSAGE("Wobbuffet used the Lansat Berry to get pumped!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); MESSAGE("A critical hit!"); } diff --git a/test/battle/hold_effect/cure_status.c b/test/battle/hold_effect/cure_status.c index d00d891e26f7..d954983f888e 100644 --- a/test/battle/hold_effect/cure_status.c +++ b/test/battle/hold_effect/cure_status.c @@ -206,16 +206,16 @@ SINGLE_BATTLE_TEST("Opponent Pokemon can be further poisoned with Toxic spikes a } SCENE { MESSAGE("Wobbuffet used Toxic Spikes!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC_SPIKES, player); - MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); // 1st switch-in MESSAGE("2 sent out Wynaut!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponent); STATUS_ICON(opponent, poison: TRUE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); if (item == ITEM_PECHA_BERRY) { - MESSAGE("Foe Wynaut's Pecha Berry cured poison!"); + MESSAGE("The opposing Wynaut's Pecha Berry cured its poison!"); } else { - MESSAGE("Foe Wynaut's Lum Berry cured its poison problem!"); + MESSAGE("The opposing Wynaut's Lum Berry cured its poison problem!"); } STATUS_ICON(opponent, poison: FALSE); // 2nd switch-in @@ -245,16 +245,16 @@ SINGLE_BATTLE_TEST("Player Pokemon can be further poisoned with Toxic spikes aft TURN { SWITCH(player, 1); } TURN { SWITCH(player, 2); } } SCENE { - MESSAGE("Foe Wobbuffet used Toxic Spikes!"); + MESSAGE("The opposing Wobbuffet used Toxic Spikes!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC_SPIKES, opponent); - MESSAGE("Poison Spikes were scattered all around your team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around your team!"); // 1st switch-in SEND_IN_MESSAGE("Wobbuffet"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, player); STATUS_ICON(player, poison: TRUE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); if (item == ITEM_PECHA_BERRY) { - MESSAGE("Wobbuffet's Pecha Berry cured poison!"); + MESSAGE("Wobbuffet's Pecha Berry cured its poison!"); } else { MESSAGE("Wobbuffet's Lum Berry cured its poison problem!"); } diff --git a/test/battle/hold_effect/custap_berry.c b/test/battle/hold_effect/custap_berry.c index 469f3cf52797..6e7b210e8db7 100644 --- a/test/battle/hold_effect/custap_berry.c +++ b/test/battle/hold_effect/custap_berry.c @@ -15,7 +15,7 @@ SINGLE_BATTLE_TEST("Custap Berry allows the holder to move first in its priority TURN { MOVE(player, MOVE_TACKLE); } } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet can act faster, thanks to Custap Berry!"); + MESSAGE("Wobbuffet can act faster than normal, thanks to its Custap Berry!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); } @@ -30,7 +30,7 @@ SINGLE_BATTLE_TEST("Custap Berry allows the holder to move first in its priority TURN { MOVE(player, MOVE_TACKLE); } } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Bellsprout can act faster, thanks to Custap Berry!"); + MESSAGE("Bellsprout can act faster than normal, thanks to its Custap Berry!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); } @@ -46,6 +46,6 @@ SINGLE_BATTLE_TEST("Custap Berry activates even if the opposing mon switches out TURN { SWITCH(opponent, 1); } } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Regirock can act faster, thanks to Custap Berry!"); + MESSAGE("Regirock can act faster than normal, thanks to its Custap Berry!"); } } diff --git a/test/battle/hold_effect/eject_button.c b/test/battle/hold_effect/eject_button.c index da358c2aa949..cd003c45c09b 100644 --- a/test/battle/hold_effect/eject_button.c +++ b/test/battle/hold_effect/eject_button.c @@ -21,7 +21,7 @@ SINGLE_BATTLE_TEST("Eject Button is not triggered when there is nothing to switc ANIMATION(ANIM_TYPE_MOVE, MOVE_QUICK_ATTACK, player); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Foe Wobbuffet is switched out with the Eject Button!"); + MESSAGE("The opposing Wobbuffet is switched out with the Eject Button!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); } @@ -42,7 +42,7 @@ SINGLE_BATTLE_TEST("Eject Button is not activated by a Sheer Force boosted move" ANIMATION(ANIM_TYPE_MOVE, MOVE_FLAMETHROWER, player); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Foe Wobbuffet is switched out with the Eject Button!"); + MESSAGE("The opposing Wobbuffet is switched out with the Eject Button!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); } @@ -61,12 +61,12 @@ SINGLE_BATTLE_TEST("Eject Button will not activate under Substitute") } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SUBSTITUTE, opponent); - MESSAGE("Foe Raichu made a SUBSTITUTE!"); + MESSAGE("The opposing Raichu put in a substitute!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); - MESSAGE("The SUBSTITUTE took damage for Foe Raichu!"); + MESSAGE("The substitute took damage for the opposing Raichu!"); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Foe Raichu is switched out with the Eject Button!"); + MESSAGE("The opposing Raichu is switched out with the Eject Button!"); } } } @@ -85,7 +85,7 @@ SINGLE_BATTLE_TEST("Eject Button is not blocked by trapping abilities or moves") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Foe Wobbuffet is switched out with the Eject Button!"); + MESSAGE("The opposing Wobbuffet is switched out with the Eject Button!"); MESSAGE("2 sent out Wobbuffet!"); } } @@ -105,7 +105,7 @@ SINGLE_BATTLE_TEST("Eject Button is not triggered after the mon loses Eject Butt ANIMATION(ANIM_TYPE_MOVE, MOVE_KNOCK_OFF, player); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Foe Wobbuffet is switched out with the Eject Button!"); + MESSAGE("The opposing Wobbuffet is switched out with the Eject Button!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); } @@ -126,7 +126,7 @@ SINGLE_BATTLE_TEST("Eject Button is not triggered after given to player by Picke } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); ABILITY_POPUP(opponent, ABILITY_PICKPOCKET); - MESSAGE("Foe Sneasel stole Regieleki's Eject Button!"); + MESSAGE("The opposing Sneasel stole Regieleki's Eject Button!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); } } @@ -144,10 +144,10 @@ SINGLE_BATTLE_TEST("Eject Button has no chance to activate after Dragon Tail") } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_TAIL, player); - MESSAGE("Foe Chansey was dragged out!"); + MESSAGE("The opposing Chansey was dragged out!"); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Foe Chansey is switched out with the Eject Button!"); + MESSAGE("The opposing Chansey is switched out with the Eject Button!"); } } } @@ -166,7 +166,7 @@ SINGLE_BATTLE_TEST("Eject Button prevents Volt Switch / U-Turn from activating") } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_VOLT_SWITCH, player); - MESSAGE("Foe Wobbuffet is switched out with the Eject Button!"); + MESSAGE("The opposing Wobbuffet is switched out with the Eject Button!"); } } @@ -184,7 +184,7 @@ SINGLE_BATTLE_TEST("Eject Button is activated before Emergency Exit") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDERBOLT, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Foe Golisopod is switched out with the Eject Button!"); + MESSAGE("The opposing Golisopod is switched out with the Eject Button!"); } } @@ -201,10 +201,34 @@ SINGLE_BATTLE_TEST("Eject Button is not triggered after High Jump Kick crash dam } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_PROTECT, player); - MESSAGE("Foe Wobbuffet kept going and crashed!"); + MESSAGE("The opposing Wobbuffet kept going and crashed!"); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Foe Wobbuffet is switched out with the Eject Button!"); + MESSAGE("The opposing Wobbuffet is switched out with the Eject Button!"); + } + } +} + +DOUBLE_BATTLE_TEST("Eject Button activation will not trigger an attack from the incoming mon") +{ + GIVEN { + PLAYER(SPECIES_TATSUGIRI) { Speed(10); Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_WOBBUFFET) { Speed(100); Item(ITEM_EJECT_BUTTON); } + PLAYER(SPECIES_DONDOZO) { Speed(20); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(50); Item(ITEM_EJECT_PACK); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(10); } + OPPONENT(SPECIES_WYNAUT) { Speed(1); } + } WHEN { + TURN { MOVE(opponentRight, MOVE_MAKE_IT_RAIN); SEND_OUT(playerRight, 2); SEND_OUT(opponentRight, 2); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_MAKE_IT_RAIN, opponentRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, playerRight); + MESSAGE("Wobbuffet is switched out with the Eject Button!"); + ABILITY_POPUP(playerLeft, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + NONE_OF { + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponentLeft); + MESSAGE("Wobbuffet is switched out with the Eject Pack!"); } } } diff --git a/test/battle/hold_effect/enigma_berry.c b/test/battle/hold_effect/enigma_berry.c index 16a598b2725b..762774f25d25 100644 --- a/test/battle/hold_effect/enigma_berry.c +++ b/test/battle/hold_effect/enigma_berry.c @@ -18,7 +18,7 @@ SINGLE_BATTLE_TEST("Enigma Berry recovers 25% of HP if hit by super effective mo ANIMATION(ANIM_TYPE_MOVE, MOVE_ENDURE, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_BITE, opponent); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wynaut's Enigma Berry restored health!"); + MESSAGE("Wynaut restored its health using its Enigma Berry!"); HP_BAR(player, damage: -maxHP / 4); } } @@ -35,7 +35,7 @@ SINGLE_BATTLE_TEST("Enigma Berry does nothing if not hit by super effective move ANIMATION(ANIM_TYPE_MOVE, MOVE_BITE, opponent); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Mightyena's Enigma Berry restored health!"); + MESSAGE("Mightyena restored its health using its Enigma Berry!"); } } } @@ -54,7 +54,7 @@ SINGLE_BATTLE_TEST("Enigma Berry does nothing if Heal Block applies") ANIMATION(ANIM_TYPE_MOVE, MOVE_BITE, opponent); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wynaut's Enigma Berry restored health!"); + MESSAGE("Wynaut restored its health using its Enigma Berry!"); } } } diff --git a/test/battle/hold_effect/gems.c b/test/battle/hold_effect/gems.c index ffba57651dd1..36a843bbfa09 100644 --- a/test/battle/hold_effect/gems.c +++ b/test/battle/hold_effect/gems.c @@ -17,11 +17,11 @@ SINGLE_BATTLE_TEST("Gem is consumed when it corresponds to the type of a move") } SCENE { NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Fire Gem strengthened Wobbuffet's power!"); + MESSAGE("The Fire Gem strengthened Wobbuffet's power!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_EMBER, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Normal Gem strengthened Wobbuffet's power!"); + MESSAGE("The Normal Gem strengthened Wobbuffet's power!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); } } @@ -40,7 +40,7 @@ SINGLE_BATTLE_TEST("Gem boost is only applied once") TURN { MOVE(player, MOVE_TACKLE); } } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Normal Gem strengthened Wobbuffet's power!"); + MESSAGE("The Normal Gem strengthened Wobbuffet's power!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); HP_BAR(opponent, captureDamage: &boostedHit); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); @@ -83,7 +83,7 @@ SINGLE_BATTLE_TEST("Gem is consumed if the move type is changed") } } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Normal Gem strengthened Delcatty's power!"); + MESSAGE("The Normal Gem strengthened Delcatty's power!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_FEINT_ATTACK, player); } } diff --git a/test/battle/hold_effect/jaboca_berry.c b/test/battle/hold_effect/jaboca_berry.c index 0b9975fc2a17..373780be712f 100644 --- a/test/battle/hold_effect/jaboca_berry.c +++ b/test/battle/hold_effect/jaboca_berry.c @@ -27,11 +27,11 @@ SINGLE_BATTLE_TEST("Jaboca Berry causes the attacker to lose 1/8 of its max HP i if (move == MOVE_TACKLE) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); HP_BAR(player, captureDamage: &damage); - MESSAGE("Wobbuffet was hurt by Foe Wobbuffet's Jaboca Berry!"); + MESSAGE("Wobbuffet was hurt by the opposing Wobbuffet's Jaboca Berry!"); } else { NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Wobbuffet was hurt by Foe Wobbuffet's Jaboca Berry!"); + MESSAGE("Wobbuffet was hurt by the opposing Wobbuffet's Jaboca Berry!"); } } } THEN { @@ -54,7 +54,7 @@ SINGLE_BATTLE_TEST("Jaboca Berry tirggers before Bug Bite can steal it") HP_BAR(opponent); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); HP_BAR(player); - MESSAGE("Wyanut was hurt by Foe Wobbuffet's Jaboca Berry!"); - NOT MESSAGE("Wynaut stole and ate Foe Wobbuffet's Jaboca Berry!"); + MESSAGE("Wyanut was hurt by the opposing Wobbuffet's Jaboca Berry!"); + NOT MESSAGE("Wynaut stole and ate the opposing its target's Jaboca Berry!"); } } diff --git a/test/battle/hold_effect/kee_berry.c b/test/battle/hold_effect/kee_berry.c index 35a4e6fcd566..26cd2152a188 100644 --- a/test/battle/hold_effect/kee_berry.c +++ b/test/battle/hold_effect/kee_berry.c @@ -25,11 +25,11 @@ SINGLE_BATTLE_TEST("Kee Berry raises the holder's Defense by one stage when hit HP_BAR(opponent); if (move == MOVE_TACKLE) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Using Kee Berry, the Defense of Foe Wobbuffet rose!"); + MESSAGE("Using Kee Berry, the Defense of the opposing Wobbuffet rose!"); } else { NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Using Kee Berry, the Defense of Foe Wobbuffet rose!"); + MESSAGE("Using Kee Berry, the Defense of the opposing Wobbuffet rose!"); } } } THEN { @@ -49,7 +49,7 @@ SINGLE_BATTLE_TEST("Kee Berry raises the holder's Defense by two stages with Rip ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); HP_BAR(opponent); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Using Kee Berry, the Defense of Foe Applin sharply rose!"); + MESSAGE("Using Kee Berry, the Defense of the opposing Applin sharply rose!"); } THEN { EXPECT_EQ(opponent->statStages[STAT_DEF], DEFAULT_STAT_STAGE + 2); } diff --git a/test/battle/hold_effect/leftovers.c b/test/battle/hold_effect/leftovers.c index 2151d43ff94f..4ba6d7b97b71 100644 --- a/test/battle/hold_effect/leftovers.c +++ b/test/battle/hold_effect/leftovers.c @@ -16,7 +16,7 @@ SINGLE_BATTLE_TEST("Leftovers recovers 1/16th HP at end of turn") } SCENE { s32 maxHP = GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet's Leftovers restored its HP a little!"); + MESSAGE("Wobbuffet restored a little HP using its Leftovers!"); HP_BAR(player, damage: -maxHP / 16); } } @@ -31,7 +31,7 @@ SINGLE_BATTLE_TEST("Leftovers does nothing if max HP") } SCENE { NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet's Leftovers restored its HP a little!"); + MESSAGE("Wobbuffet restored a little HP using its Leftovers!"); HP_BAR(player); } } @@ -47,7 +47,7 @@ SINGLE_BATTLE_TEST("Leftovers does nothing if Heal Block applies") } SCENE { NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet's Leftovers restored its HP a little!"); + MESSAGE("Wobbuffet restored a little HP using its Leftovers!"); HP_BAR(player); } } diff --git a/test/battle/hold_effect/maranga_berry.c b/test/battle/hold_effect/maranga_berry.c index 036b2a51c02a..77cdaddf42f5 100644 --- a/test/battle/hold_effect/maranga_berry.c +++ b/test/battle/hold_effect/maranga_berry.c @@ -23,12 +23,12 @@ SINGLE_BATTLE_TEST("Maranga Berry raises the holder's Sp. Def by one stage when HP_BAR(opponent); if (move == MOVE_SWIFT) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Using Maranga Berry, the Sp. Def of Foe Wobbuffet rose!"); + MESSAGE("Using Maranga Berry, the Sp. Def of the opposing Wobbuffet rose!"); } else { NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Using Maranga Berry, the Sp. Def of Foe Wobbuffet rose!"); + MESSAGE("Using Maranga Berry, the Sp. Def of the opposing Wobbuffet rose!"); } } } THEN { @@ -49,7 +49,7 @@ SINGLE_BATTLE_TEST("Maranga Berry raises the holder's Sp. Def by two stages with ANIMATION(ANIM_TYPE_MOVE, MOVE_SWIFT, player); HP_BAR(opponent); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Using Maranga Berry, the Sp. Def of Foe Applin sharply rose!"); + MESSAGE("Using Maranga Berry, the Sp. Def of the opposing Applin sharply rose!"); } THEN { EXPECT_EQ(opponent->statStages[STAT_SPDEF], DEFAULT_STAT_STAGE + 2); } diff --git a/test/battle/hold_effect/metronome.c b/test/battle/hold_effect/metronome.c index 42acc26d24df..21ad326cf1dd 100644 --- a/test/battle/hold_effect/metronome.c +++ b/test/battle/hold_effect/metronome.c @@ -120,8 +120,8 @@ SINGLE_BATTLE_TEST("Metronome Item counts charging turn of moves for its attacki TURN { SKIP_TURN(player); } } SCENE { MESSAGE("Wobbuffet used Solar Beam!"); - MESSAGE("Wobbuffet took in sunlight!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("Wobbuffet absorbed light!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Congratulations, 1!"); MESSAGE("Wobbuffet used Solar Beam!"); HP_BAR(opponent, captureDamage: &results[i].damage); @@ -144,7 +144,7 @@ SINGLE_BATTLE_TEST("Metronome Item doesn't increase damage per hit of multi-hit ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_ATTACK, player); HP_BAR(opponent, captureDamage: &damage[0]); HP_BAR(opponent, captureDamage: &damage[1]); - MESSAGE("Hit 5 time(s)!"); + MESSAGE("The Pokémon was hit 5 time(s)!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_ATTACK, player); HP_BAR(opponent, captureDamage: &damage[2]); } THEN { diff --git a/test/battle/hold_effect/mirror_herb.c b/test/battle/hold_effect/mirror_herb.c index 52326cc60fa0..88a7467334d2 100644 --- a/test/battle/hold_effect/mirror_herb.c +++ b/test/battle/hold_effect/mirror_herb.c @@ -60,7 +60,7 @@ DOUBLE_BATTLE_TEST("Mirror Herb does not trigger for Ally's Soul Heart's stat ra TURN { MOVE(playerRight, MOVE_TACKLE, target:opponentLeft); } } SCENE { MESSAGE("Wynaut used Tackle!"); - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet fainted!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, playerLeft); diff --git a/test/battle/hold_effect/ogerpon_mask.c b/test/battle/hold_effect/ogerpon_mask.c index 31fb0511f4a4..209b854d6639 100644 --- a/test/battle/hold_effect/ogerpon_mask.c +++ b/test/battle/hold_effect/ogerpon_mask.c @@ -15,10 +15,10 @@ SINGLE_BATTLE_TEST("Ogerpon Masks increase the base power of moves by 20%", s16 { u32 species; u32 item; - PARAMETRIZE { species = SPECIES_OGERPON_TEAL_MASK; item = ITEM_NONE; } - PARAMETRIZE { species = SPECIES_OGERPON_WELLSPRING_MASK; item = ITEM_CORNERSTONE_MASK; } - PARAMETRIZE { species = SPECIES_OGERPON_HEARTHFLAME_MASK; item = ITEM_WELLSPRING_MASK; } - PARAMETRIZE { species = SPECIES_OGERPON_CORNERSTONE_MASK; item = ITEM_HEARTHFLAME_MASK; } + PARAMETRIZE { species = SPECIES_OGERPON_TEAL; item = ITEM_NONE; } + PARAMETRIZE { species = SPECIES_OGERPON_WELLSPRING; item = ITEM_CORNERSTONE_MASK; } + PARAMETRIZE { species = SPECIES_OGERPON_HEARTHFLAME; item = ITEM_WELLSPRING_MASK; } + PARAMETRIZE { species = SPECIES_OGERPON_CORNERSTONE; item = ITEM_HEARTHFLAME_MASK; } GIVEN { ASSUME(gMovesInfo[MOVE_TACKLE].power > 0); diff --git a/test/battle/hold_effect/protective_pads.c b/test/battle/hold_effect/protective_pads.c index 914118d2d8b8..95de944b814a 100644 --- a/test/battle/hold_effect/protective_pads.c +++ b/test/battle/hold_effect/protective_pads.c @@ -46,7 +46,7 @@ SINGLE_BATTLE_TEST("Protective Pads doesn't reduce tough claws damage", s16 dama SINGLE_BATTLE_TEST("Protective Pads doesn't invalid unseen fist") { GIVEN { - PLAYER(SPECIES_URSHIFU_RAPID_STRIKE_STYLE) { Ability(ABILITY_UNSEEN_FIST); Item(ITEM_PROTECTIVE_PADS); } + PLAYER(SPECIES_URSHIFU_RAPID_STRIKE) { Ability(ABILITY_UNSEEN_FIST); Item(ITEM_PROTECTIVE_PADS); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(opponent, MOVE_PROTECT); MOVE(player, MOVE_TACKLE); } @@ -69,7 +69,7 @@ SINGLE_BATTLE_TEST("Protective Pads protects from Rocly Helmet Damage") HP_BAR(opponent); NONE_OF { HP_BAR(player); - MESSAGE("Wobbuffet was hurt by Foe Wobbuffet's Rocky Helmet!"); + MESSAGE("Wobbuffet was hurt by the opposing Wobbuffet's Rocky Helmet!"); } } } diff --git a/test/battle/hold_effect/quick_claw.c b/test/battle/hold_effect/quick_claw.c index b8b845ec25cd..a436b572cb50 100644 --- a/test/battle/hold_effect/quick_claw.c +++ b/test/battle/hold_effect/quick_claw.c @@ -17,6 +17,6 @@ SINGLE_BATTLE_TEST("Quick Claw activates 20% of the time") TURN { MOVE(player, MOVE_TACKLE); } } SCENE { MESSAGE("Wobbuffet used Tackle!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); } } diff --git a/test/battle/hold_effect/red_card.c b/test/battle/hold_effect/red_card.c index 7cdbba24129a..aa312797b284 100644 --- a/test/battle/hold_effect/red_card.c +++ b/test/battle/hold_effect/red_card.c @@ -20,8 +20,8 @@ SINGLE_BATTLE_TEST("Red Card switches the attacker with a random non-fainted rep } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Wobbuffet!"); - MESSAGE("Foe Bulbasaur was dragged out!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Wobbuffet!"); + MESSAGE("The opposing Bulbasaur was dragged out!"); } THEN { EXPECT(player->item == ITEM_NONE); } @@ -43,8 +43,8 @@ DOUBLE_BATTLE_TEST("Red Card switches the target with a random non-battler, non- } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, playerLeft); - MESSAGE("Wobbuffet held up its Red Card against Foe Wobbuffet!"); - MESSAGE("Foe Bulbasaur was dragged out!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Wobbuffet!"); + MESSAGE("The opposing Bulbasaur was dragged out!"); } THEN { EXPECT(playerLeft->item == ITEM_NONE); } @@ -63,7 +63,7 @@ SINGLE_BATTLE_TEST("Red Card does not activate if holder faints") ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Wobbuffet!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Wobbuffet!"); } } THEN { EXPECT(player->item == ITEM_NONE); @@ -82,7 +82,7 @@ SINGLE_BATTLE_TEST("Red Card does not activate if target is behind a Substitute" ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Wobbuffet!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Wobbuffet!"); } } THEN { EXPECT(player->item == ITEM_RED_CARD); // Not activated, so still has the item. @@ -102,7 +102,7 @@ SINGLE_BATTLE_TEST("Red Card activates after the last hit of a multi-hit move") HP_BAR(player); HP_BAR(player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Wobbuffet!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Wobbuffet!"); } THEN { EXPECT(player->item == ITEM_NONE); } @@ -119,7 +119,7 @@ SINGLE_BATTLE_TEST("Red Card does not activate if no replacements") ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Wobbuffet!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Wobbuffet!"); } } THEN { EXPECT(player->item == ITEM_RED_CARD); // Not activated, so still has the item. @@ -138,7 +138,7 @@ SINGLE_BATTLE_TEST("Red Card does not activate if replacements fainted") ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Wobbuffet!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Wobbuffet!"); } } THEN { EXPECT(player->item == ITEM_RED_CARD); // Not activated, so still has the item. @@ -157,7 +157,7 @@ SINGLE_BATTLE_TEST("Red Card does not activate if knocked off") ANIMATION(ANIM_TYPE_MOVE, MOVE_KNOCK_OFF, opponent); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Wobbuffet!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Wobbuffet!"); } } THEN { EXPECT(player->item == ITEM_NONE); @@ -182,11 +182,11 @@ SINGLE_BATTLE_TEST("Red Card does not activate if stolen by a move") ANIMATION(ANIM_TYPE_MOVE, MOVE_THIEF, opponent); if (activate) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Wobbuffet!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Wobbuffet!"); } else { NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Wobbuffet!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Wobbuffet!"); } } } THEN { @@ -211,11 +211,11 @@ SINGLE_BATTLE_TEST("Red Card does not activate if stolen by Magician") ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); if (activate) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Fennekin!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Fennekin!"); } else { NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Fennekin!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Fennekin!"); } } } THEN { @@ -240,14 +240,14 @@ DOUBLE_BATTLE_TEST("Red Card activates for only the fastest target") // Fastest target's Red Card activates. ANIMATION(ANIM_TYPE_MOVE, MOVE_ROCK_SLIDE, opponentLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, playerLeft); - MESSAGE("Wobbuffet held up its Red Card against Foe Wobbuffet!"); - MESSAGE("Foe Unown was dragged out!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Wobbuffet!"); + MESSAGE("The opposing Unown was dragged out!"); // Slower target's Red Card still able to activate on other battler. ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentRight); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, playerRight); - MESSAGE("Wynaut held up its Red Card against Foe Wynaut!"); - MESSAGE("Foe Wobbuffet was dragged out!"); + MESSAGE("Wynaut held up its Red Card against the opposing Wynaut!"); + MESSAGE("The opposing Wobbuffet was dragged out!"); } THEN { EXPECT(playerLeft->item == ITEM_NONE); EXPECT(playerRight->item == ITEM_NONE); @@ -271,14 +271,14 @@ DOUBLE_BATTLE_TEST("Red Card activates but fails if the attacker is rooted") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, playerLeft); - MESSAGE("Wobbuffet held up its Red Card against Foe Wobbuffet!"); - MESSAGE("Foe Wobbuffet anchored itself with its roots!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Wobbuffet!"); + MESSAGE("The opposing Wobbuffet anchored itself with its roots!"); // Red Card already consumed so cannot activate. ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentRight); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, playerRight); - MESSAGE("Wynaut held up its Red Card against Foe Wynaut!"); + MESSAGE("Wynaut held up its Red Card against the opposing Wynaut!"); } } } @@ -299,14 +299,14 @@ DOUBLE_BATTLE_TEST("Red Card activates but fails if the attacker has Suction Cup } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, playerLeft); - MESSAGE("Wobbuffet held up its Red Card against Foe Octillery!"); - MESSAGE("Foe Octillery anchors itself with Suction Cups!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Octillery!"); + MESSAGE("The opposing Octillery anchors itself with Suction Cups!"); // Red Card already consumed so cannot activate. ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentRight); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, playerRight); - MESSAGE("Wynaut held up its Red Card against Foe Wynaut!"); + MESSAGE("Wynaut held up its Red Card against the opposing Wynaut!"); } } } @@ -328,11 +328,11 @@ SINGLE_BATTLE_TEST("Red Card does not activate if switched by Dragon Tail") ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_TAIL, opponent); if (activate) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Wobbuffet!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Wobbuffet!"); } else { NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Wobbuffet!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Wobbuffet!"); } } } @@ -349,7 +349,7 @@ SINGLE_BATTLE_TEST("Red Card activates and overrides U-turn") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_U_TURN, opponent); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Wobbuffet!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Wobbuffet!"); } } @@ -370,11 +370,11 @@ SINGLE_BATTLE_TEST("Red Card does not activate if attacker's Sheer Force applied ANIMATION(ANIM_TYPE_MOVE, move, opponent); if (activate) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Tauros!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Tauros!"); } else { NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Tauros!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Tauros!"); } } } @@ -397,14 +397,14 @@ SINGLE_BATTLE_TEST("Red Card is consumed after dragged out replacement has its S // 2nd turn Red Card activation ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Foe Wobbuffet held up its Red Card against Wobbuffet!"); + MESSAGE("The opposing Wobbuffet held up its Red Card against Wobbuffet!"); MESSAGE("Wynaut was dragged out!"); - MESSAGE("Wynaut was caught in a Sticky Web!"); + MESSAGE("Wynaut was caught in a sticky web!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); // 3rd turn, Red Card was consumed, it can't trigger again NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Foe Wobbuffet held up its Red Card against Wynaut!"); + MESSAGE("The opposing Wobbuffet held up its Red Card against Wynaut!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); } } THEN { @@ -423,7 +423,7 @@ SINGLE_BATTLE_TEST("Red Card does not cause the dragged out mon to lose hp due t } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Foe Wobbuffet held up its Red Card against Wobbuffet!"); + MESSAGE("The opposing Wobbuffet held up its Red Card against Wobbuffet!"); MESSAGE("Wynaut was dragged out!"); NOT MESSAGE("Wynaut was hurt by its Life Orb!"); } @@ -445,7 +445,7 @@ SINGLE_BATTLE_TEST("Red Card does not activate if holder is switched in mid-turn MESSAGE("Wobbuffet is switched out with the Eject Button!"); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet held up its Red Card against Foe Wobbuffet!"); + MESSAGE("Wobbuffet held up its Red Card against the opposing Wobbuffet!"); } } } @@ -467,6 +467,8 @@ SINGLE_BATTLE_TEST("Red Card prevents Emergency Exit activation when triggered") } } +TO_DO_BATTLE_TEST("Red Card activates but fails if the attacker has Dynamaxed"); + SINGLE_BATTLE_TEST("Red Card activates before Eject Pack") { GIVEN { @@ -484,9 +486,7 @@ SINGLE_BATTLE_TEST("Red Card activates before Eject Pack") MESSAGE("Wobbuffet is switched out with the Eject Button!"); } ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Foe Wobbuffet held up its Red Card against Wobbuffet!"); + MESSAGE("The opposing Wobbuffet held up its Red Card against Wobbuffet!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); } } - -// SINGLE_BATTLE_TEST("Red Card activates but fails if the attacker has Dynamaxed") diff --git a/test/battle/hold_effect/restore_hp.c b/test/battle/hold_effect/restore_hp.c index c19433751c5e..47f409ff84a7 100644 --- a/test/battle/hold_effect/restore_hp.c +++ b/test/battle/hold_effect/restore_hp.c @@ -22,9 +22,9 @@ DOUBLE_BATTLE_TEST("Restore HP Item effects do not miss timing") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); MESSAGE("A sea of fire enveloped the opposing team!"); - MESSAGE("The opposing Foe Wynaut was hurt by the sea of fire!"); + MESSAGE("The opposing Wynaut was hurt by the sea of fire!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponentLeft); - MESSAGE("The opposing Foe Wobbuffet was hurt by the sea of fire!"); + MESSAGE("The opposing Wobbuffet was hurt by the sea of fire!"); } } diff --git a/test/battle/hold_effect/restore_stats.c b/test/battle/hold_effect/restore_stats.c index fb455f47c67b..c0f888469cab 100644 --- a/test/battle/hold_effect/restore_stats.c +++ b/test/battle/hold_effect/restore_stats.c @@ -17,7 +17,7 @@ SINGLE_BATTLE_TEST("White Herb restores stats when they're lowered") } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet's White Herb restored its status!"); + MESSAGE("Wobbuffet returned its stats to normal using its White Herb!"); } THEN { EXPECT(player->item == ITEM_NONE); EXPECT(player->statStages[STAT_DEF] = DEFAULT_STAT_STAGE); @@ -35,7 +35,7 @@ SINGLE_BATTLE_TEST("White Herb restores stats after Attack was lowered by Intimi ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet's White Herb restored its status!"); + MESSAGE("Wobbuffet returned its stats to normal using its White Herb!"); } THEN { EXPECT(player->item == ITEM_NONE); EXPECT(player->statStages[STAT_DEF] = DEFAULT_STAT_STAGE); @@ -56,11 +56,11 @@ DOUBLE_BATTLE_TEST("White Herb restores stats after Attack was lowered by Intimi ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponentLeft); - MESSAGE("Foe Wobbuffet's White Herb restored its status!"); + MESSAGE("The opposing Wobbuffet returned its stats to normal using its White Herb!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponentRight); - MESSAGE("Foe Wynaut's White Herb restored its status!"); + MESSAGE("The opposing Wynaut returned its stats to normal using its White Herb!"); } THEN { EXPECT(opponentLeft->item == ITEM_NONE); EXPECT(opponentLeft->statStages[STAT_DEF] = DEFAULT_STAT_STAGE); @@ -81,11 +81,11 @@ SINGLE_BATTLE_TEST("White Herb restores stats after Attack was lowered by Intimi ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet's White Herb restored its status!"); + MESSAGE("Wobbuffet returned its stats to normal using its White Herb!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CLOSE_COMBAT, player); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet's White Herb restored its status!"); + MESSAGE("Wobbuffet returned its stats to normal using its White Herb!"); } } THEN { EXPECT(player->item == ITEM_NONE); @@ -99,8 +99,8 @@ SINGLE_BATTLE_TEST("White Herb restores stats after all hits of a multi hit move u16 species; u16 ability; - PARAMETRIZE { species = SPECIES_SLIGGOO_HISUIAN; ability = ABILITY_GOOEY; } - PARAMETRIZE { species = SPECIES_DUGTRIO_ALOLAN; ability = ABILITY_TANGLING_HAIR; } + PARAMETRIZE { species = SPECIES_SLIGGOO_HISUI; ability = ABILITY_GOOEY; } + PARAMETRIZE { species = SPECIES_DUGTRIO_ALOLA; ability = ABILITY_TANGLING_HAIR; } GIVEN { ASSUME(gMovesInfo[MOVE_DUAL_WINGBEAT].strikeCount == 2); @@ -117,7 +117,7 @@ SINGLE_BATTLE_TEST("White Herb restores stats after all hits of a multi hit move ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Wobbuffet's Speed fell!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet's White Herb restored its status!"); + MESSAGE("Wobbuffet returned its stats to normal using its White Herb!"); } THEN { EXPECT(player->item == ITEM_NONE); EXPECT(player->statStages[STAT_SPEED] = DEFAULT_STAT_STAGE); @@ -141,18 +141,18 @@ SINGLE_BATTLE_TEST("White Herb wont have time to activate if it is knocked off o } SCENE { ANIMATION(ANIM_TYPE_MOVE, move, opponent); if (move == MOVE_THIEF) { - MESSAGE("Foe Wobbuffet stole Slugma's White Herb!"); + MESSAGE("The opposing Wobbuffet stole Slugma's White Herb!"); } ABILITY_POPUP(player, ABILITY_WEAK_ARMOR); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Slugma's Weak Armor lowered its Defense!"); MESSAGE("Slugma's Weak Armor raised its Speed!"); if (move == MOVE_KNOCK_OFF) { - MESSAGE("Foe Wobbuffet knocked off Slugma's White Herb!"); + MESSAGE("The opposing Wobbuffet knocked off Slugma's White Herb!"); } NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet's White Herb restored its status!"); + MESSAGE("Wobbuffet returned its stats to normal using its White Herb!"); } } THEN { EXPECT(player->statStages[STAT_DEF] = DEFAULT_STAT_STAGE - 1); @@ -174,10 +174,10 @@ SINGLE_BATTLE_TEST("White Herb wont have time to activate if Magician steals it" MESSAGE("Slugma's Weak Armor lowered its Defense!"); MESSAGE("Slugma's Weak Armor raised its Speed!"); ABILITY_POPUP(opponent, ABILITY_MAGICIAN); - MESSAGE("Foe Fennekin stole Slugma's White Herb!"); + MESSAGE("The opposing Fennekin stole Slugma's White Herb!"); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Wobbuffet's White Herb restored its status!"); + MESSAGE("Wobbuffet returned its stats to normal using its White Herb!"); } } THEN { EXPECT(player->statStages[STAT_DEF] = DEFAULT_STAT_STAGE - 1); @@ -205,7 +205,7 @@ SINGLE_BATTLE_TEST("White Herb has correct interactions with Intimidate triggere // Defiant activates first, so White Herb doesn't have a chance to trigger. if (ability == ABILITY_COMPETITIVE) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("Igglybuff's White Herb restored its status!"); + MESSAGE("Igglybuff returned its stats to normal using its White Herb!"); } } THEN { if (ability == ABILITY_COMPETITIVE) { diff --git a/test/battle/hold_effect/rowap_berry.c b/test/battle/hold_effect/rowap_berry.c index 925caf2179a9..5dc85492c31a 100644 --- a/test/battle/hold_effect/rowap_berry.c +++ b/test/battle/hold_effect/rowap_berry.c @@ -27,11 +27,11 @@ SINGLE_BATTLE_TEST("Rowap Berry causes the attacker to lose 1/8 of its max HP if if (move == MOVE_SWIFT) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); HP_BAR(player, captureDamage: &damage); - MESSAGE("Wobbuffet was hurt by Foe Wobbuffet's Rowap Berry!"); + MESSAGE("Wobbuffet was hurt by the opposing Wobbuffet's Rowap Berry!"); } else { NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Wobbuffet was hurt by Foe Wobbuffet's Rowap Berry!"); + MESSAGE("Wobbuffet was hurt by the opposing Wobbuffet's Rowap Berry!"); } } } THEN { @@ -53,7 +53,7 @@ SINGLE_BATTLE_TEST("Rowap Berry is not triggered by a physical move") HP_BAR(opponent); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Wobbuffet was hurt by Foe Wobbuffet's Rowap Berry!"); + MESSAGE("Wobbuffet was hurt by the opposing Wobbuffet's Rowap Berry!"); } } } diff --git a/test/battle/hold_effect/safety_goggles.c b/test/battle/hold_effect/safety_goggles.c index 4c5c6a29653b..ec66ad8bcddb 100644 --- a/test/battle/hold_effect/safety_goggles.c +++ b/test/battle/hold_effect/safety_goggles.c @@ -16,7 +16,7 @@ SINGLE_BATTLE_TEST("Safety Goggles block powder and spore moves") TURN { MOVE(player, MOVE_STUN_SPORE); } } SCENE { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, player); - MESSAGE("Foe Abra is not affected thanks to its Safety Goggles!"); + MESSAGE("The opposing Abra is not affected thanks to its Safety Goggles!"); } } @@ -28,7 +28,7 @@ SINGLE_BATTLE_TEST("Safety Goggles blocks damage from Hail") } WHEN { TURN { MOVE(player, MOVE_HAIL); } } SCENE { - NOT MESSAGE("Foe Wobbuffet is pelted by HAIL!"); + NOT MESSAGE("The opposing Wobbuffet is buffeted by the hail!"); } } @@ -40,7 +40,7 @@ SINGLE_BATTLE_TEST("Safety Goggles blocks damage from Sandstorm") } WHEN { TURN { MOVE(player, MOVE_SANDSTORM); } } SCENE { - NOT MESSAGE("Foe Wobbuffet is buffeted by the sandstorm!"); + NOT MESSAGE("The opposing Wobbuffet is buffeted by the sandstorm!"); } } diff --git a/test/battle/hold_effect/speed_up.c b/test/battle/hold_effect/speed_up.c index c6ddc19d8d05..4a8b28b6d902 100644 --- a/test/battle/hold_effect/speed_up.c +++ b/test/battle/hold_effect/speed_up.c @@ -81,9 +81,9 @@ DOUBLE_BATTLE_TEST("Salac Berry does not miss timing miss timing") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); MESSAGE("A sea of fire enveloped the opposing team!"); - MESSAGE("The opposing Foe Wynaut was hurt by the sea of fire!"); + MESSAGE("The opposing Wynaut was hurt by the sea of fire!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponentLeft); - MESSAGE("Using Salac Berry, the Speed of Foe Wynaut rose!"); - MESSAGE("The opposing Foe Wobbuffet was hurt by the sea of fire!"); + MESSAGE("Using Salac Berry, the Speed of the opposing Wynaut rose!"); + MESSAGE("The opposing Wobbuffet was hurt by the sea of fire!"); } } diff --git a/test/battle/item_effect/cure_status.c b/test/battle/item_effect/cure_status.c index 7f5601ab3c93..6f7d403c43ef 100644 --- a/test/battle/item_effect/cure_status.c +++ b/test/battle/item_effect/cure_status.c @@ -57,7 +57,7 @@ SINGLE_BATTLE_TEST("Antidote resets Toxic Counter") TURN { ; } TURN { USE_ITEM(player, ITEM_ANTIDOTE, partyIndex: 0); } } SCENE { - MESSAGE("Foe Wobbuffet used Toxic!"); + MESSAGE("The opposing Wobbuffet used Toxic!"); MESSAGE("Wobbuffet had its status healed!"); } THEN { EXPECT_EQ(player->status1, STATUS1_NONE); diff --git a/test/battle/item_effect/escape.c b/test/battle/item_effect/escape.c index dcd880912d7e..bffa6e429261 100644 --- a/test/battle/item_effect/escape.c +++ b/test/battle/item_effect/escape.c @@ -14,7 +14,7 @@ WILD_BATTLE_TEST("Poke Toy lets the player escape from a wild battle") } WHEN { TURN { USE_ITEM(player, ITEM_POKE_TOY); } } SCENE { - MESSAGE("{PLAY_SE SE_FLEE}Got away safely!\p"); + MESSAGE("{PLAY_SE SE_FLEE}You got away safely!\p"); } } @@ -29,11 +29,11 @@ WILD_BATTLE_TEST("Poke Toy lets the player escape from a wild battle even if a m TURN { USE_ITEM(player, ITEM_POKE_TOY); } } SCENE { // Turn 1 - MESSAGE("Wild Wobbuffet used Mean Look!"); + MESSAGE("The wild Wobbuffet used Mean Look!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_MEAN_LOOK, opponent); - MESSAGE("Wobbuffet can't escape now!"); + MESSAGE("Wobbuffet can no longer escape!"); // Turn 2 - MESSAGE("{PLAY_SE SE_FLEE}Got away safely!\p"); + MESSAGE("{PLAY_SE SE_FLEE}You got away safely!\p"); } } @@ -45,6 +45,6 @@ WILD_BATTLE_TEST("Poke Toy lets the player escape from a wild battle even if an } WHEN { TURN { USE_ITEM(player, ITEM_POKE_TOY); } } SCENE { - MESSAGE("{PLAY_SE SE_FLEE}Got away safely!\p"); + MESSAGE("{PLAY_SE SE_FLEE}You got away safely!\p"); } } diff --git a/test/battle/item_effect/heal_and_cure_status.c b/test/battle/item_effect/heal_and_cure_status.c index 70dc8322dba9..db15fbde8400 100644 --- a/test/battle/item_effect/heal_and_cure_status.c +++ b/test/battle/item_effect/heal_and_cure_status.c @@ -22,7 +22,7 @@ SINGLE_BATTLE_TEST("Full Restore restores a battler's HP and cures any primary s } WHEN { TURN { USE_ITEM(player, ITEM_FULL_RESTORE, partyIndex: 0); } } SCENE { - MESSAGE("Wobbuffet had its HP restored!"); + MESSAGE("Wobbuffet had its HP restored."); if (status != STATUS1_NONE) { MESSAGE("Wobbuffet had its status healed!"); // The message is not printed if status wasn't healed. } @@ -50,7 +50,7 @@ SINGLE_BATTLE_TEST("Full Restore restores a party members HP and cures any prima TURN { USE_ITEM(player, ITEM_FULL_RESTORE, partyIndex: 1); } TURN { SWITCH(player, 1); } } SCENE { - MESSAGE("Wynaut had its HP restored!"); + MESSAGE("Wynaut had its HP restored."); if (status != STATUS1_NONE) { MESSAGE("Wynaut had its status healed!"); // The message is not printed if status wasn't healed. } @@ -76,7 +76,7 @@ SINGLE_BATTLE_TEST("Full Restore heals a battler from any primary status") } WHEN { TURN { USE_ITEM(player, ITEM_FULL_RESTORE, partyIndex: 0); } } SCENE { - NOT MESSAGE("Wobbuffet had its HP restored!"); // The message is not printed if mon has max HP. + NOT MESSAGE("Wobbuffet had its HP restored."); // The message is not printed if mon has max HP. MESSAGE("Wobbuffet had its status healed!"); } THEN { EXPECT_EQ(player->status1, STATUS1_NONE); @@ -100,7 +100,7 @@ SINGLE_BATTLE_TEST("Full Restore heals a party member from any primary status") TURN { USE_ITEM(player, ITEM_FULL_RESTORE, partyIndex: 1); } TURN { SWITCH(player, 1); } } SCENE { - NOT MESSAGE("Wynaut had its HP restored!"); // The message is not printed if mon has max HP. + NOT MESSAGE("Wynaut had its HP restored."); // The message is not printed if mon has max HP. MESSAGE("Wynaut had its status healed!"); } THEN { EXPECT_EQ(player->species, SPECIES_WYNAUT); @@ -118,7 +118,7 @@ SINGLE_BATTLE_TEST("Full Restore restores a battler's HP and cures confusion") TURN{ USE_ITEM(player, ITEM_FULL_RESTORE, partyIndex: 0); } TURN{ MOVE(player, MOVE_TACKLE); } } SCENE { - MESSAGE("Wobbuffet had its HP restored!"); + MESSAGE("Wobbuffet had its HP restored."); NONE_OF { MESSAGE("Wobbuffet is confused!"); } } THEN { EXPECT_EQ(player->hp, player->maxHP); @@ -135,8 +135,8 @@ SINGLE_BATTLE_TEST("Full Restore resets Toxic Counter") TURN { ; } TURN { USE_ITEM(player, ITEM_FULL_RESTORE, partyIndex: 0); } } SCENE { - MESSAGE("Foe Wobbuffet used Toxic!"); - MESSAGE("Wobbuffet had its HP restored!"); + MESSAGE("The opposing Wobbuffet used Toxic!"); + MESSAGE("Wobbuffet had its HP restored."); MESSAGE("Wobbuffet had its status healed!"); } THEN { EXPECT_EQ(player->status1, STATUS1_NONE); diff --git a/test/battle/item_effect/increase_stat.c b/test/battle/item_effect/increase_stat.c index 4eba548961f5..9b3ced5759c6 100644 --- a/test/battle/item_effect/increase_stat.c +++ b/test/battle/item_effect/increase_stat.c @@ -39,7 +39,7 @@ SINGLE_BATTLE_TEST("X Defense sharply raises battler's Defense stat", s16 damage if (useItem) TURN { USE_ITEM(player, ITEM_X_DEFENSE); } TURN { MOVE(opponent, MOVE_TACKLE); } } SCENE { - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); HP_BAR(player, captureDamage: &results[i].damage); } FINALLY { if (B_X_ITEMS_BUFF >= GEN_7) @@ -87,7 +87,7 @@ SINGLE_BATTLE_TEST("X Sp. Def sharply raises battler's Sp. Defense stat", s16 da if (useItem) TURN { USE_ITEM(player, ITEM_X_SP_DEF); } TURN { MOVE(opponent, MOVE_DISARMING_VOICE); } } SCENE { - MESSAGE("Foe Wobbuffet used Disarming Voice!"); + MESSAGE("The opposing Wobbuffet used Disarming Voice!"); HP_BAR(player, captureDamage: &results[i].damage); } FINALLY { if (B_X_ITEMS_BUFF >= GEN_7) @@ -121,11 +121,11 @@ SINGLE_BATTLE_TEST("X Speed sharply raises battler's Speed stat", s16 damage) if (useItem) { MESSAGE("Wobbuffet used Tackle!"); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); } else { - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); MESSAGE("Wobbuffet used Tackle!"); } } @@ -148,7 +148,7 @@ SINGLE_BATTLE_TEST("X Accuracy sharply raises battler's Accuracy stat") TURN { MOVE(player, MOVE_SING); } } SCENE { MESSAGE("Wobbuffet used Sing!"); - MESSAGE("Foe Wobbuffet fell asleep!"); + MESSAGE("The opposing Wobbuffet fell asleep!"); } } @@ -185,7 +185,7 @@ SINGLE_BATTLE_TEST("Max Mushrooms raises battler's Defense stat", s16 damage) if (useItem) TURN { USE_ITEM(player, ITEM_MAX_MUSHROOMS); } TURN { MOVE(opponent, MOVE_TACKLE); } } SCENE { - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); HP_BAR(player, captureDamage: &results[i].damage); } FINALLY { EXPECT_MUL_EQ(results[0].damage, Q_4_12(0.66), results[1].damage); @@ -225,7 +225,7 @@ SINGLE_BATTLE_TEST("Max Mushrooms battler's Sp. Defense stat", s16 damage) if (useItem) TURN { USE_ITEM(player, ITEM_MAX_MUSHROOMS); } TURN { MOVE(opponent, MOVE_DISARMING_VOICE); } } SCENE { - MESSAGE("Foe Wobbuffet used Disarming Voice!"); + MESSAGE("The opposing Wobbuffet used Disarming Voice!"); HP_BAR(player, captureDamage: &results[i].damage); } FINALLY { EXPECT_MUL_EQ(results[0].damage, Q_4_12(0.66), results[1].damage); @@ -248,11 +248,11 @@ SINGLE_BATTLE_TEST("Max Mushrooms raises battler's Speed stat", s16 damage) if (useItem) { MESSAGE("Wobbuffet used Tackle!"); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); } else { - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); MESSAGE("Wobbuffet used Tackle!"); } } diff --git a/test/battle/item_effect/revive.c b/test/battle/item_effect/revive.c index e113b6ae3398..31d29cd599cd 100644 --- a/test/battle/item_effect/revive.c +++ b/test/battle/item_effect/revive.c @@ -13,7 +13,7 @@ SINGLE_BATTLE_TEST("Revive restores a fainted battler's HP to half") TURN { USE_ITEM(player, ITEM_REVIVE, partyIndex: 0); } TURN { SWITCH(player, 0); } } SCENE { - MESSAGE("Wynaut had its HP restored!"); + MESSAGE("Wynaut had its HP restored."); } THEN { EXPECT_EQ(player->hp, 100); } @@ -31,7 +31,7 @@ SINGLE_BATTLE_TEST("Max Revive restores a fainted battler's HP fully") TURN { USE_ITEM(player, ITEM_MAX_REVIVE, partyIndex: 0); } TURN { SWITCH(player, 0); } } SCENE { - MESSAGE("Wynaut had its HP restored!"); + MESSAGE("Wynaut had its HP restored."); } THEN { EXPECT_EQ(player->hp, 200); } @@ -49,7 +49,7 @@ SINGLE_BATTLE_TEST("Revival Herb restores a fainted battler's HP fully") TURN { USE_ITEM(player, ITEM_REVIVAL_HERB, partyIndex: 0); } TURN { SWITCH(player, 0); } } SCENE { - MESSAGE("Wynaut had its HP restored!"); + MESSAGE("Wynaut had its HP restored."); } THEN { EXPECT_EQ(player->hp, 200); } @@ -67,7 +67,7 @@ SINGLE_BATTLE_TEST("Max Honey restores a fainted battler's HP fully") TURN { USE_ITEM(player, ITEM_MAX_HONEY, partyIndex: 0); } TURN { SWITCH(player, 0); } } SCENE { - MESSAGE("Wynaut had its HP restored!"); + MESSAGE("Wynaut had its HP restored."); } THEN { EXPECT_EQ(player->hp, 200); } diff --git a/test/battle/item_effect/set_mist.c b/test/battle/item_effect/set_mist.c index a4225646aa29..68ac3534bbea 100644 --- a/test/battle/item_effect/set_mist.c +++ b/test/battle/item_effect/set_mist.c @@ -12,8 +12,8 @@ SINGLE_BATTLE_TEST("Guard Spec. sets Mist effect on the battlers side") TURN { MOVE(opponent, MOVE_GROWL); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_MIST, player); - MESSAGE("Ally became shrouded in MIST!"); - MESSAGE("Foe Wobbuffet used Growl!"); - MESSAGE("Wobbuffet is protected by MIST!"); + MESSAGE("Your team became shrouded in mist!"); + MESSAGE("The opposing Wobbuffet used Growl!"); + MESSAGE("Wobbuffet is protected by the mist!"); } } diff --git a/test/battle/move.c b/test/battle/move.c index ba928e433b3e..9ee37391ec72 100644 --- a/test/battle/move.c +++ b/test/battle/move.c @@ -88,7 +88,7 @@ DOUBLE_BATTLE_TEST("Turn order is determined randomly if priority and Speed tie GIVEN { ASSUME(gMovesInfo[MOVE_ENDEAVOR].effect == EFFECT_ENDEAVOR); ASSUME(gMovesInfo[MOVE_LIFE_DEW].effect == EFFECT_JUNGLE_HEALING); - ASSUME(gMovesInfo[MOVE_CRUSH_GRIP].effect == EFFECT_VARY_POWER_BASED_ON_HP); + ASSUME(gMovesInfo[MOVE_CRUSH_GRIP].effect == EFFECT_POWER_BASED_ON_TARGET_HP); ASSUME(gMovesInfo[MOVE_SUPER_FANG].effect == EFFECT_SUPER_FANG); PLAYER(SPECIES_WOBBUFFET) { MaxHP(480); HP(360); Defense(100); Speed(1); } PLAYER(SPECIES_WYNAUT) { Speed(1); } diff --git a/test/battle/move_effect/absorb.c b/test/battle/move_effect/absorb.c index 698ea41091cf..d046876b1b25 100644 --- a/test/battle/move_effect/absorb.c +++ b/test/battle/move_effect/absorb.c @@ -24,6 +24,25 @@ SINGLE_BATTLE_TEST("Absorb recovers 50% of the damage dealt") } } +SINGLE_BATTLE_TEST("Absorb deals 50% of the damage dealt to user agains Liquid Ooze") +{ + s16 damage; + s16 healed; + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_TENTACOOL) { Ability(ABILITY_LIQUID_OOZE); } + } WHEN { + TURN { MOVE(player, MOVE_ABSORB); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_ABSORB, player); + HP_BAR(opponent, captureDamage: &damage); + HP_BAR(player, captureDamage: &healed); + MESSAGE("Wobbuffet sucked up the liquid ooze!"); + } THEN { + EXPECT_MUL_EQ(damage, Q_4_12(0.5), healed); + } +} + SINGLE_BATTLE_TEST("Absorb fails if Heal Block applies") { GIVEN { @@ -69,5 +88,41 @@ DOUBLE_BATTLE_TEST("Matcha Gatcha recovers 50% of the damage dealt from both tar } } +DOUBLE_BATTLE_TEST("Matcha Gatcha will faint the pokemon if Liquid Ooze drain deals enough damage") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_MATCHA_GOTCHA].effect == EFFECT_ABSORB); + PLAYER(SPECIES_WOBBUFFET) { HP(1); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_TENTACOOL) { Ability(ABILITY_LIQUID_OOZE); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerLeft, MOVE_MATCHA_GOTCHA); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_MATCHA_GOTCHA, playerLeft); + HP_BAR(opponentLeft); + HP_BAR(playerLeft); + MESSAGE("Wobbuffet sucked up the liquid ooze!"); + MESSAGE("Wobbuffet fainted!"); + } +} + +SINGLE_BATTLE_TEST("Draining Kiss recovers 75% of the damage dealt") +{ + s16 damage; + s16 healed; + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { HP(1); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_DRAINING_KISS); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAINING_KISS, player); + HP_BAR(opponent, captureDamage: &damage); + HP_BAR(player, captureDamage: &healed); + } THEN { + EXPECT_MUL_EQ(damage, Q_4_12(-0.75), healed); + } +} + TO_DO_BATTLE_TEST("Absorb recovers 50% of the damage dealt to a Substitute"); -TO_DO_BATTLE_TEST("Draining Kiss recovers 75% of the damage dealt"); // Tests .argument 's implementation diff --git a/test/battle/move_effect/accuracy_down.c b/test/battle/move_effect/accuracy_down.c index 8a015c4a6729..f174a7f9463e 100644 --- a/test/battle/move_effect/accuracy_down.c +++ b/test/battle/move_effect/accuracy_down.c @@ -18,7 +18,7 @@ SINGLE_BATTLE_TEST("Sand Attack lowers Accuracy by 1 stage") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SAND_ATTACK, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's accuracy fell!"); + MESSAGE("The opposing Wobbuffet's accuracy fell!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SCRATCH, opponent); } } diff --git a/test/battle/move_effect/after_you.c b/test/battle/move_effect/after_you.c index 32ea44efb15a..c1202f0f9cdd 100644 --- a/test/battle/move_effect/after_you.c +++ b/test/battle/move_effect/after_you.c @@ -46,7 +46,7 @@ DOUBLE_BATTLE_TEST("After You does nothing if the target has already moved") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, playerLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponentLeft); - MESSAGE("Foe Wynaut used After You!"); + MESSAGE("The opposing Wynaut used After You!"); MESSAGE("But it failed!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, playerRight); } @@ -75,7 +75,7 @@ DOUBLE_BATTLE_TEST("After You calculates correct turn order if only one pokemon MESSAGE("Regirock took the kind offer!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STONE_EDGE, playerRight); HP_BAR(opponentLeft); - MESSAGE("Foe Pidgeot fainted!"); + MESSAGE("The opposing Pidgeot fainted!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponentRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_AFTER_YOU, playerLeft); diff --git a/test/battle/move_effect/ally_switch.c b/test/battle/move_effect/ally_switch.c index b3e902fc7938..c7aa52d7c51e 100644 --- a/test/battle/move_effect/ally_switch.c +++ b/test/battle/move_effect/ally_switch.c @@ -54,11 +54,11 @@ DOUBLE_BATTLE_TEST("Ally Switch changes the position of battlers") ANIMATION(ANIM_TYPE_MOVE, MOVE_ALLY_SWITCH, playerLeft); MESSAGE("Wobbuffet and Wynaut switched places!"); - MESSAGE("Foe Kadabra used Screech!"); + MESSAGE("The opposing Kadabra used Screech!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); MESSAGE("Wynaut's Defense harshly fell!"); - MESSAGE("Foe Abra used Screech!"); + MESSAGE("The opposing Abra used Screech!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); MESSAGE("Wynaut's Defense harshly fell!"); } THEN { @@ -84,7 +84,7 @@ DOUBLE_BATTLE_TEST("Ally Switch does not redirect the target of Snipe Shot") ANIMATION(ANIM_TYPE_MOVE, MOVE_ALLY_SWITCH, playerLeft); MESSAGE("Wobbuffet and Wynaut switched places!"); - MESSAGE("Foe Kadabra used Snipe Shot!"); + MESSAGE("The opposing Kadabra used Snipe Shot!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SNIPE_SHOT, opponentLeft); HP_BAR(playerRight); } @@ -109,7 +109,7 @@ DOUBLE_BATTLE_TEST("Ally Switch does not redirect moves done by pokemon with Sta ANIMATION(ANIM_TYPE_MOVE, MOVE_ALLY_SWITCH, playerLeft); MESSAGE("Wobbuffet and Wynaut switched places!"); - MESSAGE("Foe Kadabra used Tackle!"); + MESSAGE("The opposing Kadabra used Tackle!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentLeft); HP_BAR((ability == ABILITY_STALWART || ability == ABILITY_PROPELLER_TAIL) ? playerLeft : playerRight); } diff --git a/test/battle/move_effect/attack_down.c b/test/battle/move_effect/attack_down.c index 457d12228161..e88ef43c26fb 100644 --- a/test/battle/move_effect/attack_down.c +++ b/test/battle/move_effect/attack_down.c @@ -22,7 +22,7 @@ SINGLE_BATTLE_TEST("Growl lowers Attack by 1 stage", s16 damage) if (lowerAttack) { ANIMATION(ANIM_TYPE_MOVE, MOVE_GROWL, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Attack fell!"); + MESSAGE("The opposing Wobbuffet's Attack fell!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); HP_BAR(player, captureDamage: &results[i].damage); diff --git a/test/battle/move_effect/attack_down_2.c b/test/battle/move_effect/attack_down_2.c index 7b62294a765c..6fefec5e45a0 100644 --- a/test/battle/move_effect/attack_down_2.c +++ b/test/battle/move_effect/attack_down_2.c @@ -22,7 +22,7 @@ SINGLE_BATTLE_TEST("Charm lowers Attack by 2 stages", s16 damage) if (lowerAttack) { ANIMATION(ANIM_TYPE_MOVE, MOVE_CHARM, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Attack harshly fell!"); + MESSAGE("The opposing Wobbuffet's Attack harshly fell!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); HP_BAR(player, captureDamage: &results[i].damage); diff --git a/test/battle/move_effect/baton_pass.c b/test/battle/move_effect/baton_pass.c index 02d8a8839ead..b6a27179f323 100644 --- a/test/battle/move_effect/baton_pass.c +++ b/test/battle/move_effect/baton_pass.c @@ -19,7 +19,7 @@ SINGLE_BATTLE_TEST("Baton Pass used after Memento works correctly") } SCENE { MESSAGE("Wobbuffet used Memento!"); MESSAGE("Wobbuffet fainted!"); - MESSAGE("Foe Wynaut used Baton Pass!"); + MESSAGE("The opposing Wynaut used Baton Pass!"); MESSAGE("2 sent out Caterpie!"); MESSAGE("Go! Wobbuffet!"); } diff --git a/test/battle/move_effect/beak_blast.c b/test/battle/move_effect/beak_blast.c index d3c8d0191948..e716b7717fe0 100644 --- a/test/battle/move_effect/beak_blast.c +++ b/test/battle/move_effect/beak_blast.c @@ -22,9 +22,9 @@ DOUBLE_BATTLE_TEST("Beak Blast's charging message is shown before other moves ar MESSAGE("Wobbuffet used Celebrate!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, playerRight); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponentRight); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponentLeft); MESSAGE("Wynaut used Beak Blast!"); @@ -51,18 +51,18 @@ DOUBLE_BATTLE_TEST("Beak Blast burns all who make contact with the pokemon") MESSAGE("Wobbuffet used Celebrate!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, playerRight); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentLeft); HP_BAR(playerLeft); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, opponentLeft); - MESSAGE("Foe Wobbuffet was burned!"); + MESSAGE("The opposing Wobbuffet was burned!"); STATUS_ICON(opponentLeft, burn: TRUE); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentRight); HP_BAR(playerLeft); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, opponentRight); - MESSAGE("Foe Wobbuffet was burned!"); + MESSAGE("The opposing Wobbuffet was burned!"); STATUS_ICON(opponentRight, burn: TRUE); MESSAGE("Wynaut used Beak Blast!"); @@ -95,13 +95,13 @@ SINGLE_BATTLE_TEST("Beak Blast burns only when contact moves are used") if (burn) { ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, opponent); - MESSAGE("Foe Wobbuffet was burned!"); + MESSAGE("The opposing Wobbuffet was burned!"); STATUS_ICON(opponent, burn: TRUE); } else { NONE_OF { ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, opponent); - MESSAGE("Foe Wobbuffet was burned!"); + MESSAGE("The opposing Wobbuffet was burned!"); STATUS_ICON(opponent, burn: TRUE); } } diff --git a/test/battle/move_effect/belly_drum.c b/test/battle/move_effect/belly_drum.c index 82abaf30c455..bfc558a982db 100644 --- a/test/battle/move_effect/belly_drum.c +++ b/test/battle/move_effect/belly_drum.c @@ -35,7 +35,7 @@ SINGLE_BATTLE_TEST("Belly Drum maximizes the user's Attack stat", s16 damage) if (raiseAttack) { ANIMATION(ANIM_TYPE_MOVE, MOVE_BELLY_DRUM, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); - MESSAGE("Wobbuffet cut its own HP and maximized ATTACK!"); + MESSAGE("Wobbuffet cut its own HP and maximized its Attack!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); HP_BAR(opponent, captureDamage: &results[i].damage); @@ -100,12 +100,36 @@ SINGLE_BATTLE_TEST("Belly Drum's HP cost doesn't trigger effects that trigger on TURN { MOVE(player, MOVE_BELLY_DRUM); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_BELLY_DRUM, player); - MESSAGE("Wobbuffet cut its own HP and maximized ATTACK!"); + MESSAGE("Wobbuffet cut its own HP and maximized its Attack!"); NOT MESSAGE("Wobbuffet's Air Balloon popped!"); } } +SINGLE_BATTLE_TEST("Belly Drum minimizes the user's Attack stat with Contrary", s16 damage) +{ + bool32 raiseAttack; + PARAMETRIZE { raiseAttack = FALSE; } + PARAMETRIZE { raiseAttack = TRUE; } + GIVEN { + ASSUME(gMovesInfo[MOVE_TACKLE].category == DAMAGE_CATEGORY_PHYSICAL); + PLAYER(SPECIES_WOBBUFFET) { Ability(ABILITY_CONTRARY); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + if (raiseAttack) TURN { MOVE(player, MOVE_BELLY_DRUM); } + TURN { MOVE(player, MOVE_TACKLE); } + } SCENE { + if (raiseAttack) { + ANIMATION(ANIM_TYPE_MOVE, MOVE_BELLY_DRUM, player); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); + MESSAGE("Wobbuffet cut its own HP and maximized its Attack!"); // Message unaffected by Contrary + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[1].damage, Q_4_12(4), results[0].damage); + } +} + TO_DO_BATTLE_TEST("Belly Drum maximizes the user's Attack stat, even when below 0"); -TO_DO_BATTLE_TEST("Belly Drum minimizes the user's Attack stat if it has Contrary"); // Should still say "maximized attack" TO_DO_BATTLE_TEST("Belly Drum fails if the user's Attack is already at +6, even with Contrary"); TO_DO_BATTLE_TEST("Belly Drum deducts HP if the user has contrary and is at -6"); diff --git a/test/battle/move_effect/bide.c b/test/battle/move_effect/bide.c index 41a6e01416ae..f99829d57c92 100644 --- a/test/battle/move_effect/bide.c +++ b/test/battle/move_effect/bide.c @@ -25,7 +25,7 @@ SINGLE_BATTLE_TEST("Bide deals twice the taken damage over two turns") MESSAGE("Wobbuffet is storing energy!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); HP_BAR(player, captureDamage: &damage2); - MESSAGE("Wobbuffet unleashed energy!"); + MESSAGE("Wobbuffet unleashed its energy!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_BIDE, player); HP_BAR(opponent, captureDamage: &bideDamage); } THEN { diff --git a/test/battle/move_effect/chilly_reception.c b/test/battle/move_effect/chilly_reception.c index 8b64a30f2810..7e821abe3d7e 100644 --- a/test/battle/move_effect/chilly_reception.c +++ b/test/battle/move_effect/chilly_reception.c @@ -9,8 +9,8 @@ ASSUMPTIONS SINGLE_BATTLE_TEST("Chilly Reception sets up snow and switches the user out") { GIVEN { - PLAYER(SPECIES_SLOWKING_GALARIAN); - PLAYER(SPECIES_SLOWPOKE_GALARIAN); + PLAYER(SPECIES_SLOWKING_GALAR); + PLAYER(SPECIES_SLOWPOKE_GALAR); OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(player, MOVE_CHILLY_RECEPTION); SEND_OUT(player, 1); } @@ -27,8 +27,8 @@ SINGLE_BATTLE_TEST("Chilly Reception sets up snow and switches the user out") SINGLE_BATTLE_TEST("Chilly Reception switches the user out, even if the weather does not change") { GIVEN { - PLAYER(SPECIES_SLOWKING_GALARIAN); - PLAYER(SPECIES_SLOWPOKE_GALARIAN); + PLAYER(SPECIES_SLOWKING_GALAR); + PLAYER(SPECIES_SLOWPOKE_GALAR); OPPONENT(SPECIES_KYOGRE) { Item(ITEM_BLUE_ORB); } } WHEN { TURN { MOVE(player, MOVE_CHILLY_RECEPTION); SEND_OUT(player, 1); } @@ -45,7 +45,7 @@ SINGLE_BATTLE_TEST("Chilly Reception switches the user out, even if the weather SINGLE_BATTLE_TEST("Chilly Reception does not switch the user out if no replacements") { GIVEN { - PLAYER(SPECIES_SLOWKING_GALARIAN); + PLAYER(SPECIES_SLOWKING_GALAR); OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(player, MOVE_CHILLY_RECEPTION); } @@ -60,8 +60,8 @@ SINGLE_BATTLE_TEST("Chilly Reception does not switch the user out if no replacem SINGLE_BATTLE_TEST("Chilly Reception does not switch the user out if replacements fainted") { GIVEN { - PLAYER(SPECIES_SLOWKING_GALARIAN); - PLAYER(SPECIES_SLOWPOKE_GALARIAN) { HP(0); } + PLAYER(SPECIES_SLOWKING_GALAR); + PLAYER(SPECIES_SLOWPOKE_GALAR) { HP(0); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(player, MOVE_CHILLY_RECEPTION); } @@ -76,7 +76,7 @@ SINGLE_BATTLE_TEST("Chilly Reception does not switch the user out if replacement SINGLE_BATTLE_TEST("Chilly Reception changes the weather, even if the user cannot switch out") { GIVEN { - PLAYER(SPECIES_SLOWKING_GALARIAN); + PLAYER(SPECIES_SLOWKING_GALAR); OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(player, MOVE_CHILLY_RECEPTION); } diff --git a/test/battle/move_effect/confuse.c b/test/battle/move_effect/confuse.c index dcd843b2c677..05338219724b 100644 --- a/test/battle/move_effect/confuse.c +++ b/test/battle/move_effect/confuse.c @@ -16,7 +16,7 @@ SINGLE_BATTLE_TEST("Teeter Dance confuses target") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TEETER_DANCE, player); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponent); - MESSAGE("Foe Wobbuffet became confused!"); + MESSAGE("The opposing Wobbuffet became confused!"); } } @@ -32,7 +32,7 @@ SINGLE_BATTLE_TEST("Teeter Dance confusion is blocked by Own Tempo") NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_TEETER_DANCE, player); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponent); - MESSAGE("Foe Wobbuffet became confused!"); + MESSAGE("The opposing Wobbuffet became confused!"); } } } @@ -49,10 +49,10 @@ DOUBLE_BATTLE_TEST("Teeter Dance can confuse foes and allies") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TEETER_DANCE, playerLeft); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponentLeft); - MESSAGE("Foe Wobbuffet became confused!"); + MESSAGE("The opposing Wobbuffet became confused!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, playerRight); MESSAGE("Wynaut became confused!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponentRight); - MESSAGE("Foe Wynaut became confused!"); + MESSAGE("The opposing Wynaut became confused!"); } } diff --git a/test/battle/move_effect/conversion_2.c b/test/battle/move_effect/conversion_2.c index 6c2d4d7f5430..acd21125c3eb 100644 --- a/test/battle/move_effect/conversion_2.c +++ b/test/battle/move_effect/conversion_2.c @@ -16,8 +16,8 @@ SINGLE_BATTLE_TEST("Conversion 2 randomly changes the type of the user to a type MESSAGE("Wobbuffet used Ominous Wind!"); // turn 1 ONE_OF { - MESSAGE("Foe Wobbuffet transformed into the Normal type!"); - MESSAGE("Foe Wobbuffet transformed into the Dark type!"); + MESSAGE("The opposing Wobbuffet transformed into the Normal type!"); + MESSAGE("The opposing Wobbuffet transformed into the Dark type!"); } } } @@ -32,7 +32,7 @@ SINGLE_BATTLE_TEST("Conversion 2's type change considers Struggle to be Normal t TURN { MOVE(player, MOVE_CONVERSION_2); } } SCENE { // turn 1 - MESSAGE("Foe Wobbuffet used Struggle!"); + MESSAGE("The opposing Wobbuffet used Struggle!"); // turn 2 ONE_OF { MESSAGE("Wobbuffet transformed into the Steel type!"); @@ -56,8 +56,8 @@ SINGLE_BATTLE_TEST("Conversion 2 randomly changes the type of the user to a type MESSAGE("Wobbuffet used Ominous Wind!"); // turn 1 ONE_OF { - MESSAGE("Foe Wobbuffet transformed into the Normal type!"); - MESSAGE("Foe Wobbuffet transformed into the Dark type!"); + MESSAGE("The opposing Wobbuffet transformed into the Normal type!"); + MESSAGE("The opposing Wobbuffet transformed into the Dark type!"); } } } @@ -72,7 +72,7 @@ SINGLE_BATTLE_TEST("Conversion 2's type change considers status moves (Gen 5+)") TURN { MOVE(player, MOVE_CONVERSION_2); } } SCENE { // turn 1 - MESSAGE("Foe Wobbuffet used Curse!"); + MESSAGE("The opposing Wobbuffet used Curse!"); // turn 2 ONE_OF { MESSAGE("Wobbuffet transformed into the Normal type!"); @@ -91,7 +91,7 @@ SINGLE_BATTLE_TEST("Conversion 2's type change considers the type of moves calle TURN { MOVE(player, MOVE_CONVERSION_2); } } SCENE { // turn 1 - MESSAGE("Foe Wobbuffet used Mirror Move!"); + MESSAGE("The opposing Wobbuffet used Mirror Move!"); // turn 2 ONE_OF { MESSAGE("Wobbuffet transformed into the Normal type!"); @@ -110,7 +110,7 @@ SINGLE_BATTLE_TEST("Conversion 2's type change considers dynamic type moves") TURN { MOVE(player, MOVE_CONVERSION_2); } } SCENE { // turn 1 - MESSAGE("Foe Wobbuffet used Weather Ball!"); + MESSAGE("The opposing Wobbuffet used Weather Ball!"); // turn 2 ONE_OF { MESSAGE("Wobbuffet transformed into the Steel type!"); @@ -133,7 +133,7 @@ SINGLE_BATTLE_TEST("Conversion 2's type change considers move types changed by N } SCENE { // turn 1 MESSAGE("Wobbuffet used Electrify!"); - MESSAGE("Foe Wobbuffet used Pound!"); + MESSAGE("The opposing Wobbuffet used Pound!"); // turn 2 ONE_OF { MESSAGE("Wobbuffet transformed into the Ground type!"); @@ -144,9 +144,9 @@ SINGLE_BATTLE_TEST("Conversion 2's type change considers move types changed by N // turn 3 MESSAGE("Wobbuffet used Water Gun!"); ONE_OF { - MESSAGE("Foe Wobbuffet transformed into the Steel type!"); - MESSAGE("Foe Wobbuffet transformed into the Rock type!"); - MESSAGE("Foe Wobbuffet transformed into the Ghost type!"); + MESSAGE("The opposing Wobbuffet transformed into the Steel type!"); + MESSAGE("The opposing Wobbuffet transformed into the Rock type!"); + MESSAGE("The opposing Wobbuffet transformed into the Ghost type!"); } } } @@ -161,7 +161,7 @@ SINGLE_BATTLE_TEST("Conversion 2's type change fails targeting Struggle (Gen 5+) TURN { MOVE(player, MOVE_CONVERSION_2); } } SCENE { // turn 1 - MESSAGE("Foe Wobbuffet used Struggle!"); + MESSAGE("The opposing Wobbuffet used Struggle!"); // turn 2 MESSAGE("Wobbuffet used Conversion 2!"); MESSAGE("But it failed!"); @@ -179,9 +179,9 @@ SINGLE_BATTLE_TEST("Conversion 2 fails if the move used is of typeless damage (G TURN { MOVE(player, MOVE_CONVERSION_2); } } SCENE { // turn 1 - MESSAGE("Foe Entei used Burn Up!"); + MESSAGE("The opposing Entei used Burn Up!"); // turn 2 - MESSAGE("Foe Entei used Revelation Dance!"); + MESSAGE("The opposing Entei used Revelation Dance!"); // turn 3 MESSAGE("Wobbuffet used Conversion 2!"); MESSAGE("But it failed!"); @@ -201,7 +201,7 @@ SINGLE_BATTLE_TEST("Conversion 2 fails if the targeted move is Stellar Type") MESSAGE("Wobbuffet used Tera Blast!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TERA_BLAST, player); // turn 1 - MESSAGE("Foe Wobbuffet used Conversion 2!"); + MESSAGE("The opposing Wobbuffet used Conversion 2!"); MESSAGE("But it failed!"); } } diff --git a/test/battle/move_effect/corrosive_gas.c b/test/battle/move_effect/corrosive_gas.c index f6a9c738e431..cc4110a7e38b 100644 --- a/test/battle/move_effect/corrosive_gas.c +++ b/test/battle/move_effect/corrosive_gas.c @@ -22,10 +22,10 @@ SINGLE_BATTLE_TEST("Corrosive Gas destroys the target's item or fails if the tar MESSAGE("Wobbuffet used Corrosive Gas!"); if (item == ITEM_POTION) { ANIMATION(ANIM_TYPE_MOVE, MOVE_CORROSIVE_GAS, player); - MESSAGE("Wobbuffet corroded Foe Wobbuffet's Potion!"); + MESSAGE("Wobbuffet corroded the opposing Wobbuffet's Potion!"); } else { - MESSAGE("It had no effect on Foe Wobbuffet!"); + MESSAGE("It won't have any effect on the opposing Wobbuffet!"); } } THEN { EXPECT_EQ(opponent->item, ITEM_NONE); @@ -42,9 +42,9 @@ SINGLE_BATTLE_TEST("Corrosive Gas doesn't destroy the item of a Pokemon with the } SCENE { MESSAGE("Wobbuffet used Corrosive Gas!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CORROSIVE_GAS, player); - NOT MESSAGE("Wobbuffet corroded Foe Wobbuffet's Potion!"); + NOT MESSAGE("Wobbuffet corroded the opposing Wobbuffet's Potion!"); ABILITY_POPUP(opponent, ABILITY_STICKY_HOLD); - MESSAGE("Foe Muk's Sticky Hold made Corrosive Gas ineffective!"); + MESSAGE("The opposing Muk's Sticky Hold made Corrosive Gas ineffective!"); } THEN { EXPECT_EQ(opponent->item, ITEM_POISON_BARB); } @@ -61,8 +61,8 @@ SINGLE_BATTLE_TEST("Items lost to Corrosive Gas cannot be restored by Recycle") } SCENE { MESSAGE("Wobbuffet used Corrosive Gas!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CORROSIVE_GAS, player); - MESSAGE("Wobbuffet corroded Foe Wobbuffet's Oran Berry!"); - MESSAGE("Foe Wobbuffet used Recycle!"); + MESSAGE("Wobbuffet corroded the opposing Wobbuffet's Oran Berry!"); + MESSAGE("The opposing Wobbuffet used Recycle!"); MESSAGE("But it failed!"); } THEN { EXPECT_EQ(opponent->item, ITEM_NONE); @@ -97,17 +97,17 @@ DOUBLE_BATTLE_TEST("Corrosive Gas destroys foes and ally's items if they have on if (itemPlayerLeft == ITEM_CHERI_BERRY) { MESSAGE("Wynaut corroded Wobbuffet's Cheri Berry!"); } else { - MESSAGE("It had no effect on Wobbuffet!"); + MESSAGE("It won't have any effect on Wobbuffet!"); } if (itemOpponentLeft == ITEM_ORAN_BERRY) { - MESSAGE("Wynaut corroded Foe Abra's Oran Berry!"); + MESSAGE("Wynaut corroded the opposing Abra's Oran Berry!"); } else { - MESSAGE("It had no effect on Foe Abra!"); + MESSAGE("It won't have any effect on the opposing Abra!"); } if (itemOpponentRight == ITEM_CHESTO_BERRY) { - MESSAGE("Wynaut corroded Foe Kadabra's Chesto Berry!"); + MESSAGE("Wynaut corroded the opposing Kadabra's Chesto Berry!"); } else { - MESSAGE("It had no effect on Foe Kadabra!"); + MESSAGE("It won't have any effect on the opposing Kadabra!"); } } THEN { diff --git a/test/battle/move_effect/court_change.c b/test/battle/move_effect/court_change.c index b9be19db7f75..f3775d0af65a 100644 --- a/test/battle/move_effect/court_change.c +++ b/test/battle/move_effect/court_change.c @@ -21,24 +21,24 @@ DOUBLE_BATTLE_TEST("Court Change swaps entry hazards used by the opponent") TURN { MOVE(playerLeft, MOVE_COURT_CHANGE); } TURN { SWITCH(playerLeft, 2); SWITCH(opponentLeft, 2); } } SCENE { - MESSAGE("Foe Wobbuffet used Sticky Web!"); - MESSAGE("Foe Wobbuffet used Stealth Rock!"); - MESSAGE("Foe Wobbuffet used Spikes!"); - MESSAGE("Foe Wobbuffet used Toxic Spikes!"); + MESSAGE("The opposing Wobbuffet used Sticky Web!"); + MESSAGE("The opposing Wobbuffet used Stealth Rock!"); + MESSAGE("The opposing Wobbuffet used Spikes!"); + MESSAGE("The opposing Wobbuffet used Toxic Spikes!"); MESSAGE("Wynaut used Court Change!"); - MESSAGE("Wynaut swapped the battle effects affecting each side!"); + MESSAGE("Wynaut swapped the battle effects affecting each side of the field!"); SEND_IN_MESSAGE("Wynaut"); NONE_OF { - MESSAGE("Wynaut is hurt by spikes!"); + MESSAGE("Wynaut was hurt by the spikes!"); MESSAGE("Pointed stones dug into Wynaut!"); MESSAGE("Wynaut was poisoned!"); - MESSAGE("Wynaut was caught in a Sticky Web!"); + MESSAGE("Wynaut was caught in a sticky web!"); } MESSAGE("2 sent out Wobbuffet!"); - MESSAGE("Foe Wobbuffet is hurt by spikes!"); - MESSAGE("Pointed stones dug into Foe Wobbuffet!"); - MESSAGE("Foe Wobbuffet was poisoned!"); - MESSAGE("Foe Wobbuffet was caught in a Sticky Web!"); + MESSAGE("The opposing Wobbuffet was hurt by the spikes!"); + MESSAGE("Pointed stones dug into the opposing Wobbuffet!"); + MESSAGE("The opposing Wobbuffet was poisoned!"); + MESSAGE("The opposing Wobbuffet was caught in a sticky web!"); } } @@ -61,19 +61,19 @@ DOUBLE_BATTLE_TEST("Court Change swaps entry hazards used by the player") MESSAGE("Wobbuffet used Stealth Rock!"); MESSAGE("Wobbuffet used Spikes!"); MESSAGE("Wobbuffet used Toxic Spikes!"); - MESSAGE("Foe Wynaut used Court Change!"); - MESSAGE("Foe Wynaut swapped the battle effects affecting each side!"); + MESSAGE("The opposing Wynaut used Court Change!"); + MESSAGE("The opposing Wynaut swapped the battle effects affecting each side of the field!"); SEND_IN_MESSAGE("Wobbuffet"); - MESSAGE("Wobbuffet is hurt by spikes!"); + MESSAGE("Wobbuffet was hurt by the spikes!"); MESSAGE("Pointed stones dug into Wobbuffet!"); MESSAGE("Wobbuffet was poisoned!"); - MESSAGE("Wobbuffet was caught in a Sticky Web!"); + MESSAGE("Wobbuffet was caught in a sticky web!"); MESSAGE("2 sent out Wynaut!"); NONE_OF { - MESSAGE("Foe Wynaut is hurt by spikes!"); - MESSAGE("Pointed stones dug into Foe Wynaut!"); - MESSAGE("Foe Wynaut was poisoned!"); - MESSAGE("Foe Wynaut was caught in a Sticky Web!"); + MESSAGE("The opposing Wynaut was hurt by the spikes!"); + MESSAGE("Pointed stones dug into the opposing Wynaut!"); + MESSAGE("The opposing Wynaut was poisoned!"); + MESSAGE("The opposing Wynaut was caught in a sticky web!"); } } } @@ -98,21 +98,21 @@ DOUBLE_BATTLE_TEST("Court Change used by the player swaps Mist, Safeguard, Auror TURN { } } SCENE { MESSAGE("Wynaut used Snowscape!"); - MESSAGE("Foe Wobbuffet used Mist!"); - MESSAGE("Foe Wobbuffet used Safeguard!"); - MESSAGE("Foe Wobbuffet used Aurora Veil!"); - MESSAGE("Foe Wobbuffet used Reflect!"); - MESSAGE("Foe Wobbuffet used Light Screen!"); - MESSAGE("Foe Wobbuffet used Tailwind!"); + MESSAGE("The opposing Wobbuffet used Mist!"); + MESSAGE("The opposing Wobbuffet used Safeguard!"); + MESSAGE("The opposing Wobbuffet used Aurora Veil!"); + MESSAGE("The opposing Wobbuffet used Reflect!"); + MESSAGE("The opposing Wobbuffet used Light Screen!"); + MESSAGE("The opposing Wobbuffet used Tailwind!"); MESSAGE("Wynaut used Court Change!"); - MESSAGE("Wynaut swapped the battle effects affecting each side!"); - // The effects now end for the player side. - MESSAGE("Ally's Mist wore off!"); - MESSAGE("Ally's party is no longer protected by Safeguard!"); - MESSAGE("Ally's Reflect wore off!"); - MESSAGE("Ally's Aurora Veil wore off!"); - MESSAGE("Your team's tailwind petered out!"); - MESSAGE("Ally's Light Screen wore off!"); + MESSAGE("Wynaut swapped the battle effects affecting each side of the field!"); + // The effects now end for the player side. + MESSAGE("Your team's Mist wore off!"); + MESSAGE("Your team is no longer protected by Safeguard!"); + MESSAGE("Your team's Reflect wore off!"); + MESSAGE("Your team's Aurora Veil wore off!"); + MESSAGE("Your team's Tailwind petered out!"); + MESSAGE("Your team's Light Screen wore off!"); } } @@ -141,15 +141,15 @@ DOUBLE_BATTLE_TEST("Court Change used by the opponent swaps Mist, Safeguard, Aur MESSAGE("Wobbuffet used Reflect!"); MESSAGE("Wobbuffet used Light Screen!"); MESSAGE("Wobbuffet used Tailwind!"); - MESSAGE("Foe Wynaut used Court Change!"); - MESSAGE("Foe Wynaut swapped the battle effects affecting each side!"); + MESSAGE("The opposing Wynaut used Court Change!"); + MESSAGE("The opposing Wynaut swapped the battle effects affecting each side of the field!"); // The effects now end for the player side. - MESSAGE("Foe's Mist wore off!"); - MESSAGE("Foe's party is no longer protected by Safeguard!"); - MESSAGE("Foe's Reflect wore off!"); - MESSAGE("Foe's Aurora Veil wore off!"); - MESSAGE("The opposing team's tailwind petered out!"); - MESSAGE("Foe's Light Screen wore off!"); + MESSAGE("The opposing team's Mist wore off!"); + MESSAGE("The opposing team is no longer protected by Safeguard!"); + MESSAGE("The opposing team's Reflect wore off!"); + MESSAGE("The opposing team's Aurora Veil wore off!"); + MESSAGE("The opposing team's Tailwind petered out!"); + MESSAGE("The opposing team's Light Screen wore off!"); } } diff --git a/test/battle/move_effect/defense_down.c b/test/battle/move_effect/defense_down.c index 8eb288a805a6..0552a9c67e7e 100644 --- a/test/battle/move_effect/defense_down.c +++ b/test/battle/move_effect/defense_down.c @@ -22,7 +22,7 @@ SINGLE_BATTLE_TEST("Tail Whip lowers Defense", s16 damage) if (lowerDefense) { ANIMATION(ANIM_TYPE_MOVE, MOVE_TAIL_WHIP, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Defense fell!"); + MESSAGE("The opposing Wobbuffet's Defense fell!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); HP_BAR(opponent, captureDamage: &results[i].damage); diff --git a/test/battle/move_effect/defog.c b/test/battle/move_effect/defog.c index 418d28d97bed..d5838d7ffd08 100644 --- a/test/battle/move_effect/defog.c +++ b/test/battle/move_effect/defog.c @@ -29,7 +29,7 @@ SINGLE_BATTLE_TEST("Defog lowers evasiveness by 1") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_DEFOG, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's evasiveness fell!"); + MESSAGE("The opposing Wobbuffet's evasiveness fell!"); } } @@ -41,12 +41,12 @@ SINGLE_BATTLE_TEST("Defog does not lower evasiveness if target behind Substitute } WHEN { TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_DEFOG); } } SCENE { - MESSAGE("Foe Wobbuffet used Substitute!"); + MESSAGE("The opposing Wobbuffet used Substitute!"); MESSAGE("But it failed!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_DEFOG, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's evasiveness fell!"); + MESSAGE("The opposing Wobbuffet's evasiveness fell!"); } } } @@ -72,9 +72,9 @@ DOUBLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Reflect and Light ANIMATION(ANIM_TYPE_MOVE, move, playerLeft); if (move == MOVE_DEFOG) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Foe Wobbuffet's evasiveness fell!"); - MESSAGE("Foe's Reflect wore off!"); - MESSAGE("Foe's Light Screen wore off!"); + MESSAGE("The opposing Wobbuffet's evasiveness fell!"); + MESSAGE("The opposing team's Reflect wore off!"); + MESSAGE("The opposing team's Light Screen wore off!"); } MESSAGE("Wobbuffet used Tackle!"); HP_BAR(opponentLeft, captureDamage: &results[i].damagePhysical); @@ -105,10 +105,10 @@ DOUBLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Mist and Safeguard ANIMATION(ANIM_TYPE_MOVE, MOVE_MIST, opponentLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_SAFEGUARD, opponentRight); if (move == MOVE_DEFOG) { - MESSAGE("Foe Wobbuffet is protected by MIST!"); + MESSAGE("The opposing Wobbuffet is protected by the mist!"); ANIMATION(ANIM_TYPE_MOVE, move, playerLeft); - MESSAGE("Foe's Mist wore off!"); - MESSAGE("Foe's Safeguard wore off!"); + MESSAGE("The opposing team's Mist wore off!"); + MESSAGE("The opposing team's Safeguard wore off!"); } MESSAGE("Wobbuffet used Screech!"); if (move == MOVE_DEFOG) { @@ -116,7 +116,7 @@ DOUBLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Mist and Safeguard ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); } else { - MESSAGE("Foe Wobbuffet is protected by MIST!"); + MESSAGE("The opposing Wobbuffet is protected by the mist!"); NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); } MESSAGE("Wobbuffet used Toxic!"); @@ -125,13 +125,13 @@ DOUBLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Mist and Safeguard STATUS_ICON(opponentRight, badPoison: TRUE); } else { - MESSAGE("Foe Wobbuffet's party is protected by Safeguard!"); + MESSAGE("The opposing Wobbuffet is protected by Safeguard!"); NOT STATUS_ICON(opponentRight, badPoison: TRUE); } } } -DOUBLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Stealth Rock and Sticky Web from player's side") +DOUBLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Stealth Rock and Sticky Web from player's side (Gen 6+)") { u16 move; @@ -153,17 +153,19 @@ DOUBLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Stealth Rock and S ANIMATION(ANIM_TYPE_MOVE, move, playerLeft); if (move == MOVE_DEFOG) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Foe Wobbuffet's evasiveness fell!"); - MESSAGE("The pointed stones disappeared from around your team!"); - MESSAGE("The sticky web has disappeared from the ground around your team!"); + MESSAGE("The opposing Wobbuffet's evasiveness fell!"); + if (B_DEFOG_EFFECT_CLEARING >= GEN_6) { + MESSAGE("The pointed stones disappeared from around your team!"); + MESSAGE("The sticky web has disappeared from the ground around your team!"); + } } // Switch happens SWITCH_OUT_MESSAGE("Wobbuffet"); SEND_IN_MESSAGE("Wobbuffet"); - if (move != MOVE_DEFOG) { + if (move != MOVE_DEFOG || B_DEFOG_EFFECT_CLEARING <= GEN_5) { HP_BAR(playerLeft); MESSAGE("Pointed stones dug into Wobbuffet!"); - MESSAGE("Wobbuffet was caught in a Sticky Web!"); + MESSAGE("Wobbuffet was caught in a sticky web!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); MESSAGE("Wobbuffet's Speed fell!"); } @@ -171,7 +173,7 @@ DOUBLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Stealth Rock and S NONE_OF { HP_BAR(playerLeft); MESSAGE("Pointed stones dug into Wobbuffet!"); - MESSAGE("Wobbuffet was caught in a Sticky Web!"); + MESSAGE("Wobbuffet was caught in a sticky web!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); MESSAGE("Wobbuffet's Speed fell!"); } @@ -197,26 +199,27 @@ SINGLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Spikes from player ANIMATION(ANIM_TYPE_MOVE, move, player); if (move == MOVE_DEFOG) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's evasiveness fell!"); - MESSAGE("The spikes disappeared from the ground around your team!"); + MESSAGE("The opposing Wobbuffet's evasiveness fell!"); + if (B_DEFOG_EFFECT_CLEARING >= GEN_6) + MESSAGE("The spikes disappeared from the ground around your team!"); } // Switch happens SWITCH_OUT_MESSAGE("Wobbuffet"); SEND_IN_MESSAGE("Wobbuffet"); - if (move != MOVE_DEFOG) { + if (move != MOVE_DEFOG || B_DEFOG_EFFECT_CLEARING <= GEN_5) { HP_BAR(player); - MESSAGE("Wobbuffet is hurt by spikes!"); + MESSAGE("Wobbuffet was hurt by the spikes!"); } else { NONE_OF { HP_BAR(player); - MESSAGE("Wobbuffet is hurt by spikes!"); + MESSAGE("Wobbuffet was hurt by the spikes!"); } } } } -SINGLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes terrain") +SINGLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes terrain (Gen 8+)") { u16 move; @@ -225,7 +228,6 @@ SINGLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes terrain") PARAMETRIZE { move = MOVE_MISTY_TERRAIN; } PARAMETRIZE { move = MOVE_GRASSY_TERRAIN; } GIVEN { - ASSUME(B_DEFOG_CLEARS_TERRAIN >= GEN_8); PLAYER(SPECIES_WOBBUFFET) { Speed(50); } OPPONENT(SPECIES_WOBBUFFET) { Speed(5); } } WHEN { @@ -235,19 +237,29 @@ SINGLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes terrain") ANIMATION(ANIM_TYPE_MOVE, MOVE_DEFOG, opponent); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Wobbuffet's evasiveness fell!"); - if (move == MOVE_PSYCHIC_TERRAIN) { - MESSAGE("The weirdness disappeared from the battlefield."); - } - else if (move == MOVE_ELECTRIC_TERRAIN) { - MESSAGE("The electricity disappeared from the battlefield."); - } - else if (move == MOVE_MISTY_TERRAIN) { - MESSAGE("The mist disappeared from the battlefield."); - } - else if (move == MOVE_GRASSY_TERRAIN) { - MESSAGE("The grass disappeared from the battlefield."); + if (B_DEFOG_EFFECT_CLEARING >= GEN_8) { + if (move == MOVE_PSYCHIC_TERRAIN) { + MESSAGE("The weirdness disappeared from the battlefield!"); + } + else if (move == MOVE_ELECTRIC_TERRAIN) { + MESSAGE("The electricity disappeared from the battlefield."); + } + else if (move == MOVE_MISTY_TERRAIN) { + MESSAGE("The mist disappeared from the battlefield."); + } + else if (move == MOVE_GRASSY_TERRAIN) { + MESSAGE("The grass disappeared from the battlefield."); + } + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_RESTORE_BG, player); + } else { + NONE_OF { + MESSAGE("The weirdness disappeared from the battlefield!"); + MESSAGE("The electricity disappeared from the battlefield."); + MESSAGE("The mist disappeared from the battlefield."); + MESSAGE("The grass disappeared from the battlefield."); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_RESTORE_BG, player); + } } - ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_RESTORE_BG, player); } } @@ -270,18 +282,19 @@ SINGLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Toxic Spikes from if (move == MOVE_DEFOG) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Wobbuffet's evasiveness fell!"); - MESSAGE("The poison spikes disappeared from the ground around the opposing team!"); + if (B_DEFOG_EFFECT_CLEARING >= GEN_6) + MESSAGE("The poison spikes disappeared from the ground around the opposing team!"); } // Switch happens MESSAGE("2 sent out Wobbuffet!"); - if (move != MOVE_DEFOG) { - MESSAGE("Foe Wobbuffet was poisoned!"); + if (move != MOVE_DEFOG || B_DEFOG_EFFECT_CLEARING <= GEN_5) { + MESSAGE("The opposing Wobbuffet was poisoned!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponent); STATUS_ICON(opponent, poison: TRUE); } else { NONE_OF { - MESSAGE("Foe Wobbuffet was poisoned!"); + MESSAGE("The opposing Wobbuffet was poisoned!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponent); STATUS_ICON(opponent, poison: TRUE); } @@ -313,11 +326,11 @@ DOUBLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes Aurora Veil from p if (move == MOVE_DEFOG) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); MESSAGE("Glalie's evasiveness fell!"); - MESSAGE("Ally's Aurora Veil wore off!"); + MESSAGE("Your team's Aurora Veil wore off!"); } - MESSAGE("Foe Glalie used Tackle!"); + MESSAGE("The opposing Glalie used Tackle!"); HP_BAR(playerLeft, captureDamage: &results[i].damagePhysical); - MESSAGE("Foe Glalie used Gust!"); + MESSAGE("The opposing Glalie used Gust!"); HP_BAR(playerRight, captureDamage: &results[i].damageSpecial); } FINALLY { EXPECT_MUL_EQ(results[1].damagePhysical, Q_4_12(1.5), results[0].damagePhysical); @@ -346,25 +359,45 @@ DOUBLE_BATTLE_TEST("Defog lowers evasiveness by 1 and removes everything it can" TURN { MOVE(playerLeft, MOVE_REFLECT); MOVE(playerRight, MOVE_LIGHT_SCREEN); MOVE(opponentLeft, MOVE_REFLECT); MOVE(opponentRight, MOVE_SAFEGUARD); } TURN { MOVE(playerLeft, MOVE_MIST); MOVE(playerRight, MOVE_SAFEGUARD); MOVE(opponentLeft, MOVE_MIST); MOVE(opponentRight, MOVE_DEFOG, target: playerLeft); } } SCENE { - MESSAGE("Foe Glalie used Defog!"); - MESSAGE("Glalie is protected by MIST!"); + MESSAGE("The opposing Glalie used Defog!"); + MESSAGE("Glalie is protected by the mist!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_DEFOG, opponentRight); // Player side - MESSAGE("Ally's Reflect wore off!"); - MESSAGE("Ally's Light Screen wore off!"); - MESSAGE("Ally's Mist wore off!"); - MESSAGE("Ally's Aurora Veil wore off!"); - MESSAGE("Ally's Safeguard wore off!"); + MESSAGE("Your team's Reflect wore off!"); + MESSAGE("Your team's Light Screen wore off!"); + MESSAGE("Your team's Mist wore off!"); + MESSAGE("Your team's Aurora Veil wore off!"); + MESSAGE("Your team's Safeguard wore off!"); + + if (B_DEFOG_EFFECT_CLEARING >= GEN_6) { + MESSAGE("The spikes disappeared from the ground around your team!"); + MESSAGE("The pointed stones disappeared from around your team!"); + MESSAGE("The poison spikes disappeared from the ground around your team!"); + MESSAGE("The sticky web has disappeared from the ground around your team!"); - MESSAGE("The spikes disappeared from the ground around your team!"); - MESSAGE("The pointed stones disappeared from around your team!"); - MESSAGE("The poison spikes disappeared from the ground around your team!"); - MESSAGE("The sticky web has disappeared from the ground around your team!"); + // Opponent side + MESSAGE("The spikes disappeared from the ground around the opposing team!"); + MESSAGE("The pointed stones disappeared from around the opposing team!"); + MESSAGE("The poison spikes disappeared from the ground around the opposing team!"); + MESSAGE("The sticky web has disappeared from the ground around the opposing team!"); + } + } +} - // Opponent side - MESSAGE("The spikes disappeared from the ground around the opposing team!"); - MESSAGE("The pointed stones disappeared from around the opposing team!"); - MESSAGE("The poison spikes disappeared from the ground around the opposing team!"); - MESSAGE("The sticky web has disappeared from the ground around the opposing team!"); +SINGLE_BATTLE_TEST("Defog is used on the correct side if opposing mon is behind a substitute with Screen up") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_LIGHT_SCREEN); } + TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_DEFOG); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_LIGHT_SCREEN, opponent); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SUBSTITUTE, opponent); + MESSAGE("Wobbuffet used Defog!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DEFOG, player); + MESSAGE("The opposing Wobbuffet's evasiveness fell!"); + MESSAGE("The opposing team's Light Screen wore off!"); } } diff --git a/test/battle/move_effect/destiny_bond.c b/test/battle/move_effect/destiny_bond.c index baba378f6b1e..ba49e0ec431a 100644 --- a/test/battle/move_effect/destiny_bond.c +++ b/test/battle/move_effect/destiny_bond.c @@ -11,7 +11,7 @@ SINGLE_BATTLE_TEST("Destiny Bond faints the opposing mon if it fainted from the } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_DESTINY_BOND, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); - MESSAGE("Wobbuffet took Foe Wobbuffet with it!"); - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("Wobbuffet took its attacker down with it!"); + MESSAGE("The opposing Wobbuffet fainted!"); } } diff --git a/test/battle/move_effect/doodle.c b/test/battle/move_effect/doodle.c index ba7729a89554..a43a149dc82c 100644 --- a/test/battle/move_effect/doodle.c +++ b/test/battle/move_effect/doodle.c @@ -17,8 +17,8 @@ DOUBLE_BATTLE_TEST("Doodle gives the target's ability to user and ally") TURN { MOVE(playerLeft, MOVE_DOODLE, target: opponentLeft); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_DOODLE, playerLeft); - MESSAGE("Wynaut copied Foe Torchic's Blaze!"); - MESSAGE("Wynaut copied Foe Torchic's Blaze!"); + MESSAGE("Wynaut copied the opposing Torchic's Ability!"); + MESSAGE("Wynaut copied the opposing Torchic's Ability!"); } THEN { EXPECT(playerLeft->ability == ABILITY_BLAZE); EXPECT(playerRight->ability == ABILITY_BLAZE); @@ -37,8 +37,8 @@ DOUBLE_BATTLE_TEST("Doodle can't copy a banned ability") } SCENE { NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_DOODLE, playerLeft); - MESSAGE("Wynaut copied Foe Great Tusk's Protosynthesis!"); - MESSAGE("Wynaut copied Foe Great Tusk's Protosynthesis!"); + MESSAGE("Wynaut copied the opposing Great Tusk's Ability!"); + MESSAGE("Wynaut copied the opposing Great Tusk's Ability!"); } } THEN { EXPECT(playerLeft->ability != ABILITY_PROTOSYNTHESIS); diff --git a/test/battle/move_effect/dragon_darts.c b/test/battle/move_effect/dragon_darts.c index 08913d601103..dfe629896f41 100644 --- a/test/battle/move_effect/dragon_darts.c +++ b/test/battle/move_effect/dragon_darts.c @@ -17,7 +17,7 @@ SINGLE_BATTLE_TEST("Dragon Darts strikes twice") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, player); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } } @@ -35,7 +35,7 @@ DOUBLE_BATTLE_TEST("Dragon Darts strikes each opponent once in a double battle") HP_BAR(opponentLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); HP_BAR(opponentRight); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } } @@ -54,7 +54,7 @@ DOUBLE_BATTLE_TEST("Dragon Darts strikes the ally twice if the target protects") HP_BAR(opponentRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); HP_BAR(opponentRight); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } } @@ -72,7 +72,7 @@ DOUBLE_BATTLE_TEST("Dragon Darts strikes the right ally twice if the target is a HP_BAR(opponentRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); HP_BAR(opponentRight); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } } @@ -90,7 +90,7 @@ DOUBLE_BATTLE_TEST("Dragon Darts strikes the left ally twice if the target is a HP_BAR(opponentRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); HP_BAR(opponentRight); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } } @@ -109,7 +109,7 @@ DOUBLE_BATTLE_TEST("Dragon Darts strikes left ally twice if electrified and righ HP_BAR(opponentLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); HP_BAR(opponentLeft); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } } @@ -128,7 +128,7 @@ DOUBLE_BATTLE_TEST("Dragon Darts strikes right ally twice if electrified and lef HP_BAR(opponentRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); HP_BAR(opponentRight); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } } @@ -147,7 +147,7 @@ DOUBLE_BATTLE_TEST("Dragon Darts strikes left ally twice if electrified and righ HP_BAR(opponentLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); HP_BAR(opponentLeft); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } } @@ -166,7 +166,7 @@ DOUBLE_BATTLE_TEST("Dragon Darts strikes right ally twice if electrified and lef HP_BAR(opponentRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); HP_BAR(opponentRight); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } } @@ -187,7 +187,7 @@ DOUBLE_BATTLE_TEST("Dragon Darts strikes the ally twice if the target is in a se HP_BAR(opponentRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); HP_BAR(opponentRight); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } } @@ -206,7 +206,7 @@ DOUBLE_BATTLE_TEST("Dragon Darts is not effected by Wide Guard") HP_BAR(opponentLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); HP_BAR(opponentRight); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } } @@ -225,7 +225,7 @@ DOUBLE_BATTLE_TEST("Dragon Darts strikes hit the ally if the target fainted") HP_BAR(opponentRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); HP_BAR(opponentRight); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } } @@ -243,7 +243,7 @@ DOUBLE_BATTLE_TEST("Dragon Darts strikes left ally twice if one strike misses") HP_BAR(opponentLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); HP_BAR(opponentLeft); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } } @@ -261,6 +261,6 @@ DOUBLE_BATTLE_TEST("Dragon Darts strikes right ally twice if one strike misses") HP_BAR(opponentRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); HP_BAR(opponentRight); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } } diff --git a/test/battle/move_effect/dream_eater.c b/test/battle/move_effect/dream_eater.c index f0fd113d2bf8..7dfa6525d9d7 100644 --- a/test/battle/move_effect/dream_eater.c +++ b/test/battle/move_effect/dream_eater.c @@ -33,7 +33,7 @@ SINGLE_BATTLE_TEST("Dream Eater fails on awake targets") TURN { MOVE(player, MOVE_DREAM_EATER); } } SCENE { MESSAGE("Wobbuffet used Dream Eater!"); - MESSAGE("Foe Wobbuffet wasn't affected!"); + MESSAGE("The opposing Wobbuffet wasn't affected!"); } } diff --git a/test/battle/move_effect/embargo.c b/test/battle/move_effect/embargo.c index 11e4069d80f2..81939a6d567d 100644 --- a/test/battle/move_effect/embargo.c +++ b/test/battle/move_effect/embargo.c @@ -18,7 +18,7 @@ SINGLE_BATTLE_TEST("Embargo blocks the effect of an affected Pokémon's held ite } SCENE { // Turn 1 MESSAGE("Wobbuffet used Embargo!"); - MESSAGE("Foe Wobbuffet can't use items anymore!"); + MESSAGE("The opposing Wobbuffet can't use items anymore!"); // Turn 2 MESSAGE("Wobbuffet used Fissure!"); HP_BAR(opponent, hp: 0); @@ -39,7 +39,7 @@ SINGLE_BATTLE_TEST("Embargo blocks an affected Pokémon's trainer from using ite TURN { USE_ITEM(opponent, ITEM_POTION, partyIndex: 0); } } SCENE { MESSAGE("Wobbuffet used Embargo!"); - MESSAGE("Foe Wobbuffet can't use items anymore!"); + MESSAGE("The opposing Wobbuffet can't use items anymore!"); } THEN { EXPECT_EQ(opponent->hp, 1); } @@ -59,10 +59,10 @@ WILD_BATTLE_TEST("Embargo doesn't block held item effects that affect experience } WHEN { TURN { MOVE(opponent, MOVE_EMBARGO); MOVE(player, MOVE_SCRATCH); } } SCENE { - MESSAGE("Wild Caterpie used Embargo!"); + MESSAGE("The wild Caterpie used Embargo!"); MESSAGE("Wobbuffet can't use items anymore!"); MESSAGE("Wobbuffet used Scratch!"); - MESSAGE("Wild Caterpie fainted!"); + MESSAGE("The wild Caterpie fainted!"); EXPERIENCE_BAR(player, captureGainedExp: &results[i].exp); } FINALLY { EXPECT_MUL_EQ(results[1].exp, Q_4_12(1.5), results[0].exp); @@ -84,11 +84,11 @@ WILD_BATTLE_TEST("Embargo doesn't block held item effects that affect effort val TURN { MOVE(opponent, MOVE_EMBARGO); MOVE(player, MOVE_SCRATCH); } } SCENE { // Turn 1 - MESSAGE("Wild Caterpie used Embargo!"); + MESSAGE("The wild Caterpie used Embargo!"); MESSAGE("Wobbuffet can't use items anymore!"); // Turn 2 MESSAGE("Wobbuffet used Scratch!"); - MESSAGE("Wild Caterpie fainted!"); + MESSAGE("The wild Caterpie fainted!"); } THEN { finalHPEVAmount = (GetMonData(&PLAYER_PARTY[0], MON_DATA_HP_EV) + gItemsInfo[ITEM_POWER_WEIGHT].holdEffectParam + gSpeciesInfo[SPECIES_CATERPIE].evYield_HP); EXPECT_EQ(GetMonData(&gPlayerParty[0], MON_DATA_HP_EV), finalHPEVAmount); @@ -107,9 +107,9 @@ SINGLE_BATTLE_TEST("Embargo negates a held item's Speed reduction") } SCENE { // Turn 1 MESSAGE("Wobbuffet used Embargo!"); - MESSAGE("Foe Wobbuffet can't use items anymore!"); + MESSAGE("The opposing Wobbuffet can't use items anymore!"); // Turn 2 - MESSAGE("Foe Wobbuffet used Scratch!"); + MESSAGE("The opposing Wobbuffet used Scratch!"); MESSAGE("Wobbuffet used Scratch!"); } } @@ -172,7 +172,7 @@ SINGLE_BATTLE_TEST("Embargo makes Fling and Natural Gift fail") TURN { MOVE(player, moveId); } } SCENE { // Turn 1 - MESSAGE("Foe Wobbuffet used Embargo!"); + MESSAGE("The opposing Wobbuffet used Embargo!"); MESSAGE("Wobbuffet can't use items anymore!"); // Turn 2 if (moveId == MOVE_FLING) @@ -194,12 +194,12 @@ SINGLE_BATTLE_TEST("Embargo doesn't stop an item flung at an affected target fro } SCENE { // Turn 1 MESSAGE("Wobbuffet used Embargo!"); - MESSAGE("Foe Wobbuffet can't use items anymore!"); + MESSAGE("The opposing Wobbuffet can't use items anymore!"); // Turn 2 MESSAGE("Wobbuffet used Fling!"); MESSAGE("Wobbuffet flung its Light Ball!"); HP_BAR(opponent); - MESSAGE("Foe Wobbuffet is paralyzed! It may be unable to move!"); + MESSAGE("The opposing Wobbuffet is paralyzed, so it may be unable to move!"); } } @@ -215,7 +215,7 @@ SINGLE_BATTLE_TEST("Baton Pass passes Embargo's effect") TURN { MOVE(player, MOVE_FLING); } } SCENE { // Turn 1 - MESSAGE("Foe Wobbuffet used Embargo!"); + MESSAGE("The opposing Wobbuffet used Embargo!"); MESSAGE("Wobbuffet can't use items anymore!"); // Turn 2 MESSAGE("Wobbuffet used Baton Pass!"); @@ -239,12 +239,12 @@ SINGLE_BATTLE_TEST("Embargo doesn't block the effects of berries obtained throug TURN { MOVE(player, MOVE_PLUCK); } } SCENE { // Turn 1 - MESSAGE("Foe Wobbuffet used Embargo!"); + MESSAGE("The opposing Wobbuffet used Embargo!"); MESSAGE("Wobbuffet can't use items anymore!"); // Turn 2 MESSAGE("Wobbuffet used Pluck!"); HP_BAR(opponent); - MESSAGE("Wobbuffet stole and ate Foe Wobbuffet's Oran Berry!"); + MESSAGE("Wobbuffet stole and ate its target's Oran Berry!"); HP_BAR(player, damage: -hp); } } @@ -261,7 +261,7 @@ SINGLE_BATTLE_TEST("Embargo disables the effect of the Plate items on the move J } WHEN { TURN { MOVE(opponent, MOVE_EMBARGO); MOVE(player, MOVE_JUDGMENT); } } SCENE { - MESSAGE("Foe Dragonite used Embargo!"); + MESSAGE("The opposing Dragonite used Embargo!"); MESSAGE("Arceus can't use items anymore!"); MESSAGE("Arceus used Judgment!"); HP_BAR(opponent, captureDamage: &results[i].damage); @@ -282,7 +282,7 @@ SINGLE_BATTLE_TEST("Embargo disables the effect of the Drive items on the move T } WHEN { TURN { MOVE(opponent, MOVE_EMBARGO); MOVE(player, MOVE_TECHNO_BLAST); } } SCENE { - MESSAGE("Foe Gyarados used Embargo!"); + MESSAGE("The opposing Gyarados used Embargo!"); MESSAGE("Genesect can't use items anymore!"); MESSAGE("Genesect used Techno Blast!"); HP_BAR(opponent, captureDamage: &results[i].damage); @@ -303,7 +303,7 @@ SINGLE_BATTLE_TEST("Embargo disables the effect of the Memory items on the move } WHEN { TURN { MOVE(opponent, MOVE_EMBARGO); MOVE(player, MOVE_MULTI_ATTACK); } } SCENE { - MESSAGE("Foe Venusaur used Embargo!"); + MESSAGE("The opposing Venusaur used Embargo!"); MESSAGE("Silvally can't use items anymore!"); MESSAGE("Silvally used Multi-Attack!"); HP_BAR(opponent, captureDamage: &results[i].damage); @@ -323,12 +323,12 @@ SINGLE_BATTLE_TEST("Embargo can be reflected by Magic Coat") } SCENE { // Turn 1 MESSAGE("Wobbuffet used Magic Coat!"); - MESSAGE("Wobbuffet shrouded itself in Magic Coat!"); - MESSAGE("Foe Wobbuffet used Embargo!"); - MESSAGE("Foe Wobbuffet's Embargo was bounced back by MAGIC COAT!"); - MESSAGE("Foe Wobbuffet can't use items anymore!"); + MESSAGE("Wobbuffet shrouded itself with Magic Coat!"); + MESSAGE("The opposing Wobbuffet used Embargo!"); + MESSAGE("Wobbuffet bounced the Embargo back!"); + MESSAGE("The opposing Wobbuffet can't use items anymore!"); // Turn 2 - MESSAGE("Foe Wobbuffet used Fling!"); + MESSAGE("The opposing Wobbuffet used Fling!"); MESSAGE("But it failed!"); } } @@ -346,15 +346,15 @@ SINGLE_BATTLE_TEST("Embargo doesn't prevent Mega Evolution") } SCENE { // Turn 1 MESSAGE("Wobbuffet used Embargo!"); - MESSAGE("Foe Wobbuffet can't use items anymore!"); + MESSAGE("The opposing Wobbuffet can't use items anymore!"); // Turn 2 - MESSAGE("Foe Wobbuffet used Baton Pass!"); + MESSAGE("The opposing Wobbuffet used Baton Pass!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_BATON_PASS, opponent); MESSAGE("2 sent out Charizard!"); // Turn 3 - MESSAGE("Foe Charizard's Charizardite Y is reacting to 2's Mega Ring!"); + MESSAGE("The opposing Charizard's Charizardite Y is reacting to 2's Mega Ring!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_MEGA_EVOLUTION, opponent); - MESSAGE("Foe Charizard has Mega Evolved into Mega Charizard!"); + MESSAGE("The opposing Charizard has Mega Evolved into Mega Charizard!"); } } @@ -371,16 +371,16 @@ SINGLE_BATTLE_TEST("Embargo doesn't prevent Primal Reversion") } SCENE { // Turn 1 MESSAGE("Wobbuffet used Embargo!"); - MESSAGE("Foe Wobbuffet can't use items anymore!"); + MESSAGE("The opposing Wobbuffet can't use items anymore!"); // Turn 2 - MESSAGE("Foe Wobbuffet used Baton Pass!"); + MESSAGE("The opposing Wobbuffet used Baton Pass!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_BATON_PASS, opponent); MESSAGE("2 sent out Groudon!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, opponent); - MESSAGE("Foe Groudon's Primal Reversion! It reverted to its primal form!"); + MESSAGE("The opposing Groudon's Primal Reversion! It reverted to its primal state!"); ABILITY_POPUP(opponent); // Turn 3 - MESSAGE("Foe Groudon used Fling!"); + MESSAGE("The opposing Groudon used Fling!"); MESSAGE("But it failed!"); } } diff --git a/test/battle/move_effect/encore.c b/test/battle/move_effect/encore.c index db7f5eb04207..ec68297ca0aa 100644 --- a/test/battle/move_effect/encore.c +++ b/test/battle/move_effect/encore.c @@ -102,7 +102,7 @@ SINGLE_BATTLE_TEST("Encore has no effect if no previous move") } WHEN { TURN { MOVE(opponent, MOVE_ENCORE); MOVE(player, MOVE_CELEBRATE); } } SCENE { - MESSAGE("Foe Wobbuffet used Encore!"); + MESSAGE("The opposing Wobbuffet used Encore!"); MESSAGE("But it failed!"); } } diff --git a/test/battle/move_effect/explosion.c b/test/battle/move_effect/explosion.c index a45a465ba2a1..d463e1034991 100644 --- a/test/battle/move_effect/explosion.c +++ b/test/battle/move_effect/explosion.c @@ -32,7 +32,7 @@ SINGLE_BATTLE_TEST("Explosion causes the user & the target to faint") HP_BAR(player, hp: 0); ANIMATION(ANIM_TYPE_MOVE, MOVE_EXPLOSION, player); HP_BAR(opponent, hp: 0); - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet fainted!"); MESSAGE("Wobbuffet fainted!"); } } @@ -62,7 +62,7 @@ SINGLE_BATTLE_TEST("Explosion causes the user to faint even if it has no effect" TURN { MOVE(player, MOVE_EXPLOSION); } } SCENE { HP_BAR(player, hp: 0); - MESSAGE("It doesn't affect Foe Gastly…"); + MESSAGE("It doesn't affect the opposing Gastly…"); NOT HP_BAR(opponent); MESSAGE("Wobbuffet fainted!"); } @@ -82,11 +82,11 @@ DOUBLE_BATTLE_TEST("Explosion causes everyone to faint in a double battle") HP_BAR(playerLeft, hp: 0); ANIMATION(ANIM_TYPE_MOVE, MOVE_EXPLOSION, playerLeft); HP_BAR(opponentLeft, hp: 0); - MESSAGE("Foe Abra fainted!"); + MESSAGE("The opposing Abra fainted!"); HP_BAR(playerRight, hp: 0); MESSAGE("Wynaut fainted!"); HP_BAR(opponentRight, hp: 0); - MESSAGE("Foe Kadabra fainted!"); + MESSAGE("The opposing Kadabra fainted!"); MESSAGE("Wobbuffet fainted!"); } } @@ -104,7 +104,7 @@ SINGLE_BATTLE_TEST("Explosion is blocked by Ability Damp") HP_BAR(player, hp: 0); } ABILITY_POPUP(opponent, ABILITY_DAMP); - MESSAGE("Foe Golduck's Damp prevents Wobbuffet from using Explosion!"); + MESSAGE("The opposing Golduck's Damp prevents Wobbuffet from using Explosion!"); } } @@ -127,7 +127,7 @@ SINGLE_BATTLE_TEST("Explosion does not trigger Destiny Bond") DOUBLE_BATTLE_TEST("Explosion boosted by Galvanize is correctly blocked by Volt Absorb") { GIVEN { - PLAYER(SPECIES_GEODUDE_ALOLAN) { Ability(ABILITY_GALVANIZE); } + PLAYER(SPECIES_GEODUDE_ALOLA) { Ability(ABILITY_GALVANIZE); } PLAYER(SPECIES_WYNAUT) { HP(1); } OPPONENT(SPECIES_LANTURN) { Ability(ABILITY_VOLT_ABSORB); } OPPONENT(SPECIES_WOBBUFFET) { HP(1); } @@ -141,7 +141,7 @@ DOUBLE_BATTLE_TEST("Explosion boosted by Galvanize is correctly blocked by Volt HP_BAR(playerRight, hp: 0); MESSAGE("Wynaut fainted!"); HP_BAR(opponentRight, hp: 0); - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet fainted!"); MESSAGE("Geodude fainted!"); } } diff --git a/test/battle/move_effect/fail_if_not_arg_type.c b/test/battle/move_effect/fail_if_not_arg_type.c index 4ffe0a032353..9e8d005d8ba9 100644 --- a/test/battle/move_effect/fail_if_not_arg_type.c +++ b/test/battle/move_effect/fail_if_not_arg_type.c @@ -70,7 +70,7 @@ SINGLE_BATTLE_TEST("Double Shock user loses its Electric-type") TURN { MOVE(player, MOVE_DOUBLE_SHOCK); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_DOUBLE_SHOCK, player); - MESSAGE("Pikachu used up all of its electricity!"); + MESSAGE("Pikachu used up all its electricity!"); MESSAGE("Pikachu used Double Shock!"); MESSAGE("But it failed!"); } @@ -107,6 +107,6 @@ SINGLE_BATTLE_TEST("Double Shock user loses its Electric-type if enemy faints") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_DOUBLE_SHOCK, player); HP_BAR(opponent, hp: 0); - MESSAGE("Pikachu used up all of its electricity!"); + MESSAGE("Pikachu used up all its electricity!"); } } diff --git a/test/battle/move_effect/fixed_damage_arg.c b/test/battle/move_effect/fixed_damage_arg.c index 6d96b435dbbf..484601be0530 100644 --- a/test/battle/move_effect/fixed_damage_arg.c +++ b/test/battle/move_effect/fixed_damage_arg.c @@ -36,6 +36,6 @@ SINGLE_BATTLE_TEST("Sonic Boom doesn't affect ghost types") TURN { MOVE(player, MOVE_SONIC_BOOM); } } SCENE { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_SONIC_BOOM, player); - MESSAGE("It doesn't affect Foe Gastly…"); + MESSAGE("It doesn't affect the opposing Gastly…"); } } diff --git a/test/battle/move_effect/flame_burst.c b/test/battle/move_effect/flame_burst.c index d222325a7b69..3597c8001450 100644 --- a/test/battle/move_effect/flame_burst.c +++ b/test/battle/move_effect/flame_burst.c @@ -18,7 +18,7 @@ DOUBLE_BATTLE_TEST("Flame Burst Substitute") } WHEN { TURN { MOVE(opponentLeft, MOVE_SUBSTITUTE); MOVE(playerRight, MOVE_FLAME_BURST, target: opponentRight); } } SCENE { - MESSAGE("The bursting flames hit Foe Wynaut!"); - NOT MESSAGE("The SUBSTITUTE took damage for Foe Wynaut!"); + MESSAGE("The bursting flames hit the opposing Wynaut!"); + NOT MESSAGE("The substitute took damage for the opposing Wynaut!"); } } diff --git a/test/battle/move_effect/fling.c b/test/battle/move_effect/fling.c index b4b25484b330..2bd1e824f1dd 100644 --- a/test/battle/move_effect/fling.c +++ b/test/battle/move_effect/fling.c @@ -114,10 +114,10 @@ SINGLE_BATTLE_TEST("Fling - Item is lost even when there is no target") TURN { MOVE(opponent, MOVE_SELF_DESTRUCT); MOVE(player, MOVE_FLING); SEND_OUT(opponent, 1); } TURN { MOVE(player, MOVE_FLING); } } SCENE { - MESSAGE("Foe Wobbuffet used Self-Destruct!"); + MESSAGE("The opposing Wobbuffet used Self-Destruct!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SELF_DESTRUCT, opponent); HP_BAR(player); - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet fainted!"); MESSAGE("Wobbuffet used Fling!"); MESSAGE("But it failed!"); @@ -138,10 +138,10 @@ SINGLE_BATTLE_TEST("Fling - Item is lost when target protects itself") TURN { MOVE(opponent, MOVE_PROTECT); MOVE(player, MOVE_FLING);} TURN { MOVE(player, MOVE_FLING); } } SCENE { - MESSAGE("Foe Wobbuffet used Protect!"); + MESSAGE("The opposing Wobbuffet used Protect!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_PROTECT, opponent); MESSAGE("Wobbuffet used Fling!"); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); MESSAGE("Wobbuffet used Fling!"); MESSAGE("But it failed!"); @@ -179,10 +179,10 @@ SINGLE_BATTLE_TEST("Fling doesn't consume the item if pokemon is asleep/frozen/p } SCENE { if (status == STATUS1_FREEZE) { MESSAGE("Wobbuffet is frozen solid!"); - MESSAGE("Wobbuffet was defrosted!"); + MESSAGE("Wobbuffet thawed out!"); } else if (status == STATUS1_PARALYSIS) { - MESSAGE("Wobbuffet is paralyzed! It can't move!"); + MESSAGE("Wobbuffet couldn't move because it's paralyzed!"); } else { MESSAGE("Wobbuffet is fast asleep."); @@ -225,32 +225,32 @@ SINGLE_BATTLE_TEST("Fling applies special effects when throwing specific Items") { case ITEM_FLAME_ORB: { - MESSAGE("Foe Wobbuffet was burned!"); + MESSAGE("The opposing Wobbuffet was burned!"); STATUS_ICON(opponent, STATUS1_BURN); } break; case ITEM_LIGHT_BALL: { - MESSAGE("Foe Wobbuffet is paralyzed! It may be unable to move!"); + MESSAGE("The opposing Wobbuffet is paralyzed, so it may be unable to move!"); STATUS_ICON(opponent, STATUS1_PARALYSIS); } break; case ITEM_POISON_BARB: { - MESSAGE("Foe Wobbuffet was poisoned!"); + MESSAGE("The opposing Wobbuffet was poisoned!"); STATUS_ICON(opponent, STATUS1_POISON); } break; case ITEM_TOXIC_ORB: { - MESSAGE("Foe Wobbuffet is badly poisoned!"); + MESSAGE("The opposing Wobbuffet was badly poisoned!"); STATUS_ICON(opponent, STATUS1_TOXIC_POISON); } break; case ITEM_RAZOR_FANG: case ITEM_KINGS_ROCK: { - MESSAGE("Foe Wobbuffet flinched!"); + MESSAGE("The opposing Wobbuffet flinched and couldn't move!"); } break; } @@ -282,52 +282,52 @@ SINGLE_BATTLE_TEST("Fling's secondary effects are blocked by Shield Dust") case ITEM_FLAME_ORB: { NONE_OF { - MESSAGE("Foe Wobbuffet was burned!"); + MESSAGE("The opposing Wobbuffet was burned!"); STATUS_ICON(opponent, STATUS1_BURN); } - MESSAGE("The Flame Orb was used up..."); + MESSAGE("The Flame Orb was used up…"); } break; case ITEM_LIGHT_BALL: { NONE_OF { - MESSAGE("Foe Wobbuffet is paralyzed! It may be unable to move!"); + MESSAGE("The opposing Wobbuffet is paralyzed, so it may be unable to move!"); STATUS_ICON(opponent, STATUS1_PARALYSIS); } - MESSAGE("The Light Ball was used up..."); + MESSAGE("The Light Ball was used up…"); } break; case ITEM_POISON_BARB: { NONE_OF { - MESSAGE("Foe Wobbuffet was poisoned!"); + MESSAGE("The opposing Wobbuffet was poisoned!"); STATUS_ICON(opponent, STATUS1_POISON); } - MESSAGE("The Poison Barb was used up..."); + MESSAGE("The Poison Barb was used up…"); } break; case ITEM_TOXIC_ORB: { NONE_OF { - MESSAGE("Foe Wobbuffet is badly poisoned!"); + MESSAGE("The opposing Wobbuffet was badly poisoned!"); STATUS_ICON(opponent, STATUS1_TOXIC_POISON); } - MESSAGE("The Toxic Orb was used up..."); + MESSAGE("The Toxic Orb was used up…"); } break; case ITEM_RAZOR_FANG: case ITEM_KINGS_ROCK: { NONE_OF { - MESSAGE("Foe Wobbuffet flinched!"); + MESSAGE("The opposing Wobbuffet flinched and couldn't move!"); } switch (item) { case ITEM_RAZOR_FANG: - MESSAGE("The Razor Fang was used up..."); + MESSAGE("The Razor Fang was used up…"); break; case ITEM_KINGS_ROCK: - MESSAGE("The King's Rock was used up..."); + MESSAGE("The King's Rock was used up…"); break; } } @@ -373,53 +373,53 @@ SINGLE_BATTLE_TEST("Fling - thrown berry's effect activates for the target even HP_BAR(opponent); if (effect == HOLD_EFFECT_RESTORE_HP) { if (item == ITEM_ORAN_BERRY) { - MESSAGE("Foe Wobbuffet's Oran Berry restored health!"); + MESSAGE("The opposing Wobbuffet restored its health using its Oran Berry!"); } else if (item == ITEM_SITRUS_BERRY) { - MESSAGE("Foe Wobbuffet's Sitrus Berry restored health!"); + MESSAGE("The opposing Wobbuffet restored its health using its Sitrus Berry!"); } else { - MESSAGE("Wobbuffet's Enigma Berry restored health!"); + MESSAGE("Wobbuffet restored its health using its Enigma Berry!"); } HP_BAR(opponent); } else if (effect == HOLD_EFFECT_RESTORE_PP) { - MESSAGE("Foe Wobbuffet's Leppa Berry restored Celebrate's PP!"); + MESSAGE("The opposing Wobbuffet restored PP to its move Celebrate using its Leppa Berry!"); } else if (status1 != STATUS1_NONE) { if (status1 == STATUS1_BURN) { - MESSAGE("Foe Wobbuffet's Rawst Berry healed its burn!"); + MESSAGE("The opposing Wobbuffet's Rawst Berry cured its burn!"); } else if (status1 == STATUS1_SLEEP) { - MESSAGE("Foe Wobbuffet's Chesto Berry woke it from its sleep!"); + MESSAGE("The opposing Wobbuffet's Chesto Berry woke it up!"); } else if (status1 == STATUS1_FREEZE) { - MESSAGE("Foe Wobbuffet's Aspear Berry defrosted it!"); + MESSAGE("The opposing Wobbuffet's Aspear Berry defrosted it!"); } else if (status1 == STATUS1_FROSTBITE) { - MESSAGE("Foe Wobbuffet's Aspear Berry healed its frostbite!"); + MESSAGE("The opposing Wobbuffet's Aspear Berry cured its frostbite!"); } else if (status1 == STATUS1_PARALYSIS) { - MESSAGE("Foe Wobbuffet's Cheri Berry cured paralysis!"); + MESSAGE("The opposing Wobbuffet's Cheri Berry cured its paralysis!"); } else if (status1 == STATUS1_TOXIC_POISON || status1 == STATUS1_POISON) { - MESSAGE("Foe Wobbuffet's Pecha Berry cured poison!"); + MESSAGE("The opposing Wobbuffet's Pecha Berry cured its poison!"); } NOT STATUS_ICON(opponent, status1); } else if (statId != 0) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); if (statId == STAT_ATK) { - MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + MESSAGE("Using Liechi Berry, the Attack of the opposing Wobbuffet rose!"); } else if (statId == STAT_DEF) { if (item == ITEM_GANLON_BERRY) { - MESSAGE("Using Ganlon Berry, the Defense of Foe Wobbuffet rose!"); + MESSAGE("Using Ganlon Berry, the Defense of the opposing Wobbuffet rose!"); } else { - MESSAGE("Using Kee Berry, the Defense of Foe Wobbuffet rose!"); + MESSAGE("Using Kee Berry, the Defense of the opposing Wobbuffet rose!"); } } else if (statId == STAT_SPDEF) { if (item == ITEM_APICOT_BERRY) { - MESSAGE("Using Apicot Berry, the Sp. Def of Foe Wobbuffet rose!"); + MESSAGE("Using Apicot Berry, the Sp. Def of the opposing Wobbuffet rose!"); } else { - MESSAGE("Using Maranga Berry, the Sp. Def of Foe Wobbuffet rose!"); + MESSAGE("Using Maranga Berry, the Sp. Def of the opposing Wobbuffet rose!"); } } else if (statId == STAT_SPEED) { - MESSAGE("Using Salac Berry, the Speed of Foe Wobbuffet rose!"); + MESSAGE("Using Salac Berry, the Speed of the opposing Wobbuffet rose!"); } else if (statId == STAT_SPATK) { - MESSAGE("Using Petaya Berry, the Sp. Atk of Foe Wobbuffet rose!"); + MESSAGE("Using Petaya Berry, the Sp. Atk of the opposing Wobbuffet rose!"); } } } THEN { diff --git a/test/battle/move_effect/flower_shield.c b/test/battle/move_effect/flower_shield.c new file mode 100644 index 000000000000..e31fc9e5cd1a --- /dev/null +++ b/test/battle/move_effect/flower_shield.c @@ -0,0 +1,37 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS +{ + ASSUME(gMovesInfo[MOVE_FLOWER_SHIELD].effect == EFFECT_FLOWER_SHIELD); +} + +DOUBLE_BATTLE_TEST("Flower Shield raises the defense of all grass type pokemon") +{ + GIVEN { + ASSUME(gSpeciesInfo[SPECIES_TANGELA].types[0] == TYPE_GRASS); + ASSUME(gSpeciesInfo[SPECIES_TANGROWTH].types[0] == TYPE_GRASS); + ASSUME(gSpeciesInfo[SPECIES_SUNKERN].types[0] == TYPE_GRASS); + ASSUME(gSpeciesInfo[SPECIES_SUNFLORA].types[0] == TYPE_GRASS); + PLAYER(SPECIES_TANGELA); + PLAYER(SPECIES_TANGROWTH); + OPPONENT(SPECIES_SUNKERN); + OPPONENT(SPECIES_SUNFLORA); + } WHEN { + TURN { MOVE(playerLeft, MOVE_FLOWER_SHIELD); MOVE(playerRight, MOVE_CELEBRATE); } + } SCENE { + MESSAGE("Tangela used Flower Shield!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FLOWER_SHIELD, playerLeft); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); + MESSAGE("Tangela's Defense rose!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FLOWER_SHIELD, playerLeft); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); + MESSAGE("The opposing Sunkern's Defense rose!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FLOWER_SHIELD, playerLeft); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); + MESSAGE("Tangrowth's Defense rose!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FLOWER_SHIELD, playerLeft); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); + MESSAGE("The opposing Sunflora's Defense rose!"); + } +} diff --git a/test/battle/move_effect/focus_punch.c b/test/battle/move_effect/focus_punch.c index 355c071a948a..e8f36d4ff13a 100644 --- a/test/battle/move_effect/focus_punch.c +++ b/test/battle/move_effect/focus_punch.c @@ -51,7 +51,7 @@ DOUBLE_BATTLE_TEST("Focus Punch activation is based on Speed") } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FOCUS_PUNCH_SETUP, opponentRight); - MESSAGE("Foe Wynaut is tightening its focus!"); + MESSAGE("The opposing Wynaut is tightening its focus!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FOCUS_PUNCH_SETUP, playerRight); MESSAGE("Wynaut is tightening its focus!"); @@ -60,9 +60,9 @@ DOUBLE_BATTLE_TEST("Focus Punch activation is based on Speed") MESSAGE("Wobbuffet is tightening its focus!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FOCUS_PUNCH_SETUP, opponentLeft); - MESSAGE("Foe Wobbuffet is tightening its focus!"); + MESSAGE("The opposing Wobbuffet is tightening its focus!"); - MESSAGE("Foe Wynaut used Focus Punch!"); + MESSAGE("The opposing Wynaut used Focus Punch!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_FOCUS_PUNCH, opponentRight); HP_BAR(playerLeft); @@ -71,7 +71,7 @@ DOUBLE_BATTLE_TEST("Focus Punch activation is based on Speed") HP_BAR(opponentLeft); MESSAGE("Wobbuffet lost its focus and couldn't move!"); - MESSAGE("Foe Wobbuffet lost its focus and couldn't move!"); + MESSAGE("The opposing Wobbuffet lost its focus and couldn't move!"); } } diff --git a/test/battle/move_effect/future_sight.c b/test/battle/move_effect/future_sight.c index 778895ba5898..e25fc750123e 100644 --- a/test/battle/move_effect/future_sight.c +++ b/test/battle/move_effect/future_sight.c @@ -32,7 +32,7 @@ SINGLE_BATTLE_TEST("Future Sight uses Sp. Atk stat of the original user without ANIMATION(ANIM_TYPE_MOVE, MOVE_SEED_FLARE, player); HP_BAR(opponent, captureDamage: &seedFlareDmg); ANIMATION(ANIM_TYPE_MOVE, MOVE_FUTURE_SIGHT, player); - MESSAGE("Foe Regice took the Future Sight attack!"); + MESSAGE("The opposing Regice took the Future Sight attack!"); HP_BAR(opponent, captureDamage: &futureSightDmg); } THEN { EXPECT_EQ(seedFlareDmg, futureSightDmg); @@ -58,7 +58,7 @@ SINGLE_BATTLE_TEST("Future Sight is not boosted by Life Orb is original user if ANIMATION(ANIM_TYPE_MOVE, MOVE_SEED_FLARE, player); HP_BAR(opponent, captureDamage: &seedFlareDmg); ANIMATION(ANIM_TYPE_MOVE, MOVE_FUTURE_SIGHT, player); - MESSAGE("Foe Regice took the Future Sight attack!"); + MESSAGE("The opposing Regice took the Future Sight attack!"); HP_BAR(opponent, captureDamage: &futureSightDmg); NOT MESSAGE("Raichu was hurt by its Life Orb!"); } THEN { @@ -107,8 +107,8 @@ SINGLE_BATTLE_TEST("Future Sight is affected by type effectiveness") ANIMATION(ANIM_TYPE_MOVE, MOVE_SEED_FLARE, player); HP_BAR(opponent); ANIMATION(ANIM_TYPE_MOVE, MOVE_FUTURE_SIGHT, player); - MESSAGE("Foe Houndoom took the Future Sight attack!"); - MESSAGE("It doesn't affect Foe Houndoom…"); + MESSAGE("The opposing Houndoom took the Future Sight attack!"); + MESSAGE("It doesn't affect the opposing Houndoom…"); NOT HP_BAR(opponent); } } @@ -129,9 +129,9 @@ SINGLE_BATTLE_TEST("Future Sight will miss timing if target faints before it is ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_MEMENTO, opponent); - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet fainted!"); MESSAGE("2 sent out Wynaut!"); - NOT MESSAGE("Foe Wynaut took the Future Sight attack!"); + NOT MESSAGE("The opposing Wynaut took the Future Sight attack!"); } } @@ -150,9 +150,9 @@ SINGLE_BATTLE_TEST("Future Sight will miss timing if target faints by residual d ANIMATION(ANIM_TYPE_MOVE, MOVE_FUTURE_SIGHT, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_WRAP, player); - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet fainted!"); MESSAGE("2 sent out Wynaut!"); - NOT MESSAGE("Foe Wynaut took the Future Sight attack!"); + NOT MESSAGE("The opposing Wynaut took the Future Sight attack!"); } } @@ -169,8 +169,8 @@ SINGLE_BATTLE_TEST("Future Sight breaks Focus Sash and doesn't make the holder e TURN { } TURN { MOVE(player, MOVE_PSYCHIC); } } SCENE { - MESSAGE("Foe Pidgey hung on using its Focus Sash!"); + MESSAGE("The opposing Pidgey hung on using its Focus Sash!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_PSYCHIC, player); - MESSAGE("Foe Pidgey fainted!"); + MESSAGE("The opposing Pidgey fainted!"); } } diff --git a/test/battle/move_effect/gastro_acid.c b/test/battle/move_effect/gastro_acid.c index e4f1aa535475..b3ce3787948d 100644 --- a/test/battle/move_effect/gastro_acid.c +++ b/test/battle/move_effect/gastro_acid.c @@ -26,8 +26,8 @@ SINGLE_BATTLE_TEST("Gastro Acid fails if target has a banned ability") // Needs confirmation since those abilities can be suppressed by Neutralizing Gas // PARAMETRIZE { species = SPECIES_IRON_MOTH; ability = ABILITY_QUARK_DRIVE; } // PARAMETRIZE { species = SPECIES_WALKING_WAKE; ability = ABILITY_PROTOSYNTHESIS; } - PARAMETRIZE { species = SPECIES_CALYREX_SHADOW_RIDER; ability = ABILITY_AS_ONE_SHADOW_RIDER; } - PARAMETRIZE { species = SPECIES_CALYREX_ICE_RIDER; ability = ABILITY_AS_ONE_ICE_RIDER; } + PARAMETRIZE { species = SPECIES_CALYREX_SHADOW; ability = ABILITY_AS_ONE_SHADOW_RIDER; } + PARAMETRIZE { species = SPECIES_CALYREX_ICE; ability = ABILITY_AS_ONE_ICE_RIDER; } GIVEN { PLAYER(SPECIES_WOBBUFFET); diff --git a/test/battle/move_effect/heal_bell.c b/test/battle/move_effect/heal_bell.c index c098886a982d..9b62a36f9be2 100644 --- a/test/battle/move_effect/heal_bell.c +++ b/test/battle/move_effect/heal_bell.c @@ -30,7 +30,7 @@ DOUBLE_BATTLE_TEST("Heal Bell cures the entire party") int i; ANIMATION(ANIM_TYPE_MOVE, move, playerLeft); - NOT MESSAGE("Wobbuffet is hurt by poison!"); + NOT MESSAGE("Wobbuffet was hurt by its poisoning!"); for (i = 0; i < 6; i++) EXPECT_EQ(GetMonData(&gPlayerParty[0], MON_DATA_STATUS), STATUS1_NONE); } @@ -55,9 +55,9 @@ DOUBLE_BATTLE_TEST("Heal Bell does not cure soundproof partners") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_HEAL_BELL, playerLeft); if (ability == ABILITY_SOUNDPROOF) { - MESSAGE("Exploud is hurt by poison!"); + MESSAGE("Exploud was hurt by its poisoning!"); } else { - NOT MESSAGE("Exploud is hurt by poison!"); + NOT MESSAGE("Exploud was hurt by its poisoning!"); } } } @@ -81,7 +81,7 @@ SINGLE_BATTLE_TEST("Heal Bell cures inactive soundproof Pokemon") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_HEAL_BELL, player); SEND_IN_MESSAGE("Exploud"); - NOT MESSAGE("Exploud is hurt by poison!"); + NOT MESSAGE("Exploud was hurt by its poisoning!"); } } @@ -96,6 +96,6 @@ SINGLE_BATTLE_TEST("Heal Bell cures a soundproof user") TURN { MOVE(player, MOVE_HEAL_BELL, target: player); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_HEAL_BELL, player); - NOT MESSAGE("Exploud is hurt by poison!"); + NOT MESSAGE("Exploud was hurt by its poisoning!"); } } diff --git a/test/battle/move_effect/healing_wish.c b/test/battle/move_effect/healing_wish.c index df0c2c3a9bbf..a597d552ed5e 100644 --- a/test/battle/move_effect/healing_wish.c +++ b/test/battle/move_effect/healing_wish.c @@ -66,7 +66,7 @@ SINGLE_BATTLE_TEST("Healing Wish effect activates only if the switched pokemon c MESSAGE("Gardevoir fainted!"); NONE_OF { MESSAGE("The healing wish came true for Wynaut!"); - MESSAGE("Wynaut regained health!"); + MESSAGE("Wynaut's HP was restored."); } ANIMATION(ANIM_TYPE_MOVE, MOVE_U_TURN, player); MESSAGE("The healing wish came true for Wynaut!"); diff --git a/test/battle/move_effect/hit_escape.c b/test/battle/move_effect/hit_escape.c index 0c96bd4e7568..0a494cc667d4 100644 --- a/test/battle/move_effect/hit_escape.c +++ b/test/battle/move_effect/hit_escape.c @@ -108,7 +108,7 @@ SINGLE_BATTLE_TEST("U-turn switches the user out after Ice Face activates") ANIMATION(ANIM_TYPE_MOVE, MOVE_U_TURN, player); HP_BAR(opponent); ABILITY_POPUP(opponent, ABILITY_ICE_FACE); - MESSAGE("Foe Eiscue transformed!"); + MESSAGE("The opposing Eiscue transformed!"); SEND_IN_MESSAGE("Wynaut"); } } diff --git a/test/battle/move_effect/hit_set_remove_terrain.c b/test/battle/move_effect/hit_set_remove_terrain.c index 1efb939c344e..a48d316d3f6a 100644 --- a/test/battle/move_effect/hit_set_remove_terrain.c +++ b/test/battle/move_effect/hit_set_remove_terrain.c @@ -45,7 +45,7 @@ SINGLE_BATTLE_TEST("Steel Roller and Ice Spinner can remove a terrain from the f MESSAGE("The electricity disappeared from the battlefield."); break; case MOVE_PSYCHIC_TERRAIN: - MESSAGE("The weirdness disappeared from the battlefield."); + MESSAGE("The weirdness disappeared from the battlefield!"); break; case MOVE_GRASSY_TERRAIN: MESSAGE("The grass disappeared from the battlefield."); @@ -146,13 +146,13 @@ SINGLE_BATTLE_TEST("Steel Roller and Ice Spinner reverts typing on Mimicry users } GIVEN { - ASSUME(gSpeciesInfo[SPECIES_STUNFISK_GALARIAN].types[1] == TYPE_STEEL); + ASSUME(gSpeciesInfo[SPECIES_STUNFISK_GALAR].types[1] == TYPE_STEEL); PLAYER(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_STUNFISK_GALARIAN) { Ability(ABILITY_MIMICRY); } + OPPONENT(SPECIES_STUNFISK_GALAR) { Ability(ABILITY_MIMICRY); } } WHEN { TURN { MOVE(opponent, terrainMove); MOVE(player, removeTerrainMove); } TURN { MOVE(player, MOVE_TOXIC); } } SCENE { - MESSAGE("It doesn't affect Foe Stunfisk…"); + MESSAGE("It doesn't affect the opposing Stunfisk…"); } } diff --git a/test/battle/move_effect/hit_switch_target.c b/test/battle/move_effect/hit_switch_target.c index 22227ea8323e..a899ae0b33fe 100644 --- a/test/battle/move_effect/hit_switch_target.c +++ b/test/battle/move_effect/hit_switch_target.c @@ -20,7 +20,7 @@ SINGLE_BATTLE_TEST("Dragon Tail switches the target with a random non-fainted re TURN { MOVE(player, MOVE_DRAGON_TAIL); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_TAIL, player); - MESSAGE("Foe Bulbasaur was dragged out!"); + MESSAGE("The opposing Bulbasaur was dragged out!"); } } @@ -39,7 +39,7 @@ DOUBLE_BATTLE_TEST("Dragon Tail switches the target with a random non-battler, n TURN { MOVE(playerLeft, MOVE_DRAGON_TAIL, target: opponentRight); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_TAIL, playerLeft); - MESSAGE("Foe Bulbasaur was dragged out!"); + MESSAGE("The opposing Bulbasaur was dragged out!"); } } diff --git a/test/battle/move_effect/ion_deluge.c b/test/battle/move_effect/ion_deluge.c index 93e147e07d0d..d0862ee8b441 100644 --- a/test/battle/move_effect/ion_deluge.c +++ b/test/battle/move_effect/ion_deluge.c @@ -15,7 +15,7 @@ WILD_BATTLE_TEST("Ion Deluge works the same way as always when used by a mon wit } WHEN { TURN { MOVE(opponent, MOVE_ION_DELUGE); } } SCENE { - MESSAGE("Wild Lanturn used Ion Deluge!"); + MESSAGE("The wild Lanturn used Ion Deluge!"); NONE_OF { ABILITY_POPUP(opponent, ABILITY_VOLT_ABSORB); HP_BAR(opponent); @@ -37,7 +37,7 @@ WILD_BATTLE_TEST("Ion Deluge works the same way as always when used by a mon wit } WHEN { TURN { MOVE(opponent, MOVE_ION_DELUGE); } } SCENE { - MESSAGE("Wild Zebstrika used Ion Deluge!"); + MESSAGE("The wild Zebstrika used Ion Deluge!"); NONE_OF { ABILITY_POPUP(opponent, ability); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); @@ -57,7 +57,7 @@ SINGLE_BATTLE_TEST("Ion Deluge makes Normal type moves Electric type") } WHEN { TURN { MOVE(opponent, MOVE_ION_DELUGE); MOVE(player, MOVE_TACKLE); } } SCENE { - MESSAGE("Foe Golbat used Ion Deluge!"); + MESSAGE("The opposing Golbat used Ion Deluge!"); MESSAGE("A deluge of ions showers the battlefield!"); MESSAGE("Wobbuffet used Tackle!"); MESSAGE("It's super effective!"); // Because Tackle is now electric type. diff --git a/test/battle/move_effect/ivy_cudgel.c b/test/battle/move_effect/ivy_cudgel.c index 1693c439c04f..095f4d8eff11 100644 --- a/test/battle/move_effect/ivy_cudgel.c +++ b/test/battle/move_effect/ivy_cudgel.c @@ -12,10 +12,10 @@ SINGLE_BATTLE_TEST("Ivy Cudgel changes the move type depending on the form of Og u16 ogerpon; u16 item; - PARAMETRIZE { species = SPECIES_BLASTOISE; ogerpon = SPECIES_OGERPON_TEAL_MASK; item = ITEM_NONE; } - PARAMETRIZE { species = SPECIES_CHARIZARD; ogerpon = SPECIES_OGERPON_CORNERSTONE_MASK; item = ITEM_CORNERSTONE_MASK; } - PARAMETRIZE { species = SPECIES_CHARIZARD; ogerpon = SPECIES_OGERPON_WELLSPRING_MASK; item = ITEM_WELLSPRING_MASK; } - PARAMETRIZE { species = SPECIES_VENUSAUR; ogerpon = SPECIES_OGERPON_HEARTHFLAME_MASK; item = ITEM_HEARTHFLAME_MASK; } + PARAMETRIZE { species = SPECIES_BLASTOISE; ogerpon = SPECIES_OGERPON_TEAL; item = ITEM_NONE; } + PARAMETRIZE { species = SPECIES_CHARIZARD; ogerpon = SPECIES_OGERPON_CORNERSTONE; item = ITEM_CORNERSTONE_MASK; } + PARAMETRIZE { species = SPECIES_CHARIZARD; ogerpon = SPECIES_OGERPON_WELLSPRING; item = ITEM_WELLSPRING_MASK; } + PARAMETRIZE { species = SPECIES_VENUSAUR; ogerpon = SPECIES_OGERPON_HEARTHFLAME; item = ITEM_HEARTHFLAME_MASK; } GIVEN { PLAYER(ogerpon) { Item(item); } diff --git a/test/battle/move_effect/knock_off.c b/test/battle/move_effect/knock_off.c index b03432e69535..61bb062a2540 100644 --- a/test/battle/move_effect/knock_off.c +++ b/test/battle/move_effect/knock_off.c @@ -17,10 +17,10 @@ SINGLE_BATTLE_TEST("Knock Off knocks a healing berry before it has the chance to ANIMATION(ANIM_TYPE_MOVE, MOVE_KNOCK_OFF, player); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Foe Wobbuffet's Sitrus Berry restored health!"); + MESSAGE("The opposing Wobbuffet restored its health using its Sitrus Berry!"); } ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ITEM_KNOCKOFF); - MESSAGE("Wobbuffet knocked off Foe Wobbuffet's Sitrus Berry!"); + MESSAGE("Wobbuffet knocked off the opposing Wobbuffet's Sitrus Berry!"); } THEN { EXPECT(opponent->item == ITEM_NONE); } @@ -43,13 +43,13 @@ SINGLE_BATTLE_TEST("Knock Off activates after Rocky Helmet and Weakness Policy") ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); if (item == ITEM_WEAKNESS_POLICY) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE); - MESSAGE("Using Weakness Policy, the Attack of Foe Wobbuffet sharply rose!"); - MESSAGE("Using Weakness Policy, the Sp. Atk of Foe Wobbuffet sharply rose!"); + MESSAGE("Using Weakness Policy, the Attack of the opposing Wobbuffet sharply rose!"); + MESSAGE("Using Weakness Policy, the Sp. Atk of the opposing Wobbuffet sharply rose!"); } else if (item == ITEM_ROCKY_HELMET) { HP_BAR(player); - MESSAGE("Wobbuffet was hurt by Foe Wobbuffet's Rocky Helmet!"); + MESSAGE("Wobbuffet was hurt by the opposing Wobbuffet's Rocky Helmet!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ITEM_KNOCKOFF); - MESSAGE("Wobbuffet knocked off Foe Wobbuffet's Rocky Helmet!"); + MESSAGE("Wobbuffet knocked off the opposing Wobbuffet's Rocky Helmet!"); } } THEN { EXPECT(opponent->item == ITEM_NONE); @@ -111,9 +111,9 @@ SINGLE_BATTLE_TEST("Recycle cannot recover an item removed by Knock Off") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_KNOCK_OFF, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ITEM_KNOCKOFF); - MESSAGE("Wobbuffet knocked off Foe Wobbuffet's Leftovers!"); + MESSAGE("Wobbuffet knocked off the opposing Wobbuffet's Leftovers!"); - MESSAGE("Foe Wobbuffet used Recycle!"); + MESSAGE("The opposing Wobbuffet used Recycle!"); MESSAGE("But it failed!"); } THEN { EXPECT(opponent->item == ITEM_NONE); @@ -132,12 +132,12 @@ SINGLE_BATTLE_TEST("Knock Off does not prevent targets from receiving another it // turn 1 ANIMATION(ANIM_TYPE_MOVE, MOVE_KNOCK_OFF, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ITEM_KNOCKOFF); - MESSAGE("Wobbuffet knocked off Foe Wobbuffet's Leftovers!"); + MESSAGE("Wobbuffet knocked off the opposing Wobbuffet's Leftovers!"); // turn 2 if (B_KNOCK_OFF_REMOVAL >= GEN_5) { ANIMATION(ANIM_TYPE_MOVE, MOVE_BESTOW, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT); - MESSAGE("Foe Wobbuffet's Leftovers restored its HP a little!"); + MESSAGE("The opposing Wobbuffet restored a little HP using its Leftovers!"); } else { NOT { ANIMATION(ANIM_TYPE_MOVE, MOVE_BESTOW, player); } MESSAGE("But it failed!"); @@ -163,9 +163,9 @@ SINGLE_BATTLE_TEST("Knock Off triggers Unburden") // turn 1 ANIMATION(ANIM_TYPE_MOVE, MOVE_KNOCK_OFF, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ITEM_KNOCKOFF); - MESSAGE("Wobbuffet knocked off Foe Wobbuffet's Leftovers!"); + MESSAGE("Wobbuffet knocked off the opposing Wobbuffet's Leftovers!"); // turn 2 - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Wobbuffet used Celebrate!"); } THEN { EXPECT(opponent->item == ITEM_NONE); @@ -184,10 +184,10 @@ DOUBLE_BATTLE_TEST("Knock Off does not trigger the opposing ally's Symbiosis") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_KNOCK_OFF, opponentLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ITEM_KNOCKOFF); - MESSAGE("Foe Wobbuffet knocked off Wobbuffet's Leftovers!"); + MESSAGE("The opposing Wobbuffet knocked off Wobbuffet's Leftovers!"); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT); - MESSAGE("Wobbuffet's Leftovers restored health!"); + MESSAGE("Wobbuffet restored its health using its Leftovers!"); } } THEN { EXPECT(playerLeft->item == ITEM_NONE); @@ -202,7 +202,7 @@ SINGLE_BATTLE_TEST("Knock Off doesn't knock off items from Pokemon behind substi } WHEN { TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_KNOCK_OFF); } } SCENE { - NOT MESSAGE("Wobbuffet knocked off Foe Wobbuffet's Poké Ball!"); + NOT MESSAGE("Wobbuffet knocked off the opposing Wobbuffet's Poké Ball!"); } } @@ -214,7 +214,7 @@ SINGLE_BATTLE_TEST("Knock Off does knock off Mega Stones from Pokemon that don't } WHEN { TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_KNOCK_OFF); } } SCENE { - MESSAGE("Wobbuffet knocked off Foe Wobbuffet's Absolite!"); + MESSAGE("Wobbuffet knocked off the opposing Wobbuffet's Absolite!"); } } @@ -226,7 +226,7 @@ SINGLE_BATTLE_TEST("Knock Off doesn't knock off Mega Stones from Pokemon that ac } WHEN { TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_KNOCK_OFF); } } SCENE { - NOT MESSAGE("Wobbuffet knocked off Foe Absol's Absolite!"); + NOT MESSAGE("Wobbuffet knocked off the opposing Absol's Absolite!"); } } @@ -238,7 +238,7 @@ SINGLE_BATTLE_TEST("Knock Off does knock off Orbs for Primal Reversion from Poke } WHEN { TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_KNOCK_OFF); } } SCENE { - MESSAGE("Wobbuffet knocked off Foe Wobbuffet's Red Orb!"); + MESSAGE("Wobbuffet knocked off the opposing Wobbuffet's Red Orb!"); } } @@ -250,7 +250,7 @@ SINGLE_BATTLE_TEST("Knock Off doesn't knock off Orbs for Primal Reversion from P } WHEN { TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_KNOCK_OFF); } } SCENE { - NOT MESSAGE("Wobbuffet knocked off Foe Groudon's Red Orb!"); + NOT MESSAGE("Wobbuffet knocked off the opposing Groudon's Red Orb!"); } } @@ -262,7 +262,7 @@ SINGLE_BATTLE_TEST("Knock Off doesn't knock off Z-Crystals") } WHEN { TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_KNOCK_OFF); } } SCENE { - NOT MESSAGE("Wobbuffet knocked off Foe Wobbuffet's Electrium Z!"); + NOT MESSAGE("Wobbuffet knocked off the opposing Wobbuffet's Electrium Z!"); } } @@ -274,7 +274,7 @@ SINGLE_BATTLE_TEST("Knock Off doesn't knock off Ultranecrozium Z from Pokemon th } WHEN { TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_KNOCK_OFF); } } SCENE { - NOT MESSAGE("Wobbuffet knocked off Foe Necrozma's Ultranecrozium Z!"); + NOT MESSAGE("Wobbuffet knocked off the opposing Necrozma's Ultranecrozium Z!"); } } @@ -286,7 +286,7 @@ SINGLE_BATTLE_TEST("Knock Off does knock off other form-change hold items from P } WHEN { TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_KNOCK_OFF); } } SCENE { - MESSAGE("Wobbuffet knocked off Foe Wobbuffet's Sky Plate!"); + MESSAGE("Wobbuffet knocked off the opposing Wobbuffet's Sky Plate!"); } } @@ -298,7 +298,7 @@ SINGLE_BATTLE_TEST("Knock Off doesn't knock off other form-change hold items fro } WHEN { TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_KNOCK_OFF); } } SCENE { - NOT MESSAGE("Wobbuffet knocked off Foe Arceus's Sky Plate!"); + NOT MESSAGE("Wobbuffet knocked off the opposing Arceus's Sky Plate!"); } } @@ -310,7 +310,7 @@ SINGLE_BATTLE_TEST("Knock Off does knock off begin-battle form-change hold items } WHEN { TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_KNOCK_OFF); } } SCENE { - MESSAGE("Wobbuffet knocked off Foe Wobbuffet's Rusted Shield!"); + MESSAGE("Wobbuffet knocked off the opposing Wobbuffet's Rusted Shield!"); } } @@ -318,10 +318,10 @@ SINGLE_BATTLE_TEST("Knock Off doesn't knock off begin-battle form-change hold it { GIVEN { PLAYER(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_ZAMAZENTA_HERO_OF_MANY_BATTLES) { Item(ITEM_RUSTED_SHIELD); } + OPPONENT(SPECIES_ZAMAZENTA_HERO) { Item(ITEM_RUSTED_SHIELD); } } WHEN { TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_KNOCK_OFF); } } SCENE { - NOT MESSAGE("Wobbuffet knocked off Foe Zamazenta's Rusted Shield!"); + NOT MESSAGE("Wobbuffet knocked off the opposing Zamazenta's Rusted Shield!"); } } diff --git a/test/battle/move_effect/leech_seed.c b/test/battle/move_effect/leech_seed.c index 1e71437f8016..67e829cf8ad4 100644 --- a/test/battle/move_effect/leech_seed.c +++ b/test/battle/move_effect/leech_seed.c @@ -17,11 +17,67 @@ SINGLE_BATTLE_TEST("Leech Seed doesn't affect Grass-type Pokémon") TURN { MOVE(player, MOVE_LEECH_SEED); } } SCENE { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_LEECH_SEED, player); - MESSAGE("It doesn't affect Foe Oddish…"); + MESSAGE("It doesn't affect the opposing Oddish…"); } } + +SINGLE_BATTLE_TEST("Leech Seeded targets lose 1/8 of its max HP every turn and give it to the user") +{ + s16 damage; + s16 healed; + + GIVEN { + PLAYER(SPECIES_WYNAUT) { HP(1); } + OPPONENT(SPECIES_SHELLDER); + } WHEN { + TURN { MOVE(player, MOVE_LEECH_SEED); } + TURN {} + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_LEECH_SEED, player); + HP_BAR(opponent); + HP_BAR(player); + HP_BAR(opponent, captureDamage: &damage); + HP_BAR(player, captureDamage: &healed); + } THEN { + EXPECT_MUL_EQ(damage, Q_4_12(-1), healed); + } +} + +SINGLE_BATTLE_TEST("Leech Seed recovery is prevented by Heal Block") +{ + GIVEN { + PLAYER(SPECIES_WYNAUT) { HP(1); } + OPPONENT(SPECIES_SHELLDER); + } WHEN { + TURN { MOVE(opponent, MOVE_HEAL_BLOCK); MOVE(player, MOVE_LEECH_SEED); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_HEAL_BLOCK, opponent); + ANIMATION(ANIM_TYPE_MOVE, MOVE_LEECH_SEED, player); + HP_BAR(opponent); + NOT HP_BAR(player); + } +} + +SINGLE_BATTLE_TEST("Leech Seed recovery will drain the hp of user if leech seeded mon has Liquid Ooze") +{ + s16 damage; + s16 healed; + + GIVEN { + PLAYER(SPECIES_WYNAUT); + OPPONENT(SPECIES_TENTACOOL) { Ability(ABILITY_LIQUID_OOZE); } + } WHEN { + TURN { MOVE(player, MOVE_LEECH_SEED); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_LEECH_SEED, player); + HP_BAR(opponent, captureDamage: &damage); + HP_BAR(player, captureDamage: &healed); + } THEN { + EXPECT_EQ(damage, healed); + } +} + TO_DO_BATTLE_TEST("Leech Seed doesn't affect already seeded targets") -TO_DO_BATTLE_TEST("Leech Seeded targets lose 1/8 of its max HP every turn and give it to the user") TO_DO_BATTLE_TEST("Leech Seed's effect is paused until a new battler replaces the original user's position") // Faint, can't be replaced, then revived. TO_DO_BATTLE_TEST("Leech Seed's effect pause still prevents it from being seeded again") TO_DO_BATTLE_TEST("Baton Pass passes Leech Seed's effect"); diff --git a/test/battle/move_effect/magic_coat.c b/test/battle/move_effect/magic_coat.c index 417f4e851edf..2e78967f3987 100644 --- a/test/battle/move_effect/magic_coat.c +++ b/test/battle/move_effect/magic_coat.c @@ -16,8 +16,8 @@ SINGLE_BATTLE_TEST("Magic Coat prints the correct message when bouncing back a m TURN { MOVE(player, MOVE_MAGIC_COAT); MOVE(opponent, MOVE_SPORE); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_MAGIC_COAT, player); - MESSAGE("Foe Wynaut's Spore was bounced back by MAGIC COAT!"); - MESSAGE("Foe Wynaut fell asleep!"); + MESSAGE("Zigzagoon bounced the Spore back!");; + MESSAGE("The opposing Wynaut fell asleep!"); STATUS_ICON(opponent, sleep: TRUE); } } diff --git a/test/battle/move_effect/max_hp_50_recoil.c b/test/battle/move_effect/max_hp_50_recoil.c index 1ac98854e095..b35043014b35 100644 --- a/test/battle/move_effect/max_hp_50_recoil.c +++ b/test/battle/move_effect/max_hp_50_recoil.c @@ -77,7 +77,7 @@ SINGLE_BATTLE_TEST("Steel Beam causes the user & the target to faint when below } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_STEEL_BEAM, player); HP_BAR(opponent, hp: 0); - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet fainted!"); HP_BAR(player, hp: 0); MESSAGE("Wobbuffet fainted!"); } @@ -143,7 +143,7 @@ SINGLE_BATTLE_TEST("Steel Beam is not blocked by Damp") HP_BAR(player, damage: 200); NONE_OF { ABILITY_POPUP(opponent, ABILITY_DAMP); - MESSAGE("Foe Golduck's Damp prevents Wobbuffet from using Steel Beam!"); + MESSAGE("The opposing Golduck's Damp prevents Wobbuffet from using Steel Beam!"); } } } diff --git a/test/battle/move_effect/metronome.c b/test/battle/move_effect/metronome.c index 22e3390cb2b9..98e4bfd6187c 100644 --- a/test/battle/move_effect/metronome.c +++ b/test/battle/move_effect/metronome.c @@ -16,7 +16,7 @@ SINGLE_BATTLE_TEST("Metronome picks a random move") } SCENE { MESSAGE("Wobbuffet used Metronome!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_METRONOME, player); - MESSAGE("Wobbuffet used Scratch!"); + MESSAGE("Waggling a finger let it use Scratch!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SCRATCH, player); HP_BAR(opponent); } @@ -35,9 +35,9 @@ SINGLE_BATTLE_TEST("Metronome's called powder move fails against Grass Types") } SCENE { MESSAGE("Wobbuffet used Metronome!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_METRONOME, player); - MESSAGE("Wobbuffet used Poison Powder!"); + MESSAGE("Waggling a finger let it use Poison Powder!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_POISON_POWDER, player); - MESSAGE("It doesn't affect Foe Tangela…"); + MESSAGE("It doesn't affect the opposing Tangela…"); NOT STATUS_ICON(opponent, poison: TRUE); } } @@ -53,9 +53,9 @@ SINGLE_BATTLE_TEST("Metronome's called multi-hit move hits multiple times") } SCENE { MESSAGE("Wobbuffet used Metronome!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_METRONOME, player); - MESSAGE("Wobbuffet used Rock Blast!"); + MESSAGE("Waggling a finger let it use Rock Blast!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ROCK_BLAST, player); HP_BAR(opponent); - MESSAGE("Hit 5 time(s)!"); + MESSAGE("The Pokémon was hit 5 time(s)!"); } } diff --git a/test/battle/move_effect/mind_blown.c b/test/battle/move_effect/mind_blown.c index da39cf18d787..dbb3a6164a5e 100644 --- a/test/battle/move_effect/mind_blown.c +++ b/test/battle/move_effect/mind_blown.c @@ -77,7 +77,7 @@ SINGLE_BATTLE_TEST("Mind Blown causes the user & the target to faint when below } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_MIND_BLOWN, player); HP_BAR(opponent, hp: 0); - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("The opposing Wobbuffet fainted!"); HP_BAR(player, hp: 0); MESSAGE("Wobbuffet fainted!"); } @@ -96,11 +96,11 @@ DOUBLE_BATTLE_TEST("Mind Blown causes everyone to faint in a double battle") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_MIND_BLOWN, playerLeft); HP_BAR(opponentLeft, hp: 0); - MESSAGE("Foe Abra fainted!"); + MESSAGE("The opposing Abra fainted!"); HP_BAR(playerRight, hp: 0); MESSAGE("Wynaut fainted!"); HP_BAR(opponentRight, hp: 0); - MESSAGE("Foe Kadabra fainted!"); + MESSAGE("The opposing Kadabra fainted!"); HP_BAR(playerLeft, hp: 0); MESSAGE("Wobbuffet fainted!"); } @@ -133,7 +133,7 @@ SINGLE_BATTLE_TEST("Mind Blown is blocked by Damp") HP_BAR(player, damage: 200); } ABILITY_POPUP(opponent, ABILITY_DAMP); - MESSAGE("Foe Golduck's Damp prevents Wobbuffet from using Mind Blown!"); + MESSAGE("The opposing Golduck's Damp prevents Wobbuffet from using Mind Blown!"); } } diff --git a/test/battle/move_effect/mirror_move.c b/test/battle/move_effect/mirror_move.c index 18ac8c78e19d..65c600fb1878 100644 --- a/test/battle/move_effect/mirror_move.c +++ b/test/battle/move_effect/mirror_move.c @@ -51,8 +51,8 @@ SINGLE_BATTLE_TEST("Mirror Move's called powder move fails against Grass Types") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, player); STATUS_ICON(opponent, paralysis: TRUE); - MESSAGE("Foe Wobbuffet used Mirror Move!"); - MESSAGE("Foe Wobbuffet used Stun Spore!"); + MESSAGE("The opposing Wobbuffet used Mirror Move!"); + MESSAGE("The opposing Wobbuffet used Stun Spore!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, opponent); MESSAGE("It doesn't affect Oddish…"); NOT STATUS_ICON(player, paralysis: TRUE); @@ -70,11 +70,11 @@ SINGLE_BATTLE_TEST("Mirror Move's called multi-hit move hits multiple times") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); HP_BAR(opponent); - MESSAGE("Hit 5 time(s)!"); - MESSAGE("Foe Wobbuffet used Mirror Move!"); - MESSAGE("Foe Wobbuffet used Bullet Seed!"); + MESSAGE("The Pokémon was hit 5 time(s)!"); + MESSAGE("The opposing Wobbuffet used Mirror Move!"); + MESSAGE("The opposing Wobbuffet used Bullet Seed!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, opponent); HP_BAR(player); - MESSAGE("Hit 5 time(s)!"); + MESSAGE("The Pokémon was hit 5 time(s)!"); } } diff --git a/test/battle/move_effect/multi_hit.c b/test/battle/move_effect/multi_hit.c index 052226d1c86e..e2331efbf743 100644 --- a/test/battle/move_effect/multi_hit.c +++ b/test/battle/move_effect/multi_hit.c @@ -21,7 +21,7 @@ SINGLE_BATTLE_TEST("Multi hit Moves hit the maximum amount with Skill Link") ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); - MESSAGE("Hit 5 time(s)!"); + MESSAGE("The Pokémon was hit 5 time(s)!"); } } @@ -38,7 +38,7 @@ SINGLE_BATTLE_TEST("Multi hit Moves hit twice 35% of the time") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } } @@ -56,7 +56,7 @@ SINGLE_BATTLE_TEST("Multi hit Moves hit thrice 35% of the time") ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); - MESSAGE("Hit 3 time(s)!"); + MESSAGE("The Pokémon was hit 3 time(s)!"); } } @@ -75,7 +75,7 @@ SINGLE_BATTLE_TEST("Multi hit Moves hit four times 15% of the time") ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); - MESSAGE("Hit 4 time(s)!"); + MESSAGE("The Pokémon was hit 4 time(s)!"); } } @@ -95,7 +95,7 @@ SINGLE_BATTLE_TEST("Multi hit Moves hit five times 15% of the time") ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); - MESSAGE("Hit 5 time(s)!"); + MESSAGE("The Pokémon was hit 5 time(s)!"); } } @@ -114,7 +114,7 @@ SINGLE_BATTLE_TEST("Multi hit Moves hit at least four times with Loaded Dice") ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); - MESSAGE("Hit 4 time(s)!"); + MESSAGE("The Pokémon was hit 4 time(s)!"); } } @@ -134,7 +134,7 @@ SINGLE_BATTLE_TEST("Multi hit Moves hit five times 50 Percent of the time with L ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); - MESSAGE("Hit 5 time(s)!"); + MESSAGE("The Pokémon was hit 5 time(s)!"); } } @@ -152,7 +152,7 @@ SINGLE_BATTLE_TEST("Scale Shot decreases defense and increases speed after final ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); - MESSAGE("Hit 5 time(s)!"); + MESSAGE("The Pokémon was hit 5 time(s)!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Wobbuffet's Defense fell!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); @@ -172,7 +172,7 @@ SINGLE_BATTLE_TEST("Scale Shot is immune to Fairy types and will end the move co TURN { MOVE(player, MOVE_SCALE_SHOT); } } SCENE { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); - MESSAGE("It doesn't affect Foe Clefairy…"); + MESSAGE("It doesn't affect the opposing Clefairy…"); } } @@ -192,7 +192,7 @@ DOUBLE_BATTLE_TEST("Scale Shot does not corrupt the next turn move used") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, playerRight); HP_BAR(opponentRight); - MESSAGE("Hit 1 time(s)!"); + MESSAGE("The Pokémon was hit 1 time(s)!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLDOZE, playerRight); HP_BAR(playerLeft); HP_BAR(opponentLeft); @@ -216,7 +216,7 @@ SINGLE_BATTLE_TEST("Endure does not prevent multiple hits and stat changes occur ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); - MESSAGE("Hit 5 time(s)!"); + MESSAGE("The Pokémon was hit 5 time(s)!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Wobbuffet's Defense fell!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); @@ -238,7 +238,7 @@ SINGLE_BATTLE_TEST("Scale Shot decreases defense and increases speed after the 4 ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); - MESSAGE("Hit 4 time(s)!"); + MESSAGE("The Pokémon was hit 4 time(s)!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Wobbuffet's Defense fell!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); @@ -263,8 +263,8 @@ SINGLE_BATTLE_TEST("Scale Shot decreases defense and increases speed after killi ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); - MESSAGE("Foe Slugma fainted!"); - MESSAGE("Hit 3 time(s)!"); + MESSAGE("The opposing Slugma fainted!"); + MESSAGE("The Pokémon was hit 3 time(s)!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Bagon's Defense fell!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); @@ -292,7 +292,7 @@ SINGLE_BATTLE_TEST("Multi Hit moves will not disrupt Destiny Bond flag") ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, opponent); ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, opponent); } - MESSAGE("Wobbuffet took Foe Wobbuffet with it!"); - MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("Wobbuffet took its attacker down with it!"); + MESSAGE("The opposing Wobbuffet fainted!"); } } diff --git a/test/battle/move_effect/octolock.c b/test/battle/move_effect/octolock.c index 3cdc5f5602c3..1a04de7331c8 100644 --- a/test/battle/move_effect/octolock.c +++ b/test/battle/move_effect/octolock.c @@ -10,11 +10,11 @@ SINGLE_BATTLE_TEST("Octolock decreases Defense and Sp. Def by at the end of the TURN { MOVE(player, MOVE_OCTOLOCK); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_OCTOLOCK, player); - MESSAGE("Foe Wobbuffet can no longer escape because of Octolock!"); + MESSAGE("The opposing Wobbuffet can no longer escape because of Octolock!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Defense fell!"); + MESSAGE("The opposing Wobbuffet's Defense fell!"); NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Sp. Def fell!"); + MESSAGE("The opposing Wobbuffet's Sp. Def fell!"); } } @@ -37,32 +37,32 @@ SINGLE_BATTLE_TEST("Octolock reduction is prevented by Clear Body, White Smoke a NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); if (species == SPECIES_BELDUM) { - MESSAGE("Foe Beldum can no longer escape because of Octolock!"); + MESSAGE("The opposing Beldum can no longer escape because of Octolock!"); ABILITY_POPUP(opponent, ABILITY_CLEAR_BODY); - MESSAGE("Foe Beldum's Clear Body prevents stat loss!"); + MESSAGE("The opposing Beldum's Clear Body prevents stat loss!"); NONE_OF { - MESSAGE("Foe Beldum's Defense fell!"); - MESSAGE("Foe Beldum's Sp. Def fell!"); + MESSAGE("The opposing Beldum's Defense fell!"); + MESSAGE("The opposing Beldum's Sp. Def fell!"); } } else if (species == SPECIES_TORKOAL) { - MESSAGE("Foe Torkoal can no longer escape because of Octolock!"); + MESSAGE("The opposing Torkoal can no longer escape because of Octolock!"); ABILITY_POPUP(opponent, ABILITY_WHITE_SMOKE); - MESSAGE("Foe Torkoal's White Smoke prevents stat loss!"); + MESSAGE("The opposing Torkoal's White Smoke prevents stat loss!"); NONE_OF { - MESSAGE("Foe Torkoal's Defense fell!"); - MESSAGE("Foe Torkoal's Sp. Def fell!"); + MESSAGE("The opposing Torkoal's Defense fell!"); + MESSAGE("The opposing Torkoal's Sp. Def fell!"); } } else if (species == SPECIES_SOLGALEO) { - MESSAGE("Foe Solgaleo can no longer escape because of Octolock!"); + MESSAGE("The opposing Solgaleo can no longer escape because of Octolock!"); ABILITY_POPUP(opponent, ABILITY_FULL_METAL_BODY); - MESSAGE("Foe Solgaleo's Full Metal Body prevents stat loss!"); + MESSAGE("The opposing Solgaleo's Full Metal Body prevents stat loss!"); NONE_OF { - MESSAGE("Foe Solgaleo's Defense fell!"); - MESSAGE("Foe Solgaleo's Sp. Def fell!"); + MESSAGE("The opposing Solgaleo's Defense fell!"); + MESSAGE("The opposing Solgaleo's Sp. Def fell!"); } } } @@ -77,12 +77,12 @@ SINGLE_BATTLE_TEST("Octolock Defense reduction is prevented by Big Pecks") TURN { MOVE(player, MOVE_OCTOLOCK); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_OCTOLOCK, player); - MESSAGE("Foe Pidgey can no longer escape because of Octolock!"); + MESSAGE("The opposing Pidgey can no longer escape because of Octolock!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - NOT MESSAGE("Foe Pidgey's Defense fell!"); + NOT MESSAGE("The opposing Pidgey's Defense fell!"); ABILITY_POPUP(opponent, ABILITY_BIG_PECKS); - MESSAGE("Foe Pidgey's Big Pecks prevents Defense loss!"); - MESSAGE("Foe Pidgey's Sp. Def fell!"); + MESSAGE("The opposing Pidgey's Big Pecks prevents Defense loss!"); + MESSAGE("The opposing Pidgey's Sp. Def fell!"); } } @@ -96,12 +96,12 @@ SINGLE_BATTLE_TEST("Octolock reduction is prevented by Clear Amulet") TURN {} } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_OCTOLOCK, player); - MESSAGE("Foe Wobbuffet can no longer escape because of Octolock!"); - MESSAGE("Foe Wobbuffet's Clear Amulet prevents its stats from being lowered!"); + MESSAGE("The opposing Wobbuffet can no longer escape because of Octolock!"); + MESSAGE("The effects of the Clear Amulet held by the opposing Wobbuffet prevents its stats from being lowered!"); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Defense fell!"); - MESSAGE("Foe Wobbuffet's Sp. Def fell!"); + MESSAGE("The opposing Wobbuffet's Defense fell!"); + MESSAGE("The opposing Wobbuffet's Sp. Def fell!"); } } } @@ -120,14 +120,14 @@ SINGLE_BATTLE_TEST("Octolock will not decrease Defense and Sp. Def further then } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_OCTOLOCK, player); for (j = 0; j < 5; j++) { - MESSAGE("Foe Wobbuffet's Defense fell!"); - MESSAGE("Foe Wobbuffet's Sp. Def fell!"); + MESSAGE("The opposing Wobbuffet's Defense fell!"); + MESSAGE("The opposing Wobbuffet's Sp. Def fell!"); } - MESSAGE("Foe Wobbuffet's Defense won't go lower!"); - MESSAGE("Foe Wobbuffet's Sp. Def won't go lower!"); + MESSAGE("The opposing Wobbuffet's Defense won't go any lower!"); + MESSAGE("The opposing Wobbuffet's Sp. Def won't go any lower!"); NONE_OF { - MESSAGE("Foe Wobbuffet's Defense fell!"); - MESSAGE("Foe Wobbuffet's Sp. Def fell!"); + MESSAGE("The opposing Wobbuffet's Defense fell!"); + MESSAGE("The opposing Wobbuffet's Sp. Def fell!"); } } } diff --git a/test/battle/move_effect/ohko.c b/test/battle/move_effect/ohko.c index ca448be6fd43..511d76a8ad31 100644 --- a/test/battle/move_effect/ohko.c +++ b/test/battle/move_effect/ohko.c @@ -17,7 +17,7 @@ SINGLE_BATTLE_TEST("Sheer Cold doesn't affect Ice-type Pokémon") TURN { MOVE(player, MOVE_SHEER_COLD); } } SCENE { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_SHEER_COLD, player); - MESSAGE("It doesn't affect Foe Glalie…"); + MESSAGE("It doesn't affect the opposing Glalie…"); } } TO_DO_BATTLE_TEST("Fissure faints the target, skipping regular damage calculations") diff --git a/test/battle/move_effect/plasma_fists.c b/test/battle/move_effect/plasma_fists.c index bdd3ed4f419c..93c88690266b 100644 --- a/test/battle/move_effect/plasma_fists.c +++ b/test/battle/move_effect/plasma_fists.c @@ -19,7 +19,7 @@ SINGLE_BATTLE_TEST("Ion Duldge turns normal moves into electric for the remainde MESSAGE("Krabby used Ion Deluge!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ION_DELUGE, player); MESSAGE("A deluge of ions showers the battlefield!"); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); MESSAGE("It's super effective!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); @@ -39,7 +39,7 @@ SINGLE_BATTLE_TEST("Plasma Fists turns normal moves into electric for the remain MESSAGE("Krabby used Plasma Fists!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_PLASMA_FISTS, player); MESSAGE("A deluge of ions showers the battlefield!"); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); MESSAGE("It's super effective!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); @@ -58,7 +58,7 @@ SINGLE_BATTLE_TEST("Plasma Fists type-changing effect does not override Pixilate MESSAGE("Krabby used Plasma Fists!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_PLASMA_FISTS, player); MESSAGE("A deluge of ions showers the battlefield!"); - MESSAGE("Foe Sylveon used Tackle!"); + MESSAGE("The opposing Sylveon used Tackle!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); NOT MESSAGE("It's super effective!"); } @@ -75,7 +75,7 @@ SINGLE_BATTLE_TEST("Plasma Fists type-changing effect is applied after Normalize MESSAGE("Krabby used Plasma Fists!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_PLASMA_FISTS, player); MESSAGE("A deluge of ions showers the battlefield!"); - MESSAGE("Foe Skitty used Ember!"); + MESSAGE("The opposing Skitty used Ember!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_EMBER, opponent); MESSAGE("It's super effective!"); } @@ -92,7 +92,7 @@ SINGLE_BATTLE_TEST("Plasma Fists turns normal type dynamax-moves into electric t MESSAGE("Krabby used Plasma Fists!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_PLASMA_FISTS, player); MESSAGE("A deluge of ions showers the battlefield!"); - MESSAGE("Foe Wobbuffet used Max Lightning!"); + MESSAGE("The opposing Wobbuffet used Max Lightning!"); MESSAGE("It's super effective!"); } } diff --git a/test/battle/move_effect/pledge.c b/test/battle/move_effect/pledge.c index bd68b1e73349..726adc81521f 100644 --- a/test/battle/move_effect/pledge.c +++ b/test/battle/move_effect/pledge.c @@ -26,11 +26,11 @@ DOUBLE_BATTLE_TEST("Water and Fire Pledge create a rainbow on the user's side of MESSAGE("Wobbuffet used Water Pledge!"); MESSAGE("Wobbuffet is waiting for Wynaut's move…{PAUSE 16}"); MESSAGE("Wynaut used Fire Pledge!"); - MESSAGE("The two moves become one! It's a combined move!{PAUSE 16}"); + MESSAGE("The two moves have become one! It's a combined move!{PAUSE 16}"); ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_PLEDGE, playerRight); HP_BAR(opponentRight); MESSAGE("A rainbow appeared in the sky on your team's side!"); - MESSAGE("The rainbow on your side disappeared!"); + MESSAGE("The rainbow on your team's side disappeared!"); } } @@ -51,7 +51,7 @@ DOUBLE_BATTLE_TEST("Rainbow doubles the chance of secondary move effects") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_PLEDGE, playerRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_EMBER, playerLeft); - MESSAGE("Foe Wynaut was burned!"); + MESSAGE("The opposing Wynaut was burned!"); } } @@ -72,7 +72,7 @@ DOUBLE_BATTLE_TEST("Rainbow flinch chance does not stack with Serene Grace") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_PLEDGE, playerRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_BITE, playerLeft); - MESSAGE("Foe Wynaut flinched!"); + MESSAGE("The opposing Wynaut flinched and couldn't move!"); } } @@ -94,23 +94,23 @@ DOUBLE_BATTLE_TEST("Fire and Grass Pledge summons Sea Of Fire for four turns tha MESSAGE("Wobbuffet used Fire Pledge!"); MESSAGE("Wobbuffet is waiting for Wynaut's move…{PAUSE 16}"); MESSAGE("Wynaut used Grass Pledge!"); - MESSAGE("The two moves become one! It's a combined move!{PAUSE 16}"); + MESSAGE("The two moves have become one! It's a combined move!{PAUSE 16}"); ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); HP_BAR(opponentRight); MESSAGE("A sea of fire enveloped the opposing team!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, opponentLeft); - MESSAGE("The opposing Foe Wobbuffet was hurt by the sea of fire!"); + MESSAGE("The opposing Wobbuffet was hurt by the sea of fire!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, opponentRight); - MESSAGE("The opposing Foe Wynaut was hurt by the sea of fire!"); + MESSAGE("The opposing Wynaut was hurt by the sea of fire!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, opponentLeft); - MESSAGE("The opposing Foe Wobbuffet was hurt by the sea of fire!"); + MESSAGE("The opposing Wobbuffet was hurt by the sea of fire!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, opponentRight); - MESSAGE("The opposing Foe Wynaut was hurt by the sea of fire!"); + MESSAGE("The opposing Wynaut was hurt by the sea of fire!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, opponentLeft); - MESSAGE("The opposing Foe Wobbuffet was hurt by the sea of fire!"); + MESSAGE("The opposing Wobbuffet was hurt by the sea of fire!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, opponentRight); - MESSAGE("The opposing Foe Wynaut was hurt by the sea of fire!"); + MESSAGE("The opposing Wynaut was hurt by the sea of fire!"); MESSAGE("The sea of fire around the opposing team disappeared!"); } } @@ -152,7 +152,7 @@ DOUBLE_BATTLE_TEST("Grass and Water Pledge create a swamp on the user's side of MESSAGE("Wobbuffet used Grass Pledge!"); MESSAGE("Wobbuffet is waiting for Wynaut's move…{PAUSE 16}"); MESSAGE("Wynaut used Water Pledge!"); - MESSAGE("The two moves become one! It's a combined move!{PAUSE 16}"); + MESSAGE("The two moves have become one! It's a combined move!{PAUSE 16}"); ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerRight); HP_BAR(opponentRight); MESSAGE("A swamp enveloped the opposing team!"); @@ -253,7 +253,7 @@ DOUBLE_BATTLE_TEST("Pledge status timer does not reset if combined move is used if (pledgeMove1 == MOVE_WATER_PLEDGE && pledgeMove2 == MOVE_FIRE_PLEDGE) { NOT MESSAGE("A rainbow appeared in the sky on your team's side!"); - MESSAGE("The rainbow on your side disappeared!"); + MESSAGE("The rainbow on your team's side disappeared!"); } if (pledgeMove1 == MOVE_FIRE_PLEDGE && pledgeMove2 == MOVE_GRASS_PLEDGE) { @@ -471,11 +471,11 @@ DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Flinch Right" TURN { MOVE(opponentLeft, MOVE_FAKE_OUT, target: playerRight); MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight); } } SCENE { if (speedPLeft < speedPRight) { - MESSAGE("Wynaut flinched!"); + MESSAGE("Wynaut flinched and couldn't move!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); } else { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); - MESSAGE("Wynaut flinched!"); + MESSAGE("Wynaut flinched and couldn't move!"); } NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); @@ -504,11 +504,11 @@ DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Flinch Left") TURN { MOVE(opponentLeft, MOVE_FAKE_OUT, target: playerLeft); MOVE(playerRight, MOVE_FIRE_PLEDGE, target: opponentRight); MOVE(playerLeft, MOVE_GRASS_PLEDGE, target: opponentRight); } } SCENE { if (speedPRight < speedPLeft) { - MESSAGE("Wobbuffet flinched!"); + MESSAGE("Wobbuffet flinched and couldn't move!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); } else { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); - MESSAGE("Wobbuffet flinched!"); + MESSAGE("Wobbuffet flinched and couldn't move!"); } NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); @@ -730,8 +730,8 @@ DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Paralyzed Bot } WHEN { TURN { MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight, WITH_RNG(RNG_PARALYSIS, 0)); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight, WITH_RNG(RNG_PARALYSIS, 0)); } } SCENE { - MESSAGE("Wobbuffet is paralyzed! It can't move!"); - MESSAGE("Wynaut is paralyzed! It can't move!"); + MESSAGE("Wobbuffet couldn't move because it's paralyzed!"); + MESSAGE("Wynaut couldn't move because it's paralyzed!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); @@ -752,8 +752,8 @@ DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Paralyzed Bot } WHEN { TURN { MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight, WITH_RNG(RNG_PARALYSIS, 0)); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight, WITH_RNG(RNG_PARALYSIS, 0)); } } SCENE { - MESSAGE("Wynaut is paralyzed! It can't move!"); - MESSAGE("Wobbuffet is paralyzed! It can't move!"); + MESSAGE("Wynaut couldn't move because it's paralyzed!"); + MESSAGE("Wobbuffet couldn't move because it's paralyzed!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); @@ -777,8 +777,8 @@ DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Flinch Both L } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_FAKE_OUT, opponentLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_FAKE_OUT, opponentRight); - MESSAGE("Wobbuffet flinched!"); - MESSAGE("Wynaut flinched!"); + MESSAGE("Wobbuffet flinched and couldn't move!"); + MESSAGE("Wynaut flinched and couldn't move!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); @@ -802,8 +802,8 @@ DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Flinch Both R } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_FAKE_OUT, opponentLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_FAKE_OUT, opponentRight); - MESSAGE("Wynaut flinched!"); - MESSAGE("Wobbuffet flinched!"); + MESSAGE("Wynaut flinched and couldn't move!"); + MESSAGE("Wobbuffet flinched and couldn't move!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); diff --git a/test/battle/move_effect/population_bomb.c b/test/battle/move_effect/population_bomb.c index 4ef3d1110f5a..b3e2e4768e9b 100644 --- a/test/battle/move_effect/population_bomb.c +++ b/test/battle/move_effect/population_bomb.c @@ -20,7 +20,7 @@ SINGLE_BATTLE_TEST("Population Bomb can hit ten times") ANIMATION(ANIM_TYPE_MOVE, MOVE_POPULATION_BOMB, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_POPULATION_BOMB, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_POPULATION_BOMB, player); - MESSAGE("Hit 10 time(s)!"); + MESSAGE("The Pokémon was hit 10 time(s)!"); } } diff --git a/test/battle/move_effect/powder.c b/test/battle/move_effect/powder.c index dbd1570e6c2d..85e486918be2 100644 --- a/test/battle/move_effect/powder.c +++ b/test/battle/move_effect/powder.c @@ -232,7 +232,7 @@ SINGLE_BATTLE_TEST("Powder doesn't prevent a Fire move from thawing its user out TURN { MOVE(opponent, MOVE_POWDER); MOVE(player, MOVE_FLAME_WHEEL); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_POWDER, opponent); - MESSAGE("Wobbuffet was defrosted by Flame Wheel!"); + MESSAGE("Wobbuffet's Flame Wheel melted the ice!"); STATUS_ICON(player, none: TRUE); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_FLAME_WHEEL, player); diff --git a/test/battle/move_effect/power_based_on_target_hp.c b/test/battle/move_effect/power_based_on_target_hp.c new file mode 100644 index 000000000000..2cecf3ff7f1e --- /dev/null +++ b/test/battle/move_effect/power_based_on_target_hp.c @@ -0,0 +1,32 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS +{ + ASSUME(gMovesInfo[MOVE_CRUSH_GRIP].effect == EFFECT_POWER_BASED_ON_TARGET_HP); +} + +SINGLE_BATTLE_TEST("Crush Grip's damage is affected by the target's current HP", s16 damage) +{ + s16 hp, maxHp = 256; + + PARAMETRIZE { hp = maxHp; } + PARAMETRIZE { hp = maxHp / 2; } + PARAMETRIZE { hp = maxHp / 8; } + PARAMETRIZE { hp = 1; } + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET) { HP(hp); MaxHP(maxHp); } + } WHEN { + TURN { MOVE(player, MOVE_CRUSH_GRIP); } + } SCENE { + MESSAGE("Wobbuffet used Crush Grip!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CRUSH_GRIP, player); + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, Q_4_12(0.5), results[1].damage); + EXPECT_MUL_EQ(results[0].damage, Q_4_12(0.125), results[2].damage); + EXPECT_EQ(results[3].damage, 1); + } +} diff --git a/test/battle/move_effect/power_based_on_user_hp.c b/test/battle/move_effect/power_based_on_user_hp.c new file mode 100644 index 000000000000..1dfa70ddf968 --- /dev/null +++ b/test/battle/move_effect/power_based_on_user_hp.c @@ -0,0 +1,32 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS +{ + ASSUME(gMovesInfo[MOVE_ERUPTION].effect == EFFECT_POWER_BASED_ON_USER_HP); +} + +SINGLE_BATTLE_TEST("Eruption's damage is affected by the user's current HP", s16 damage) +{ + s16 hp, maxHp = 256; + + PARAMETRIZE { hp = maxHp; } + PARAMETRIZE { hp = maxHp / 2; } + PARAMETRIZE { hp = maxHp / 8; } + PARAMETRIZE { hp = 1; } + + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { HP(hp); MaxHP(maxHp); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_ERUPTION); } + } SCENE { + MESSAGE("Wobbuffet used Eruption!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_ERUPTION, player); + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, Q_4_12(0.5), results[1].damage); + EXPECT_MUL_EQ(results[0].damage, Q_4_12(0.125), results[2].damage); + EXPECT_EQ(results[3].damage, 1); + } +} diff --git a/test/battle/move_effect/protect.c b/test/battle/move_effect/protect.c index 60b55ebb7528..dff486cb001e 100644 --- a/test/battle/move_effect/protect.c +++ b/test/battle/move_effect/protect.c @@ -48,9 +48,9 @@ SINGLE_BATTLE_TEST("Protect, Detect, Spiky Shield, Baneful Bunker and Burning Bu TURN {} } SCENE { ANIMATION(ANIM_TYPE_MOVE, protectMove, opponent); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); NOT ANIMATION(ANIM_TYPE_MOVE, usedMove, player); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); if (usedMove == MOVE_LEER) { NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); } else { @@ -64,7 +64,7 @@ SINGLE_BATTLE_TEST("King's Shield, Silk Trap and Obstruct protect from damaging u32 j; static const u16 protectMoves[][3] = { // Move Stat Stages - {MOVE_KINGS_SHIELD, STAT_ATK, 1}, + {MOVE_KINGS_SHIELD, STAT_ATK, (B_KINGS_SHIELD_LOWER_ATK >= GEN_8) ? 1 : 2}, {MOVE_SILK_TRAP, STAT_SPEED, 1}, {MOVE_OBSTRUCT, STAT_DEF, 2}, }; @@ -87,19 +87,23 @@ SINGLE_BATTLE_TEST("King's Shield, Silk Trap and Obstruct protect from damaging TURN {} } SCENE { ANIMATION(ANIM_TYPE_MOVE, protectMove, opponent); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); if (usedMove == MOVE_LEER) { ANIMATION(ANIM_TYPE_MOVE, usedMove, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - NOT MESSAGE("Foe Wobbuffet protected itself!"); + NOT MESSAGE("The opposing Wobbuffet protected itself!"); } else { NOT ANIMATION(ANIM_TYPE_MOVE, usedMove, player); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); if (usedMove == MOVE_TACKLE) { NOT HP_BAR(opponent); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); if (statId == STAT_ATK) { + #if B_KINGS_SHIELD_LOWER_ATK >= GEN_8 MESSAGE("Wobbuffet's Attack fell!"); + #else + MESSAGE("Wobbuffet's Attack harshly fell!"); + #endif } else if (statId == STAT_SPEED) { MESSAGE("Wobbuffet's Speed fell!"); } else if (statId == STAT_DEF) { @@ -144,9 +148,9 @@ SINGLE_BATTLE_TEST("Spiky Shield does 1/8 dmg of max hp of attackers making cont TURN {} } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SPIKY_SHIELD, opponent); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); NOT ANIMATION(ANIM_TYPE_MOVE, usedMove, player); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); NOT HP_BAR(opponent); if (usedMove == MOVE_TACKLE) { HP_BAR(player, maxHp / 8); @@ -175,9 +179,9 @@ SINGLE_BATTLE_TEST("Baneful Bunker poisons pokemon for moves making contact") TURN {} } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_BANEFUL_BUNKER, opponent); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); NOT ANIMATION(ANIM_TYPE_MOVE, usedMove, player); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); if (usedMove == MOVE_TACKLE) { NOT HP_BAR(opponent); STATUS_ICON(player, STATUS1_POISON); @@ -207,9 +211,9 @@ SINGLE_BATTLE_TEST("Burning Bulwark burns pokemon for moves making contact") TURN {} } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_BURNING_BULWARK, opponent); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); NOT ANIMATION(ANIM_TYPE_MOVE, usedMove, player); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); if (usedMove == MOVE_TACKLE) { NOT HP_BAR(opponent); STATUS_ICON(player, STATUS1_BURN); @@ -252,15 +256,15 @@ SINGLE_BATTLE_TEST("Recoil damage is not applied if target was protected") TURN {} } SCENE { // 1st turn - MESSAGE("Foe Beautifly used Tackle!"); + MESSAGE("The opposing Beautifly used Tackle!"); MESSAGE("Rapidash used Tackle!"); // 2nd turn ANIMATION(ANIM_TYPE_MOVE, protectMove, opponent); - MESSAGE("Foe Beautifly protected itself!"); + MESSAGE("The opposing Beautifly protected itself!"); // MESSAGE("Rapidash used recoilMove!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, recoilMove, player); - MESSAGE("Rapidash is hit with recoil!"); + MESSAGE("Rapidash was damaged by the recoil!"); } } } @@ -286,10 +290,10 @@ SINGLE_BATTLE_TEST("Multi-hit moves don't hit a protected target and fail only o TURN {} } SCENE { ANIMATION(ANIM_TYPE_MOVE, move, opponent); - MESSAGE("Foe Beautifly protected itself!"); + MESSAGE("The opposing Beautifly protected itself!"); MESSAGE("Rapidash used Arm Thrust!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_ARM_THRUST, player); - MESSAGE("Foe Beautifly protected itself!"); + MESSAGE("The opposing Beautifly protected itself!"); // Each effect happens only once. if (move == MOVE_KINGS_SHIELD || move == MOVE_SILK_TRAP || move == MOVE_OBSTRUCT) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); @@ -304,10 +308,10 @@ SINGLE_BATTLE_TEST("Multi-hit moves don't hit a protected target and fail only o } else if (move == MOVE_SPIKY_SHIELD) { HP_BAR(player); } - MESSAGE("Hit 2 time(s)!"); - MESSAGE("Hit 3 time(s)!"); - MESSAGE("Hit 4 time(s)!"); - MESSAGE("Hit 5 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 3 time(s)!"); + MESSAGE("The Pokémon was hit 4 time(s)!"); + MESSAGE("The Pokémon was hit 5 time(s)!"); } } } @@ -332,7 +336,7 @@ DOUBLE_BATTLE_TEST("Wide Guard protects self and ally from multi-target moves") TURN { MOVE(opponentLeft, MOVE_WIDE_GUARD); MOVE(playerLeft, move, target: opponentLeft); } TURN {} } SCENE { - MESSAGE("Foe Wobbuffet used Wide Guard!"); + MESSAGE("The opposing Wobbuffet used Wide Guard!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_WIDE_GUARD, opponentLeft); if (move == MOVE_TACKLE) { MESSAGE("Wobbuffet used Tackle!"); @@ -340,15 +344,15 @@ DOUBLE_BATTLE_TEST("Wide Guard protects self and ally from multi-target moves") HP_BAR(opponentLeft); } else if (move == MOVE_HYPER_VOICE) { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_HYPER_VOICE, playerLeft); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); NOT HP_BAR(opponentLeft); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); NOT HP_BAR(opponentRight); } else { // Surf - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); NOT HP_BAR(opponentLeft); HP_BAR(playerRight); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); NOT HP_BAR(opponentRight); } } @@ -371,12 +375,12 @@ DOUBLE_BATTLE_TEST("Wide Guard can not fail on consecutive turns") TURN {} } SCENE { for (turns = 0; turns < 2; turns++) { - MESSAGE("Foe Wobbuffet used Wide Guard!"); + MESSAGE("The opposing Wobbuffet used Wide Guard!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_WIDE_GUARD, opponentLeft); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_HYPER_VOICE, playerLeft); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); NOT HP_BAR(opponentLeft); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); NOT HP_BAR(opponentRight); } } @@ -403,7 +407,7 @@ DOUBLE_BATTLE_TEST("Quick Guard protects self and ally from priority moves") TURN { MOVE(opponentLeft, MOVE_QUICK_GUARD); MOVE(playerLeft, move, target:targetOpponent); } TURN {} } SCENE { - MESSAGE("Foe Wobbuffet used Quick Guard!"); + MESSAGE("The opposing Wobbuffet used Quick Guard!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_QUICK_GUARD, opponentLeft); if (move == MOVE_TACKLE) { MESSAGE("Wobbuffet used Tackle!"); @@ -411,7 +415,7 @@ DOUBLE_BATTLE_TEST("Quick Guard protects self and ally from priority moves") HP_BAR(targetOpponent); } else if (move == MOVE_QUICK_ATTACK) { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_QUICK_ATTACK, playerLeft); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); NOT HP_BAR(targetOpponent); } } @@ -433,10 +437,10 @@ DOUBLE_BATTLE_TEST("Quick Guard can not fail on consecutive turns") TURN { MOVE(opponentLeft, MOVE_QUICK_GUARD); MOVE(playerLeft, MOVE_QUICK_ATTACK, target: opponentRight); } } SCENE { for (turns = 0; turns < 2; turns++) { - MESSAGE("Foe Wobbuffet used Quick Guard!"); + MESSAGE("The opposing Wobbuffet used Quick Guard!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_QUICK_GUARD, opponentLeft); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_QUICK_ATTACK, playerLeft); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); NOT HP_BAR(opponentRight); } } @@ -467,60 +471,72 @@ DOUBLE_BATTLE_TEST("Crafty Shield protects self and ally from status moves") ANIMATION(ANIM_TYPE_MOVE, MOVE_CRAFTY_SHIELD, opponentLeft); if (move == MOVE_LEER) { MESSAGE("Wobbuffet used Leer!"); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); } else { if (move == MOVE_HYPER_VOICE || targetOpponent == opponentLeft) { - NOT MESSAGE("Foe Wobbuffet protected itself!"); + NOT MESSAGE("The opposing Wobbuffet protected itself!"); HP_BAR(opponentLeft); } else if (move == MOVE_HYPER_VOICE || targetOpponent == opponentRight) { - NOT MESSAGE("Foe Wobbuffet protected itself!"); + NOT MESSAGE("The opposing Wobbuffet protected itself!"); HP_BAR(opponentRight); } } } } -SINGLE_BATTLE_TEST("Protect does not block Confide") +SINGLE_BATTLE_TEST("Protect does not block Confide or Decorate") { + u32 move; + PARAMETRIZE { move = MOVE_CONFIDE; } + PARAMETRIZE { move = MOVE_DECORATE; } + GIVEN { ASSUME(gMovesInfo[MOVE_CONFIDE].effect == EFFECT_SPECIAL_ATTACK_DOWN); + ASSUME(gMovesInfo[MOVE_CONFIDE].ignoresProtect == TRUE); + ASSUME(gMovesInfo[MOVE_DECORATE].effect == EFFECT_DECORATE); + ASSUME(gMovesInfo[MOVE_DECORATE].ignoresProtect == TRUE); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); } WHEN { - TURN { MOVE(opponent, MOVE_PROTECT); MOVE(player, MOVE_CONFIDE); } + TURN { MOVE(opponent, MOVE_PROTECT); MOVE(player, move); } } SCENE { - MESSAGE("Wobbuffet used Confide!"); - ANIMATION(ANIM_TYPE_MOVE, MOVE_CONFIDE, player); + ANIMATION(ANIM_TYPE_MOVE, move, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - NOT MESSAGE("Foe Wobbuffet protected itself!"); + NOT MESSAGE("The opposing Wobbuffet protected itself!"); } } -DOUBLE_BATTLE_TEST("Crafty Shield protects self and ally from Confide") +DOUBLE_BATTLE_TEST("Crafty Shield protects self and ally from Confide and Decorate") { + u32 move; + PARAMETRIZE { move = MOVE_CONFIDE; } + PARAMETRIZE { move = MOVE_DECORATE; } + GIVEN { ASSUME(gMovesInfo[MOVE_CONFIDE].effect == EFFECT_SPECIAL_ATTACK_DOWN); + ASSUME(gMovesInfo[MOVE_CONFIDE].ignoresProtect == TRUE); + ASSUME(gMovesInfo[MOVE_DECORATE].effect == EFFECT_DECORATE); + ASSUME(gMovesInfo[MOVE_DECORATE].ignoresProtect == TRUE); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WYNAUT); OPPONENT(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WYNAUT); } WHEN { - TURN { MOVE(opponentLeft, MOVE_CRAFTY_SHIELD); MOVE(playerLeft, MOVE_CONFIDE, target: opponentLeft); MOVE(playerRight, MOVE_CONFIDE, target: opponentRight); } + TURN { MOVE(opponentLeft, MOVE_CRAFTY_SHIELD); MOVE(playerLeft, move, target: opponentLeft); MOVE(playerRight, move, target: opponentRight); } } SCENE { - MESSAGE("Wobbuffet used Confide!"); - MESSAGE("Foe Wobbuffet protected itself!"); - MESSAGE("Wynaut used Confide!"); - MESSAGE("Foe Wynaut protected itself!"); + NOT ANIMATION(ANIM_TYPE_MOVE, move, playerLeft); + MESSAGE("The opposing Wobbuffet protected itself!"); + NOT ANIMATION(ANIM_TYPE_MOVE, move, playerRight); + MESSAGE("The opposing Wynaut protected itself!"); } } DOUBLE_BATTLE_TEST("Crafty Shield does not protect against moves that target all battlers") { GIVEN { - ASSUME(gMovesInfo[MOVE_FLOWER_SHIELD].target == MOVE_TARGET_ALL_BATTLERS); ASSUME(gSpeciesInfo[SPECIES_TANGELA].types[0] == TYPE_GRASS); ASSUME(gSpeciesInfo[SPECIES_TANGROWTH].types[0] == TYPE_GRASS); ASSUME(gSpeciesInfo[SPECIES_SUNKERN].types[0] == TYPE_GRASS); @@ -538,13 +554,13 @@ DOUBLE_BATTLE_TEST("Crafty Shield does not protect against moves that target all MESSAGE("Tangela's Defense rose!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_FLOWER_SHIELD, playerLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Foe Sunkern's Defense rose!"); + MESSAGE("The opposing Sunkern's Defense rose!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_FLOWER_SHIELD, playerLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); MESSAGE("Tangrowth's Defense rose!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_FLOWER_SHIELD, playerLeft); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Foe Sunflora's Defense rose!"); + MESSAGE("The opposing Sunflora's Defense rose!"); } } @@ -566,3 +582,4 @@ SINGLE_BATTLE_TEST("Spiky Shield does not damage users on Counter or Mirror Coat } } } + diff --git a/test/battle/move_effect/pursuit.c b/test/battle/move_effect/pursuit.c index 7c34e914d1bc..3a1db03d06d1 100644 --- a/test/battle/move_effect/pursuit.c +++ b/test/battle/move_effect/pursuit.c @@ -20,7 +20,7 @@ SINGLE_BATTLE_TEST("Pursuited mon correctly switches out after it got hit and ac ANIMATION(ANIM_TYPE_MOVE, MOVE_PURSUIT, opponent); ABILITY_POPUP(player, ABILITY_TANGLING_HAIR); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wynaut's Speed fell!"); + MESSAGE("The opposing Wynaut's Speed fell!"); SEND_IN_MESSAGE("Wobbuffet"); } } diff --git a/test/battle/move_effect/quash.c b/test/battle/move_effect/quash.c index 5500fcb33e5c..b342eafd74ae 100644 --- a/test/battle/move_effect/quash.c +++ b/test/battle/move_effect/quash.c @@ -67,7 +67,7 @@ DOUBLE_BATTLE_TEST("Quash calculates correct turn order if only one pokemon is l ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponentRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_STONE_EDGE, playerRight); HP_BAR(opponentLeft); - MESSAGE("Foe Pidgeot fainted!"); + MESSAGE("The opposing Pidgeot fainted!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_QUASH, playerLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponentRight); diff --git a/test/battle/move_effect/rage_fist.c b/test/battle/move_effect/rage_fist.c index 52859cefc17f..7bc349cef03e 100644 --- a/test/battle/move_effect/rage_fist.c +++ b/test/battle/move_effect/rage_fist.c @@ -142,8 +142,8 @@ SINGLE_BATTLE_TEST("Rage Fist base power is not increased if a substitute was hi HP_BAR(opponent, captureDamage: ×GotHit[0]); ANIMATION(ANIM_TYPE_MOVE, MOVE_SUBSTITUTE, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_CRUNCH, opponent); - MESSAGE("The SUBSTITUTE took damage for Wobbuffet!"); - MESSAGE("Wobbuffet's SUBSTITUTE faded!"); + MESSAGE("The substitute took damage for Wobbuffet!"); + MESSAGE("Wobbuffet's substitute faded!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_RAGE_FIST, player); HP_BAR(opponent, captureDamage: ×GotHit[1]); } THEN { @@ -241,7 +241,7 @@ SINGLE_BATTLE_TEST("Rage Fist base power is not increased if move had no affect" for (turns = 0; turns < 2; turns++) { ANIMATION(ANIM_TYPE_MOVE, MOVE_RAGE_FIST, player); HP_BAR(opponent, captureDamage: ×GotHit[turns]); - MESSAGE("Foe Regirock used Tackle!"); + MESSAGE("The opposing Regirock used Tackle!"); MESSAGE("It doesn't affect Gastly…"); } } THEN { diff --git a/test/battle/move_effect/raging_bull.c b/test/battle/move_effect/raging_bull.c index 23b138ca4154..7e72ca82738a 100644 --- a/test/battle/move_effect/raging_bull.c +++ b/test/battle/move_effect/raging_bull.c @@ -143,9 +143,9 @@ SINGLE_BATTLE_TEST("Move Raging Bull changes it's type depending on the Tauros F u16 speciesPlayer; u16 speciesOpponent; - PARAMETRIZE { speciesPlayer = SPECIES_TAUROS_PALDEAN_COMBAT_BREED; speciesOpponent = SPECIES_CHARIZARD; } - PARAMETRIZE { speciesPlayer = SPECIES_TAUROS_PALDEAN_BLAZE_BREED; speciesOpponent = SPECIES_BLASTOISE; } - PARAMETRIZE { speciesPlayer = SPECIES_TAUROS_PALDEAN_AQUA_BREED; speciesOpponent = SPECIES_VENUSAUR; } + PARAMETRIZE { speciesPlayer = SPECIES_TAUROS_PALDEA_COMBAT; speciesOpponent = SPECIES_CHARIZARD; } + PARAMETRIZE { speciesPlayer = SPECIES_TAUROS_PALDEA_BLAZE; speciesOpponent = SPECIES_BLASTOISE; } + PARAMETRIZE { speciesPlayer = SPECIES_TAUROS_PALDEA_AQUA; speciesOpponent = SPECIES_VENUSAUR; } GIVEN { PLAYER(speciesPlayer); diff --git a/test/battle/move_effect/recoil_if_miss.c b/test/battle/move_effect/recoil_if_miss.c index b6083e9d190e..a5f011109548 100644 --- a/test/battle/move_effect/recoil_if_miss.c +++ b/test/battle/move_effect/recoil_if_miss.c @@ -78,9 +78,9 @@ SINGLE_BATTLE_TEST("Jump Kick's recoil happens after Spiky Shield damage and Pok } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SPIKY_SHIELD, opponent); MESSAGE("Wobbuffet used Jump Kick!"); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); HP_BAR(player, damage: maxHp / 8); - MESSAGE("Wobbuffet was hurt by Foe Wobbuffet's Spiky Shield!"); + MESSAGE("Wobbuffet was hurt by the opposing Wobbuffet's Spiky Shield!"); if (faintOnSpiky){ MESSAGE("Wobbuffet fainted!"); SEND_IN_MESSAGE("Wynaut"); diff --git a/test/battle/move_effect/reflect_type.c b/test/battle/move_effect/reflect_type.c index 0b610efe6e00..fc152fc27f85 100644 --- a/test/battle/move_effect/reflect_type.c +++ b/test/battle/move_effect/reflect_type.c @@ -102,7 +102,7 @@ SINGLE_BATTLE_TEST("Reflect Type does not affect Pokémon with no types") ANIMATION(ANIM_TYPE_MOVE, MOVE_BURN_UP, player); HP_BAR(opponent); MESSAGE("Arcanine burned itself out!"); - MESSAGE("Foe Poliwrath used Reflect Type!"); + MESSAGE("The opposing Poliwrath used Reflect Type!"); MESSAGE("But it failed!"); } } @@ -121,7 +121,7 @@ SINGLE_BATTLE_TEST("Reflect Type copies a target's dual types") } SCENE { MESSAGE("Arcanine used Reflect Type!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_REFLECT_TYPE, player); - MESSAGE("Arcanine's type changed to match the Foe Poliwrath's!"); + MESSAGE("Arcanine became the same type as the opposing Poliwrath!"); } THEN { EXPECT_EQ(player->types[0], TYPE_WATER); EXPECT_EQ(player->types[1], TYPE_FIGHTING); @@ -143,7 +143,7 @@ SINGLE_BATTLE_TEST("Reflect Type copies a target's pure type") } SCENE { MESSAGE("Arcanine used Reflect Type!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_REFLECT_TYPE, player); - MESSAGE("Arcanine's type changed to match the Foe Sudowoodo's!"); + MESSAGE("Arcanine became the same type as the opposing Sudowoodo!"); } THEN { EXPECT_EQ(player->types[0], TYPE_ROCK); EXPECT_EQ(player->types[1], TYPE_ROCK); @@ -166,18 +166,18 @@ SINGLE_BATTLE_TEST("Reflect Type defaults to Normal type for the user's types[0] TURN { MOVE(player, MOVE_REFLECT_TYPE); } } SCENE { // Turn 1 - MESSAGE("Foe Arcanine used Burn Up!"); + MESSAGE("The opposing Arcanine used Burn Up!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_BURN_UP, opponent); HP_BAR(player); - MESSAGE("Foe Arcanine burned itself out!"); + MESSAGE("The opposing Arcanine burned itself out!"); // Turn 2 MESSAGE("Wobbuffet used Forest's Curse!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_FORESTS_CURSE, player); - MESSAGE("Grass type was added to Foe Arcanine!"); + MESSAGE("Grass type was added to the opposing Arcanine!"); // Turn 3 MESSAGE("Wobbuffet used Reflect Type!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_REFLECT_TYPE, player); - MESSAGE("Wobbuffet's type changed to match the Foe Arcanine's!"); + MESSAGE("Wobbuffet became the same type as the opposing Arcanine!"); } THEN { EXPECT_EQ(player->types[0], TYPE_NORMAL); EXPECT_EQ(player->types[1], TYPE_NORMAL); diff --git a/test/battle/move_effect/refresh.c b/test/battle/move_effect/refresh.c index 7d49c7e8d0e1..7cf319f3e6f8 100644 --- a/test/battle/move_effect/refresh.c +++ b/test/battle/move_effect/refresh.c @@ -56,10 +56,10 @@ SINGLE_BATTLE_TEST("Refresh does not cure sleep when used by Sleep Talk") MESSAGE("Wobbuffet used Spore!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SPORE, player); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_SLP, opponent); - MESSAGE("Foe Wobbuffet fell asleep!"); - MESSAGE("Foe Wobbuffet used Sleep Talk!"); + MESSAGE("The opposing Wobbuffet fell asleep!"); + MESSAGE("The opposing Wobbuffet used Sleep Talk!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SLEEP_TALK, opponent); - MESSAGE("Foe Wobbuffet used Refresh!"); + MESSAGE("The opposing Wobbuffet used Refresh!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_REFRESH, player); STATUS_ICON(player, none: TRUE); } diff --git a/test/battle/move_effect/relic_song.c b/test/battle/move_effect/relic_song.c index 3ea405cc50e7..e7569c7e389e 100644 --- a/test/battle/move_effect/relic_song.c +++ b/test/battle/move_effect/relic_song.c @@ -32,7 +32,7 @@ SINGLE_BATTLE_TEST("Relic Song is prevented by Soundproof") TURN { MOVE(player, MOVE_RELIC_SONG); } } SCENE { ABILITY_POPUP(opponent, ABILITY_SOUNDPROOF); - MESSAGE("Foe Voltorb's Soundproof blocks Relic Song!"); + MESSAGE("The opposing Voltorb's Soundproof blocks Relic Song!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_RELIC_SONG, player); HP_BAR(opponent); @@ -64,7 +64,7 @@ SINGLE_BATTLE_TEST("Relic Song is blocked by Throat Chop") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_THROAT_CHOP, opponent); HP_BAR(player); - MESSAGE("Wobbuffet can't use Relic Song due to Throat Chop!"); + MESSAGE("The effects of Throat Chop prevent Wobbuffet from using certain moves!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_RELIC_SONG, player); } } @@ -134,7 +134,7 @@ SINGLE_BATTLE_TEST("Relic Song transformation is the last thing that happens aft } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_RELIC_SONG, player); HP_BAR(opponent); - MESSAGE("Foe Gossifleur fainted!"); + MESSAGE("The opposing Gossifleur fainted!"); ABILITY_POPUP(opponent, ABILITY_COTTON_DOWN); MESSAGE("Meloetta's Speed fell!"); MESSAGE("Meloetta transformed!"); @@ -191,7 +191,7 @@ SINGLE_BATTLE_TEST("Relic Song transforms Meloetta after Magician was activated" ANIMATION(ANIM_TYPE_MOVE, MOVE_RELIC_SONG, player); HP_BAR(opponent); ABILITY_POPUP(player, ABILITY_MAGICIAN); - MESSAGE("Meloetta stole Foe Delphox's Potion!"); + MESSAGE("Meloetta stole the opposing Delphox's Potion!"); MESSAGE("Meloetta transformed!"); } THEN { EXPECT_EQ(player->species, SPECIES_MELOETTA_PIROUETTE); diff --git a/test/battle/move_effect/revival_blessing.c b/test/battle/move_effect/revival_blessing.c index 46108ce497ca..dbeda39f9153 100644 --- a/test/battle/move_effect/revival_blessing.c +++ b/test/battle/move_effect/revival_blessing.c @@ -31,7 +31,7 @@ SINGLE_BATTLE_TEST("Revival Blessing revives a fainted party member for an oppon } WHEN { TURN { MOVE(opponent, MOVE_REVIVAL_BLESSING, partyIndex:1); } } SCENE { - MESSAGE("Foe Raichu used Revival Blessing!"); + MESSAGE("The opposing Raichu used Revival Blessing!"); MESSAGE("Pichu was revived and is ready to fight again!"); } } @@ -70,10 +70,10 @@ DOUBLE_BATTLE_TEST("Revival Blessing cannot revive a partner's party member") TURN { MOVE(user, MOVE_REVIVAL_BLESSING, partyIndex:4); } } SCENE { if (user == opponentLeft) { - MESSAGE("Foe Wobbuffet used Revival Blessing!"); + MESSAGE("The opposing Wobbuffet used Revival Blessing!"); MESSAGE("But it failed!"); } else { - MESSAGE("Foe Wynaut used Revival Blessing!"); + MESSAGE("The opposing Wynaut used Revival Blessing!"); MESSAGE("Wynaut was revived and is ready to fight again!"); } } @@ -91,8 +91,8 @@ DOUBLE_BATTLE_TEST("Revival Blessing doesn't prevent revived battlers from losin MOVE(opponentLeft, MOVE_REVIVAL_BLESSING, partyIndex: 1); } } SCENE { MESSAGE("Wobbuffet used Tackle!"); - MESSAGE("Foe Wynaut fainted!"); - MESSAGE("Foe Wobbuffet used Revival Blessing!"); + MESSAGE("The opposing Wynaut fainted!"); + MESSAGE("The opposing Wobbuffet used Revival Blessing!"); MESSAGE("Wynaut was revived and is ready to fight again!"); NOT { MESSAGE("Wynaut used Celebrate!"); } } @@ -113,16 +113,16 @@ DOUBLE_BATTLE_TEST("Revival Blessing correctly updates battler absent flags") // Turn 1 MESSAGE("Salamence used Earthquake!"); HP_BAR(opponentLeft); - MESSAGE("Foe Geodude fainted!"); + MESSAGE("The opposing Geodude fainted!"); MESSAGE("It doesn't affect Pidgeot…"); - MESSAGE("It doesn't affect Foe Starly…"); - MESSAGE("Foe Starly used Revival Blessing!"); + MESSAGE("It doesn't affect the opposing Starly…"); + MESSAGE("The opposing Starly used Revival Blessing!"); MESSAGE("Geodude was revived and is ready to fight again!"); // Should have prefix but it doesn't currently. // Turn 2 MESSAGE("Salamence used Earthquake!"); HP_BAR(opponentLeft); - MESSAGE("Foe Geodude fainted!"); + MESSAGE("The opposing Geodude fainted!"); MESSAGE("It doesn't affect Pidgeot…"); - MESSAGE("It doesn't affect Foe Starly…"); + MESSAGE("It doesn't affect the opposing Starly…"); } } diff --git a/test/battle/move_effect/roar.c b/test/battle/move_effect/roar.c index 90e0fd1b47bf..f67a24bba102 100644 --- a/test/battle/move_effect/roar.c +++ b/test/battle/move_effect/roar.c @@ -19,7 +19,7 @@ SINGLE_BATTLE_TEST("Roar switches the target with a random non-fainted replaceme TURN { MOVE(player, MOVE_ROAR); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_ROAR, player); - MESSAGE("Foe Bulbasaur was dragged out!"); + MESSAGE("The opposing Bulbasaur was dragged out!"); } } @@ -38,7 +38,7 @@ DOUBLE_BATTLE_TEST("Roar switches the target with a random non-battler, non-fain TURN { MOVE(playerLeft, MOVE_ROAR, target: opponentRight); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_ROAR, playerLeft); - MESSAGE("Foe Bulbasaur was dragged out!"); + MESSAGE("The opposing Bulbasaur was dragged out!"); } } diff --git a/test/battle/move_effect/roost.c b/test/battle/move_effect/roost.c index b4c0186bf0a4..449119a89abc 100644 --- a/test/battle/move_effect/roost.c +++ b/test/battle/move_effect/roost.c @@ -96,12 +96,12 @@ SINGLE_BATTLE_TEST("Roost suppresses the user's Flying-typing this turn, then re // Turn 1: EQ hits when Roosted MESSAGE("Skarmory used Roost!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ROOST, player); - MESSAGE("Skarmory regained health!"); - MESSAGE("Foe Wobbuffet used Earthquake!"); + MESSAGE("Skarmory's HP was restored."); + MESSAGE("The opposing Wobbuffet used Earthquake!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_EARTHQUAKE, opponent); MESSAGE("It's super effective!"); // Turn 2: EQ has no effect because Roost expired - MESSAGE("Foe Wobbuffet used Earthquake!"); + MESSAGE("The opposing Wobbuffet used Earthquake!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_EARTHQUAKE, opponent); MESSAGE("It doesn't affect Skarmory…"); NOT HP_BAR(player); @@ -140,7 +140,7 @@ SINGLE_BATTLE_TEST("Roost, if used by a Flying/Flying type, treats the user as a } SCENE { MESSAGE("Tornadus used Roost!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ROOST, player); - MESSAGE("Tornadus regained health!"); + MESSAGE("Tornadus's HP was restored."); if (B_ROOST_PURE_FLYING >= GEN_5) // >= Gen. 5, Pokemon becomes pure Normal-type { @@ -214,7 +214,7 @@ SINGLE_BATTLE_TEST("Roost, if used by a Mystery/Flying type, treats the user as // Turn 2: Use Roost to now be treated as a Mystery/Mystery type MESSAGE("Moltres used Roost!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ROOST, player); - MESSAGE("Moltres regained health!"); + MESSAGE("Moltres's HP was restored."); ANIMATION(ANIM_TYPE_MOVE, damagingMove, opponent); NONE_OF { MESSAGE("It's super effective!"); @@ -241,11 +241,11 @@ DOUBLE_BATTLE_TEST("Roost suppresses the user's not-yet-aquired Flying-type this } SCENE { MESSAGE("Kecleon used Roost!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ROOST, playerLeft); - MESSAGE("Kecleon regained health!"); - MESSAGE("Foe Pidgey used Gust!"); + MESSAGE("Kecleon's HP was restored."); + MESSAGE("The opposing Pidgey used Gust!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_GUST, opponentLeft); MESSAGE("Kecleon's Color Change made it the Flying type!"); - MESSAGE("Foe Sandshrew used Earthquake!"); + MESSAGE("The opposing Sandshrew used Earthquake!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_EARTHQUAKE, opponentRight); MESSAGE("Kecleon's Color Change made it the Ground type!"); } @@ -263,8 +263,8 @@ SINGLE_BATTLE_TEST("Roost prevents a Flying-type user from being protected by De } SCENE { MESSAGE("Rayquaza used Roost!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ROOST, player); - MESSAGE("Rayquaza regained health!"); - MESSAGE("Foe Wobbuffet used Ice Beam!"); + MESSAGE("Rayquaza's HP was restored."); + MESSAGE("The opposing Wobbuffet used Ice Beam!"); NOT MESSAGE("The mysterious strong winds weakened the attack!"); } } @@ -282,11 +282,11 @@ SINGLE_BATTLE_TEST("Roost does not undo other type-changing effects at the end o } SCENE { MESSAGE("Swellow used Roost!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ROOST, player); - MESSAGE("Swellow regained health!"); - MESSAGE("Foe Wobbuffet used Soak!"); + MESSAGE("Swellow's HP was restored."); + MESSAGE("The opposing Wobbuffet used Soak!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SOAK, opponent); MESSAGE("Swellow transformed into the Water type!"); - MESSAGE("Foe Wobbuffet used Vine Whip!"); + MESSAGE("The opposing Wobbuffet used Vine Whip!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_VINE_WHIP, opponent); MESSAGE("It's super effective!"); } @@ -305,7 +305,7 @@ SINGLE_BATTLE_TEST("Roost's effect is lifted after Grassy Terrain's healing") } SCENE { MESSAGE("Swellow used Roost!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ROOST, player); - MESSAGE("Swellow regained health!"); + MESSAGE("Swellow's HP was restored."); MESSAGE("Swellow is healed by the grassy terrain!"); HP_BAR(player); } @@ -329,20 +329,20 @@ SINGLE_BATTLE_TEST("Roost's suppression prevents Reflect Type from copying any F // Turn 1: Reflect Type on Roosted Normal/Flying MESSAGE("Swellow used Roost!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ROOST, player); - MESSAGE("Swellow regained health!"); - MESSAGE("Foe Wobbuffet used Reflect Type!"); + MESSAGE("Swellow's HP was restored."); + MESSAGE("The opposing Wobbuffet used Reflect Type!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_REFLECT_TYPE, opponent); - MESSAGE("Foe Wobbuffet's type changed to match the Swellow's!"); + MESSAGE("The opposing Wobbuffet became the same type as Swellow!"); // Turn 2: EQ hits, Reflect Type on non-Roosted Normal/Flying MESSAGE("Swellow used Earthquake!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_EARTHQUAKE, player); HP_BAR(opponent); - MESSAGE("Foe Wobbuffet used Reflect Type!"); + MESSAGE("The opposing Wobbuffet used Reflect Type!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_REFLECT_TYPE, opponent); - MESSAGE("Foe Wobbuffet's type changed to match the Swellow's!"); + MESSAGE("The opposing Wobbuffet became the same type as Swellow!"); // Turn 3: EQ has no effect MESSAGE("Swellow used Earthquake!"); - MESSAGE("It doesn't affect Foe Wobbuffet…"); + MESSAGE("It doesn't affect the opposing Wobbuffet…"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_EARTHQUAKE, player); HP_BAR(opponent); @@ -360,8 +360,8 @@ SINGLE_BATTLE_TEST("Roost does not suppress the ungrounded effect of Levitate") } SCENE { MESSAGE("Flygon used Roost!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ROOST, player); - MESSAGE("Flygon regained health!"); - MESSAGE("Foe Wobbuffet used Earthquake!"); + MESSAGE("Flygon's HP was restored."); + MESSAGE("The opposing Wobbuffet used Earthquake!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_EARTHQUAKE, opponent); HP_BAR(player); @@ -379,8 +379,8 @@ SINGLE_BATTLE_TEST("Roost does not suppress the ungrounded effect of Air Balloon } SCENE { MESSAGE("Wobbuffet used Roost!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ROOST, player); - MESSAGE("Wobbuffet regained health!"); - MESSAGE("Foe Wobbuffet used Earthquake!"); + MESSAGE("Wobbuffet's HP was restored."); + MESSAGE("The opposing Wobbuffet used Earthquake!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_EARTHQUAKE, opponent); HP_BAR(player); @@ -400,12 +400,12 @@ SINGLE_BATTLE_TEST("Roost does not suppress the ungrounded effect of Magnet Rise // Turn 1: Magnet Rise MESSAGE("Wobbuffet used Magnet Rise!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_MAGNET_RISE, player); - MESSAGE("Wobbuffet levitated on electromagnetism!"); + MESSAGE("Wobbuffet levitated with electromagnetism!"); // Turn 2 MESSAGE("Wobbuffet used Roost!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ROOST, player); - MESSAGE("Wobbuffet regained health!"); - MESSAGE("Foe Wobbuffet used Earthquake!"); + MESSAGE("Wobbuffet's HP was restored."); + MESSAGE("The opposing Wobbuffet used Earthquake!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_EARTHQUAKE, opponent); HP_BAR(player); @@ -423,14 +423,14 @@ SINGLE_BATTLE_TEST("Roost does not suppress the ungrounded effect of Telekinesis TURN { MOVE(player, MOVE_ROOST); MOVE(opponent, MOVE_EARTHQUAKE); } } SCENE { // Turn 1: Telekinesis - MESSAGE("Foe Wobbuffet used Telekinesis!"); + MESSAGE("The opposing Wobbuffet used Telekinesis!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TELEKINESIS, opponent); MESSAGE("Wobbuffet was hurled into the air!"); // Turn 2 MESSAGE("Wobbuffet used Roost!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ROOST, player); - MESSAGE("Wobbuffet regained health!"); - MESSAGE("Foe Wobbuffet used Earthquake!"); + MESSAGE("Wobbuffet's HP was restored."); + MESSAGE("The opposing Wobbuffet used Earthquake!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_EARTHQUAKE, opponent); HP_BAR(player); diff --git a/test/battle/move_effect/salt_cure.c b/test/battle/move_effect/salt_cure.c index 7385bb16e8f0..495a7e8c80c6 100644 --- a/test/battle/move_effect/salt_cure.c +++ b/test/battle/move_effect/salt_cure.c @@ -19,11 +19,11 @@ SINGLE_BATTLE_TEST("Salt Cure inflicts 1/8 of the target's maximum HP as damage } SCENE { s32 maxHP = GetMonData(&OPPONENT_PARTY[0], MON_DATA_MAX_HP); ANIMATION(ANIM_TYPE_MOVE, MOVE_SALT_CURE, player); - MESSAGE("Foe Wobbuffet is being salt cured!"); + MESSAGE("The opposing Wobbuffet is being salt cured!"); for (j = 0; j < 4; j++) { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SALT_CURE_DAMAGE, opponent); HP_BAR(opponent, damage: maxHP / 8); - MESSAGE("Foe Wobbuffet is hurt by Salt Cure!"); + MESSAGE("The opposing Wobbuffet is hurt by Salt Cure!"); } } } @@ -62,12 +62,12 @@ SINGLE_BATTLE_TEST("Salt Cure is removed when the afflicted Pokémon is switched TURN { SWITCH(opponent, 1); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SALT_CURE, player); - MESSAGE("Foe Wobbuffet is being salt cured!"); + MESSAGE("The opposing Wobbuffet is being salt cured!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SALT_CURE_DAMAGE, opponent); - MESSAGE("Foe Wobbuffet is hurt by Salt Cure!"); + MESSAGE("The opposing Wobbuffet is hurt by Salt Cure!"); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SALT_CURE_DAMAGE, opponent); - MESSAGE("Foe Wobbuffet is hurt by Salt Cure!"); + MESSAGE("The opposing Wobbuffet is hurt by Salt Cure!"); } } } @@ -81,8 +81,8 @@ SINGLE_BATTLE_TEST("If Salt Cure faints the target no status will be applied") TURN { MOVE(player, MOVE_SALT_CURE); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SALT_CURE, player); - NOT MESSAGE("Foe Wobbuffet is being salt cured!"); - MESSAGE("Foe Wobbuffet fainted!"); + NOT MESSAGE("The opposing Wobbuffet is being salt cured!"); + MESSAGE("The opposing Wobbuffet fainted!"); } } @@ -95,8 +95,8 @@ SINGLE_BATTLE_TEST("Salt Cure does not get applied if hitting a Substitute") TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_SALT_CURE); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SALT_CURE, player); - MESSAGE("The SUBSTITUTE took damage for Foe Wobbuffet!"); - NOT MESSAGE("Foe Wobbuffet is being salt cured!"); + MESSAGE("The substitute took damage for the opposing Wobbuffet!"); + NOT MESSAGE("The opposing Wobbuffet is being salt cured!"); } } @@ -113,7 +113,7 @@ SINGLE_BATTLE_TEST("Salt Cure residual damage does not inflict any damage agains NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SALT_CURE_DAMAGE, opponent); HP_BAR(opponent); - MESSAGE("Foe Clefable is hurt by Salt Cure!"); + MESSAGE("The opposing Clefable is hurt by Salt Cure!"); } } } diff --git a/test/battle/move_effect/semi_invulnerable.c b/test/battle/move_effect/semi_invulnerable.c index 3ba4889005e5..d3869bfe54a3 100644 --- a/test/battle/move_effect/semi_invulnerable.c +++ b/test/battle/move_effect/semi_invulnerable.c @@ -94,8 +94,8 @@ SINGLE_BATTLE_TEST("Semi-invulnerable moves make the user semi-invulnerable turn ANIMATION(ANIM_TYPE_MOVE, move, player); // Aerial Ace cannot miss unless the target is semi-invulnerable - MESSAGE("Foe Wobbuffet used Aerial Ace!"); - MESSAGE("Foe Wobbuffet's attack missed!"); + MESSAGE("The opposing Wobbuffet used Aerial Ace!"); + MESSAGE("The opposing Wobbuffet's attack missed!"); // Attack turn switch (move) { diff --git a/test/battle/move_effect/shed_tail.c b/test/battle/move_effect/shed_tail.c index 55a8950d00c9..51d7652460af 100644 --- a/test/battle/move_effect/shed_tail.c +++ b/test/battle/move_effect/shed_tail.c @@ -37,7 +37,7 @@ SINGLE_BATTLE_TEST("Shed Tail fails if the user doesn't have enough HP") } WHEN { TURN { MOVE(player, MOVE_SHED_TAIL); } } SCENE { - MESSAGE("It was too weak to make a SUBSTITUTE!"); + MESSAGE("But it does not have enough HP left to make a substitute!"); } } @@ -52,7 +52,7 @@ SINGLE_BATTLE_TEST("Shed Tail's HP cost can trigger a berry before the user swit TURN { MOVE(player, MOVE_SHED_TAIL); SEND_OUT(player, 1); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SHED_TAIL, player); - MESSAGE("Wobbuffet's Sitrus Berry restored health!"); + MESSAGE("Wobbuffet restored its health using its Sitrus Berry!"); SEND_IN_MESSAGE("Wynaut"); } } @@ -85,3 +85,17 @@ SINGLE_BATTLE_TEST("Shed Tail's HP cost doesn't trigger effects that trigger on NOT MESSAGE("Wobbuffet's Air Balloon popped!"); } } + +AI_SINGLE_BATTLE_TEST("AI will use Shed Tail to pivot to another mon while in damage stalemate with player") +{ + KNOWN_FAILING; // missing AI code + GIVEN { + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); + PLAYER(SPECIES_WOBBUFFET) { Speed(100); Ability(ABILITY_RUN_AWAY); Moves(MOVE_TACKLE, MOVE_CELEBRATE); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(50); Ability(ABILITY_RUN_AWAY); Moves(MOVE_CONFUSION, MOVE_SHED_TAIL); } + OPPONENT(SPECIES_SCIZOR) { Speed(101); Moves(MOVE_CELEBRATE, MOVE_X_SCISSOR); } + } WHEN { + TURN { MOVE(player, MOVE_TACKLE); EXPECT_MOVE(opponent, MOVE_CONFUSION); } + TURN { MOVE(player, MOVE_TACKLE); EXPECT_MOVE(opponent, MOVE_SHED_TAIL); } + } +} diff --git a/test/battle/move_effect/shell_trap.c b/test/battle/move_effect/shell_trap.c index 40febf040e40..d43893244a40 100644 --- a/test/battle/move_effect/shell_trap.c +++ b/test/battle/move_effect/shell_trap.c @@ -108,14 +108,14 @@ DOUBLE_BATTLE_TEST("Shell Trap activates immediately after being hit on turn 1 a } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SHELL_TRAP_SETUP, playerLeft); MESSAGE("Wobbuffet set a shell trap!"); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentLeft); MESSAGE("Wobbuffet used Shell Trap!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SHELL_TRAP, playerLeft); HP_BAR(opponentLeft); HP_BAR(opponentRight); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wynaut used Celebrate!"); + MESSAGE("The opposing Wynaut used Celebrate!"); } } @@ -132,8 +132,8 @@ DOUBLE_BATTLE_TEST("Shell Trap activates immediately after being hit on turn 2 a } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SHELL_TRAP_SETUP, playerLeft); MESSAGE("Wobbuffet set a shell trap!"); - MESSAGE("Foe Wynaut used Celebrate!"); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wynaut used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentLeft); MESSAGE("Wobbuffet used Shell Trap!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SHELL_TRAP, playerLeft); @@ -157,8 +157,8 @@ DOUBLE_BATTLE_TEST("Shell Trap activates immediately after being hit on turn 3 a ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SHELL_TRAP_SETUP, playerLeft); MESSAGE("Wobbuffet set a shell trap!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wynaut used Celebrate!"); - MESSAGE("Foe Wobbuffet used Tackle!"); + MESSAGE("The opposing Wynaut used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Tackle!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentLeft); MESSAGE("Wobbuffet used Shell Trap!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SHELL_TRAP, playerLeft); @@ -188,7 +188,7 @@ DOUBLE_BATTLE_TEST("Shell Trap targets correctly if one of the opponents has fai ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SHELL_TRAP_SETUP, playerRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentLeft); ANIMATION(ANIM_TYPE_MOVE, MOVE_SHELL_TRAP, playerRight); - MESSAGE("Foe Scizor fainted!"); + MESSAGE("The opposing Scizor fainted!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponentRight); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, playerLeft); diff --git a/test/battle/move_effect/skill_swap.c b/test/battle/move_effect/skill_swap.c index 5f2196fe7e2f..9c31ae59a7c9 100644 --- a/test/battle/move_effect/skill_swap.c +++ b/test/battle/move_effect/skill_swap.c @@ -90,10 +90,10 @@ SINGLE_BATTLE_TEST("Skill Swap fails if user or target has an ability that can't PARAMETRIZE { species = SPECIES_TATSUGIRI; ability = ABILITY_COMMANDER; } PARAMETRIZE { species = SPECIES_GREAT_TUSK; ability = ABILITY_PROTOSYNTHESIS; } PARAMETRIZE { species = SPECIES_IRON_TREADS; ability = ABILITY_QUARK_DRIVE; } - PARAMETRIZE { species = SPECIES_OGERPON_TEAL_MASK_TERA; ability = ABILITY_EMBODY_ASPECT_TEAL_MASK; } - PARAMETRIZE { species = SPECIES_OGERPON_HEARTHFLAME_MASK_TERA; ability = ABILITY_EMBODY_ASPECT_HEARTHFLAME_MASK; } - PARAMETRIZE { species = SPECIES_OGERPON_WELLSPRING_MASK_TERA; ability = ABILITY_EMBODY_ASPECT_WELLSPRING_MASK; } - PARAMETRIZE { species = SPECIES_OGERPON_CORNERSTONE_MASK_TERA; ability = ABILITY_EMBODY_ASPECT_CORNERSTONE_MASK; } + PARAMETRIZE { species = SPECIES_OGERPON_TEAL_TERA; ability = ABILITY_EMBODY_ASPECT_TEAL_MASK; } + PARAMETRIZE { species = SPECIES_OGERPON_HEARTHFLAME_TERA; ability = ABILITY_EMBODY_ASPECT_HEARTHFLAME_MASK; } + PARAMETRIZE { species = SPECIES_OGERPON_WELLSPRING_TERA; ability = ABILITY_EMBODY_ASPECT_WELLSPRING_MASK; } + PARAMETRIZE { species = SPECIES_OGERPON_CORNERSTONE_TERA; ability = ABILITY_EMBODY_ASPECT_CORNERSTONE_MASK; } PARAMETRIZE { species = SPECIES_TERAPAGOS_TERASTAL; ability = ABILITY_TERA_SHELL; } PARAMETRIZE { species = SPECIES_TERAPAGOS_STELLAR; ability = ABILITY_TERAFORM_ZERO; } diff --git a/test/battle/move_effect/sleep.c b/test/battle/move_effect/sleep.c index 05efb7ab749c..834f6066724b 100644 --- a/test/battle/move_effect/sleep.c +++ b/test/battle/move_effect/sleep.c @@ -24,15 +24,15 @@ SINGLE_BATTLE_TEST("Hypnosis inflicts 1-3 turns of sleep") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_HYPNOSIS, player); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_SLP, opponent); - MESSAGE("Foe Wobbuffet fell asleep!"); + MESSAGE("The opposing Wobbuffet fell asleep!"); STATUS_ICON(opponent, sleep: TRUE); for (count = 0; count < turns; ++count) { if (count < turns - 1) - MESSAGE("Foe Wobbuffet is fast asleep."); + MESSAGE("The opposing Wobbuffet is fast asleep."); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_SLP, opponent); } - MESSAGE("Foe Wobbuffet woke up!"); + MESSAGE("The opposing Wobbuffet woke up!"); STATUS_ICON(opponent, none: TRUE); } } diff --git a/test/battle/move_effect/smack_down.c b/test/battle/move_effect/smack_down.c index d68cb75ec331..eb924ea1acdc 100644 --- a/test/battle/move_effect/smack_down.c +++ b/test/battle/move_effect/smack_down.c @@ -14,6 +14,6 @@ SINGLE_BATTLE_TEST("Smack Down does not ground mons behind substitutes") } WHEN { TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_SMACK_DOWN); } } SCENE { - NOT MESSAGE("Foe Skarmory fell straight down!"); + NOT MESSAGE("The opposing Skarmory fell straight down!"); } } diff --git a/test/battle/move_effect/smelling_salts.c b/test/battle/move_effect/smelling_salts.c index 311024a153ae..bb3f333a4228 100644 --- a/test/battle/move_effect/smelling_salts.c +++ b/test/battle/move_effect/smelling_salts.c @@ -22,17 +22,17 @@ SINGLE_BATTLE_TEST("Smelling Salts does not cure paralyzed pokemons behind subst ANIMATION(ANIM_TYPE_MOVE, MOVE_SMELLING_SALTS, player); if (ability == ABILITY_INNER_FOCUS) { - MESSAGE("The SUBSTITUTE took damage for Foe Seismitoad!"); + MESSAGE("The substitute took damage for the opposing Seismitoad!"); NONE_OF { - MESSAGE("Foe Seismitoad's SUBSTITUTE faded!"); // Smelling Salts does 86 damage, the sub has 122 HP, if hitting a sub it shouldn't get boosted damage. - MESSAGE("Foe Seismitoad was healed of paralysis!"); + MESSAGE("The opposing Seismitoad's substitute faded!"); // Smelling Salts does 86 damage, the sub has 122 HP, if hitting a sub it shouldn't get boosted damage. + MESSAGE("The opposing Seismitoad was cured of paralysis!"); STATUS_ICON(opponent, none: TRUE); } } else { - MESSAGE("Foe Seismitoad was healed of paralysis!"); + MESSAGE("The opposing Seismitoad was cured of paralysis!"); STATUS_ICON(opponent, none: TRUE); } } @@ -52,12 +52,12 @@ SINGLE_BATTLE_TEST("Smelling Salts get incread power vs. paralyzed targets") ANIMATION(ANIM_TYPE_MOVE, MOVE_SMELLING_SALTS, player); if (status1 == STATUS1_PARALYSIS) { - MESSAGE("Foe Lotad fainted!"); + MESSAGE("The opposing Lotad fainted!"); } else { - NOT MESSAGE("Foe Lotad fainted!"); - MESSAGE("Foe Lotad used Celebrate!"); + NOT MESSAGE("The opposing Lotad fainted!"); + MESSAGE("The opposing Lotad used Celebrate!"); } } } diff --git a/test/battle/move_effect/sparkling_aria.c b/test/battle/move_effect/sparkling_aria.c index 0cbfdbc3e9de..332cf8165c9c 100644 --- a/test/battle/move_effect/sparkling_aria.c +++ b/test/battle/move_effect/sparkling_aria.c @@ -18,8 +18,8 @@ DOUBLE_BATTLE_TEST("Sparkling Aria cures burns from all Pokemon on the field and } WHEN { TURN { MOVE(opponentLeft, MOVE_SUBSTITUTE); MOVE(opponentRight, MOVE_CELEBRATE); MOVE(playerRight, MOVE_CELEBRATE); MOVE(playerLeft, MOVE_SPARKLING_ARIA); } } SCENE { - MESSAGE("Foe Wobbuffet's burn was healed."); - MESSAGE("Wobbuffet's burn was healed."); - MESSAGE("Foe Wynaut's burn was healed."); + MESSAGE("The opposing Wobbuffet's burn was cured!"); + MESSAGE("Wobbuffet's burn was cured!"); + MESSAGE("The opposing Wynaut's burn was cured!"); } } diff --git a/test/battle/move_effect/special_attack_down.c b/test/battle/move_effect/special_attack_down.c index bf01aa089697..60d015d1cddd 100644 --- a/test/battle/move_effect/special_attack_down.c +++ b/test/battle/move_effect/special_attack_down.c @@ -22,7 +22,7 @@ SINGLE_BATTLE_TEST("Confide lowers Special Attack", s16 damage) if (lowerSpecialAttack) { ANIMATION(ANIM_TYPE_MOVE, MOVE_CONFIDE, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Sp. Atk fell!"); + MESSAGE("The opposing Wobbuffet's Sp. Atk fell!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_GUST, opponent); HP_BAR(player, captureDamage: &results[i].damage); diff --git a/test/battle/move_effect/spicy_extract.c b/test/battle/move_effect/spicy_extract.c index 8a66003ec785..c9ddb3c30db0 100644 --- a/test/battle/move_effect/spicy_extract.c +++ b/test/battle/move_effect/spicy_extract.c @@ -16,9 +16,9 @@ SINGLE_BATTLE_TEST("Spicy Extract raises target's Attack by 2 stages and lowers } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SPICY_EXTRACT, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Attack sharply rose!"); + MESSAGE("The opposing Wobbuffet's Attack sharply rose!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Defense harshly fell!"); + MESSAGE("The opposing Wobbuffet's Defense harshly fell!"); } THEN { EXPECT_EQ(opponent->statStages[STAT_ATK], DEFAULT_STAT_STAGE + 2); EXPECT_EQ(opponent->statStages[STAT_DEF], DEFAULT_STAT_STAGE - 2); @@ -50,7 +50,7 @@ SINGLE_BATTLE_TEST("Spicy Extract is prevented by target's ability if it's Attac MESSAGE("Wobbuffet used Spicy Extract!"); if (ability == ABILITY_CLEAR_BODY) { ABILITY_POPUP(opponent, ABILITY_CLEAR_BODY); - MESSAGE("Foe Beldum's Clear Body prevents stat loss!"); + MESSAGE("The opposing Beldum's Clear Body prevents stat loss!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_SPICY_EXTRACT, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); @@ -73,13 +73,13 @@ SINGLE_BATTLE_TEST("Spicy Extract Defense loss is prevented by Big Pecks") MESSAGE("Wobbuffet used Spicy Extract!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SPICY_EXTRACT, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Pidgey's Attack sharply rose!"); + MESSAGE("The opposing Pidgey's Attack sharply rose!"); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Defense harshly fell!"); + MESSAGE("The opposing Wobbuffet's Defense harshly fell!"); } ABILITY_POPUP(opponent, ABILITY_BIG_PECKS); - MESSAGE("Foe Pidgey's Big Pecks prevents Defense loss!"); + MESSAGE("The opposing Pidgey's Big Pecks prevents Defense loss!"); } } @@ -96,9 +96,9 @@ SINGLE_BATTLE_TEST("Spicy Extract bypasses accuracy checks") NOT MESSAGE("Wobbuffet's attack missed!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SPICY_EXTRACT, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Attack sharply rose!"); + MESSAGE("The opposing Wobbuffet's Attack sharply rose!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Defense harshly fell!"); + MESSAGE("The opposing Wobbuffet's Defense harshly fell!"); } } @@ -110,7 +110,7 @@ SINGLE_BATTLE_TEST("Spicy Extract will fail if target is in a semi-invulnerabili } WHEN { TURN { MOVE(opponent, MOVE_DIVE); MOVE(player, MOVE_SPICY_EXTRACT); } } SCENE { - MESSAGE("Foe Wobbuffet used Dive!"); + MESSAGE("The opposing Wobbuffet used Dive!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_DIVE, opponent); MESSAGE("Wobbuffet used Spicy Extract!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_SPICY_EXTRACT, player); @@ -130,10 +130,10 @@ SINGLE_BATTLE_TEST("Spicy Extract stat changes will be inverted by Contrary") ANIMATION(ANIM_TYPE_MOVE, MOVE_SPICY_EXTRACT, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Snivy's Attack harshly fell!"); + MESSAGE("The opposing Snivy's Attack harshly fell!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Snivy's Defense sharply rose!"); + MESSAGE("The opposing Snivy's Defense sharply rose!"); } THEN { EXPECT_EQ(opponent->statStages[STAT_ATK], DEFAULT_STAT_STAGE - 2); EXPECT_EQ(opponent->statStages[STAT_DEF], DEFAULT_STAT_STAGE + 2); @@ -152,11 +152,11 @@ SINGLE_BATTLE_TEST("Spicy Extract against Clear Amulet and Contrary raises Defen ANIMATION(ANIM_TYPE_MOVE, MOVE_SPICY_EXTRACT, player); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Snivy's Attack harshly fell!"); + MESSAGE("The opposing Snivy's Attack harshly fell!"); } - MESSAGE("Foe Snivy's Clear Amulet prevents its stats from being lowered!"); + MESSAGE("The effects of the Clear Amulet held by the opposing Snivy prevents its stats from being lowered!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Snivy's Defense sharply rose!"); + MESSAGE("The opposing Snivy's Defense sharply rose!"); } THEN { EXPECT_EQ(opponent->statStages[STAT_ATK], DEFAULT_STAT_STAGE); EXPECT_EQ(opponent->statStages[STAT_DEF], DEFAULT_STAT_STAGE + 2); diff --git a/test/battle/move_effect/spikes.c b/test/battle/move_effect/spikes.c index 97207297f92e..339a9f9a4bf1 100644 --- a/test/battle/move_effect/spikes.c +++ b/test/battle/move_effect/spikes.c @@ -28,11 +28,11 @@ SINGLE_BATTLE_TEST("Spikes damage on switch in") s32 maxHP = GetMonData(&OPPONENT_PARTY[1], MON_DATA_MAX_HP); for (count = 0; count < layers; ++count) { ANIMATION(ANIM_TYPE_MOVE, MOVE_SPIKES, player); - MESSAGE("Spikes were scattered all around the opposing team!"); + MESSAGE("Spikes were scattered on the ground all around the opposing team!"); } MESSAGE("2 sent out Wynaut!"); HP_BAR(opponent, damage: maxHP / divisor); - MESSAGE("Foe Wynaut is hurt by spikes!"); + MESSAGE("The opposing Wynaut was hurt by the spikes!"); } } @@ -51,16 +51,16 @@ SINGLE_BATTLE_TEST("Spikes fails after 3 layers") } SCENE { s32 maxHP = GetMonData(&OPPONENT_PARTY[1], MON_DATA_MAX_HP); ANIMATION(ANIM_TYPE_MOVE, MOVE_SPIKES, player); - MESSAGE("Spikes were scattered all around the opposing team!"); + MESSAGE("Spikes were scattered on the ground all around the opposing team!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SPIKES, player); - MESSAGE("Spikes were scattered all around the opposing team!"); + MESSAGE("Spikes were scattered on the ground all around the opposing team!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SPIKES, player); - MESSAGE("Spikes were scattered all around the opposing team!"); + MESSAGE("Spikes were scattered on the ground all around the opposing team!"); MESSAGE("Wobbuffet used Spikes!"); MESSAGE("But it failed!"); MESSAGE("2 sent out Wynaut!"); HP_BAR(opponent, damage: maxHP / 4); - MESSAGE("Foe Wynaut is hurt by spikes!"); + MESSAGE("The opposing Wynaut was hurt by the spikes!"); } } @@ -79,10 +79,10 @@ SINGLE_BATTLE_TEST("Spikes damage on subsequent switch ins") s32 maxHP1 = GetMonData(&OPPONENT_PARTY[1], MON_DATA_MAX_HP); MESSAGE("2 sent out Wynaut!"); HP_BAR(opponent, damage: maxHP1 / 8); - MESSAGE("Foe Wynaut is hurt by spikes!"); + MESSAGE("The opposing Wynaut was hurt by the spikes!"); MESSAGE("2 sent out Wobbuffet!"); HP_BAR(opponent, damage: maxHP0 / 8); - MESSAGE("Foe Wobbuffet is hurt by spikes!"); + MESSAGE("The opposing Wobbuffet was hurt by the spikes!"); } } diff --git a/test/battle/move_effect/sticky_web.c b/test/battle/move_effect/sticky_web.c index d6960f88d18d..f1fff0fd1ef2 100644 --- a/test/battle/move_effect/sticky_web.c +++ b/test/battle/move_effect/sticky_web.c @@ -18,11 +18,11 @@ SINGLE_BATTLE_TEST("Sticky Web lowers Speed by 1 on switch-in") TURN {} } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, player); - MESSAGE("A sticky web spreads out on the ground around the opposing team!"); + MESSAGE("A sticky web has been laid out on the ground around the opposing team!"); MESSAGE("2 sent out Wynaut!"); - MESSAGE("Foe Wynaut was caught in a Sticky Web!"); + MESSAGE("The opposing Wynaut was caught in a sticky web!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wynaut's Speed fell!"); + MESSAGE("The opposing Wynaut's Speed fell!"); } } @@ -37,7 +37,7 @@ SINGLE_BATTLE_TEST("Sticky Web can only be set up 1 time") } SCENE { MESSAGE("Wobbuffet used Sticky Web!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, player); - MESSAGE("A sticky web spreads out on the ground around the opposing team!"); + MESSAGE("A sticky web has been laid out on the ground around the opposing team!"); MESSAGE("Wobbuffet used Sticky Web!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, player); @@ -62,16 +62,16 @@ DOUBLE_BATTLE_TEST("Sticky Web lowers Speed by 1 in a double battle after Explos TURN {} } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, playerRight); - MESSAGE("A sticky web spreads out on the ground around the opposing team!"); + MESSAGE("A sticky web has been laid out on the ground around the opposing team!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_EXPLOSION, playerLeft); MESSAGE("2 sent out Wynaut!"); MESSAGE("2 sent out Alakazam!"); - MESSAGE("Foe Alakazam was caught in a Sticky Web!"); + MESSAGE("The opposing Alakazam was caught in a sticky web!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); - MESSAGE("Foe Alakazam's Speed fell!"); - MESSAGE("Foe Wynaut was caught in a Sticky Web!"); + MESSAGE("The opposing Alakazam's Speed fell!"); + MESSAGE("The opposing Wynaut was caught in a sticky web!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); - MESSAGE("Foe Wynaut's Speed fell!"); + MESSAGE("The opposing Wynaut's Speed fell!"); } } @@ -87,11 +87,11 @@ SINGLE_BATTLE_TEST("Sticky Web raises Speed by 1 for a Pokemon with Contrary") TURN {} } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, player); - MESSAGE("A sticky web spreads out on the ground around the opposing team!"); + MESSAGE("A sticky web has been laid out on the ground around the opposing team!"); MESSAGE("2 sent out Shuckle!"); - MESSAGE("Foe Shuckle was caught in a Sticky Web!"); + MESSAGE("The opposing Shuckle was caught in a sticky web!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Shuckle's Speed rose!"); + MESSAGE("The opposing Shuckle's Speed rose!"); } } @@ -119,23 +119,23 @@ DOUBLE_BATTLE_TEST("Sticky Web has correct interactions with Mirror Armor - the TURN { SWITCH(playerRight, 2); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, BATTLER_OPPONENT); - MESSAGE("A sticky web spreads out on the ground around your team!"); + MESSAGE("A sticky web has been laid out on the ground around your team!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, BATTLER_PLAYER); - MESSAGE("A sticky web spreads out on the ground around the opposing team!"); + MESSAGE("A sticky web has been laid out on the ground around the opposing team!"); SEND_IN_MESSAGE("Corviknight"); - MESSAGE("Corviknight was caught in a Sticky Web!"); + MESSAGE("Corviknight was caught in a sticky web!"); ABILITY_POPUP(playerRight, ABILITY_MIRROR_ARMOR); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, BATTLER_OPPONENT); if (opponentSetUpper == 0) { - MESSAGE("Foe Caterpie's Speed fell!"); + MESSAGE("The opposing Caterpie's Speed fell!"); NONE_OF { - MESSAGE("Foe Caterpie was caught in a Sticky Web!"); + MESSAGE("The opposing Caterpie was caught in a sticky web!"); } } else { - MESSAGE("Foe Weedle's Speed fell!"); + MESSAGE("The opposing Weedle's Speed fell!"); NONE_OF { - MESSAGE("Foe Weedle was caught in a Sticky Web!"); + MESSAGE("The opposing Weedle was caught in a sticky web!"); } } } @@ -166,18 +166,18 @@ DOUBLE_BATTLE_TEST("Sticky Web has correct interactions with Mirror Armor - no o } SCENE { if (speedPlayer > speedOpponent) { ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, playerRight); - MESSAGE("A sticky web spreads out on the ground around the opposing team!"); + MESSAGE("A sticky web has been laid out on the ground around the opposing team!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, opponentLeft); - MESSAGE("A sticky web spreads out on the ground around your team!"); + MESSAGE("A sticky web has been laid out on the ground around your team!"); } else { ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, opponentLeft); - MESSAGE("A sticky web spreads out on the ground around your team!"); + MESSAGE("A sticky web has been laid out on the ground around your team!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, playerRight); - MESSAGE("A sticky web spreads out on the ground around the opposing team!"); + MESSAGE("A sticky web has been laid out on the ground around the opposing team!"); } SEND_IN_MESSAGE("Corviknight"); - MESSAGE("Corviknight was caught in a Sticky Web!"); + MESSAGE("Corviknight was caught in a sticky web!"); ABILITY_POPUP(playerRight, ABILITY_MIRROR_ARMOR); NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); } THEN { @@ -217,16 +217,16 @@ DOUBLE_BATTLE_TEST("Sticky Web has correct interactions with Mirror Armor - no o TURN { SWITCH(playerRight, 2); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, opponentLeft); - MESSAGE("A sticky web spreads out on the ground around your team!"); + MESSAGE("A sticky web has been laid out on the ground around your team!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_MEMENTO, opponentLeft); - MESSAGE("Foe Caterpie fainted!"); + MESSAGE("The opposing Caterpie fainted!"); if (hasReplacement) { MESSAGE("2 sent out Pidgey!"); } SEND_IN_MESSAGE("Corviknight"); - MESSAGE("Corviknight was caught in a Sticky Web!"); + MESSAGE("Corviknight was caught in a sticky web!"); ABILITY_POPUP(playerRight, ABILITY_MIRROR_ARMOR); NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); } THEN { @@ -251,7 +251,7 @@ SINGLE_BATTLE_TEST("Sticky Web is placed on the correct side after Explosion") ANIMATION(ANIM_TYPE_MOVE, MOVE_EXPLOSION, player); MESSAGE("Wobbuffet fainted!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, opponent); - MESSAGE("A sticky web spreads out on the ground around your team!"); + MESSAGE("A sticky web has been laid out on the ground around your team!"); } } @@ -268,6 +268,6 @@ SINGLE_BATTLE_TEST("Sticky Web is placed on the correct side after Memento") ANIMATION(ANIM_TYPE_MOVE, MOVE_MEMENTO, player); MESSAGE("Wobbuffet fainted!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, opponent); - MESSAGE("A sticky web spreads out on the ground around your team!"); + MESSAGE("A sticky web has been laid out on the ground around your team!"); } } diff --git a/test/battle/move_effect/stomping_tantrum.c b/test/battle/move_effect/stomping_tantrum.c index 1a5870fdd0db..32747282e420 100644 --- a/test/battle/move_effect/stomping_tantrum.c +++ b/test/battle/move_effect/stomping_tantrum.c @@ -81,7 +81,7 @@ SINGLE_BATTLE_TEST("Stomping Tatrum will not deal double damage if target protec HP_BAR(opponent, captureDamage: &damage[0]); ANIMATION(ANIM_TYPE_MOVE, MOVE_PROTECT, opponent); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STOMPING_TANTRUM, player); HP_BAR(opponent, captureDamage: &damage[1]); @@ -125,7 +125,7 @@ SINGLE_BATTLE_TEST("Stomping Tatrum will deal double damage if user was immune t } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_STOMPING_TANTRUM, player); HP_BAR(opponent, captureDamage: &damage[0]); - MESSAGE("It doesn't affect Foe Pidgey…"); + MESSAGE("It doesn't affect the opposing Pidgey…"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STOMPING_TANTRUM, player); HP_BAR(opponent, captureDamage: &damage[1]); } THEN { diff --git a/test/battle/move_effect/strength_sap.c b/test/battle/move_effect/strength_sap.c index 474707427042..0246d0881f43 100644 --- a/test/battle/move_effect/strength_sap.c +++ b/test/battle/move_effect/strength_sap.c @@ -22,9 +22,9 @@ SINGLE_BATTLE_TEST("Strength Sap lowers Attack by 1 and restores HP based on tar MESSAGE("Wobbuffet used Strength Sap!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STRENGTH_SAP, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Attack fell!"); + MESSAGE("The opposing Wobbuffet's Attack fell!"); HP_BAR(player, captureDamage: &results[i].hp); - MESSAGE("Foe Wobbuffet had its energy drained!"); + MESSAGE("The opposing Wobbuffet had its energy drained!"); } THEN { EXPECT_EQ(results[i].hp * -1, atkStat); } @@ -49,10 +49,10 @@ SINGLE_BATTLE_TEST("Strength Sap works exactly the same when attacker is behind MESSAGE("Wobbuffet used Strength Sap!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STRENGTH_SAP, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Attack fell!"); + MESSAGE("The opposing Wobbuffet's Attack fell!"); HP_BAR(player, captureDamage: &results[i].hp); - NOT MESSAGE("The SUBSTITUTE took damage for Foe Wobbuffet!"); - MESSAGE("Foe Wobbuffet had its energy drained!"); + NOT MESSAGE("The substitute took damage for the opposing Wobbuffet!"); + MESSAGE("The opposing Wobbuffet had its energy drained!"); } THEN { EXPECT_EQ(results[i].hp * -1, atkStat); } @@ -97,9 +97,9 @@ SINGLE_BATTLE_TEST("Strength Sap lowers Attack by 1 and restores HP based on tar MESSAGE("Wobbuffet used Strength Sap!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STRENGTH_SAP, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Attack fell!"); + MESSAGE("The opposing Wobbuffet's Attack fell!"); HP_BAR(player, captureDamage: &results[i].hp); - MESSAGE("Foe Wobbuffet had its energy drained!"); + MESSAGE("The opposing Wobbuffet had its energy drained!"); } THEN { if (statStage < DEFAULT_STAT_STAGE) { EXPECT_EQ(results[i].hp * -1, (60 * gStatStageRatios[statStage + 1][0] / gStatStageRatios[statStage + 1][1])); @@ -133,11 +133,11 @@ SINGLE_BATTLE_TEST("Strength Sap fails if target is at -6 Atk") NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_STRENGTH_SAP, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Attack fell!"); + MESSAGE("The opposing Wobbuffet's Attack fell!"); HP_BAR(player); - MESSAGE("Foe Wobbuffet had its energy drained!"); + MESSAGE("The opposing Wobbuffet had its energy drained!"); } - MESSAGE("Foe Wobbuffet's Attack won't go lower!"); + MESSAGE("The opposing Wobbuffet's Attack won't go any lower!"); } } @@ -158,9 +158,9 @@ SINGLE_BATTLE_TEST("Strength Sap restores more HP if Big Root is held", s16 hp) MESSAGE("Wobbuffet used Strength Sap!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STRENGTH_SAP, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Attack fell!"); + MESSAGE("The opposing Wobbuffet's Attack fell!"); HP_BAR(player, captureDamage: &results[i].hp); - MESSAGE("Foe Wobbuffet had its energy drained!"); + MESSAGE("The opposing Wobbuffet had its energy drained!"); } FINALLY { EXPECT_GT(abs(results[1].hp), abs(results[0].hp)); } @@ -184,10 +184,10 @@ SINGLE_BATTLE_TEST("Strength Sap makes attacker lose HP if target's ability is L MESSAGE("Wobbuffet used Strength Sap!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STRENGTH_SAP, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Attack fell!"); + MESSAGE("The opposing Wobbuffet's Attack fell!"); ABILITY_POPUP(opponent, ABILITY_LIQUID_OOZE); HP_BAR(player, captureDamage: &lostHp); - MESSAGE("It sucked up the liquid ooze!"); + MESSAGE("Wobbuffet sucked up the liquid ooze!"); if (atkStat >= 490) { MESSAGE("Wobbuffet fainted!"); SEND_IN_MESSAGE("Wobbuffet"); diff --git a/test/battle/move_effect/substitute.c b/test/battle/move_effect/substitute.c index 5a3c973ebb13..92e894fa073f 100644 --- a/test/battle/move_effect/substitute.c +++ b/test/battle/move_effect/substitute.c @@ -21,7 +21,7 @@ SINGLE_BATTLE_TEST("Substitute creates a Substitute at the cost of 1/4 users max maxHP = GetMonData(&gPlayerParty[0], MON_DATA_HP); ANIMATION(ANIM_TYPE_MOVE, MOVE_SUBSTITUTE, player); HP_BAR(player, captureDamage: &costHP); - MESSAGE("Wobbuffet made a SUBSTITUTE!"); + MESSAGE("Wobbuffet put in a substitute!"); }THEN { EXPECT_EQ(maxHP / 4, costHP); } @@ -36,7 +36,7 @@ SINGLE_BATTLE_TEST("Substitute fails if the user doesn't have enough HP") } WHEN { TURN { MOVE(player, MOVE_SUBSTITUTE); } } SCENE { - MESSAGE("It was too weak to make a SUBSTITUTE!"); + MESSAGE("But it does not have enough HP left to make a substitute!"); } } @@ -51,7 +51,7 @@ SINGLE_BATTLE_TEST("Substitute's HP cost can trigger a berry") TURN { MOVE(player, MOVE_SUBSTITUTE); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SUBSTITUTE, player); - MESSAGE("Wobbuffet's Sitrus Berry restored health!"); + MESSAGE("Wobbuffet restored its health using its Sitrus Berry!"); } } @@ -64,7 +64,7 @@ SINGLE_BATTLE_TEST("Substitute's HP cost doesn't trigger effects that trigger on TURN { MOVE(player, MOVE_SUBSTITUTE); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SUBSTITUTE, player); - MESSAGE("Wobbuffet made a SUBSTITUTE!"); + MESSAGE("Wobbuffet put in a substitute!"); NOT MESSAGE("Wobbuffet's Air Balloon popped!"); } } diff --git a/test/battle/move_effect/tailwind.c b/test/battle/move_effect/tailwind.c index 9cadc875991b..5fa53564512e 100644 --- a/test/battle/move_effect/tailwind.c +++ b/test/battle/move_effect/tailwind.c @@ -19,19 +19,19 @@ SINGLE_BATTLE_TEST("Tailwind applies for 4 turns") TURN {} TURN {} } SCENE { - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Wobbuffet used Tailwind!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Wobbuffet used Celebrate!"); } } @@ -49,7 +49,7 @@ DOUBLE_BATTLE_TEST("Tailwind affects partner on first turn") } SCENE { MESSAGE("Wobbuffet used Tailwind!"); MESSAGE("Wynaut used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); - MESSAGE("Foe Wynaut used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wynaut used Celebrate!"); } } diff --git a/test/battle/move_effect/take_heart.c b/test/battle/move_effect/take_heart.c index 8c45a16f7227..2961725b220b 100644 --- a/test/battle/move_effect/take_heart.c +++ b/test/battle/move_effect/take_heart.c @@ -60,12 +60,12 @@ SINGLE_BATTLE_TEST("Take Heart cures sleep when used by Sleep Talk") MESSAGE("Wobbuffet used Spore!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SPORE, player); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_SLP, opponent); - MESSAGE("Foe Wobbuffet fell asleep!"); - MESSAGE("Foe Wobbuffet used Sleep Talk!"); + MESSAGE("The opposing Wobbuffet fell asleep!"); + MESSAGE("The opposing Wobbuffet used Sleep Talk!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SLEEP_TALK, opponent); - MESSAGE("Foe Wobbuffet used Take Heart!"); + MESSAGE("The opposing Wobbuffet used Take Heart!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TAKE_HEART, opponent); STATUS_ICON(opponent, none: TRUE); - MESSAGE("Foe Wobbuffet's status returned to normal!"); + MESSAGE("The opposing Wobbuffet's status returned to normal!"); } } diff --git a/test/battle/move_effect/teatime.c b/test/battle/move_effect/teatime.c index 398494a2c36b..dfdc70c80122 100644 --- a/test/battle/move_effect/teatime.c +++ b/test/battle/move_effect/teatime.c @@ -60,9 +60,9 @@ SINGLE_BATTLE_TEST("Teatime causes the user to consume its Berry, ignoring HP re } WHEN { TURN { MOVE(opponent, MOVE_TEATIME); } } SCENE { - MESSAGE("Foe Wobbuffet used Teatime!"); + MESSAGE("The opposing Wobbuffet used Teatime!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, opponent); - MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + MESSAGE("Using Liechi Berry, the Attack of the opposing Wobbuffet rose!"); } } @@ -76,7 +76,7 @@ SINGLE_BATTLE_TEST("Teatime causes other Pokemon to consume their Berry even if } SCENE { MESSAGE("Wobbuffet used Teatime!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, player); - MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + MESSAGE("Using Liechi Berry, the Attack of the opposing Wobbuffet rose!"); } } @@ -88,7 +88,7 @@ SINGLE_BATTLE_TEST("Teatime causes other Pokemon to consume their Berry even if } WHEN { TURN { MOVE(opponent, MOVE_TEATIME); } } SCENE { - MESSAGE("Foe Wobbuffet used Teatime!"); + MESSAGE("The opposing Wobbuffet used Teatime!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, opponent); MESSAGE("Using Liechi Berry, the Attack of Wobbuffet rose!"); } @@ -113,13 +113,13 @@ DOUBLE_BATTLE_TEST("Teatime causes all Pokémon to consume their berry") { MESSAGE("Wobbuffet used Teatime!"); } else { - MESSAGE("Foe Wobbuffet used Teatime!"); + MESSAGE("The opposing Wobbuffet used Teatime!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, user); MESSAGE("Using Liechi Berry, the Attack of Wobbuffet rose!"); - MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + MESSAGE("Using Liechi Berry, the Attack of the opposing Wobbuffet rose!"); MESSAGE("Using Liechi Berry, the Attack of Wobbuffet rose!"); - MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + MESSAGE("Using Liechi Berry, the Attack of the opposing Wobbuffet rose!"); } } @@ -151,7 +151,7 @@ SINGLE_BATTLE_TEST("Teatime does not affect Pokémon in the semi-invulnerable tu MESSAGE("Wobbuffet used Teatime!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, player); - MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + MESSAGE("Using Liechi Berry, the Attack of the opposing Wobbuffet rose!"); } } } @@ -177,7 +177,7 @@ SINGLE_BATTLE_TEST("Teatime triggers Volt Absorb if it has been affected by Elec MOVE(opponent, MOVE_TEATIME); } } SCENE { - MESSAGE("Foe Wobbuffet used Teatime!"); + MESSAGE("The opposing Wobbuffet used Teatime!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, opponent); if (shouldTriggerAbility) { @@ -188,7 +188,7 @@ SINGLE_BATTLE_TEST("Teatime triggers Volt Absorb if it has been affected by Elec NOT ABILITY_POPUP(player, ABILITY_VOLT_ABSORB); MESSAGE("Using Liechi Berry, the Attack of Jolteon rose!"); } - MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + MESSAGE("Using Liechi Berry, the Attack of the opposing Wobbuffet rose!"); } } @@ -213,7 +213,7 @@ SINGLE_BATTLE_TEST("Teatime triggers Lightning Rod if it has been affected by El MOVE(opponent, MOVE_TEATIME); } } SCENE { - MESSAGE("Foe Wobbuffet used Teatime!"); + MESSAGE("The opposing Wobbuffet used Teatime!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, opponent); if (shouldTriggerAbility) { @@ -227,7 +227,7 @@ SINGLE_BATTLE_TEST("Teatime triggers Lightning Rod if it has been affected by El } MESSAGE("Using Liechi Berry, the Attack of Pikachu rose!"); } - MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + MESSAGE("Using Liechi Berry, the Attack of the opposing Wobbuffet rose!"); } } @@ -252,7 +252,7 @@ SINGLE_BATTLE_TEST("Teatime triggers Motor Drive if it has been affected by Elec MOVE(opponent, MOVE_TEATIME); } } SCENE { - MESSAGE("Foe Wobbuffet used Teatime!"); + MESSAGE("The opposing Wobbuffet used Teatime!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, opponent); if (shouldTriggerAbility) { @@ -266,6 +266,6 @@ SINGLE_BATTLE_TEST("Teatime triggers Motor Drive if it has been affected by Elec } MESSAGE("Using Liechi Berry, the Attack of Electivire rose!"); } - MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + MESSAGE("Using Liechi Berry, the Attack of the opposing Wobbuffet rose!"); } } diff --git a/test/battle/move_effect/telekinesis.c b/test/battle/move_effect/telekinesis.c index 3da96a08b999..746c42d053eb 100644 --- a/test/battle/move_effect/telekinesis.c +++ b/test/battle/move_effect/telekinesis.c @@ -18,8 +18,8 @@ SINGLE_BATTLE_TEST("Telekinesis makes the target unable to avoid any attacks mad TURN { MOVE(player, MOVE_SCREECH, hit:FALSE); } } SCENE { MESSAGE("Wobbuffet used Telekinesis!"); - MESSAGE("Foe Wynaut was hurled into the air!"); - MESSAGE("Foe Wynaut used Minimize!"); + MESSAGE("The opposing Wynaut was hurled into the air!"); + MESSAGE("The opposing Wynaut used Minimize!"); MESSAGE("Wobbuffet used Screech!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SCREECH, player); NOT MESSAGE("Wobbuffet's attack missed!"); @@ -37,10 +37,10 @@ SINGLE_BATTLE_TEST("Telekinesis ends after 3 turns") TURN { } } SCENE { MESSAGE("Wobbuffet used Telekinesis!"); - MESSAGE("Foe Wynaut was hurled into the air!"); + MESSAGE("The opposing Wynaut was hurled into the air!"); MESSAGE("Wobbuffet used Celebrate!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wynaut was freed from the telekinesis!"); + MESSAGE("The opposing Wynaut was freed from the telekinesis!"); } } @@ -59,13 +59,13 @@ SINGLE_BATTLE_TEST("Telekinesis makes the target immune to Ground-type attacks") ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLDOZE, player); HP_BAR(opponent); MESSAGE("Wobbuffet used Telekinesis!"); - MESSAGE("Foe Wynaut was hurled into the air!"); + MESSAGE("The opposing Wynaut was hurled into the air!"); MESSAGE("Wobbuffet used Bulldoze!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLDOZE, player); HP_BAR(opponent); } - MESSAGE("It doesn't affect Foe Wynaut…"); + MESSAGE("It doesn't affect the opposing Wynaut…"); } } diff --git a/test/battle/move_effect/tera_blast.c b/test/battle/move_effect/tera_blast.c index 4fcb52be3a85..80e960a1affc 100644 --- a/test/battle/move_effect/tera_blast.c +++ b/test/battle/move_effect/tera_blast.c @@ -66,7 +66,7 @@ SINGLE_BATTLE_TEST("Tera Blast has correct effectiveness for every Tera Type") TURN { MOVE(player, MOVE_TERA_BLAST, gimmick: GIMMICK_TERA); } } SCENE { if (species == SPECIES_GASTLY && type == TYPE_NORMAL) - MESSAGE("It doesn't affect Foe Gastly…"); + MESSAGE("It doesn't affect the opposing Gastly…"); else MESSAGE("It's super effective!"); } @@ -180,7 +180,7 @@ SINGLE_BATTLE_TEST("Flying-type Tera Blast does not have its priority boosted by } WHEN { TURN { MOVE(player, MOVE_TERA_BLAST, gimmick: GIMMICK_TERA); MOVE(opponent, MOVE_QUICK_ATTACK); } } SCENE { - MESSAGE("Foe Wobbuffet used Quick Attack!"); + MESSAGE("The opposing Wobbuffet used Quick Attack!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_QUICK_ATTACK, opponent); MESSAGE("Talonflame used Tera Blast!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TERA_BLAST, player); diff --git a/test/battle/move_effect/tera_starstorm.c b/test/battle/move_effect/tera_starstorm.c index 8b1ff41c75b0..b6b457164424 100644 --- a/test/battle/move_effect/tera_starstorm.c +++ b/test/battle/move_effect/tera_starstorm.c @@ -18,7 +18,7 @@ SINGLE_BATTLE_TEST("Tera Starstorm changes from Normal-type to Stellar-type if u MESSAGE("Terapagos used Tera Starstorm!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TERA_STARSTORM, player); HP_BAR(opponent); - NOT { MESSAGE("It doesn't affect Foe Misdreavus…"); } + NOT { MESSAGE("It doesn't affect the opposing Misdreavus…"); } } } @@ -71,6 +71,6 @@ SINGLE_BATTLE_TEST("Tera Starstorm remains Normal-type if used by Pokemon other TURN { MOVE(player, MOVE_TERA_STARSTORM, gimmick: GIMMICK_TERA); } } SCENE { MESSAGE("Wobbuffet used Tera Starstorm!"); - MESSAGE("It doesn't affect Foe Misdreavus…"); + MESSAGE("It doesn't affect the opposing Misdreavus…"); } } diff --git a/test/battle/move_effect/thousand_arrows.c b/test/battle/move_effect/thousand_arrows.c index 8deea06fbe8d..09e726fa2093 100644 --- a/test/battle/move_effect/thousand_arrows.c +++ b/test/battle/move_effect/thousand_arrows.c @@ -15,7 +15,7 @@ SINGLE_BATTLE_TEST("Thousand Arrows does not ground mons behind substitutes") } WHEN { TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_THOUSAND_ARROWS); } } SCENE { - NOT MESSAGE("Foe Skarmory fell straight down!"); + NOT MESSAGE("The opposing Skarmory fell straight down!"); } } @@ -33,11 +33,11 @@ SINGLE_BATTLE_TEST("Thousand Arrows does neutral damage to non-grounded Flying t } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_THOUSAND_ARROWS, player); if (pokemon == SPECIES_SKARMORY) { - MESSAGE("Foe Skarmory fell straight down!"); - MESSAGE("Foe Skarmory used Celebrate!"); + MESSAGE("The opposing Skarmory fell straight down!"); + MESSAGE("The opposing Skarmory used Celebrate!"); } else { - MESSAGE("Foe Scyther fell straight down!"); - MESSAGE("Foe Scyther used Celebrate!"); + MESSAGE("The opposing Scyther fell straight down!"); + MESSAGE("The opposing Scyther used Celebrate!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); MESSAGE("Congratulations, 1!"); diff --git a/test/battle/move_effect/tidy_up.c b/test/battle/move_effect/tidy_up.c index 338ba90dc026..986e9a2ba39c 100644 --- a/test/battle/move_effect/tidy_up.c +++ b/test/battle/move_effect/tidy_up.c @@ -61,12 +61,12 @@ SINGLE_BATTLE_TEST("Tidy Up removes Substitute") } WHEN { TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_TIDY_UP); } } SCENE { - MESSAGE("Foe Wobbuffet used Substitute!"); + MESSAGE("The opposing Wobbuffet used Substitute!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SUBSTITUTE, opponent); - MESSAGE("Foe Wobbuffet made a SUBSTITUTE!"); + MESSAGE("The opposing Wobbuffet put in a substitute!"); MESSAGE("Wobbuffet used Tidy Up!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TIDY_UP, player); - MESSAGE("Foe Wobbuffet's SUBSTITUTE faded!"); + MESSAGE("The opposing Wobbuffet's substitute faded!"); MESSAGE("Tidying up complete!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Wobbuffet's Attack rose!"); diff --git a/test/battle/move_effect/torment.c b/test/battle/move_effect/torment.c index 376267f39631..dc911691b0f8 100644 --- a/test/battle/move_effect/torment.c +++ b/test/battle/move_effect/torment.c @@ -16,7 +16,7 @@ SINGLE_BATTLE_TEST("Torment prevents consecutive move uses") TURN { MOVE(opponent, MOVE_SPLASH, allowed: FALSE); MOVE(opponent, MOVE_CELEBRATE); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TORMENT, player); - MESSAGE("Foe Wobbuffet was subjected to torment!"); + MESSAGE("The opposing Wobbuffet was subjected to torment!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SPLASH, opponent); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); } diff --git a/test/battle/move_effect/toxic_spikes.c b/test/battle/move_effect/toxic_spikes.c index 6bf2e0d2a38f..fd18f57b97a4 100644 --- a/test/battle/move_effect/toxic_spikes.c +++ b/test/battle/move_effect/toxic_spikes.c @@ -18,7 +18,7 @@ SINGLE_BATTLE_TEST("Toxic Spikes inflicts poison on switch in") TURN {} } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC_SPIKES, player); - MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); MESSAGE("2 sent out Wynaut!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponent); STATUS_ICON(opponent, poison: TRUE); @@ -38,9 +38,9 @@ SINGLE_BATTLE_TEST("Toxic Spikes inflicts bad poison on switch in") TURN {} } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC_SPIKES, player); - MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC_SPIKES, player); - MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); MESSAGE("2 sent out Wynaut!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, opponent); STATUS_ICON(opponent, badPoison: TRUE); @@ -61,9 +61,9 @@ SINGLE_BATTLE_TEST("Toxic Spikes fails after 2 layers") TURN {} } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC_SPIKES, player); - MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC_SPIKES, player); - MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around the opposing team!"); MESSAGE("Wobbuffet used Toxic Spikes!"); MESSAGE("But it failed!"); MESSAGE("2 sent out Wynaut!"); @@ -176,7 +176,7 @@ SINGLE_BATTLE_TEST("Toxic Spikes are removed by grounded Poison-type Pokémon on } SCENE { if (grounded) { NOT STATUS_ICON(opponent, poison: TRUE); - MESSAGE("The poison spikes disappeared from around the opposing team's feet!"); + MESSAGE("The poison spikes disappeared from the ground around the opposing team!"); NOT STATUS_ICON(opponent, poison: TRUE); } else { NOT STATUS_ICON(opponent, poison: TRUE); @@ -204,7 +204,7 @@ SINGLE_BATTLE_TEST("Toxic Spikes are removed by Poison-type Pokémon affected by TURN { SWITCH(opponent, 0); } } SCENE { NOT STATUS_ICON(opponent, poison: TRUE); - MESSAGE("The poison spikes disappeared from around the opposing team's feet!"); + MESSAGE("The poison spikes disappeared from the ground around the opposing team!"); NOT STATUS_ICON(opponent, poison: TRUE); } } @@ -222,15 +222,15 @@ SINGLE_BATTLE_TEST("Toxic Spikes inflicts poison on switch in after Primal Rever TURN { SWITCH(player, 1); } TURN { MOVE(player, MOVE_MEMENTO); SEND_OUT(player, 2); } } SCENE { - MESSAGE("Foe Wobbuffet used Toxic Spikes!"); + MESSAGE("The opposing Wobbuffet used Toxic Spikes!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC_SPIKES, opponent); - MESSAGE("Poison Spikes were scattered all around your team's feet!"); + MESSAGE("Poison spikes were scattered on the ground all around your team!"); // Switch in SEND_IN_MESSAGE("Groudon"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, player); STATUS_ICON(player, poison: TRUE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_PRIMAL_REVERSION, player); - MESSAGE("Groudon's Primal Reversion! It reverted to its primal form!"); + MESSAGE("Groudon's Primal Reversion! It reverted to its primal state!"); // Memento MESSAGE("Groudon used Memento!"); MESSAGE("Groudon fainted!"); diff --git a/test/battle/move_effect/two_turns_attack.c b/test/battle/move_effect/two_turns_attack.c index 4b7adc6f812d..efeb419ce554 100644 --- a/test/battle/move_effect/two_turns_attack.c +++ b/test/battle/move_effect/two_turns_attack.c @@ -208,29 +208,29 @@ SINGLE_BATTLE_TEST("Solar Beam and Solar Blade can be used instantly in Sunlight TURN { SKIP_TURN(player); } } SCENE { if (move1 == MOVE_SUNNY_DAY) { - NOT MESSAGE("Wobbuffet took in sunlight!"); + NOT MESSAGE("Wobbuffet absorbed light!"); } else { if (move2 == MOVE_SOLAR_BEAM) { if (B_UPDATED_MOVE_DATA >= GEN_5) { MESSAGE("Wobbuffet used Solar Beam!"); - MESSAGE("Wobbuffet took in sunlight!"); + MESSAGE("Wobbuffet absorbed light!"); ANIMATION(ANIM_TYPE_MOVE, move2, player); } else { NOT MESSAGE("Wobbuffet used Solar Beam!"); ANIMATION(ANIM_TYPE_MOVE, move2, player); - MESSAGE("Wobbuffet took in sunlight!"); + MESSAGE("Wobbuffet absorbed light!"); } MESSAGE("Wobbuffet used Solar Beam!"); } else { if (B_UPDATED_MOVE_DATA >= GEN_5) { MESSAGE("Wobbuffet used Solar Blade!"); - MESSAGE("Wobbuffet took in sunlight!"); + MESSAGE("Wobbuffet absorbed light!"); ANIMATION(ANIM_TYPE_MOVE, move2, player); } else { NOT MESSAGE("Wobbuffet used Solar Blade!"); ANIMATION(ANIM_TYPE_MOVE, move2, player); - MESSAGE("Wobbuffet took in sunlight!"); + MESSAGE("Wobbuffet absorbed light!"); } MESSAGE("Wobbuffet used Solar Blade!"); } diff --git a/test/battle/move_effect/upper_hand.c b/test/battle/move_effect/upper_hand.c index 6a041182fe5f..69b2b75ef958 100644 --- a/test/battle/move_effect/upper_hand.c +++ b/test/battle/move_effect/upper_hand.c @@ -20,7 +20,7 @@ SINGLE_BATTLE_TEST("Upper Hand succeeds if the target is using a priority attack } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_UPPER_HAND, player); HP_BAR(opponent); - MESSAGE("Foe Wobbuffet flinched!"); + MESSAGE("The opposing Wobbuffet flinched and couldn't move!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_EXTREME_SPEED, opponent); } } @@ -75,7 +75,7 @@ SINGLE_BATTLE_TEST("Upper Hand succeeds if the target's move is boosted in prior } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_UPPER_HAND, player); HP_BAR(opponent); - MESSAGE("Foe Comfey flinched!"); + MESSAGE("The opposing Comfey flinched and couldn't move!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAINING_KISS, opponent); } } diff --git a/test/battle/move_effect/uproar.c b/test/battle/move_effect/uproar.c index fe6a4c9931f2..a97422390f65 100644 --- a/test/battle/move_effect/uproar.c +++ b/test/battle/move_effect/uproar.c @@ -8,6 +8,7 @@ ASSUMPTIONS DOUBLE_BATTLE_TEST("Uproar status causes sleeping pokemon to wake up during an attack") { + PASSES_RANDOMLY(1, 2, RNG_RANDOM_TARGET); // test fails if we target soundproof mon GIVEN { PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_SLEEP); } @@ -18,11 +19,11 @@ DOUBLE_BATTLE_TEST("Uproar status causes sleeping pokemon to wake up during an a } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_UPROAR, playerLeft); HP_BAR(opponentRight); - MESSAGE("Wobbuffet woke up in the UPROAR!"); + MESSAGE("The uproar woke Wobbuffet!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, playerRight); - MESSAGE("Foe Voltorb woke up in the UPROAR!"); + MESSAGE("The uproar woke the opposing Voltorb!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponentLeft); - MESSAGE("Foe Wobbuffet woke up in the UPROAR!"); + MESSAGE("The uproar woke the opposing Wobbuffet!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponentRight); } } diff --git a/test/battle/move_effect/wake_up_slap.c b/test/battle/move_effect/wake_up_slap.c index 20b22ca660ff..0a881be100e4 100644 --- a/test/battle/move_effect/wake_up_slap.c +++ b/test/battle/move_effect/wake_up_slap.c @@ -21,15 +21,15 @@ SINGLE_BATTLE_TEST("Wake-Up Slap does not cure paralyzed pokemons behind substit } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_WAKE_UP_SLAP, player); if (ability == ABILITY_INNER_FOCUS) { - MESSAGE("The SUBSTITUTE took damage for Foe Seismitoad!"); + MESSAGE("The substitute took damage for the opposing Seismitoad!"); NONE_OF { - MESSAGE("Foe Seismitoad's SUBSTITUTE faded!"); // Smelling Salts does 86 damage, the sub has 122 HP, if hitting a sub it shouldn't get boosted damage. - MESSAGE("Foe Seismitoad woke up!"); + MESSAGE("The opposing Seismitoad's substitute faded!"); // Smelling Salts does 86 damage, the sub has 122 HP, if hitting a sub it shouldn't get boosted damage. + MESSAGE("The opposing Seismitoad woke up!"); STATUS_ICON(opponent, none: TRUE); } } else { - MESSAGE("Foe Seismitoad woke up!"); + MESSAGE("The opposing Seismitoad woke up!"); STATUS_ICON(opponent, none: TRUE); } } @@ -48,10 +48,10 @@ SINGLE_BATTLE_TEST("Wake-Up Slap gets increased power against sleeping targets") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_WAKE_UP_SLAP, player); if (status1 == STATUS1_SLEEP) { - MESSAGE("Foe Lotad fainted!"); + MESSAGE("The opposing Lotad fainted!"); } else { - NOT MESSAGE("Foe Lotad fainted!"); - MESSAGE("Foe Lotad used Celebrate!"); + NOT MESSAGE("The opposing Lotad fainted!"); + MESSAGE("The opposing Lotad used Celebrate!"); } } } diff --git a/test/battle/move_effect_secondary/bug_bite.c b/test/battle/move_effect_secondary/bug_bite.c index a274e34d5a1c..a55f7f9a2f0d 100644 --- a/test/battle/move_effect_secondary/bug_bite.c +++ b/test/battle/move_effect_secondary/bug_bite.c @@ -52,28 +52,28 @@ SINGLE_BATTLE_TEST("Bug Bite eats the target's berry and immediately gains its e HP_BAR(opponent); if (effect == HOLD_EFFECT_RESTORE_HP || effect == HOLD_EFFECT_ENIGMA_BERRY) { if (item == ITEM_ORAN_BERRY) { - MESSAGE("Wobbuffet's Oran Berry restored health!"); + MESSAGE("Wobbuffet restored its health using its Oran Berry!"); } else if (item == ITEM_SITRUS_BERRY) { - MESSAGE("Wobbuffet's Sitrus Berry restored health!"); + MESSAGE("Wobbuffet restored its health using its Sitrus Berry!"); } else { - MESSAGE("Wobbuffet's Enigma Berry restored health!"); + MESSAGE("Wobbuffet restored its health using its Enigma Berry!"); } HP_BAR(player); } else if (effect == HOLD_EFFECT_RESTORE_PP) { - MESSAGE("Wobbuffet's Leppa Berry restored Bug Bite's PP!"); + MESSAGE("Wobbuffet restored PP to its move Bug Bite using its Leppa Berry!"); } else if (status1 != STATUS1_NONE) { if (status1 == STATUS1_BURN) { - MESSAGE("Wobbuffet's Rawst Berry healed its burn!"); + MESSAGE("Wobbuffet's Rawst Berry cured its burn!"); } else if (status1 == STATUS1_SLEEP) { - MESSAGE("Wobbuffet's Chesto Berry woke it from its sleep!"); + MESSAGE("Wobbuffet's Chesto Berry woke it up!"); } else if (status1 == STATUS1_PARALYSIS) { - MESSAGE("Wobbuffet's Cheri Berry cured paralysis!"); + MESSAGE("Wobbuffet's Cheri Berry cured its paralysis!"); } else if (status1 == STATUS1_TOXIC_POISON || status1 == STATUS1_POISON) { - MESSAGE("Wobbuffet's Pecha Berry cured poison!"); + MESSAGE("Wobbuffet's Pecha Berry cured its poison!"); } else if (status1 == STATUS1_FROSTBITE) { - MESSAGE("Wobbuffet's Aspear Berry healed its frostbite!"); + MESSAGE("Wobbuffet's Aspear Berry cured its frostbite!"); } NOT STATUS_ICON(player, status1); } @@ -126,10 +126,10 @@ SINGLE_BATTLE_TEST("Tanga Berry activates before Bug Bite") } SCENE { MESSAGE("Wobbuffet used Bug Bite!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); - MESSAGE("Foe Wobbuffet ate its Tanga Berry!"); + MESSAGE("The opposing Wobbuffet ate its Tanga Berry!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_BUG_BITE, player); HP_BAR(opponent); - MESSAGE("Tanga Berry weakened the damage to Foe Wobbuffet!"); + MESSAGE("The Tanga Berry weakened the damage to the opposing Wobbuffet!"); } THEN { EXPECT_EQ(player->item, ITEM_NONE); } diff --git a/test/battle/move_effect_secondary/confusion.c b/test/battle/move_effect_secondary/confusion.c index bdfc57fc3584..72a96393506a 100644 --- a/test/battle/move_effect_secondary/confusion.c +++ b/test/battle/move_effect_secondary/confusion.c @@ -20,11 +20,11 @@ SINGLE_BATTLE_TEST("Alluring Voice confuses the target if the target raised a st HP_BAR(opponent); if (move == MOVE_SWORDS_DANCE) { ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponent); - MESSAGE("Foe Wobbuffet became confused!"); + MESSAGE("The opposing Wobbuffet became confused!"); } else { NONE_OF { ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponent); - MESSAGE("Foe Wobbuffet became confused!"); + MESSAGE("The opposing Wobbuffet became confused!"); } } } @@ -44,7 +44,7 @@ SINGLE_BATTLE_TEST("Alluring Voice confuse effect is removed if it is Sheer Forc HP_BAR(opponent); NONE_OF { ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponent); - MESSAGE("Foe Wobbuffet became confused!"); + MESSAGE("The opposing Wobbuffet became confused!"); } } } diff --git a/test/battle/move_effect_secondary/flinch.c b/test/battle/move_effect_secondary/flinch.c index c54c9536fef0..28b555f00f2a 100644 --- a/test/battle/move_effect_secondary/flinch.c +++ b/test/battle/move_effect_secondary/flinch.c @@ -25,20 +25,20 @@ SINGLE_BATTLE_TEST("Headbutt flinches the target if attacker is faster") ANIMATION(ANIM_TYPE_MOVE, MOVE_HEADBUTT, player); HP_BAR(opponent); if (isFaster) { - MESSAGE("Foe Wobbuffet flinched!"); + MESSAGE("The opposing Wobbuffet flinched and couldn't move!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); } else { - NOT MESSAGE("Foe Wobbuffet flinched!"); + NOT MESSAGE("The opposing Wobbuffet flinched and couldn't move!"); } // 2nd turn ANIMATION(ANIM_TYPE_MOVE, MOVE_HEADBUTT, player); HP_BAR(opponent); if (isFaster) { - MESSAGE("Foe Wobbuffet flinched!"); + MESSAGE("The opposing Wobbuffet flinched and couldn't move!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); } else { - NOT MESSAGE("Foe Wobbuffet flinched!"); + NOT MESSAGE("The opposing Wobbuffet flinched and couldn't move!"); } } } @@ -60,7 +60,7 @@ SINGLE_BATTLE_TEST("Protect always works when used after flinching") // 2nd turn ANIMATION(ANIM_TYPE_MOVE, MOVE_HEADBUTT, opponent); HP_BAR(player); - MESSAGE("Wobbuffet flinched!"); + MESSAGE("Wobbuffet flinched and couldn't move!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); // 3rd turn diff --git a/test/battle/move_effect_secondary/freeze.c b/test/battle/move_effect_secondary/freeze.c index 1539c8a25b76..45005cf5d7da 100644 --- a/test/battle/move_effect_secondary/freeze.c +++ b/test/battle/move_effect_secondary/freeze.c @@ -90,11 +90,11 @@ SINGLE_BATTLE_TEST("Freezing Glare shouldn't freeze Psychic-types") #endif { GIVEN { - ASSUME(gSpeciesInfo[SPECIES_ARTICUNO_GALARIAN].types[0] == TYPE_PSYCHIC); + ASSUME(gSpeciesInfo[SPECIES_ARTICUNO_GALAR].types[0] == TYPE_PSYCHIC); ASSUME(MoveHasAdditionalEffect(MOVE_FREEZING_GLARE, MOVE_EFFECT_FREEZE_OR_FROSTBITE) == TRUE); ASSUME(gMovesInfo[MOVE_FREEZING_GLARE].type == TYPE_PSYCHIC); - PLAYER(SPECIES_ARTICUNO_GALARIAN); - OPPONENT(SPECIES_ARTICUNO_GALARIAN); + PLAYER(SPECIES_ARTICUNO_GALAR); + OPPONENT(SPECIES_ARTICUNO_GALAR); } WHEN { TURN { MOVE(player, MOVE_FREEZING_GLARE); } } SCENE { diff --git a/test/battle/move_effect_secondary/order_up.c b/test/battle/move_effect_secondary/order_up.c new file mode 100644 index 000000000000..8d286850a28b --- /dev/null +++ b/test/battle/move_effect_secondary/order_up.c @@ -0,0 +1,172 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS +{ + ASSUME(gMovesInfo[MOVE_ORDER_UP].additionalEffects[0].moveEffect == MOVE_EFFECT_ORDER_UP); +} + +DOUBLE_BATTLE_TEST("Order Up increases a stat based on Tatsugiri's form") +{ + u32 species = 0; + PARAMETRIZE { species = SPECIES_TATSUGIRI_CURLY; } + PARAMETRIZE { species = SPECIES_TATSUGIRI_DROOPY; } + PARAMETRIZE { species = SPECIES_TATSUGIRI_STRETCHY; } + + GIVEN { + PLAYER(species) { Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_DONDOZO); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_VOLBEAT) { Ability(ABILITY_PRANKSTER); }; + } WHEN { + TURN { MOVE(opponentRight, MOVE_HAZE); MOVE(playerRight, MOVE_ORDER_UP, target: opponentLeft); } + } SCENE { + ABILITY_POPUP(playerLeft, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_HAZE, opponentRight); // Remove previous stat boosts + ANIMATION(ANIM_TYPE_MOVE, MOVE_ORDER_UP, playerRight); + switch (species) + { + case SPECIES_TATSUGIRI_CURLY: + MESSAGE("Dondozo's Attack rose!"); + break; + case SPECIES_TATSUGIRI_DROOPY: + MESSAGE("Dondozo's Defense rose!"); + break; + case SPECIES_TATSUGIRI_STRETCHY: + MESSAGE("Dondozo's Speed rose!"); + break; + } + } THEN { + switch (species) + { + case SPECIES_TATSUGIRI_CURLY: + EXPECT_EQ(playerRight->statStages[STAT_ATK], DEFAULT_STAT_STAGE + 1); + break; + case SPECIES_TATSUGIRI_DROOPY: + EXPECT_EQ(playerRight->statStages[STAT_DEF], DEFAULT_STAT_STAGE + 1); + break; + case SPECIES_TATSUGIRI_STRETCHY: + EXPECT_EQ(playerRight->statStages[STAT_SPEED], DEFAULT_STAT_STAGE + 1); + break; + } + } +} + +DOUBLE_BATTLE_TEST("Order Up increases a stat based on Tatsugiri's form even if Tatsugiri fainted inside Dondozo") +{ + u32 species = 0; + PARAMETRIZE { species = SPECIES_TATSUGIRI_CURLY; } + PARAMETRIZE { species = SPECIES_TATSUGIRI_DROOPY; } + PARAMETRIZE { species = SPECIES_TATSUGIRI_STRETCHY; } + + GIVEN { + PLAYER(species) { HP(1); Status1(STATUS1_POISON); Ability(ABILITY_COMMANDER); } + PLAYER(SPECIES_DONDOZO); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_VOLBEAT) { Ability(ABILITY_PRANKSTER); }; + } WHEN { + TURN { } + TURN { MOVE(opponentRight, MOVE_HAZE); MOVE(playerRight, MOVE_ORDER_UP, target: opponentLeft); } + } SCENE { + ABILITY_POPUP(playerLeft, ABILITY_COMMANDER); + MESSAGE("Tatsugiri was swallowed by Dondozo and became Dondozo's commander!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); + MESSAGE("Tatsugiri was hurt by its poisoning!"); + MESSAGE("Tatsugiri fainted!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_HAZE, opponentRight); // Remove previous stat boosts + ANIMATION(ANIM_TYPE_MOVE, MOVE_ORDER_UP, playerRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); + switch (species) + { + case SPECIES_TATSUGIRI_CURLY: + MESSAGE("Dondozo's Attack rose!"); + break; + case SPECIES_TATSUGIRI_DROOPY: + MESSAGE("Dondozo's Defense rose!"); + break; + case SPECIES_TATSUGIRI_STRETCHY: + MESSAGE("Dondozo's Speed rose!"); + break; + } + } THEN { + switch (species) + { + case SPECIES_TATSUGIRI_CURLY: + EXPECT_EQ(playerRight->statStages[STAT_ATK], DEFAULT_STAT_STAGE + 1); + break; + case SPECIES_TATSUGIRI_DROOPY: + EXPECT_EQ(playerRight->statStages[STAT_DEF], DEFAULT_STAT_STAGE + 1); + break; + case SPECIES_TATSUGIRI_STRETCHY: + EXPECT_EQ(playerRight->statStages[STAT_SPEED], DEFAULT_STAT_STAGE + 1); + break; + } + } +} + +DOUBLE_BATTLE_TEST("Order up does not boosts any stats if Dondozo is not affected by Commander") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_DONDOZO); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerRight, MOVE_ORDER_UP, target: opponentLeft); } + } SCENE { + NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); + } +} + +DOUBLE_BATTLE_TEST("Order Up is boosted by Sheer Force without removing the stat boosting effect") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_ENTRAINMENT].effect == EFFECT_ENTRAINMENT); + PLAYER(SPECIES_DONDOZO) { Speed(10); } + PLAYER(SPECIES_TATSUGIRI_CURLY) { Speed(9); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(8); } + OPPONENT(SPECIES_TAUROS) { Speed(21); Ability(ABILITY_SHEER_FORCE); } + } WHEN { + TURN { MOVE(opponentRight, MOVE_ENTRAINMENT, target: playerLeft); MOVE(playerLeft, MOVE_ORDER_UP, target: opponentLeft); } + } SCENE { + MESSAGE("The opposing Tauros used Entrainment!"); + MESSAGE("Dondozo acquired Sheer Force!"); + MESSAGE("Dondozo used Order Up!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); + } +} +DOUBLE_BATTLE_TEST("Order Up is always boosted by Sheer Force", s16 damage) +{ + u32 move; + u32 ability; + PARAMETRIZE(move = MOVE_CELEBRATE, ability = ABILITY_STORM_DRAIN); + PARAMETRIZE(move = MOVE_ENTRAINMENT, ability = ABILITY_STORM_DRAIN); + PARAMETRIZE(move = MOVE_ENTRAINMENT, ability = ABILITY_COMMANDER); + + GIVEN { + ASSUME(gMovesInfo[MOVE_HAZE].effect == EFFECT_HAZE); + ASSUME(gMovesInfo[MOVE_ENTRAINMENT].effect == EFFECT_ENTRAINMENT); + PLAYER(SPECIES_DONDOZO) { Speed(10); } + PLAYER(SPECIES_TATSUGIRI_CURLY) { Speed(9); Ability(ability); } + OPPONENT(SPECIES_TAUROS) { Speed(21); Ability(ABILITY_SHEER_FORCE); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(22); } + } WHEN { + TURN { MOVE(opponentRight, MOVE_HAZE); + MOVE(opponentLeft, move, target: playerLeft); + MOVE(playerLeft, MOVE_ORDER_UP, target: opponentRight); } + } SCENE { + MESSAGE("The opposing Wobbuffet used Haze!"); + if (move == MOVE_ENTRAINMENT) + { + MESSAGE("The opposing Tauros used Entrainment!"); + MESSAGE("Dondozo acquired Sheer Force!"); + } + MESSAGE("Dondozo used Order Up!"); + HP_BAR(opponentRight, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, UQ_4_12(1.3), results[1].damage); + EXPECT_MUL_EQ(results[0].damage, UQ_4_12(1.3), results[2].damage); + } +} diff --git a/test/battle/move_effect_secondary/pay_day.c b/test/battle/move_effect_secondary/pay_day.c index e448a4c935e4..3b0544a909e6 100644 --- a/test/battle/move_effect_secondary/pay_day.c +++ b/test/battle/move_effect_secondary/pay_day.c @@ -16,7 +16,7 @@ SINGLE_BATTLE_TEST("Pay Day Scatters coins around after it hits - singles") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_PAY_DAY, player); HP_BAR(opponent); - MESSAGE("Coins scattered everywhere!"); + MESSAGE("Coins were scattered everywhere!"); } } @@ -32,6 +32,6 @@ DOUBLE_BATTLE_TEST("Pay Day Scatters coins around after it hits - doubles") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_PAY_DAY, playerLeft); HP_BAR(opponentLeft); - MESSAGE("Coins scattered everywhere!"); + MESSAGE("Coins were scattered everywhere!"); } } diff --git a/test/battle/move_effect_secondary/psychic_noise.c b/test/battle/move_effect_secondary/psychic_noise.c index e8d50dc961ac..e44ae75abe44 100644 --- a/test/battle/move_effect_secondary/psychic_noise.c +++ b/test/battle/move_effect_secondary/psychic_noise.c @@ -18,10 +18,10 @@ SINGLE_BATTLE_TEST("Psychic Noise blocks healing moves for 2 turns") TURN { MOVE(opponent, MOVE_RECOVER); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_PSYCHIC_NOISE, player); - MESSAGE("Foe Wobbuffet was prevented from healing!"); - MESSAGE("Foe Wobbuffet was prevented from healing!"); + MESSAGE("The opposing Wobbuffet was prevented from healing!"); + MESSAGE("The opposing Wobbuffet was prevented from healing!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_STRUGGLE, opponent); - MESSAGE("Foe Wobbuffet's Heal Block wore off!"); + MESSAGE("The opposing Wobbuffet's Heal Block wore off!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_RECOVER, opponent); } } @@ -35,7 +35,7 @@ SINGLE_BATTLE_TEST("Psychic Noise is blocked by Soundproof") TURN { MOVE(player, MOVE_PSYCHIC_NOISE); MOVE(opponent, MOVE_RECOVER); } } SCENE { ABILITY_POPUP(opponent, ABILITY_SOUNDPROOF); - MESSAGE("Foe Voltorb's Soundproof blocks Psychic Noise!"); + MESSAGE("The opposing Voltorb's Soundproof blocks Psychic Noise!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_RECOVER, opponent); } } @@ -50,7 +50,7 @@ SINGLE_BATTLE_TEST("Psychic Noise heal block effect is blocked by Aroma Veil") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_PSYCHIC_NOISE, player); ABILITY_POPUP(opponent, ABILITY_AROMA_VEIL); - MESSAGE("Foe Milcery is protected by an aromatic veil!"); + MESSAGE("The opposing Milcery is protected by an aromatic veil!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_RECOVER, opponent); } } @@ -67,7 +67,7 @@ DOUBLE_BATTLE_TEST("Psychic Noise heal block effect is blocked by partners Aroma } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_PSYCHIC_NOISE, playerLeft); ABILITY_POPUP(opponentRight, ABILITY_AROMA_VEIL); - MESSAGE("Foe Wobbuffet is protected by an aromatic veil!"); + MESSAGE("The opposing Wobbuffet is protected by an aromatic veil!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_RECOVER, opponentLeft); } } diff --git a/test/battle/move_effect_secondary/rapid_spin.c b/test/battle/move_effect_secondary/rapid_spin.c index 0ba5e4f65fc6..4e490164d7c3 100644 --- a/test/battle/move_effect_secondary/rapid_spin.c +++ b/test/battle/move_effect_secondary/rapid_spin.c @@ -22,7 +22,7 @@ SINGLE_BATTLE_TEST("Rapin Spin blows away Wrap, hazards and raises Speed (Gen 8+ } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_STEALTH_ROCK, opponent); ANIMATION(ANIM_TYPE_MOVE, MOVE_RAPID_SPIN, player); - MESSAGE("Wobbuffet got free of Foe Wobbuffet's Wrap!"); + MESSAGE("Wobbuffet got free of the opposing Wobbuffet's Wrap!"); MESSAGE("Wobbuffet blew away Stealth Rock!"); #if B_SPEED_BUFFING_RAPID_SPIN >= GEN_8 ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); @@ -42,9 +42,9 @@ SINGLE_BATTLE_TEST("Mortal Spin blows away Wrap, hazards and poisons foe") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_STEALTH_ROCK, opponent); ANIMATION(ANIM_TYPE_MOVE, MOVE_MORTAL_SPIN, player); - MESSAGE("Wobbuffet got free of Foe Wobbuffet's Wrap!"); + MESSAGE("Wobbuffet got free of the opposing Wobbuffet's Wrap!"); MESSAGE("Wobbuffet blew away Stealth Rock!"); - MESSAGE("Foe Wobbuffet was poisoned!"); + MESSAGE("The opposing Wobbuffet was poisoned!"); STATUS_ICON(opponent, poison: TRUE); } } diff --git a/test/battle/move_effect_secondary/spikes.c b/test/battle/move_effect_secondary/spikes.c index b9c72930c2be..1aa2630fd796 100644 --- a/test/battle/move_effect_secondary/spikes.c +++ b/test/battle/move_effect_secondary/spikes.c @@ -19,10 +19,10 @@ SINGLE_BATTLE_TEST("Ceaseless Edge sets up hazards after hitting the target") s32 maxHP = GetMonData(&OPPONENT_PARTY[1], MON_DATA_MAX_HP); ANIMATION(ANIM_TYPE_MOVE, MOVE_CEASELESS_EDGE, player); HP_BAR(opponent); - MESSAGE("Spikes were scattered all around the opposing team!"); + MESSAGE("Spikes were scattered on the ground all around the opposing team!"); MESSAGE("2 sent out Wobbuffet!"); HP_BAR(opponent, damage: maxHP / 8); - MESSAGE("Foe Wobbuffet is hurt by spikes!"); + MESSAGE("The opposing Wobbuffet was hurt by the spikes!"); } } @@ -43,22 +43,22 @@ SINGLE_BATTLE_TEST("Ceaseless Edge can set up to 3 layers of Spikes") ANIMATION(ANIM_TYPE_MOVE, MOVE_CEASELESS_EDGE, player); HP_BAR(opponent); - MESSAGE("Spikes were scattered all around the opposing team!"); + MESSAGE("Spikes were scattered on the ground all around the opposing team!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CEASELESS_EDGE, player); HP_BAR(opponent); - MESSAGE("Spikes were scattered all around the opposing team!"); + MESSAGE("Spikes were scattered on the ground all around the opposing team!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CEASELESS_EDGE, player); HP_BAR(opponent); - MESSAGE("Spikes were scattered all around the opposing team!"); + MESSAGE("Spikes were scattered on the ground all around the opposing team!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CEASELESS_EDGE, player); HP_BAR(opponent); - NOT MESSAGE("Spikes were scattered all around the opposing team!"); + NOT MESSAGE("Spikes were scattered on the ground all around the opposing team!"); MESSAGE("2 sent out Wynaut!"); HP_BAR(opponent, damage: maxHP / 4); - MESSAGE("Foe Wynaut is hurt by spikes!"); + MESSAGE("The opposing Wynaut was hurt by the spikes!"); } } diff --git a/test/battle/move_effect_secondary/stealth_rock.c b/test/battle/move_effect_secondary/stealth_rock.c index 034e2c347b6e..e9101b659145 100644 --- a/test/battle/move_effect_secondary/stealth_rock.c +++ b/test/battle/move_effect_secondary/stealth_rock.c @@ -22,7 +22,7 @@ SINGLE_BATTLE_TEST("Stone Axe sets up hazards after hitting the target") MESSAGE("Pointed stones float in the air around the opposing team!"); MESSAGE("2 sent out Wobbuffet!"); HP_BAR(opponent, damage: maxHP / 8); - MESSAGE("Pointed stones dug into Foe Wobbuffet!"); + MESSAGE("Pointed stones dug into the opposing Wobbuffet!"); } } @@ -59,7 +59,7 @@ SINGLE_BATTLE_TEST("Stone Axe can set up pointed stones only once") MESSAGE("2 sent out Wynaut!"); HP_BAR(opponent, damage: maxHP / 8); - MESSAGE("Pointed stones dug into Foe Wynaut!"); + MESSAGE("Pointed stones dug into the opposing Wynaut!"); } } diff --git a/test/battle/move_effect_secondary/syrup_bomb.c b/test/battle/move_effect_secondary/syrup_bomb.c index 0fc55c3d604c..9390041f6e44 100644 --- a/test/battle/move_effect_secondary/syrup_bomb.c +++ b/test/battle/move_effect_secondary/syrup_bomb.c @@ -20,16 +20,16 @@ SINGLE_BATTLE_TEST("Syrup Bomb covers the foe in sticky syrup for 3 turns") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SYRUP_BOMB, player); HP_BAR(opponent); - MESSAGE("Foe Wobbuffet got covered in sticky syrup!"); + MESSAGE("The opposing Wobbuffet got covered in sticky candy syrup!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SYRUP_BOMB_SPEED_DROP, opponent); - MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SYRUP_BOMB_SPEED_DROP, opponent); - MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SYRUP_BOMB_SPEED_DROP, opponent); - MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SYRUP_BOMB_SPEED_DROP, opponent); - MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); } } } @@ -45,12 +45,12 @@ SINGLE_BATTLE_TEST("Sticky Syrup isn't applied again if the target is already co } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SYRUP_BOMB, player); HP_BAR(opponent); - MESSAGE("Foe Wobbuffet got covered in sticky syrup!"); + MESSAGE("The opposing Wobbuffet got covered in sticky candy syrup!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SYRUP_BOMB_SPEED_DROP, opponent); - MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_SYRUP_BOMB, player); HP_BAR(opponent); - NOT MESSAGE("Foe Wobbuffet got covered in sticky syrup!"); + NOT MESSAGE("The opposing Wobbuffet got covered in sticky candy syrup!"); } } @@ -63,7 +63,7 @@ SINGLE_BATTLE_TEST("Syrup Bomb is prevented by Bulletproof") TURN { MOVE(player, MOVE_SYRUP_BOMB); } } SCENE { ABILITY_POPUP(opponent, ABILITY_BULLETPROOF); - MESSAGE("Foe Chespin's Bulletproof blocks Syrup Bomb!"); + MESSAGE("The opposing Chespin's Bulletproof blocks Syrup Bomb!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_SYRUP_BOMB, player); HP_BAR(opponent); @@ -92,32 +92,32 @@ SINGLE_BATTLE_TEST("Sticky Syrup speed reduction is prevented by Clear Body, Whi HP_BAR(opponent); if (species == SPECIES_BELDUM) { - MESSAGE("Foe Beldum got covered in sticky syrup!"); + MESSAGE("The opposing Beldum got covered in sticky candy syrup!"); ABILITY_POPUP(opponent, ABILITY_CLEAR_BODY); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SYRUP_BOMB_SPEED_DROP, opponent); - MESSAGE("Foe Beldum's Clear Body prevents stat loss!"); + MESSAGE("The opposing Beldum's Clear Body prevents stat loss!"); NONE_OF { - MESSAGE("Foe Beldum's Speed fell!"); + MESSAGE("The opposing Beldum's Speed fell!"); } } else if (species == SPECIES_TORKOAL) { - MESSAGE("Foe Torkoal got covered in sticky syrup!"); + MESSAGE("The opposing Torkoal got covered in sticky candy syrup!"); ABILITY_POPUP(opponent, ABILITY_WHITE_SMOKE); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SYRUP_BOMB_SPEED_DROP, opponent); - MESSAGE("Foe Torkoal's White Smoke prevents stat loss!"); + MESSAGE("The opposing Torkoal's White Smoke prevents stat loss!"); NONE_OF { - MESSAGE("Foe Torkoal's Speed fell!"); + MESSAGE("The opposing Torkoal's Speed fell!"); } } else if (species == SPECIES_SOLGALEO) { - MESSAGE("Foe Solgaleo got covered in sticky syrup!"); + MESSAGE("The opposing Solgaleo got covered in sticky candy syrup!"); ABILITY_POPUP(opponent, ABILITY_FULL_METAL_BODY); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SYRUP_BOMB_SPEED_DROP, opponent); - MESSAGE("Foe Solgaleo's Full Metal Body prevents stat loss!"); + MESSAGE("The opposing Solgaleo's Full Metal Body prevents stat loss!"); NONE_OF { - MESSAGE("Foe Solgaleo's Speed fell!"); + MESSAGE("The opposing Solgaleo's Speed fell!"); } } } @@ -133,11 +133,11 @@ SINGLE_BATTLE_TEST("Sticky Syrup speed reduction is prevented by Clear Amulet") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SYRUP_BOMB, player); HP_BAR(opponent); - MESSAGE("Foe Wobbuffet got covered in sticky syrup!"); - MESSAGE("Foe Wobbuffet's Clear Amulet prevents its stats from being lowered!"); + MESSAGE("The opposing Wobbuffet got covered in sticky candy syrup!"); + MESSAGE("The effects of the Clear Amulet held by the opposing Wobbuffet prevents its stats from being lowered!"); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SYRUP_BOMB_SPEED_DROP, opponent); - MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); } } } @@ -161,11 +161,11 @@ SINGLE_BATTLE_TEST("Sticky syrup will not decrease speed further then minus six" } ANIMATION(ANIM_TYPE_MOVE, MOVE_SYRUP_BOMB, player); HP_BAR(opponent); - MESSAGE("Foe Wobbuffet got covered in sticky syrup!"); + MESSAGE("The opposing Wobbuffet got covered in sticky candy syrup!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SYRUP_BOMB_SPEED_DROP, opponent); - MESSAGE("Foe Wobbuffet's Speed won't go lower!"); + MESSAGE("The opposing Wobbuffet's Speed won't go any lower!"); NONE_OF { - MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); } } } @@ -182,12 +182,12 @@ SINGLE_BATTLE_TEST("Sticky Syrup is removed when the user switches out") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SYRUP_BOMB, player); HP_BAR(opponent); - MESSAGE("Foe Wobbuffet got covered in sticky syrup!"); + MESSAGE("The opposing Wobbuffet got covered in sticky candy syrup!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SYRUP_BOMB_SPEED_DROP, opponent); - MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SYRUP_BOMB_SPEED_DROP, opponent); - MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); } } } @@ -206,14 +206,14 @@ SINGLE_BATTLE_TEST("Sticky Syrup is removed when the user faints") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SYRUP_BOMB, player); HP_BAR(opponent); - MESSAGE("Foe Wobbuffet got covered in sticky syrup!"); + MESSAGE("The opposing Wobbuffet got covered in sticky candy syrup!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); HP_BAR(player); MESSAGE("Wobbuffet fainted!"); SEND_IN_MESSAGE("Wynaut"); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SYRUP_BOMB_SPEED_DROP, opponent); - MESSAGE("Foe Wobbuffet's Speed fell!"); + MESSAGE("The opposing Wobbuffet's Speed fell!"); } } } diff --git a/test/battle/move_effect_secondary/throat_chop.c b/test/battle/move_effect_secondary/throat_chop.c index edc026aed436..e640948c9585 100644 --- a/test/battle/move_effect_secondary/throat_chop.c +++ b/test/battle/move_effect_secondary/throat_chop.c @@ -17,7 +17,7 @@ SINGLE_BATTLE_TEST("Throat Chop prevents the usage of sound moves") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_THROAT_CHOP, player); HP_BAR(opponent); - MESSAGE("Foe Wobbuffet can't use Hyper Voice due to Throat Chop!"); + MESSAGE("The effects of Throat Chop prevent the opposing Wobbuffet from using certain moves!"); NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_HYPER_VOICE, opponent); } @@ -38,7 +38,7 @@ SINGLE_BATTLE_TEST("Throat Chop won't work through a substitute") HP_BAR(opponent); ANIMATION(ANIM_TYPE_MOVE, MOVE_THROAT_CHOP, player); NONE_OF { - MESSAGE("Foe Wobbuffet can't use Hyper Voice due to Throat Chop!"); + MESSAGE("The effects of Throat Chop prevent the opposing Wobbuffet from using certain moves!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_HYPER_VOICE, opponent); } diff --git a/test/battle/move_effects_combined/axe_kick.c b/test/battle/move_effects_combined/axe_kick.c index d4be87b8ab02..94ab9377ad3d 100644 --- a/test/battle/move_effects_combined/axe_kick.c +++ b/test/battle/move_effects_combined/axe_kick.c @@ -17,7 +17,7 @@ SINGLE_BATTLE_TEST("Axe Kick confuses the target") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_AXE_KICK, player); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponent); - MESSAGE("Foe Wobbuffet became confused!"); + MESSAGE("The opposing Wobbuffet became confused!"); } } @@ -31,8 +31,8 @@ SINGLE_BATTLE_TEST("Axe Kick deals damage half the hp to user if def battler pro } SCENE { s32 maxHP = GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP); ANIMATION(ANIM_TYPE_MOVE, MOVE_PROTECT, opponent); - MESSAGE("Foe Wobbuffet protected itself!"); - MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); + MESSAGE("The opposing Wobbuffet protected itself!"); MESSAGE("Wobbuffet kept going and crashed!"); HP_BAR(player, hp: maxHP / 2); } diff --git a/test/battle/move_effects_combined/flinch_status.c b/test/battle/move_effects_combined/flinch_status.c index bad28eac4e7a..75c9461880da 100644 --- a/test/battle/move_effects_combined/flinch_status.c +++ b/test/battle/move_effects_combined/flinch_status.c @@ -58,7 +58,7 @@ SINGLE_BATTLE_TEST("Thunder, Ice and Fire Fang cause the opponent to flinch 10% } SCENE { ANIMATION(ANIM_TYPE_MOVE, move, player); HP_BAR(opponent); - MESSAGE("Foe Wobbuffet flinched!"); + MESSAGE("The opposing Wobbuffet flinched and couldn't move!"); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); } } diff --git a/test/battle/move_effects_combined/make_it_rain.c b/test/battle/move_effects_combined/make_it_rain.c index f8ce955b4909..5469eac8a5d4 100644 --- a/test/battle/move_effects_combined/make_it_rain.c +++ b/test/battle/move_effects_combined/make_it_rain.c @@ -21,13 +21,13 @@ SINGLE_BATTLE_TEST("Make It Rain lowers special attack by one stage") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_MAKE_IT_RAIN, player); HP_BAR(opponent, captureDamage: &damage[0]); - MESSAGE("Coins scattered everywhere!"); + MESSAGE("Coins were scattered everywhere!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Wobbuffet's Sp. Atk fell!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_MAKE_IT_RAIN, player); HP_BAR(opponent, captureDamage: &damage[1]); - MESSAGE("Coins scattered everywhere!"); + MESSAGE("Coins were scattered everywhere!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Wobbuffet's Sp. Atk fell!"); } THEN { @@ -48,12 +48,12 @@ DOUBLE_BATTLE_TEST("Make It Rain lowers special attack by one stage if it hits b ANIMATION(ANIM_TYPE_MOVE, MOVE_MAKE_IT_RAIN, playerLeft); HP_BAR(opponentLeft); NONE_OF { - MESSAGE("Coins scattered everywhere!"); + MESSAGE("Coins were scattered everywhere!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); MESSAGE("Wobbuffet's Sp. Atk fell!"); } HP_BAR(opponentRight); - MESSAGE("Coins scattered everywhere!"); + MESSAGE("Coins were scattered everywhere!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); MESSAGE("Wobbuffet's Sp. Atk fell!"); } diff --git a/test/battle/move_effects_combined/triple_arrows.c b/test/battle/move_effects_combined/triple_arrows.c index 383fce6cbf5d..ad7878fdc93e 100644 --- a/test/battle/move_effects_combined/triple_arrows.c +++ b/test/battle/move_effects_combined/triple_arrows.c @@ -22,7 +22,7 @@ SINGLE_BATTLE_TEST("Triple Arrows may lower Defense by one stage") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TRIPLE_ARROWS, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Defense fell!"); + MESSAGE("The opposing Wobbuffet's Defense fell!"); } } @@ -40,7 +40,7 @@ SINGLE_BATTLE_TEST("Triple Arrows makes the foe flinch 30% of the time") TURN { MOVE(player, MOVE_TRIPLE_ARROWS); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TRIPLE_ARROWS, player); - MESSAGE("Foe Wobbuffet flinched!"); + MESSAGE("The opposing Wobbuffet flinched and couldn't move!"); } } @@ -70,8 +70,8 @@ SINGLE_BATTLE_TEST("Triple Arrows can lower Defense and cause flinch at the time } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TRIPLE_ARROWS, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's Defense fell!"); - MESSAGE("Foe Wobbuffet flinched!"); + MESSAGE("The opposing Wobbuffet's Defense fell!"); + MESSAGE("The opposing Wobbuffet flinched and couldn't move!"); } } @@ -86,7 +86,7 @@ SINGLE_BATTLE_TEST("Triple Arrows's flinching is prevented by Inner Focus") } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TRIPLE_ARROWS, player); - NONE_OF { MESSAGE("Foe Wobbuffet flinched!"); } + NONE_OF { MESSAGE("The opposing Wobbuffet flinched and couldn't move!"); } ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); } } diff --git a/test/battle/move_flags/powder.c b/test/battle/move_flags/powder.c index 356ab69a980b..35a6e1012b28 100644 --- a/test/battle/move_flags/powder.c +++ b/test/battle/move_flags/powder.c @@ -12,6 +12,6 @@ SINGLE_BATTLE_TEST("Powder moves are blocked by Grass-type Pokémon") TURN { MOVE(player, MOVE_STUN_SPORE); } } SCENE { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, player); - MESSAGE("It doesn't affect Foe Oddish…"); + MESSAGE("It doesn't affect the opposing Oddish…"); } } diff --git a/test/battle/move_flags/strike_count.c b/test/battle/move_flags/strike_count.c index 8967836eff9e..ba71e35c263d 100644 --- a/test/battle/move_flags/strike_count.c +++ b/test/battle/move_flags/strike_count.c @@ -12,7 +12,7 @@ SINGLE_BATTLE_TEST("Two strike count turns a move into a 2-hit move") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_DOUBLE_KICK, player); ANIMATION(ANIM_TYPE_MOVE, MOVE_DOUBLE_KICK, player); - MESSAGE("Hit 2 time(s)!"); + MESSAGE("The Pokémon was hit 2 time(s)!"); } } diff --git a/test/battle/status1/burn.c b/test/battle/status1/burn.c index 4da40589fb54..63d6506fb626 100644 --- a/test/battle/status1/burn.c +++ b/test/battle/status1/burn.c @@ -1,11 +1,10 @@ #include "global.h" #include "test/battle.h" -SINGLE_BATTLE_TEST("Burn deals 1/16th damage per turn") +SINGLE_BATTLE_TEST("Burn deals 1/16th (Gen7+) or 1/8th damage per turn") { u32 j; GIVEN { - ASSUME(B_BURN_DAMAGE >= GEN_LATEST); PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_BURN); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { @@ -14,7 +13,7 @@ SINGLE_BATTLE_TEST("Burn deals 1/16th damage per turn") } SCENE { s32 maxHP = GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP); for (j = 0; j < 4; j++) - HP_BAR(player, damage: maxHP / 16); + HP_BAR(player, damage: maxHP / ((B_BURN_DAMAGE >= GEN_7) ? 16 : 8)); } } diff --git a/test/battle/status1/freeze.c b/test/battle/status1/freeze.c index c89bda337fe2..f218430909e1 100644 --- a/test/battle/status1/freeze.c +++ b/test/battle/status1/freeze.c @@ -23,8 +23,8 @@ SINGLE_BATTLE_TEST("Freeze is thawed by opponent's Fire-type attacks") } WHEN { TURN { MOVE(opponent, MOVE_EMBER); MOVE(player, MOVE_CELEBRATE); } } SCENE { - MESSAGE("Foe Wobbuffet used Ember!"); - MESSAGE("Wobbuffet was defrosted!"); + MESSAGE("The opposing Wobbuffet used Ember!"); + MESSAGE("Wobbuffet thawed out!"); STATUS_ICON(player, none: TRUE); } } @@ -38,7 +38,7 @@ SINGLE_BATTLE_TEST("Freeze is thawed by user's Flame Wheel") } WHEN { TURN { MOVE(player, MOVE_FLAME_WHEEL); } } SCENE { - MESSAGE("Wobbuffet was defrosted by Flame Wheel!"); + MESSAGE("Wobbuffet's Flame Wheel melted the ice!"); STATUS_ICON(player, none: TRUE); MESSAGE("Wobbuffet used Flame Wheel!"); } diff --git a/test/battle/status1/frostbite.c b/test/battle/status1/frostbite.c index bf4b1f7fcdd7..a7776e5e2e1a 100644 --- a/test/battle/status1/frostbite.c +++ b/test/battle/status1/frostbite.c @@ -23,7 +23,7 @@ SINGLE_BATTLE_TEST("Frostbite reduces the special attack by 50 percent") } THEN { EXPECT_EQ(reducedDamage * 2, normaleDamage); } } -SINGLE_BATTLE_TEST("Frostbite deals 1/16 damage to effected pokemon") +SINGLE_BATTLE_TEST("Frostbite deals 1/16th (Gen7+) or 1/8th damage to affected pokemon") { s16 frostbiteDamage; @@ -33,10 +33,10 @@ SINGLE_BATTLE_TEST("Frostbite deals 1/16 damage to effected pokemon") } WHEN { TURN {} } SCENE { - MESSAGE("Foe Wobbuffet is hurt by its frostbite!"); + MESSAGE("The opposing Wobbuffet was hurt by its frostbite!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_FRZ, opponent); HP_BAR(opponent, captureDamage: &frostbiteDamage); - } THEN { EXPECT_EQ(frostbiteDamage, opponent->maxHP / 16); } + } THEN { EXPECT_EQ(frostbiteDamage, opponent->maxHP / ((B_BURN_DAMAGE >= GEN_7) ? 16 : 8)); } } SINGLE_BATTLE_TEST("Frostbite is healed if hit with a thawing move") @@ -58,10 +58,10 @@ SINGLE_BATTLE_TEST("Frostbite is healed if hit with a thawing move") ANIMATION(ANIM_TYPE_MOVE, move, player); if (move == MOVE_EMBER) { NONE_OF { - MESSAGE("Foe Wobbuffet's frostbite was healed!"); + MESSAGE("The opposing Wobbuffet's frostbite was cured!"); } } else { - MESSAGE("Foe Wobbuffet's frostbite was healed!"); + MESSAGE("The opposing Wobbuffet's frostbite was cured!"); } } } @@ -85,11 +85,11 @@ SINGLE_BATTLE_TEST("Frostbite is healed when the user uses a thawing move") ANIMATION(ANIM_TYPE_MOVE, move, player); HP_BAR(opponent); if (move == MOVE_EMBER) { - MESSAGE("Wobbuffet is hurt by its frostbite!"); + MESSAGE("Wobbuffet was hurt by its frostbite!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_FRZ, player); } else { NONE_OF { - MESSAGE("Wobbuffet is hurt by its frostbite!"); + MESSAGE("Wobbuffet was hurt by its frostbite!"); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_FRZ, player); } } diff --git a/test/battle/status1/paralysis.c b/test/battle/status1/paralysis.c index 558ce4fc3752..85a784764ef3 100644 --- a/test/battle/status1/paralysis.c +++ b/test/battle/status1/paralysis.c @@ -17,14 +17,14 @@ SINGLE_BATTLE_TEST("Paralysis reduces Speed by 50%") if (playerFirst) { ONE_OF { MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Wobbuffet is paralyzed! It can't move!"); + MESSAGE("Wobbuffet is paralyzed, so it may be unable to move!"); } - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); } else { - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); ONE_OF { MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Wobbuffet is paralyzed! It can't move!"); + MESSAGE("Wobbuffet is paralyzed, so it may be unable to move!"); } } } @@ -39,7 +39,7 @@ SINGLE_BATTLE_TEST("Paralysis has a 25% chance of skipping the turn") } WHEN { TURN { MOVE(player, MOVE_CELEBRATE); } } SCENE { - MESSAGE("Wobbuffet is paralyzed! It can't move!"); + MESSAGE("Wobbuffet couldn't move because it's paralyzed!"); } } diff --git a/test/battle/status2/confusion.c b/test/battle/status2/confusion.c index 03a17bcfeb12..4115123b3c11 100644 --- a/test/battle/status2/confusion.c +++ b/test/battle/status2/confusion.c @@ -18,8 +18,8 @@ SINGLE_BATTLE_TEST("Confusion adds a 50/33% chance to hit self with 40 power") ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); HP_BAR(player, captureDamage: &damage[0]); ANIMATION(ANIM_TYPE_MOVE, MOVE_CONFUSE_RAY, player); - MESSAGE("Foe Wobbuffet became confused!"); - MESSAGE("Foe Wobbuffet is confused!"); + MESSAGE("The opposing Wobbuffet became confused!"); + MESSAGE("The opposing Wobbuffet is confused!"); MESSAGE("It hurt itself in its confusion!"); HP_BAR(opponent, captureDamage: &damage[1]); } THEN { diff --git a/test/battle/terrain/electric.c b/test/battle/terrain/electric.c index c39bfbbb71da..b3811d056c25 100644 --- a/test/battle/terrain/electric.c +++ b/test/battle/terrain/electric.c @@ -11,10 +11,10 @@ SINGLE_BATTLE_TEST("Electric Terrain protects grounded battlers from falling asl TURN { MOVE(player, MOVE_SPORE); } } SCENE { MESSAGE("Wobbuffet used Electric Terrain!"); - MESSAGE("Foe Claydol used Spore!"); + MESSAGE("The opposing Claydol used Spore!"); MESSAGE("Wobbuffet surrounds itself with electrified terrain!"); MESSAGE("Wobbuffet used Spore!"); - MESSAGE("Foe Claydol fell asleep!"); + MESSAGE("The opposing Claydol fell asleep!"); STATUS_ICON(opponent, sleep: TRUE); } } @@ -25,14 +25,14 @@ SINGLE_BATTLE_TEST("Electric Terrain activates Electric Seed and Mimicry") ASSUME(gItemsInfo[ITEM_ELECTRIC_SEED].holdEffect == HOLD_EFFECT_SEEDS); ASSUME(gItemsInfo[ITEM_ELECTRIC_SEED].holdEffectParam == HOLD_EFFECT_PARAM_ELECTRIC_TERRAIN); PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_ELECTRIC_SEED); } - OPPONENT(SPECIES_STUNFISK_GALARIAN) { Ability(ABILITY_MIMICRY); } + OPPONENT(SPECIES_STUNFISK_GALAR) { Ability(ABILITY_MIMICRY); } } WHEN { TURN { MOVE(player, MOVE_ELECTRIC_TERRAIN); } } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Using Electric Seed, the Defense of Wobbuffet rose!"); ABILITY_POPUP(opponent); - MESSAGE("Foe Stunfisk's type changed to Electric!"); + MESSAGE("The opposing Stunfisk's type changed to Electric!"); } THEN { EXPECT_EQ(gBattleMons[B_POSITION_OPPONENT_LEFT].types[0], TYPE_ELECTRIC); } @@ -73,18 +73,18 @@ SINGLE_BATTLE_TEST("Electric Terrain lasts for 5 turns") TURN {} TURN {} } SCENE { - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_ELECTRIC_TERRAIN, player); - MESSAGE("An electric current runs across the battlefield!"); + MESSAGE("An electric current ran across the battlefield!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("The electricity disappeared from the battlefield."); } diff --git a/test/battle/terrain/grassy.c b/test/battle/terrain/grassy.c index 5840f0310cdd..b247933dd2f1 100644 --- a/test/battle/terrain/grassy.c +++ b/test/battle/terrain/grassy.c @@ -5,13 +5,16 @@ SINGLE_BATTLE_TEST("Grassy Terrain recovers 1/16th HP at end of turn") { GIVEN { PLAYER(SPECIES_WOBBUFFET) { MaxHP(100); HP(1); } - OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET) { MaxHP(100); HP(1); }; } WHEN { TURN { MOVE(player, MOVE_GRASSY_TERRAIN); } } SCENE { - s32 maxHP = GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP); + s32 maxHPPlayer = GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP); + s32 maxHPOpponent = GetMonData(&OPPONENT_PARTY[0], MON_DATA_MAX_HP); MESSAGE("Wobbuffet is healed by the grassy terrain!"); - HP_BAR(player, damage: -maxHP / 16); + HP_BAR(player, damage: -maxHPPlayer / 16); + MESSAGE("The opposing Wobbuffet is healed by the grassy terrain!"); + HP_BAR(opponent, damage: -maxHPOpponent / 16); } } @@ -21,14 +24,14 @@ SINGLE_BATTLE_TEST("Grassy Terrain activates Grassy Seed and Mimicry") ASSUME(gItemsInfo[ITEM_GRASSY_SEED].holdEffect == HOLD_EFFECT_SEEDS); ASSUME(gItemsInfo[ITEM_GRASSY_SEED].holdEffectParam == HOLD_EFFECT_PARAM_GRASSY_TERRAIN); PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_GRASSY_SEED); } - OPPONENT(SPECIES_STUNFISK_GALARIAN) { Ability(ABILITY_MIMICRY); } + OPPONENT(SPECIES_STUNFISK_GALAR) { Ability(ABILITY_MIMICRY); } } WHEN { TURN { MOVE(player, MOVE_GRASSY_TERRAIN); } } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Using Grassy Seed, the Defense of Wobbuffet rose!"); ABILITY_POPUP(opponent); - MESSAGE("Foe Stunfisk's type changed to Grass!"); + MESSAGE("The opposing Stunfisk's type changed to Grass!"); } THEN { EXPECT_EQ(gBattleMons[B_POSITION_OPPONENT_LEFT].types[0], TYPE_GRASS); } @@ -69,18 +72,18 @@ SINGLE_BATTLE_TEST("Grassy Terrain lasts for 5 turns") TURN {} TURN {} } SCENE { - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASSY_TERRAIN, player); MESSAGE("Grass grew to cover the battlefield!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("The grass disappeared from the battlefield."); } @@ -98,14 +101,14 @@ SINGLE_BATTLE_TEST("Grassy Terrain heals the pokemon on the field for the durati TURN {} TURN {} } SCENE { - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASSY_TERRAIN, player); MESSAGE("Grass grew to cover the battlefield!"); - MESSAGE("Foe Wobbuffet is healed by the grassy terrain!"); - MESSAGE("Foe Wobbuffet is healed by the grassy terrain!"); - MESSAGE("Foe Wobbuffet is healed by the grassy terrain!"); - MESSAGE("Foe Wobbuffet is healed by the grassy terrain!"); - MESSAGE("Foe Wobbuffet is healed by the grassy terrain!"); + MESSAGE("The opposing Wobbuffet is healed by the grassy terrain!"); + MESSAGE("The opposing Wobbuffet is healed by the grassy terrain!"); + MESSAGE("The opposing Wobbuffet is healed by the grassy terrain!"); + MESSAGE("The opposing Wobbuffet is healed by the grassy terrain!"); + MESSAGE("The opposing Wobbuffet is healed by the grassy terrain!"); MESSAGE("The grass disappeared from the battlefield."); } } diff --git a/test/battle/terrain/misty.c b/test/battle/terrain/misty.c index fbf04fcba968..e43cf4a2538b 100644 --- a/test/battle/terrain/misty.c +++ b/test/battle/terrain/misty.c @@ -11,7 +11,7 @@ SINGLE_BATTLE_TEST("Misty Terrain protects grounded battlers from non-volatile s TURN { MOVE(player, MOVE_TOXIC); } } SCENE { MESSAGE("Wobbuffet used Misty Terrain!"); - MESSAGE("Foe Claydol used Toxic!"); + MESSAGE("The opposing Claydol used Toxic!"); MESSAGE("Wobbuffet surrounds itself with a protective mist!"); NOT { STATUS_ICON(opponent, badPoison: TRUE); } MESSAGE("Wobbuffet used Toxic!"); @@ -25,14 +25,14 @@ SINGLE_BATTLE_TEST("Misty Terrain activates Misty Seed and Mimicry") ASSUME(gItemsInfo[ITEM_MISTY_SEED].holdEffect == HOLD_EFFECT_SEEDS); ASSUME(gItemsInfo[ITEM_MISTY_SEED].holdEffectParam == HOLD_EFFECT_PARAM_MISTY_TERRAIN); PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_MISTY_SEED); } - OPPONENT(SPECIES_STUNFISK_GALARIAN) { Ability(ABILITY_MIMICRY); } + OPPONENT(SPECIES_STUNFISK_GALAR) { Ability(ABILITY_MIMICRY); } } WHEN { TURN { MOVE(player, MOVE_MISTY_TERRAIN); } } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Using Misty Seed, the Sp. Def of Wobbuffet rose!"); ABILITY_POPUP(opponent); - MESSAGE("Foe Stunfisk's type changed to Fairy!"); + MESSAGE("The opposing Stunfisk's type changed to Fairy!"); } THEN { EXPECT_EQ(gBattleMons[B_POSITION_OPPONENT_LEFT].types[0], TYPE_FAIRY); } @@ -90,18 +90,18 @@ SINGLE_BATTLE_TEST("Misty Terrain lasts for 5 turns") TURN {} TURN {} } SCENE { - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_MISTY_TERRAIN, player); - MESSAGE("Mist swirled about the battlefield!"); + MESSAGE("Mist swirled around the battlefield!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("The mist disappeared from the battlefield."); } diff --git a/test/battle/terrain/psychic.c b/test/battle/terrain/psychic.c index 44a89598d22c..9ac88f29dad8 100644 --- a/test/battle/terrain/psychic.c +++ b/test/battle/terrain/psychic.c @@ -13,7 +13,7 @@ SINGLE_BATTLE_TEST("Psychic Terrain protects grounded battlers from priority mov MESSAGE("Claydol used Psychic Terrain!"); MESSAGE("Claydol cannot use Quick Attack!"); NOT { HP_BAR(opponent); } - MESSAGE("Foe Wobbuffet used Quick Attack!"); + MESSAGE("The opposing Wobbuffet used Quick Attack!"); HP_BAR(player); } } @@ -24,14 +24,14 @@ SINGLE_BATTLE_TEST("Psychic Terrain activates Psychic Seed and Mimicry") ASSUME(gItemsInfo[ITEM_PSYCHIC_SEED].holdEffect == HOLD_EFFECT_SEEDS); ASSUME(gItemsInfo[ITEM_PSYCHIC_SEED].holdEffectParam == HOLD_EFFECT_PARAM_PSYCHIC_TERRAIN); PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_PSYCHIC_SEED); } - OPPONENT(SPECIES_STUNFISK_GALARIAN) { Ability(ABILITY_MIMICRY); } + OPPONENT(SPECIES_STUNFISK_GALAR) { Ability(ABILITY_MIMICRY); } } WHEN { TURN { MOVE(player, MOVE_PSYCHIC_TERRAIN); } } SCENE { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Using Psychic Seed, the Sp. Def of Wobbuffet rose!"); ABILITY_POPUP(opponent); - MESSAGE("Foe Stunfisk's type changed to Psychic!"); + MESSAGE("The opposing Stunfisk's type changed to Psychic!"); } THEN { EXPECT_EQ(gBattleMons[B_POSITION_OPPONENT_LEFT].types[0], TYPE_PSYCHIC); } @@ -145,19 +145,19 @@ SINGLE_BATTLE_TEST("Psychic Terrain lasts for 5 turns") TURN {} TURN {} } SCENE { - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_PSYCHIC_TERRAIN, player); MESSAGE("The battlefield got weird!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Wobbuffet used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); - MESSAGE("The weirdness disappeared from the battlefield."); + MESSAGE("The weirdness disappeared from the battlefield!"); } } diff --git a/test/battle/terrain/starting_terrain.c b/test/battle/terrain/starting_terrain.c index f6c441256304..ab31bbbb9634 100644 --- a/test/battle/terrain/starting_terrain.c +++ b/test/battle/terrain/starting_terrain.c @@ -37,16 +37,16 @@ SINGLE_BATTLE_TEST("B_VAR_STARTING_STATUS starts a chosen terrain at the beginni MESSAGE("The battlefield got weird!"); break; case STARTING_STATUS_MISTY_TERRAIN: - MESSAGE("Mist swirled about the battlefield!"); + MESSAGE("Mist swirled around the battlefield!"); break; case STARTING_STATUS_ELECTRIC_TERRAIN: - MESSAGE("An electric current runs across the battlefield!"); + MESSAGE("An electric current is running across the battlefield!"); break; } ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_RESTORE_BG); NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_RESTORE_BG); - MESSAGE("The weirdness disappeared from the battlefield."); + MESSAGE("The weirdness disappeared from the battlefield!"); MESSAGE("The electricity disappeared from the battlefield."); MESSAGE("The mist disappeared from the battlefield."); MESSAGE("The grass disappeared from the battlefield."); @@ -80,7 +80,7 @@ SINGLE_BATTLE_TEST("Terrain started after the one which started the battle lasts TURN { ; } } SCENE { // Electric Terrain at battle's start - MESSAGE("An electric current runs across the battlefield!"); + MESSAGE("An electric current is running across the battlefield!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_RESTORE_BG); // Player uses Grassy Terrain if (viaMove) { @@ -95,13 +95,13 @@ SINGLE_BATTLE_TEST("Terrain started after the one which started the battle lasts // 5 turns MESSAGE("Tapu Bulu used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Tapu Bulu used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("Tapu Bulu used Celebrate!"); - MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("The opposing Wobbuffet used Celebrate!"); MESSAGE("The grass disappeared from the battlefield."); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_RESTORE_BG); diff --git a/test/battle/trainer_control.c b/test/battle/trainer_control.c index e31d281efe4c..5344a2659637 100644 --- a/test/battle/trainer_control.c +++ b/test/battle/trainer_control.c @@ -24,8 +24,8 @@ TEST("CreateNPCTrainerPartyForTrainer generates customized Pokémon") EXPECT(IsMonShiny(&testParty[0])); EXPECT(!IsMonShiny(&testParty[1])); - EXPECT(GetMonData(&testParty[0], MON_DATA_POKEBALL, 0) == ITEM_MASTER_BALL); - EXPECT(GetMonData(&testParty[1], MON_DATA_POKEBALL, 0) == ITEM_POKE_BALL); + EXPECT(GetMonData(&testParty[0], MON_DATA_POKEBALL, 0) == BALL_MASTER); + EXPECT(GetMonData(&testParty[1], MON_DATA_POKEBALL, 0) == BALL_POKE); EXPECT(GetMonData(&testParty[0], MON_DATA_SPECIES, 0) == SPECIES_WOBBUFFET); EXPECT(GetMonData(&testParty[1], MON_DATA_SPECIES, 0) == SPECIES_WOBBUFFET); diff --git a/test/battle/weather/hail.c b/test/battle/weather/hail.c index f5ccf3cc99be..6c7f7bcdecf2 100644 --- a/test/battle/weather/hail.c +++ b/test/battle/weather/hail.c @@ -12,7 +12,7 @@ SINGLE_BATTLE_TEST("Hail deals 1/16 damage per turn") } WHEN { TURN {MOVE(player, MOVE_HAIL);} } SCENE { - MESSAGE("Foe Wobbuffet is pelted by HAIL!"); + MESSAGE("The opposing Wobbuffet is buffeted by the hail!"); HP_BAR(opponent, captureDamage: &hailDamage); } THEN { EXPECT_EQ(hailDamage, opponent->maxHP / 16); } } @@ -26,7 +26,7 @@ SINGLE_BATTLE_TEST("Hail damage does not affect Ice-type Pokémon") } WHEN { TURN {MOVE(player, MOVE_HAIL);} } SCENE { - NOT MESSAGE("Foe Glalie is pelted by HAIL!"); + NOT MESSAGE("The opposing Glalie is buffeted by the hail!"); } } diff --git a/test/battle/weather/sandstorm.c b/test/battle/weather/sandstorm.c index 6059d2c22422..38502cbbc79c 100644 --- a/test/battle/weather/sandstorm.c +++ b/test/battle/weather/sandstorm.c @@ -12,7 +12,7 @@ SINGLE_BATTLE_TEST("Sandstorm deals 1/16 damage per turn") } WHEN { TURN {MOVE(player, MOVE_SANDSTORM);} } SCENE { - MESSAGE("Foe Wobbuffet is buffeted by the sandstorm!"); + MESSAGE("The opposing Wobbuffet is buffeted by the sandstorm!"); HP_BAR(opponent, captureDamage: &sandstormDamage); } THEN { EXPECT_EQ(sandstormDamage, opponent->maxHP / 16); } } @@ -54,13 +54,13 @@ SINGLE_BATTLE_TEST("Sandstorm damage does not hurt Ground, Rock, and Steel-type switch (mon) { case SPECIES_SANDSLASH: - NOT MESSAGE("Foe Sandslash is buffeted by the sandstorm!"); + NOT MESSAGE("The opposing Sandslash is buffeted by the sandstorm!"); break; case SPECIES_NOSEPASS: - NOT MESSAGE("Foe Nosepass is buffeted by the sandstorm!"); + NOT MESSAGE("The opposing Nosepass is buffeted by the sandstorm!"); break; case SPECIES_REGISTEEL: - NOT MESSAGE("Foe Registeel is buffeted by the sandstorm!"); + NOT MESSAGE("The opposing Registeel is buffeted by the sandstorm!"); break; } } diff --git a/test/pokemon.c b/test/pokemon.c index 8419b9c7e16f..f5431559ee55 100644 --- a/test/pokemon.c +++ b/test/pokemon.c @@ -237,7 +237,7 @@ TEST("givemon [all]") EXPECT_EQ(GetMonData(&gPlayerParty[0], MON_DATA_SPECIES), SPECIES_WOBBUFFET); EXPECT_EQ(GetMonData(&gPlayerParty[0], MON_DATA_LEVEL), 100); EXPECT_EQ(GetMonData(&gPlayerParty[0], MON_DATA_HELD_ITEM), ITEM_LEFTOVERS); - EXPECT_EQ(GetMonData(&gPlayerParty[0], MON_DATA_POKEBALL), ITEM_MASTER_BALL); + EXPECT_EQ(GetMonData(&gPlayerParty[0], MON_DATA_POKEBALL), BALL_MASTER); EXPECT_EQ(GetNature(&gPlayerParty[0]), NATURE_BOLD); EXPECT_EQ(GetMonAbility(&gPlayerParty[0]), gSpeciesInfo[SPECIES_WOBBUFFET].abilities[2]); EXPECT_EQ(GetMonGender(&gPlayerParty[0]), MON_MALE); @@ -300,7 +300,7 @@ TEST("givemon [vars]") EXPECT_EQ(GetMonData(&gPlayerParty[0], MON_DATA_SPECIES), SPECIES_WOBBUFFET); EXPECT_EQ(GetMonData(&gPlayerParty[0], MON_DATA_LEVEL), 100); EXPECT_EQ(GetMonData(&gPlayerParty[0], MON_DATA_HELD_ITEM), ITEM_LEFTOVERS); - EXPECT_EQ(GetMonData(&gPlayerParty[0], MON_DATA_POKEBALL), ITEM_MASTER_BALL); + EXPECT_EQ(GetMonData(&gPlayerParty[0], MON_DATA_POKEBALL), BALL_MASTER); EXPECT_EQ(GetNature(&gPlayerParty[0]), NATURE_BOLD); EXPECT_EQ(GetMonAbility(&gPlayerParty[0]), gSpeciesInfo[SPECIES_WOBBUFFET].abilities[2]); EXPECT_EQ(GetMonGender(&gPlayerParty[0]), MON_MALE); diff --git a/test/random.c b/test/random.c index 0232ff154731..238a76467e04 100644 --- a/test/random.c +++ b/test/random.c @@ -196,13 +196,8 @@ TEST("RandomElement generates a uniform distribution") TEST("RandomUniform mul-based faster than mod-based (compile-time)") { - #if HQ_RANDOM == TRUE - const u32 expectedMulSum = 6; - const u32 expectedModSum = 4; - #else - const u32 expectedMulSum = 3; - const u32 expectedModSum = 4; - #endif + const u32 expectedMulSum = 6; + const u32 expectedModSum = 4; struct Benchmark mulBenchmark, modBenchmark; u32 mulSum = 0, modSum = 0; @@ -234,13 +229,8 @@ TEST("RandomUniform mul-based faster than mod-based (compile-time)") TEST("RandomUniform mul-based faster than mod-based (run-time)") { - #if HQ_RANDOM == TRUE - const u32 expectedMulSum = 289; - const u32 expectedModSum = 205; - #else - const u32 expectedMulSum = 232; - const u32 expectedModSum = 249; - #endif + const u32 expectedMulSum = 289; + const u32 expectedModSum = 205; u32 i; struct Benchmark mulBenchmark, modBenchmark; u32 mulSum = 0, modSum = 0; @@ -264,7 +254,6 @@ TEST("RandomUniform mul-based faster than mod-based (run-time)") EXPECT_EQ(modSum, expectedModSum); } -#if HQ_RANDOM == TRUE TEST("Thumb and C SFC32 implementations produce the same results") { u32 thumbSum; @@ -285,5 +274,4 @@ TEST("Thumb and C SFC32 implementations produce the same results") } EXPECT_EQ(thumbSum, cSum); -} -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/test/test_runner_battle.c b/test/test_runner_battle.c index c08930b3effc..b073ac226a87 100644 --- a/test/test_runner_battle.c +++ b/test/test_runner_battle.c @@ -35,20 +35,12 @@ #define STATE gBattleTestRunnerState #define DATA gBattleTestRunnerState->data -#if HQ_RANDOM == TRUE #define RNG_SEED_DEFAULT {0, 0, 0, 0} static inline bool32 RngSeedNotDefault(const rng_value_t *seed) { return (seed->a | seed->b | seed->c | seed->ctr) != 0; } -#else -#define RNG_SEED_DEFAULT 0x00000000 -static inline bool32 RngSeedNotDefault(const rng_value_t *seed) -{ - return *seed != RNG_SEED_DEFAULT; -} -#endif #undef Q_4_12 #define Q_4_12(n) (s32)((n) * 4096) @@ -775,7 +767,7 @@ static u32 CountAiExpectMoves(struct ExpectedAIAction *expectedAction, u32 battl u32 i, countExpected = 0; for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBitTable[i] & expectedAction->moveSlots) + if ((1u << i) & expectedAction->moveSlots) { if (printLog) PrintAiMoveLog(battlerId, i, gBattleMons[battlerId].moves[i], gBattleStruct->aiFinalScore[battlerId][expectedAction->target][i]); @@ -794,6 +786,8 @@ void TestRunner_Battle_CheckChosenMove(u32 battlerId, u32 moveId, u32 target) if (!expectedAction->actionSet) return; + DATA.trial.lastActionTurn = gBattleResults.battleTurnCounter; + if (!expectedAction->pass) { u32 i, expectedMoveId = 0, countExpected; @@ -807,7 +801,7 @@ void TestRunner_Battle_CheckChosenMove(u32 battlerId, u32 moveId, u32 target) for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBitTable[i] & expectedAction->moveSlots) + if ((1u << i) & expectedAction->moveSlots) { expectedMoveId = gBattleMons[battlerId].moves[i]; if (!expectedAction->notMove) @@ -863,6 +857,8 @@ void TestRunner_Battle_CheckSwitch(u32 battlerId, u32 partyIndex) if (!expectedAction->actionSet) return; + DATA.trial.lastActionTurn = gBattleResults.battleTurnCounter; + if (!expectedAction->pass) { if (expectedAction->type != B_ACTION_SWITCH) @@ -923,8 +919,8 @@ static void CheckIfMaxScoreEqualExpectMove(u32 battlerId, s32 target, struct Exp // We expect move 'i', but it has the same best score as another move that we didn't expect. if (scores[i] == scores[bestScoreId] && !aiAction->notMove - && (aiAction->moveSlots & gBitTable[i]) - && !(aiAction->moveSlots & gBitTable[bestScoreId])) + && (aiAction->moveSlots & (1u << i)) + && !(aiAction->moveSlots & (1u << bestScoreId))) { Test_ExitWithResult(TEST_RESULT_FAIL, SourceLine(0), ":L%s:%d: EXPECT_MOVE %S has the same best score(%d) as not expected MOVE %S", filename, aiAction->sourceLine, GetMoveName(moves[i]), scores[i], GetMoveName(moves[bestScoreId])); @@ -932,8 +928,8 @@ static void CheckIfMaxScoreEqualExpectMove(u32 battlerId, s32 target, struct Exp // We DO NOT expect move 'i', but it has the same best score as another move. if (scores[i] == scores[bestScoreId] && aiAction->notMove - && (aiAction->moveSlots & gBitTable[i]) - && !(aiAction->moveSlots & gBitTable[bestScoreId])) + && (aiAction->moveSlots & (1u << i)) + && !(aiAction->moveSlots & (1u << bestScoreId))) { Test_ExitWithResult(TEST_RESULT_FAIL, SourceLine(0), ":L%s:%d: NOT_EXPECT_MOVE %S has the same best score(%d) as MOVE %S", filename, aiAction->sourceLine, GetMoveName(moves[i]), scores[i], GetMoveName(moves[bestScoreId])); @@ -946,9 +942,9 @@ static void PrintAiMoveLog(u32 battlerId, u32 moveSlot, u32 moveId, s32 totalSco s32 i, scoreFromLogs = 0; if (!DATA.logAI) return; - if (DATA.aiLogPrintedForMove[battlerId] & gBitTable[moveSlot]) return; + if (DATA.aiLogPrintedForMove[battlerId] & (1u << moveSlot)) return; - DATA.aiLogPrintedForMove[battlerId] |= gBitTable[moveSlot]; + DATA.aiLogPrintedForMove[battlerId] |= 1u << moveSlot; Test_MgbaPrintf("Score Log for move %S:\n", GetMoveName(moveId)); for (i = 0; i < MAX_AI_LOG_LINES; i++) { @@ -1364,17 +1360,13 @@ static void CB2_BattleTest_NextParameter(void) static inline rng_value_t MakeRngValue(const u16 seed) { - #if HQ_RANDOM == TRUE - int i; - rng_value_t result = {0, 0, seed, 1}; - for (i = 0; i < 16; i++) - { + int i; + rng_value_t result = {0, 0, seed, 1}; + for (i = 0; i < 16; i++) + { _SFC32_Next(&result); - } - return result; - #else - return ISO_RANDOMIZE1(seed); - #endif + } + return result; } static void CB2_BattleTest_NextTrial(void) @@ -2252,7 +2244,7 @@ static void TryMarkExpectMove(u32 sourceLine, struct BattlePokemon *battler, str id = DATA.expectedAiActionIndex[battlerId]; DATA.expectedAiActions[battlerId][id].type = B_ACTION_USE_MOVE; - DATA.expectedAiActions[battlerId][id].moveSlots |= gBitTable[moveSlot]; + DATA.expectedAiActions[battlerId][id].moveSlots |= 1 << moveSlot; DATA.expectedAiActions[battlerId][id].target = target; DATA.expectedAiActions[battlerId][id].explicitTarget = ctx->explicitTarget; DATA.expectedAiActions[battlerId][id].sourceLine = sourceLine; diff --git a/test/text.c b/test/text.c index 77137841984c..17d9ab0ee969 100644 --- a/test/text.c +++ b/test/text.c @@ -1,11 +1,20 @@ #include "global.h" #include "test/test.h" +#include "battle.h" #include "battle_main.h" +#include "battle_message.h" +#include "battle_setup.h" #include "item.h" +#include "malloc.h" +#include "main_menu.h" +#include "string_util.h" #include "text.h" #include "constants/abilities.h" +#include "constants/battle.h" +#include "constants/battle_string_ids.h" #include "constants/items.h" #include "constants/moves.h" +#include "test/overworld_script.h" TEST("Move names fit on Pokemon Summary Screen") { @@ -16,6 +25,7 @@ TEST("Move names fit on Pokemon Summary Screen") { PARAMETRIZE_LABEL("%S", gMovesInfo[i].name) { move = i; } } + //DebugPrintf("Move %d: %S", GetStringWidth(fontId, gMovesInfo[move].name, 0), gMovesInfo[move].name); EXPECT_LE(GetStringWidth(fontId, gMovesInfo[move].name, 0), widthPx); } @@ -101,6 +111,7 @@ TEST("Item names fit on Bag Screen (list)") { PARAMETRIZE_LABEL("%S", gItemsInfo[i].name) { item = i; } } + //DebugPrintf("Item %d: %S", GetStringWidth(fontId, gItemsInfo[item].name, 0), gItemsInfo[item].name); if (gItemsInfo[item].pocket == POCKET_TM_HM || gItemsInfo[item].pocket == POCKET_BERRIES) EXPECT_LE(GetStringWidth(fontId, gItemsInfo[item].name, 0), tmHmBerryWidthPx); else @@ -618,3 +629,273 @@ TEST("Type names fit on Pokedex Search Screen") } EXPECT_LE(GetStringWidth(fontId, gTypesInfo[type].name, 0), widthPx); } + +extern u16 sBattlerAbilities[MAX_BATTLERS_COUNT]; +//* +#define BATTLE_STRING_BUFFER_SIZE 1000 +TEST("Battle strings fit on the battle message window") +{ + u32 i, j, strWidth; + u32 start = BATTLESTRINGS_TABLE_START; + u32 end = BATTLESTRINGS_COUNT - 1; + const u32 fontId = FONT_NORMAL; + u32 battleStringId = 0; + u8 *battleString = Alloc(BATTLE_STRING_BUFFER_SIZE); + + s32 sixDigitNines = 999999; // 36 pixels. + u8 nickname[POKEMON_NAME_LENGTH + 1] = _("MMMMMMMMMMMM"); // 72 pixels. + u32 longMoveID = MOVE_NATURES_MADNESS; // 89 pixels. + u32 longAbilityID = ABILITY_SUPERSWEET_SYRUP; // 91 pixels. + u32 longStatName = STAT_EVASION; // 40 pixels. + u32 longTypeName = TYPE_ELECTRIC; // 43 pixels. + u32 longSpeciesName = SPECIES_SANDY_SHOCKS; // 47 pixels. + u32 longItemName = ITEM_UNREMARKABLE_TEACUP; // 73 pixels. + u8 boxName[9] = _("MMMMMMMM"); // 54 pixels. + + // Set longest default player name, JOHNNY + NewGameBirchSpeech_SetDefaultPlayerName(10); // JOHNNY + + RUN_OVERWORLD_SCRIPT( + givemon SPECIES_WOBBUFFET, 100; + createmon 1, 0, SPECIES_WOBBUFFET, 100; + ); + SetMonData(&gPlayerParty[0], MON_DATA_NICKNAME, nickname); + SetMonData(&gEnemyParty[0], MON_DATA_NICKNAME, nickname); + + for (i = start; i <= end; i++) + { + PARAMETRIZE_LABEL("%S", gBattleStringsTable[i]) { battleStringId = i; } + } + + // Clear buffers + PREPARE_STRING_BUFFER(gBattleTextBuff1, STRINGID_EMPTYSTRING3); + PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_EMPTYSTRING3); + PREPARE_STRING_BUFFER(gBattleTextBuff3, STRINGID_EMPTYSTRING3); + *gStringVar1 = EOS; + *gStringVar2 = EOS; + *gStringVar3 = EOS; + + // Set positions + gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + + // Set abilities + gLastUsedAbility = longAbilityID; + for (j = 0; j < MAX_BATTLERS_COUNT; j++) + sBattlerAbilities[j] = longAbilityID; + + // Set Trainers + gTrainerBattleOpponent_A = 1; + gTrainerBattleOpponent_B = 1; + + // Set battler to 1, so "The opposing " is prefixed when refering to battlers. + gBattleTypeFlags |= BATTLE_TYPE_TRAINER; + gBattlerAttacker = gBattlerTarget = gBattleScripting.battler = gEffectBattler = 1; + + // Set moves + gCurrentMove = longMoveID; + gBattleMsgDataPtr = AllocZeroed(sizeof(struct BattleMsgData)); + gBattleMsgDataPtr->currentMove = longMoveID; + + // Set Items + gLastUsedItem = longItemName; + + // Buffer specific strings for each Battle String. + // In cases where a buffer is used with multiple contexts, the widest string is used. + // Eg. STRINGID_CANACTFASTERTHANKSTO is used for both with abilities and items, + // so ability is chosen because it's longer. + switch (battleStringId) + { + // Testing Trainer messages is out of the current scope for this test. + case STRINGID_TRAINER1LOSETEXT: + case STRINGID_TRAINER2LOSETEXT: + case STRINGID_TRAINER1WINTEXT: + case STRINGID_TRAINER2WINTEXT: + break; + // Buffer Nickname with prefix to B_BUFF1, " a boosted" to B_BUFF2, "999999" to B_BUFF3 + case STRINGID_PKMNGAINEDEXP: + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, 0, 0); + PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_ABOOSTED); // 'gained a boosted' + PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 6, sixDigitNines); + break; + // Buffer Nickname with prefix to B_BUFF1, "100" to B_BUFF2 + case STRINGID_PKMNGREWTOLV: + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, 0, 0); + PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, 100); + break; + // Buffer Nickname with prefix to B_BUFF1, move name to B_BUFF2 + case STRINGID_PKMNLEARNEDMOVE: + case STRINGID_TRYTOLEARNMOVE1: + case STRINGID_TRYTOLEARNMOVE2: + case STRINGID_TRYTOLEARNMOVE3: + case STRINGID_PKMNFORGOTMOVE: + case STRINGID_STOPLEARNINGMOVE: + case STRINGID_DIDNOTLEARNMOVE: + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, 0, 0); + PREPARE_MOVE_BUFFER(gBattleTextBuff2, longMoveID); + break; + // Buffer Move name to B_BUFF1 + case STRINGID_PKMNLEARNEDMOVE2: + case STRINGID_TEAMSTOPPEDWORKING: // Unused + case STRINGID_FOESTOPPEDWORKING: // Unused + case STRINGID_PKMNHURTBY: + case STRINGID_PKMNFREEDFROM: + case STRINGID_PKMNMOVEWASDISABLED: + case STRINGID_PKMNSKETCHEDMOVE: + case STRINGID_PKMNGOTFREE: + case STRINGID_PKMNLOSTPPGRUDGE: + case STRINGID_PKMNSITEMRESTOREDPP: + case STRINGID_PKMNSXWOREOFF: + case STRINGID_BUFFERENDS: + case STRINGID_FOREWARNACTIVATES: + case STRINGID_CUSEDBODYDISABLED: + case STRINGID_CURRENTMOVECANTSELECT: + case STRINGID_TARGETISHURTBYSALTCURE: + PREPARE_MOVE_BUFFER(gBattleTextBuff1, longMoveID); + break; + // Buffer "999999" to B_BUFF1 + case STRINGID_PLAYERGOTMONEY: + case STRINGID_PLAYERWHITEOUT2: + case STRINGID_PLAYERPICKEDUPMONEY: + case STRINGID_PLAYERPAIDPRIZEMONEY: + PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff1, 6, sixDigitNines); + break; + // Buffer "99" to B_BUFF1 + case STRINGID_HITXTIMES: + case STRINGID_MAGNITUDESTRENGTH: + PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff1, 2, 99); + break; + // Buffer "9" to B_BUFF1 + case STRINGID_PKMNSTOCKPILED: + case STRINGID_PKMNPERISHCOUNTFELL: + PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff1, 1, 9); + break; + // Buffer Ability name to B_BUFF1 + case STRINGID_PKMNMADESLEEP: + case STRINGID_PKMNPOISONEDBY: + case STRINGID_PKMNBURNEDBY: + case STRINGID_PKMNFROZENBY: + case STRINGID_PKMNWASPARALYZEDBY: + case STRINGID_CANACTFASTERTHANKSTO: + PREPARE_ABILITY_BUFFER(gBattleTextBuff1, longAbilityID); + break; + // Buffer Stat name to B_BUFF1 + case STRINGID_STATSWONTINCREASE: + case STRINGID_STATSWONTDECREASE: + case STRINGID_PKMNSXPREVENTSYLOSS: + case STRINGID_TARGETABILITYSTATRAISE: + case STRINGID_TARGETSSTATWASMAXEDOUT: + case STRINGID_ATTACKERABILITYSTATRAISE: + case STRINGID_LASTABILITYRAISEDSTAT: + case STRINGID_TARGETABILITYSTATLOWER: + case STRINGID_SCRIPTINGABILITYSTATRAISE: + case STRINGID_BATTLERABILITYRAISEDSTAT: + case STRINGID_ABILITYRAISEDSTATDRASTICALLY: + case STRINGID_STATWASHEIGHTENED: + StringCopy(gBattleTextBuff1, gStatNamesTable[longStatName]); + break; + // Buffer Type name to B_BUFF1 + case STRINGID_PKMNCHANGEDTYPE: + case STRINGID_PKMNCHANGEDTYPEWITH: + case STRINGID_TARGETCHANGEDTYPE: + case STRINGID_PROTEANTYPECHANGE: + case STRINGID_THIRDTYPEADDED: + case STRINGID_ATTACKERLOSTITSTYPE: + case STRINGID_PKMNTERASTALLIZEDINTO: + PREPARE_TYPE_BUFFER(gBattleTextBuff1, longTypeName); + break; + // Buffer Species name to B_BUFF1 + case STRINGID_PKMNTRANSFORMEDINTO: + case STRINGID_WILDPKMNFLED: + case STRINGID_MEGAEVOEVOLVED: + case STRINGID_PKMNREVIVEDREADYTOFIGHT: + case STRINGID_ITEMRESTOREDSPECIESHEALTH: // Should probably use nickname instead? + case STRINGID_ITEMCUREDSPECIESSTATUS: // Should probably use nickname instead? + case STRINGID_ITEMRESTOREDSPECIESPP: // Should probably use nickname instead? + PREPARE_SPECIES_BUFFER(gBattleTextBuff1, longSpeciesName) + break; + // Buffer nickname with prefix to B_BUFF1 + case STRINGID_PKMNATTACK: + case STRINGID_PKMNWISHCAMETRUE: + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, 1, 0); + break; + // Buffer nickname with prefix in lower case to B_BUFF1 + case STRINGID_USEDINSTRUCTEDMOVE: + PREPARE_MON_NICK_WITH_PREFIX_LOWER_BUFFER(gBattleTextBuff1, 1, 0); + break; + // Buffer nickname to B_BUFF2 + case STRINGID_ENEMYABOUTTOSWITCHPKMN: + PREPARE_MON_NICK_BUFFER(gBattleTextBuff2, 1, 0); + break; + // Buffer Item name to B_BUFF1 + case STRINGID_PKMNHURTSWITH: + case STRINGID_PKMNCURIOUSABOUTX: + case STRINGID_PKMNENTHRALLEDBYX: + case STRINGID_PKMNIGNOREDX: + case STRINGID_PREVENTEDFROMWORKING: + case STRINGID_PKMNOBTAINEDX: + case STRINGID_ABOUTTOUSEPOLTERGEIST: + PREPARE_ITEM_BUFFER(gBattleTextBuff1, longItemName); + break; + // Buffer Item name to B_BUFF2 + case STRINGID_PKMNOBTAINEDX2: + PREPARE_ITEM_BUFFER(gBattleTextBuff2, longItemName); + break; + // Buffer Item name to B_BUFF1 and B_BUFF2 + case STRINGID_PKMNOBTAINEDXYOBTAINEDZ: + PREPARE_ITEM_BUFFER(gBattleTextBuff1, longItemName); + PREPARE_ITEM_BUFFER(gBattleTextBuff2, longItemName); + break; + // Buffer nickname with prefix to B_BUFF1, Ability name to B_BUFF2 + case STRINGID_PKMNTRACED: + PREPARE_MON_NICK_WITH_PREFIX_LOWER_BUFFER(gBattleTextBuff1, 1, 0); + PREPARE_ABILITY_BUFFER(gBattleTextBuff2, longAbilityID); + break; + // Buffer Stat name to B_BUFF1, "drastically rose" to B_BUFF2 + case STRINGID_ATTACKERSSTATROSE: + case STRINGID_DEFENDERSSTATROSE: + case STRINGID_USINGITEMSTATOFPKMNROSE: + StringCopy(gBattleTextBuff1, gStatNamesTable[longStatName]); + StringCopy(gBattleTextBuff2, gText_drastically); + StringAppend(gBattleTextBuff2, gText_StatRose); + break; + // Buffer Stat name to B_BUFF1, "severely fell" to B_BUFF2 + case STRINGID_ATTACKERSSTATFELL: + case STRINGID_DEFENDERSSTATFELL: + StringCopy(gBattleTextBuff1, gStatNamesTable[longStatName]); + StringCopy(gBattleTextBuff2, gText_severely); + StringAppend(gBattleTextBuff2, gText_StatFell); + break; + // Buffer Status name to B_BUFF2 + case STRINGID_PKMNSITEMCUREDPROBLEM: + case STRINGID_PKMNSXCUREDYPROBLEM: + case STRINGID_PKMNSXCUREDITSYPROBLEM: + StringCopy(gBattleTextBuff1, gText_Confusion); + break; + // Buffer Box name to STR_VAR_1 and STR_VAR_3, Nickname to STR_VAR_2 + case STRINGID_PKMNTRANSFERREDSOMEONESPC: + case STRINGID_PKMNTRANSFERREDLANETTESPC: + case STRINGID_PKMNBOXSOMEONESPCFULL: + case STRINGID_PKMNBOXLANETTESPCFULL: + StringCopy(gStringVar1, boxName); + StringCopy(gStringVar2, nickname); + StringCopy(gStringVar3, boxName); + break; + default: + break; + } + BattleStringExpandPlaceholders(gBattleStringsTable[battleStringId], battleString, BATTLE_STRING_BUFFER_SIZE); + DebugPrintf("Battle String ID %d: %S", battleStringId, battleString); + for (j = 1;; j++) + { + strWidth = GetStringLineWidth(fontId, battleString, 0, j, BATTLE_STRING_BUFFER_SIZE); + if (strWidth == 0) + break; + EXPECT_LE(strWidth - 1, BATTLE_MSG_MAX_WIDTH); // -1 because there's a pixel-wide space that doesn't visually look like it's out of frame when using FONT_NORMAL. + } + Free(gBattleMsgDataPtr); + Free(battleString); +} +//*/ diff --git a/tools/learnset_helpers/porymoves_files/b2w2.json b/tools/learnset_helpers/porymoves_files/b2w2.json index 809671a6fc67..976b125c6c27 100644 --- a/tools/learnset_helpers/porymoves_files/b2w2.json +++ b/tools/learnset_helpers/porymoves_files/b2w2.json @@ -80324,7 +80324,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "WORMADAM_SANDY_CLOAK": { + "WORMADAM_SANDY": { "LevelMoves": [ { "Level": 1, @@ -80426,7 +80426,7 @@ "MOVE_UPROAR" ] }, - "WORMADAM_TRASH_CLOAK": { + "WORMADAM_TRASH": { "LevelMoves": [ { "Level": 1, diff --git a/tools/learnset_helpers/porymoves_files/bdsp.json b/tools/learnset_helpers/porymoves_files/bdsp.json index 0109e99ed8c1..8e4ac589d33c 100644 --- a/tools/learnset_helpers/porymoves_files/bdsp.json +++ b/tools/learnset_helpers/porymoves_files/bdsp.json @@ -55908,7 +55908,7 @@ "EggMoves": [], "TutorMoves": [] }, - "WORMADAM_SANDY_CLOAK": { + "WORMADAM_SANDY": { "LevelMoves": [ { "Level": 0, @@ -56023,7 +56023,7 @@ "EggMoves": [], "TutorMoves": [] }, - "WORMADAM_TRASH_CLOAK": { + "WORMADAM_TRASH": { "LevelMoves": [ { "Level": 0, diff --git a/tools/learnset_helpers/porymoves_files/bw.json b/tools/learnset_helpers/porymoves_files/bw.json index 7be5d6eb6f83..7728235c5ff7 100644 --- a/tools/learnset_helpers/porymoves_files/bw.json +++ b/tools/learnset_helpers/porymoves_files/bw.json @@ -72003,7 +72003,7 @@ "EggMoves": [], "TutorMoves": [] }, - "WORMADAM_SANDY_CLOAK": { + "WORMADAM_SANDY": { "LevelMoves": [ { "Level": 1, @@ -72094,7 +72094,7 @@ "EggMoves": [], "TutorMoves": [] }, - "WORMADAM_TRASH_CLOAK": { + "WORMADAM_TRASH": { "LevelMoves": [ { "Level": 1, diff --git a/tools/learnset_helpers/porymoves_files/dp.json b/tools/learnset_helpers/porymoves_files/dp.json index d39759df4f34..666a6dda58d0 100644 --- a/tools/learnset_helpers/porymoves_files/dp.json +++ b/tools/learnset_helpers/porymoves_files/dp.json @@ -53246,7 +53246,7 @@ "EggMoves": [], "TutorMoves": [] }, - "WORMADAM_SANDY_CLOAK": { + "WORMADAM_SANDY": { "LevelMoves": [ { "Level": 1, @@ -53335,7 +53335,7 @@ "EggMoves": [], "TutorMoves": [] }, - "WORMADAM_TRASH_CLOAK": { + "WORMADAM_TRASH": { "LevelMoves": [ { "Level": 1, diff --git a/tools/learnset_helpers/porymoves_files/hgss.json b/tools/learnset_helpers/porymoves_files/hgss.json index 2bd6e7d9267c..b0241c96f490 100644 --- a/tools/learnset_helpers/porymoves_files/hgss.json +++ b/tools/learnset_helpers/porymoves_files/hgss.json @@ -59645,7 +59645,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "WORMADAM_SANDY_CLOAK": { + "WORMADAM_SANDY": { "LevelMoves": [ { "Level": 1, @@ -59749,7 +59749,7 @@ "MOVE_UPROAR" ] }, - "WORMADAM_TRASH_CLOAK": { + "WORMADAM_TRASH": { "LevelMoves": [ { "Level": 1, diff --git a/tools/learnset_helpers/porymoves_files/la.json b/tools/learnset_helpers/porymoves_files/la.json index cfd51dc2f4d6..599596a90290 100644 --- a/tools/learnset_helpers/porymoves_files/la.json +++ b/tools/learnset_helpers/porymoves_files/la.json @@ -14495,7 +14495,7 @@ "EggMoves": [], "TutorMoves": [] }, - "MEOWSTIC_MALE": { + "MEOWSTIC_M": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], @@ -16049,7 +16049,7 @@ "EggMoves": [], "TutorMoves": [] }, - "INDEEDEE_MALE": { + "INDEEDEE_M": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], @@ -16161,7 +16161,7 @@ "EggMoves": [], "TutorMoves": [] }, - "URSHIFU_SINGLE_STRIKE_STYLE": { + "URSHIFU_SINGLE_STRIKE": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], @@ -16630,21 +16630,21 @@ "MOVE_ZEN_HEADBUTT" ] }, - "RATTATA_ALOLAN": { + "RATTATA_ALOLA": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "RATICATE_ALOLAN": { + "RATICATE_ALOLA": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "RAICHU_ALOLAN": { + "RAICHU_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -16699,21 +16699,21 @@ "MOVE_WILD_CHARGE" ] }, - "SANDSHREW_ALOLAN": { + "SANDSHREW_ALOLA": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "SANDSLASH_ALOLAN": { + "SANDSLASH_ALOLA": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "VULPIX_ALOLAN": { + "VULPIX_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -16765,7 +16765,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "NINETALES_ALOLAN": { + "NINETALES_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -16820,35 +16820,35 @@ "MOVE_ZEN_HEADBUTT" ] }, - "DIGLETT_ALOLAN": { + "DIGLETT_ALOLA": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "DUGTRIO_ALOLAN": { + "DUGTRIO_ALOLA": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "MEOWTH_ALOLAN": { + "MEOWTH_ALOLA": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "PERSIAN_ALOLAN": { + "PERSIAN_ALOLA": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "GEODUDE_ALOLAN": { + "GEODUDE_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -16903,7 +16903,7 @@ "MOVE_THUNDER_PUNCH" ] }, - "GRAVELER_ALOLAN": { + "GRAVELER_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -16958,7 +16958,7 @@ "MOVE_THUNDER_PUNCH" ] }, - "GOLEM_ALOLAN": { + "GOLEM_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -17020,42 +17020,42 @@ "MOVE_THUNDER_PUNCH" ] }, - "GRIMER_ALOLAN": { + "GRIMER_ALOLA": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "MUK_ALOLAN": { + "MUK_ALOLA": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "EXEGGUTOR_ALOLAN": { + "EXEGGUTOR_ALOLA": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "MAROWAK_ALOLAN": { + "MAROWAK_ALOLA": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "MEOWTH_GALARIAN": { + "MEOWTH_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "PONYTA_GALARIAN": { + "PONYTA_GALAR": { "LevelMoves": [ { "Level": 1, @@ -17103,7 +17103,7 @@ "MOVE_WILD_CHARGE" ] }, - "RAPIDASH_GALARIAN": { + "RAPIDASH_GALAR": { "LevelMoves": [ { "Level": 1, @@ -17155,105 +17155,105 @@ "MOVE_WILD_CHARGE" ] }, - "SLOWPOKE_GALARIAN": { + "SLOWPOKE_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "SLOWBRO_GALARIAN": { + "SLOWBRO_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "FARFETCHD_GALARIAN": { + "FARFETCHD_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "WEEZING_GALARIAN": { + "WEEZING_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "ARTICUNO_GALARIAN": { + "ARTICUNO_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "ZAPDOS_GALARIAN": { + "ZAPDOS_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "MOLTRES_GALARIAN": { + "MOLTRES_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "SLOWKING_GALARIAN": { + "SLOWKING_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "CORSOLA_GALARIAN": { + "CORSOLA_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "ZIGZAGOON_GALARIAN": { + "ZIGZAGOON_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "LINOONE_GALARIAN": { + "LINOONE_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "DARUMAKA_GALARIAN": { + "DARUMAKA_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "DARMANITAN_GALARIAN": { + "DARMANITAN_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "YAMASK_GALARIAN": { + "YAMASK_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "STUNFISK_GALARIAN": { + "STUNFISK_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], @@ -17281,7 +17281,7 @@ "EggMoves": [], "TutorMoves": [] }, - "WORMADAM_SANDY_CLOAK": { + "WORMADAM_SANDY": { "LevelMoves": [ { "Level": 1, @@ -17326,7 +17326,7 @@ "MOVE_STEALTH_ROCK" ] }, - "WORMADAM_TRASH_CLOAK": { + "WORMADAM_TRASH": { "LevelMoves": [ { "Level": 1, @@ -17661,14 +17661,14 @@ "EggMoves": [], "TutorMoves": [] }, - "FLOETTE_ETERNAL_FLOWER": { + "FLOETTE_ETERNAL": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "MEOWSTIC_FEMALE": { + "MEOWSTIC_F": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], @@ -17703,35 +17703,35 @@ "EggMoves": [], "TutorMoves": [] }, - "INDEEDEE_FEMALE": { + "INDEEDEE_F": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "URSHIFU_RAPID_STRIKE_STYLE": { + "URSHIFU_RAPID_STRIKE": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "CALYREX_ICE_RIDER": { + "CALYREX_ICE": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "CALYREX_SHADOW_RIDER": { + "CALYREX_SHADOW": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "GROWLITHE_HISUIAN": { + "GROWLITHE_HISUI": { "LevelMoves": [ { "Level": 1, @@ -17784,7 +17784,7 @@ "MOVE_WILD_CHARGE" ] }, - "ARCANINE_HISUIAN": { + "ARCANINE_HISUI": { "LevelMoves": [ { "Level": 1, @@ -17847,7 +17847,7 @@ "MOVE_WILD_CHARGE" ] }, - "VOLTORB_HISUIAN": { + "VOLTORB_HISUI": { "LevelMoves": [ { "Level": 1, @@ -17896,7 +17896,7 @@ "MOVE_WILD_CHARGE" ] }, - "ELECTRODE_HISUIAN": { + "ELECTRODE_HISUI": { "LevelMoves": [ { "Level": 1, @@ -17951,7 +17951,7 @@ "MOVE_WILD_CHARGE" ] }, - "TYPHLOSION_HISUIAN": { + "TYPHLOSION_HISUI": { "LevelMoves": [ { "Level": 0, @@ -18019,7 +18019,7 @@ "MOVE_WILD_CHARGE" ] }, - "QWILFISH_HISUIAN": { + "QWILFISH_HISUI": { "LevelMoves": [ { "Level": 1, @@ -18080,7 +18080,7 @@ "MOVE_WATER_PULSE" ] }, - "SNEASEL_HISUIAN": { + "SNEASEL_HISUI": { "LevelMoves": [ { "Level": 1, @@ -18132,7 +18132,7 @@ "MOVE_X_SCISSOR" ] }, - "SAMUROTT_HISUIAN": { + "SAMUROTT_HISUI": { "LevelMoves": [ { "Level": 0, @@ -18198,7 +18198,7 @@ "MOVE_X_SCISSOR" ] }, - "LILLIGANT_HISUIAN": { + "LILLIGANT_HISUI": { "LevelMoves": [ { "Level": 0, @@ -18318,7 +18318,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "ZORUA_HISUIAN": { + "ZORUA_HISUI": { "LevelMoves": [ { "Level": 1, @@ -18364,7 +18364,7 @@ "MOVE_SWIFT" ] }, - "ZOROARK_HISUIAN": { + "ZOROARK_HISUI": { "LevelMoves": [ { "Level": 1, @@ -18423,7 +18423,7 @@ "MOVE_SWIFT" ] }, - "BRAVIARY_HISUIAN": { + "BRAVIARY_HISUI": { "LevelMoves": [ { "Level": 1, @@ -18487,7 +18487,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "SLIGGOO_HISUIAN": { + "SLIGGOO_HISUI": { "LevelMoves": [ { "Level": 1, @@ -18539,7 +18539,7 @@ "MOVE_WATER_PULSE" ] }, - "GOODRA_HISUIAN": { + "GOODRA_HISUI": { "LevelMoves": [ { "Level": 1, @@ -18598,7 +18598,7 @@ "MOVE_WATER_PULSE" ] }, - "AVALUGG_HISUIAN": { + "AVALUGG_HISUI": { "LevelMoves": [ { "Level": 0, @@ -18669,7 +18669,7 @@ "MOVE_WATER_PULSE" ] }, - "DECIDUEYE_HISUIAN": { + "DECIDUEYE_HISUI": { "LevelMoves": [ { "Level": 0, diff --git a/tools/learnset_helpers/porymoves_files/lgpe.json b/tools/learnset_helpers/porymoves_files/lgpe.json index 9cb68528bc9f..f94ef03c9418 100644 --- a/tools/learnset_helpers/porymoves_files/lgpe.json +++ b/tools/learnset_helpers/porymoves_files/lgpe.json @@ -11337,7 +11337,7 @@ "EggMoves": [], "TutorMoves": [] }, - "RATTATA_ALOLAN": { + "RATTATA_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -11401,7 +11401,7 @@ "EggMoves": [], "TutorMoves": [] }, - "RATICATE_ALOLAN": { + "RATICATE_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -11491,7 +11491,7 @@ "EggMoves": [], "TutorMoves": [] }, - "RAICHU_ALOLAN": { + "RAICHU_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -11554,7 +11554,7 @@ "EggMoves": [], "TutorMoves": [] }, - "SANDSHREW_ALOLAN": { + "SANDSHREW_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -11625,7 +11625,7 @@ "EggMoves": [], "TutorMoves": [] }, - "SANDSLASH_ALOLAN": { + "SANDSLASH_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -11674,7 +11674,7 @@ "EggMoves": [], "TutorMoves": [] }, - "VULPIX_ALOLAN": { + "VULPIX_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -11737,7 +11737,7 @@ "EggMoves": [], "TutorMoves": [] }, - "NINETALES_ALOLAN": { + "NINETALES_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -11787,7 +11787,7 @@ "EggMoves": [], "TutorMoves": [] }, - "DIGLETT_ALOLAN": { + "DIGLETT_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -11848,7 +11848,7 @@ "EggMoves": [], "TutorMoves": [] }, - "DUGTRIO_ALOLAN": { + "DUGTRIO_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -11935,7 +11935,7 @@ "EggMoves": [], "TutorMoves": [] }, - "MEOWTH_ALOLAN": { + "MEOWTH_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -12017,7 +12017,7 @@ "EggMoves": [], "TutorMoves": [] }, - "PERSIAN_ALOLAN": { + "PERSIAN_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -12116,7 +12116,7 @@ "EggMoves": [], "TutorMoves": [] }, - "GEODUDE_ALOLAN": { + "GEODUDE_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -12194,7 +12194,7 @@ "EggMoves": [], "TutorMoves": [] }, - "GRAVELER_ALOLAN": { + "GRAVELER_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -12280,7 +12280,7 @@ "EggMoves": [], "TutorMoves": [] }, - "GOLEM_ALOLAN": { + "GOLEM_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -12371,7 +12371,7 @@ "EggMoves": [], "TutorMoves": [] }, - "GRIMER_ALOLAN": { + "GRIMER_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -12440,7 +12440,7 @@ "EggMoves": [], "TutorMoves": [] }, - "MUK_ALOLAN": { + "MUK_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -12529,7 +12529,7 @@ "EggMoves": [], "TutorMoves": [] }, - "EXEGGUTOR_ALOLAN": { + "EXEGGUTOR_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -12594,7 +12594,7 @@ "EggMoves": [], "TutorMoves": [] }, - "MAROWAK_ALOLAN": { + "MAROWAK_ALOLA": { "LevelMoves": [ { "Level": 0, diff --git a/tools/learnset_helpers/porymoves_files/oras.json b/tools/learnset_helpers/porymoves_files/oras.json index e61d4996542d..11a737628e33 100644 --- a/tools/learnset_helpers/porymoves_files/oras.json +++ b/tools/learnset_helpers/porymoves_files/oras.json @@ -88631,7 +88631,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "MEOWSTIC_MALE": { + "MEOWSTIC_M": { "LevelMoves": [ { "Level": 1, @@ -94735,7 +94735,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "WORMADAM_SANDY_CLOAK": { + "WORMADAM_SANDY": { "LevelMoves": [ { "Level": 1, @@ -94840,7 +94840,7 @@ "MOVE_UPROAR" ] }, - "WORMADAM_TRASH_CLOAK": { + "WORMADAM_TRASH": { "LevelMoves": [ { "Level": 1, @@ -95859,7 +95859,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "FLOETTE_ETERNAL_FLOWER": { + "FLOETTE_ETERNAL": { "LevelMoves": [ { "Level": 1, @@ -95967,7 +95967,7 @@ "MOVE_WORRY_SEED" ] }, - "MEOWSTIC_FEMALE": { + "MEOWSTIC_F": { "LevelMoves": [ { "Level": 1, diff --git a/tools/learnset_helpers/porymoves_files/pt.json b/tools/learnset_helpers/porymoves_files/pt.json index f230c7ead20c..e969777fa6d0 100644 --- a/tools/learnset_helpers/porymoves_files/pt.json +++ b/tools/learnset_helpers/porymoves_files/pt.json @@ -58146,7 +58146,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "WORMADAM_SANDY_CLOAK": { + "WORMADAM_SANDY": { "LevelMoves": [ { "Level": 1, @@ -58248,7 +58248,7 @@ "MOVE_UPROAR" ] }, - "WORMADAM_TRASH_CLOAK": { + "WORMADAM_TRASH": { "LevelMoves": [ { "Level": 1, diff --git a/tools/learnset_helpers/porymoves_files/sm.json b/tools/learnset_helpers/porymoves_files/sm.json index c1fd671b7e99..65255a69faf1 100644 --- a/tools/learnset_helpers/porymoves_files/sm.json +++ b/tools/learnset_helpers/porymoves_files/sm.json @@ -79371,7 +79371,7 @@ ], "TutorMoves": [] }, - "MEOWSTIC_MALE": { + "MEOWSTIC_M": { "LevelMoves": [ { "Level": 1, @@ -93399,7 +93399,7 @@ "EggMoves": [], "TutorMoves": [] }, - "RATTATA_ALOLAN": { + "RATTATA_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -93502,7 +93502,7 @@ ], "TutorMoves": [] }, - "RATICATE_ALOLAN": { + "RATICATE_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -93632,7 +93632,7 @@ ], "TutorMoves": [] }, - "RAICHU_ALOLAN": { + "RAICHU_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -93741,7 +93741,7 @@ ], "TutorMoves": [] }, - "SANDSHREW_ALOLAN": { + "SANDSHREW_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -93864,7 +93864,7 @@ ], "TutorMoves": [] }, - "SANDSLASH_ALOLAN": { + "SANDSLASH_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -93968,7 +93968,7 @@ ], "TutorMoves": [] }, - "VULPIX_ALOLAN": { + "VULPIX_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -94097,7 +94097,7 @@ ], "TutorMoves": [] }, - "NINETALES_ALOLAN": { + "NINETALES_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -94200,7 +94200,7 @@ ], "TutorMoves": [] }, - "DIGLETT_ALOLAN": { + "DIGLETT_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -94304,7 +94304,7 @@ ], "TutorMoves": [] }, - "DUGTRIO_ALOLAN": { + "DUGTRIO_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -94436,7 +94436,7 @@ ], "TutorMoves": [] }, - "MEOWTH_ALOLAN": { + "MEOWTH_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -94555,7 +94555,7 @@ ], "TutorMoves": [] }, - "PERSIAN_ALOLAN": { + "PERSIAN_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -94708,7 +94708,7 @@ ], "TutorMoves": [] }, - "GEODUDE_ALOLAN": { + "GEODUDE_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -94827,7 +94827,7 @@ ], "TutorMoves": [] }, - "GRAVELER_ALOLAN": { + "GRAVELER_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -94954,7 +94954,7 @@ ], "TutorMoves": [] }, - "GOLEM_ALOLAN": { + "GOLEM_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -95097,7 +95097,7 @@ ], "TutorMoves": [] }, - "GRIMER_ALOLAN": { + "GRIMER_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -95221,7 +95221,7 @@ ], "TutorMoves": [] }, - "MUK_ALOLAN": { + "MUK_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -95366,7 +95366,7 @@ ], "TutorMoves": [] }, - "EXEGGUTOR_ALOLAN": { + "EXEGGUTOR_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -95484,7 +95484,7 @@ "MOVE_DRACO_METEOR" ] }, - "MAROWAK_ALOLAN": { + "MAROWAK_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -95978,7 +95978,7 @@ "EggMoves": [], "TutorMoves": [] }, - "WORMADAM_SANDY_CLOAK": { + "WORMADAM_SANDY": { "LevelMoves": [ { "Level": 0, @@ -96093,7 +96093,7 @@ "EggMoves": [], "TutorMoves": [] }, - "WORMADAM_TRASH_CLOAK": { + "WORMADAM_TRASH": { "LevelMoves": [ { "Level": 0, @@ -97019,7 +97019,7 @@ "MOVE_DRACO_METEOR" ] }, - "FLOETTE_ETERNAL_FLOWER": { + "FLOETTE_ETERNAL": { "LevelMoves": [ { "Level": 1, @@ -97117,7 +97117,7 @@ ], "TutorMoves": [] }, - "MEOWSTIC_FEMALE": { + "MEOWSTIC_F": { "LevelMoves": [ { "Level": 1, diff --git a/tools/learnset_helpers/porymoves_files/sv.json b/tools/learnset_helpers/porymoves_files/sv.json index 035fc1699879..04bc72f9e6fe 100644 --- a/tools/learnset_helpers/porymoves_files/sv.json +++ b/tools/learnset_helpers/porymoves_files/sv.json @@ -58132,7 +58132,7 @@ ], "TutorMoves": [] }, - "MEOWSTIC_MALE": { + "MEOWSTIC_M": { "LevelMoves": [ { "Level": 1, @@ -72171,7 +72171,7 @@ ], "TutorMoves": [] }, - "INDEEDEE_MALE": { + "INDEEDEE_M": { "LevelMoves": [ { "Level": 1, @@ -73494,7 +73494,7 @@ "EggMoves": [], "TutorMoves": [] }, - "URSHIFU_SINGLE_STRIKE_STYLE": { + "URSHIFU_SINGLE_STRIKE": { "LevelMoves": [ { "Level": 0, @@ -89091,21 +89091,21 @@ "EggMoves": [], "TutorMoves": [] }, - "RATTATA_ALOLAN": { + "RATTATA_ALOLA": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "RATICATE_ALOLAN": { + "RATICATE_ALOLA": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "RAICHU_ALOLAN": { + "RAICHU_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -89263,7 +89263,7 @@ ], "TutorMoves": [] }, - "SANDSHREW_ALOLAN": { + "SANDSHREW_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -89398,7 +89398,7 @@ ], "TutorMoves": [] }, - "SANDSLASH_ALOLAN": { + "SANDSLASH_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -89568,7 +89568,7 @@ ], "TutorMoves": [] }, - "VULPIX_ALOLAN": { + "VULPIX_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -89687,7 +89687,7 @@ ], "TutorMoves": [] }, - "NINETALES_ALOLAN": { + "NINETALES_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -89833,7 +89833,7 @@ ], "TutorMoves": [] }, - "DIGLETT_ALOLAN": { + "DIGLETT_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -89944,7 +89944,7 @@ ], "TutorMoves": [] }, - "DUGTRIO_ALOLAN": { + "DUGTRIO_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -90075,7 +90075,7 @@ ], "TutorMoves": [] }, - "MEOWTH_ALOLAN": { + "MEOWTH_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -90192,7 +90192,7 @@ ], "TutorMoves": [] }, - "PERSIAN_ALOLAN": { + "PERSIAN_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -90327,7 +90327,7 @@ ], "TutorMoves": [] }, - "GEODUDE_ALOLAN": { + "GEODUDE_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -90453,7 +90453,7 @@ ], "TutorMoves": [] }, - "GRAVELER_ALOLAN": { + "GRAVELER_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -90585,7 +90585,7 @@ ], "TutorMoves": [] }, - "GOLEM_ALOLAN": { + "GOLEM_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -90723,7 +90723,7 @@ ], "TutorMoves": [] }, - "GRIMER_ALOLAN": { + "GRIMER_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -90862,7 +90862,7 @@ ], "TutorMoves": [] }, - "MUK_ALOLAN": { + "MUK_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -91005,7 +91005,7 @@ ], "TutorMoves": [] }, - "EXEGGUTOR_ALOLAN": { + "EXEGGUTOR_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -91150,14 +91150,14 @@ "EggMoves": [], "TutorMoves": [] }, - "MAROWAK_ALOLAN": { + "MAROWAK_ALOLA": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "MEOWTH_GALARIAN": { + "MEOWTH_GALAR": { "LevelMoves": [ { "Level": 1, @@ -91279,21 +91279,21 @@ ], "TutorMoves": [] }, - "PONYTA_GALARIAN": { + "PONYTA_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "RAPIDASH_GALARIAN": { + "RAPIDASH_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "SLOWPOKE_GALARIAN": { + "SLOWPOKE_GALAR": { "LevelMoves": [ { "Level": 1, @@ -91427,7 +91427,7 @@ ], "TutorMoves": [] }, - "SLOWBRO_GALARIAN": { + "SLOWBRO_GALAR": { "LevelMoves": [ { "Level": 0, @@ -91596,14 +91596,14 @@ ], "TutorMoves": [] }, - "FARFETCHD_GALARIAN": { + "FARFETCHD_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "WEEZING_GALARIAN": { + "WEEZING_GALAR": { "LevelMoves": [ { "Level": 0, @@ -91750,7 +91750,7 @@ ], "TutorMoves": [] }, - "ARTICUNO_GALARIAN": { + "ARTICUNO_GALAR": { "LevelMoves": [ { "Level": 1, @@ -91860,7 +91860,7 @@ "EggMoves": [], "TutorMoves": [] }, - "ZAPDOS_GALARIAN": { + "ZAPDOS_GALAR": { "LevelMoves": [ { "Level": 1, @@ -91973,7 +91973,7 @@ "EggMoves": [], "TutorMoves": [] }, - "MOLTRES_GALARIAN": { + "MOLTRES_GALAR": { "LevelMoves": [ { "Level": 1, @@ -92085,7 +92085,7 @@ "EggMoves": [], "TutorMoves": [] }, - "SLOWKING_GALARIAN": { + "SLOWKING_GALAR": { "LevelMoves": [ { "Level": 0, @@ -92280,56 +92280,56 @@ ], "TutorMoves": [] }, - "CORSOLA_GALARIAN": { + "CORSOLA_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "ZIGZAGOON_GALARIAN": { + "ZIGZAGOON_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "LINOONE_GALARIAN": { + "LINOONE_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "DARUMAKA_GALARIAN": { + "DARUMAKA_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "DARMANITAN_GALARIAN": { + "DARMANITAN_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "YAMASK_GALARIAN": { + "YAMASK_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "STUNFISK_GALARIAN": { + "STUNFISK_GALAR": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "GROWLITHE_HISUIAN": { + "GROWLITHE_HISUI": { "LevelMoves": [ { "Level": 1, @@ -92448,7 +92448,7 @@ ], "TutorMoves": [] }, - "ARCANINE_HISUIAN": { + "ARCANINE_HISUI": { "LevelMoves": [ { "Level": 0, @@ -92594,7 +92594,7 @@ ], "TutorMoves": [] }, - "VOLTORB_HISUIAN": { + "VOLTORB_HISUI": { "LevelMoves": [ { "Level": 1, @@ -92711,7 +92711,7 @@ ], "TutorMoves": [] }, - "ELECTRODE_HISUIAN": { + "ELECTRODE_HISUI": { "LevelMoves": [ { "Level": 0, @@ -92837,7 +92837,7 @@ ], "TutorMoves": [] }, - "TYPHLOSION_HISUIAN": { + "TYPHLOSION_HISUI": { "LevelMoves": [ { "Level": 0, @@ -92982,7 +92982,7 @@ ], "TutorMoves": [] }, - "QWILFISH_HISUIAN": { + "QWILFISH_HISUI": { "LevelMoves": [ { "Level": 1, @@ -93118,7 +93118,7 @@ ], "TutorMoves": [] }, - "SNEASEL_HISUIAN": { + "SNEASEL_HISUI": { "LevelMoves": [ { "Level": 1, @@ -93237,7 +93237,7 @@ ], "TutorMoves": [] }, - "SAMUROTT_HISUIAN": { + "SAMUROTT_HISUI": { "LevelMoves": [ { "Level": 0, @@ -93379,7 +93379,7 @@ ], "TutorMoves": [] }, - "LILLIGANT_HISUIAN": { + "LILLIGANT_HISUI": { "LevelMoves": [ { "Level": 0, @@ -93642,7 +93642,7 @@ ], "TutorMoves": [] }, - "ZORUA_HISUIAN": { + "ZORUA_HISUI": { "LevelMoves": [ { "Level": 1, @@ -93754,7 +93754,7 @@ ], "TutorMoves": [] }, - "ZOROARK_HISUIAN": { + "ZOROARK_HISUI": { "LevelMoves": [ { "Level": 0, @@ -93894,7 +93894,7 @@ ], "TutorMoves": [] }, - "BRAVIARY_HISUIAN": { + "BRAVIARY_HISUI": { "LevelMoves": [ { "Level": 0, @@ -94030,7 +94030,7 @@ ], "TutorMoves": [] }, - "SLIGGOO_HISUIAN": { + "SLIGGOO_HISUI": { "LevelMoves": [ { "Level": 0, @@ -94135,7 +94135,7 @@ ], "TutorMoves": [] }, - "GOODRA_HISUIAN": { + "GOODRA_HISUI": { "LevelMoves": [ { "Level": 0, @@ -94280,7 +94280,7 @@ ], "TutorMoves": [] }, - "AVALUGG_HISUIAN": { + "AVALUGG_HISUI": { "LevelMoves": [ { "Level": 0, @@ -94416,7 +94416,7 @@ ], "TutorMoves": [] }, - "DECIDUEYE_HISUIAN": { + "DECIDUEYE_HISUI": { "LevelMoves": [ { "Level": 0, @@ -94555,7 +94555,7 @@ ], "TutorMoves": [] }, - "TAUROS_PALDEAN_COMBAT_BREED": { + "TAUROS_PALDEA_COMBAT": { "LevelMoves": [ { "Level": 1, @@ -94664,7 +94664,7 @@ ], "TutorMoves": [] }, - "TAUROS_PALDEAN_BLAZE_BREED": { + "TAUROS_PALDEA_BLAZE": { "LevelMoves": [ { "Level": 1, @@ -94779,7 +94779,7 @@ ], "TutorMoves": [] }, - "TAUROS_PALDEAN_AQUA_BREED": { + "TAUROS_PALDEA_AQUA": { "LevelMoves": [ { "Level": 1, @@ -94891,7 +94891,7 @@ ], "TutorMoves": [] }, - "WOOPER_PALDEAN": { + "WOOPER_PALDEA": { "LevelMoves": [ { "Level": 1, @@ -95417,14 +95417,14 @@ "EggMoves": [], "TutorMoves": [] }, - "WORMADAM_SANDY_CLOAK": { + "WORMADAM_SANDY": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": [] }, - "WORMADAM_TRASH_CLOAK": { + "WORMADAM_TRASH": { "LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], @@ -96274,7 +96274,7 @@ "EggMoves": [], "TutorMoves": [] }, - "FLOETTE_ETERNAL_FLOWER": { + "FLOETTE_ETERNAL": { "LevelMoves": [ { "Level": 1, @@ -96381,7 +96381,7 @@ ], "TutorMoves": [] }, - "MEOWSTIC_FEMALE": { + "MEOWSTIC_F": { "LevelMoves": [ { "Level": 1, @@ -97091,7 +97091,7 @@ ], "TutorMoves": [] }, - "INDEEDEE_FEMALE": { + "INDEEDEE_F": { "LevelMoves": [ { "Level": 1, @@ -97190,7 +97190,7 @@ ], "TutorMoves": [] }, - "URSHIFU_RAPID_STRIKE_STYLE": { + "URSHIFU_RAPID_STRIKE": { "LevelMoves": [ { "Level": 0, @@ -97318,7 +97318,7 @@ "EggMoves": [], "TutorMoves": [] }, - "CALYREX_ICE_RIDER": { + "CALYREX_ICE": { "LevelMoves": [ { "Level": 1, @@ -97525,7 +97525,7 @@ "EggMoves": [], "TutorMoves": [] }, - "CALYREX_SHADOW_RIDER": { + "CALYREX_SHADOW": { "LevelMoves": [ { "Level": 1, @@ -97873,7 +97873,7 @@ ], "TutorMoves": [] }, - "OINKOLOGNE_MALE": { + "OINKOLOGNE_M": { "LevelMoves": [ { "Level": 1, @@ -97941,7 +97941,7 @@ "EggMoves": [], "TutorMoves": [] }, - "OINKOLOGNE_FEMALE": { + "OINKOLOGNE_F": { "LevelMoves": [ { "Level": 1, diff --git a/tools/learnset_helpers/porymoves_files/swsh.json b/tools/learnset_helpers/porymoves_files/swsh.json index 7d344777f081..cf32f3d552c4 100644 --- a/tools/learnset_helpers/porymoves_files/swsh.json +++ b/tools/learnset_helpers/porymoves_files/swsh.json @@ -54679,7 +54679,7 @@ "MOVE_EXPANDING_FORCE" ] }, - "MEOWSTIC_MALE": { + "MEOWSTIC_M": { "LevelMoves": [ { "Level": 1, @@ -75050,7 +75050,7 @@ ], "TutorMoves": [] }, - "INDEEDEE_MALE": { + "INDEEDEE_M": { "LevelMoves": [ { "Level": 1, @@ -76790,7 +76790,7 @@ "MOVE_COACHING" ] }, - "URSHIFU_SINGLE_STRIKE_STYLE": { + "URSHIFU_SINGLE_STRIKE": { "LevelMoves": [ { "Level": 0, @@ -77588,7 +77588,7 @@ "MOVE_EXPANDING_FORCE" ] }, - "RAICHU_ALOLAN": { + "RAICHU_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -77747,7 +77747,7 @@ ], "TutorMoves": [] }, - "SANDSHREW_ALOLAN": { + "SANDSHREW_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -77873,7 +77873,7 @@ "MOVE_STEEL_BEAM" ] }, - "SANDSLASH_ALOLAN": { + "SANDSLASH_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -78022,7 +78022,7 @@ "MOVE_STEEL_BEAM" ] }, - "VULPIX_ALOLAN": { + "VULPIX_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -78135,7 +78135,7 @@ ], "TutorMoves": [] }, - "NINETALES_ALOLAN": { + "NINETALES_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -78272,7 +78272,7 @@ ], "TutorMoves": [] }, - "DIGLETT_ALOLAN": { + "DIGLETT_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -78376,7 +78376,7 @@ "MOVE_STEEL_BEAM" ] }, - "DUGTRIO_ALOLAN": { + "DUGTRIO_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -78503,7 +78503,7 @@ "MOVE_STEEL_BEAM" ] }, - "MEOWTH_ALOLAN": { + "MEOWTH_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -78611,7 +78611,7 @@ ], "TutorMoves": [] }, - "PERSIAN_ALOLAN": { + "PERSIAN_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -78741,7 +78741,7 @@ ], "TutorMoves": [] }, - "EXEGGUTOR_ALOLAN": { + "EXEGGUTOR_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -78885,7 +78885,7 @@ "MOVE_DRACO_METEOR" ] }, - "MAROWAK_ALOLAN": { + "MAROWAK_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -79045,7 +79045,7 @@ ], "TutorMoves": [] }, - "MEOWTH_GALARIAN": { + "MEOWTH_GALAR": { "LevelMoves": [ { "Level": 1, @@ -79158,7 +79158,7 @@ "MOVE_LASH_OUT" ] }, - "PONYTA_GALARIAN": { + "PONYTA_GALAR": { "LevelMoves": [ { "Level": 1, @@ -79256,7 +79256,7 @@ "MOVE_EXPANDING_FORCE" ] }, - "RAPIDASH_GALARIAN": { + "RAPIDASH_GALAR": { "LevelMoves": [ { "Level": 0, @@ -79385,7 +79385,7 @@ "MOVE_EXPANDING_FORCE" ] }, - "SLOWPOKE_GALARIAN": { + "SLOWPOKE_GALAR": { "LevelMoves": [ { "Level": 1, @@ -79522,7 +79522,7 @@ "MOVE_EXPANDING_FORCE" ] }, - "SLOWBRO_GALARIAN": { + "SLOWBRO_GALAR": { "LevelMoves": [ { "Level": 0, @@ -79690,7 +79690,7 @@ "MOVE_EXPANDING_FORCE" ] }, - "FARFETCHD_GALARIAN": { + "FARFETCHD_GALAR": { "LevelMoves": [ { "Level": 1, @@ -79801,7 +79801,7 @@ "MOVE_DUAL_WINGBEAT" ] }, - "WEEZING_GALARIAN": { + "WEEZING_GALAR": { "LevelMoves": [ { "Level": 0, @@ -79958,7 +79958,7 @@ "MOVE_MISTY_EXPLOSION" ] }, - "MR_MIME_GALARIAN": { + "MR_MIME_GALAR": { "LevelMoves": [ { "Level": 1, @@ -80147,7 +80147,7 @@ "MOVE_TRIPLE_AXEL" ] }, - "ARTICUNO_GALARIAN": { + "ARTICUNO_GALAR": { "LevelMoves": [ { "Level": 1, @@ -80258,7 +80258,7 @@ "MOVE_EXPANDING_FORCE" ] }, - "ZAPDOS_GALARIAN": { + "ZAPDOS_GALAR": { "LevelMoves": [ { "Level": 1, @@ -80373,7 +80373,7 @@ "MOVE_COACHING" ] }, - "MOLTRES_GALARIAN": { + "MOLTRES_GALAR": { "LevelMoves": [ { "Level": 1, @@ -80480,7 +80480,7 @@ "MOVE_LASH_OUT" ] }, - "SLOWKING_GALARIAN": { + "SLOWKING_GALAR": { "LevelMoves": [ { "Level": 0, @@ -80657,7 +80657,7 @@ "MOVE_EXPANDING_FORCE" ] }, - "CORSOLA_GALARIAN": { + "CORSOLA_GALAR": { "LevelMoves": [ { "Level": 1, @@ -80776,7 +80776,7 @@ "MOVE_METEOR_BEAM" ] }, - "ZIGZAGOON_GALARIAN": { + "ZIGZAGOON_GALAR": { "LevelMoves": [ { "Level": 1, @@ -80890,7 +80890,7 @@ "MOVE_LASH_OUT" ] }, - "LINOONE_GALARIAN": { + "LINOONE_GALAR": { "LevelMoves": [ { "Level": 0, @@ -81030,7 +81030,7 @@ "MOVE_LASH_OUT" ] }, - "DARUMAKA_GALARIAN": { + "DARUMAKA_GALAR": { "LevelMoves": [ { "Level": 1, @@ -81147,7 +81147,7 @@ ], "TutorMoves": [] }, - "DARMANITAN_GALARIAN": { + "DARMANITAN_GALAR": { "LevelMoves": [ { "Level": 0, @@ -81289,7 +81289,7 @@ "MOVE_LASH_OUT" ] }, - "YAMASK_GALARIAN": { + "YAMASK_GALAR": { "LevelMoves": [ { "Level": 1, @@ -81403,7 +81403,7 @@ "MOVE_POLTERGEIST" ] }, - "STUNFISK_GALARIAN": { + "STUNFISK_GALAR": { "LevelMoves": [ { "Level": 1, @@ -82254,7 +82254,7 @@ "MOVE_SCALE_SHOT" ] }, - "MEOWSTIC_FEMALE": { + "MEOWSTIC_F": { "LevelMoves": [ { "Level": 1, @@ -82839,7 +82839,7 @@ "MOVE_RISING_VOLTAGE" ] }, - "INDEEDEE_FEMALE": { + "INDEEDEE_F": { "LevelMoves": [ { "Level": 1, @@ -82945,7 +82945,7 @@ "MOVE_EXPANDING_FORCE" ] }, - "URSHIFU_RAPID_STRIKE_STYLE": { + "URSHIFU_RAPID_STRIKE": { "LevelMoves": [ { "Level": 0, @@ -83081,7 +83081,7 @@ "MOVE_COACHING" ] }, - "CALYREX_ICE_RIDER": { + "CALYREX_ICE": { "LevelMoves": [ { "Level": 1, @@ -83292,7 +83292,7 @@ "MOVE_LASH_OUT" ] }, - "CALYREX_SHADOW_RIDER": { + "CALYREX_SHADOW": { "LevelMoves": [ { "Level": 1, diff --git a/tools/learnset_helpers/porymoves_files/usum.json b/tools/learnset_helpers/porymoves_files/usum.json index a659a4261cb1..ed4cfb69e06b 100644 --- a/tools/learnset_helpers/porymoves_files/usum.json +++ b/tools/learnset_helpers/porymoves_files/usum.json @@ -88196,7 +88196,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "MEOWSTIC_MALE": { + "MEOWSTIC_M": { "LevelMoves": [ { "Level": 1, @@ -104427,7 +104427,7 @@ "MOVE_THUNDER_PUNCH" ] }, - "RATTATA_ALOLAN": { + "RATTATA_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -104542,7 +104542,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "RATICATE_ALOLAN": { + "RATICATE_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -104687,7 +104687,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "RAICHU_ALOLAN": { + "RAICHU_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -104815,7 +104815,7 @@ "MOVE_THUNDER_PUNCH" ] }, - "SANDSHREW_ALOLAN": { + "SANDSHREW_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -104953,7 +104953,7 @@ "MOVE_THROAT_CHOP" ] }, - "SANDSLASH_ALOLAN": { + "SANDSLASH_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -105073,7 +105073,7 @@ "MOVE_THROAT_CHOP" ] }, - "VULPIX_ALOLAN": { + "VULPIX_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -105214,7 +105214,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "NINETALES_ALOLAN": { + "NINETALES_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -105331,7 +105331,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "DIGLETT_ALOLAN": { + "DIGLETT_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -105442,7 +105442,7 @@ "MOVE_STOMPING_TANTRUM" ] }, - "DUGTRIO_ALOLAN": { + "DUGTRIO_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -105581,7 +105581,7 @@ "MOVE_STOMPING_TANTRUM" ] }, - "MEOWTH_ALOLAN": { + "MEOWTH_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -105717,7 +105717,7 @@ "MOVE_WATER_PULSE" ] }, - "PERSIAN_ALOLAN": { + "PERSIAN_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -105887,7 +105887,7 @@ "MOVE_WATER_PULSE" ] }, - "GEODUDE_ALOLAN": { + "GEODUDE_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -106018,7 +106018,7 @@ "MOVE_THUNDER_PUNCH" ] }, - "GRAVELER_ALOLAN": { + "GRAVELER_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -106160,7 +106160,7 @@ "MOVE_THUNDER_PUNCH" ] }, - "GOLEM_ALOLAN": { + "GOLEM_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -106319,7 +106319,7 @@ "MOVE_THUNDER_PUNCH" ] }, - "GRIMER_ALOLAN": { + "GRIMER_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -106456,7 +106456,7 @@ "MOVE_THUNDER_PUNCH" ] }, - "MUK_ALOLAN": { + "MUK_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -106617,7 +106617,7 @@ "MOVE_THUNDER_PUNCH" ] }, - "EXEGGUTOR_ALOLAN": { + "EXEGGUTOR_ALOLA": { "LevelMoves": [ { "Level": 0, @@ -106754,7 +106754,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "MAROWAK_ALOLAN": { + "MAROWAK_ALOLA": { "LevelMoves": [ { "Level": 1, @@ -107351,7 +107351,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "WORMADAM_SANDY_CLOAK": { + "WORMADAM_SANDY": { "LevelMoves": [ { "Level": 0, @@ -107478,7 +107478,7 @@ "MOVE_UPROAR" ] }, - "WORMADAM_TRASH_CLOAK": { + "WORMADAM_TRASH": { "LevelMoves": [ { "Level": 0, @@ -108522,7 +108522,7 @@ "MOVE_ZEN_HEADBUTT" ] }, - "FLOETTE_ETERNAL_FLOWER": { + "FLOETTE_ETERNAL": { "LevelMoves": [ { "Level": 1, @@ -108634,7 +108634,7 @@ "MOVE_WORRY_SEED" ] }, - "MEOWSTIC_FEMALE": { + "MEOWSTIC_F": { "LevelMoves": [ { "Level": 1, diff --git a/tools/learnset_helpers/porymoves_files/xy.json b/tools/learnset_helpers/porymoves_files/xy.json index 5494457f754e..8be594e6d783 100644 --- a/tools/learnset_helpers/porymoves_files/xy.json +++ b/tools/learnset_helpers/porymoves_files/xy.json @@ -79310,7 +79310,7 @@ ], "TutorMoves": [] }, - "MEOWSTIC_MALE": { + "MEOWSTIC_M": { "LevelMoves": [ { "Level": 1, @@ -84805,7 +84805,7 @@ "EggMoves": [], "TutorMoves": [] }, - "WORMADAM_SANDY_CLOAK": { + "WORMADAM_SANDY": { "LevelMoves": [ { "Level": 1, @@ -84899,7 +84899,7 @@ "EggMoves": [], "TutorMoves": [] }, - "WORMADAM_TRASH_CLOAK": { + "WORMADAM_TRASH": { "LevelMoves": [ { "Level": 1, @@ -85811,7 +85811,7 @@ "MOVE_DRACO_METEOR" ] }, - "FLOETTE_ETERNAL_FLOWER": { + "FLOETTE_ETERNAL": { "LevelMoves": [ { "Level": 1, @@ -85906,7 +85906,7 @@ ], "TutorMoves": [] }, - "MEOWSTIC_FEMALE": { + "MEOWSTIC_F": { "LevelMoves": [ { "Level": 1,